SceniX: SceniX Programming Guide

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SceniX Programming Guide

The NVIDIA SceniX scene management engine is an object-oriented programming library for creating cutting-edge, real-time 3D applications with a state of the art scene graph API. SceniX provides a comprehensive set of C++ classes for developers to easily combine, extend, and create their own fast and reliable graphics applications. As a scene graph, SceniX provides a reusable, hierarchical data structure that describes a 3D scene's objects in space, time, appearance, and in relationship with one another. SceniX has been used to power many highly interactive environments for a variety of purposes, including: automotive styling, gas and oil data exploration, scientific and commercial visualization, simulation, modeling, and interactive training.

This Programming Guide provides some useful advice on how to use the SceniX SDK to develop 3D graphics applications. Though, it doesn't claim to be complete in a sense that every question you might have will be thoroughly answered. The Programming Guide is thought of as a first reference to look at if you start to develop your application using SceniX and of course as a reference to the SceniX core API. As you proceed with SceniX you will certainly hit some issues for which you will not find an immediate or even appropriate answer inside this Programming Guide. In such cases we strongly recommend you to visit the SceniX support forum at http://forums.developer.nvidia.com. This is the right forum for you to ask specific in deep question about SceniX and to hopefully find answers to the issues you might encounter. A second source to get help on SceniX specific questions or to report issues is the SceniX-Help@nvidia.com email distribution list.

Introduction
Getting Started
Scene Management
Traversers
Rendering
I/O Plug-ins
SceniX Test Framework (SXT)

Copyright (c) 2011 NVIDIA Corporation. All rights reserved.

Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: File Index

SceniX File List

Here is a list of all documented files with brief descriptions:
Allocator.h [code]
AlphaTestAttribute.h [code]
AnalyzeTraverser.h [code]
AnimatedTransform.h [code]
AnimatedVertexAttributeSet.h [code]
Animation.h [code]
AnimationDescription.h [code]
AppTraverser.h [code]
AppTraverserCallbacks.h [code]
Assert.h [code]
BackLinkObserver.h [code]
Backtrace.h [code]
BezierExtrapolationTraverser.h [code]
BezierInterpolationTraverser.h [code]
Beziernt.h [code]
Billboard.h [code]
BitMask.h [code]
BlendAttribute.h [code]
Boxnt.h [code]
Buffer.h [code]
BufferGL.h [code]
BufferHost.h [code]
Callback.h [code]
Camera.h [code]
CgDecomposer.h [code]
CgFx.h [code]
CgFxBuilder.h [code]
CgmFx.h [code]
ClipPlane.h [code]
ClipPlanesElement.h [code]
CombineTraverser.h [code]
Conditioners.h [code]
Console.h [code]
Conversion.h [code]
ConvertPrimitivesTraverser.h [code]
CoreTypes.h [code]
CPUSkinningProcessor.h [code]
DAELoader.h [code]
DAL.h [code]
DbgNew.h [code]
DeindexTraverser.h [code]
DepthAttribute.h [code]
DestrippingTraverser.h [code]
DirectedLight.h [code]
DisplayListGL.h [code]
DLLFuncs.h [code]
Drawable.h [code]
EliminateTraverser.h [code]
ErrorHandler.h [code]
ErrorHandling.h [code]
ExtractGeometryTraverser.h [code]
Face.h [code]
FaceAttribute.h [code]
FaceConnections.h [code]
FFPBuilder.h [code]
FileMapping.h [code]
FlipbookAnimation.h [code]
FLTLoader.h [code]
FLTTextureAttribute.h [code]
FramedAnimation.h [code]
FrustumCamera.h [code]
GeneratorState.h [code]
GeoNode.h [code]
GLCgGLStateCallbacks.h [code]
GLContext.h [code]
GLDALData.h [code]
GLEvalVertexAttrib.h [code]
GLFunctions.h [code]
GLObjectRenderer.h [code]
GLObjects.h [code]
GLRenderListProcessor.h [code]
GLStatistics.h [code]
GLUploadTraverser.h [code]
glxtypes.h [code]
GPUSkinningProcessor.h [code]
Group.h [code]
Handle.h [code]
HandledObject.h [code]
HashGenerator.h [code]
HashGeneratorMD5.h [code]
HashGeneratorMurMur.h [code]
IdentityToGroupTraverser.h [code]
ILTexLoader.h [code]
ILTexSaver.h [code]
ImmediateModeGLRenderListProcessor.h [code]
Incarnation.h [code]
IndependentPrimitiveSet.h [code]
IndexSet.h [code]
IOLayer.h [code]
IteratingRenderListProcessor.h [code]
KeyFramedAnimation.h [code]
LightingAttribute.h [code]
LightSource.h [code]
LinearInterpolatedAnimation.h [code]
LineAttribute.h [code]
Lines.h [code]
LineStrips.h [code]
LinkManager.h [code]
LinuxTypes.h [code]
LOD.h [code]
Log.h [code]
Map.h [code]
MapArray.h [code]
MapElement.h [code]
MapList.h [code]
MapMatrix.h [code]
MapObject.h [code]
Material.h [code]
Matnnt.h [code]
MatrixCamera.h [code]
MemFunTbl.h [code]
MeshedPrimitiveSet.h [code]
ModelViewTraverser.h [code]
NBF.h [code]
NBFLoader.h [code]
NBFSaver.h [code]
Node.h [code]
NormalizeTraverser.h [code]
NvApiError.h [code]
nvgl.h [code]
NvGvoApi.h [code]
nvmath.h [code]
nvsg.h [code]
nvsgapi.h [code]
NVSGLight.cg
NVSGLoader.h [code]
NVSGMaterial.cg
NVSGSaver.h [code]
NVSGScene.cg
NVSGVersion.h [code]
nvtraverser.h [code]
nvui.h [code]
nvutil.h [code]
Object.h [code]
ObjectRenderer.h [code]
OBJLoader.h [code]
OBJSaver.h [code]
Observer.h [code]
OptimizeTraverser.h [code]
OwnedObject.h [code]
ParallelCamera.h [code]
PatchesBase.h [code]
Path.h [code]
PerspectiveCamera.h [code]
Planent.h [code]
PlugIn.h [code]
PlugInCallback.h [code]
PlugInterface.h [code]
PlugInterfaceID.h [code]
PLYLoader.h [code]
PointAttribute.h [code]
PointLight.h [code]
Points.h [code]
PostBuildTraverser.h [code]
Primitive.h [code]
PrimitiveAttribute.h [code]
PrimitiveSet.h [code]
ProblemLog.h [code]
Profile.h [code]
profile_COMMON_RTFx_PTX.h [code]
QuadMeshes.h [code]
QuadPatches.h [code]
QuadPatches4x4.h [code]
Quads.h [code]
QuadStrips.h [code]
Quatt.h [code]
RayIntersectTraverser.h [code]
RCObject.h [code]
ReadableObject.h [code]
ReadObj.h [code]
RectPatches.h [code]
Reflection.h [code]
Registry.h [code]
RenderbufferGL.h [code]
RenderContextGL.h [code]
RenderContextGLFormat.h [code]
nvui/Renderer.h [code]
nvtraverser/Renderer.h [code]
RendererGLFSQ.h [code]
RendererOptions.h [code]
RenderList2.h [code]
RenderListGenerator.h [code]
RenderListProcessor.h [code]
RenderTarget.h [code]
RenderTargetGL.h [code]
RenderTargetGLFB.h [code]
RenderTargetGLFBO.h [code]
Resource.h [code]
RTBufferAttribute.h [code]
RTFx.h [code]
RTFxBuilder.h [code]
RTFxProgram.h [code]
Scene.h [code]
SceneAttribute.h [code]
SceneRenderer.h [code]
SceneRendererGL2.h [code]
SceniXIterator.h [code]
SearchTraverser.h [code]
ShaderBuilder.h [code]
ShaderBuildMeister.h [code]
Shape.h [code]
SimpleTesselator.h [code]
Singleton.h [code]
Skin.h [code]
SmartPtr.h [code]
SmoothTraverser.h [code]
Spherent.h [code]
SpotLight.h [code]
StackedAtlas.h [code]
StateAttribute.h [code]
StatePass.h [code]
StateSet.h [code]
StateVariant.h [code]
StatisticsRenderListProcessor.h [code]
StatisticsTraverser.h [code]
Loader/NBFLoader/stdafx.h [code]
Saver/NBFSaver/stdafx.h [code]
StencilAttribute.h [code]
STLAllocator.h [code]
STLExt.h [code]
StridedIterator.h [code]
StrippedPrimitiveSet.h [code]
StrippingTraverser.h [code]
Subject.h [code]
Switch.h [code]
SWMRSync.h [code]
TaiManager.h [code]
Texture.h [code]
TextureAttribute.h [code]
TextureGL.h [code]
TextureHost.h [code]
Timer.h [code]
Tools.h [code]
Trace.h [code]
Trackball.h [code]
Trafo.h [code]
Transform.h [code]
TransformStack.h [code]
Traverser.h [code]
Triangles.h [code]
TriangulateTraverser.h [code]
TriFans.h [code]
TriPatches.h [code]
TriPatches4.h [code]
TriStrips.h [code]
Types.h [code]
UnifyTraverser.h [code]
UnlitColorAttribute.h [code]
Validated.h [code]
Vecnt.h [code]
VertexAttribute.h [code]
VertexAttributeSet.h [code]
ViewState.h [code]
VRMLTypes.h [code]
WritableObject.h [code]
WRLLoader.h [code]
WRLLoadTraverser.h [code]
XMLLoader.h [code]
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Allocator.h File Reference

inc / nvsg / nvutil

Allocator.h File Reference

#include <algorithm>
#include <set>
#include <vector>
#include <sstream>
#include "nvsg/nvsgapi.h"
#include "nvsg/nvsg.h"
#include "nvutil/Assert.h"
#include "nvutil/Singleton.h"
#include "nvutil/SWMRSync.h"
#include "nvutil/Trace.h"
#include "nvutil/Backtrace.h"

Include dependency graph for Allocator.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:26:59 2012 for SceniX


SceniX: Allocator.h Source File

inc / nvsg / nvutil

Allocator.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 //#define ALLOCATION_COUNTER
00016
00017 // placement operator new does not have a matching delete operator!
00018 //
00019 // objects of type T that are constructed at explicit specified memory
00020 // locations by using the placement operator new() (i.g. new((void*)p) T())
00021 // should be destructed by explicitely calling their destructor (p->~T())
00022 #if defined( _WIN32 )
00023 #pragma warning(disable:4291)
00024 #endif
00025
00026 #include <algorithm>
00027 #include <set>
00028 #include <vector>
00029 #include <sstream>
00030 #if defined( ALLOCATION_COUNTER )
00031 #include <map>
00032 #endif
00033 #include "nvsg/nvsgapi.h"
00034 #include "nvsg/nvsg.h"
00035 #include "nvutil/Assert.h"
00036 #include "nvutil/Singleton.h"
00037 #include "nvutil/SWMRSync.h"
00038 #include "nvutil/Trace.h"
00039
00040 #if !defined(NDEBUG)
00041 #include "nvutil/Backtrace.h"
00042 #endif
00043
00044 namespace nvutil
00045 {
00047   class Chunk
00048   {
00049     public:
00051       Chunk(size_t blockSize);
00052
00054       bool operator==(const Chunk& rhs) const;
00055       bool operator!=(const Chunk& rhs) const;
00056
00058       void * alloc();
00059       void dealloc(void * p);
00061       void freeMemory();
00062
00064       unsigned char blocksAvailable() const;
00066       bool isUnused() const;
00068       bool isInsideBounds(void * p) const;
00069
00071       void * lowerBound() const;
00072       void * upperBound() const;
00073
00074     private:
00076       enum { numBlocks = 255 };
00077
00079       void init();
00080
00081       unsigned char * m_rawMem; // raw memory
00082
00084       size_t m_blockSize;
00085       size_t m_chunkSize;
00086
00087       unsigned char m_firstAvailableBlock;  // addresses first memory block available
00088       unsigned char m_blocksAvailable;      // total amount of blocks available
00089   };
00090
00092   class FixedAllocator
00093   {
00094     public:
00096       NVSG_API FixedAllocator();
00097
00099       NVSG_API ~FixedAllocator();
00100
00102       NVSG_API void * alloc();
00103
00105       NVSG_API void dealloc(void * p);
00106
00108       NVSG_API void init ( size_t blockSize );
00109
00110     private:
00111       size_t m_blockSize;   // fixed block size
00112
00113       typedef std::map<void*,Chunk*> Chunks;
00114       Chunks m_chunks; // array of chunks
00115
00116       Chunk  * m_lastAlloc;   // last chunk taken for allocation
00117       Chunk  * m_lastDealloc; // last chunk taken for deallocation
00118       std::set<Chunk*>  m_availableChunks;  // set of chunks with free blocks
00119   };
00120
00121 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
00123
00127   class Allocator
00128   {
00129     public:
00131
00132       NVSG_API Allocator();
00133
00135
00136       NVSG_API ~Allocator();
00137
00139
00140       void * alloc( size_t size
00141                   );
00142
00143 #if !defined(NDEBUG)
00144
00145
00147       void * alloc( size_t size
00148                   , const char * src
00149                   , unsigned int ln
00150                   );
00151
00153       NVSG_API void dumpAllocations();
00155       void pushAllocations();
00157       void popAllocations();
00159       NVSG_API void dumpDiffAllocations();
00160 #endif
00161
00163
00165       void dealloc( void * p
00166                   , size_t size
00167                   );
00168
00169     private:
00171       void * palloc(size_t size);
00172
00173     private:
00174       // forward to default new/delete operators if block size
00175       // exceeds the threshold given by maxBlockSize
00176       enum { maxBlockSize = 1024 };
00177
00178       // provide one allocator for each single size <= maxBlockSize
00179       FixedAllocator m_allocTbl[maxBlockSize];
00180
00181       SWMRSync m_lock; // for synchronizing concurrent access
00182
00183       // leak detection in debug mode
00184 #if !defined(NDEBUG)
00185       struct DbgAllocInfo
00186       {
00187         void  * p;            //  memory location
00188         size_t  size;         //  size of allocation
00189         std::string location; //  location of allocation
00190
00191         // with this we can simply use a vector for our alloc infos
00192         bool operator==(void * _p) const { return p==_p; }
00193         bool operator!=(void * _p) const { return p!=_p; }
00194       };
00195
00196       std::vector<DbgAllocInfo> m_dbgAllocInfos;   //  vector of allocation infos
00197       std::vector< std::vector<DbgAllocInfo> > m_dbgAllocInfoStack;
00198
00199       //
00200       // Sort and equality are done by pointer, allocation size, and function name.
00201       //
00202       struct DbgLessThan
00203       {
00204         bool operator()( const DbgAllocInfo & lhs, const DbgAllocInfo & rhs ) const
00205         {
00206           return( ( lhs.p < rhs.p ) ||
00207                 ( ( lhs.p == rhs.p ) && ( ( lhs.size < rhs.size ) ||
00208                                         ( ( lhs.size == rhs.size ) && ( lhs.location < rhs.location ) ) ) ) );
00209         }
00210       };
00211
00212       //  helper functor to put out a memory leak warning
00213       struct LeakWarning
00214       {
00215         void operator()(const DbgAllocInfo& allocInfo) const
00216         {
00217           std::stringstream str;
00218
00219           str << "****Memory Leak Detected*** Source: ";
00220           str << allocInfo.location;
00221           str << ", Ptr: 0x";
00222           str << std::hex << allocInfo.p;
00223           str << " (" << std::dec << allocInfo.size << ") bytes.";
00224           str << std::endl;
00225
00226           traceDebugOutput()(str.str().c_str());
00227         }
00228       };
00229
00230       //  helper functor to put out a memory usage info
00231       struct UsageInfo
00232       {
00233         void operator()(const DbgAllocInfo& allocInfo) const
00234         {
00235           std::stringstream str;
00236
00237           str << "Source: ";
00238           str << allocInfo.location;
00239           str << ", Ptr: 0x";
00240           str << std::hex << allocInfo.p;
00241           str << " (" << std::dec << allocInfo.size << ") bytes.";
00242           str << std::endl;
00243           traceDebugOutput()(str.str().c_str());
00244         }
00245       };
00246 #endif
00247 #if defined( ALLOCATION_COUNTER )
00248       std::map<size_t,size_t> m_allocSizeMap;
00249 #endif
00250   };
00251
00252   inline void * Allocator::alloc(size_t size)
00253   {
00254     AutoLock lock(m_lock);
00255     void *p = palloc(size);
00256
00257 #if !defined(NDEBUG)
00258     if( nvsg::nvsgGetDebugFlags() & nvsg::NVSG_DBG_LEAK_DETECTION )
00259     {
00260       std::vector<std::string> trace = backtrace(4, 1);
00261       DbgAllocInfo allocInfo;
00262       allocInfo.p = p;
00263       allocInfo.size = size;
00264       allocInfo.location = !trace.empty() ? trace[0] : "unknown location";
00265       m_dbgAllocInfos.push_back(allocInfo);
00266     }
00267 #endif
00268
00269     return p;
00270   }
00271
00272 #if !defined(NDEBUG)
00273   inline void Allocator::pushAllocations()
00274   {
00275     m_dbgAllocInfoStack.push_back( m_dbgAllocInfos );
00276   }
00277
00278   inline void Allocator::popAllocations()
00279   {
00280     m_dbgAllocInfoStack.pop_back();
00281   }
00282 #endif
00283
00284 #if !defined(NDEBUG)
00285   inline void * Allocator::alloc(size_t size, const char* src, unsigned int ln)
00286   {
00287     AutoLock lock(m_lock);
00288     void * p = palloc(size);
00289
00290     // optionally collect allocation info for memory leak detection
00291     if( nvsg::nvsgGetDebugFlags() & nvsg::NVSG_DBG_LEAK_DETECTION )
00292     {
00293       std::ostringstream location;
00294       location << src << ":" << ln;
00295       DbgAllocInfo allocInfo;
00296       allocInfo.p = p;
00297       allocInfo.size = size;
00298       allocInfo.location = location.str();
00299       m_dbgAllocInfos.push_back(allocInfo);
00300     }
00301     return p;
00302   }
00303 #endif
00304
00305   inline void Allocator::dealloc(void *p, size_t size)
00306   {
00307     AutoLock lock(m_lock);
00308 #if !defined(NDEBUG)
00309     if( nvsg::nvsgGetDebugFlags() & nvsg::NVSG_DBG_LEAK_DETECTION )
00310     {
00311       m_dbgAllocInfos.erase(std::remove(m_dbgAllocInfos.begin(), m_dbgAllocInfos.end(), p), m_dbgAllocInfos.end());
00312     }
00313 #endif
00314     if ( size <= maxBlockSize )
00315     {
00316       m_allocTbl[size-1].dealloc(p);
00317     }
00318     else
00319     {
00320       ::operator delete(p);
00321     }
00322   }
00323
00324   inline void * Allocator::palloc(size_t size)
00325   {
00326 #if defined( ALLOCATION_COUNTER )
00327     m_allocSizeMap[size]++;
00328 #endif
00329     // use suitable allocation for given size
00330     return (size<=maxBlockSize) ? m_allocTbl[size-1].alloc() : ::operator new(size);
00331   }
00332 //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
00333
00335
00341   class IAllocator
00342   {
00343     public:
00345       typedef Singleton<Allocator> theAllocator;
00346
00348
00350       IAllocator() {}
00352       virtual ~IAllocator() {}
00353
00355
00357       NVSG_API void * operator new( size_t size // Size in bytes of demanded memory block.
00358                                   );
00360
00366       NVSG_API void * operator new( size_t size // Size in bytes of demanded memory block.
00367                                   , void * p    // Start address of a valid memory block where the object will be created.
00368                                   );
00370
00371       NVSG_API void operator delete( void * p    // Start address of memory block to be freed.
00372                                   , size_t size // Size of memory block to be freed.
00373                                   );
00374
00376
00378       NVSG_API void * operator new[]( size_t size );
00379
00381
00382       NVSG_API void operator delete[]( void * p, size_t size );
00383   };
00384
00385
00386   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00387   // implementation following
00388   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00389
00395   inline void Chunk::init()
00396   {
00397     m_rawMem = ::new unsigned char[m_chunkSize];
00398
00399     m_firstAvailableBlock = 0;
00400     m_blocksAvailable = numBlocks;
00401
00402     unsigned char * p = m_rawMem;
00403     for ( unsigned char i=0; i!=numBlocks; p+=m_blockSize )
00404     {
00405       // code indices of next available blocks in first byte of each block
00406       *p = ++i;
00407     }
00408   }
00409
00415   inline void Chunk::freeMemory()
00416   {
00417     // should not attempt to free memory of a chunk in use
00418     NVSG_ASSERT(isUnused());
00419     ::delete[] m_rawMem;
00420   }
00421
00427   inline void * Chunk::alloc()
00428   {
00429     if ( !m_blocksAvailable )
00430     {
00431       // this needs to be handled in superior layers
00432       return NULL;
00433     }
00434
00435     unsigned char * p = &m_rawMem[m_firstAvailableBlock*m_blockSize];
00436     // index of next block available is coded in first byte
00437     m_firstAvailableBlock = *p;
00438     // one block less available in this chunk
00439     --m_blocksAvailable;
00440
00441     return (void *)p;
00442   }
00443
00449   inline void Chunk::dealloc(void * p)
00450   {
00451     unsigned char * ptr = (unsigned char*)p;
00452
00453     // range check
00454     NVSG_ASSERT(ptr>=m_rawMem);
00455     NVSG_ASSERT(ptr<&m_rawMem[m_chunkSize]);
00456     // alignment check
00457     NVSG_ASSERT(!((ptr-m_rawMem)%m_blockSize));
00458
00459     *ptr = m_firstAvailableBlock;
00460     m_firstAvailableBlock = (unsigned char)((ptr - m_rawMem) / m_blockSize);
00461
00462     // truncation check
00463     NVSG_ASSERT(m_firstAvailableBlock==((ptr-m_rawMem)/m_blockSize));
00464     ++m_blocksAvailable;
00465   }
00466
00472   inline bool Chunk::operator==(const Chunk& rhs) const
00473   {
00474     // consider chunks to be equal if they point to same raw memory location
00475     NVSG_ASSERT(    ( m_rawMem != rhs.m_rawMem )
00476                 ||  (     ( m_blockSize           == rhs.m_blockSize )
00477                       &&  ( m_firstAvailableBlock == rhs.m_firstAvailableBlock )
00478                       &&  ( m_blocksAvailable     == rhs.m_blocksAvailable ) ) );
00479     return (  m_rawMem==rhs.m_rawMem );
00480   }
00481
00487   inline bool Chunk::operator!=(const Chunk& rhs) const
00488   {
00489     return !operator==(rhs);
00490   }
00491
00497   inline unsigned char Chunk::blocksAvailable() const
00498   {
00499     return m_blocksAvailable;
00500   }
00501
00507   inline bool Chunk::isInsideBounds(void * p) const
00508   {
00509     return p>=lowerBound() && p<upperBound();
00510   }
00511
00517   inline bool Chunk::isUnused() const
00518   {
00519     return m_blocksAvailable==numBlocks;
00520   }
00521
00527   inline void * Chunk::lowerBound() const
00528   {
00529     return (void*)m_rawMem;
00530   }
00531
00537   inline void * Chunk::upperBound() const
00538   {
00539     return (void*)&m_rawMem[m_chunkSize];
00540   }
00541
00547   inline void FixedAllocator::init(size_t blockSize)
00548   {
00549     m_blockSize = blockSize;
00550   }
00551
00557   inline void * IAllocator::operator new(size_t size)
00558   {
00559     return theAllocator::instance()->alloc(size);
00560   }
00561
00567   inline void * IAllocator::operator new(size_t size, void * p)
00568   {
00569     // as this is used when constructing an object at a explicit
00570     // specified memory location, that location shoud be a valid
00571     // one - assert this!
00572     NVSG_ASSERT(p);
00573     return p;
00574   }
00575
00581   inline void IAllocator::operator delete(void * p, size_t size)
00582   {
00583     theAllocator::instance()->dealloc(p, size);
00584   }
00585
00586   inline void * IAllocator::operator new[]( size_t size )
00587   {
00588     // Due to a bug in VC, we need to store the size of the array, as delete[] gets a wrong value there!
00589     size_t fakeSize = sizeof(size_t) + size;
00590     void * fakeP = theAllocator::instance()->alloc( fakeSize );
00591     *(size_t *)fakeP = fakeSize;
00592     return( (char *)fakeP + sizeof(size_t) );
00593   }
00594
00595   inline void IAllocator::operator delete[]( void * p, size_t size )
00596   {
00597     // Due to a bug in VC, we need to store the size of the array, as delete[] gets a wrong value there!
00598     void * fakeP = (char *)p - sizeof(size_t);
00599     size_t fakeSize = *(size_t *)fakeP;
00600     theAllocator::instance()->dealloc( fakeP, fakeSize );
00601   }
00602
00603 } // namespace nvutil
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AlphaTestAttribute.h File Reference

inc / nvsg / nvsg

AlphaTestAttribute.h File Reference

#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for AlphaTestAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Enumerations

enum AlphaFunction {
AF_NEVER = 0, AF_LESS, AF_EQUAL, AF_LEQUAL,
AF_GREATER, AF_NOTEQUAL, AF_GEQUAL, AF_ALWAYS
}
Enumeration to identify the AlphaFunc conditional. More...

Detailed Description

Enumeration Type Documentation

enum AlphaFunction

Enumeration to identify the AlphaFunc conditional.

Namespace: nvsg
Remarks:
AlphaTest can be used in cases where the fragment is to be drawn or culled based on the alpha value. The AlphaFunction along with the threshold value define the equation used to determine whether the fragment is drawn. By default the comparison function is set to AF_ALWAYS, the threshold value is 0.0f and the "enabled during MultiSampleAlpha" flag is set to true.
See also:
AlphaTestAttribute
Enumeration values:
AF_NEVER | Never draw the fragment.
AF_LESS | Draw the fragment if fragment.a < threshold.
AF_EQUAL | Draw the fragment if fragment.a == threshold.
AF_LEQUAL | Draw the fragment if fragment.a <= threshold.
AF_GREATER | Draw the fragment if fragment.a > threshold.
AF_NOTEQUAL | Draw the fragment if fragment.a != threshold.
AF_GEQUAL | Draw the fragment if fragment.a >= threshold.
AF_ALWAYS | Always draw the fragment.

Generated on Fri Jul 13 13:26:59 2012 for SceniX


SceniX: AlphaTestAttribute.h Source File

inc / nvsg / nvsg

AlphaTestAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/StateAttribute.h"
00016 #include "nvutil/HashGenerator.h"
00017
00018
00019 namespace nvsg
00020 {
00030   typedef enum
00031   {
00032     AF_NEVER = 0,
00033     AF_LESS,
00034     AF_EQUAL,
00035     AF_LEQUAL,
00036     AF_GREATER,
00037     AF_NOTEQUAL,
00038     AF_GEQUAL,
00039     AF_ALWAYS
00040   } AlphaFunction;
00041
00050   class AlphaTestAttribute : public StateAttribute
00051   {
00052     public:
00053       NVSG_API static AlphaTestAttributeSharedPtr create();
00054
00055     public:
00063       NVSG_API void setAlphaFunction( AlphaFunction func );
00064
00068       NVSG_API AlphaFunction getAlphaFunction() const;
00069
00074       NVSG_API void setThreshold( float threshold );
00075
00079       NVSG_API float getThreshold() const;
00080
00085       NVSG_API bool getEnabledDuringMultiSampleAlpha() const;
00086
00094       NVSG_API void setEnabledDuringMultiSampleAlpha( bool state );
00095
00105       NVSG_API virtual bool isEquivalent( const Object *p
00106                                         , bool ignoreNames
00107                                         , bool deepCompare ) const;
00108
00115       NVSG_API AlphaTestAttribute & operator=(const AlphaTestAttribute & rhs);
00116
00117       REFLECTION_INFO_API( NVSG_API, AlphaTestAttribute );
00118     protected:
00119       friend struct nvutil::Holder<AlphaTestAttribute>;
00120
00125       NVSG_API AlphaTestAttribute();
00126
00129       NVSG_API AlphaTestAttribute( const AlphaTestAttribute &rhs );
00130
00132       NVSG_API virtual ~AlphaTestAttribute();
00133
00137       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00138
00139     private:
00140       AlphaFunction  m_alphaFunction;
00141       float          m_threshold;
00142       bool           m_enabledDuringMultiSampleAlpha;
00143   };
00144
00145   inline AlphaFunction AlphaTestAttribute::getAlphaFunction() const
00146   {
00147     return( m_alphaFunction );
00148   }
00149
00150   inline float AlphaTestAttribute::getThreshold() const
00151   {
00152     return( m_threshold );
00153   }
00154
00155   inline bool AlphaTestAttribute::getEnabledDuringMultiSampleAlpha() const
00156   {
00157     return( m_enabledDuringMultiSampleAlpha );
00158   }
00159
00160 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AnalyzeTraverser.h File Reference

inc / nvsg / nvtraverser

AnalyzeTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/IndependentPrimitiveSet.h"
#include "nvsg/StrippedPrimitiveSet.h"
#include "nvtraverser/Traverser.h"
#include <map>
#include <set>

Include dependency graph for AnalyzeTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:00 2012 for SceniX


SceniX: AnalyzeTraverser.h Source File

inc / nvsg / nvtraverser

AnalyzeTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/IndependentPrimitiveSet.h"
00017 #include "nvsg/StrippedPrimitiveSet.h"
00018 #include "nvtraverser/Traverser.h"
00019
00020 #include <map>
00021 #include <set>
00022
00023 namespace nvtraverser
00024 {
00032   class AnalyzeResult
00033   {
00034     public:
00035       AnalyzeResult() : objectCount(0) {}
00036
00038       virtual ~AnalyzeResult() {}
00039
00040     public:
00041       unsigned int  objectCode;
00042       unsigned int  objectCount;
00043   };
00044
00053   class CombinableResult : public AnalyzeResult
00054   {
00055     public:
00056       virtual ~CombinableResult() {};
00057
00058     public:
00059       unsigned int  combinableCount;
00060       unsigned int  reducedCount;
00061   };
00062
00067   class DenormalizedNormalsResult : public AnalyzeResult
00068   {
00069     public:
00070       virtual ~DenormalizedNormalsResult() {}
00071
00072     public:
00073       unsigned int  denormalizedNormalsCount;
00074       unsigned int  denormalizedNormalsNumber;
00075   };
00076
00082   class EmptyResult : public AnalyzeResult
00083   {
00084     public:
00086       virtual ~EmptyResult() {}
00087
00088     public:
00089       unsigned int  emptyCount;
00090   };
00091
00097   class EquivalenceResult : public AnalyzeResult
00098   {
00099     public:
00101       virtual ~EquivalenceResult() {}
00102
00103     public:
00104       unsigned int  equivalentCount;
00105       unsigned int  reducedCount;
00106   };
00107
00113   class IdentityResult : public AnalyzeResult
00114   {
00115     public:
00117       virtual ~IdentityResult() {}
00118
00119     public:
00120       unsigned int  identityCount;
00121   };
00122
00128   class MissingResult : public AnalyzeResult
00129   {
00130     public:
00132       virtual ~MissingResult()  {}
00133
00134     public:
00135       unsigned int  missingCount;
00136   };
00137
00142   class NullNormalsResult : public AnalyzeResult
00143   {
00144     public:
00146       virtual ~NullNormalsResult() {}
00147
00148     public:
00149       unsigned int  nullNormalsCount;
00150       unsigned int  nullNormalsNumber;
00151   };
00152
00158   class RedundantIndexSetResult : public AnalyzeResult
00159   {
00160     public:
00162       virtual ~RedundantIndexSetResult() {}
00163
00164     public:
00165       unsigned int redundantIndexSetCount;
00166   };
00167
00172   class RedundantLODRangesResult : public AnalyzeResult
00173   {
00174     public:
00176       virtual ~RedundantLODRangesResult() {}
00177
00178     public:
00179       unsigned int  lodRanges;
00180       unsigned int  redundantLODs;
00181       unsigned int  redundantLODRanges;
00182   };
00183
00189   class SingleChildResult : public AnalyzeResult
00190   {
00191     public:
00193       virtual ~SingleChildResult()  {}
00194
00195     public:
00196       unsigned int  singleChildCount;
00197   };
00198
00204   class ShortStrippedResult : public AnalyzeResult
00205   {
00206     public:
00207       virtual ~ShortStrippedResult() {}
00208
00209     public:
00210       unsigned int  shortStrippedCount;
00211       unsigned int  shortStrippedNumber;
00212   };
00213
00218   class UnusedVerticesResult : public AnalyzeResult
00219   {
00220     public:
00221       UnusedVerticesResult()
00222         : AnalyzeResult()
00223         , unusedVerticesCount(0)
00224       {
00225         objectCode = nvsg::OC_VERTEX_ATTRIBUTE_SET;
00226       }
00227       virtual ~UnusedVerticesResult() {}
00228
00229     public:
00230       unsigned int  unusedVerticesCount;
00231   };
00232
00268   class AnalyzeTraverser : public SharedTraverser
00269   {
00270     public:
00272       NVSG_API AnalyzeTraverser( void );
00273
00282       NVSG_API unsigned int getAnalysis( std::vector<AnalyzeResult*> &results ) const;
00283
00284     protected:
00288       NVSG_API virtual ~AnalyzeTraverser( void );
00289
00295       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00296
00302       NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p );
00303
00311       NVSG_API virtual void handleAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet * p );
00312
00318       NVSG_API virtual void handleBillboard( const nvsg::Billboard * p );
00319
00325       NVSG_API virtual void handleBlendAttribute( const nvsg::BlendAttribute * p );
00326
00331       NVSG_API virtual void handleCgFx( const nvsg::CgFx * p );
00332
00338       NVSG_API virtual void handleDepthAttribute( const nvsg::DepthAttribute * p );
00339
00345       NVSG_API virtual void handleDirectedLight( const nvsg::DirectedLight * p );
00346
00352       NVSG_API virtual void handleFaceAttribute( const nvsg::FaceAttribute * p );
00353
00359       NVSG_API virtual void handleFlipbookAnimation( const nvsg::FlipbookAnimation *p );
00360
00367       NVSG_API virtual void handleFramedIndexAnimationDescription( const nvsg::FramedAnimationDescription<unsigned int> * p );
00368
00375       NVSG_API virtual void handleFramedTrafoAnimationDescription( const nvsg::FramedAnimationDescription<nvmath::Trafo> * p );
00376
00384       NVSG_API virtual void handleFramedVertexAttributeAnimationDescription( const nvsg::FramedAnimationDescription<nvsg::VertexAttribute> * p );
00385
00391       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode * p );
00392
00398       NVSG_API virtual void handleGroup( const nvsg::Group * p );
00399
00406       NVSG_API virtual void handleIndexAnimation( const nvsg::Animation<unsigned int> * p );
00407
00415       NVSG_API virtual void handleLinearInterpolatedTrafoAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> * p );
00416
00424       NVSG_API virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> * p );
00425
00431       NVSG_API virtual void handleLineAttribute( const nvsg::LineAttribute * p );
00432
00438       NVSG_API virtual void handleLines( const nvsg::Lines * p );
00439
00445       NVSG_API virtual void handleLineStrips( const nvsg::LineStrips * p );
00446
00452       NVSG_API virtual void handleLOD( const nvsg::LOD * p );
00453
00459       NVSG_API virtual void handleMaterial( const nvsg::Material * p );
00460
00466       NVSG_API virtual void handlePointAttribute( const nvsg::PointAttribute * p );
00467
00473       NVSG_API virtual void handlePointLight( const nvsg::PointLight * p );
00474
00480       NVSG_API virtual void handlePoints( const nvsg::Points * p );
00481
00487       NVSG_API virtual void handleQuadMeshes( const nvsg::QuadMeshes * p );
00488
00494       NVSG_API virtual void handleQuads( const nvsg::Quads * p );
00495
00501       NVSG_API virtual void handleQuadStrips( const nvsg::QuadStrips * p );
00502
00503       NVSG_API virtual void handleRTFx( const nvsg::RTFx * p );
00504
00505       NVSG_API virtual void handleRTFxProgram( const nvsg::RTFxProgram * p );
00506
00512       NVSG_API virtual void handleShape( const nvsg::Shape * p );
00513
00519       NVSG_API virtual void handleSkin( const nvsg::Skin * p );
00520
00526       NVSG_API virtual void handleSpotLight( const nvsg::SpotLight * p );
00527
00533       NVSG_API virtual void handleStatePass( const nvsg::StatePass * p );
00534
00540       NVSG_API virtual void handleStateSet( const nvsg::StateSet * p );
00541
00547       NVSG_API virtual void handleStateVariant( const nvsg::StateVariant * p );
00548
00554       NVSG_API virtual void handleSwitch( const nvsg::Switch * p );
00555
00561       NVSG_API virtual void handleTextureAttribute( const nvsg::TextureAttribute * p );
00562
00568       NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem * p );
00569
00576       NVSG_API virtual void handleTrafoAnimation( const nvsg::Animation<nvmath::Trafo> * p );
00577
00583       NVSG_API virtual void handleTransform( const nvsg::Transform * p );
00584
00590       NVSG_API virtual void handleTriangles( const nvsg::Triangles * p );
00591
00597       NVSG_API virtual void handleTriFans( const nvsg::TriFans * p );
00598
00604       NVSG_API virtual void handleTriStrips( const nvsg::TriStrips * p );
00605
00612       NVSG_API virtual void handleVertexAttributeAnimation( const nvsg::Animation<nvsg::VertexAttribute> * p );
00613
00621       NVSG_API virtual void handleVertexAttributeSet( const nvsg::VertexAttributeSet * p );
00622
00628       NVSG_API virtual void traversePrimitive( const nvsg::Primitive * p );
00629
00630     private:
00631       class EquivalenceInfo
00632       {
00633         public :
00634           std::vector<nvsg::ObjectWeakPtr> uniqueObjects;
00635           std::set<nvsg::ObjectWeakPtr>    equivalentObjects;
00636       };
00637
00638       template<typename T> class CombinableMap : public std::map<const nvsg::StateSet*,std::vector<std::pair<const T *,unsigned int> > >
00639       {
00640       };
00641
00642       typedef std::map<nvsg::VertexAttributeSetWeakPtr,std::set<unsigned int> > VertexUseMap;
00643
00644     private:
00645       template<typename T> void analyzeCombinable( const T * p, CombinableMap<T> & mvpT );
00646       void analyzeCombinable( const nvsg::Group * p );
00647       void analyzeEmpty( const nvsg::Object * p, unsigned int numberOfElements );
00648       void analyzeEquivalent( const nvsg::Object *p );
00649       void analyzeNormalsNormalized( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type normals, unsigned int non
00650                                    , unsigned int &nullNormals, unsigned int &denormalizedNormals );
00651       void analyzeMissing( const nvsg::Object * p, const void * ptr );
00652       void analyzeRedundantIndexSet( const nvsg::IndexSetSharedPtr & p, unsigned int offset, unsigned int count );
00653       void analyzeRedundantLODRanges( const nvsg::LOD * p );
00654       void analyzeShortStripped( const nvsg::StrippedPrimitiveSet * p, unsigned int minCount );
00655       void analyzeSingleChild( const nvsg::Group * p );
00656       void analyzeUnusedVertices( const nvsg::IndexSetSharedPtr & isSP
00657                                 , const nvsg::VertexAttributeSetSharedPtr & vasSP
00658                                 , unsigned int offset, unsigned int count );
00659       template<typename T>
00660         void extractCombinableInfo( unsigned int oc
00661                                   , std::map<const nvsg::StateSet*,std::vector<std::pair<const T*,unsigned int> > > &mvpT );
00662       bool isChildOfCurrentLOD( const nvsg::Object * p );
00663       bool isToBeHandled( const nvsg::Object *p );
00664       void testVertexAttributeSet( const nvsg::VertexAttributeSet * p );
00665
00666     private:
00667       std::map<unsigned int,unsigned int>                           m_countMap;
00668       std::stack<std::vector<const nvsg::GeoNode*> >                m_combinableGeoNodes;
00669       std::map<unsigned int,std::pair<unsigned int,unsigned int> >  m_combinableInfo;
00670       CombinableMap<nvsg::Lines>                                    m_combinableLines;
00671       CombinableMap<nvsg::LineStrips>                               m_combinableLineStrips;
00672       CombinableMap<nvsg::Points>                                   m_combinablePoints;
00673       CombinableMap<nvsg::Primitive>                                m_combinablePrimitive;
00674       CombinableMap<nvsg::QuadMeshes>                               m_combinableQuadMeshes;
00675       CombinableMap<nvsg::QuadPatches>                              m_combinableQuadPatches;
00676       CombinableMap<nvsg::QuadPatches4x4>                           m_combinableQuadPatches4x4;
00677       CombinableMap<nvsg::Quads>                                    m_combinableQuads;
00678       CombinableMap<nvsg::QuadStrips>                               m_combinableQuadStrips;
00679       CombinableMap<nvsg::RectPatches>                              m_combinableRectPatches;
00680       CombinableMap<nvsg::Triangles>                                m_combinableTriangles;
00681       CombinableMap<nvsg::TriFans>                                  m_combinableTriFans;
00682       CombinableMap<nvsg::TriPatches>                               m_combinableTriPatches;
00683       CombinableMap<nvsg::TriPatches4>                              m_combinableTriPatches4;
00684       CombinableMap<nvsg::TriStrips>                                m_combinableTriStrips;
00685       const nvsg::LOD *                                             m_currentLOD;
00686       const nvsg::StateSet *                                        m_currentStateSet;
00687       std::pair<unsigned int,unsigned int>                          m_denormalizedNormalsLIVAAD;
00688       std::pair<unsigned int,unsigned int>                          m_denormalizedNormalsVAS;
00689       std::map<unsigned int, unsigned int>                          m_emptyMap;
00690       std::map<unsigned int, EquivalenceInfo>                       m_equivalenceMap;
00691       unsigned int                                                  m_identityCount;
00692       unsigned int                                                  m_lodRanges;
00693       std::map<unsigned int, unsigned int>                          m_missingMap;
00694       std::pair<unsigned int,unsigned int>                          m_nullNormalsLIVAAD;
00695       std::pair<unsigned int,unsigned int>                          m_nullNormalsVAS;
00696       unsigned int                                                  m_redundantIndexSets;
00697       unsigned int                                                  m_redundantLODs;
00698       unsigned int                                                  m_redundantLODRanges;
00699       std::set<const nvsg::Object *>                                m_sharedObjects;
00700       std::map<unsigned int, unsigned int>                          m_singleChildMap;
00701       std::map<unsigned int, std::pair<unsigned int,unsigned int> > m_shortStripped;
00702       VertexUseMap                                                  m_vertexUseMap;
00703   };
00704 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AnimatedTransform.h File Reference

inc / nvsg / nvsg

AnimatedTransform.h File Reference

#include "nvsg/Animation.h"
#include "nvsg/Transform.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for AnimatedTransform.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:01 2012 for SceniX


SceniX: AnimatedTransform.h Source File

inc / nvsg / nvsg

AnimatedTransform.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/Animation.h"
00016 #include "nvsg/Transform.h" // base class definition
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00026   class AnimatedTransform : public Transform
00027   {
00028     public:
00029       NVSG_API static AnimatedTransformSharedPtr create();
00030
00031     public:
00035       NVSG_API virtual const nvmath::Trafo& getTrafo( void ) const;
00036
00041       NVSG_API virtual void setTrafo( const nvmath::Trafo & trafo );
00042
00046       NVSG_API const TrafoAnimationSharedPtr & getAnimation() const;
00047
00054       NVSG_API void setAnimation( const TrafoAnimationSharedPtr & animation );
00055
00063       NVSG_API AnimatedTransform & operator=( const AnimatedTransform & rhs );
00064
00080       NVSG_API virtual bool isEquivalent( const Object *p
00081                                         , bool ignoreNames
00082                                         , bool deepCompare ) const;
00083
00084       REFLECTION_INFO_API( NVSG_API, AnimatedTransform );
00085     protected:
00086       friend struct nvutil::Holder<AnimatedTransform>;
00087
00090       NVSG_API AnimatedTransform();
00091
00094       NVSG_API AnimatedTransform(const AnimatedTransform& rhs);
00095
00098       NVSG_API virtual ~AnimatedTransform();
00099
00100       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00101
00109       NVSG_API virtual bool determineAnimationContainment() const;
00110
00124       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00125
00139       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00140
00144       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00145
00146     private:
00147
00148       void invalidate();
00149
00150     private:
00151       TrafoAnimationSharedPtr m_animation;
00152   };
00153
00154   // - - - - - - - - - - - - - - - - - - - - - - - - -
00155   // inlines
00156   // - - - - - - - - - - - - - - - - - - - - - - - - -
00157
00158   inline const nvmath::Trafo& AnimatedTransform::getTrafo() const
00159   {
00160     NVSG_TRACE();
00161     NVSG_ASSERT( m_animation );
00162     return( TrafoAnimationReadLock(m_animation)->getCurrentValue() );
00163   }
00164
00165   inline const TrafoAnimationSharedPtr & AnimatedTransform::getAnimation() const
00166   {
00167     NVSG_TRACE();
00168     return( m_animation );
00169   }
00170
00171   inline bool AnimatedTransform::determineAnimationContainment() const
00172   {
00173     NVSG_TRACE();
00174     NVSG_ASSERT( m_animation );
00175     return( true );
00176   }
00177
00178 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AnimatedVertexAttributeSet.h File Reference

inc / nvsg / nvsg

AnimatedVertexAttributeSet.h File Reference

#include "nvsg/VertexAttributeSet.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for AnimatedVertexAttributeSet.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:01 2012 for SceniX


SceniX: AnimatedVertexAttributeSet.h Source File

inc / nvsg / nvsg

AnimatedVertexAttributeSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/VertexAttributeSet.h"
00016 #include "nvutil/HashGenerator.h"
00017
00018 namespace nvsg
00019 {
00028   class AnimatedVertexAttributeSet : public VertexAttributeSet
00029   {
00030     public:
00031       NVSG_API static AnimatedVertexAttributeSetSharedPtr create();
00032
00033     public:
00039       NVSG_API AnimatedVertexAttributeSet & operator=( const AnimatedVertexAttributeSet & rhs );
00040
00052       NVSG_API virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00053
00068       NVSG_API virtual void setVertexData( unsigned int attrib, unsigned int size, unsigned int type
00069                                          , const void * data, unsigned int strideInBytes, unsigned int count );
00070
00088       NVSG_API virtual void setVertexData( unsigned int attrib, unsigned int pos, unsigned int size
00089                                          , unsigned int type, const void * data, unsigned int strideInBytes, unsigned int count );
00090
00110       NVSG_API virtual void setVertexData( unsigned int attrib, const unsigned int * to
00111                                          , const unsigned int * from, unsigned int size
00112                                          , unsigned int type, const void * data, unsigned int strideInBytes, unsigned int count );
00113
00120       NVSG_API virtual void removeVertexData( unsigned int attrib );
00121
00130       NVSG_API virtual Buffer::DataReadLock getVertexData( unsigned int attrib ) const;
00131
00136       NVSG_API virtual const BufferSharedPtr & getVertexBuffer(unsigned int attrib) const;
00137
00146       NVSG_API virtual unsigned int getSizeOfVertexData( unsigned int attrib ) const;
00147
00160       NVSG_API virtual unsigned int getTypeOfVertexData( unsigned int attrib ) const;
00161
00169       NVSG_API virtual unsigned int getNumberOfVertexData( unsigned int attrib ) const;
00170
00175       NVSG_API const VertexAttributeAnimationSharedPtr & getAnimation( unsigned int attrib ) const;
00176
00187       NVSG_API void setAnimation( unsigned int attrib, const VertexAttributeAnimationSharedPtr & animation );
00188
00196       NVSG_API void setNormalize( unsigned int attrib, bool normalize );
00197
00203       NVSG_API bool getNormalize( unsigned int attrib ) const;
00204
00208       NVSG_API unsigned int getNormalizeFlags() const;
00209
00210       REFLECTION_INFO_API( NVSG_API, AnimatedVertexAttributeSet );
00211     protected:
00212       friend struct nvutil::Holder<AnimatedVertexAttributeSet>;
00213
00216       NVSG_API AnimatedVertexAttributeSet();
00217
00222       NVSG_API AnimatedVertexAttributeSet( const AnimatedVertexAttributeSet & rhs );
00223
00227       NVSG_API virtual ~AnimatedVertexAttributeSet();
00228
00229       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00230       NVSG_API virtual bool determineAnimationContainment() const;
00231
00235       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00236
00237     private:
00238       VertexAttributeAnimationSharedPtr m_animations[NVSG_VERTEX_ATTRIB_COUNT];
00239       unsigned int                      m_normalizeFlags;
00240   };
00241
00242   inline const VertexAttributeAnimationSharedPtr & AnimatedVertexAttributeSet::getAnimation( unsigned int attrib ) const
00243   {
00244     NVSG_TRACE();
00245     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00246     NVSG_ASSERT(attrib>=NVSG_POSITION && attrib<=NVSG_ATTR15); // undefined behavior on invalid attrib
00247
00248     return( m_animations[attribIndex(attrib)] );
00249   }
00250
00251   inline bool AnimatedVertexAttributeSet::getNormalize( unsigned int attrib ) const
00252   {
00253     NVSG_TRACE();
00254     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00255     NVSG_ASSERT(attrib>=NVSG_POSITION && attrib<=NVSG_ATTR15); // undefined behavior on invalid attrib
00256
00257     return( !!(m_normalizeFlags & (1 << attribIndex(attrib))) );
00258   }
00259
00260   inline unsigned int AnimatedVertexAttributeSet::getNormalizeFlags() const
00261   {
00262     NVSG_TRACE();
00263     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00264     return( m_normalizeFlags );
00265   }
00266
00267 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Animation.h File Reference

inc / nvsg / nvsg

Animation.h File Reference

#include "nvmath/Trafo.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/AnimationDescription.h"
#include "nvsg/VertexAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Animation.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

template<typename T>
DEFINE_STATIC_PROPERTY (Animation< T >, CurrentValue)
NVSG_API void | setAllAnimations (const SceneSharedPtr &scene, bool enable)
Start or stop all animations in a scene, including camera animations.
NVSG_API void | setAllAnimations (const NodeSharedPtr &root, bool enable)
Start or stop all animations in a subtree.

Detailed Description

Function Documentation

NVSG_API void setAllAnimations | ( | const SceneSharedPtr & | scene,
 |  | bool | enable
 | ) |

Start or stop all animations in a scene, including camera animations.

Parameters:
scene | The scene to switch all animations on or off.
enable | Indicates whether the animations are to be started (true) or stopped (false).
Remarks:
Searches for all classes based on nvsg::AnimationState, and calls their start or stop function.
See also:
stopAllAnimations

NVSG_API void setAllAnimations | ( | const NodeSharedPtr & | root,
 |  | bool | enable
 | ) |

Start or stop all animations in a subtree.

Parameters:
root | The node of the subtree to switch all animations on or off.
enable | Indicates whether the animations are to be started (true) or stopped (false).
Remarks:
Searches for all classes based on nvsg::AnimationState, and calls their start or stop function.
See also:
stopAllAnimations

Generated on Fri Jul 13 13:27:02 2012 for SceniX


SceniX: Animation.h Source File

inc / nvsg / nvsg

Animation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvmath/Trafo.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/AnimationDescription.h"
00018 #include "nvsg/VertexAttribute.h"
00019 #include "nvutil/HashGenerator.h"
00020
00021 namespace nvsg
00022 {
00026   class AnimationState : public OwnedObject<Object>
00027   {
00028     friend class Object;
00029
00030     public:
00031       NVSG_API virtual ~AnimationState();
00032
00037       NVSG_API void start();
00038
00043       NVSG_API void stop();
00044
00048       NVSG_API bool isRunning() const;
00049
00059       NVSG_API bool advance( unsigned int tick, int delta = 1 );
00060
00067       NVSG_API void setSpeed( unsigned int stepsOnAdvance );
00068
00074       NVSG_API unsigned int getSpeed() const;
00075
00082       virtual unsigned int getNumberOfFrames() const = 0;
00083
00089       virtual unsigned int getNumberOfSteps() const = 0;
00090
00096       NVSG_API unsigned int getCurrentFrame() const;
00097
00101       NVSG_API bool setCurrentFrame( unsigned int frame );
00102
00108       NVSG_API unsigned int getCurrentStep() const;
00109
00118       NVSG_API void setLoopCount( unsigned int count );
00119
00127       NVSG_API int getLoopCount() const;
00128
00134       NVSG_API void setForwardAnimation( bool forward = true );
00135
00140       NVSG_API bool isForwardAnimation() const;
00141
00149       NVSG_API void setSwingingAnimation( bool swing = true );
00150
00157       NVSG_API bool isSwingingAnimation() const;
00158
00166       NVSG_API virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00167
00173       NVSG_API void invalidate();
00174
00175     protected:
00180       NVSG_API AnimationState( void );
00181
00187       NVSG_API AnimationState & operator=( const AnimationState & rhs );
00188
00192       NVSG_API virtual void setCurrentStep( unsigned int step );
00193
00201       NVSG_API virtual unsigned int frameToStep( unsigned int frame ) const = 0;
00202
00209       NVSG_API virtual void onInvalidate() {};
00210
00214       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00215
00216     private:
00217       //  defining values
00218       bool          m_forward;      // true: animate from step 0 to n-1; false; animate from step n-1 to 0
00219       bool          m_swinging;     // true: swing (or ping-pong); false: loop
00220       unsigned int  m_loopCount;    // 0: forever, other: number of sings/loops
00221       unsigned int  m_speed;        // steps per advance
00222
00223       //  "temporary" values
00224       bool          m_running;      // true: animation is started; false: animation stopped
00225       unsigned int  m_currentFrame;
00226       unsigned int  m_currentTick;
00227       unsigned int  m_currentStep;
00228   };
00229
00230   inline AnimationState::AnimationState()
00231     : m_loopCount(0)    // infinite
00232     , m_speed(1)        // single step
00233     , m_forward(true)   // forward
00234     , m_swinging(false) // looping
00235     , m_running(false)  // not running
00236     , m_currentStep(0)  // start of animation
00237     , m_currentFrame(0) // start of animation
00238     , m_currentTick(~0) // not defined
00239   {
00240     NVSG_TRACE();
00241   }
00242
00243   inline AnimationState::~AnimationState()
00244   {
00245     NVSG_TRACE();
00246   }
00247
00248   inline void AnimationState::invalidate()
00249   {
00250     NVSG_TRACE();
00251     // kick-off polymorphic invalidation
00252     onInvalidate();
00253     notifyChange( this );
00254   }
00255
00256   inline void AnimationState::start()
00257   {
00258     NVSG_TRACE();
00259
00260     if ( ! m_running )
00261     {
00262       m_running = true;
00263       invalidate();
00264     }
00265   }
00266
00267   inline void AnimationState::stop()
00268   {
00269     NVSG_TRACE();
00270
00271     if ( m_running )
00272     {
00273       m_running = false;
00274       invalidate();
00275     }
00276   }
00277
00278   inline bool AnimationState::isRunning() const
00279   {
00280     NVSG_TRACE();
00281
00282     return( m_running );
00283   }
00284
00285   inline bool AnimationState::advance( unsigned int tick, int delta )
00286   {
00287     NVSG_TRACE();
00288
00289     bool ok = ( m_running && ( m_currentTick != tick ) );
00290     if ( ok )
00291     {
00292       m_currentTick = tick;
00293       setCurrentFrame( m_currentFrame + delta * m_speed );
00294     }
00295     return( ok );
00296   }
00297
00298   inline void AnimationState::setSpeed( unsigned int stepsOnAdvance )
00299   {
00300     NVSG_TRACE();
00301     NVSG_ASSERT( 0 < stepsOnAdvance );
00302
00303     if ( m_speed != stepsOnAdvance )
00304     {
00305       m_speed = stepsOnAdvance;
00306       invalidate();
00307     }
00308   }
00309
00310   inline unsigned int AnimationState::getSpeed() const
00311   {
00312     NVSG_TRACE();
00313
00314     return( m_speed );
00315   }
00316
00317   inline unsigned int AnimationState::getCurrentFrame() const
00318   {
00319     NVSG_TRACE();
00320
00321     return( m_currentFrame );
00322   }
00323
00324   inline bool AnimationState::setCurrentFrame( unsigned int frame )
00325   {
00326     NVSG_TRACE();
00327
00328     bool ok = ( m_currentFrame != frame );
00329     if ( ok )
00330     {
00331       m_currentFrame = frame;
00332       unsigned int step = frameToStep( m_currentFrame );
00333       if ( step != m_currentStep )
00334       {
00335         setCurrentStep( step );
00336       }
00337     }
00338     return( ok );
00339   }
00340
00341   inline void AnimationState::setCurrentStep( unsigned int step )
00342   {
00343     NVSG_TRACE();
00344
00345     if ( m_currentStep != step )
00346     {
00347       m_currentStep = step;
00348       invalidate();
00349     }
00350   }
00351
00352   inline unsigned int AnimationState::getCurrentStep() const
00353   {
00354     NVSG_TRACE();
00355
00356     return( m_currentStep );
00357   }
00358
00359   inline void AnimationState::setLoopCount( unsigned int count )
00360   {
00361     NVSG_TRACE();
00362
00363     if ( m_loopCount != count )
00364     {
00365       m_loopCount = count;
00366       invalidate();
00367     }
00368   }
00369
00370   inline int AnimationState::getLoopCount() const
00371   {
00372     NVSG_TRACE();
00373
00374     return( m_loopCount );
00375   }
00376
00377   inline void AnimationState::setForwardAnimation( bool forward )
00378   {
00379     NVSG_TRACE();
00380
00381     if ( m_forward != forward )
00382     {
00383       m_forward = forward;
00384       invalidate();
00385     }
00386   }
00387
00388   inline bool AnimationState::isForwardAnimation() const
00389   {
00390     NVSG_TRACE();
00391
00392     return( m_forward );
00393   }
00394
00395   inline void AnimationState::setSwingingAnimation( bool swinging )
00396   {
00397     NVSG_TRACE();
00398
00399     if ( m_swinging != swinging )
00400     {
00401       m_swinging = swinging;
00402       invalidate();
00403     }
00404   }
00405
00406   inline bool AnimationState::isSwingingAnimation() const
00407   {
00408     NVSG_TRACE();
00409
00410     return( m_swinging );
00411   }
00412
00413   inline AnimationState & AnimationState::operator=( const AnimationState & rhs )
00414   {
00415     NVSG_TRACE();
00416
00417     if (&rhs != this)
00418     {
00419       Object::operator=(rhs);     // invalidates incarnation
00420       m_loopCount     = rhs.m_loopCount;
00421       m_speed         = rhs.m_speed;
00422       m_forward       = rhs.m_forward;
00423       m_swinging      = rhs.m_swinging;
00424       m_running       = rhs.m_running;
00425       m_currentFrame  = rhs.m_currentFrame;
00426       m_currentStep   = rhs.m_currentStep;
00427       m_currentTick   = rhs.m_currentTick;
00428     }
00429     return *this;
00430   }
00431
00432   inline bool AnimationState::isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const
00433   {
00434     NVSG_TRACE();
00435
00436     bool equi =   ( dynamic_cast<const AnimationState*>(p) != NULL )
00437               &&  Object::isEquivalent( p, ignoreNames, deepCompare );
00438     if ( equi )
00439     {
00440       const AnimationState * ab = static_cast<const AnimationState*>(p);
00441       equi =    ( m_loopCount == ab->m_loopCount  )
00442             &&  ( m_speed     == ab->m_speed      )
00443             &&  ( m_forward   == ab->m_forward    )
00444             &&  ( m_swinging  == ab->m_swinging   )
00445             &&  ( m_running   == ab->m_running    );
00446     }
00447     return( equi );
00448   }
00449
00450
00452     template <typename T>
00453     struct AnimationObjectCode; // Generates compile time error for unsupported types in Animation
00454
00455     template <> struct AnimationObjectCode<unsigned int >    { enum { ObjectCode = OC_INDEXANIMATION  }; };
00456     template <> struct AnimationObjectCode<nvmath::Trafo>    { enum { ObjectCode = OC_TRAFOANIMATION  }; };
00457     template <> struct AnimationObjectCode<VertexAttribute>  { enum { ObjectCode = OC_VERTEXATTRIBUTEANIMATION  }; };
00458     template <> struct AnimationObjectCode<float>            { enum { ObjectCode = OC_FLOATANIMATION  }; };
00459     template <> struct AnimationObjectCode<nvmath::Vec2f>    { enum { ObjectCode = OC_VEC2FANIMATION  }; };
00460     template <> struct AnimationObjectCode<nvmath::Vec3f>    { enum { ObjectCode = OC_VEC3FANIMATION  }; };
00461     template <> struct AnimationObjectCode<nvmath::Vec4f>    { enum { ObjectCode = OC_VEC4FANIMATION  }; };
00462     template <> struct AnimationObjectCode<nvmath::Mat33f>   { enum { ObjectCode = OC_MAT33FANIMATION }; };
00463     template <> struct AnimationObjectCode<nvmath::Mat44f>   { enum { ObjectCode = OC_MAT44FANIMATION }; };
00464     template <> struct AnimationObjectCode<nvmath::Quatf>    { enum { ObjectCode = OC_QUATFANIMATION  }; };
00465
00473   template<typename T> class Animation : public AnimationState
00474   {
00475     public:
00476       static typename nvutil::ObjectTraits<Animation<T> >::SharedPtr create();
00477
00478     public:
00480       Animation();
00481
00483       Animation( const Animation<T> &rhs );
00484
00486       virtual ~Animation();
00487
00492       const T & getCurrentValue() const;
00493
00500       unsigned int getNumberOfFrames() const;
00501
00507       unsigned int getNumberOfSteps() const;
00508
00513       T getFrameValue( unsigned int frame ) const;
00514
00519       const typename nvutil::ObjectTraits<AnimationDescription<T> >::SharedPtr & getDescription() const;
00520
00525       void setDescription( const typename nvutil::ObjectTraits<AnimationDescription<T> >::SharedPtr & description );
00526
00534       virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00535
00536       REFLECTION_INFO_TEMPLATE_API( NVSG_API, Animation<T> )
00537       BEGIN_DECLARE_STATIC_PROPERTIES
00538           NVSG_API DECLARE_STATIC_PROPERTY( CurrentValue );
00539       END_DECLARE_STATIC_PROPERTIES
00540
00541     protected:
00547       Animation<T> & operator=( const Animation<T> & rhs );
00548
00552       virtual void onInvalidate();
00553
00561       virtual unsigned int frameToStep( unsigned int frame ) const;
00562
00566       virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00567
00568     private:
00569       mutable T                                                           m_currentValue;
00570       mutable bool                                                        m_currentValueValid;
00571       typename nvutil::ObjectTraits<AnimationDescription<T> >::SharedPtr  m_description;
00572   };
00573
00574   template <typename T> DEFINE_STATIC_PROPERTY( Animation<T>, CurrentValue );
00575
00576   template<typename T>
00577   inline typename nvutil::ObjectTraits<Animation<T> >::SharedPtr Animation<T>::create()
00578   {
00579     return( nvutil::ObjectTraits<Animation<T> >::Handle::create() );
00580   }
00581
00582   template<typename T>
00583   inline Animation<T>::Animation( void )
00584   : m_description(NULL)
00585   , m_currentValueValid( false )
00586   {
00587     NVSG_TRACE();
00588     this->m_objectCode = AnimationObjectCode<T>::ObjectCode;
00589   }
00590
00591   template<typename T>
00592   inline Animation<T>::~Animation( void )
00593   {
00594     NVSG_TRACE();
00595     removeAsOwnerFrom( this, m_description );
00596   }
00597
00598   template<typename T>
00599   inline Animation<T>::Animation( const Animation<T> &rhs )
00600   : AnimationState(rhs)
00601   , m_description(rhs.m_description)
00602   , m_currentValue(rhs.m_currentValue)
00603   , m_currentValueValid(rhs.m_currentValueValid)
00604   {
00605     NVSG_TRACE();
00606     this->m_objectCode = AnimationObjectCode<T>::ObjectCode;
00607     addAsOwnerTo( this, m_description );
00608   }
00609
00610   template<typename T>
00611   inline const T & Animation<T>::getCurrentValue() const
00612   {
00613     NVSG_TRACE();
00614     NVSG_ASSERT( m_description );
00615
00616     nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00617     if ( !m_currentValueValid )
00618     {
00619       nvutil::ReadableObject<AnimationDescription<T> > description(m_description);
00620       m_currentValue = description->getStepValue( getCurrentStep() );
00621       m_currentValueValid = true;
00622     }
00623     return( m_currentValue );
00624   }
00625
00626   template<typename T>
00627   inline unsigned int Animation<T>::getNumberOfFrames() const
00628   {
00629     NVSG_TRACE();
00630     NVSG_ASSERT( m_description );
00631
00632     unsigned int stepCount = getNumberOfSteps();
00633     return( getLoopCount() == 0
00634             ? UINT_MAX
00635             : ( isSwingingAnimation() ? getLoopCount() * 2 * ( stepCount - 1 ) : getLoopCount() * stepCount ) );
00636   }
00637
00638   template<typename T>
00639   inline unsigned int Animation<T>::getNumberOfSteps() const
00640   {
00641     return( nvutil::ReadableObject<AnimationDescription<T> >(m_description)->getNumberOfSteps() );
00642   }
00643
00644   template<typename T>
00645   inline T Animation<T>::getFrameValue( unsigned int frame ) const
00646   {
00647     NVSG_TRACE();
00648     NVSG_ASSERT( m_description );
00649
00650     if ( frame == getCurrentFrame() )
00651     {
00652       return( getCurrentValue() );
00653     }
00654     else
00655     {
00656       nvutil::ReadableObject<AnimationDescription<T> > description(m_description);
00657       return( description->getStepValue( frameToStep(frame) ) );
00658     }
00659   }
00660
00661   template<typename T>
00662   const typename nvutil::ObjectTraits<AnimationDescription<T> >::SharedPtr & Animation<T>::getDescription() const
00663   {
00664     NVSG_TRACE();
00665
00666     return( m_description );
00667   }
00668
00669   template<typename T>
00670   inline void Animation<T>::setDescription( const typename nvutil::ObjectTraits<AnimationDescription<T> >::SharedPtr & description )
00671   {
00672     NVSG_TRACE();
00673     if ( m_description != description )
00674     {
00675       removeAsOwnerFrom( this, m_description );
00676       m_description = description;
00677       addAsOwnerTo( this, m_description );
00678
00679       invalidate();
00680     }
00681   }
00682
00683   template<typename T>
00684   inline Animation<T> & Animation<T>::operator=(const Animation<T> & rhs)
00685   {
00686     NVSG_TRACE();
00687     AnimationState::operator=(rhs);
00688     return *this;
00689   }
00690
00691   template<typename T>
00692   inline bool Animation<T>::isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const
00693   {
00694     NVSG_TRACE();
00695     NVSG_ASSERT( m_description );
00696
00697     bool equi =     ( dynamic_cast<const Animation<T>*>(p) != NULL )
00698                 &&  AnimationState::isEquivalent( p, ignoreNames, deepCompare );
00699     if ( equi )
00700     {
00701       const Animation<T> * rhs = static_cast<const Animation<T>*>(p);
00702       NVSG_ASSERT( rhs->getDescription() );
00703       equi = ( m_description == rhs->getDescription() );
00704       if ( !equi && deepCompare )
00705       {
00706         nvutil::ReadableObject<AnimationDescription<T> > description( m_description );
00707         nvutil::ReadableObject<AnimationDescription<T> > rhsDesc( rhs->getDescription() );
00708         equi = description->isEquivalent( rhsDesc, ignoreNames, deepCompare );
00709       }
00710     }
00711     return( equi );
00712   }
00713
00714   template<typename T>
00715   inline void Animation<T>::onInvalidate()
00716   {
00717     NVSG_TRACE();
00718
00719     // status changed when we get here
00720     // -> force re-evaluation with the next query
00721     //
00722     m_currentValueValid = false;
00723
00724     // bounding volumes of owning objects are most likely affected
00725     // if the animation status changes
00726     //
00727     notifyChange( this, NVSG_BOUNDING_VOLUMES );
00728   }
00729
00730   template<typename T>
00731   inline unsigned int Animation<T>::frameToStep( unsigned int frame ) const
00732   {
00733     NVSG_TRACE();
00734     NVSG_ASSERT( m_description );
00735
00736     unsigned int stepCount = nvutil::ReadableObject<AnimationDescription<T> >(m_description)->getNumberOfSteps();
00737     if ( frame < getNumberOfFrames() )
00738     {
00739       //  step is in animation range
00740       if ( isSwingingAnimation() )
00741       {
00742         //  ping-pong animation -> map step into interval 0 ... 2*(stepCount-1)
00743         frame %= 2 * ( stepCount - 1 );
00744         if ( stepCount <= frame )
00745         {
00746           //  on reverse part of animation -> map step into interval stepCount-2 ... 0
00747           frame = 2 * ( stepCount - 1 ) - frame;
00748         }
00749       }
00750       else
00751       {
00752         //  loop animation -> map step into interval 0 ... stepCount-1
00753         frame %= stepCount;
00754       }
00755       if ( ! isForwardAnimation() )
00756       {
00757         //  animation's running backwards -> invert step on stepCount-1
00758         frame = stepCount - 1 - frame;
00759       }
00760     }
00761     else
00762     {
00763       //  step is out of animation range -> use step 0 or stepCount-1
00764       frame = ( isForwardAnimation() == isSwingingAnimation() ) ? 0 : ( stepCount - 1 );
00765     }
00766     return( frame );
00767   }
00768
00769   template<typename T>
00770   inline void Animation<T>::feedHashGenerator( nvutil::HashGenerator & hg ) const
00771   {
00772     AnimationState::feedHashGenerator( hg );
00773     if ( m_description )
00774     {
00775       HashKey hk = nvutil::ReadableObject<AnimationDescription<T> >(m_description)->getHashKey();
00776       hg.update( reinterpret_cast<const unsigned char *>(&hk), sizeof(hk) );
00777     }
00778   }
00779
00785   NVSG_API void setAllAnimations( const SceneSharedPtr & scene, bool enable );
00786
00792   NVSG_API void setAllAnimations( const NodeSharedPtr & root, bool enable );
00793
00794 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AnimationDescription.h File Reference

inc / nvsg / nvsg

AnimationDescription.h File Reference

#include "nvsg/OwnedObject.h"
#include "nvsg/Animation.h"

Include dependency graph for AnimationDescription.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:02 2012 for SceniX


SceniX: AnimationDescription.h Source File

inc / nvsg / nvsg

AnimationDescription.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/OwnedObject.h"
00016 #include "nvsg/Animation.h"
00017
00018 namespace nvsg
00019 {
00023   template<typename T>
00024   class AnimationDescription : public OwnedObject<Animation<T> >
00025   {
00026     public:
00027       virtual ~AnimationDescription();
00028
00036       virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00037
00042       virtual unsigned int getNumberOfSteps() const = 0;
00043
00048       virtual T getStepValue( unsigned int step ) const = 0;
00049
00054       virtual void replaceStep( unsigned int step, const T & value ) = 0;
00055
00059       virtual void removeStep( unsigned int step ) = 0;
00060
00061       void invalidate();
00062
00063     protected:
00068       AnimationDescription( void );
00069
00075       AnimationDescription & operator=( const AnimationDescription & rhs );
00076   };
00077
00078   template<typename T>
00079   inline AnimationDescription<T>::AnimationDescription()
00080   {
00081     NVSG_TRACE();
00082   }
00083
00084   template<typename T>
00085   inline AnimationDescription<T>::~AnimationDescription()
00086   {
00087     NVSG_TRACE();
00088   }
00089
00090   template<typename T>
00091   inline AnimationDescription<T> & AnimationDescription<T>::operator=( const AnimationDescription<T> & rhs )
00092   {
00093     NVSG_TRACE();
00094     if (&rhs != this)
00095     {
00096       Object::operator=(rhs);   // invalidates incarnation
00097     }
00098     return *this;
00099   }
00100
00101   template<typename T>
00102   inline bool AnimationDescription<T>::isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const
00103   {
00104     NVSG_TRACE();
00105     return(     ( dynamic_cast<const AnimationDescription<T>*>(p) != NULL )
00106             &&  Object::isEquivalent( p, ignoreNames, deepCompare ) );
00107   }
00108
00109   template<typename T>
00110   inline void AnimationDescription<T>::invalidate()
00111   {
00112     NVSG_TRACE();
00113     notifyChange( this );
00114   }
00115 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AppTraverser.h File Reference

inc / nvsg / nvtraverser

AppTraverser.h File Reference

#include <set>
#include "nvsgcommon.h"
#include "nvsg/ViewState.h"
#include "nvtraverser/ModelViewTraverser.h"
#include "nvtraverser/AppTraverserCallbacks.h"
#include "nvsg/Skin.h"
#include "nvmath/nvmath.h"

Include dependency graph for AppTraverser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:03 2012 for SceniX


SceniX: AppTraverser.h Source File

inc / nvsg / nvtraverser

AppTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <set>
00016 #include "nvsgcommon.h"
00017 #include "nvsg/ViewState.h"
00018 #include "nvtraverser/ModelViewTraverser.h"
00019 #include "nvtraverser/AppTraverserCallbacks.h"
00020 #include "nvsg/Skin.h"
00021
00022 #include "nvmath/nvmath.h"
00023
00024 namespace nvtraverser {
00025
00027
00035 class AppTraverser : public ExclusiveModelViewTraverser
00036 {
00037 public:
00039   NVSG_API AppTraverser();
00040
00041   enum SkinningProcessorType
00042   {
00043     SKINNING_PROCESSOR_NONE,     // no skinning processor
00044     SKINNING_PROCESSOR_CPU,      // should be supported on all platforms
00045     SKINNING_PROCESSOR_GPUG80GL, // G80 skinning with geometry programs OGL
00046     SKINNING_PROCESSOR_CUDA,     // skinning with CUDA
00047     SKINNING_PROCESSOR_USER      // a user-defined skinning processor
00048   };
00049
00050   //
00051   // A "skinning processor" class to implement skinning for the App Traverser.
00052   //
00053   class SkinningProcessor : public nvutil::RCObject
00054   {
00055     public:
00057       NVSG_API SkinningProcessor();
00058
00059       // must be implemented
00060       NVSG_API virtual void process( bool requireProcessing ) = 0;
00061       NVSG_API virtual SkinningProcessorType getType() = 0;
00062
00063       // note: only called if processor is being switched at runtime
00064       NVSG_API virtual void shutdown( void ) {}
00065
00066       NVSG_API virtual void preTraverseScene();
00067       NVSG_API virtual void postTraverseScene();
00068       NVSG_API virtual void addJoint( const nvmath::Mat44f & modelToWorld
00069                                     , const nvmath::Mat44f & worldToModel
00070                                     , const nvsg::Transform * p );
00071       NVSG_API virtual void addSkin( const nvsg::PrimitiveSetWeakPtr & skinnedPrimitiveSet );
00072       NVSG_API virtual void addSkin( const nvsg::PrimitiveWeakPtr & skinnedPrimitive );
00073
00074       NVSG_API void calculateJointMatrices( const nvsg::SkinSharedPtr & skin
00075                                           , std::vector<std::pair<nvmath::Mat44f,nvmath::Mat44f> > & jointMatrices );
00076
00077     protected:
00078       // avoid stack creation since we inherit from RCObject
00079       NVSG_API virtual ~SkinningProcessor();
00080
00081     protected:
00082       std::vector<nvsg::PrimitiveSetWeakPtr>                                      m_skinnedPrimitiveSets;
00083       std::vector<nvsg::PrimitiveWeakPtr>                                         m_skinnedPrimitives;
00084       std::map<nvsg::TransformWeakPtr,std::pair<nvmath::Mat44f,nvmath::Mat44f> >  m_transformToJointMatrices;
00085   };
00086
00087 protected:
00089   NVSG_API virtual ~AppTraverser();
00090
00092
00095   NVSG_API virtual bool needsTraversal( const nvsg::NodeSharedPtr & root ) const;
00096
00098   NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00099
00100   // handler routine overrides
00101   NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform * at );
00102   NVSG_API virtual void handleCgFx( nvsg::CgFx *cgfx );
00103   NVSG_API virtual void handleIndexAnimation( nvsg::Animation<unsigned int> * anim );
00104   NVSG_API virtual void handleTrafoAnimation( nvsg::Animation<nvmath::Trafo> * anim );
00105   NVSG_API virtual void handleVertexAttributeAnimation( nvsg::Animation<nvsg::VertexAttribute> * anim );
00106   NVSG_API virtual void handleGeoNode( nvsg::GeoNode *gnode );
00107   NVSG_API virtual void handleTransform( nvsg::Transform * p );
00108
00110
00112   NVSG_API virtual bool preTraverseTransform( const nvmath::Trafo *p
00113                                             );
00114
00116
00118   NVSG_API virtual void postTraverseTransform( const nvmath::Trafo *p
00119                                              );
00120
00127   NVSG_API virtual void traversePrimitiveSet( nvsg::PrimitiveSet * pset );
00128
00135   NVSG_API virtual void traversePrimitive( nvsg::Primitive * prim );
00136
00141   NVSG_API virtual void postTraverseObject( const nvsg::Object * object );
00142
00143   // data accessible for derived classes
00144   bool          m_bApplyingCgFx;
00145   unsigned int  m_animationFrame;
00146
00147 public:
00148
00150
00160   NVSG_API bool isSkinningProcessorSupported( SkinningProcessorType type );
00161
00163
00166   NVSG_API bool setSkinningProcessor( SkinningProcessorType type );
00167
00169   NVSG_API SkinningProcessor * getSkinningProcessor();
00170
00172
00178   NVSG_API void setSkinningProcessor( SkinningProcessor * a );
00179
00184   NVSG_API void forceTraversal();
00185
00187
00188 private:
00189
00190   // Some data to cache so we can decide if we really have to apply the animation data.
00191   // This does not help to prevent from unneeded traversal steps since we can't
00192   // decide for derived classes.
00193   nvsg::ViewStateWeakPtr                  m_pLastViewState;
00194   nvsg::NodeWeakPtr                       m_pLastRoot;
00195   unsigned int                            m_animationTick;
00196   int                                     m_animationDelta;
00197   unsigned int                            m_lastAnimationTick;
00198   int                                     m_lastAnimationDelta;
00199   bool                                    m_bApplyAnimationKey;
00200   std::stack<nvmath::Vec3f>               m_currentScaling;
00201   nvutil::SmartPtr<SkinningProcessor>     m_skinningProcessor;
00202   bool                                    m_forcedTraversal;
00203   nvsg::Transform                       * m_currentTransform;
00204   std::set<nvsg::AnimationStateWeakPtr>   m_animations;
00205 };
00206
00207 inline void AppTraverser::forceTraversal()
00208 {
00209   m_forcedTraversal = true;
00210 }
00211
00212   struct AppTraverserCallbackData
00213   {
00214     const nvutil::TransformStack * transformStack;
00215   };
00216
00217 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: AppTraverserCallbacks.h File Reference

inc / nvsg / nvtraverser

AppTraverserCallbacks.h File Reference

#include "nvsgcommon.h"

Include dependency graph for AppTraverserCallbacks.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:03 2012 for SceniX


SceniX: AppTraverserCallbacks.h Source File

inc / nvsg / nvtraverser

AppTraverserCallbacks.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 namespace nvtraverser {
00018   // A semaphore used to link two callbacks together for setting camera attributes
00019   class CameraUpdateSemaphore : public nvsg::Object
00020   {
00021     public:
00022       NVSG_API static CameraUpdateSemaphoreSharedPtr create();
00023
00024     public:
00025       void setCamera( const nvsg::CameraSharedPtr & cam );
00026       void setCameraPositionAndRoll( const nvmath::Vec3f & pos, nvmath::Quatf & ori );
00027       void setTargetPosition( const nvmath::Vec3f & pos );
00028
00029     protected:
00030       friend struct nvutil::Holder<CameraUpdateSemaphore>;
00031
00032       CameraUpdateSemaphore();
00033
00034     private:
00035       enum
00036       {
00037         UPDATE_CAMERA = BIT(0),
00038         UPDATE_TARGET = BIT(1),
00039         UPDATE_COMPLETE = (UPDATE_CAMERA | UPDATE_TARGET)
00040       };
00041
00042       void update( unsigned int flag );
00043
00044       nvmath::Vec3f         m_cameraPosition;
00045       nvmath::Vec3f         m_targetPosition;
00046       nvmath::Quatf         m_orientation;
00047       nvmath::Vec3f         m_defaultX, m_defaultY, m_defaultZ;
00048       unsigned int          m_semaphore;
00049       nvsg::CameraSharedPtr m_camera;
00050       bool                  m_hasBeenCalled;
00051
00052   };
00053
00054   inline CameraUpdateSemaphoreSharedPtr CameraUpdateSemaphore::create()
00055   {
00056     return( nvutil::ObjectTraits<CameraUpdateSemaphore>::Handle::create() );
00057   }
00058
00059   inline CameraUpdateSemaphore::CameraUpdateSemaphore()
00060      : m_semaphore(0)
00061      , m_hasBeenCalled( false )
00062   {
00063     // initialize the default axes for camera orientation calculation
00064     m_defaultX = nvmath::Vec3f(1,0,0);
00065     m_defaultY = nvmath::Vec3f(0,1,0);
00066     m_defaultZ = nvmath::Vec3f(0,0,1);
00067   }
00068
00069   inline void CameraUpdateSemaphore::setCamera( const nvsg::CameraSharedPtr & cam )
00070   {
00071     m_camera = cam;
00072   }
00073
00074   inline void CameraUpdateSemaphore::setCameraPositionAndRoll( const nvmath::Vec3f & pos, nvmath::Quatf & ori )
00075   {
00076     m_cameraPosition = pos;
00077     m_orientation = ori;
00078     update( UPDATE_CAMERA );
00079   }
00080
00081   inline void CameraUpdateSemaphore::setTargetPosition( const nvmath::Vec3f & pos )
00082   {
00083     m_targetPosition = pos;
00084     update( UPDATE_TARGET );
00085   }
00086
00087   class SpotLightUpdateSemaphore : public nvsg::Object
00088   {
00089     public:
00090       NVSG_API static SpotLightUpdateSemaphoreSharedPtr create();
00091
00092     public:
00093       void setSpotLight( const nvsg::SpotLightSharedPtr & spot );
00094       void setSpotLightPosition( const nvmath::Vec3f & pos );
00095       void setTargetPosition( const nvmath::Vec3f & pos );
00096
00097     protected:
00098       friend struct nvutil::Holder<SpotLightUpdateSemaphore>;
00099
00100       SpotLightUpdateSemaphore();
00101
00102     private:
00103       enum
00104       {
00105         UPDATE_SPOTLIGHT = BIT(0),
00106         UPDATE_TARGET = BIT(1),
00107         UPDATE_COMPLETE = (UPDATE_SPOTLIGHT | UPDATE_TARGET)
00108       };
00109
00110       void update( unsigned int flag );
00111
00112       nvmath::Vec3f             m_spotLightPosition;
00113       nvmath::Vec3f             m_targetPosition;
00114       unsigned int              m_semaphore;
00115       nvsg::SpotLightSharedPtr  m_spotLight;
00116   };
00117
00118   inline SpotLightUpdateSemaphoreSharedPtr SpotLightUpdateSemaphore::create()
00119   {
00120     return( nvutil::ObjectTraits<SpotLightUpdateSemaphore>::Handle::create() );
00121   }
00122
00123   inline SpotLightUpdateSemaphore::SpotLightUpdateSemaphore( )
00124      : m_semaphore(0)
00125   {
00126   }
00127
00128   inline void SpotLightUpdateSemaphore::setSpotLight( const nvsg::SpotLightSharedPtr & spot )
00129   {
00130     m_spotLight = spot;
00131   }
00132
00133   inline void SpotLightUpdateSemaphore::setSpotLightPosition( const nvmath::Vec3f & pos )
00134   {
00135     m_spotLightPosition = pos;
00136     update( UPDATE_SPOTLIGHT );
00137   }
00138
00139   inline void SpotLightUpdateSemaphore::setTargetPosition( const nvmath::Vec3f & pos )
00140   {
00141     m_targetPosition = pos;
00142     update( UPDATE_TARGET );
00143   }
00144
00150   class LinkGroupToCameraCallback : public nvsg::Callback
00151   {
00152     public:
00156       NVSG_API explicit LinkGroupToCameraCallback( const nvsg::CameraSharedPtr & camera );
00157
00165       NVSG_API virtual void operator()( const nvsg::Object * subject, const void * data ) const;
00166
00167       NVSG_API virtual unsigned int getClassID() const;
00168       NVSG_API virtual const char * getClassName() const;
00169   };
00170
00171   inline LinkGroupToCameraCallback::LinkGroupToCameraCallback( const nvsg::CameraSharedPtr & camera )
00172     : Callback( camera )
00173   {}
00174
00175   inline unsigned int LinkGroupToCameraCallback::getClassID() const
00176   {
00177     return *(unsigned int *)"GTCC"; // GroupToCameraCallback
00178   }
00179
00180   inline const char * LinkGroupToCameraCallback::getClassName() const
00181   {
00182     return( "LinkGroupToCameraCallback" );
00183   }
00184
00191   class LinkGroupToCameraAsTargetCallback : public nvsg::Callback
00192   {
00193     public:
00197       NVSG_API explicit LinkGroupToCameraAsTargetCallback( const nvsg::CameraSharedPtr & camera );
00198       NVSG_API ~LinkGroupToCameraAsTargetCallback();
00199
00207       NVSG_API virtual void operator()( const nvsg::Object * subject, const void * data ) const;
00208
00209       NVSG_API virtual void setSemaphore( const CameraUpdateSemaphoreSharedPtr & sem );
00210
00211       NVSG_API virtual unsigned int getClassID() const;
00212       NVSG_API virtual const char * getClassName() const;
00213
00214     private:
00215       // A pointer to this callback's cooresponding semaphore
00216       CameraUpdateSemaphoreSharedPtr m_sem;
00217   };
00218
00219   inline LinkGroupToCameraAsTargetCallback::LinkGroupToCameraAsTargetCallback( const nvsg::CameraSharedPtr & camera )
00220     : Callback( camera )
00221   {}
00222
00223   inline void LinkGroupToCameraAsTargetCallback::setSemaphore( const CameraUpdateSemaphoreSharedPtr & sem )
00224   {
00225     m_sem = sem;
00226   }
00227
00228   inline unsigned int LinkGroupToCameraAsTargetCallback::getClassID() const
00229   {
00230     return *(unsigned int *)"GTCT"; // GroupToCameraTarget
00231   }
00232
00233   inline const char * LinkGroupToCameraAsTargetCallback::getClassName() const
00234   {
00235     return( "LinkGroupToCameraAsTargetCallback" );
00236   }
00237
00247   class LinkTransformToCameraAsPositionAndRollCallback : public nvsg::Callback
00248   {
00249     public:
00253       NVSG_API explicit LinkTransformToCameraAsPositionAndRollCallback( const nvsg::CameraSharedPtr & camera );
00254
00255       NVSG_API ~LinkTransformToCameraAsPositionAndRollCallback();
00256
00264       NVSG_API virtual void operator()( const nvsg::Object * subject, const void * data ) const;
00265
00266       NVSG_API virtual void setSemaphore( const CameraUpdateSemaphoreSharedPtr & sem );
00267
00268       NVSG_API virtual unsigned int getClassID() const;
00269       NVSG_API virtual const char * getClassName() const;
00270
00271     private:
00272       // A pointer to this callback's cooresponding semaphore
00273       CameraUpdateSemaphoreSharedPtr m_sem;
00274   };
00275
00276   inline LinkTransformToCameraAsPositionAndRollCallback::LinkTransformToCameraAsPositionAndRollCallback( const nvsg::CameraSharedPtr & camera )
00277     : Callback( camera )
00278   {}
00279
00280   inline void LinkTransformToCameraAsPositionAndRollCallback::setSemaphore( const CameraUpdateSemaphoreSharedPtr & sem )
00281   {
00282     m_sem = sem;
00283   }
00284
00285   inline unsigned int LinkTransformToCameraAsPositionAndRollCallback::getClassID() const
00286   {
00287     return *(unsigned int *)"TTCS"; // Transform To Camera State
00288   }
00289
00290   inline const char * LinkTransformToCameraAsPositionAndRollCallback::getClassName() const
00291   {
00292     return( "LinkTransformToCameraAsPositionAndRollCallback" );
00293   }
00294
00299   class LinkGroupToLightSourceCallback : public nvsg::Callback
00300   {
00301     public:
00305       NVSG_API explicit LinkGroupToLightSourceCallback( const nvsg::LightSourceSharedPtr & ls );
00306
00314       NVSG_API virtual void operator()( const nvsg::Object * subject, const void * data ) const;
00315
00316       NVSG_API virtual unsigned int getClassID() const;
00317       NVSG_API virtual const char * getClassName() const;
00318   };
00319
00320   inline LinkGroupToLightSourceCallback::LinkGroupToLightSourceCallback( const nvsg::LightSourceSharedPtr & ls )
00321     : Callback( ls )
00322   {}
00323
00324   inline unsigned int LinkGroupToLightSourceCallback::getClassID() const
00325   {
00326     return *(unsigned int *)"GTLC"; // GroupToLightSourceCallback
00327   }
00328
00329   inline const char * LinkGroupToLightSourceCallback::getClassName() const
00330   {
00331     return( "LinkGroupToLightSourceCallback" );
00332   }
00333
00339   class LinkGroupToSpotLightAsTargetCallback : public nvsg::Callback
00340   {
00341     public:
00345       NVSG_API explicit LinkGroupToSpotLightAsTargetCallback( const nvsg::SpotLightSharedPtr & spot );
00346
00347       NVSG_API ~LinkGroupToSpotLightAsTargetCallback();
00348
00356       NVSG_API virtual void operator()( const nvsg::Object * subject, const void * data ) const;
00357
00358       NVSG_API virtual void setSemaphore( const SpotLightUpdateSemaphoreSharedPtr & sem );
00359
00360       NVSG_API virtual unsigned int getClassID() const;
00361       NVSG_API virtual const char * getClassName() const;
00362
00363     private:
00364       // A pointer to this callback's cooresponding semaphore
00365       SpotLightUpdateSemaphoreSharedPtr m_sem;
00366   };
00367
00368   inline LinkGroupToSpotLightAsTargetCallback::LinkGroupToSpotLightAsTargetCallback( const nvsg::SpotLightSharedPtr & spot )
00369     : Callback( spot )
00370   {}
00371
00372   inline void LinkGroupToSpotLightAsTargetCallback::setSemaphore( const SpotLightUpdateSemaphoreSharedPtr & sem )
00373   {
00374     m_sem = sem;
00375   }
00376
00377   inline unsigned int LinkGroupToSpotLightAsTargetCallback::getClassID() const
00378   {
00379     return *(unsigned int *)"GTST"; // GroupToSpotLightTarget
00380   }
00381
00382   inline const char * LinkGroupToSpotLightAsTargetCallback::getClassName() const
00383   {
00384     return( "LinkGroupToSpotLightAsTargetCallback" );
00385   }
00386
00392   class LinkTransformToSpotLightAsPositionCallback : public nvsg::Callback
00393   {
00394     public:
00398       NVSG_API explicit LinkTransformToSpotLightAsPositionCallback( const nvsg::SpotLightSharedPtr & spot );
00399
00400       NVSG_API ~LinkTransformToSpotLightAsPositionCallback();
00401
00409       NVSG_API virtual void operator()( const nvsg::Object * subject, const void * data ) const;
00410
00411       NVSG_API virtual void setSemaphore( const SpotLightUpdateSemaphoreSharedPtr & sem );
00412
00413       NVSG_API virtual unsigned int getClassID() const;
00414       NVSG_API virtual const char * getClassName() const;
00415
00416     private:
00417       // A pointer to this callback's cooresponding semaphore
00418       SpotLightUpdateSemaphoreSharedPtr m_sem;
00419   };
00420
00421   inline LinkTransformToSpotLightAsPositionCallback::LinkTransformToSpotLightAsPositionCallback( const nvsg::SpotLightSharedPtr & spot )
00422     : Callback( spot )
00423   {}
00424
00425   inline void LinkTransformToSpotLightAsPositionCallback::setSemaphore( const SpotLightUpdateSemaphoreSharedPtr & sem )
00426   {
00427     m_sem = sem;
00428   }
00429
00430   inline unsigned int LinkTransformToSpotLightAsPositionCallback::getClassID() const
00431   {
00432     return *(unsigned int *)"TTSS"; // Transform To Spotlight State
00433   }
00434
00435   inline const char * LinkTransformToSpotLightAsPositionCallback::getClassName() const
00436   {
00437     return( "LinkTransformToSpotLightAsPositionCallback" );
00438   }
00439
00440 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BezierExtrapolationTraverser.h File Reference

inc / nvsg / nvtraverser

BezierExtrapolationTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StateSet.h"
#include "nvtraverser/Traverser.h"
#include "nvutil/SmartPtr.h"
#include <map>
#include <set>

Include dependency graph for BezierExtrapolationTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:04 2012 for SceniX


SceniX: BezierExtrapolationTraverser.h Source File

inc / nvsg / nvtraverser

BezierExtrapolationTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StateSet.h"
00017 #include "nvtraverser/Traverser.h"
00018 #include "nvutil/SmartPtr.h"
00019 #include <map>
00020 #include <set>
00021
00022 namespace nvtraverser
00023 {
00025
00036   class BezierExtrapolationTraverser : public ExclusiveTraverser
00037   {
00038     public:
00040       NVSG_API BezierExtrapolationTraverser(void);
00041
00046       NVSG_API void setTessellationCgFxs( const nvsg::CgFxSharedPtr & triPatchesCgFx
00047                                         , const nvsg::CgFxSharedPtr & quadPatchesCgFx );
00048
00049     protected:
00051       NVSG_API virtual ~BezierExtrapolationTraverser(void);
00052
00054
00056       NVSG_API virtual void postApply( const nvsg::NodeSharedPtr & root );
00057
00059       NVSG_API virtual void handleGeoNode( nvsg::GeoNode *p );
00060
00062       NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00063
00065       NVSG_API virtual void handleQuads( nvsg::Quads *p );
00066
00068       NVSG_API virtual void handleTriangles( nvsg::Triangles *p );
00069
00071       NVSG_API virtual void handleAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * p );
00072
00074       NVSG_API virtual void handleSkin( nvsg::Skin * p );
00075
00076     private:
00077       nvsg::CgFxSharedPtr                   m_cgfxQuadPatches;
00078       nvsg::CgFxSharedPtr                   m_cgfxTriPatches;
00079       bool                                  m_containsComplexVAS;
00080       std::set<nvsg::GeoNodeWeakPtr>        m_handledGeoNodes;
00081       std::vector<nvsg::PrimitiveSharedPtr> m_primitives;
00082       std::vector<nvsg::QuadsSharedPtr>     m_quads;
00083       nvsg::StateSetReplacementMap          m_stateSetReplacementMap;
00084       std::vector<nvsg::TrianglesSharedPtr> m_triangles;
00085   };
00086 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BezierInterpolationTraverser.h File Reference

inc / nvsg / nvtraverser

BezierInterpolationTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StateSet.h"
#include "nvtraverser/Traverser.h"
#include "nvutil/SmartPtr.h"
#include <map>
#include <set>

Include dependency graph for BezierInterpolationTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:05 2012 for SceniX


SceniX: BezierInterpolationTraverser.h Source File

inc / nvsg / nvtraverser

BezierInterpolationTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StateSet.h"
00017 #include "nvtraverser/Traverser.h"
00018 #include "nvutil/SmartPtr.h"
00019 #include <map>
00020 #include <set>
00021
00022 namespace nvtraverser
00023 {
00025
00034   class BezierInterpolationTraverser : public ExclusiveTraverser
00035   {
00036     public:
00038       NVSG_API BezierInterpolationTraverser(void);
00039
00044       NVSG_API void setTessellationCgFxs( const nvsg::CgFxSharedPtr & triPatchesCgFx
00045                                         , const nvsg::CgFxSharedPtr & quadPatchesCgFx );
00046
00047     protected:
00049       NVSG_API virtual ~BezierInterpolationTraverser(void);
00050
00052
00054       NVSG_API virtual void postApply( const nvsg::NodeSharedPtr & root );
00055
00057       NVSG_API virtual void handleGeoNode( nvsg::GeoNode *p );
00058
00060       NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00061
00063       NVSG_API virtual void handleStateSet( nvsg::StateSet * p );
00064
00066       NVSG_API virtual void handleAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * p );
00067
00069       NVSG_API virtual void handleSkin( nvsg::Skin * p );
00070
00073       NVSG_API virtual bool optimizationAllowed( const nvsg::Object *p );
00074
00075     private:
00076       nvsg::QuadPatches4x4SharedPtr createQuadPatches4x4FromPrimitive( nvsg::Primitive * p );
00077       nvsg::TriPatches4SharedPtr    createTriPatches4FromPrimitive( nvsg::Primitive * p );
00078
00079     private:
00080       nvsg::CgFxSharedPtr                                                         m_cgfxQuadPatches;
00081       nvsg::CgFxSharedPtr                                                         m_cgfxTriPatches;
00082       bool                                                                        m_containsComplexVAS;
00083       nvsg::StateSet                                                            * m_currentStateSet;
00084       std::vector<std::pair<nvsg::StateSetSharedPtr,nvsg::PrimitiveSharedPtr> >   m_patchesToAdd;
00085       std::map<nvsg::Primitive*,nvsg::QuadPatches4x4SharedPtr>                    m_primitivesToQuadPatches4x4;
00086       std::vector<nvsg::PrimitiveSharedPtr>                                       m_primitivesToRemove;
00087       std::map<nvsg::Primitive*,nvsg::TriPatches4SharedPtr>                       m_primitivesToTriPatches4;
00088       nvsg::StateSetReplacementMap                                                m_stateSetReplacementMap;
00089   };
00090 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Beziernt.h File Reference

inc / nvsg / nvmath

Beziernt.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnt.h"
#include "nvsg/Buffer.h"
#include "nvsg/IndexSet.h"

Include dependency graph for Beziernt.h:

Go to the source code of this file.

Namespaces

namespace | nvmath

Functions

template<typename T>
T | bezier (float alpha, unsigned int degree, const T *vertices)
Evaluate a bezier curve at parameter alpha.
template<typename T>
T | bezier (float alpha, const T &v0, const T &v1, const T &v2, const T &v3)
Evaluate a cubic bezier curve at parameter alpha.
template<typename T>
T | bezier (float alpha, const T &v0, const T &v1, const T &v2, const T &v3, T &d)
Cubic bezier interpolation with tangent. Evaluate a cubic bezier curve at parameter alpha, and also determine the tangent at that point.
template<typename T>
void | frenetFrame (float alpha, unsigned int degree, const T *vertices, T &tangent, T &normal, T &binormal)
Determine the frenet frame at a bezier curve at parameter alpha.
template<typename T>
void | subdivide (float alpha, unsigned int degree, const T *vertices, T *leftVertices, T *rightVertices)
Subdivide a bezier curve at a parameter alpha.

Detailed Description

Function Documentation

T bezier | ( | float | alpha,
 |  | unsigned int | degree,
 |  | const T * | vertices
 | ) | [inline]

Evaluate a bezier curve at parameter alpha.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a point on the curve between the end points.
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the degree + 1 control points of the bezier curve.
Returns:
The value of the bezier curve at parameter alpha.
See also:
frenetFrame, subdivide, BezierCurve

T bezier | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1,
 |  | const T & | v2,
 |  | const T & | v3
 | ) | [inline]

Evaluate a cubic bezier curve at parameter alpha.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a point on the curve between the end points.
v0 | The first of the four control points of a cubic bezier curve.
v1 | The second of the four control points of a cubic bezier curve.
v2 | The third of the four control points of a cubic bezier curve.
v3 | The fourth of the four control points of a cubic bezier curve.
Returns:
The value of the cubic bezier curve at parameter alpha.

T bezier | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1,
 |  | const T & | v2,
 |  | const T & | v3,
 |  | T & | d
 | ) | [inline]

Cubic bezier interpolation with tangent. Evaluate a cubic bezier curve at parameter alpha, and also determine the tangent at that point.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a point on the curve between the end points.
v0 | The first of the four control points of a cubic bezier curve.
v1 | The second of the four control points of a cubic bezier curve.
v2 | The third of the four control points of a cubic bezier curve.
v3 | The fourth of the four control points of a cubic bezier curve.
d | A reference to the point to get the tangent at the evaluated point.
Returns:
The value of the cubic bezier curve at parameter alpha.

void frenetFrame | ( | float | alpha,
 |  | unsigned int | degree,
 |  | const T * | vertices,
 |  | T & | tangent,
 |  | T & | normal,
 |  | T & | binormal
 | ) |

Determine the frenet frame at a bezier curve at parameter alpha.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a frenet frame on the curve between the end points.
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the degree + 1 control points of the bezier curve.
tangent | A reference to the value to get the tangent at the specified point of the curve.
normal | A reference to the value to get the normal at the specified point of the curve.
binormal | A reference to the value to get the binormal at the specified point of the curve.
Note:
The triple tangent/normal/binormal at a point of a curve is called Frenet frame. The tangent in the vector pointing along the first derivation of the curve. The binormal is orthogonal to the first and second derivative. That is, the normal is in the plane of the osculating circle to the curve at that point (the circle that has second-order contact with the curve at alpha).
See also:
bezier, subdivide, BezierCurve

void subdivide | ( | float | alpha,
 |  | unsigned int | degree,
 |  | const T * | vertices,
 |  | T * | leftVertices,
 |  | T * | rightVertices
 | ) | [inline]

Subdivide a bezier curve at a parameter alpha.

Parameters:
alpha | The parameter to subdivide at. It has to be in the interval [0,1].
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the degree + 1 control points of the input bezier curve.
leftVertices | A pointer space to hold degree + 1 control points of the left sub-curve.
rightVertices | A pointer to space to hold degree + 1 control points of the right sub-curve.
See also:
bezier, subdivide, BezierCurve

Generated on Fri Jul 13 13:27:06 2012 for SceniX


SceniX: Beziernt.h Source File

inc / nvsg / nvmath

Beziernt.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Vecnt.h"
00017 #include "nvsg/Buffer.h"
00018 #include "nvsg/IndexSet.h"
00019
00020 namespace nvmath
00021 {
00029   template<typename T> T    bezier( float alpha, unsigned int degree, const T * vertices );
00030
00039   template<typename T> T    bezier( float alpha, const T & v0, const T & v1, const T & v2, const T & v3 );
00040
00042
00051   template<typename T> T    bezier( float alpha, const T & v0, const T & v1, const T & v2, const T & v3, T & d );
00052
00066   template<typename T> void frenetFrame( float alpha, unsigned int degree, const T * vertices
00067                                        , T & tangent, T & normal, T & binormal );
00068
00076   template<typename T> void subdivide( float alpha, unsigned int degree, const T * vertices
00077                                      , T * leftVertices, T * rightVertices );
00078
00082   template<typename T>
00083   class BezierCurve
00084   {
00085     public:
00091       BezierCurve( unsigned int degree, const T * vertices );
00092
00099       BezierCurve( unsigned int degree, const T * vertices, const nvsg::IndexSet::ConstIterator<unsigned int>&  indices );
00100
00104       unsigned int  degree() const;
00105
00108       BezierCurve derivative() const;
00109
00115       T             evaluate( float t );
00116
00122       void          evaluateStrip( unsigned int count, T * results );
00123
00128       const T &     operator[]( unsigned int index ) const;
00129
00130     private:
00131       std::vector<T>  m_vertices;
00132   };
00133
00138   template<typename T>
00139   class BezierRect
00140   {
00141     public:
00155       BezierRect( unsigned int degreeU, unsigned int degreeV, typename nvsg::Buffer::ConstIterator<T>::Type vertices,
00156                   const nvsg::IndexSet::ConstIterator<unsigned int> & indices );
00157
00163       T             evaluate( float u, float v );
00164
00175       void          evaluateMesh( unsigned int width, unsigned int height, T * results );
00176
00177     private:
00178       unsigned int    m_degreeU;
00179       unsigned int    m_degreeV;
00180       std::vector<T>  m_vertices;
00181   };
00182
00187   //  Bezier triangle with linear array of vertices. For degree 3, for general degree d,
00188   //  for example, the linear array of vertices has to be in the following manner:
00189   //  B300 <-> vertices[0]  (u==1)        Bd00 <-> vertices[0]                  (u==1)
00190   //  B030 <-> vertices[3]  (v==1)        B0d0 <-> vertices[d]                  (v==1)
00191   //  B003 <-> vertices[9]  (w==1)        B00d <-> vertices[((d+1)*(d+2))/2-1]  (w==1)
00192   template<typename T>
00193   class BezierTriangle
00194   {
00195     public:
00207       BezierTriangle( unsigned int degree, typename nvsg::Buffer::ConstIterator<T>::Type vertices,
00208                       const nvsg::IndexSet::ConstIterator<unsigned int> & indices );
00209
00216       T     evaluate( float u, float v );
00217
00227       void  evaluateMesh( unsigned int size, T * results );
00228
00229     private:
00230       unsigned int    m_degree;
00231       std::vector<T>  m_vertices;
00232   };
00233
00234
00235   template<typename T>
00236   inline T bezier( float alpha, const T & v0, const T & v1, const T & v2, const T & v3 )
00237   {
00238     T b0 = lerp( alpha, v0, v1 );
00239     T b1 = lerp( alpha, v1, v2 );
00240     T b2 = lerp( alpha, v2, v3 );
00241
00242     b0 = lerp( alpha, b0, b1 );
00243     b1 = lerp( alpha, b1, b2 );
00244
00245     return( lerp( alpha, b0, b1 ) );
00246   }
00247
00248   template<typename T>
00249   inline T bezier( float alpha, const T & v0, const T & v1, const T & v2, const T & v3, T & d )
00250   {
00251     T b0 = lerp( alpha, v0, v1 );
00252     T b1 = lerp( alpha, v1, v2 );
00253     T b2 = lerp( alpha, v2, v3 );
00254
00255     b0 = lerp( alpha, b0, b1 );
00256     b1 = lerp( alpha, b1, b2 );
00257
00258     d = b1 - b0;
00259     d.normalize();
00260
00261     return( lerp( alpha, b0, b1 ) );
00262   }
00263
00264   template<typename T>
00265   inline T bezier( float alpha, unsigned int degree, const T * vertices )
00266   {
00267     NVSG_ASSERT( 0 < degree );
00268     std::vector<T> tmp(degree);
00269     for ( unsigned int i=0 ; i<degree ; i++ )
00270     {
00271       tmp[i] = lerp( alpha, vertices[i], vertices[i+1] );
00272     }
00273     for ( unsigned int j=1 ; j<degree ; j++ )
00274     {
00275       for ( unsigned int i=0 ; i<degree-j ; i++ )
00276       {
00277         tmp[i] = lerp( alpha, tmp[i], tmp[i+1] );
00278       }
00279     }
00280     return( tmp[0] );
00281   }
00282
00283   template<typename T> void frenetFrame( float alpha, unsigned int degree, const T * vertices
00284                                        , T & tangent, T & normal, T & binormal )
00285   {
00286     NVSG_ASSERT( 1 < degree );
00287     std::vector<T> tmp(vertices,vertices+degree+1);
00288     for ( unsigned int j=0 ; j<degree-2 ; j++ )
00289     {
00290       for ( unsigned int i=0 ; i<degree-j ; i++ )
00291       {
00292         tmp[i] = lerp( alpha, tmp[i], tmp[i+1] );
00293       }
00294     }
00295     Vec3f secondDerivative = tmp[2] - 2 * tmp[1] + tmp[0];
00296     tangent = lerp( alpha, tmp[1], tmp[2] ) - lerp( alpha, tmp[0], tmp[1] );  // first derivative
00297     tangent.normalize();
00298     binormal = tangent ^ secondDerivative;
00299     binormal.normalize();
00300     normal = binormal ^ tangent;
00301   }
00302
00303   template<typename T>
00304   inline void subdivide( float alpha, unsigned int degree, const T * vertices, T * leftVertices, T * rightVertices )
00305   {
00306     NVSG_PRIVATE_ASSERT( false );   // never passed this path
00307     NVSG_ASSERT( ( T(0) <= alpha ) && ( alpha <= T(1) ) );
00308     NVSG_ASSERT( 0 < degree );
00309
00310     leftVertices[0] = vertices[0];
00311     rightVertices[degree] = vertices[degree];
00312     for ( unsigned int i=0 ; i<degree ; i++ )
00313     {
00314       rightVertices[i] = lerp( alpha, vertices[i], vertices[i+1] );
00315     }
00316     for ( unsigned int j=1 ; j<degree ; j++ )
00317     {
00318       leftVertices[j] = rightVertices[0];
00319       for ( unsigned int i=0 ; i<degree-j ; i++ )
00320       {
00321         rightVertices[i] = lerp( alpha, rightVertices[i], rightVertices[i+1] );
00322       }
00323     }
00324   }
00325
00326
00327   template<typename T>
00328   inline BezierCurve<T>::BezierCurve( unsigned int degree, const T * vertices )
00329     : m_vertices(degree+1)
00330   {
00331     NVSG_ASSERT( vertices );
00332     for ( unsigned int i=0 ; i<=degree ; i++ )
00333     {
00334       m_vertices[i] = vertices[i];
00335     }
00336   }
00337
00338   template<typename T>
00339   inline BezierCurve<T>::BezierCurve( unsigned int degree, const T * vertices,
00340                                       const nvsg::IndexSet::ConstIterator<unsigned int> & indices )
00341     : m_vertices(degree+1)
00342   {
00343     NVSG_ASSERT( vertices );
00344     NVSG_PRIVATE_ASSERT( false );   // never passed this path
00345     for ( unsigned int i=0 ; i<=degree ; i++ )
00346     {
00347       m_vertices[i] = vertices[indices[i]];
00348     }
00349   }
00350
00351   template<typename T>
00352   inline unsigned int BezierCurve<T>::degree() const
00353   {
00354     return( checked_cast<unsigned int>(m_vertices.size()-1) );
00355   }
00356
00357   template<typename T>
00358   inline BezierCurve<T> BezierCurve<T>::derivative() const
00359   {
00360     unsigned int deg = degree();
00361     std::vector<T> degVertices( deg );
00362     for ( unsigned int i=0 ; i<deg ; i++ )
00363     {
00364       degVertices[i] = deg * ( m_vertices[i+1] - m_vertices[i] );
00365     }
00366     return( BezierCurve<T>( deg-1, &degVertices[0] ) );
00367   }
00368
00369   template<typename T>
00370   inline T BezierCurve<T>::evaluate( float t )
00371   {
00372     NVSG_PRIVATE_ASSERT( false );   // never passed this path
00373     return( bezier( t, degree(), &m_vertices[0] ) );
00374   }
00375
00376   template<typename T>
00377   inline void BezierCurve<T>::evaluateStrip( unsigned int size, T * results )
00378   {
00379     NVSG_PRIVATE_ASSERT( false );   // never passed this path
00380     NVSG_ASSERT( 1 < size );
00381
00382     results[0] = m_vertices[0];
00383     results[size-1] = m_vertices[degree()];
00384
00385     float stepSize = 1.0f / ( size - 1 );
00386     float t = stepSize;
00387     for ( unsigned int i=1 ; i<size-1 ; i++, t+=stepSize )
00388     {
00389       results[i] = bezier( t, degree(), &m_vertices[0] );
00390     }
00391   }
00392
00393   template<typename T>
00394   inline const T & BezierCurve<T>::operator[]( unsigned int index ) const
00395   {
00396     NVSG_ASSERT( index < m_vertices.size() );
00397     return( m_vertices[index] );
00398   }
00399
00400
00401   template<typename T>
00402   inline BezierRect<T>::BezierRect( unsigned int degreeU, unsigned int degreeV, typename nvsg::Buffer::ConstIterator<T>::Type vertices
00403                                   , const nvsg::IndexSet::ConstIterator<unsigned int>& indices )
00404     : m_degreeU(degreeU)
00405     , m_degreeV(degreeV)
00406     , m_vertices((degreeU+1)*(degreeV+1))
00407   {
00408     for ( size_t i=0 ; i<m_vertices.size() ; i++ )
00409     {
00410       m_vertices[i] = vertices[indices[i]];
00411     }
00412   }
00413
00414   template<typename T>
00415   inline T BezierRect<T>::evaluate( float u, float v )
00416   {
00417     std::vector<T> tmp(m_degreeV+1);
00418     for ( unsigned int i=0, idx=0 ; i<=m_degreeV ; i++, idx+=m_degreeU+1 )
00419     {
00420       tmp[i] = bezier( u, m_degreeU, &m_vertices[idx] );
00421     }
00422     return( bezier( v, m_degreeV, &tmp[0] ) );
00423   }
00424
00425   template<typename T>
00426   inline void BezierRect<T>::evaluateMesh( unsigned int width, unsigned int height, T * results )
00427   {
00428     NVSG_ASSERT( ( 1 < width ) && ( 1 < height ) );
00429
00430     unsigned int meshNumberOfVertices = width * height;
00431
00432     //  copy corner vertices to mesh
00433     results[0] = m_vertices[0];
00434     results[width-1] = m_vertices[m_degreeU];
00435     results[meshNumberOfVertices-width] = m_vertices[m_vertices.size()-1-m_degreeU];
00436     results[meshNumberOfVertices-1] = m_vertices[m_vertices.size()-1];
00437
00438     float uStepSize = 1.0f / ( width - 1 );
00439     float vStepSize = 1.0f / ( height - 1 );
00440
00441     //  calculate inner edge vertices, first on u-edges (v == 0.0 or v == 1.0)
00442     float u = uStepSize;
00443     for ( unsigned int i=1, j=meshNumberOfVertices-width+1 ; i<width-1 ; i++, j++, u+=uStepSize )
00444     {
00445       results[i] = bezier( u, m_degreeU, &m_vertices[0] );
00446       results[j] = bezier( u, m_degreeU, &m_vertices[m_vertices.size()-1-m_degreeU] );
00447     }
00448     // then on v-edges (u == 0.0 or u == 1.0) -> need to copy the edges in arrays
00449     std::vector<T> leftVertices( m_degreeV+1 );
00450     std::vector<T> rightVertices( m_degreeV+1 );
00451     for ( unsigned int i=0, j=0 ; i<=m_degreeV ; i++, j+=m_degreeU+1 )
00452     {
00453       leftVertices[i] = m_vertices[j];
00454       rightVertices[i] = m_vertices[j+m_degreeU];
00455     }
00456     float v = vStepSize;
00457     for ( unsigned int i=1, j=width ; i<height-1 ; i++, j+=width, v+=vStepSize )
00458     {
00459       results[j] = bezier( v, m_degreeV, &leftVertices[0] );
00460       results[j+width-1] = bezier( v, m_degreeV, &rightVertices[0] );
00461     }
00462
00463     //  calculate inner vertices
00464     v = vStepSize;
00465     for ( unsigned int i=1, idx=width+1 ; i<width-1 ; i++, idx+=2, v+=vStepSize )
00466     {
00467       u = uStepSize;
00468       for ( unsigned int j=1 ; j<height-1 ; j++, idx++, u+=uStepSize )
00469       {
00470         results[idx] = evaluate( u, v );
00471       }
00472     }
00473   }
00474
00475
00476   template<typename T>
00477   inline BezierTriangle<T>::BezierTriangle( unsigned int degree, typename nvsg::Buffer::ConstIterator<T>::Type vertices,
00478                                             const nvsg::IndexSet::ConstIterator<unsigned int>& indices )
00479     : m_degree(degree)
00480     , m_vertices(((degree+1)*(degree+2))/2)
00481   {
00482     for ( size_t i=0 ; i<m_vertices.size() ; i++ )
00483     {
00484       m_vertices[i] = vertices[indices[i]];
00485     }
00486   }
00487
00488   template<typename T>
00489   inline T BezierTriangle<T>::evaluate( float u, float v )
00490   {
00491     std::vector<T> b(m_vertices);
00492
00493     float w = 1.0f - u - v;
00494
00495     for ( unsigned int k=0 ; k<m_degree ; k++ )
00496     {
00497       unsigned int idx = 0;
00498       unsigned int off = 0;
00499       for ( unsigned int j=0 ; j<m_degree-k ; j++ )
00500       {
00501         for ( unsigned int i=0 ; i<m_degree-k-j ; i++ )
00502         {
00503           b[idx++] = u * b[off+i] + v * b[off+i+1] + w * b[off+i+1+m_degree-k-j];
00504         }
00505         off += m_degree - k - j + 1;
00506       }
00507     }
00508
00509     return( b[0] );
00510   }
00511
00512   template<typename T>
00513   inline void BezierTriangle<T>::evaluateMesh( unsigned int size, T * results )
00514   {
00515     NVSG_ASSERT( 1 < size );
00516
00517     unsigned int meshNumberOfVertices = ( size * ( size + 1 ) ) / 2;
00518
00519     //  copy corner vertices to mesh
00520     results[0] = m_vertices[0];
00521     results[size-1] = m_vertices[m_degree];
00522     results[meshNumberOfVertices-1] = m_vertices[m_vertices.size()-1];
00523
00524     float stepSize = 1.0f / ( size - 1 );
00525
00526     //  calculate inner edge vertices
00527     float u = ( size - 2 ) * stepSize;
00528     for ( unsigned int i=1, idx=size ; i<size-1 ; i++, u-=stepSize )
00529     {
00530       results[i]              = evaluate( u, 1 - u ); // bottom edge
00531       results[idx]            = evaluate( u, 0.0f );  // left edge
00532       results[idx+m_degree-i] = evaluate( 0.0f, u );  // right edge
00533       idx += size - i;
00534     }
00535
00536     //  calculate inner vertices
00537     for ( unsigned int j=1, idx=size+1 ; j<size-2 ; j++, idx+=2 )
00538     {
00539       float u = ( size - 2 - j ) * stepSize;
00540       float v = stepSize;
00541       for ( unsigned int i=1 ; i<size-1-j ; i++, u-=stepSize, v+=stepSize, idx++ )
00542       {
00543         results[idx] = evaluate( u, v );
00544       }
00545     }
00546   }
00547
00548 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Billboard.h File Reference

inc / nvsg / nvsg

Billboard.h File Reference

#include "nvmath/Trafo.h"
#include "nvsg/Group.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Billboard.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:06 2012 for SceniX


SceniX: Billboard.h Source File

inc / nvsg / nvsg

Billboard.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvmath/Trafo.h"
00016 #include "nvsg/Group.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00027   class Billboard : public Group
00028   {
00029     public:
00030       NVSG_API static BillboardSharedPtr create();
00031
00032     public:
00034       enum Alignment
00035       {
00036         BA_AXIS,
00037         BA_VIEWER,
00038         BA_SCREEN
00039       };
00040
00041     public:
00048       NVSG_API nvmath::Trafo getTrafo( const Camera & cam, const nvmath::Mat44f & worldToModel ) const;
00049
00053       NVSG_API Alignment getAlignment() const;
00054
00058       NVSG_API void setAlignment( Alignment ba );
00059
00067       NVSG_API const nvmath::Vec3f & getRotationAxis() const;
00068
00076       NVSG_API void setRotationAxis( const nvmath::Vec3f &axis );
00077
00084       NVSG_API Billboard & operator=( const Billboard & rhs );
00085
00096       NVSG_API virtual bool isEquivalent( const Object *p
00097                                         , bool ignoreNames
00098                                         , bool deepCompare ) const;
00099
00100       // reflected properties
00101     public:
00102       REFLECTION_INFO_API( NVSG_API, Billboard );
00103
00104       BEGIN_DECLARE_STATIC_PROPERTIES
00105           NVSG_API DECLARE_STATIC_PROPERTY( Alignment );
00106           NVSG_API DECLARE_STATIC_PROPERTY( RotationAxis );
00107       END_DECLARE_STATIC_PROPERTIES
00108
00109     protected:
00110       friend struct nvutil::Holder<Billboard>;
00111
00115       NVSG_API Billboard();
00116
00119       NVSG_API Billboard( const Billboard &rhs );
00120
00122       NVSG_API virtual ~Billboard();
00123
00127       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00128
00129     private:
00130       void getTrafoAxisAligned( const Camera & camera, const nvmath::Mat44f & worldToModel, nvmath::Trafo & trafo ) const;
00131       void getTrafoScreenAligned( const Camera & camera, const nvmath::Mat44f & worldToModel, nvmath::Trafo & trafo ) const;
00132       void getTrafoViewerAligned( const Camera & camera, const nvmath::Mat44f & worldToModel, nvmath::Trafo & trafo ) const;
00133
00134     private:
00135       Alignment     m_alignment;
00136       nvmath::Vec3f m_rotationAxis;
00137       bool          m_viewerAligned;
00138   };
00139
00140   inline const nvmath::Vec3f & Billboard::getRotationAxis() const
00141   {
00142     NVSG_TRACE();
00143     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00144     return( m_rotationAxis );
00145   }
00146
00147   inline Billboard::Alignment Billboard::getAlignment() const
00148   {
00149     NVSG_TRACE();
00150     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00151     return( m_alignment );
00152   }
00153
00154   inline void Billboard::setRotationAxis( const nvmath::Vec3f &rotationAxis )
00155   {
00156     NVSG_TRACE();
00157     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00158     if ( m_rotationAxis != rotationAxis )
00159     {
00160       m_rotationAxis = rotationAxis;
00161       notifyChange( this );
00162       notify( PID_RotationAxis );
00163     }
00164   }
00165
00166   inline void Billboard::setAlignment( Alignment ba )
00167   {
00168     NVSG_TRACE();
00169     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00170     if ( m_alignment != ba )
00171     {
00172       m_alignment = ba;
00173       notifyChange( this );
00174       notify( PID_Alignment );
00175     }
00176   }
00177 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BitMask.h File Reference

inc / nvsg / nvutil

BitMask.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Typedefs

typedef unsigned long | bitset32
typedef unsigned long long | bitset64

Detailed Description

Generated on Fri Jul 13 13:27:07 2012 for SceniX


SceniX: BitMask.h Source File

inc / nvsg / nvutil

BitMask.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 namespace nvutil
00016 {
00017
00018 typedef unsigned long bitset32;
00019 typedef unsigned long long bitset64;
00020
00022 template <int n>
00023 class Bit
00024 {
00025 public:
00026   enum { mask = 1<<n };
00027 };
00028
00029 //  Don't need to document these tiny little helper defines !!!
00030 #if ! defined( DOXYGEN_IGNORE )
00031
00032 #define BIT(n) nvutil::Bit<n>::mask
00033 #define BIT64(n) ((nvutil::bitset64)nvutil::Bit<0>::mask << (n))
00034
00035 #define BIT0  BIT(0)
00036 #define BIT1  BIT(1)
00037 #define BIT2  BIT(2)
00038 #define BIT3  BIT(3)
00039 #define BIT4  BIT(4)
00040 #define BIT5  BIT(5)
00041 #define BIT6  BIT(6)
00042 #define BIT7  BIT(7)
00043 #define BIT8  BIT(8)
00044 #define BIT9  BIT(9)
00045 #define BIT10 BIT(10)
00046 #define BIT11 BIT(11)
00047 #define BIT12 BIT(12)
00048 #define BIT13 BIT(13)
00049 #define BIT14 BIT(14)
00050 #define BIT15 BIT(15)
00051 #define BIT16 BIT(16)
00052 #define BIT17 BIT(17)
00053 #define BIT18 BIT(18)
00054 #define BIT19 BIT(19)
00055 #define BIT20 BIT(20)
00056 #define BIT21 BIT(21)
00057 #define BIT22 BIT(22)
00058 #define BIT23 BIT(23)
00059 #define BIT24 BIT(24)
00060 #define BIT25 BIT(25)
00061 #define BIT26 BIT(26)
00062 #define BIT27 BIT(27)
00063 #define BIT28 BIT(28)
00064 #define BIT29 BIT(29)
00065 #define BIT30 BIT(30)
00066 #define BIT31 BIT(31)
00067
00068 #define BIT32 BIT64(32)
00069 #define BIT33 BIT64(33)
00070 #define BIT34 BIT64(34)
00071 #define BIT35 BIT64(35)
00072 #define BIT36 BIT64(36)
00073 #define BIT37 BIT64(37)
00074 #define BIT38 BIT64(38)
00075 #define BIT39 BIT64(39)
00076 #define BIT40 BIT64(40)
00077 #define BIT41 BIT64(41)
00078 #define BIT42 BIT64(42)
00079 #define BIT43 BIT64(43)
00080 #define BIT44 BIT64(44)
00081 #define BIT45 BIT64(45)
00082 #define BIT46 BIT64(46)
00083 #define BIT47 BIT64(47)
00084 #define BIT48 BIT64(48)
00085 #define BIT49 BIT64(49)
00086 #define BIT50 BIT64(50)
00087 #define BIT51 BIT64(51)
00088 #define BIT52 BIT64(52)
00089 #define BIT53 BIT64(53)
00090 #define BIT54 BIT64(54)
00091 #define BIT55 BIT64(55)
00092 #define BIT56 BIT64(56)
00093 #define BIT57 BIT64(57)
00094 #define BIT58 BIT64(58)
00095 #define BIT59 BIT64(59)
00096 #define BIT60 BIT64(60)
00097 #define BIT61 BIT64(61)
00098 #define BIT62 BIT64(62)
00099 #define BIT63 BIT64(63)
00100
00101 #endif  //  DOXYGEN_IGNORE
00102
00103 } // namespace nvutil
00104
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BlendAttribute.h File Reference

inc / nvsg / nvsg

BlendAttribute.h File Reference

#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for BlendAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Enumerations

enum BlendFunction {
BF_ZERO, BF_ONE, BF_DESTINATION_COLOR, BF_SOURCE_COLOR,
BF_ONE_MINUS_DESTINATION_COLOR, BF_ONE_MINUS_SOURCE_COLOR, BF_SOURCE_ALPHA, BF_ONE_MINUS_SOURCE_ALPHA,
BF_DESTINATION_ALPHA, BF_ONE_MINUS_DESTINATION_ALPHA, BF_SOURCE_ALPHA_SATURATE
}
Enumeration to identify a blend function. More...

Detailed Description

Enumeration Type Documentation

enum BlendFunction

Enumeration to identify a blend function.

Namespace: nvsg
Remarks:
A BlendFunction indicates how a blending function is to be computed. In the description of the possible values, source and destination are indicated with the suffix s and d, respectively. Subtraction of quadruplets means subtracting them component-wise.
See also:
BlendAttribute
Enumeration values:
BF_ZERO | (0,0,0,0); available for source and destination
BF_ONE | (1,1,1,1); available for source and destination
BF_DESTINATION_COLOR | (Rd,Gd,Bd,Ad); available for source only
BF_SOURCE_COLOR | (Rs,Gs,Bs,As); available for destination only
BF_ONE_MINUS_DESTINATION_COLOR | (1,1,1,1)-(Rd,Gd,Bd,Ad); available for source only
BF_ONE_MINUS_SOURCE_COLOR | (1,1,1,1)-(Rs,Gs,Bs,As); available for destination only
BF_SOURCE_ALPHA | (As,As,As,As); available for source and destination
BF_ONE_MINUS_SOURCE_ALPHA | (1,1,1,1)-(As,As,As,As); available for source and destination
BF_DESTINATION_ALPHA | (Ad,Ad,Ad,Ad); available for source and destination
BF_ONE_MINUS_DESTINATION_ALPHA | (1,1,1,1)-(Ad,Ad,Ad,Ad); available for source and destination
BF_SOURCE_ALPHA_SATURATE | (f,f,f,1) with f=min(As,1-Ad); available for source only

Generated on Fri Jul 13 13:27:07 2012 for SceniX


SceniX: BlendAttribute.h Source File

inc / nvsg / nvsg

BlendAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/StateAttribute.h"
00016 #include "nvutil/HashGenerator.h"
00017
00018 namespace nvsg
00019 {
00026   typedef enum
00027   {
00028     BF_ZERO
00029   , BF_ONE
00030   , BF_DESTINATION_COLOR
00031   , BF_SOURCE_COLOR
00032   , BF_ONE_MINUS_DESTINATION_COLOR
00033   , BF_ONE_MINUS_SOURCE_COLOR
00034   , BF_SOURCE_ALPHA
00035   , BF_ONE_MINUS_SOURCE_ALPHA
00036   , BF_DESTINATION_ALPHA
00037   , BF_ONE_MINUS_DESTINATION_ALPHA
00038   , BF_SOURCE_ALPHA_SATURATE
00039   } BlendFunction;
00040
00048   class BlendAttribute : public StateAttribute
00049   {
00050     public:
00051       NVSG_API static BlendAttributeSharedPtr create();
00052
00053     public:
00062       NVSG_API void setBlendFunctions( BlendFunction sourceFunction
00063                                      , BlendFunction destinationFunction
00064                                      );
00065
00069       NVSG_API BlendFunction getSourceFunction() const;
00070
00074       NVSG_API BlendFunction getDestinationFunction() const;
00075
00085       NVSG_API virtual bool isEquivalent( const Object *p
00086                                         , bool ignoreNames
00087                                         , bool deepCompare ) const;
00088
00095       NVSG_API BlendAttribute & operator=(const BlendAttribute & rhs);
00096
00097       REFLECTION_INFO_API( NVSG_API, BlendAttribute );
00098     protected:
00099       friend struct nvutil::Holder<BlendAttribute>;
00100
00104       NVSG_API BlendAttribute();
00105
00108       NVSG_API BlendAttribute( const BlendAttribute &rhs );
00109
00111       NVSG_API virtual ~BlendAttribute();
00112
00119       NVSG_API virtual bool determineTransparencyContainment() const;
00120
00124       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00125
00126     private:
00127       BlendFunction  m_sourceFunction;
00128       BlendFunction  m_destinationFunction;
00129   };
00130
00131   inline BlendFunction BlendAttribute::getSourceFunction() const
00132   {
00133     return( m_sourceFunction );
00134   }
00135
00136   inline BlendFunction BlendAttribute::getDestinationFunction() const
00137   {
00138     return( m_destinationFunction );
00139   }
00140
00141 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Boxnt.h File Reference

inc / nvsg / nvmath

Boxnt.h File Reference

#include "Vecnt.h"
#include <limits>

Include dependency graph for Boxnt.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Typedefs

typedef Boxnt< 2, float > | Box2f
typedef Boxnt< 3, float > | Box3f
typedef Boxnt< 4, float > | Box4f
typedef Boxnt< 2, double > | Box2d
typedef Boxnt< 3, double > | Box3d
typedef Boxnt< 4, double > | Box4d

Functions

template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Vecnt< n, T > *points, unsigned int numberOfPoints)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Boxnt< n, T > | boundingBox (RandomAccessIterator points, unsigned int numberOfPoints)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Vecnt< n, T > *points, const unsigned int *indices, unsigned int numberOfIndices)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Boxnt< n, T > | boundingBox (RandomAccessIterator points, const unsigned int *indices, unsigned int numberOfIndices)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Vecnt< n, T > *points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Instantiates an axis-aligned bounding box from a set indexed triangle strips.
template<unsigned int n, typename T, typename RandomAccessIterator>
Boxnt< n, T > | boundingBox (RandomAccessIterator points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Instantiates an axis-aligned bounding box from a set indexed triangle strips.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Boxnt< n, T > &b0, const Boxnt< n, T > &b1)
Instantiates an axis-aligned bounding box as the union of two boxes.
template<unsigned int n, typename T>
bool | isValid (const Boxnt< n, T > &b)
Determine if a box is valid.
template<unsigned int n, typename T>
bool | isPositive (const Boxnt< n, T > &b)
Determine if a box is positive.
template<unsigned int n, typename T>
bool | operator== (const Boxnt< n, T > &lhs, const Boxnt< n, T > &rhs)
Compares two bounding boxes.
template<unsigned int n, typename T>
bool | operator!= (const Boxnt< n, T > &lhs, const Boxnt< n, T > &rhs)
Compares two bounding boxes.

Detailed Description

Function Documentation

Boxnt< n, T > boundingBox | ( | const Vecnt< n, T > * | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Start address of input points.
numberOfPoints | Number of input points.
Returns:
Returns the bounding box calculated from the input points.

Boxnt< n, T > boundingBox | ( | RandomAccessIterator | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Random access iterator of input points.
numberOfPoints | Number of input points.
Returns:
Returns the bounding box calculated from the input points.

Boxnt< n, T > boundingBox | ( | const Vecnt< n, T > * | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Start address of input points.
indices | Start address of indices referencing the input points.
numberOfIndices | Number of indices.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | RandomAccessIterator | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Random access iterator of input points.
indices | Start address of indices referencing the input points.
numberOfIndices | Number of indices.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | const Vecnt< n, T > * | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set indexed triangle strips.

Parameters:
points | Start address of input points.
indices | Pointer to array of vectors of indices. Each vector contains one strip.
numberOfStrips | Number of strips.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | RandomAccessIterator | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set indexed triangle strips.

Parameters:
points | Random access iterator of input points.
indices | Pointer to array of vectors of indices. Each vector contains one strip.
numberOfStrips | Number of strips.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | const Boxnt< n, T > & | b0,
 |  | const Boxnt< n, T > & | b1
 | ) | [inline]

Instantiates an axis-aligned bounding box as the union of two boxes.

Parameters:
b0 | Specifies the first bounding box.
b1 | Specifies the second bounding box.
Returns:
Returns the bounding box calculated as the union of b0 and b1.

bool isValid ( const Boxnt< n, T > & b ) [inline]

Determine if a box is valid.

Parameters:
s b reference to a constant box.
Returns:
true, if b is valid, otherwise false.
Remarks:
A box is considered to be valid, if none of its dimensions is negative.

bool isPositive ( const Boxnt< n, T > & b ) [inline]

Determine if a box is positive.

Parameters:
s A reference to a constant box.
Returns:
true, if b is positive, otherwise false.
Remarks:
A box is considered to be positive, if all its dimensions are positive.

bool operator== | ( | const Boxnt< n, T > & | lhs,
 |  | const Boxnt< n, T > & | rhs
 | ) | [inline]

Compares two bounding boxes.

Parameters:
lhs | Specifies the left-hand bounding box.
rhs | Specifies the right-hand bounding box.
Returns:
The function returns true if both bounding boxes are equal.

bool operator!= | ( | const Boxnt< n, T > & | lhs,
 |  | const Boxnt< n, T > & | rhs
 | ) | [inline]

Compares two bounding boxes.

Parameters:
lhs | Specifies the left-hand bounding box.
rhs | Specifies the right-hand bounding box.
Returns:
The function returns true if both bounding boxes differ.

Generated on Fri Jul 13 13:27:08 2012 for SceniX


SceniX: Boxnt.h Source File

inc / nvsg / nvmath

Boxnt.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "Vecnt.h"
00016 #include <limits>
00017
00018 namespace nvmath
00019 {
00026   template<unsigned int n, typename T>
00027   class Boxnt
00028   {
00029   public:
00032     Boxnt();
00033
00037     Boxnt(const Boxnt& rhs);
00038
00042     Boxnt(const Vecnt<n,T>& p0, const Vecnt<n,T>& p1);
00043
00046     const Vecnt<n,T>& getLower() const;
00047
00050     const Vecnt<n,T>& getUpper() const;
00051
00054     Vecnt<n,T> getSize() const;
00055
00058     Vecnt<n,T> getCenter() const;
00059
00064     void update(const Vecnt<n,T>& point);
00065
00066   private:
00067
00068     void init(); // initially empties the box
00069
00070     Vecnt<n,T>    m_lower; // lower edge of the box
00071     Vecnt<n,T>    m_upper; // upper edge of the box
00072   };
00073
00074   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00075   // non-member functions
00076   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00081   template<unsigned int n, typename T>
00082   Boxnt<n,T> boundingBox(const Vecnt<n,T> * points, unsigned int numberOfPoints);
00083
00088   template<unsigned int n, typename T, typename RandomAccessIterator>
00089   Boxnt<n,T> boundingBox(RandomAccessIterator points, unsigned int numberOfPoints);
00090
00097   template<unsigned int n, typename T>
00098   Boxnt<n,T> boundingBox(const Vecnt<n,T> * points, const unsigned int * indices,
00099                          unsigned int numberOfIndices);
00100
00107   template<unsigned int n, typename T, typename RandomAccessIterator>
00108   inline Boxnt<n,T> boundingBox(RandomAccessIterator points, const unsigned int * indices,
00109                                 unsigned int numberOfIndices);
00110
00117   template<unsigned int n, typename T>
00118   inline Boxnt<n,T> boundingBox(const Vecnt<n,T> * points, const std::vector<unsigned int> * strips,
00119                                 unsigned int numberOfStrips);
00120
00127   template<unsigned int n, typename T, typename RandomAccessIterator>
00128   inline Boxnt<n,T> boundingBox(RandomAccessIterator points, const std::vector<unsigned int> * strips,
00129                                 unsigned int numberOfStrips);
00130
00135   template<unsigned int n, typename T>
00136   Boxnt<n,T> boundingBox(const Boxnt<n, T>& b0, const Boxnt<n, T>& b1);
00137
00142   template<unsigned int n, typename T>
00143     bool isValid( const Boxnt<n,T> & b );
00144
00149   template<unsigned int n, typename T>
00150     bool isPositive( const Boxnt<n,T> & b );
00151
00156   template<unsigned int n, typename T>
00157   bool operator==(const Boxnt<n,T>& lhs, const Boxnt<n,T>& rhs);
00158
00163   template<unsigned int n, typename T>
00164   bool operator!=(const Boxnt<n,T>& lhs, const Boxnt<n,T>& rhs);
00165
00166   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00167   // Convenience type definitions
00168   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00169   typedef Boxnt<2,float>      Box2f;
00170   typedef Boxnt<3,float>      Box3f;
00171   typedef Boxnt<4,float>      Box4f;
00172   typedef Boxnt<2,double>     Box2d;
00173   typedef Boxnt<3,double>     Box3d;
00174   typedef Boxnt<4,double>     Box4d;
00175
00176   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00177   // Implementation
00178   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00179   template<unsigned int n, typename T>
00180   inline Boxnt<n,T>::Boxnt()
00181   {
00182     init();
00183   }
00184
00185   template<unsigned int n, typename T>
00186   inline Boxnt<n,T>::Boxnt(const Boxnt<n,T>& rhs)
00187   : m_lower(rhs.m_lower)
00188   , m_upper(rhs.m_upper)
00189   {
00190   }
00191
00192   template<unsigned int n, typename T>
00193   inline Boxnt<n,T>::Boxnt(const Vecnt<n,T>& p0, const Vecnt<n,T>& p1)
00194   {
00195     init(); // empty
00196     update(p0);
00197     update(p1);
00198   }
00199
00200   template<unsigned int n, typename T>
00201   inline void Boxnt<n,T>::init()
00202   {
00203     for ( unsigned int i=0; i<n; ++i )
00204     {
00205       m_lower[i] = std::numeric_limits<T>::max();
00206       m_upper[i] = -std::numeric_limits<T>::max();
00207     }
00208   }
00209
00210   template<unsigned int n, typename T>
00211   inline Vecnt<n,T> Boxnt<n,T>::getCenter() const
00212   {
00213     return( T(0.5) * ( m_lower + m_upper ) );
00214   }
00215
00216   template<unsigned int n, typename T>
00217   inline Vecnt<n,T> Boxnt<n,T>::getSize() const
00218   {
00219     return( m_upper - m_lower );
00220   }
00221
00222   template<unsigned int n, typename T>
00223   inline void Boxnt<n,T>::update(const Vecnt<n,T>& point)
00224   {
00225     for ( unsigned int i=0; i<n; ++i )
00226     {
00227       if ( m_lower[i] > point[i] )
00228       {
00229         m_lower[i] = point[i];
00230       }
00231       if ( m_upper[i] < point[i] )
00232       {
00233         m_upper[i] = point[i];
00234       }
00235     }
00236   }
00237
00238   template<unsigned int n, typename T>
00239   inline const Vecnt<n,T>& Boxnt<n,T>::getLower() const
00240   {
00241     return m_lower;
00242   }
00243
00244   template<unsigned int n, typename T>
00245   inline const Vecnt<n,T>& Boxnt<n,T>::getUpper() const
00246   {
00247     return m_upper;
00248   }
00249
00250   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00251   // inlined non-member functions
00252   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00253   template<unsigned int n, typename T>
00254   inline Boxnt<n,T> boundingBox(const Vecnt<n,T> * points, unsigned int numberOfPoints)
00255   {
00256     NVSG_ASSERT(numberOfPoints>1); // requires at least two points
00257     Boxnt<n,T> bbox(points[0], points[0]); // initialize with first point
00258     for ( unsigned int i=1; i<numberOfPoints; ++i )
00259     {
00260       bbox.update(points[i]);
00261     }
00262     return bbox;
00263   }
00264
00265   template<unsigned int n, typename T, typename RandomAccessIterator>
00266   inline Boxnt<n,T> boundingBox(RandomAccessIterator points, unsigned int numberOfPoints)
00267   {
00268     NVSG_ASSERT(numberOfPoints>1); // requires at least two points
00269     Boxnt<n,T> bbox(points[0], points[0]); // initialize with first point
00270     for ( unsigned int i=1; i<numberOfPoints; ++i )
00271     {
00272       bbox.update(points[i]);
00273     }
00274     return bbox;
00275   }
00276
00277   template<unsigned int n, typename T>
00278   inline Boxnt<n,T> boundingBox(const Vecnt<n,T> * points, const unsigned int * indices,
00279                                 unsigned int numberOfIndices)
00280   {
00281     NVSG_ASSERT(numberOfIndices>1); // requires at least two points
00282     Boxnt<n,T> bbox(points[indices[0]], points[indices[0]]); // initialize with first point
00283     for ( unsigned int i=1; i<numberOfIndices; ++i )
00284     {
00285       bbox.update(points[indices[i]]);
00286     }
00287     return bbox;
00288   }
00289
00290   template<unsigned int n, typename T, typename RandomAccessIterator>
00291   inline Boxnt<n,T> boundingBox(RandomAccessIterator points, const unsigned int * indices,
00292                                 unsigned int numberOfIndices)
00293   {
00294     NVSG_ASSERT(numberOfIndices>1); // requires at least two points
00295     Boxnt<n,T> bbox(points[indices[0]], points[indices[0]]); // initialize with first point
00296     for ( unsigned int i=1; i<numberOfIndices; ++i )
00297     {
00298       bbox.update(points[indices[i]]);
00299     }
00300     return bbox;
00301   }
00302
00303   template<unsigned int n, typename T>
00304   inline Boxnt<n,T> boundingBox(const Vecnt<n,T> * points, const std::vector<unsigned int> * strips,
00305                                 unsigned int numberOfStrips)
00306   {
00307     NVSG_ASSERT(numberOfStrips>0); // requires at least one strip
00308     NVSG_ASSERT(strips[0].size()>1); // requires at least two points
00309     Boxnt<n,T> bbox(points[strips[0][0]], points[strips[0][0]]); // initialize with first point
00310     for( unsigned int i=0; i<numberOfStrips; ++i )
00311     {
00312       // neglect re-processing of first point -> start with j=0
00313       for ( size_t j=0; j<strips[i].size(); ++j )
00314       {
00315         bbox.update(points[strips[i][j]]);
00316       }
00317     }
00318     return bbox;
00319   }
00320
00321   template<unsigned int n, typename T, typename RandomAccessIterator>
00322   inline Boxnt<n,T> boundingBox(RandomAccessIterator points, const std::vector<unsigned int> * strips,
00323                                 unsigned int numberOfStrips)
00324   {
00325     NVSG_ASSERT(numberOfStrips>0); // requires at least one strip
00326     NVSG_ASSERT(strips[0].size()>1); // requires at least two points
00327     Boxnt<n,T> bbox(points[strips[0][0]], points[strips[0][0]]); // initialize with first point
00328     for( unsigned int i=0; i<numberOfStrips; ++i )
00329     {
00330       // neglect re-processing of first point -> start with j=0
00331       for ( size_t j=0; j<strips[i].size(); ++j )
00332       {
00333         bbox.update(points[strips[i][j]]);
00334       }
00335     }
00336     return bbox;
00337   }
00338
00339   template<unsigned int n, typename T>
00340   inline Boxnt<n,T> boundingBox(const Boxnt<n, T>& b0, const Boxnt<n, T>& b1)
00341   {
00342     if ( !isValid(b0) )
00343     {
00344       // take b1 if b0 is empty
00345       return Boxnt<n,T>(b1);
00346     }
00347
00348     if ( !isValid(b1) )
00349     {
00350       // take b0 if b1 is empty
00351       return Boxnt<n,T>(b0);
00352     }
00353
00354     // take union of both boxes
00355     Boxnt<n,T> bbox(b0);
00356     bbox.update(b1.getLower());
00357     bbox.update(b1.getUpper());
00358     return bbox;
00359   }
00360
00361   template<unsigned int n, typename T>
00362   inline bool isValid( const Boxnt<n,T> & b )
00363   {
00364     for ( unsigned int i=0; i<n; ++i )
00365     {
00366       if ( b.getUpper()[i] < b.getLower()[i] )
00367       {
00368         return false;
00369       }
00370     }
00371     return true;
00372   }
00373
00374   template<unsigned int n, typename T>
00375   inline bool isPositive( const Boxnt<n,T> & b )
00376   {
00377     for ( unsigned int i=0; i<n; ++i )
00378     {
00379       if ( b.getUpper()[i] <= b.getLower()[i] )
00380       {
00381         return false;
00382       }
00383     }
00384     return true;
00385   }
00386
00387   template<unsigned int n, typename T>
00388   inline bool operator==(const Boxnt<n,T>& lhs, const Boxnt<n,T>& rhs)
00389   {
00390     return lhs.getLower()==rhs.getLower() && lhs.getUpper()==rhs.getUpper();
00391   }
00392
00393   template<unsigned int n, typename T>
00394   inline bool operator!=(const Boxnt<n,T>& lhs, const Boxnt<n,T>& rhs)
00395   {
00396     return !(lhs==rhs);
00397   }
00398 } // namespace nvmath
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Camera.h File Reference

inc / nvsg / nvsg

Camera.h File Reference

#include "nvmath/Quatt.h"
#include "nvsg/Object.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/SceniXIterator.h"

Include dependency graph for Camera.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum | CullCode { CC_OUT, CC_IN, CC_PART }
Type to describe the cull code of an object. More...

Detailed Description

Enumeration Type Documentation

enum CullCode

Type to describe the cull code of an object.

Namespace: nvsg
Remarks:
With a CullCode, an object can be marked to be completely out (CC_OUT), completely in (CC_IN) or partially in and out (CC_PART) with respect to a view volume.
Enumeration values:
CC_OUT | an object is completely outside
CC_IN | an object is completely inside
CC_PART | an object is partially in and partially out

Generated on Fri Jul 13 13:27:09 2012 for SceniX


SceniX: Camera.h Source File

inc / nvsg / nvsg

Camera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvmath/Quatt.h"
00016 #include "nvsg/Object.h" // base class definition
00017 #include "nvutil/HashGenerator.h"
00018 #include "nvutil/SceniXIterator.h"
00019
00020 namespace nvsg
00021 {
00026   typedef enum
00027   {
00028     CC_OUT,
00029     CC_IN,
00030     CC_PART
00031   } CullCode;
00032
00048   class Camera : public Object
00049   {
00050     public:
00052       typedef std::vector<LightSourceSharedPtr>                                 HeadLightContainer;
00053
00055       typedef nvutil::SceniXIterator<Camera,HeadLightContainer::iterator>       HeadLightIterator;
00056
00058       typedef nvutil::SceniXIterator<Camera,HeadLightContainer::const_iterator> HeadLightConstIterator;
00059
00060     public:
00062       NVSG_API virtual ~Camera( void );
00063
00069       NVSG_API const nvmath::Vec3f & getPosition( void ) const;
00070
00077       NVSG_API void setPosition( const nvmath::Vec3f & pos );
00078
00085       NVSG_API const nvmath::Quatf & getOrientation( void ) const;
00086
00095       NVSG_API void setOrientation( const nvmath::Quatf & quat );
00096
00104       NVSG_API void setOrientation( const nvmath::Vec3f & dir
00105                                   , const nvmath::Vec3f & up );
00106
00112       NVSG_API nvmath::Vec3f getDirection( void ) const;
00113
00121       NVSG_API void setDirection( const nvmath::Vec3f & dir );
00122
00128       NVSG_API nvmath::Vec3f getUpVector( void ) const;
00129
00137       NVSG_API void setUpVector( const nvmath::Vec3f & up );
00138
00146       NVSG_API void setWorldToViewMatrix( const nvmath::Mat44f & m );
00147
00153       NVSG_API const nvmath::Mat44f& getWorldToViewMatrix( void ) const;
00154
00162       NVSG_API void setViewToWorldMatrix( const nvmath::Mat44f & m );
00163
00169       NVSG_API const nvmath::Mat44f& getViewToWorldMatrix( void ) const;
00170
00177       NVSG_API float getFocusDistance( void ) const;
00178
00186       NVSG_API virtual void setFocusDistance( float fd );
00187
00191       NVSG_API virtual nvmath::Mat44f getProjection( void ) const = 0;
00192
00196       NVSG_API virtual nvmath::Mat44f getInverseProjection( void ) const = 0;
00197
00203       NVSG_API unsigned int getNumberOfHeadLights( void ) const;
00204
00208       NVSG_API HeadLightConstIterator beginHeadLights() const;
00209
00213       NVSG_API HeadLightIterator beginHeadLights();
00214
00219       NVSG_API HeadLightConstIterator endHeadLights() const;
00220
00225       NVSG_API HeadLightIterator endHeadLights();
00226
00235       NVSG_API HeadLightIterator addHeadLight( const LightSourceSharedPtr & light );
00236
00243       NVSG_API bool replaceHeadLight( const LightSourceSharedPtr & newLight, const LightSourceSharedPtr & oldLight );
00244
00251       NVSG_API bool replaceHeadLight( const LightSourceSharedPtr & newLight, const HeadLightIterator & oldLight );
00252
00257       NVSG_API bool removeHeadLight( const LightSourceSharedPtr & light );
00258
00263       NVSG_API bool removeHeadLight( const HeadLightIterator & light );
00264
00267       NVSG_API void clearHeadLights( void );
00268
00278       NVSG_API void move( const nvmath::Vec3f & delta
00279                         , bool cameraRelative = true );
00280
00296       NVSG_API void orbit( const nvmath::Vec3f & axis
00297                          , float targetDistance
00298                          , float angle
00299                          , bool  cameraRelative = true );
00300
00311       NVSG_API void rotate( const nvmath::Vec3f& axis
00312                           , float angle
00313                           , bool  cameraRelative = true );
00314
00325       NVSG_API void virtual zoom( float factor ) = 0;
00326
00332       void moveX( float val );
00333
00339       void moveY( float val );
00340
00346       void moveZ( float val );
00347
00354       void orbitX( float targetDistance
00355                  , float angle );
00356
00363       void orbitY( float targetDistance
00364                  , float angle );
00365
00373       void orbitZ( float targetDistance
00374                  , float angle );
00375
00381       void rotateX( float angle );
00382
00388       void rotateY( float angle );
00389
00395       void rotateZ( float angle );
00396
00402       NVSG_API virtual CullCode determineCullCode( const nvmath::Sphere3f &sphere ) const = 0;
00403
00404     // reflected properties
00405     public:
00406       REFLECTION_INFO_API( NVSG_API, Camera );
00407       BEGIN_DECLARE_STATIC_PROPERTIES
00408           NVSG_API DECLARE_STATIC_PROPERTY( Position );
00409           NVSG_API DECLARE_STATIC_PROPERTY( Orientation );
00410           NVSG_API DECLARE_STATIC_PROPERTY( Direction );
00411           NVSG_API DECLARE_STATIC_PROPERTY( UpVector );
00412           NVSG_API DECLARE_STATIC_PROPERTY( FocusDistance );
00413       END_DECLARE_STATIC_PROPERTIES
00414
00415     protected:
00420       NVSG_API Camera( void );
00421
00427       NVSG_API Camera( const Camera& rhs );
00428
00435       NVSG_API Camera & operator=( const Camera & rhs );
00436
00437       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00438
00442       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00443
00444     private:
00445       void copyHeadLights(const Camera& rhs);
00446       bool doRemoveHeadLight( const HeadLightContainer::iterator & hlci );
00447       void removeHeadLights();
00448
00449     private:
00450       HeadLightContainer  m_headLights;
00451
00452       nvmath::Quatf m_orientation;
00453       nvmath::Vec3f m_position;
00454
00455       float         m_focusDist;
00456
00457       mutable nvmath::Mat44f  m_viewToWorld;
00458       mutable bool            m_viewToWorldValid;
00459       mutable nvmath::Mat44f  m_worldToView;
00460       mutable bool            m_worldToViewValid;
00461   };
00462
00463   inline nvmath::Vec3f Camera::getDirection( void ) const
00464   {
00465     NVSG_TRACE();
00466     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00467     //  NOTE: normalizing shouldn't be necessary, but rounding errors do catch us!
00468     nvmath::Vec3f dir = nvmath::Vec3f( 0.0f, 0.0f, -1.0f ) * m_orientation;
00469     dir.normalize();
00470     return( dir );
00471   }
00472
00473   inline float Camera::getFocusDistance( void ) const
00474   {
00475     NVSG_TRACE();
00476     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00477     return( m_focusDist );
00478   }
00479
00480   inline unsigned int Camera::getNumberOfHeadLights( void ) const
00481   {
00482     NVSG_TRACE();
00483     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00484     return( checked_cast<unsigned int>(m_headLights.size()) );
00485   }
00486
00487   inline const nvmath::Quatf & Camera::getOrientation( void ) const
00488   {
00489     NVSG_TRACE();
00490     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00491     return( m_orientation );
00492   }
00493
00494   inline const nvmath::Vec3f & Camera::getPosition( void ) const
00495   {
00496     NVSG_TRACE();
00497     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00498     return( m_position );
00499   }
00500
00501   inline nvmath::Vec3f Camera::getUpVector( void ) const
00502   {
00503     NVSG_TRACE();
00504     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00505     NVSG_PRIVATE_ASSERT( isNormalized( m_orientation ) );
00506     //  NOTE: normalizing shouldn't be necessary, but rounding errors do catch us!
00507     nvmath::Vec3f up = nvmath::Vec3f( 0.0f, 1.0f, 0.0f ) * m_orientation;
00508     up.normalize();
00509     return( up );
00510   }
00511
00512   inline void Camera::moveX( float val )
00513   {
00514     NVSG_TRACE();
00515     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00516     move( nvmath::Vec3f( val, 0.f, 0.f ) );
00517   }
00518
00519   inline void Camera::moveY( float val )
00520   {
00521     NVSG_TRACE();
00522     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00523     move( nvmath::Vec3f( 0.f, val, 0.f ) );
00524   }
00525
00526   inline void  Camera::moveZ( float val )
00527   {
00528     NVSG_TRACE();
00529     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00530     move( nvmath::Vec3f( 0.f, 0.f, val ) );
00531   }
00532
00533   inline void  Camera::orbitX( float targetDistance, float rad )
00534   {
00535     NVSG_TRACE();
00536     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00537     orbit( nvmath::Vec3f( 1.f, 0.f, 0.f ), targetDistance, rad );
00538   }
00539
00540   inline void  Camera::orbitY( float targetDistance, float rad )
00541   {
00542     NVSG_TRACE();
00543     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00544     orbit( nvmath::Vec3f( 0.f, 1.f, 0.f ), targetDistance, rad );
00545   }
00546
00547   inline void  Camera::orbitZ( float targetDistance, float rad )
00548   {
00549     NVSG_TRACE();
00550     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00551     orbit( nvmath::Vec3f( 0.f, 0.f, 1.f ), targetDistance, rad );
00552   }
00553
00554   inline void  Camera::rotateX( float rad )
00555   {
00556     NVSG_TRACE();
00557     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00558     rotate( nvmath::Vec3f(1.f, 0.f, 0.f), rad );
00559   }
00560
00561   inline void  Camera::rotateY( float rad )
00562   {
00563     NVSG_TRACE();
00564     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00565     rotate( nvmath::Vec3f(0.f, 1.f, 0.f), rad );
00566   }
00567
00568   inline void  Camera::rotateZ( float rad )
00569   {
00570     NVSG_TRACE();
00571     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00572     rotate( nvmath::Vec3f(0.f, 0.f, 1.f), rad );
00573   }
00574
00575   inline Camera::HeadLightConstIterator Camera::beginHeadLights() const
00576   {
00577     NVSG_TRACE();
00578     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00579     return( HeadLightConstIterator( m_headLights.begin() ) );
00580   }
00581
00582   inline Camera::HeadLightIterator Camera::beginHeadLights()
00583   {
00584     NVSG_TRACE();
00585     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00586     return( HeadLightIterator( m_headLights.begin() ) );
00587   }
00588
00589   inline Camera::HeadLightConstIterator Camera::endHeadLights() const
00590   {
00591     NVSG_TRACE();
00592     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00593     return( HeadLightConstIterator( m_headLights.end() ) );
00594   }
00595
00596   inline Camera::HeadLightIterator Camera::endHeadLights()
00597   {
00598     NVSG_TRACE();
00599     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00600     return( HeadLightIterator( m_headLights.end() ) );
00601   }
00602
00603 } // namespace
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CgFx.h File Reference

inc / nvsg / nvsg

CgFx.h File Reference

#include <set>
#include "nvsg/StateAttribute.h"
#include "nvsg/Texture.h"
#include "nvsg/TextureHost.h"
#include "nvsg/CgmFx.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for CgFx.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Typedefs

typedef CGIParameter * | CgFxParameter
Typedef for a parameter handle.
typedef CGITechnique * | CgFxTechnique
Typedef for a technique handle.
typedef CGIPass * | CgFxPass
Typedef for a pass handle.
typedef CGIProgram * | CgFxProgram
Typedef for a program handle.
typedef CGIBuffer * | CgFxBuffer
Typedef for a buffer handle.
typedef std::pair< CgFxParameter,
CGMparameter > 		LeafParam
typedef std::set< LeafParam
>::iterator 		LeafIter

Functions

bool | operator< (const LeafParam &lhs, const LeafParam &rhs)
NVSG_API CgFxContext * | cgfxContext ()
Returns the CgFxContext singleton object.
NVSG_API std::string | cgfxGetLastError (CGerror &error)
Returns last error that occurred during a Cg-runtime operation.

Variables

struct struct struct struct
struct struct struct typedef
CGIAnnotation * 		CgFxAnnotation
Typedef for an annotation handle.

Detailed Description

Typedef Documentation

typedef CGIParameter* CgFxParameter

Typedef for a parameter handle.

typedef CGITechnique* CgFxTechnique

Typedef for a technique handle.

typedef CGIPass* CgFxPass

Typedef for a pass handle.

typedef CGIProgram* CgFxProgram

Typedef for a program handle.

typedef CGIBuffer* CgFxBuffer

Typedef for a buffer handle.

Function Documentation

NVSG_API CgFxContext* cgfxContext ( )

Returns the CgFxContext singleton object.

Returns:
The function returns a pointer to the CgFxContext singleton object used in the SceniX core.
Remarks:
The SceniX core uses a CgFxContext singleton object that will be shared between all effects in a Scene.

NVSG_API std::string cgfxGetLastError ( CGerror & error )

Returns last error that occurred during a Cg-runtime operation.

Parameters:
error Retrieves the CGerror code.
Returns:
The last error listing from the CGcontext that was current while the error occurred.
Remarks:
The function retrieves the last most error that occurred during a Cg-runtime operation and returns the corresponding listing as string. The last error retrieved will be popped off the internal error stack. Immediately calling this function again will retrieve the second last error and so on. If no errors are left anymore on the internal stack, CG_NO_ERROR will be retrieved.

Variable Documentation

class struct struct struct struct struct struct struct typedef CGIAnnotation* CgFxAnnotation

Typedef for an annotation handle.

Generated on Fri Jul 13 13:27:10 2012 for SceniX


SceniX: CgFx.h Source File

inc / nvsg / nvsg

CgFx.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2005-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00016 #include <set>
00017 #include "nvsg/StateAttribute.h"
00018 #include "nvsg/Texture.h"
00019 #include "nvsg/TextureHost.h"
00020 #include "nvsg/CgmFx.h"
00021 #include "nvutil/HashGenerator.h"
00022
00023
00024 namespace nvsg
00025 {
00026
00027 // forward declaration of internal types
00028 class CgFxEffectResource;
00029 struct CGIAnnotation;
00030 struct CGIParameter;
00031 struct CGITechnique;
00032 struct CGIPass;
00033 struct CGIProgram;
00034 struct CGIBuffer;
00035 struct CGIErrorInfo;
00036
00038 typedef CGIAnnotation * CgFxAnnotation;
00040 typedef CGIParameter  * CgFxParameter;
00042 typedef CGITechnique  * CgFxTechnique;
00044 typedef CGIPass       * CgFxPass;
00046 typedef CGIProgram    * CgFxProgram;
00048 typedef CGIBuffer     * CgFxBuffer;
00049
00050 typedef std::pair<CgFxParameter, CGMparameter> LeafParam;
00051 typedef std::set<LeafParam>::iterator LeafIter;
00052
00053 inline bool operator<(const LeafParam& lhs, const LeafParam& rhs)
00054 {
00055   return lhs.second < rhs.second;
00056 }
00057
00078 class CgFxContext
00079 {
00080   friend class CgFxEffect;
00081   friend NVSG_API std::string cgfxGetLastError(CGerror&);
00082
00083 public:
00084
00087   enum CgFxStateMachineEnum
00088   {
00089     CGFX_STATE_MACHINE_INVALID = 0,
00090     CGFX_STATE_MACHINE_GL
00091   };
00092
00102   NVSG_API explicit CgFxContext();
00103
00108   NVSG_API ~CgFxContext();
00109
00122   NVSG_API void lock() { m_lock.lockExclusive(); }
00123
00130   NVSG_API void unlock() { m_lock.unlockExclusive(); }
00131
00137   NVSG_API operator CGMcontext() const { return m_context; }
00138
00150   NVSG_API CgFxStateMachineEnum getStateMachine() const { return m_stateMachine; }
00151
00173   NVSG_API bool initialize(CgFxStateMachineEnum stateMachine, int num_gpus);
00174
00177   NVSG_API void uninitialize();
00178
00179   enum BufferAccess
00180   {
00181     ACCESS_READ_ONLY  = CG_MAP_READ,
00182     ACCESS_READ_WRITE = CG_MAP_READ_WRITE,
00183     ACCESS_WRITE_ONLY = CG_MAP_WRITE
00184   };
00185
00233   NVSG_API CgFxBuffer createBuffer( size_t initialSize, BufferAccess bam );
00234
00241   NVSG_API void destroyBuffer( CgFxBuffer buf );
00242
00247   NVSG_API size_t getBufferSize( CgFxBuffer buf );
00248
00258   NVSG_API void setBufferData( CgFxBuffer buf, const void * data, size_t size );
00259
00269   NVSG_API void setBufferSubData( CgFxBuffer buf, size_t offset, const void * data, size_t size );
00270
00279   NVSG_API unsigned int getBufferMaxIndex();
00280
00288   NVSG_API unsigned int getBufferMaxSize();
00289
00290 private:
00291   CgFxStateMachineEnum m_stateMachine; // indicates currently configured state machine
00292   int m_nGPUs; // the number of CGcontexts in CGMcontext (cached for speedy access)
00293   CGMcontext m_context; // shareable CGMcontext
00294   nvutil::SWMRSync m_lock; // for exclusive locking purposes
00295   CGIErrorInfo * m_errorInfo; // info to populate by our internal error callback
00296 };
00297
00305  NVSG_API CgFxContext * cgfxContext();
00306
00317  NVSG_API std::string cgfxGetLastError(CGerror& error);
00318
00339 class CgFxEffect : public OwnedObject<CgFx>
00340 {
00341   friend class CgFx;
00342
00343     public:
00344       NVSG_API static CgFxEffectSharedPtr create();
00345
00346 public:
00347
00357   enum TransformType
00358   {
00360     TRAFO_UNKNOWN = -1,
00361
00363     TRAFO_WORLD = 0,
00365     TRAFO_MODEL                             = TRAFO_WORLD,
00366
00368     TRAFO_VIEW,
00369
00371     TRAFO_PROJECTION,
00372
00374     TRAFO_WORLDT,
00376     TRAFO_MODELT                            = TRAFO_WORLDT,
00378     TRAFO_WORLDTRANSPOSE                    = TRAFO_WORLDT,
00380     TRAFO_MODELTRANSPOSE                    = TRAFO_WORLDT,
00381
00383     TRAFO_VIEWT,
00385     TRAFO_VIEWTRANSPOSE                     = TRAFO_VIEWT,
00386
00388     TRAFO_PROJECTIONT,
00390     TRAFO_PROJECTIONTRANSPOSE               = TRAFO_PROJECTIONT,
00391
00393     TRAFO_WORLDI,
00395     TRAFO_MODELI                            = TRAFO_WORLDI,
00397     TRAFO_WORLDINVERSE                      = TRAFO_WORLDI,
00399     TRAFO_MODELINVERSE                      = TRAFO_WORLDI,
00400
00402     TRAFO_VIEWI,
00404     TRAFO_VIEWINVERSE                        = TRAFO_VIEWI,
00405
00407     TRAFO_PROJECTIONI,
00409     TRAFO_PROJECTIONINVERSE                  = TRAFO_PROJECTIONI,
00410
00412     TRAFO_WORLDIT,
00414     TRAFO_MODELIT                            = TRAFO_WORLDIT,
00416     TRAFO_WORLDINVERSETRANSPOSE              = TRAFO_WORLDIT,
00418     TRAFO_MODELINVERSETRANSPOSE              = TRAFO_WORLDIT,
00419
00421     TRAFO_VIEWIT,
00423     TRAFO_VIEWINVERSETRANSPOSE               = TRAFO_VIEWIT,
00424
00426     TRAFO_PROJECTIONIT,
00428     TRAFO_PROJECTIONINVERSETRANSPOSE         = TRAFO_PROJECTIONIT,
00429
00431     TRAFO_WORLDVIEW,
00433     TRAFO_MODELVIEW                           = TRAFO_WORLDVIEW,
00435     TRAFO_VIEWPROJECTION,
00436
00438     TRAFO_WORLDVIEWPROJECTION,
00440     TRAFO_MODELVIEWPROJECTION                 = TRAFO_WORLDVIEWPROJECTION,
00441
00443     TRAFO_WORLDVIEWT,
00445     TRAFO_MODELVIEWT                          = TRAFO_WORLDVIEWT,
00447     TRAFO_WORLDVIEWTRANSPOSE                  = TRAFO_WORLDVIEWT,
00449     TRAFO_MODELVIEWTRANSPOSE                  = TRAFO_WORLDVIEWT,
00451     TRAFO_VIEWPROJECTIONT,
00453     TRAFO_VIEWPROJECTIONTRANSPOSE             = TRAFO_VIEWPROJECTIONT,
00454
00456     TRAFO_WORLDVIEWPROJECTIONT,
00458     TRAFO_MODELVIEWPROJECTIONT                = TRAFO_WORLDVIEWPROJECTIONT,
00460     TRAFO_WORLDVIEWPROJECTIONTRANSPOSE        = TRAFO_WORLDVIEWPROJECTIONT,
00462     TRAFO_MODELVIEWPROJECTIONTRANSPOSE        = TRAFO_WORLDVIEWPROJECTIONT,
00463
00465     TRAFO_WORLDVIEWI,
00467     TRAFO_MODELVIEWI                          = TRAFO_WORLDVIEWI,
00469     TRAFO_WORLDVIEWINVERSE                    = TRAFO_WORLDVIEWI,
00471     TRAFO_MODELVIEWINVERSE                    = TRAFO_WORLDVIEWI,
00473     TRAFO_VIEWPROJECTIONI,
00475     TRAFO_VIEWPROJECTIONINVERSE               = TRAFO_VIEWPROJECTIONI,
00476
00478     TRAFO_WORLDVIEWPROJECTIONI,
00480     TRAFO_MODELVIEWPROJECTIONI                = TRAFO_WORLDVIEWPROJECTIONI,
00482     TRAFO_WORLDVIEWPROJECTIONINVERSE          = TRAFO_WORLDVIEWPROJECTIONI,
00484     TRAFO_MODELVIEWPROJECTIONINVERSE          = TRAFO_WORLDVIEWPROJECTIONI,
00485
00487     TRAFO_WORLDVIEWIT,
00489     TRAFO_MODELVIEWIT                         = TRAFO_WORLDVIEWIT,
00491     TRAFO_WORLDVIEWINVERSETRANSPOSE           = TRAFO_WORLDVIEWIT,
00493     TRAFO_MODELVIEWINVERSETRANSPOSE           = TRAFO_WORLDVIEWIT,
00495     TRAFO_VIEWPROJECTIONIT,
00497     TRAFO_VIEWPROJECTIONINVERSETRANSPOSE      = TRAFO_VIEWPROJECTIONIT,
00498
00500     TRAFO_WORLDVIEWPROJECTIONIT,
00502     TRAFO_MODELVIEWPROJECTIONIT               = TRAFO_WORLDVIEWPROJECTIONIT,
00504     TRAFO_WORLDVIEWPROJECTIONINVERSETRANSPOSE = TRAFO_WORLDVIEWPROJECTIONIT,
00506     TRAFO_MODELVIEWPROJECTIONINVERSETRANSPOSE = TRAFO_WORLDVIEWPROJECTIONIT,
00507
00508     NUM_TRAFOS
00509   };
00510
00516   enum ProgramIOType
00517   {
00519     PROGRAM_IO_VERTEX       = CG_VERTEX,
00521     PROGRAM_IO_FRAGMENT     = CG_FRAGMENT,
00523     PROGRAM_IO_POINT        = CG_POINT,
00525     PROGRAM_IO_LINE         = CG_LINE,
00527     PROGRAM_IO_LINE_ADJ     = CG_LINE_ADJ,
00529     PROGRAM_IO_TRIANGLE     = CG_TRIANGLE,
00531     PROGRAM_IO_TRIANGLE_ADJ = CG_TRIANGLE_ADJ,
00532   };
00533
00534   enum
00535   {
00538     MSL_MAX_LIGHTS = 8,
00541     MSL_LIGHT_POSITION = 0,
00544     MSL_LIGHT_SPOT = 1,
00547     MSL_LIGHT_INFINITE = 2
00548   };
00549
00550 public:
00605   NVSG_API bool createFromFile( const std::string& file, const std::vector<std::string>& searchPaths, std::string& err );
00606
00692   NVSG_API bool createFromLump( const std::string& lump, const std::vector<std::string>& searchPaths, std::string& err );
00693
00708   NVSG_API bool isValid() const;
00709
00722   NVSG_API CGMcontext getContext() const;
00723
00738   NVSG_API bool updateTransformState(size_t firstLabel, size_t secondLabel);
00739
00754   NVSG_API bool updateLightingState(size_t firstLabel, size_t secondLabel);
00755
00770   NVSG_API bool updateMaterialState(size_t firstLabel, size_t secondLabel);
00771
00786   NVSG_API bool updateSceneState(size_t firstLabel, size_t secondLabel);
00787
00800   NVSG_API bool isFromFile() const;
00801
00814   NVSG_API bool isFromLump() const;
00815
00849   NVSG_API bool getFileName(std::string& file) const;
00850
00884   NVSG_API bool getSourceCode(std::string& code) const;
00885
00886   // API concerning annotation queries
00887
00917   NVSG_API unsigned int getNumberOfParameterAnnotations(CgFxParameter param) const;
00918
00960   NVSG_API CgFxAnnotation getParameterAnnotation(CgFxParameter param, unsigned int index) const;
00961
01005   NVSG_API CgFxAnnotation getParameterAnnotationByName(CgFxParameter param, const std::string& name) const;
01006
01033   NVSG_API unsigned int getNumberOfTechniqueAnnotations(CgFxTechnique tech) const;
01034
01073   NVSG_API CgFxAnnotation getTechniqueAnnotation(CgFxTechnique tech, unsigned int index) const;
01074
01115   NVSG_API CgFxAnnotation getTechniqueAnnotationByName(CgFxTechnique tech, const std::string& name) const;
01116
01142   NVSG_API unsigned int getNumberOfPassAnnotations(CgFxPass pass) const;
01143
01182   NVSG_API CgFxAnnotation getPassAnnotation(CgFxPass pass, unsigned int index) const;
01183
01224   NVSG_API CgFxAnnotation getPassAnnotationByName(CgFxPass pass, const std::string& name) const;
01225
01244   NVSG_API const std::string& getAnnotationName(CgFxAnnotation anno) const;
01245
01262   NVSG_API const std::string& getAnnotationTypeString(CgFxAnnotation anno) const;
01263
01311   NVSG_API bool isFloatAnnotation(CgFxAnnotation anno) const;
01312
01360   NVSG_API bool isIntAnnotation(CgFxAnnotation anno) const;
01361
01409   NVSG_API bool isBoolAnnotation(CgFxAnnotation anno) const;
01410
01446   NVSG_API bool isStringAnnotation(CgFxAnnotation anno) const;
01447
01467   NVSG_API unsigned int getAnnotationValueSize(CgFxAnnotation anno) const;
01468
01491   NVSG_API unsigned int getNumberOfAnnotationValueComponents(CgFxAnnotation anno) const;
01492
01520   NVSG_API bool getFloatAnnotationValue(CgFxAnnotation anno, float * value) const;
01521
01549   NVSG_API bool getIntAnnotationValue(CgFxAnnotation anno, int * value) const;
01550
01579   NVSG_API bool getBoolAnnotationValue(CgFxAnnotation anno, int * value) const;
01580
01600   NVSG_API bool getStringAnnotationValue(CgFxAnnotation anno, std::string& value) const;
01601
01615   NVSG_API const std::string& getParameterName(CgFxParameter param) const;
01616
01630   NVSG_API const std::string& getParameterSemantic(CgFxParameter param) const;
01631
01646   NVSG_API const std::string& getParameterTypeString(CgFxParameter param) const;
01647
01713   NVSG_API CgFxParameter getParameterByName(const std::string& name) const;
01714
01731   NVSG_API CgFxParameter getParameterBySemantic(const std::string& semantic) const;
01732
01746   NVSG_API unsigned int getNumberOfArrayParameterElements(CgFxParameter param) const;
01747
01766   NVSG_API CgFxParameter getArrayParameterElement(CgFxParameter param, unsigned int index) const;
01767
01782   NVSG_API unsigned int getNumberOfStructParameterMembers(CgFxParameter param) const;
01783
01806   NVSG_API CgFxParameter getStructParameterMember(CgFxParameter param, unsigned int index) const;
01807
01863   NVSG_API CgFxParameter getStructParameterMemberByName(CgFxParameter param, const std::string& member) const;
01864
01886   NVSG_API unsigned int getParameterValueSize(CgFxParameter param) const;
01887
01889
01905   NVSG_API unsigned int getNumberOfParameterValueComponents(CgFxParameter param) const;
01906
01918   NVSG_API bool isScalarParameter(CgFxParameter param) const;
01919
01931   NVSG_API bool isVector2Parameter(CgFxParameter param) const;
01932
01944   NVSG_API bool isVector3Parameter(CgFxParameter param) const;
01945
01957   NVSG_API bool isVector4Parameter(CgFxParameter param) const;
01958
01970   NVSG_API bool isMatrix22Parameter(CgFxParameter param) const;
01971
01983   NVSG_API bool isMatrix23Parameter(CgFxParameter param) const;
01984
01996   NVSG_API bool isMatrix24Parameter(CgFxParameter param) const;
01997
02009   NVSG_API bool isMatrix32Parameter(CgFxParameter param) const;
02010
02022   NVSG_API bool isMatrix33Parameter(CgFxParameter param) const;
02023
02035   NVSG_API bool isMatrix34Parameter(CgFxParameter param) const;
02036
02048   NVSG_API bool isMatrix42Parameter(CgFxParameter param) const;
02049
02061   NVSG_API bool isMatrix43Parameter(CgFxParameter param) const;
02062
02074   NVSG_API bool isMatrix44Parameter(CgFxParameter param) const;
02075
02087   NVSG_API bool isFloatParameter(CgFxParameter param) const;
02088
02100   NVSG_API bool isIntParameter(CgFxParameter param) const;
02101
02113   NVSG_API bool isBoolParameter(CgFxParameter param) const;
02114
02126   NVSG_API bool isStringParameter(CgFxParameter param) const;
02127
02142   NVSG_API bool isSamplerParameter(CgFxParameter param) const;
02143
02159   NVSG_API bool isSampler1DParameter(CgFxParameter param) const;
02160
02176   NVSG_API bool isSampler2DParameter(CgFxParameter param) const;
02177
02193   NVSG_API bool isSampler3DParameter(CgFxParameter param) const;
02194
02210   NVSG_API bool isSamplerRectParameter(CgFxParameter param) const;
02211
02226   NVSG_API bool isSamplerCubeParameter(CgFxParameter param) const;
02227
02242   NVSG_API bool isSamplerBufParameter(CgFxParameter param) const;
02243
02256   NVSG_API bool isSamplerArrayParameter(CgFxParameter param) const;
02257
02269   NVSG_API bool isBufferedParameter(CgFxParameter param) const;
02270
02280   NVSG_API bool isLightParameter(CgFxParameter param) const;
02281
02289   NVSG_API bool isLightPositionParameter(CgFxParameter param) const;
02290
02298   NVSG_API bool isLightDirectionParameter(CgFxParameter param) const;
02299
02307   NVSG_API bool isLightTypeParameter(CgFxParameter param) const;
02308
02317   NVSG_API bool isLightArrayParameter(CgFxParameter param) const;
02318
02327   NVSG_API bool isDynamicLightArrayParameter(CgFxParameter param) const;
02328
02338   NVSG_API bool isMaterialParameter(CgFxParameter param) const;
02339
02349   NVSG_API bool isSceneParameter(CgFxParameter param) const;
02350
02361   NVSG_API bool isTransformParameter(CgFxParameter param) const;
02362
02371   NVSG_API bool isArrayParameter(CgFxParameter param) const;
02372
02382   NVSG_API bool isStructParameter(CgFxParameter param) const;
02383
02394   NVSG_API unsigned int getNumberOfTransforms() const;
02395
02421   NVSG_API CgFxParameter getTransform(unsigned int index) const;
02422
02436   NVSG_API TransformType getTransformType(CgFxParameter param) const;
02437
02456   NVSG_API bool setTransformValue(CgFxParameter param, const float * value);
02457
02471   NVSG_API unsigned int getNumberOfTweakables() const;
02472
02485   NVSG_API CgFxParameter getTweakable(unsigned int index) const;
02486
02498   NVSG_API CgFxParameter getTweakableBySemantic(const std::string& semantic) const;
02499
02511   NVSG_API CgFxParameter getTweakableByName(const std::string& name) const;
02512
02523   NVSG_API unsigned int getNumberOfLights() const;
02524
02536   NVSG_API CgFxParameter getLight(unsigned int index) const;
02537
02546   NVSG_API CgFxParameter getLightBySemantic(const std::string& semantic) const;
02547
02556   NVSG_API CgFxParameter getLightByName(const std::string& name) const;
02557
02562   NVSG_API bool hasDynamicNumberOfLights() const;
02563
02569   NVSG_API void setDynamicNumberOfLights(unsigned int num);
02570
02574   NVSG_API unsigned int getDynamicNumberOfLights() const;
02575
02585   NVSG_API CgFxParameter getMaterial() const;
02586
02595   NVSG_API CgFxParameter getScene() const;
02596
02624   NVSG_API bool getParameterValueAsFloat(CgFxParameter param, float * value) const;
02625
02653   NVSG_API bool setParameterValueAsFloat(CgFxParameter param, const float * value);
02654
02681   NVSG_API bool getFloatParameterValue(CgFxParameter param, float * value) const;
02682
02710   NVSG_API bool setFloatParameterValue(CgFxParameter param, const float* value);
02711
02740   NVSG_API bool flushFloatParameterValue(CgFxParameter param, const float* value);
02741
02768   NVSG_API bool getIntParameterValue(CgFxParameter param, int * value) const;
02769
02797   NVSG_API bool setIntParameterValue(CgFxParameter param, const int* value);
02798
02827   NVSG_API bool flushIntParameterValue(CgFxParameter param, const int* value);
02828
02856   NVSG_API bool getBoolParameterValue(CgFxParameter param, int * value) const;
02857
02886   NVSG_API bool setBoolParameterValue(CgFxParameter param, const int* value);
02887
02917   NVSG_API bool flushBoolParameterValue(CgFxParameter param, const int* value);
02918
02939   NVSG_API bool getStringParameterValue(CgFxParameter param, std::string& value) const;
02940
02958   NVSG_API bool setStringParameterValue(CgFxParameter param, const std::string& value);
02959
02968   NVSG_API void resetSceneValues(CgFxParameter param);
02969
02990   NVSG_API bool getSceneAmbientValue(CgFxParameter param, float * value) const;   // float4
02991
03008   NVSG_API bool setSceneAmbientValue(CgFxParameter param, const float * value);   // float4
03009
03031   NVSG_API bool getSceneFrameNumberValue(CgFxParameter param, int * value) const;
03032
03050   NVSG_API bool setSceneFrameNumberValue(CgFxParameter param, const int * value);
03051
03052
03061   NVSG_API void resetMaterialValues(CgFxParameter param);
03062
03081   NVSG_API bool getMaterialEmissionValue(CgFxParameter param, float * value) const;  // float4
03082
03097   NVSG_API bool setMaterialEmissionValue(CgFxParameter param, const float * value);  // float4
03098
03117   NVSG_API bool getMaterialAmbientValue(CgFxParameter param, float * value) const;   // float4
03118
03133   NVSG_API bool setMaterialAmbientValue(CgFxParameter param, const float * value);   // float4
03134
03153   NVSG_API bool getMaterialDiffuseValue(CgFxParameter param, float * value) const;   // float4
03154
03169   NVSG_API bool setMaterialDiffuseValue(CgFxParameter param, const float * value);   // float4
03170
03189   NVSG_API bool getMaterialSpecularValue(CgFxParameter param, float * value) const;  // float4
03190
03205   NVSG_API bool setMaterialSpecularValue(CgFxParameter param, const float * value);  // float4
03206
03223   NVSG_API bool getMaterialShininessValue(CgFxParameter param, float * value) const; // float
03224
03239   NVSG_API bool setMaterialShininessValue(CgFxParameter param, const float * value); // float
03240
03249   NVSG_API void resetLightValues(CgFxParameter param);
03250
03269   NVSG_API bool getLightAmbientValue(CgFxParameter param, float * value) const;
03270
03285   NVSG_API bool setLightAmbientValue(CgFxParameter param, const float * value);
03286
03305   NVSG_API bool getLightDiffuseValue(CgFxParameter param, float * value) const;
03306
03321   NVSG_API bool setLightDiffuseValue(CgFxParameter param, const float * value);
03322
03341   NVSG_API bool getLightSpecularValue(CgFxParameter param, float * value) const;
03342
03357   NVSG_API bool setLightSpecularValue(CgFxParameter param, const float * value);
03358
03377   NVSG_API bool getLightPositionValue(CgFxParameter param, float * value) const;
03378
03394   NVSG_API bool setLightPositionValue(CgFxParameter param, const float * value);
03395
03414   NVSG_API bool getLightDirectionValue(CgFxParameter param, float * value) const;
03415
03431   NVSG_API bool setLightDirectionValue(CgFxParameter param, const float * value);
03432
03451   NVSG_API bool getLightSpotExponentValue(CgFxParameter param, float * value) const;
03452
03467   NVSG_API bool setLightSpotExponentValue(CgFxParameter param, const float * value);
03468
03487   NVSG_API bool getLightSpotCutoffValue(CgFxParameter param, float * value) const;
03488
03503   NVSG_API bool setLightSpotCutoffValue(CgFxParameter param, const float * value);
03504
03523   NVSG_API bool getLightConstantAttenuationValue(CgFxParameter param, float * value) const;
03524
03539   NVSG_API bool setLightConstantAttenuationValue(CgFxParameter param, const float * value);
03540
03559   NVSG_API bool getLightLinearAttenuationValue(CgFxParameter param, float * value) const;
03560
03575   NVSG_API bool setLightLinearAttenuationValue(CgFxParameter param, const float * value);
03576
03595   NVSG_API bool getLightQuadraticAttenuationValue(CgFxParameter param, float * value) const;
03596
03611   NVSG_API bool setLightQuadraticAttenuationValue(CgFxParameter param, const float * value);
03612
03621   NVSG_API CgFxParameter getMslLightPosition(unsigned int i) const;
03622
03631   NVSG_API CgFxParameter getMslLightDirection(unsigned int i) const;
03632
03641   NVSG_API CgFxParameter getMslLightType(unsigned int i) const;
03642
03651   NVSG_API bool getMslLightPositionValue(CgFxParameter param, float * value) const;
03652
03661   NVSG_API bool getMslLightDirectionValue(CgFxParameter param, float * value) const;
03662
03670   NVSG_API bool getMslLightTypeValue(CgFxParameter param, int * value) const;
03671
03678   NVSG_API bool setMslLightPositionValue(CgFxParameter param, const float * value);
03679
03686   NVSG_API bool setMslLightDirectionValue(CgFxParameter param, const float * value);
03687
03694   NVSG_API bool setMslLightTypeValue(CgFxParameter param, int value);
03695
03703   NVSG_API unsigned int getNumberOfSamplers() const;
03704
03714   NVSG_API CgFxParameter getSampler(unsigned int index) const;
03715
03727   NVSG_API CgFxParameter getSamplerByName(const std::string& name) const;
03728
03755   NVSG_API CgFxParameter getSamplerByTextureParameterName(const std::string& name) const;
03756
03771   NVSG_API CGparameter getSamplerTextureParameter(CgFxParameter param) const;
03772
03780   NVSG_API unsigned int getNumberOfProgramSamplers(CgFxProgram prog) const;
03781
03783
03800   NVSG_API CgFxParameter getProgramSampler(CgFxProgram prog, unsigned int index) const;
03801
03803
03813   NVSG_API ProgramIOType getProgramInputType(CgFxProgram prog) const;
03814
03816
03826   NVSG_API ProgramIOType getProgramOutputType(CgFxProgram prog) const;
03827
03828
03844   NVSG_API bool isMipmapSamplerState(CgFxParameter sampler) const;
03845
03861   NVSG_API bool isTextureSamplerCompliant(CgFxParameter sampler, const TextureSharedPtr & image) const;
03862
03889   NVSG_API bool setSamplerTexture(CgFxParameter param, const TextureSharedPtr & image);
03890
03905   NVSG_API bool getSamplerTextureFileName(CgFxParameter param, std::string& file) const;
03906
03919   NVSG_API const TextureSharedPtr& getSamplerTexture(CgFxParameter param) const;
03920
03929   NVSG_API bool hasSamplerTextureHost(CgFxParameter param) const;
03930
03931
03942   NVSG_API bool setSamplerTextureGPUFormat(CgFxParameter param,
03943                                         TextureHost::TextureGPUFormat format);
03944
03959   NVSG_API bool getSamplerTextureGPUFormat(CgFxParameter param,
03960                                     TextureHost::TextureGPUFormat & format) const;
03961
03971   NVSG_API TextureTarget getSamplerTextureTarget(CgFxParameter param) const;
03972
03973
03994   NVSG_API unsigned int getNumberOfSamplerStateValueComponents(CgFxParameter param, const std::string& name) const;
03995
04014   NVSG_API bool isFloatSamplerState(CgFxParameter param, const std::string& name) const;
04015
04034   NVSG_API bool isIntSamplerState(CgFxParameter param, const std::string& name) const;
04035
04054   NVSG_API bool isBoolSamplerState(CgFxParameter param, const std::string& name) const;
04055
04089   NVSG_API bool getFloatSamplerStateValue(CgFxParameter param, const std::string& name, float* value) const;
04090
04127   NVSG_API bool setFloatSamplerStateValue(CgFxParameter param, const std::string& name, const float* value) const;
04128
04153   NVSG_API bool createFloatSamplerStateValue(CgFxParameter param, const std::string& name, int components, const float* value) const;
04154
04188   NVSG_API bool getIntSamplerStateValue(CgFxParameter param, const std::string& name, int* value) const;
04189
04227   NVSG_API bool setIntSamplerStateValue(CgFxParameter param, const std::string& name, const int* value) const;
04228
04252   NVSG_API bool createIntSamplerStateValue(CgFxParameter param, const std::string& name, int components, const int* value) const;
04253
04254
04288   NVSG_API bool getBoolSamplerStateValue(CgFxParameter param, const std::string& name, int* value) const;
04289
04328   NVSG_API bool setBoolSamplerStateValue(CgFxParameter param, const std::string& name, const int* value) const;
04329
04354   NVSG_API bool createBoolSamplerStateValue(CgFxParameter param, const std::string& name, int components, const int* value) const;
04355
04376   NVSG_API unsigned int getNumberOfTechniques() const;
04377
04391   NVSG_API CgFxTechnique getTechnique(unsigned int index) const;
04392
04406   NVSG_API CgFxTechnique getTechniqueByName(const std::string& name) const;
04407
04414   NVSG_API unsigned int getTechniqueIndex(CgFxTechnique tech) const;
04415
04429   NVSG_API const std::string& getTechniqueName(CgFxTechnique tech) const;
04430
04440   NVSG_API CgFxTechnique getCurrentTechnique() const;
04441
04454   NVSG_API void setCurrentTechnique(CgFxTechnique tech);
04455
04466   NVSG_API bool validateCurrentTechnique();
04467
04478   NVSG_API bool containsTessellationProgram( CgFxTechnique tech ) const;
04479
04496   NVSG_API unsigned int getNumberOfPasses(CgFxTechnique tech) const;
04497
04516   NVSG_API CgFxPass getPass(CgFxTechnique tech, unsigned int index) const;
04517
04538   NVSG_API CgFxPass getPassByName(CgFxTechnique tech, const std::string& name) const;
04539
04553   NVSG_API const std::string& getPassName(CgFxPass pass) const;
04554
04567   NVSG_API bool isTransparentPass(CgFxPass pass) const;
04568
04616   NVSG_API void applyPass(unsigned int index);
04617
04631   NVSG_API void resetPass(unsigned int index);
04632
04652   NVSG_API unsigned int getNumberOfPassStateValueComponents(CgFxPass pass, const std::string& name) const;
04653
04672   NVSG_API bool isFloatPassState(CgFxPass pass, const std::string& name) const;
04673
04692   NVSG_API bool isIntPassState(CgFxPass pass, const std::string& name) const;
04693
04712   NVSG_API bool isBoolPassState(CgFxPass pass, const std::string& name) const;
04713
04750   NVSG_API bool getFloatPassStateValue(CgFxPass pass, const std::string& name, float* value) const;
04751
04788   NVSG_API bool getIntPassStateValue(CgFxPass pass, const std::string& name, int* value) const;
04789
04826   NVSG_API bool getBoolPassStateValue(CgFxPass pass, const std::string& name, int* value) const;
04827
04835   NVSG_API CgFxProgram getVertexProgram(CgFxPass pass) const;
04836
04844   NVSG_API CgFxProgram getTessellationControlProgram(CgFxPass pass) const;
04845
04853   NVSG_API CgFxProgram getTessellationEvaluationProgram(CgFxPass pass) const;
04854
04862   NVSG_API CgFxProgram getGeometryProgram(CgFxPass pass) const;
04863
04871   NVSG_API CgFxProgram getFragmentProgram(CgFxPass pass) const;
04872
04885   NVSG_API bool isProgramCompiled(CgFxProgram prog) const;
04886
04904   NVSG_API bool compileProgram(CgFxProgram prog);
04905
04929   NVSG_API bool setProgramProfile(CgFxProgram prog, CGprofile profile);
04930
04942   NVSG_API CGprofile getProgramProfile(CgFxProgram prog) const;
04943
04957   NVSG_API unsigned int getNumberOfProgramParameters(CgFxProgram prog) const;
04958
04974   NVSG_API CgFxParameter getProgramParameter(CgFxProgram prog, unsigned int index) const;
04975
04994   NVSG_API bool isInputProgramParameter(CgFxProgram prog, CgFxParameter param) const;
04995
05014   NVSG_API bool isOutputProgramParameter(CgFxProgram prog, CgFxParameter param) const;
05015
05035   NVSG_API CgFxBuffer getProgramBuffer( CgFxProgram prog, size_t index ) const;
05036
05061   NVSG_API bool setProgramBuffer( CgFxProgram prog, CgFxBuffer b, size_t index );
05062
05075   NVSG_API int getParameterBufferIndex(CgFxParameter param) const;
05076
05090   NVSG_API int getParameterBufferOffset(CgFxParameter param) const;
05091
05113   NVSG_API int getParameterResourceSize(CgFxParameter param) const;
05114
05127   NVSG_API CGtype getParameterResourceType(CgFxParameter param) const;
05128
05129   REFLECTION_INFO_API( NVSG_API, CgFxEffect );
05130 protected:
05131   friend struct nvutil::Holder<CgFxEffect>;
05132
05135   CgFxEffect();
05136
05140   CgFxEffect(const CgFxEffect& rhs);
05141
05144   ~CgFxEffect();
05145
05149   NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
05150
05151 private:
05152   CgFxEffect& operator=(const CgFxEffect& rhs);
05153
05154   bool initialize(const std::string &source, std::string &err); // parse effect and fill internal structs
05155   void uninitialize(); // cleanup internal structs
05156
05157   template <typename T>
05158   bool getParameterValue(CgFxParameter param, T * value, bool (*testType)(CGtype)) const;
05159   template <typename T>
05160   bool setParameterValue(CgFxParameter param, const T * value, bool (*testType)(CGtype));
05161
05162   // sync cached values with effect
05163   void flush();
05164
05165   // walks all techniques for their passes to unload their vertex and fragment programs
05166   void unloadPrograms();
05167
05168   // tests on equivalency with another effect
05169   bool isEquivalent(const CgFxEffect * rhs) const;
05170
05171   void registerTransformParameter(CgFxParameter param);
05172   void registerLightParameter(CgFxParameter param);
05173   void registerLightPositionParameter(CgFxParameter param, unsigned int i);
05174   void registerLightDirectionParameter(CgFxParameter param, unsigned int i);
05175   void registerLightTypeParameter(CgFxParameter param, unsigned int i);
05176   void registerMaterialParameter(CgFxParameter param);
05177   void registerSamplerParameter(CgFxParameter param);
05178   void registerBufferedParameter(CgFxParameter param);
05179   void registerSceneParameter(CgFxParameter  param);
05180   void registerTweakableParameter(CgFxParameter  param);
05181
05182
05183 private:
05184   CGMeffect m_cgmEffect;
05185   std::vector<nvutil::SmartPtr<CgFxEffectResource> > m_effects; // handles to the multiplexed effect resources
05186
05187   enum SourceType
05188   {
05189     SOURCE_UNKNOWN = 0
05190   , SOURCE_FILE = 1
05191   , SOURCE_LUMP
05192   };
05193
05194   unsigned int m_from; // either SOURCE_FILE or SOURCE_LUMP
05195   std::string * m_source; // either filename or code
05196
05197   struct SharedParams : public nvutil::RCObject
05198   {
05199     SharedParams();
05200     ~SharedParams();
05201
05202     CgFxParameter m_scene; // NVSGScene
05203
05204     // NVSG transforms known by semantic
05205     std::vector<CgFxParameter> m_transforms;
05206
05207     std::vector<CgFxParameter> m_lights; // NVSGLights
05208     CgFxParameter m_dynamicLightArray;   // dynamic array of NVSGLights in CgFxEffect
05209     CgFxParameter m_material; // NVSGMaterial
05210
05211     // MetaSL light params
05212     std::vector<CgFxParameter> m_lightPositions;
05213     std::vector<CgFxParameter> m_lightDirections;
05214     std::vector<CgFxParameter> m_lightTypes;
05215
05216
05217     struct StateLabel {
05218       StateLabel() : m_first(~0), m_second(~0) {}
05219       size_t m_first;
05220       size_t m_second;
05221     };
05222
05223     // One StateLabel per multiplexed CGeffect
05224     std::vector<StateLabel> m_sceneState;
05225     std::vector<StateLabel> m_transformState;
05226     std::vector<StateLabel> m_lightingState;
05227     std::vector<StateLabel> m_materialState;
05228
05229     nvutil::SWMRSync m_lock; // sync access to shared parameters
05230   };
05231
05232   nvutil::SmartPtr<SharedParams> m_sharedParams;
05233
05234   std::set<CgFxParameter> m_effectParams; // tweakables & samplers only
05235   std::set<LeafParam> m_leafParams; // tweakable leaf parameters
05236
05237   // shortcuts
05238   std::vector<CgFxParameter> m_tweaks; // ordinary parameters
05239   std::vector<CgFxParameter> m_samplers; // samplers
05240   std::vector<CgFxParameter> m_buffered; // buffered parameters
05241
05242   std::vector<CgFxTechnique> m_techs; // techniques
05243   CgFxTechnique m_currTech; // current technique
05244 };
05245
05246
05250 class CgFx : public StateAttribute
05251 {
05252 public:
05253   NVSG_API static CgFxSharedPtr create();
05254
05255 public:
05264   NVSG_API CgFx& operator=(const CgFx& rhs);
05265
05281   NVSG_API virtual bool isDataShared() const;
05282
05292   NVSG_API virtual DataID getDataID() const;
05293
05318   NVSG_API const CgFxEffectSharedPtr & getEffect() const;
05319
05362   static NVSG_API CgFxSharedPtr createFromFile( const std::string & file,
05363                                                   const std::vector< std::string > & searchPaths,
05364                                                   std::string & errorReturn,
05365                                                   bool & failOnTextureLoadInOut );
05366
05407   static NVSG_API CgFxSharedPtr createFromLump( const std::string & lump,
05408                                                   const std::vector< std::string > & searchPaths,
05409                                                   std::string & errorReturn,
05410                                                   bool & failOnTextureLoadInOut );
05411
05419   NVSG_API void unloadPrograms();
05420
05437   NVSG_API virtual bool isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const;
05438
05439   REFLECTION_INFO_API( NVSG_API, CgFx );
05440 protected:
05441   friend struct nvutil::Holder<CgFx>;
05442
05445   NVSG_API CgFx();
05446
05449   NVSG_API CgFx(const CgFx& rhs);
05450
05453   NVSG_API virtual ~CgFx();
05454
05459   NVSG_API virtual bool determineTransparencyContainment() const;
05460
05461   NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
05462
05466   NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
05467
05468 private:
05469   // Iterate over all samplers and assign TextureHosts
05470   static void loadSamplerImages(CgFxEffect *effect, const std::vector< std::string > & searchPaths,
05471                                 int &nFailures, std::string &errorReturn, bool bFailFast);
05472
05473 private:
05474   CgFxEffectSharedPtr m_effect; // embedded effect
05475 };
05476
05477 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CgmFx.h File Reference

inc / nvsg / nvsg

CgmFx.h File Reference

#include "Cg/cg.h"
#include "nvutil/SmartPtr.h"
#include "nvutil/Assert.h"

Include dependency graph for CgmFx.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Defines

#define | CGMcontext CGcontext
#define | CGMeffect CGeffect
#define | CGMparameter CGparameter
#define | CGMannotation CGannotation
#define | CGMtechnique CGtechnique
#define | CGMstateassignment CGstateassignment
#define | CGMprogram CGprogram
#define | CGMpass CGpass
#define | CGMstate CGstate
#define | CGMprofile CGprofile
#define | CGMbuffer CGbuffer
#define | cgsGetLastListing cgGetLastListing
#define | cgsIsProgram cgIsProgram
#define | cgsCompileProgram cgCompileProgram
#define | cgsIsProgramCompiled cgIsProgramCompiled
#define | cgsGetProgramString cgGetProgramString
#define | cgsGetProgramProfile cgGetProgramProfile
#define | cgsGetProgramInput cgGetProgramInput
#define | cgsGetProgramOutput cgGetProgramOutput
#define | cgsGetArrayType cgGetArrayType
#define | cgsGetArraySize cgGetArraySize
#define | cgsSetArraySize cgSetArraySize
#define | cgsIsParameter cgIsParameter
#define | cgsGetParameterName cgGetParameterName
#define | cgsGetParameterType cgGetParameterType
#define | cgsGetParameterClass cgGetParameterClass
#define | cgsGetParameterNamedType cgGetParameterNamedType
#define | cgsGetParameterSemantic cgGetParameterSemantic
#define | cgsGetParameterDirection cgGetParameterDirection
#define | cgsIsParameterReferenced cgIsParameterReferenced
#define | cgsIsParameterUsed cgIsParameterUsed
#define | cgsGetParameterValues cgGetParameterValues
#define | cgsGetParameterValuefc cgGetParameterValuefc
#define | cgsGetParameterValuefr cgGetParameterValuefr
#define | cgsGetParameterValueic cgGetParameterValueic
#define | cgsGetStringParameterValue cgGetStringParameterValue
#define | cgsSetParameterValuefc cgSetParameterValuefc
#define | cgsSetParameterValueic cgSetParameterValueic
#define | cgsGetArrayParameter cgGetArrayParameter
#define | cgsDestroyParameter cgDestroyParameter
#define | cgsConnectParameter cgConnectParameter
#define | cgsDisconnectParameter cgDisconnectParameter
#define | cgsGetNamedUserType cgGetNamedUserType
#define | cgsSetStringParameterValue cgSetStringParameterValue
#define | cgsSetMatrixParameterfc cgSetMatrixParameterfc
#define | cgsGetTechniqueName cgGetTechniqueName
#define | cgsIsTechnique cgIsTechnique
#define | cgsValidateTechnique cgValidateTechnique
#define | cgsIsTechniqueValidated cgIsTechniqueValidated
#define | cgsIsPass cgIsPass
#define | cgsGetPassName cgGetPassName
#define | cgsSetPassState cgSetPassState
#define | cgsResetPassState cgResetPassState
#define | cgsCallStateSetCallback cgCallStateSetCallback
#define | cgsCallStateValidateCallback cgCallStateValidateCallback
#define | cgsCallStateResetCallback cgCallStateResetCallback
#define | cgsGetFloatStateAssignmentValues cgGetFloatStateAssignmentValues
#define | cgsGetIntStateAssignmentValues cgGetIntStateAssignmentValues
#define | cgsGetBoolStateAssignmentValues cgGetBoolStateAssignmentValues
#define | cgsGetStringStateAssignmentValue cgGetStringStateAssignmentValue
#define | cgsGetStateType cgGetStateType
#define | cgsGetStateName cgGetStateName
#define | cgsIsAnnotation cgIsAnnotation
#define | cgsGetAnnotationName cgGetAnnotationName
#define | cgsGetAnnotationType cgGetAnnotationType
#define | cgsGetFloatAnnotationValues cgGetFloatAnnotationValues
#define | cgsGetIntAnnotationValues cgGetIntAnnotationValues
#define | cgsGetStringAnnotationValue cgGetStringAnnotationValue
#define | cgsGetBooleanAnnotationValues cgGetBooleanAnnotationValues
#define | cgsGetProgramBufferMaxSize cgGetProgramBufferMaxSize
#define | cgsGetProgramBufferMaxIndex cgGetProgramBufferMaxIndex
#define | cgsGetBufferSize cgGetBufferSize
#define | cgsGetParameterResourceSize cgGetParameterResourceSize
#define | cgsGetParameterResourceType cgGetParameterResourceType
#define | cgsGetParameterBufferIndex cgGetParameterBufferIndex
#define | cgsGetParameterBufferOffset cgGetParameterBufferOffset
#define | cgmCreateBuffer cgCreateBuffer
#define | cgmDestroyBuffer cgDestroyBuffer
#define | cgmSetBufferData cgSetBufferData
#define | cgmSetBufferSubData cgSetBufferSubData
#define | cgmSetProgramBuffer cgSetProgramBuffer
#define | cgmDestroyContext cgDestroyContext
#define | cgmIsProgram cgIsProgram
#define | cgmSetProgramProfile cgSetProgramProfile
#define | cgmGetNextParameter cgGetNextParameter
#define | cgmGetFirstLeafParameter cgGetFirstLeafParameter
#define | cgmGetNextLeafParameter cgGetNextLeafParameter
#define | cgmGetFirstStructParameter cgGetFirstStructParameter
#define | cgmGetArrayParameter cgGetArrayParameter
#define | cgmSetParameterValuefc cgSetParameterValuefc
#define | cgmSetParameterValueic cgSetParameterValueic
#define | cgmSetStringParameterValue cgSetStringParameterValue
#define | cgmCreateEffect cgCreateEffect
#define | cgmCreateEffectFromFile cgCreateEffectFromFile
#define | cgmDestroyEffect cgDestroyEffect
#define | cgmGetFirstTechnique cgGetFirstTechnique
#define | cgmGetNextTechnique cgGetNextTechnique
#define | cgmGetFirstPass cgGetFirstPass
#define | cgmGetNextPass cgGetNextPass
#define | cgmGetFirstStateAssignment cgGetFirstStateAssignment
#define | cgmGetNextStateAssignment cgGetNextStateAssignment
#define | cgmGetProgramStateAssignmentValue cgGetProgramStateAssignmentValue
#define | cgmGetTextureStateAssignmentValue cgGetTextureStateAssignmentValue
#define | cgmGetStateAssignmentState cgGetStateAssignmentState
#define | cgmGetSamplerStateAssignmentState cgGetSamplerStateAssignmentState
#define | cgmCreateSamplerStateAssignment cgCreateSamplerStateAssignment
#define | cgmGetFirstSamplerStateAssignment cgGetFirstSamplerStateAssignment
#define | cgmGetFirstEffectParameter cgGetFirstEffectParameter
#define | cgmGetFirstTechniqueAnnotation cgGetFirstTechniqueAnnotation
#define | cgmGetFirstPassAnnotation cgGetFirstPassAnnotation
#define | cgmGetFirstParameterAnnotation cgGetFirstParameterAnnotation
#define | cgmGetNextAnnotation cgGetNextAnnotation
#define | cgmCreateSamplerState cgCreateSamplerState
#define | cgmSetFloatStateAssignment cgSetFloatStateAssignment
#define | cgmSetIntStateAssignment cgSetIntStateAssignment
#define | cgmSetBoolStateAssignment cgSetBoolStateAssignment
#define | cgmSetFloatArrayStateAssignment cgSetFloatArrayStateAssignment
#define | cgmSetIntArrayStateAssignment cgSetIntArrayStateAssignment
#define | cgmSetBoolArrayStateAssignment cgSetBoolArrayStateAssignment
#define | cgmCreateParameter cgCreateParameter

Functions

CGcontext | cgfxCreateContext (int)
template<typename T>
T | cgfxGetAffiliate (T &obj)
size_t | cgfxGetAffiliateIndex ()

Detailed Description

Generated on Fri Jul 13 13:27:10 2012 for SceniX


SceniX: CgmFx.h Source File

inc / nvsg / nvsg

CgmFx.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2005-2008
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "Cg/cg.h"
00016 #include "nvutil/SmartPtr.h"
00017 #include "nvutil/Assert.h"
00018
00019 #if !defined(X86_64) || defined(NVSG_DISABLE_CG_MULTIPLEX)
00020
00021 // Types
00022 #define CGMcontext CGcontext
00023 #define CGMeffect CGeffect
00024 #define CGMparameter CGparameter
00025 #define CGMannotation CGannotation
00026 #define CGMtechnique CGtechnique
00027 #define CGMstateassignment CGstateassignment
00028 #define CGMprogram CGprogram
00029 #define CGMpass CGpass
00030 #define CGMstate CGstate
00031 #define CGMprofile CGprofile
00032 #define CGMbuffer CGbuffer
00033
00034 namespace nvsg
00035 {
00036 // Special context initialization functions
00037 inline CGcontext cgfxCreateContext(int)
00038 {
00039   return cgCreateContext();
00040 }
00041
00042 // Thread local access to GPU affiliated object.
00043 template <typename T>
00044 inline T cgfxGetAffiliate(T &obj)
00045 {
00046   return obj;
00047 }
00048
00049 inline size_t cgfxGetAffiliateIndex()
00050 {
00051   return 0;
00052 }
00053
00054 }
00055 // Functions
00056 #define cgsGetLastListing cgGetLastListing
00057 #define cgsIsProgram cgIsProgram
00058 #define cgsCompileProgram cgCompileProgram
00059 #define cgsIsProgramCompiled cgIsProgramCompiled
00060 #define cgsGetProgramString cgGetProgramString
00061 #define cgsGetProgramProfile cgGetProgramProfile
00062 #define cgsGetProgramInput cgGetProgramInput
00063 #define cgsGetProgramOutput cgGetProgramOutput
00064 #define cgsGetArrayType cgGetArrayType
00065 #define cgsGetArraySize cgGetArraySize
00066 #define cgsSetArraySize cgSetArraySize
00067 #define cgsIsParameter cgIsParameter
00068 #define cgsGetParameterName cgGetParameterName
00069 #define cgsGetParameterType cgGetParameterType
00070 #define cgsGetParameterClass cgGetParameterClass
00071 #define cgsGetParameterNamedType cgGetParameterNamedType
00072 #define cgsGetParameterSemantic cgGetParameterSemantic
00073 #define cgsGetParameterDirection cgGetParameterDirection
00074 #define cgsIsParameterReferenced cgIsParameterReferenced
00075 #define cgsIsParameterUsed cgIsParameterUsed
00076 #define cgsGetParameterValues cgGetParameterValues
00077 #define cgsGetParameterValuefc cgGetParameterValuefc
00078 #define cgsGetParameterValuefr cgGetParameterValuefr
00079 #define cgsGetParameterValueic cgGetParameterValueic
00080 #define cgsGetStringParameterValue cgGetStringParameterValue
00081 #define cgsSetParameterValuefc cgSetParameterValuefc
00082 #define cgsSetParameterValueic cgSetParameterValueic
00083 #define cgsGetArrayParameter cgGetArrayParameter
00084 #define cgsDestroyParameter cgDestroyParameter
00085 #define cgsConnectParameter cgConnectParameter
00086 #define cgsDisconnectParameter cgDisconnectParameter
00087 #define cgsGetNamedUserType cgGetNamedUserType
00088 #define cgsSetStringParameterValue cgSetStringParameterValue
00089 #define cgsSetMatrixParameterfc cgSetMatrixParameterfc
00090 #define cgsGetTechniqueName cgGetTechniqueName
00091 #define cgsIsTechnique cgIsTechnique
00092 #define cgsValidateTechnique cgValidateTechnique
00093 #define cgsIsTechniqueValidated cgIsTechniqueValidated
00094 #define cgsIsPass cgIsPass
00095 #define cgsGetPassName cgGetPassName
00096 #define cgsSetPassState cgSetPassState
00097 #define cgsResetPassState cgResetPassState
00098 #define cgsCallStateSetCallback cgCallStateSetCallback
00099 #define cgsCallStateValidateCallback cgCallStateValidateCallback
00100 #define cgsCallStateResetCallback cgCallStateResetCallback
00101 #define cgsGetFloatStateAssignmentValues cgGetFloatStateAssignmentValues
00102 #define cgsGetIntStateAssignmentValues cgGetIntStateAssignmentValues
00103 #define cgsGetBoolStateAssignmentValues cgGetBoolStateAssignmentValues
00104 #define cgsGetStringStateAssignmentValue cgGetStringStateAssignmentValue
00105 #define cgsGetStateType cgGetStateType
00106 #define cgsGetStateName cgGetStateName
00107 #define cgsIsAnnotation cgIsAnnotation
00108 #define cgsGetAnnotationName cgGetAnnotationName
00109 #define cgsGetAnnotationType cgGetAnnotationType
00110 #define cgsGetFloatAnnotationValues cgGetFloatAnnotationValues
00111 #define cgsGetIntAnnotationValues cgGetIntAnnotationValues
00112 #define cgsGetStringAnnotationValue cgGetStringAnnotationValue
00113 #define cgsGetBooleanAnnotationValues cgGetBooleanAnnotationValues
00114 #define cgsGetProgramBufferMaxSize cgGetProgramBufferMaxSize
00115 #define cgsGetProgramBufferMaxIndex cgGetProgramBufferMaxIndex
00116 #define cgsGetBufferSize cgGetBufferSize
00117 #define cgsGetParameterResourceSize cgGetParameterResourceSize
00118 #define cgsGetParameterResourceType cgGetParameterResourceType
00119 #define cgsGetParameterBufferIndex cgGetParameterBufferIndex
00120 #define cgsGetParameterBufferOffset cgGetParameterBufferOffset
00121
00122 #define cgmCreateBuffer cgCreateBuffer
00123 #define cgmDestroyBuffer cgDestroyBuffer
00124 #define cgmSetBufferData cgSetBufferData
00125 #define cgmSetBufferSubData cgSetBufferSubData
00126 #define cgmSetProgramBuffer cgSetProgramBuffer
00127 #define cgmDestroyContext cgDestroyContext
00128 #define cgmIsProgram cgIsProgram
00129 #define cgmSetProgramProfile cgSetProgramProfile
00130 #define cgmGetNextParameter cgGetNextParameter
00131 #define cgmGetFirstLeafParameter cgGetFirstLeafParameter
00132 #define cgmGetNextLeafParameter cgGetNextLeafParameter
00133 #define cgmGetFirstStructParameter cgGetFirstStructParameter
00134 #define cgmGetArrayParameter cgGetArrayParameter
00135 #define cgmSetParameterValuefc cgSetParameterValuefc
00136 #define cgmSetParameterValueic cgSetParameterValueic
00137 #define cgmSetStringParameterValue cgSetStringParameterValue
00138 #define cgmCreateEffect cgCreateEffect
00139 #define cgmCreateEffectFromFile cgCreateEffectFromFile
00140 #define cgmDestroyEffect cgDestroyEffect
00141 #define cgmGetFirstTechnique cgGetFirstTechnique
00142 #define cgmGetNextTechnique cgGetNextTechnique
00143 #define cgmGetFirstPass cgGetFirstPass
00144 #define cgmGetNextPass cgGetNextPass
00145 #define cgmGetFirstStateAssignment cgGetFirstStateAssignment
00146 #define cgmGetNextStateAssignment cgGetNextStateAssignment
00147 #define cgmGetProgramStateAssignmentValue cgGetProgramStateAssignmentValue
00148 #define cgmGetTextureStateAssignmentValue cgGetTextureStateAssignmentValue
00149 #define cgmGetStateAssignmentState cgGetStateAssignmentState
00150 #define cgmGetSamplerStateAssignmentState cgGetSamplerStateAssignmentState
00151 #define cgmCreateSamplerStateAssignment cgCreateSamplerStateAssignment
00152 #define cgmGetFirstSamplerStateAssignment cgGetFirstSamplerStateAssignment
00153 #define cgmGetFirstEffectParameter cgGetFirstEffectParameter
00154 #define cgmGetFirstTechniqueAnnotation cgGetFirstTechniqueAnnotation
00155 #define cgmGetFirstPassAnnotation cgGetFirstPassAnnotation
00156 #define cgmGetFirstParameterAnnotation cgGetFirstParameterAnnotation
00157 #define cgmGetNextAnnotation cgGetNextAnnotation
00158 #define cgmCreateSamplerState cgCreateSamplerState
00159 #define cgmSetFloatStateAssignment cgSetFloatStateAssignment
00160 #define cgmSetIntStateAssignment cgSetIntStateAssignment
00161 #define cgmSetBoolStateAssignment cgSetBoolStateAssignment
00162 #define cgmSetFloatArrayStateAssignment cgSetFloatArrayStateAssignment
00163 #define cgmSetIntArrayStateAssignment cgSetIntArrayStateAssignment
00164 #define cgmSetBoolArrayStateAssignment cgSetBoolArrayStateAssignment
00165 #define cgmCreateParameter cgCreateParameter
00166
00167 #else // #ifdef NVSG_DISABLE_CG_MULTIPLEX
00168
00169 //
00170 // Types
00171 //
00172 typedef nvutil::RCVector<CGcontext> CGMcontextVec;
00173 typedef nvutil::SmartPtr<CGMcontextVec> CGMcontext;
00174 typedef nvutil::RCVector<CGeffect> CGMeffectVec;
00175 typedef nvutil::SmartPtr<CGMeffectVec> CGMeffect;
00176 typedef nvutil::RCVector<CGparameter> CGMparameterVec;
00177 typedef nvutil::SmartPtr<CGMparameterVec> CGMparameter;
00178 typedef nvutil::RCVector<CGannotation> CGMannotationVec;
00179 typedef nvutil::SmartPtr<CGMannotationVec> CGMannotation;
00180 typedef nvutil::RCVector<CGtechnique> CGMtechniqueVec;
00181 typedef nvutil::SmartPtr<CGMtechniqueVec> CGMtechnique;
00182 typedef nvutil::RCVector<CGstateassignment> CGMstateassignmentVec;
00183 typedef nvutil::SmartPtr<CGMstateassignmentVec> CGMstateassignment;
00184 typedef nvutil::RCVector<CGprogram> CGMprogramVec;
00185 typedef nvutil::SmartPtr<CGMprogramVec> CGMprogram;
00186 typedef nvutil::RCVector<CGpass> CGMpassVec;
00187 typedef nvutil::SmartPtr<CGMpassVec> CGMpass;
00188 typedef nvutil::RCVector<CGstate> CGMstateVec;
00189 typedef nvutil::SmartPtr<CGMstateVec> CGMstate;
00190 typedef nvutil::RCVector<CGprofile> CGMprofileVec;
00191 typedef nvutil::SmartPtr<CGMprofileVec> CGMprofile;
00192 typedef nvutil::RCVector<CGbuffer> CGMbufferVec;
00193 typedef nvutil::SmartPtr<CGMbufferVec> CGMbuffer;
00194
00195 // Platform dependent vector size_type to eliminate type conversion warnings
00196 // (C4267). Note: This relies on the fact that conversion from
00197 // vector<T1>::size_type to vector<T2>::size_type can be performed without
00198 // compiler warnings
00199 typedef nvutil::RCVector<int>::size_type vecsize_t;
00200
00201 namespace nvsg
00202 {
00203
00204 //
00205 // Special context creation function
00206 //
00207 CGMcontext cgfxCreateContext(int num_gpus);
00208
00209 //
00210 // Thread local access to GPU affiliated object
00211 //
00212 #if defined(_WIN32)
00213 extern NVSG_API DWORD g_cgfxAffiliateTlsKey;
00214 #elif defined(LINUX)
00215 extern pthread_key_t g_cgfxAffiliateTlsKey;
00216 #else
00217 #error Unsupported Operating System!
00218 #endif
00219
00220 inline void cgfxSetAffiliateIndex(size_t index)
00221 {
00222 #if defined(_WIN32)
00223   NVSG_ASSERT(g_cgfxAffiliateTlsKey != TLS_OUT_OF_INDEXES);
00224   TlsSetValue(g_cgfxAffiliateTlsKey, (LPVOID)index);
00225 #elif defined(LINUX)
00226   pthread_setspecific(g_cgfxAffiliateTlsKey, (void*)index);
00227 #else
00228 #error Unsupported Operating System!
00229 #endif
00230 }
00231
00232 inline size_t cgfxGetAffiliateIndex()
00233 {
00234 #if defined(_WIN32)
00235   NVSG_ASSERT(g_cgfxAffiliateTlsKey != TLS_OUT_OF_INDEXES);
00236   LPVOID val = TlsGetValue(g_cgfxAffiliateTlsKey);
00237   return *((size_t*)&val);
00238 #elif defined(LINUX)
00239   void *val = pthread_getspecific(g_cgfxAffiliateTlsKey);
00240   return *((size_t*)&val);
00241 #else
00242 #error Unsupported Operating System!
00243 #endif
00244 }
00245
00246 template <typename T>
00247 inline T cgfxGetAffiliate(nvutil::SmartPtr< nvutil::RCVector<T> > cgmVec)
00248 {
00249   NVSG_ASSERT(cgmVec);
00250
00251   size_t aff_idx = cgfxGetAffiliateIndex();
00252   NVSG_ASSERT(aff_idx >= 0 && aff_idx < cgmVec->size());
00253   return (*cgmVec)[aff_idx];
00254 }
00255
00256 }
00257 //
00258 // Single-cast functions - accept a multiplexed object, 'select' the affiliated
00259 // Cg object and invoke the appropriate Cg function
00260 //
00261
00262 // Context functions
00263 const char * cgsGetLastListing(CGMcontext ctx);
00264
00265 // Program functions
00266 CGbool cgsIsProgram(CGMprogram program);
00267 void cgsCompileProgram(CGMprogram program);
00268 CGbool cgsIsProgramCompiled(CGMprogram program);
00269 const char * cgsGetProgramString(CGMprogram prog, CGenum pname);
00270 CGprofile cgsGetProgramProfile(CGMprogram prog);
00271 CGenum cgsGetProgramInput(CGMprogram program);
00272 CGenum cgsGetProgramOutput(CGMprogram program);
00273
00274 // Parameter functions
00275 CGtype cgsGetArrayType(CGMparameter param);
00276 int cgsGetArraySize(CGMparameter param, int dimension);
00277 void cgsSetArraySize(CGMparameter param, int size);
00278 CGbool cgsIsParameter(CGMparameter param);
00279 const char * cgsGetParameterName(CGMparameter param);
00280 CGtype cgsGetParameterType(CGMparameter param);
00281 CGparameterclass cgsGetParameterClass(CGMparameter param);
00282 CGtype cgsGetParameterNamedType(CGMparameter param);
00283 const char * cgsGetParameterSemantic(CGMparameter param);
00284 CGenum cgsGetParameterDirection(CGMparameter param);
00285 CGbool cgsIsParameterReferenced(CGMparameter param);
00286 CGbool cgsIsParameterUsed(CGMparameter param, CGMeffect);
00287 const double * cgsGetParameterValues(CGMparameter param, CGenum value_type, int *nvalues);
00288 int cgsGetParameterValuefc(CGMparameter param, int n, float *vals);
00289 int cgsGetParameterValuefr(CGMparameter param, int n, float *vals);
00290 int cgsGetParameterValueic(CGMparameter param, int n, int *vals);
00291 const char * cgsGetStringParameterValue(CGMparameter param);
00292 void cgsSetParameterValuefc(CGMparameter param, int n, const float *vals);
00293 void cgsSetParameterValueic(CGMparameter param, int n, const int *vals);
00294 void cgsSetStringParameterValue(CGMparameter param, const char *str);
00295 void cgsSetMatrixParameterfc(CGMparameter param, const float *matrix);
00296
00297 CGparameter cgsGetArrayParameter( CGMparameter aparam, int index );
00298 void cgsDestroyParameter(CGparameter param);
00299 void cgsConnectParameter(CGparameter from, CGparameter to);
00300 void cgsDisconnectParameter(CGparameter param);
00301
00302 // Type Functions
00303 CGtype cgsGetNamedUserType(CGMeffect effect, const char *name);
00304 // Resource Functions
00305 // Enum Functions
00306 // Profile Functions
00307 // Error Functions
00308 // Misc Functions
00309
00310 // CgFX Functions
00311 const char * cgsGetTechniqueName(CGMtechnique);
00312 CGbool cgsIsTechnique(CGMtechnique);
00313 CGbool cgsValidateTechnique(CGMtechnique);
00314 CGbool cgsIsTechniqueValidated(CGMtechnique);
00315 CGbool cgsIsPass(CGMpass);
00316 const char * cgsGetPassName(CGMpass);
00317 void cgsSetPassState(CGMpass);
00318 void cgsResetPassState(CGMpass);
00319 CGbool cgsCallStateSetCallback(CGMstateassignment);
00320 CGbool cgsCallStateValidateCallback(CGMstateassignment);
00321 CGbool cgsCallStateResetCallback(CGMstateassignment);
00322 const float * cgsGetFloatStateAssignmentValues(CGMstateassignment, int *nVals);
00323 const int * cgsGetIntStateAssignmentValues(CGMstateassignment, int *nVals);
00324 const CGbool * cgsGetBoolStateAssignmentValues(CGMstateassignment, int *nVals);
00325 const char * cgsGetStringStateAssignmentValue(CGMstateassignment);
00326 CGtype cgsGetStateType(CGMstate);
00327 const char * cgsGetStateName(CGMstate);
00328 CGbool cgsIsAnnotation(CGMannotation);
00329 const char * cgsGetAnnotationName(CGMannotation);
00330 CGtype cgsGetAnnotationType(CGMannotation);
00331 const float * cgsGetFloatAnnotationValues(CGMannotation, int *nvalues);
00332 const int * cgsGetIntAnnotationValues(CGMannotation, int *nvalues);
00333 const char * cgsGetStringAnnotationValue(CGMannotation);
00334 const int * cgsGetBooleanAnnotationValues(CGMannotation, int *nvalues);
00335
00336 // Cg 1.5 Additions
00337 // CGobj Functions
00338
00339 // Cg 2.0 Buffer functions
00340 long cgsGetParameterResourceSize(CGMparameter);
00341 CGtype cgsGetParameterResourceType(CGMparameter);
00342 int cgsGetParameterBufferIndex(CGMparameter);
00343 int cgsGetParameterBufferOffset(CGMparameter);
00344 int cgsGetBufferSize(CGMbuffer);
00345 int cgsGetProgramBufferMaxSize(CGMprofile profile);
00346 int cgsGetProgramBufferMaxIndex(CGMprofile profile);
00347
00348 //
00349 // Multi-cast functions - accept a multiplexed object and invoke the
00350 // corresponding Cg function on all objects. Functions with output parameters or
00351 // return values will typically 'select' the affiliated Cg object to query
00352 //
00353
00354 // Context functions
00355 void cgmDestroyContext(CGMcontext ctx);
00356
00357 // Program functions
00358 void cgmSetProgramProfile(CGMprogram prog, CGprofile profile);
00359
00360 // Parameter functions
00361 CGMparameter cgmGetNextParameter(CGMparameter current);
00362 CGMparameter cgmGetFirstLeafParameter(CGMprogram prog, CGenum name_space);
00363 CGMparameter cgmGetNextLeafParameter(CGMparameter current);
00364 CGMparameter cgmGetFirstStructParameter(CGMparameter param);
00365 CGMparameter cgmGetArrayParameter(CGMparameter aparam, int index);
00366 void cgmSetParameterValuefc(CGMparameter param, int n, const float *vals);
00367 void cgmSetParameterValueic(CGMparameter param, int n, const int *vals);
00368 void cgmSetStringParameterValue(CGMparameter param, const char *str);
00369
00370 CGMparameter cgmCreateParameter(CGMcontext context, CGtype type);
00371 void cgmDestroyParameter(CGMparameter param);
00372
00373 // Type Functions
00374 // Resource Functions
00375 // Enum Functions
00376 // Profile Functions
00377 // Error Functions
00378 // Misc Functions
00379
00380 // CgFX Functions
00381 CGMeffect cgmCreateEffect(CGMcontext, const char *code, const char **args);
00382 CGMeffect cgmCreateEffectFromFile(CGMcontext, const char *filename, const char **args);
00383 void cgmDestroyEffect(CGMeffect);
00384 CGMtechnique cgmGetFirstTechnique(CGMeffect);
00385 CGMtechnique cgmGetNextTechnique(CGMtechnique);
00386 CGMpass cgmGetFirstPass(CGMtechnique);
00387 CGMpass cgmGetNextPass(CGMpass);
00388 CGMstateassignment cgmGetFirstStateAssignment(CGMpass);
00389 CGMstateassignment cgmGetNextStateAssignment(CGMstateassignment);
00390 CGMprogram cgmGetProgramStateAssignmentValue(CGMstateassignment);
00391 CGMparameter cgmGetTextureStateAssignmentValue(CGMstateassignment);
00392 CGMstate cgmGetStateAssignmentState(CGMstateassignment);
00393 CGMstate cgmGetSamplerStateAssignmentState(CGMstateassignment);
00394 CGMstateassignment cgmCreateSamplerStateAssignment(CGMparameter, CGMstate);
00395 CGMstateassignment cgmGetFirstSamplerStateAssignment(CGMparameter);
00396 CGMparameter cgmGetFirstEffectParameter(CGMeffect);
00397 CGMannotation cgmGetFirstTechniqueAnnotation(CGMtechnique);
00398 CGMannotation cgmGetFirstPassAnnotation(CGMpass);
00399 CGMannotation cgmGetFirstParameterAnnotation(CGMparameter);
00400 CGMannotation cgmGetNextAnnotation(CGMannotation);
00401
00402 // Cg 1.5 Additions
00403 CGMstate cgmCreateSamplerState(CGMcontext, const char *name, CGtype);
00404 CGbool cgmSetFloatStateAssignment(CGMstateassignment, float);
00405 CGbool cgmSetIntStateAssignment(CGMstateassignment, int);
00406 CGbool cgmSetBoolStateAssignment(CGMstateassignment, CGbool);
00407 CGbool cgmSetFloatArrayStateAssignment(CGMstateassignment, const float *vals);
00408 CGbool cgmSetIntArrayStateAssignment(CGMstateassignment, const int *vals);
00409 CGbool cgmSetBoolArrayStateAssignment(CGMstateassignment, const CGbool *vals);
00410
00411 // CGobj Functions
00412
00413 // Cg 2.0 Buffer functions
00414 CGMbuffer cgmCreateBuffer(CGMcontext, int size, const void *data, CGbufferusage bufferUsage);
00415 void cgmSetBufferData(CGMbuffer, int size, const void *data);
00416 void cgmSetBufferSubData(CGMbuffer, int offset, int size, const void *data);
00417 void cgmSetProgramBuffer(CGMprogram program, int bufferIndex, CGMbuffer buffer);
00418 void cgmDestroyBuffer(CGMbuffer buffer);
00419
00420 #endif // #if !defined(X86_64) || defined(NVSG_DISABLE_CG_MULTIPLEX) .. #else
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: ClipPlane.h File Reference

inc / nvsg / nvsg

ClipPlane.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvmath/Planent.h"
#include "nvmath/Vecnt.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for ClipPlane.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:11 2012 for SceniX


SceniX: ClipPlane.h Source File

inc / nvsg / nvsg

ClipPlane.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvmath/Planent.h"
00018 #include "nvmath/Vecnt.h"
00019 #include "nvutil/HashGenerator.h"
00020
00021 namespace nvsg
00022 {
00023
00036 class ClipPlane : public OwnedObject<Group>
00037 {
00038 public:
00039   NVSG_API static ClipPlaneSharedPtr create();
00040
00041 public:
00051   NVSG_API void setNormal(const nvmath::Vec3f& normal);
00052
00057   NVSG_API const nvmath::Vec3f& getNormal() const;
00058
00069   NVSG_API void setOffset(float offset);
00070
00075   NVSG_API float getOffset() const;
00076
00082   NVSG_API void setEnabled(bool onOff);
00083
00091   NVSG_API bool isEnabled() const;
00092
00102   NVSG_API float getDistance(const nvmath::Vec3f& point) const;
00103
00118   NVSG_API bool isInside(const nvmath::Vec3f& point) const;
00119
00130   NVSG_API virtual bool isEquivalent(const Object * object , bool ignoreNames, bool deepCompare) const;
00131
00132   REFLECTION_INFO_API( NVSG_API, ClipPlane );
00133 protected:
00134   friend struct nvutil::Holder<ClipPlane>;
00135
00141   NVSG_API ClipPlane();
00142
00149   NVSG_API ClipPlane(const ClipPlane& rhs);
00150
00154   NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00155
00156 private:
00157   nvmath::Plane3f m_plane; // internal representation
00158   bool m_enabled;
00159 };
00160
00161 inline const nvmath::Vec3f& ClipPlane::getNormal() const
00162 {
00163   NVSG_TRACE();
00164   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00165   return m_plane.getNormal();
00166 }
00167
00168 inline float ClipPlane::getOffset() const
00169 {
00170   NVSG_TRACE();
00171   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00172   return m_plane.getOffset();
00173 }
00174
00175 inline bool ClipPlane::isEnabled() const
00176 {
00177   NVSG_TRACE();
00178   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00179   return m_enabled;
00180 }
00181
00182 inline float ClipPlane::getDistance(const nvmath::Vec3f& point) const
00183 {
00184   NVSG_TRACE();
00185   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00186   return m_plane(point);
00187 }
00188
00189 inline bool ClipPlane::isInside(const nvmath::Vec3f& point) const
00190 {
00191   NVSG_TRACE();
00192   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00193   return m_plane(point) >= 0.0f;
00194 }
00195
00196 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: ConvertPrimitivesTraverser.h File Reference

inc / nvsg / nvtraverser

ConvertPrimitivesTraverser.h File Reference

#include <list>
#include <map>
#include <set>
#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/Primitive.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for ConvertPrimitivesTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:11 2012 for SceniX


SceniX: ConvertPrimitivesTraverser.h Source File

inc / nvsg / nvtraverser

ConvertPrimitivesTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <list>
00016 #include <map>
00017 #include <set>
00018 #include "nvsgcommon.h"
00019 #include "nvsg/nvsg.h"
00020 #include "nvsg/CoreTypes.h"
00021 #include "nvsg/Primitive.h"
00022 #include "nvtraverser/Traverser.h"
00023
00024 namespace nvtraverser
00025 {
00027   // \note Currently works with QUADS, TRIANGLES.
00028   class ConvertPrimitivesTraverser : public ExclusiveTraverser
00029   {
00030     public:
00032       NVSG_API ConvertPrimitivesTraverser(void);
00033
00034     protected:
00036       NVSG_API virtual ~ConvertPrimitivesTraverser(void);
00037
00038       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00039       NVSG_API virtual void postApply( const nvsg::NodeSharedPtr & root );
00040
00041       NVSG_API virtual void handleFlipbookAnimation( nvsg::FlipbookAnimation * p );
00042       NVSG_API virtual void handleLOD( nvsg::LOD * p );
00043       NVSG_API virtual void handleSwitch( nvsg::Switch * p );
00044
00045       NVSG_API virtual void handleGeoNode( nvsg::GeoNode *p );
00046
00047       // independent primitive sets
00048       NVSG_API virtual void handlePoints( nvsg::Points * p );
00049       NVSG_API virtual void handleLines( nvsg::Lines * p );
00050       NVSG_API virtual void handleTriangles( nvsg::Triangles *p );
00051       NVSG_API virtual void handleQuads( nvsg::Quads *p );
00052
00053       // stripped primitive sets
00054       NVSG_API virtual void handleLineStrips( nvsg::LineStrips * p );
00055       NVSG_API virtual void handleTriStrips( nvsg::TriStrips * p );
00056       NVSG_API virtual void handleTriFans( nvsg::TriFans * p );
00057       NVSG_API virtual void handleQuadStrips( nvsg::QuadStrips * p );
00058
00059       // meshed primitive sets
00060       NVSG_API virtual void handleQuadMeshes( nvsg::QuadMeshes * p );
00061
00063       NVSG_API virtual void handleSkin( nvsg::Skin * p );
00064
00065       NVSG_API nvsg::PrimitiveSharedPtr convertPrimitive( nvsg::PrimitiveType primitiveType, const nvsg::IndependentPrimitiveSetWeakPtr & ip );
00066       NVSG_API nvsg::PrimitiveSharedPtr convertPrimitive( nvsg::PrimitiveType primitiveType, const nvsg::StrippedPrimitiveSetWeakPtr & sp );
00067       NVSG_API nvsg::PrimitiveSharedPtr convertPrimitive( nvsg::PrimitiveType primitiveType, const nvsg::MeshedPrimitiveSetWeakPtr & sp );
00068
00069     private:
00070       std::vector< std::pair<nvsg::PrimitiveType, nvsg::IndependentPrimitiveSetWeakPtr> > m_independentPrimitives;
00071       std::vector< std::pair<nvsg::PrimitiveType, nvsg::StrippedPrimitiveSetWeakPtr> >    m_strippedPrimitives;
00072       std::vector< std::pair<nvsg::PrimitiveType, nvsg::MeshedPrimitiveSetWeakPtr> >      m_meshedPrimitives;
00073
00074       std::set<nvsg::GeoNodeWeakPtr>     m_handledGeoNodes;
00075   };
00076
00077 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CPUSkinningProcessor.h File Reference

inc / nvsg / nvtraverser

CPUSkinningProcessor.h File Reference

#include "nvsgcommon.h"
#include "AppTraverser.h"

Include dependency graph for CPUSkinningProcessor.h:

Go to the source code of this file.

Namespaces

namespace | nvgl
namespace | nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:12 2012 for SceniX


SceniX: CPUSkinningProcessor.h Source File

inc / nvsg / nvtraverser

CPUSkinningProcessor.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "AppTraverser.h"
00017
00018 namespace nvgl
00019 {
00020   struct GLArrayBufferCache;
00021 }
00022
00023 namespace nvtraverser
00024 {
00026
00028   class CPUSkinningProcessor : public AppTraverser::SkinningProcessor
00029   {
00030     public:
00032       NVSG_API CPUSkinningProcessor();
00033
00035       NVSG_API virtual void process( bool process );
00036       NVSG_API virtual AppTraverser::SkinningProcessorType getType();
00037
00039       static NVSG_API bool isSupported( void );
00040
00041     protected:
00042       NVSG_API virtual void processSkin( const nvsg::SkinSharedPtr & skinwp, const nvsg::VertexAttributeSetSharedPtr & vaswp );
00043       NVSG_API virtual ~CPUSkinningProcessor();
00044   };
00045
00046 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DAL.h File Reference

inc / nvsg / nvsg

DAL.h File Reference

#include "nvsgcommon.h"
#include <vector>
#include <map>
#include "nvsg/CoreTypes.h"
#include "nvutil/HandledObject.h"
#include "nvutil/Singleton.h"
#include "nvutil/SWMRSync.h"
#include "nvutil/WritableObject.h"

Include dependency graph for DAL.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Typedefs

typedef unsigned long | HDAL
Handle to a Device Abstraction Link (DAL).

Functions

THREADID | getCallingThread ()

Variables

class class typedef DWORD | THREADID
NVSG_API const HDAL | HDAL_INVALID
Indicates a invalid handle value.

Detailed Description

Typedef Documentation

typedef unsigned long HDAL

Handle to a Device Abstraction Link (DAL).

Variable Documentation

NVSG_API const HDAL HDAL_INVALID

Indicates a invalid handle value.

Generated on Fri Jul 13 13:27:13 2012 for SceniX


SceniX: DAL.h Source File

inc / nvsg / nvsg

DAL.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <vector>
00018 #include <map>
00019 #include "nvsg/CoreTypes.h"
00020 #include "nvutil/HandledObject.h"
00021 #include "nvutil/Singleton.h"
00022 #include "nvutil/SWMRSync.h"
00023 #include "nvutil/WritableObject.h"
00024
00025 namespace nvsg
00026 {
00027 class DALServer;
00028 class DALData;
00029 class DALHost;
00030
00031 #if defined(_WIN32)
00032 typedef DWORD THREADID;
00033 #elif defined(LINUX)
00034 typedef pthread_t THREADID;
00035 #else
00036 #error Unsupported Operating System!
00037 #endif
00038
00040 typedef unsigned long HDAL;
00042 extern NVSG_API const HDAL HDAL_INVALID;
00043
00044 inline THREADID getCallingThread()
00045 {
00046 #if defined(_WIN32)
00047   return GetCurrentThreadId();
00048 #elif defined(LINUX)
00049   return pthread_self();
00050 #endif
00051 }
00052
00053 class DALHostHolder
00054 {
00055 public:
00056   NVSG_API DALHostHolder();
00057   NVSG_API virtual ~DALHostHolder();
00058   NVSG_API DALHostHolder(const DALHostHolder& rhs);
00059   NVSG_API DALHostHolder& operator=(const DALHostHolder& rhs);
00060
00061   NVSG_API DALHostWeakPtr getDALHost() const { return( m_host.get() ); }
00062   NVSG_API void releaseDALData();
00063
00064 private:
00065   DALHostSharedPtr m_host;
00066 };
00067
00077 class DALHost : public nvutil::HandledObject
00078 {
00079 #if !defined(DOXYGEN_IGNORE)
00080   friend class DALServer;
00081 #endif
00082
00083 public:
00084   NVSG_API static DALHostSharedPtr create();
00085
00086 public:
00118   NVSG_API HDAL storeDeviceAbstractionLinkData(unsigned int dataID, DALData * data);
00119
00128   NVSG_API void releaseDeviceAbstractionLinkData();
00129
00157   template<typename DALDataType, typename TestFunc>
00158   bool getDeviceAbstractionLinkData(unsigned int dataID, DALDataType *& cache, TestFunc test) const;
00159
00197   NVSG_API DALData * getLastRecentlyUsedDeviceAbstractionLinkData() const;
00198
00199 #if !defined(DOXYGEN_IGNORE)
00200 protected:
00201   friend struct nvutil::Holder<DALHost>;
00202   DALHost();
00203   DALHost(const DALHost&);
00204   ~DALHost();
00205   DALHost & operator=(const DALHost & rhs) {return *this;}
00206 private:
00207   HDAL m_hdal;
00208   mutable std::map<THREADID, DALData*> m_recent; // per-thread recent data
00209   typedef std::map<THREADID, DALData*>::iterator RecentIter;
00210   typedef std::map<THREADID, DALData*>::const_iterator ConstRecentIter;
00211 #endif
00212 };
00213
00220 class DALDataCreator
00221 {
00222 public:
00223 #if !defined(DOXYGEN_IGNORE)
00224   virtual ~DALDataCreator() {}
00225 #endif
00226
00243   virtual void onReleaseDAL(HDAL hDAL) {}
00244
00245 protected:
00246 #if !defined(DOXYGEN_IGNORE)
00247   // DALDataCreator serves as base class only.
00248   DALDataCreator() {}
00249 #endif
00250
00265   NVSG_API void releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID);
00266 };
00267
00278 class DALData
00279 {
00280 #if !defined(DOXYGEN_IGNORE)
00281   friend class DALServer;
00282   friend class DALDataCreator;
00283   friend class DALHost;
00284 protected:
00285   NVSG_API virtual ~DALData();
00286 #endif
00287
00288 public:
00289
00293   enum
00294   {
00295     DT_INVALID = ~0
00296   , DT_DALDATA = 0
00297   , DT_GLDALDATA
00298   , DT_GLARRAYBUFFERCACHE
00299   , DT_GLDISPLAYLISTCACHE
00300   , DT_GLTEXTURECACHE
00301   , DT_GLELEMENTARRAYBUFFERCACHE
00302   , DT_GLPIXELBUFFERCACHE
00303
00304   , DT_RTDALDATA
00305   , DT_RTBUFFERCACHE
00306   , DT_RTVASBUFFERCACHE
00307   , DT_RTSELECTORCACHE
00308   , DT_RTTRANSFORMCACHE
00309   , DT_RTGEOMETRYGROUPCACHE
00310   , DT_RTMATERIALCACHE
00311   , DT_RTFXSCENEATTRIBUTECACHE
00312   , DT_RTGROUPCACHE
00313   , DT_RTGEOMETRYCACHE
00314   , DT_RTTEXTURESAMPLERCACHE
00315
00316   , DT_CUSTOMDALDATA = 128
00317   };
00318
00328   NVSG_API unsigned int getUserID() const;
00329
00335   NVSG_API void setUserID( unsigned int userID );
00336
00344   NVSG_API bool verifyCreator(const DALDataCreator * creator) const;
00345
00346   /* \brief Determine whether the object is of type typeId.
00347    * \remarks A class that derives from DALData should override isTypeOf()
00348    * and extend the DALData type enum. The isTypeOf() function should look
00349    * somewhat like this, to enable recursive type
00350    * class DALDataPrime : public DALData
00351    * {
00352    *   public:
00353    *   virtual bool isTypeOf( int typeId ) const
00354    *   {
00355    *     return typeId == DT_DALDATAPRIME || DALData::isTypeOf( typeId );
00356    *   }
00357    * };
00358    */
00359   NVSG_API virtual bool isTypeOf( int typeId ) const { return typeId == DT_DALDATA; };
00360
00361 protected:
00369   NVSG_API DALData(DALDataCreator * creator);
00370
00381   NVSG_API virtual void deleteThis() { delete this; }
00382
00383 #if !defined(DOXYGEN_IGNORE)
00384 private:
00385   DALDataCreator  * m_creator;
00386   DALHostWeakPtr m_host;
00387   unsigned int      m_userID;
00388 #endif
00389 };
00390
00391 inline unsigned int DALData::getUserID() const
00392 {
00393   return( m_userID );
00394 }
00395
00396 inline void DALData::setUserID( unsigned int userID )
00397 {
00398   m_userID = userID;
00399 }
00400
00401 inline bool DALData::verifyCreator(const DALDataCreator * creator) const
00402 {
00403   return creator == m_creator;
00404 }
00405
00406 #if !defined(DOXYGEN_IGNORE)
00407 // Device Abstraction Link Server - implementation details
00408 class DALServer
00409 {
00410   friend class DALDataCreator;
00411   friend class DALHost;
00412
00413 public:
00414   // Initializes the DALServer at instantiation
00415   NVSG_API DALServer();
00416   // Cleanup after deletion
00417   NVSG_API ~DALServer();
00418 private:
00419   // Attaches the data identified by \a dataID and pointed to by \a data
00420   // to the Device Abstraction Link (DAL) identified by \a hDAL.
00421   // If HDAL_INVALID is passed for \a hDAL, a new DAL will be created first.
00422   // \returns A handle to the Device Abstraction Link or DAL_INVALID if the function fails.
00423   NVSG_API HDAL storeDALData(HDAL hDAL, unsigned int dataID, DALData* data);
00424   // Releases the data identified by \a dataID that was attached to the DAL identified by \a hDAL
00425   // by the creator pointed to by \a creator.
00426   // If 0xFFFFFFFF is passed for \a dataID, all data that was attached to the DAL identified by \a hDAL
00427   // by the creator pointed to by \a creator will be released.
00428   // If NULL is passed for \a creator, all data attached to the DAL identified by \a hDAL will be released
00429   // and the DAL will be deleted afterwards.
00430   NVSG_API void releaseDALData(HDAL hDAL, DALDataCreator * creator=NULL, unsigned int dataID=0xFFFFFFFF);
00431   // Provides all addresses of the data objects identified by \a dataID that are currently stored
00432   // with the DAL identified by \a hDAL.
00433   // The addresses of the data objects will be copied to the vector referenced by \a data.
00434   NVSG_API bool getDALData(HDAL hDAL, unsigned int dataID, std::vector<DALData*>& data) const;
00435
00436   // Calls delete this on the data pointer passed
00437   NVSG_API void deleteDALData(DALData * data);
00438
00439 private:
00440   std::map<HDAL, std::multimap<unsigned int, DALData*> > m_DALMap; // map of DALs
00441   std::vector<HDAL> m_freeHDALs; // free DAL handles can be re-used
00442   HDAL m_hDALNext; // use this if no handle is available for re-use
00443
00444   nvutil::SWMRSync m_lock; // secure access to the singleton server in a multi-threaded environment
00445 };
00446
00447 typedef nvutil::Singleton<DALServer> DALS;
00448
00449 #endif // DOXYGEN_IGNORE
00450
00451 inline void DALHostHolder::releaseDALData()
00452 {
00453   NVSG_TRACE();
00454   nvsg::DALHostWriteLock host(m_host);
00455   host->releaseDeviceAbstractionLinkData();
00456 }
00457
00458 inline HDAL DALHost::storeDeviceAbstractionLinkData(unsigned int dataID, DALData * data)
00459 {
00460   NVSG_TRACE();
00461   NVSG_ASSERT(data); // do not like bad data
00462   NVSG_ASSERT(data->m_host==NULL); // data must not be hosted by anyone else
00463
00464   m_hdal = DALS::instance()->storeDALData(m_hdal, dataID, data);
00465   if ( HDAL_INVALID != m_hdal )
00466   {
00467     data->m_host = nvutil::getWeakPtr<DALHost>(this);
00468     m_recent[getCallingThread()] = data;
00469   }
00470   return m_hdal;
00471 }
00472
00473 inline void DALHost::releaseDeviceAbstractionLinkData()
00474 {
00475   NVSG_TRACE();
00476
00477   // HDAL_INVALID means no data hosted
00478   if ( HDAL_INVALID != m_hdal )
00479   {
00480     // release all data hosted
00481     //
00482     DALS::instance()->releaseDALData(m_hdal);
00483     m_recent.clear();
00484     m_hdal = HDAL_INVALID;
00485   }
00486 }
00487
00488 template <typename DALDataType, typename TestFunc>
00489 inline bool DALHost::getDeviceAbstractionLinkData(unsigned int dataID, DALDataType *& data, TestFunc test) const
00490 {
00491   NVSG_TRACE();
00492
00493   data = NULL;
00494   std::vector<DALData*> caches;
00495
00496   if ( DALS::instance()->getDALData(m_hdal, dataID, caches) )
00497   {
00498     for ( std::vector<DALData*>::iterator i = caches.begin(); i!=caches.end(); ++i )
00499     {
00500       DALDataType * theData = dynamic_cast<DALDataType*>(*i);
00501       if ( theData && test(theData) )
00502       {
00503         m_recent[getCallingThread()] = theData;
00504         data = theData;
00505         return true;
00506       }
00507     }
00508   }
00509   return false;
00510 }
00511
00512 inline DALData * DALHost::getLastRecentlyUsedDeviceAbstractionLinkData() const
00513 {
00514   NVSG_TRACE();
00515   ConstRecentIter ri = m_recent.find(getCallingThread());
00516   if ( m_recent.end() == ri )
00517   {
00518     return NULL;
00519   }
00520   return ri->second;
00521 }
00522
00523 inline void DALDataCreator::releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID)
00524 {
00525   NVSG_TRACE();
00526   NVSG_ASSERT(hDAL != HDAL_INVALID);
00527   DALS::instance()->releaseDALData(hDAL, this, dataID);
00528 }
00529
00530 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DeindexTraverser.h File Reference

inc / nvsg / nvtraverser

DeindexTraverser.h File Reference

#include <set>
#include <vector>
#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/Primitive.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for DeindexTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:14 2012 for SceniX


SceniX: DeindexTraverser.h Source File

inc / nvsg / nvtraverser

DeindexTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <set>
00016 #include <vector>
00017
00018 #include "nvsgcommon.h"
00019 #include "nvsg/nvsg.h"
00020 #include "nvsg/CoreTypes.h"
00021 #include "nvsg/Primitive.h"
00022 #include "nvtraverser/Traverser.h"
00023
00024 namespace nvtraverser
00025 {
00027   // \note Use with care! This traverser expands VertexAttributeSets shared by multiple Primitives unconditionally.
00028   // The resulting Primitives will have their own non-indexed VertexAttributeSet after the DeindexTraverser has been applied.
00029   // Stripped primitives with primitive restart indices cannot be expanded to single Primitives, that is why
00030   // the DeindexTraverser::doApply() function will run a DestrippingTraverser over the scene first.
00031   // Skinned primitives will retain their IndexSet because skinning is only implemented for indexed primitives.
00032   class DeindexTraverser : public ExclusiveTraverser
00033   {
00034     public:
00036       NVSG_API DeindexTraverser(void);
00037
00038     protected:
00040       NVSG_API virtual ~DeindexTraverser(void);
00041
00042       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00043       NVSG_API virtual void handlePrimitive( nvsg::Primitive *p );
00044   };
00045
00046 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DepthAttribute.h File Reference

inc / nvsg / nvsg

DepthAttribute.h File Reference

#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for DepthAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Enumerations

enum DepthFunction {
DF_NEVER, DF_ALWAYS, DF_LESS, DF_LESS_OR_EQUAL,
DF_EQUAL, DF_GREATER_OR_EQUAL, DF_GREATER, DF_NOT_EQUAL
}
Enumeration to identify a depth function. More...

Detailed Description

Enumeration Type Documentation

enum DepthFunction

Enumeration to identify a depth function.

Namespace: nvsg
Remarks:
On rendering, an incoming fragment passes the depth test if its z value has the specified relation to the value already stored in the depth buffer. The default is DF_LESS, which means that an incoming fragment passes the test if its z value is less than that already stored in the depth buffer. In this case, the z value represents the distance from the object to the viewpoint, and smaller values mean the corresponding objects are closer to the viewpoint.
See also:
DepthAttribute

Generated on Fri Jul 13 13:27:14 2012 for SceniX


SceniX: DepthAttribute.h Source File

inc / nvsg / nvsg

DepthAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00016 #include "nvsg/StateAttribute.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00030   typedef enum
00031   {
00032     DF_NEVER,
00033     DF_ALWAYS,
00034     DF_LESS,
00035     DF_LESS_OR_EQUAL,
00036     DF_EQUAL,
00037     DF_GREATER_OR_EQUAL,
00038     DF_GREATER,
00039     DF_NOT_EQUAL
00040   } DepthFunction;
00041
00051   class DepthAttribute : public StateAttribute
00052   {
00053     public:
00054       NVSG_API static DepthAttributeSharedPtr create();
00055
00061       NVSG_API static bool isDepthClampingSupported();
00062
00063     public:
00067       NVSG_API nvsg::DepthFunction getDepthFunction() const;
00068
00072       NVSG_API void setDepthFunction( nvsg::DepthFunction df );
00073
00077       NVSG_API bool isDepthWritingEnabled() const;
00078
00082       NVSG_API void setDepthWritingEnabled( bool enabled );
00083
00087       NVSG_API bool isDepthTestingEnabled() const;
00088
00092       NVSG_API void setDepthTestingEnabled( bool enabled );
00093
00097       NVSG_API bool isDepthClampingEnabled() const;
00098
00103       NVSG_API void setDepthClampingEnabled( bool enabled );
00104
00114       NVSG_API virtual bool isEquivalent( const Object * p
00115                                         , bool ignoreNames
00116                                         , bool deepCompare ) const;
00117
00124       NVSG_API DepthAttribute & operator=( const DepthAttribute & rhs );
00125
00126       REFLECTION_INFO_API( NVSG_API, DepthAttribute );
00127     protected:
00128       friend struct nvutil::Holder<DepthAttribute>;
00129
00133       NVSG_API DepthAttribute();
00134
00136       NVSG_API DepthAttribute( const DepthAttribute &rhs );
00137
00139       NVSG_API virtual ~DepthAttribute();
00140
00144       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00145
00146     private:
00147       DepthFunction m_depthFunction;
00148       bool          m_depthTesting;
00149       bool          m_depthWriting;
00150       bool          m_depthClamping;
00151   };
00152
00153   inline DepthFunction DepthAttribute::getDepthFunction() const
00154   {
00155     NVSG_TRACE();
00156     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00157     return( m_depthFunction );
00158   }
00159
00160   inline bool DepthAttribute::isDepthTestingEnabled() const
00161   {
00162     NVSG_TRACE();
00163     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00164     return( m_depthTesting );
00165   }
00166
00167   inline bool DepthAttribute::isDepthWritingEnabled() const
00168   {
00169     NVSG_TRACE();
00170     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00171     return( m_depthWriting );
00172   }
00173
00174   inline bool DepthAttribute::isDepthClampingEnabled() const
00175   {
00176     NVSG_TRACE();
00177     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00178     return( m_depthClamping );
00179   }
00180
00181 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DestrippingTraverser.h File Reference

inc / nvsg / nvtraverser

DestrippingTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for DestrippingTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:15 2012 for SceniX


SceniX: DestrippingTraverser.h Source File

inc / nvsg / nvtraverser

DestrippingTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvtraverser/Traverser.h"
00017
00018 namespace nvtraverser
00019 {
00029   class DestrippingTraverser : public ExclusiveTraverser
00030   {
00031     public:
00034       NVSG_API DestrippingTraverser(void);
00035
00036     protected:
00040       NVSG_API virtual ~DestrippingTraverser(void);
00041
00047       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00048
00055       NVSG_API virtual void handleGeoNode( nvsg::GeoNode * p );
00056
00060       NVSG_API virtual void handleLineStrips( nvsg::LineStrips *p );
00061
00064       NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00065
00069       NVSG_API virtual void handleQuadStrips( nvsg::QuadStrips *p );
00070
00074       NVSG_API virtual void handleTriFans( nvsg::TriFans *p );
00075
00079       NVSG_API virtual void handleTriStrips( nvsg::TriStrips *p );
00080
00083       NVSG_API virtual bool optimizationAllowed( const nvsg::Object *p );
00084
00085     private:
00086       nvsg::LinesSharedPtr      createLinesFromLineStrips( const nvsg::LineStripsWeakPtr & ls );
00087       nvsg::QuadsSharedPtr      createQuadsFromQuadStrips( const nvsg::QuadStripsWeakPtr & qs );
00088       nvsg::TrianglesSharedPtr  createTrianglesFromTriFans( const nvsg::TriFansWeakPtr & tf );
00089       nvsg::TrianglesSharedPtr  createTrianglesFromTriStrips( const nvsg::TriStripsWeakPtr & ts );
00090
00091     private:
00092       std::vector<nvsg::LineStripsWeakPtr>                      m_lineStrips;
00093       std::map<nvsg::LineStripsWeakPtr,nvsg::LinesSharedPtr>    m_lineStripsToLines;
00094       std::vector<nvsg::QuadStripsWeakPtr>                      m_quadStrips;
00095       std::map<nvsg::QuadStripsWeakPtr,nvsg::QuadsSharedPtr>    m_quadStripsToQuads;
00096       std::vector<nvsg::TriFansWeakPtr>                         m_triFans;
00097       std::map<nvsg::TriFansWeakPtr,nvsg::TrianglesSharedPtr>   m_triFansToTriangles;
00098       std::vector<nvsg::TriStripsWeakPtr>                       m_triStrips;
00099       std::map<nvsg::TriStripsWeakPtr,nvsg::TrianglesSharedPtr> m_triStripsToTriangles;
00100   };
00101 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DirectedLight.h File Reference

inc / nvsg / nvsg

DirectedLight.h File Reference

#include "nvsg/LightSource.h"

Include dependency graph for DirectedLight.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:15 2012 for SceniX


SceniX: DirectedLight.h Source File

inc / nvsg / nvsg

DirectedLight.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/LightSource.h"
00016
00017 namespace nvsg
00018 {
00024   class DirectedLight : public LightSource
00025   {
00026     public:
00027       NVSG_API static DirectedLightSharedPtr create();
00028
00029     public:
00030       NVSG_API virtual void syncEffectLight(CgFxEffect * fx, CgFxParameter fxLight, const nvmath::Mat44f& modelToWorld) const;
00031       NVSG_API virtual void syncMetaSLLightParameters(CgFxEffect * fx, unsigned int light, const nvmath::Mat44f& world, const nvmath::Mat44f& view) const;
00032
00037       NVSG_API nvmath::Vec3f getDirection() const;
00038
00045       NVSG_API void setDirection( const nvmath::Vec3f & direction );
00046
00052       NVSG_API const nvmath::Quatf & getOrientation() const;
00053
00060       NVSG_API void setOrientation( const nvmath::Quatf & orientation );
00061
00067       NVSG_API DirectedLight & operator=( const DirectedLight & rhs );
00068
00069     protected:
00070       friend struct nvutil::Holder<DirectedLight>;
00071
00074       NVSG_API DirectedLight();
00075
00078       NVSG_API DirectedLight( const DirectedLight &rhs );
00079
00082       NVSG_API virtual ~DirectedLight();
00083
00084     public:
00085       // reflected properties
00086
00087       REFLECTION_INFO_API( NVSG_API, DirectedLight );
00088       BEGIN_DECLARE_STATIC_PROPERTIES
00089           NVSG_API DECLARE_STATIC_PROPERTY( Direction );
00090           NVSG_API DECLARE_STATIC_PROPERTY( Orientation );
00091       END_DECLARE_STATIC_PROPERTIES
00092   };
00093
00094   inline nvmath::Vec3f DirectedLight::getDirection() const
00095   {
00096     NVSG_TRACE();
00097     // exploit return value optimization by returning a constructor call
00098     return nvmath::Vec3f(nvmath::Vec3f (0.f, 0.f, -1.f) * getOrientation());
00099   }
00100
00101 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Drawable.h File Reference

inc / nvsg / nvsg

Drawable.h File Reference

#include "nvsg/OwnedObject.h"
#include "nvsg/VertexAttributeSet.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/SmartPtr.h"

Include dependency graph for Drawable.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

NVSG_API void | copy (const DrawableReadLock &src, const DrawableWriteLock &dst)

Detailed Description

Generated on Fri Jul 13 13:27:16 2012 for SceniX


SceniX: Drawable.h Source File

inc / nvsg / nvsg

Drawable.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/OwnedObject.h"
00016 #include "nvsg/VertexAttributeSet.h"
00017 #include "nvutil/HashGenerator.h"
00018 #include "nvutil/SmartPtr.h"
00019
00020 namespace nvsg
00021 {
00022
00132   class DrawCallback : public nvutil::RCObject
00133   {
00134   public:
00144     virtual bool preDraw(const Drawable * p) { return true; };
00145
00158     virtual bool draw(const Drawable * p) { return false; }
00159
00168     virtual void postDraw(const Drawable * p) {}
00169
00170   protected:
00171     virtual ~DrawCallback() {}
00172   };
00173
00180   class Drawable : public OwnedObject<Object>
00181   {
00182     public:
00185       NVSG_API virtual ~Drawable( void );
00186
00194       NVSG_API bool generateNormals(bool overwrite = true);
00195
00210       NVSG_API void generateTexCoords( TextureCoordType type,
00211                                        unsigned int texcoords = VertexAttributeSet::NVSG_TEXCOORD0,
00212                                        bool overwrite = true );
00213
00233       NVSG_API void generateTangentSpace( unsigned int texcoords = VertexAttributeSet::NVSG_TEXCOORD0,
00234                                           unsigned int tangents  = VertexAttributeSet::NVSG_TANGENT,
00235                                           unsigned int binormals = VertexAttributeSet::NVSG_BINORMAL,
00236                                           bool overwrite = true );
00237
00238       using Object::getBoundingBox;
00239       using Object::getBoundingSphere;
00240
00247       NVSG_API virtual void setDrawCallback(DrawCallback * cb);
00248
00252       NVSG_API DrawCallback * getDrawCallback() const;
00253
00254       REFLECTION_INFO_API( NVSG_API, Drawable );
00255     protected:
00260       NVSG_API Drawable();
00261
00266       NVSG_API Drawable( const Drawable& );
00267
00275       NVSG_API virtual bool calculateNormals(bool overwrite);
00276
00289       NVSG_API virtual void calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite);
00290
00307       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00308
00309       NVSG_API virtual const nvmath::Box3f & getBoundingBox( bool recalculate ) const;
00310       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( bool recalculate ) const;
00311
00318       NVSG_API Drawable & operator=(const Drawable & rhs);
00319
00320     private:
00321       nvutil::SmartPtr<DrawCallback>  m_drawCB;
00322
00323       mutable nvmath::Box3f     m_boundingBox;
00324       mutable nvmath::Sphere3f  m_boundingSphere;
00325   };
00326
00327   NVSG_API void copy( const DrawableReadLock & src, const DrawableWriteLock & dst );
00328
00329   inline void Drawable::setDrawCallback(DrawCallback * cb)
00330   {
00331     NVSG_TRACE();
00332
00333     if ( cb && !m_drawCB || !cb && m_drawCB )
00334     {
00335       // a transfer from no callback to callback or vice versa
00336       // requires a RL rebuild
00337       notifyChange( this, NVSG_TREE_INCARNATION );
00338     }
00339
00340     m_drawCB = cb;
00341   }
00342
00343   inline DrawCallback * Drawable::getDrawCallback() const
00344   {
00345     NVSG_TRACE();
00346     return m_drawCB.get();
00347   }
00348
00349 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: EliminateTraverser.h File Reference

inc / nvsg / nvtraverser

EliminateTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/OptimizeTraverser.h"

Include dependency graph for EliminateTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:17 2012 for SceniX


SceniX: EliminateTraverser.h Source File

inc / nvsg / nvtraverser

EliminateTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include "nvtraverser/OptimizeTraverser.h"
00018
00019 namespace nvtraverser
00020 {
00031   class EliminateTraverser : public OptimizeTraverser
00032   {
00033     public:
00034       enum
00035       {
00036         ET_GROUP                  = BIT0,
00037         ET_INDEX_SET              = BIT1,
00038         ET_LOD                    = BIT2,
00039         ET_STATE_PASS             = BIT3,
00040         ET_STATE_SET              = BIT4,
00041         ET_STATE_VARIANT          = BIT5,
00042         ET_TEXTURE_ATTRIBUTE      = BIT6,
00043         ET_TEXTURE_ATTRIBUTE_ITEM = BIT7,
00044         ET_ALL_TARGETS_MASK   = ( ET_GROUP | ET_INDEX_SET | ET_LOD | ET_STATE_PASS | ET_STATE_SET
00045                                 | ET_STATE_VARIANT | ET_TEXTURE_ATTRIBUTE
00046                                 | ET_TEXTURE_ATTRIBUTE_ITEM )
00047       } EliminateTarget;
00048
00049     public:
00051       NVSG_API EliminateTraverser( void );
00052
00055       NVSG_API unsigned int getEliminateTargets() const;
00056
00059       NVSG_API void setEliminateTargets( unsigned int mask );
00060
00061       REFLECTION_INFO_API( NVSG_API, EliminateTraverser );
00062       BEGIN_DECLARE_STATIC_PROPERTIES
00063           NVSG_API DECLARE_STATIC_PROPERTY( EliminateTargets );
00064       END_DECLARE_STATIC_PROPERTIES
00065     protected:
00067       NVSG_API virtual ~EliminateTraverser( void );
00068
00070       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00071
00073
00074       NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform *p );
00075
00077       NVSG_API virtual void handleBillboard( nvsg::Billboard *p );
00078
00080       NVSG_API virtual void handleFlipbookAnimation( nvsg::FlipbookAnimation * p );
00081
00082       NVSG_API virtual void handleGeoNode( nvsg::GeoNode * p );
00083
00085       NVSG_API virtual void handleGroup( nvsg::Group * p );
00086
00088       NVSG_API virtual void handleLOD( nvsg::LOD *p );
00089
00090       NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00091
00092       NVSG_API virtual void handleStatePass( nvsg::StatePass * p );
00093
00094       NVSG_API virtual void handleStateSet( nvsg::StateSet * p );
00095
00096       NVSG_API virtual void handleStateVariant( nvsg::StateVariant * p );
00097
00099       NVSG_API virtual void handleSwitch( nvsg::Switch *p );
00100
00101       NVSG_API virtual void handleTextureAttribute( nvsg::TextureAttribute * p );
00102
00104       NVSG_API virtual void handleTransform( nvsg::Transform *p );
00105     private:
00106       void eliminateGroups( nvsg::Group *p );
00107       void eliminateSingleChildChildren( nvsg::Group *p, unsigned int objectCode );
00108       bool isOneChildCandidate( const nvsg::Group * p );
00109
00110     private:
00111       unsigned int m_eliminateTargets;
00112   };
00113
00114   inline unsigned int EliminateTraverser::getEliminateTargets() const
00115   {
00116     return( m_eliminateTargets );
00117   }
00118
00119   inline void EliminateTraverser::setEliminateTargets( unsigned int mask )
00120   {
00121     if ( mask != m_eliminateTargets )
00122     {
00123       m_eliminateTargets = mask;
00124       notify( PID_EliminateTargets );
00125     }
00126   }
00127 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: ErrorHandling.h File Reference

inc / nvsg / nvsg

ErrorHandling.h File Reference

#include "nvsgcommon.h"
#include <string>

Include dependency graph for ErrorHandling.h:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

typedef void | NVSGERRORHANDLER (const NVSGException &)
NVSGERRORHANDLER * | nvsgSetErrorHandler (NVSGERRORHANDLER *newErrorHandler)

Variables

NVSGERRORHANDLER * | nvsgErrorHandler

Detailed Description

Function Documentation

class typedef void NVSGERRORHANDLER ( const NVSGException & )

A SceniX error handler routine is of this type

NVSGERRORHANDLER* nvsgSetErrorHandler ( NVSGERRORHANDLER * newErrorHandler )

Replace the current SceniX error handler by newErrorHandler

Parameters

  • newErrorHandler The replacement for the currently used SceniX error handler routine.

Return Value A pointer to the formerly used error handler routine.

Variable Documentation

NVSGERRORHANDLER* nvsgErrorHandler

Global pointer to the currently used SceniX error handler routine. Use the nvsgSetErrorHandler function to assign a new error handler routine .

Generated on Fri Jul 13 13:27:17 2012 for SceniX


SceniX: ErrorHandling.h Source File

inc / nvsg / nvsg

ErrorHandling.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <string>
00018
00019 namespace nvsg
00020 {
00021 // forward declaration
00022 class NVSGException;
00024 typedef void NVSGERRORHANDLER(const NVSGException&);
00025
00029 extern NVSGERRORHANDLER * nvsgErrorHandler;
00039 NVSGERRORHANDLER * nvsgSetErrorHandler(NVSGERRORHANDLER * newErrorHandler);
00040
00044 class NVSGException
00045 {
00046 public:
00055   NVSGException(bool critical, const std::string& errMsg) : m_critical(critical), m_errMsg(errMsg) {}
00069   NVSGException(bool critical, unsigned int errMsgID) {}
00070   virtual ~NVSGException() {}
00071
00082   virtual bool isCritical() const;
00088   virtual const std::string& getErrorMessage() const;
00089
00090 private:
00091   bool m_critical;
00092   std::string m_errMsg;
00093 };
00094
00095 // inline function implementation
00096
00097 inline bool NVSGException::isCritical() const
00098 {
00099   return m_critical;
00100 }
00101
00102 inline const std::string& NVSGException::getErrorMessage() const
00103 {
00104   return m_errMsg;
00105 }
00106
00107 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: ExtractGeometryTraverser.h File Reference

src / Saver / OBJSaver

ExtractGeometryTraverser.h File Reference

#include <nvsgcommon.h>
#include <nvtraverser/Traverser.h>
#include <nvutil/TransformStack.h>
#include <nvmath/Trafo.h>
#include <nvsg/Material.h>
#include <string>

Include dependency graph for ExtractGeometryTraverser.h:

Go to the source code of this file.

Detailed Description

Generated on Fri Jul 13 13:27:18 2012 for SceniX


SceniX: ExtractGeometryTraverser.h Source File

src / Saver / OBJSaver

ExtractGeometryTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00005 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00006 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00007 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00008 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00009 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00010 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00011 // POSSIBILITY OF SUCH DAMAGES
00012
00013 #pragma once
00014
00016 #include <nvsgcommon.h>
00017 #include <nvtraverser/Traverser.h>
00018 #include <nvutil/TransformStack.h>
00019 #include <nvmath/Trafo.h>
00020 #include <nvsg/Material.h>
00021
00022 #include <string>
00023
00024 #ifdef NVSG_API
00025 #undef NVSG_API
00026 #endif
00027
00028 #define NVSG_API
00029
00030 class OBJMaterial
00031 {
00032 public:
00033   nvmath::Vec3f ambient;
00034   nvmath::Vec3f diffuse;
00035   nvmath::Vec3f specular;
00036   float exponent;
00037   float opacity;
00038
00039   bool isTexture;
00040   bool isMaterial;
00041   std::string filename;
00042
00043   bool isEquivalent( OBJMaterial & other )
00044   {
00045     if( other.ambient == ambient &&
00046         other.diffuse == diffuse &&
00047         other.specular == specular &&
00048         other.exponent == exponent &&
00049         other.opacity == opacity &&
00050         other.isTexture == isTexture &&
00051         other.filename == filename )
00052     {
00053       return true;
00054     }
00055     else
00056     {
00057       return false;
00058     }
00059   }
00060 };
00061
00063
00068 class ExtractGeometryTraverser : public nvtraverser::SharedTraverser
00069 {
00070   protected:
00072
00074     NVSG_API ExtractGeometryTraverser();
00075
00077     NVSG_API virtual ~ExtractGeometryTraverser();
00078
00080
00081     NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p
00082                                                 );
00083
00085
00087     NVSG_API virtual void handleBillboard( const nvsg::Billboard *p
00088                                          );
00089
00091     NVSG_API virtual void handleSwitch( const nvsg::Switch *p
00092                                          );
00093
00094     NVSG_API virtual void handleLOD( const nvsg::LOD *lod );
00095
00096     NVSG_API virtual void handleStateSet( const nvsg::StateSet *stateSet );
00097     NVSG_API virtual void handleMaterial( const nvsg::Material *material );
00098     NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem *texAttribItem );
00099
00101
00103     NVSG_API virtual void handleTransform( const nvsg::Transform *p
00104                                         );
00105
00107
00108     NVSG_API virtual bool preTraverseTransform( const nvmath::Trafo *p
00109                                               );
00110
00112
00114     NVSG_API virtual void postTraverseTransform( const nvmath::Trafo *p
00115                                               );
00116
00117     NVSG_API virtual void traversePrimitive( const nvsg::Primitive * p );
00118
00119     NVSG_API virtual void submitIndexedTriangleSet( const std::vector<unsigned int> & indices,
00120                                                     const std::vector<nvmath::Vec3f> & verts,
00121                                                     const std::vector<nvmath::Vec3f> & normals,
00122                                                     const std::vector<nvmath::Vec2f> & texCoords,
00123                                                     const OBJMaterial & material ) = 0;
00124
00125   protected:
00126     nvutil::TransformStack m_transformStack;
00127     std::string            m_annotation;
00128     OBJMaterial            m_material;
00129 };
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Face.h File Reference

inc / nvsg / nvsg

Face.h File Reference

#include "nvsgcommon.h"

Include dependency graph for Face.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Typedefs

typedef Face< 2 > | Segment
Shortcut for a 2-element Face (line segment).
typedef Face< 3 > | Face3
Shortcut for a 3-element Face (triangle).
typedef Face< 4 > | Face4
Shortcut for a 4-element Face (quad).

Detailed Description

Typedef Documentation

typedef Face<2> Segment

Shortcut for a 2-element Face (line segment).

typedef Face<3> Face3

Shortcut for a 3-element Face (triangle).

typedef Face<4> Face4

Shortcut for a 4-element Face (quad).

Generated on Fri Jul 13 13:27:18 2012 for SceniX


SceniX: Face.h Source File

inc / nvsg / nvsg

Face.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 namespace nvsg
00018 {
00024   template<unsigned char n> class Face
00025   {
00026     public:
00032       template<typename T>
00033         unsigned int & operator[]( T i );
00034
00040       template<typename T>
00041         const unsigned int & operator[]( T i ) const;
00042
00043     public:
00044       unsigned int m_indices[n];
00045   };
00046
00047   template<unsigned char n>
00048   template<typename T>
00049     inline unsigned int & Face<n>::operator[]( T i )
00050   {
00051     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00052     NVSG_ASSERT( i < n );
00053     return m_indices[i];
00054   }
00055
00056   template<unsigned char n>
00057   template<typename T>
00058     inline const unsigned int & Face<n>::operator[]( T i ) const
00059   {
00060     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00061     NVSG_ASSERT( i < n );
00062     return m_indices[i];
00063   }
00064
00065   typedef Face<2> Segment;
00066   typedef Face<3> Face3;
00067   typedef Face<4> Face4;
00068 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FaceAttribute.h File Reference

inc / nvsg / nvsg

FaceAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/PrimitiveAttribute.h"
#include "nvutil/BitMask.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for FaceAttribute.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum | FaceMode { FM_POINT, FM_LINE, FM_FACE }

Detailed Description

Generated on Fri Jul 13 13:27:19 2012 for SceniX


SceniX: FaceAttribute.h Source File

inc / nvsg / nvsg

FaceAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/PrimitiveAttribute.h"
00017 #include "nvutil/BitMask.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00022   class FaceAttribute;
00023
00024   typedef enum
00025   {
00026     FM_POINT,
00027     FM_LINE,
00028     FM_FACE
00029   } FaceMode;
00030
00036   class FaceAttribute : public PrimitiveAttribute
00037   {
00038     public:
00039       NVSG_API static FaceAttributeSharedPtr create();
00040
00041     public:
00049       NVSG_API bool isFrontFaceCulling() const;
00050
00057       NVSG_API bool isBackFaceCulling() const;
00058
00069       NVSG_API void setCullMode( bool frontCulling, bool backCulling );
00070
00078       NVSG_API FaceMode getFrontFaceMode() const;
00079
00087       NVSG_API FaceMode getBackFaceMode() const;
00088
00097       NVSG_API void setFaceMode( FaceMode frontMode, FaceMode backMode );
00098
00107       NVSG_API bool isPolygonOffset() const;
00108
00114       NVSG_API float getPolygonOffsetFactor() const;
00115
00121       NVSG_API float getPolygonOffsetUnits() const;
00122
00132       NVSG_API void setPolygonOffset( bool onOff );
00133
00142       NVSG_API void setPolygonOffset( float factor
00143                                     , float units );
00144
00154       NVSG_API bool isTwoSidedLighting() const;
00155
00166       NVSG_API void setTwoSidedLighting( bool onOff );
00167
00173       NVSG_API bool isFaceWindingCCW() const;
00174
00182       NVSG_API void setFaceWindingCCW( bool ccw );
00183
00190       NVSG_API FaceAttribute & operator=( const FaceAttribute & rhs );
00191
00202       NVSG_API virtual bool isEquivalent( const Object * p
00203                                         , bool ignoreNames
00204                                         , bool deepCompare ) const;
00205
00206       REFLECTION_INFO_API( NVSG_API, FaceAttribute );
00207     protected:
00208       friend struct nvutil::Holder<FaceAttribute>;
00209
00213       NVSG_API FaceAttribute();
00214
00216       NVSG_API FaceAttribute( const FaceAttribute &rhs );
00217
00219       NVSG_API virtual ~FaceAttribute();
00220
00224       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00225
00226     private:
00227       bool            m_cullMode[2];
00228       FaceMode        m_faceMode[2];
00229       struct
00230       {
00231         bool  enabled;
00232         float factor;
00233         float units;
00234       }               m_polygonOffset;
00235       bool            m_twoSidedLighting;
00236       bool            m_faceWindingCCW;
00237   };
00238
00239   inline bool FaceAttribute::isFrontFaceCulling() const
00240   {
00241     NVSG_TRACE();
00242     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00243     return( m_cullMode[0] );
00244   }
00245
00246   inline bool FaceAttribute::isBackFaceCulling() const
00247   {
00248     NVSG_TRACE();
00249     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00250     return( m_cullMode[1] );
00251   }
00252
00253   inline void FaceAttribute::setCullMode( bool frontCulling, bool backCulling )
00254   {
00255     NVSG_TRACE();
00256     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00257     if ( ( m_cullMode[0] != frontCulling ) || ( m_cullMode[1] != backCulling ) )
00258     {
00259       m_cullMode[0] = frontCulling;
00260       m_cullMode[1] = backCulling;
00261       notifyChange( this );
00262     }
00263   }
00264
00265   inline FaceMode FaceAttribute::getFrontFaceMode() const
00266   {
00267     NVSG_TRACE();
00268     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00269     return( m_faceMode[0] );
00270   }
00271
00272   inline FaceMode FaceAttribute::getBackFaceMode() const
00273   {
00274     NVSG_TRACE();
00275     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00276     return( m_faceMode[1] );
00277   }
00278
00279   inline void FaceAttribute::setFaceMode( FaceMode frontMode, FaceMode backMode )
00280   {
00281     NVSG_TRACE();
00282     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00283     if ( ( m_faceMode[0] != frontMode ) || ( m_faceMode[1] != backMode ) )
00284     {
00285       m_faceMode[0] = frontMode;
00286       m_faceMode[1] = backMode;
00287       notifyChange( this );
00288     }
00289   }
00290
00291   inline void FaceAttribute::setPolygonOffset( bool enabled )
00292   {
00293     NVSG_TRACE();
00294     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00295     if ( m_polygonOffset.enabled != enabled )
00296     {
00297       m_polygonOffset.enabled = enabled;
00298       notifyChange( this );
00299     }
00300   }
00301
00302   inline void FaceAttribute::setPolygonOffset( float factor, float units )
00303   {
00304     NVSG_TRACE();
00305     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00306     if ( ( m_polygonOffset.factor != factor ) || ( m_polygonOffset.units != units ) )
00307     {
00308       m_polygonOffset.factor = factor;
00309       m_polygonOffset.units = units;
00310       notifyChange( this );
00311     }
00312   }
00313
00314   inline bool FaceAttribute::isPolygonOffset() const
00315   {
00316     NVSG_TRACE();
00317     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00318     return( m_polygonOffset.enabled );
00319   }
00320
00321   inline float FaceAttribute::getPolygonOffsetFactor() const
00322   {
00323     NVSG_TRACE();
00324     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00325     return( m_polygonOffset.factor );
00326   }
00327
00328   inline float FaceAttribute::getPolygonOffsetUnits() const
00329   {
00330     NVSG_TRACE();
00331     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00332     return( m_polygonOffset.units );
00333   }
00334
00335   inline bool FaceAttribute::isTwoSidedLighting() const
00336   {
00337     NVSG_TRACE();
00338     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00339     return( m_twoSidedLighting );
00340   }
00341
00342   inline void FaceAttribute::setTwoSidedLighting( bool enabled )
00343   {
00344     NVSG_TRACE();
00345     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00346     if ( m_twoSidedLighting != enabled )
00347     {
00348       m_twoSidedLighting = enabled;
00349       notifyChange( this );
00350     }
00351   }
00352
00353   inline bool FaceAttribute::isFaceWindingCCW() const
00354   {
00355     NVSG_TRACE();
00356     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00357     return( m_faceWindingCCW );
00358   }
00359
00360   inline void FaceAttribute::setFaceWindingCCW( bool ccw )
00361   {
00362     NVSG_TRACE();
00363     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00364     if( m_faceWindingCCW != ccw )
00365     {
00366       m_faceWindingCCW = ccw;
00367       notifyChange( this );
00368     }
00369   }
00370
00371 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FaceConnections.h File Reference

inc / nvsg / nvsg

FaceConnections.h File Reference

#include "nvsg/nvsgcommon.h"
#include "nvsg/IndexSet.h"
#include <set>

Include dependency graph for FaceConnections.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:19 2012 for SceniX


SceniX: FaceConnections.h Source File

inc / nvsg / nvsg

FaceConnections.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2009
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgcommon.h"
00016 #include "nvsg/IndexSet.h"
00017 #include <set>
00018
00019 namespace nvsg
00020 {
00025   class FaceConnections
00026   {
00027     public:
00033       NVSG_API FaceConnections( const nvsg::Primitive * p );
00034
00039       NVSG_API void disconnectFace( unsigned int faceIndex );
00040
00046       NVSG_API void disconnectFaces( const unsigned int * faceIndices, unsigned int faceCount );
00047
00052       NVSG_API void disconnectFaces( const std::list<unsigned int> &list );
00053
00063       NVSG_API unsigned int findLongestQuadStrip( nvsg::IndexSet::ConstIterator<unsigned int> &, unsigned int fi
00064                                                 , std::vector<unsigned int> & stripIndices
00065                                                 , std::list<unsigned int> & stripFaces );
00066
00075       NVSG_API unsigned int findLongestTriStrip( nvsg::IndexSet::ConstIterator<unsigned int> & indices
00076                                                , unsigned int fi, std::vector<unsigned int> & stripIndices
00077                                                , std::list<unsigned int> & stripFaces );
00078
00088       NVSG_API bool findQuadPatch4x4( nvsg::IndexSet::ConstIterator<unsigned int> & indices, unsigned int fi
00089                                     , std::vector<unsigned int> & patchIndices, unsigned int patchFaces[9] );
00090
00101       NVSG_API bool findTriPatch4( nvsg::IndexSet::ConstIterator<unsigned int> & indices, unsigned int fi
00102                                  , std::vector<unsigned int> & patchIndices, unsigned int patchFaces[9] );
00103
00112       NVSG_API unsigned int getAndClearZeroConnectionIndices( nvsg::IndexSet::ConstIterator<unsigned int> & allIndices
00113                                                             , std::vector<unsigned int> & zeroIndices );
00114
00119       NVSG_API void getNeighbours( unsigned int fi, std::vector<unsigned int> & faces );
00120
00125       NVSG_API unsigned int getNextFaceIndex( unsigned int * connectivity = NULL );
00126
00127     private:
00128       void connectFaces( nvsg::IndexSet::ConstIterator<unsigned int> & indices, unsigned int faceIndex
00129                        , unsigned int verticesPerFace, unsigned int edgeIndex0, unsigned int edgeIndex1
00130                        , const std::vector<std::list<unsigned int> > & verticesToFaceLists );
00131
00132     private:
00133       std::vector<unsigned int>             m_faceConnections;
00134       std::vector<unsigned int>             m_faceConnectionCounts;
00135       std::vector<std::set<unsigned int> >  m_faceSets;
00136   };
00137 }
00138
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FileMapping.h File Reference

inc / nvsg / nvutil

FileMapping.h File Reference

#include "nvsgcommon.h"
#include "nvutil/STLAllocator.h"
#include <map>
#include <list>
#include <errno.h>

Include dependency graph for FileMapping.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:27:19 2012 for SceniX


SceniX: FileMapping.h Source File

inc / nvsg / nvutil

FileMapping.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvutil/STLAllocator.h"
00017 #include <map>
00018 #include <list>
00019
00020 #if defined(LINUX)
00021 # include <errno.h>
00022 #endif
00023
00024 namespace nvutil
00025 {
00032   class FileMapping
00033   {
00034     public :
00047       NVSG_API unsigned int getLastError() const;
00048
00058       NVSG_API bool isValid() const;
00059
00073       NVSG_API void mapOut( const void * offsetPtr );
00074
00075     protected:
00079       NVSG_API FileMapping();
00080
00084       NVSG_API ~FileMapping();
00085
00092       NVSG_API void * mapIn( size_t offset, size_t numBytes );
00093
00094     private:
00095       struct ViewHeader
00096       {
00097         ViewHeader( size_t start, size_t size, void * base )
00098           : basePtr(base)
00099           , startOffset(start)
00100           , endOffset(start+size)
00101           , refCnt(0)
00102         {}
00103
00104         void  * basePtr;      // points to the beginning of the view
00105         size_t  startOffset;  // the view's start offset inside the mapped file
00106         size_t  endOffset;    // the view's 'past the end' offset inside the mapped file
00107         int     refCnt;       // reflects if the view is in use or not
00108       };
00109
00110       struct MapCount
00111       {
00112         MapCount() : cnt(0) {} // always default-initialized to 0
00113         explicit MapCount(int i) : cnt(i) {}
00114         MapCount& operator++() { ++cnt; return *this; } // preincrement
00115         MapCount operator++(int) { return MapCount(cnt++); } // postincrement
00116         MapCount& operator--() { --cnt; return *this; } // predecrement
00117         MapCount operator--(int) { return MapCount(cnt--); } // postdecrement
00118         bool operator==(int i) const { return cnt==i; }
00119         bool operator!=(int i) const { return cnt!=i; }
00120         operator int() const { return cnt; } // whenever needed as int
00121         int cnt;
00122       };
00123
00124     protected:
00125       unsigned int                m_accessType;
00126 #if defined(_WIN32)
00127       HANDLE                      m_file;
00128       HANDLE                      m_fileMapping;
00129 #elif defined(LINUX)
00130       int                         m_file;
00131 #endif
00132       size_t                      m_mappingSize;
00133       bool                        m_isValid;
00134
00135     private :
00136       typedef nvutil::STLMap<const void *,MapCount>     OffsetMapCountMap;
00137       typedef nvutil::STLMap<const void *,ViewHeader *> OffsetPtrViewMap;
00138       typedef nvutil::STLList<ViewHeader*>              ViewHeaderList;
00139
00140       ViewHeaderList    m_mappedViews;      // collection of currently mapped views
00141       ViewHeaderList    m_unmappedViews;    // collection of mapped views currently not used
00142       OffsetPtrViewMap  m_offsetPtrViewMap;   // mapping offset pointers to their associated mapped view
00143       OffsetMapCountMap m_offsetMapCountMap;  // how often is the same offset mapped?
00144   };
00145
00148   class ReadMapping : public FileMapping
00149   {
00150     public :
00161       NVSG_API ReadMapping( const std::string & fileName );
00162
00165       NVSG_API ~ReadMapping();
00166
00173       NVSG_API const void * mapIn( size_t offset, size_t numBytes );
00174   };
00175
00178   class WriteMapping : public FileMapping
00179   {
00180     public:
00192       NVSG_API WriteMapping( const std::string & fileName, size_t fileSize );
00193
00196       NVSG_API ~WriteMapping();
00197
00204       NVSG_API void * mapIn( size_t offset, size_t numBytes );
00205
00206     private :
00207       size_t  m_endOffset;    // last accessed offset in file => eof
00208   };
00209
00210
00211   inline unsigned int FileMapping::getLastError() const
00212   {
00213 #if defined(_WIN32)
00214     return( GetLastError() );
00215 #elif defined(LINUX)
00216     return( errno );
00217 #else
00218     NVSG_CTASSERT( false );
00219 #endif
00220   }
00221
00222   inline bool FileMapping::isValid() const
00223   {
00224     return( m_isValid );
00225   }
00226
00227
00228   inline const void * ReadMapping::mapIn( size_t offset, size_t numBytes )
00229   {
00230     return( FileMapping::mapIn( offset, numBytes ) );
00231   }
00232
00233 } // namespace nvutil
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FlipbookAnimation.h File Reference

inc / nvsg / nvsg

FlipbookAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Animation.h"
#include "nvsg/Group.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for FlipbookAnimation.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:20 2012 for SceniX


SceniX: FlipbookAnimation.h Source File

inc / nvsg / nvsg

FlipbookAnimation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h" // commonly used stuff
00016 #include "nvsg/Animation.h"
00017 #include "nvsg/Group.h" // base class definition
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00028   class FlipbookAnimation : public Group
00029   {
00030     public:
00031       NVSG_API static FlipbookAnimationSharedPtr create();
00032
00033     public:
00037       NVSG_API const IndexAnimationSharedPtr & getAnimation() const;
00038
00045       NVSG_API void setAnimation( const IndexAnimationSharedPtr & animation );
00046
00050       NVSG_API virtual bool determineAnimationContainment() const;
00051
00059       NVSG_API FlipbookAnimation & operator=( const FlipbookAnimation & rhs );
00060
00074       NVSG_API virtual bool isEquivalent( const Object *p
00075                                         , bool ignoreNames
00076                                         , bool deepCompare ) const;
00077
00080       NVSG_API const NodeSharedPtr & getCurrentChild() const;
00081
00082       REFLECTION_INFO_API( NVSG_API, FlipbookAnimation );
00083     protected:
00084       friend struct nvutil::Holder<FlipbookAnimation>;
00085
00087       NVSG_API FlipbookAnimation();
00088
00090       NVSG_API FlipbookAnimation(const FlipbookAnimation& rhs);
00091
00093       NVSG_API virtual ~FlipbookAnimation();
00094
00095       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00096
00100       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00101
00102     private:
00103       IndexAnimationSharedPtr m_animation;
00104   };
00105
00106   // - - - - - - - - - - - - - - - - - - - - - - - - -
00107   // inlines
00108   // - - - - - - - - - - - - - - - - - - - - - - - - -
00109
00110   inline const IndexAnimationSharedPtr & FlipbookAnimation::getAnimation() const
00111   {
00112     NVSG_TRACE();
00113     return( m_animation );
00114   }
00115 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FramedAnimation.h File Reference

inc / nvsg / nvsg

FramedAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Trafo.h"
#include "nvsg/AnimationDescription.h"
#include "nvsg/VertexAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for FramedAnimation.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Functions

template<>
FramedAnimationDescription< nvmath::Trafo >::FramedAnimationDescription (void)
template<>
FramedAnimationDescription< nvmath::Trafo >::FramedAnimationDescription (const FramedAnimationDescription< nvmath::Trafo > &rhs)

Detailed Description

Generated on Fri Jul 13 13:27:20 2012 for SceniX


SceniX: FramedAnimation.h Source File

inc / nvsg / nvsg

FramedAnimation.h

Go to the documentation of this file.
00001  // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Trafo.h"
00017 #include "nvsg/AnimationDescription.h"
00018 #include "nvsg/VertexAttribute.h"
00019 #include "nvutil/HashGenerator.h"
00020
00021 // Important note: extra qualifier required for name lookup!
00022 // from the ISO c++ spec (14.6.2, section 3):
00023 // "In the definition of a class template or in the definition of a member of such a
00024 // template that appears outside of the template definition, if a base class of this
00025 // template depends on a template-parameter, the base class scope is not examined
00026 // during name lookup until the class template is instantiated."
00027
00028 namespace nvsg
00029 {
00037   template<typename T> class FramedAnimationDescription : public AnimationDescription<T>
00038   {
00039     public:
00040       static typename nvutil::ObjectTraits<FramedAnimationDescription<T> >::SharedPtr create();
00041
00042     public:
00044       FramedAnimationDescription();
00045
00047       FramedAnimationDescription( const FramedAnimationDescription<T> &rhs );
00048
00050       virtual ~FramedAnimationDescription();
00051
00056       virtual unsigned int getNumberOfSteps() const;
00057
00061       void addStep( const T & value );
00062
00067       void addSteps( unsigned int numberOfSteps, const T * values );
00068
00075       virtual T getStepValue( unsigned int step ) const;
00076
00080       const T * getStepValues() const;
00081
00088       virtual void replaceStep( unsigned int step, const T & value );
00089
00097       void replaceSteps( unsigned int step, unsigned int numberOfSteps, const T * values );
00098
00104       virtual void removeStep( unsigned int step );
00105
00112       void removeSteps( unsigned int step, unsigned int numberOfSteps );
00113
00117       void reserveSteps( unsigned int numberOfSteps );
00118
00133       virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00134
00141       FramedAnimationDescription<T> & operator=( const FramedAnimationDescription<T> & rhs );
00142     protected:
00146       virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00147
00148     private:
00149       std::vector<T> m_values;
00150   };
00151
00152   template<typename T>
00153   inline typename nvutil::ObjectTraits<FramedAnimationDescription<T> >::SharedPtr FramedAnimationDescription<T>::create()
00154   {
00155     return( nvutil::ObjectTraits<FramedAnimationDescription<T> >::Handle::create() );
00156   }
00157
00158   template<typename T>
00159     inline FramedAnimationDescription<T>::FramedAnimationDescription( void )
00160   {
00161     NVSG_TRACE();
00162     NVSG_ASSERT( false );
00163   }
00164
00165   template<typename T>
00166     inline FramedAnimationDescription<T>::~FramedAnimationDescription( void )
00167   {
00168     NVSG_TRACE();
00169   }
00170
00171   template<>
00172     inline FramedAnimationDescription<unsigned int>::FramedAnimationDescription( void )
00173   { // explicit constructor
00174     NVSG_TRACE();
00175     //  See Important Note above !!
00176     this->m_objectCode = OC_FRAMEDINDEXANIMATIONDESCRIPTION;
00177   }
00178
00179   template<>
00180     inline FramedAnimationDescription<nvmath::Trafo>::FramedAnimationDescription( void )
00181   { // explicit constructor
00182     NVSG_TRACE();
00183     //  See Important Note above !!
00184     this->m_objectCode = OC_FRAMEDTRAFOANIMATIONDESCRIPTION;
00185   }
00186
00187   template<>
00188     inline FramedAnimationDescription<VertexAttribute>::FramedAnimationDescription( void )
00189   { // explicit constructor
00190     NVSG_TRACE();
00191     //  See Important Note above !!
00192     this->m_objectCode = OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION;
00193   }
00194
00195   template<typename T>
00196     inline FramedAnimationDescription<T>::FramedAnimationDescription( const FramedAnimationDescription<T> &rhs )
00197     : AnimationDescription<T>(rhs)
00198     , m_values(rhs.m_values)
00199   {
00200     NVSG_TRACE();
00201     //  See Important Note above !!
00202     this->m_objectCode=rhs.m_objectCode;
00203   }
00204
00205   template<>
00206     inline FramedAnimationDescription<unsigned int>::FramedAnimationDescription( const FramedAnimationDescription<unsigned int> &rhs )
00207     : AnimationDescription<unsigned int>(rhs)
00208     , m_values(rhs.m_values)
00209   {
00210     NVSG_TRACE();
00211     //  See Important Note above !!
00212     this->m_objectCode = OC_FRAMEDINDEXANIMATIONDESCRIPTION;
00213   }
00214
00215   template<>
00216     inline FramedAnimationDescription<nvmath::Trafo>::FramedAnimationDescription( const FramedAnimationDescription<nvmath::Trafo> &rhs )
00217     : AnimationDescription<nvmath::Trafo>(rhs)
00218     , m_values(rhs.m_values)
00219   {
00220     NVSG_TRACE();
00221     //  See Important Note above !!
00222     this->m_objectCode = OC_FRAMEDTRAFOANIMATIONDESCRIPTION;
00223   }
00224
00225   template<>
00226     inline FramedAnimationDescription<VertexAttribute>::FramedAnimationDescription( const FramedAnimationDescription<VertexAttribute> &rhs )
00227     : AnimationDescription<VertexAttribute>(rhs)
00228     , m_values(rhs.m_values)
00229   {
00230     NVSG_TRACE();
00231     //  See Important Note above !!
00232     this->m_objectCode = OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION;
00233   }
00234
00235   template<typename T>
00236   inline unsigned int FramedAnimationDescription<T>::getNumberOfSteps() const
00237   {
00238     NVSG_TRACE();
00239     NVSG_ASSERT( m_values.size() <= UINT_MAX );
00240     return( checked_cast<unsigned int>(m_values.size()) );
00241   }
00242
00243   template<typename T>
00244   inline void FramedAnimationDescription<T>::addStep( const T & value )
00245   {
00246     NVSG_TRACE();
00247     m_values.push_back( value );
00248     NVSG_ASSERT( m_values.size() <= UINT_MAX );
00249     this->invalidate();
00250   }
00251
00252   template<typename T>
00253   inline void FramedAnimationDescription<T>::addSteps( unsigned int numberOfSteps, const T * values )
00254   {
00255     NVSG_TRACE();
00256     m_values.insert( m_values.end(), values, values + numberOfSteps );
00257     NVSG_ASSERT( m_values.size() <= UINT_MAX );
00258     this->invalidate();
00259   }
00260
00261   template<typename T>
00262   inline T FramedAnimationDescription<T>::getStepValue( unsigned int step ) const
00263   {
00264     NVSG_TRACE();
00265     NVSG_ASSERT( step < m_values.size() );
00266     return( m_values[step] );
00267   }
00268
00269   template<typename T>
00270   inline const T * FramedAnimationDescription<T>::getStepValues() const
00271   {
00272     NVSG_TRACE();
00273     return( m_values.empty() ? NULL : &m_values[0] );
00274   }
00275
00276   template<typename T>
00277   inline void FramedAnimationDescription<T>::replaceStep( unsigned int step, const T & value )
00278   {
00279     NVSG_TRACE();
00280     NVSG_ASSERT( step < m_values.size() );
00281     m_values[step] = value;
00282     this->invalidate();
00283   }
00284
00285   template<typename T>
00286   inline void FramedAnimationDescription<T>::replaceSteps( unsigned int step, unsigned int numberOfSteps, const T * values )
00287   {
00288     NVSG_TRACE();
00289     NVSG_ASSERT( step + numberOfSteps < m_values.size() );
00290     for ( unsigned int i=0, j=step ; i<numberOfSteps ; i++, j++ )
00291     {
00292       m_values[j] = values[i];
00293     }
00294    this->invalidate();
00295   }
00296
00297   template<typename T>
00298   inline void FramedAnimationDescription<T>::removeStep( unsigned int step )
00299   {
00300     NVSG_TRACE();
00301     NVSG_ASSERT( step < m_values.size() );
00302     m_values.erase( m_values.begin() + step );
00303     this->invalidate();
00304   }
00305
00306   template<typename T>
00307   inline void FramedAnimationDescription<T>::removeSteps( unsigned int step, unsigned int numberOfSteps )
00308   {
00309     NVSG_TRACE();
00310     NVSG_ASSERT( step + numberOfSteps < m_values.size() );
00311     m_values.erase( m_values.begin() + step, m_values.begin() + step + numberOfSteps );
00312     this->invalidate();
00313   }
00314
00315   template<typename T>
00316   inline void FramedAnimationDescription<T>::reserveSteps( unsigned int numberOfSteps )
00317   {
00318     NVSG_TRACE();
00319     m_values.reserve( numberOfSteps );
00320   }
00321
00322   template<typename T>
00323   inline bool FramedAnimationDescription<T>::isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const
00324   {
00325     NVSG_TRACE();
00326     bool equi =     ( dynamic_cast<const FramedAnimationDescription<T>*>(p) != NULL )
00327                 &&  AnimationDescription<T>::isEquivalent( p, ignoreNames, deepCompare );
00328     if ( equi )
00329     {
00330       NVSG_ASSERT( dynamic_cast<const FramedAnimationDescription<T> *>(p) );
00331       const FramedAnimationDescription<T> * fat = static_cast<const FramedAnimationDescription<T> *>(p);
00332       equi = ( m_values == fat->m_values );
00333     }
00334     return( equi );
00335   }
00336
00337   template<typename T>
00338     inline FramedAnimationDescription<T> & FramedAnimationDescription<T>::operator=(const FramedAnimationDescription<T> & rhs)
00339   {
00340     NVSG_TRACE();
00341     if (&rhs != this)
00342     {
00343       AnimationDescription<T>::operator=(rhs);  // invalidates incarnation
00344       m_values = rhs.m_values;
00345     }
00346     return *this;
00347   }
00348
00349   template<typename T>
00350     inline void FramedAnimationDescription<T>::feedHashGenerator( nvutil::HashGenerator & hg ) const
00351   {
00352     AnimationDescription<T>::feedHashGenerator( hg );
00353     hg.update( reinterpret_cast<const unsigned char *>(&m_values[0]), checked_cast<unsigned int>(m_values.size() * sizeof(T)) );
00354   }
00355 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FrustumCamera.h File Reference

inc / nvsg / nvsg

FrustumCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Camera.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for FrustumCamera.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:20 2012 for SceniX


SceniX: FrustumCamera.h Source File

inc / nvsg / nvsg

FrustumCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Camera.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00025   class FrustumCamera : public Camera
00026   {
00027     public:
00029       NVSG_API virtual ~FrustumCamera();
00030
00046       NVSG_API void calcNearFarDistances( const nvmath::Sphere3f &sphere );
00047
00052       NVSG_API float getAspectRatio( void ) const;
00053
00062       NVSG_API float getFarDistance( void ) const;
00063
00072       NVSG_API float getNearDistance( void ) const;
00073
00087       NVSG_API const nvmath::Vec2f & getWindowOffset( void ) const;
00088
00099       NVSG_API const nvmath::Box2f & getWindowRegion() const;
00100
00109       NVSG_API const nvmath::Vec2f & getWindowSize( void ) const;
00110
00120       NVSG_API void setAspectRatio( float ar
00121                                   , bool keepWidth );
00122
00127       NVSG_API void setAspectRatio( float ar );
00128
00137       NVSG_API void setFarDistance( float fd );
00138
00147       NVSG_API void setNearDistance( float nd );
00148
00162       NVSG_API void setWindowOffset( const nvmath::Vec2f &offset );
00163
00174       NVSG_API void setWindowRegion( const nvmath::Box2f & region );
00175
00184       NVSG_API void setWindowSize( const nvmath::Vec2f & size );
00185
00198       NVSG_API virtual void getPickRay( int x
00199                                       , int y
00200                                       , int w
00201                                       , int h
00202                                       , nvmath::Vec3f & rayOrigin
00203                                       , nvmath::Vec3f & rayDir ) const = 0;
00204
00215       NVSG_API void virtual zoom( float factor );
00216
00227       NVSG_API void zoom( const nvmath::Sphere3f & sphere, float fovy = -1.0f, bool adjustClipPlanes = true );
00228
00229     // reflected properties
00230     public:
00231       REFLECTION_INFO_API( NVSG_API, FrustumCamera );
00232       BEGIN_DECLARE_STATIC_PROPERTIES
00233           NVSG_API DECLARE_STATIC_PROPERTY( FarDistance );
00234           NVSG_API DECLARE_STATIC_PROPERTY( NearDistance );
00235           NVSG_API DECLARE_STATIC_PROPERTY( WindowOffset );
00236           NVSG_API DECLARE_STATIC_PROPERTY( WindowSize );
00237           NVSG_API DECLARE_STATIC_PROPERTY( WindowRegion );
00238           NVSG_API DECLARE_STATIC_PROPERTY( AspectRatio );
00239       END_DECLARE_STATIC_PROPERTIES
00240
00241     protected:
00246       NVSG_API FrustumCamera();
00247
00253       NVSG_API FrustumCamera( const FrustumCamera &rhs );
00254
00260       NVSG_API FrustumCamera & operator=(const FrustumCamera & rhs);
00261
00265       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00266
00267     private:
00268       float         m_farDist;
00269       float         m_nearDist;
00270       nvmath::Vec2f m_windowOffset;
00271       nvmath::Vec2f m_windowSize;
00272       nvmath::Box2f m_windowRegion;
00273   };
00274
00275 } // namespace
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: GeoNode.h File Reference

inc / nvsg / nvsg

GeoNode.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Node.h"
#include "nvsg/VertexAttributeSet.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/SceniXIterator.h"
#include <vector>

Include dependency graph for GeoNode.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:21 2012 for SceniX


SceniX: GeoNode.h Source File

inc / nvsg / nvsg

GeoNode.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h" // commonly used stuff
00016 #include "nvsg/Node.h" // base class definition
00017 // additional dependencies
00018 #include "nvsg/VertexAttributeSet.h"
00019 #include "nvutil/HashGenerator.h"
00020 #include "nvutil/SceniXIterator.h"
00021 #include <vector>
00022
00023 namespace nvsg
00024 {
00036   class GeoNode : public Node
00037   {
00038     public:
00039       NVSG_API static GeoNodeSharedPtr create();
00040
00041     public:
00043       typedef nvutil::STLVector<DrawableSharedPtr>                              DrawableContainer;
00044
00046       typedef nvutil::SceniXIterator<GeoNode,DrawableContainer::iterator>       DrawableIterator;
00047
00049       typedef nvutil::SceniXIterator<GeoNode,DrawableContainer::const_iterator> DrawableConstIterator;
00050
00052       struct Geometry
00053       {
00054         Geometry() {}
00055         explicit Geometry( const StateSetSharedPtr & stateSet) : m_stateSet(stateSet) {}
00056
00057         StateSetSharedPtr m_stateSet;
00058         DrawableContainer m_drawables;
00059       };
00060
00062       typedef nvutil::STLVector<Geometry> StateSetContainer;
00063
00065       class StateSetIterator : public nvutil::SceniXIterator<GeoNode,StateSetContainer::iterator>
00066       {
00067         public:
00068           StateSetIterator()
00069           {
00070           }
00071
00072           explicit StateSetIterator( const StateSetContainer::iterator & ssci )
00073             : nvutil::SceniXIterator<GeoNode,StateSetContainer::iterator>( ssci )
00074           {
00075           }
00076
00077           const StateSetSharedPtr & operator*() const
00078           {
00079             return( m_iter->m_stateSet );
00080           }
00081
00082           const StateSetSharedPtr * operator->() const
00083           {
00084             return( &m_iter->m_stateSet );
00085           }
00086
00087           bool operator==( const StateSetIterator &ssci ) const
00088           {
00089             return( nvutil::SceniXIterator<GeoNode,StateSetContainer::iterator>::operator==( ssci ) );
00090           }
00091
00092           bool operator!=( const StateSetIterator &ssci ) const
00093           {
00094             return( nvutil::SceniXIterator<GeoNode,StateSetContainer::iterator>::operator!=( ssci ) );
00095           }
00096       };
00097
00099       class StateSetConstIterator : public nvutil::SceniXIterator<GeoNode,StateSetContainer::const_iterator>
00100       {
00101         public:
00102           StateSetConstIterator()
00103           {
00104           }
00105
00106           explicit StateSetConstIterator( const StateSetContainer::const_iterator & sscci )
00107             : nvutil::SceniXIterator<GeoNode,StateSetContainer::const_iterator>( sscci )
00108           {
00109           }
00110
00111           // It's ok to get a ConstIterator out of an Iterator.
00112           StateSetConstIterator( const StateSetIterator & ssi )
00113             : nvutil::SceniXIterator<GeoNode,StateSetContainer::const_iterator>( ssi.m_iter )
00114           {
00115           }
00116
00117           const StateSetSharedPtr & operator*() const
00118           {
00119             return( m_iter->m_stateSet );
00120           }
00121
00122           const StateSetSharedPtr * operator->() const
00123           {
00124             return( &m_iter->m_stateSet );
00125           }
00126
00127           bool operator==( const StateSetConstIterator &ssci ) const
00128           {
00129             return( nvutil::SceniXIterator<GeoNode,StateSetContainer::const_iterator>::operator==( ssci ) );
00130           }
00131
00132           bool operator!=( const StateSetConstIterator &ssci ) const
00133           {
00134             return( nvutil::SceniXIterator<GeoNode,StateSetContainer::const_iterator>::operator!=( ssci ) );
00135           }
00136       };
00137
00138     public:
00142       NVSG_API unsigned int getNumberOfStateSets() const;
00143
00147       NVSG_API StateSetConstIterator beginStateSets() const;
00148
00152       NVSG_API StateSetIterator beginStateSets();
00153
00158       NVSG_API StateSetConstIterator endStateSets() const;
00159
00164       NVSG_API StateSetIterator endStateSets();
00165
00176       NVSG_API bool replaceStateSet( const StateSetSharedPtr & newStateSet, const StateSetSharedPtr & oldStateSet );
00177
00191       NVSG_API bool replaceStateSet( const StateSetSharedPtr & newStateSet, const StateSetIterator & oldSSI );
00192
00196       NVSG_API void replaceAllStateSets( const StateSetSharedPtr & newStateSet );
00197
00204       NVSG_API bool removeStateSet( const StateSetSharedPtr & stateSet );
00205
00213       NVSG_API bool removeStateSet( const StateSetIterator & ssi );
00214
00217       NVSG_API void clearStateSets();
00218
00224       NVSG_API StateSetConstIterator findStateSet( const StateSetSharedPtr & stateSet ) const;
00225
00230       NVSG_API StateSetIterator findStateSet( const StateSetSharedPtr & stateSet );
00231
00232
00236       NVSG_API unsigned int getNumberOfDrawables() const;
00237
00242       NVSG_API unsigned int getNumberOfDrawables( const StateSetSharedPtr & stateSet ) const;
00243
00248       NVSG_API unsigned int getNumberOfDrawables( const StateSetConstIterator & stateSet ) const;
00249
00254       NVSG_API DrawableConstIterator beginDrawables( const StateSetSharedPtr & stateSet ) const;
00255
00260       NVSG_API DrawableIterator beginDrawables( const StateSetSharedPtr & stateSet );
00261
00266       NVSG_API DrawableConstIterator beginDrawables( const StateSetConstIterator & stateSet ) const;
00267
00272       NVSG_API DrawableIterator beginDrawables( const StateSetIterator & stateSet );
00273
00278       NVSG_API DrawableConstIterator endDrawables( const StateSetSharedPtr & stateSet ) const;
00279
00284       NVSG_API DrawableIterator endDrawables( const StateSetSharedPtr & stateSet );
00285
00290       NVSG_API DrawableConstIterator endDrawables( const StateSetConstIterator & stateSet ) const;
00291
00296       NVSG_API DrawableIterator endDrawables( const StateSetIterator & stateSet );
00297
00308       NVSG_API std::pair<StateSetIterator,DrawableIterator> addDrawable( const StateSetSharedPtr & stateSet, const DrawableSharedPtr & drawable );
00309
00322       NVSG_API std::pair<StateSetIterator,DrawableIterator> addDrawable( const StateSetIterator & stateSetIterator, const DrawableSharedPtr & drawable );
00323
00335       NVSG_API bool replaceDrawable( const DrawableSharedPtr & newDrawable, const DrawableSharedPtr & oldDrawable );
00336
00350       NVSG_API bool replaceDrawable( const StateSetIterator & stateSetIterator, const DrawableSharedPtr & newDrawable, const DrawableSharedPtr & oldDrawable );
00351
00367       NVSG_API bool replaceDrawable( const StateSetIterator & stateSetIterator, const DrawableSharedPtr & newDrawable, const DrawableIterator & oldDrawableIterator );
00368
00375       NVSG_API bool removeDrawable( const DrawableSharedPtr & drawable );
00376
00385       NVSG_API bool removeDrawable( const StateSetIterator & stateSetIterator, const DrawableSharedPtr & drawable );
00386
00396       NVSG_API bool removeDrawable( const StateSetIterator & stateSetIterator, const DrawableIterator & drawableIterator );
00397
00404       NVSG_API StateSetConstIterator findStateSet( const DrawableSharedPtr & drawable ) const;
00405
00412       NVSG_API StateSetIterator findStateSet( const DrawableSharedPtr & drawable );
00413
00414
00416       NVSG_API void clearTexCoords( unsigned int tu = 0 );
00417
00430       NVSG_API virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00431
00439       NVSG_API GeoNode & operator=(const GeoNode & rhs);
00440
00441       REFLECTION_INFO_API( NVSG_API, GeoNode );
00442     protected:
00443       friend struct nvutil::Holder<GeoNode>;
00444
00447       NVSG_API GeoNode();
00448
00451       NVSG_API GeoNode( const GeoNode& rhs );
00452
00455       NVSG_API virtual ~GeoNode();
00456
00457       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00458
00464       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00465
00471       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00472
00479       NVSG_API virtual bool determineTransparencyContainment() const;
00480
00485       NVSG_API virtual bool determineShaderContainment() const;
00486
00489       NVSG_API virtual bool determineAnimationContainment() const;
00490
00494       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00495
00496     private:
00497       // helper with copying geometries
00498       unsigned int copyGeometries(const StateSetContainer & from);
00499
00500       unsigned int manageAddDrawable( const DrawableSharedPtr & drawable );
00501       unsigned int manageRemoveDrawable( const DrawableSharedPtr & drawable );
00502
00503       unsigned int manageAddStateSet( const StateSetSharedPtr & stateSet );
00504       unsigned int manageRemoveStateSet( const StateSetSharedPtr & stateSet );
00505
00506       std::pair<StateSetContainer::iterator,DrawableContainer::iterator> doAddDrawable( const StateSetContainer::iterator & ssciNew, const DrawableSharedPtr & drawable );
00507       bool doReplaceDrawable( const StateSetContainer::iterator & ssciOld, const DrawableContainer::iterator & dciOld, const DrawableSharedPtr & newDrawable );
00508       bool doReplaceStateSet( const StateSetContainer::iterator & ssciOld, const StateSetSharedPtr & newStateSet );
00509       bool doRemoveDrawable( const StateSetContainer::iterator & ssci, const DrawableContainer::iterator & dci );
00510       bool doRemoveStateSet( const StateSetContainer::iterator & ssci );
00511
00512     private:
00513       StateSetContainer m_geometries;
00514
00515       // just a cache to hold all drawables in this GeoNode, to speed up detecting if a Drawable is already part
00516       // of this GeoNode.
00517       nvutil::STLSet<DrawableWeakPtr> m_drawableCache;
00518   };
00519
00546   NVSG_API void generateTangentSpace( GeoNode * gn,
00547                                       unsigned int tc = VertexAttributeSet::NVSG_TEXCOORD0,
00548                                       unsigned int tg = VertexAttributeSet::NVSG_TANGENT,
00549                                       unsigned int bn = VertexAttributeSet::NVSG_BINORMAL,
00550                                       bool overwrite = true );
00551
00558   NVSG_API bool generateNormals( GeoNode * gn, bool overwrite = true );
00559
00573   NVSG_API void generateTexCoords( GeoNode * gn,
00574                                    TextureCoordType type,
00575                                    unsigned int texcoords = VertexAttributeSet::NVSG_TEXCOORD0,
00576                                    bool overwrite = true );
00577
00578   // - - - - - - - - - - - - - - - - - - - - - - - - -
00579   // inlines
00580   // - - - - - - - - - - - - - - - - - - - - - - - - -
00581
00582   inline unsigned int GeoNode::getNumberOfStateSets() const
00583   {
00584     NVSG_TRACE();
00585     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00586     return( checked_cast<unsigned int>(m_geometries.size()) );
00587   }
00588
00589   inline GeoNode::StateSetConstIterator GeoNode::beginStateSets() const
00590   {
00591     NVSG_TRACE();
00592     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00593     return( StateSetConstIterator( m_geometries.begin() ) );
00594   }
00595
00596   inline GeoNode::StateSetIterator GeoNode::beginStateSets()
00597   {
00598     NVSG_TRACE();
00599     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00600     return( StateSetIterator( m_geometries.begin() ) );
00601   }
00602
00603   inline GeoNode::StateSetConstIterator GeoNode::endStateSets() const
00604   {
00605     NVSG_TRACE();
00606     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00607     return( StateSetConstIterator( m_geometries.end() ) );
00608   }
00609
00610   inline GeoNode::StateSetIterator GeoNode::endStateSets()
00611   {
00612     NVSG_TRACE();
00613     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00614     return( StateSetIterator( m_geometries.end() ) );
00615   }
00616
00617   inline GeoNode::DrawableConstIterator GeoNode::beginDrawables( const StateSetConstIterator & stateSet ) const
00618   {
00619     NVSG_TRACE();
00620     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00621     NVSG_ASSERT( stateSet.m_iter != m_geometries.end() );
00622
00623     return( DrawableConstIterator( stateSet.m_iter->m_drawables.begin() ) );
00624   }
00625
00626   inline GeoNode::DrawableIterator GeoNode::beginDrawables( const StateSetIterator & stateSet )
00627   {
00628     NVSG_TRACE();
00629     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00630     NVSG_ASSERT( stateSet.m_iter != m_geometries.end() );
00631
00632     return( DrawableIterator( stateSet.m_iter->m_drawables.begin() ) );
00633   }
00634
00635   inline GeoNode::DrawableConstIterator GeoNode::endDrawables( const StateSetConstIterator & stateSet ) const
00636   {
00637     NVSG_TRACE();
00638     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00639     NVSG_ASSERT( stateSet.m_iter != m_geometries.end() );
00640
00641     return( DrawableConstIterator( stateSet.m_iter->m_drawables.end() ) );
00642   }
00643
00644   inline GeoNode::DrawableIterator GeoNode::endDrawables( const StateSetIterator & stateSet )
00645   {
00646     NVSG_TRACE();
00647     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00648     NVSG_ASSERT( stateSet.m_iter != m_geometries.end() );
00649
00650     return( DrawableIterator( stateSet.m_iter->m_drawables.end() ) );
00651   }
00652
00653 } //  namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: GLContext.h File Reference

inc / nvsg / nvgl

GLContext.h File Reference

#include "nvsgcommon.h"
#include "nvgl/nvgl.h"
#include "nvgl/GLStatistics.h"
#include "nvmath/Vecnt.h"
#include "nvutil/RCObject.h"
#include "nvutil/STLExt.h"
#include "nvsg/TextureAttribute.h"
#include "nvsg/TextureHost.h"
#include "nvsg/CgFx.h"
#include <map>
#include <stack>
#include <string>
#include <algorithm>
#include <utility>
#include "nvgl/GLFunctions.h"
#include "nvgl/GLObjects.h"

Include dependency graph for GLContext.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvgl

Defines

#define | GET_CURRENT_DC() WGLGetCurrentDC()
Get the current device context.
#define | GET_CURRENT_RC() WGLGetCurrentContext()
Get the current render context.
#define | MAKE_CURRENT(DC, RC) WGLMakeCurrent(DC,RC)
Make the given device context and render context current.
#define | NVSG_TIF_INVALID 0
Invalid texture format.
#define | NVSG_CACHE_FRONT 0
ID for the front caches.
#define | NVSG_CACHE_BACK 1
ID for the back caches.
#define | BUFFER_OFFSET(i) ((char*)NULL + (i))
Helper macro with buffer-usage.
#define | GEN_BUFFER_CACHE_SIZE 128

Typedefs

typedef HDC | DEVICE_CONTEXT
Helper type that maps to HDC on Windows and Drawable on Linux.
typedef HGLRC | RENDER_CONTEXT
Helper type that maps to HGLRC on Windows and GLXContext on Linux.

Enumerations

enum {
NVSG_ARRAY_BUFFER = 0, NVSG_FIRST_VERTEX_BUFFER = NVSG_ARRAY_BUFFER, NVSG_ELEMENT_ARRAY_BUFFER, NVSG_LAST_VERTEX_BUFFER = NVSG_ELEMENT_ARRAY_BUFFER,
NVSG_PIXEL_PACK_BUFFER, NVSG_FIRST_PIXEL_BUFFER = NVSG_PIXEL_PACK_BUFFER, NVSG_PIXEL_UNPACK_BUFFER, NVSG_LAST_PIXEL_BUFFER = NVSG_PIXEL_UNPACK_BUFFER,
NVSG_COPY_READ_BUFFER, NVSG_FIRST_COPY_BUFFER = NVSG_COPY_READ_BUFFER, NVSG_COPY_WRITE_BUFFER, NVSG_LAST_COPY_BUFFER = NVSG_COPY_WRITE_BUFFER,
NVSG_TEXTURE_BUFFER, NVSG_NUM_VERTEX_BUFFERS = NVSG_LAST_VERTEX_BUFFER - NVSG_FIRST_VERTEX_BUFFER + 1, NVSG_NUM_PIXEL_BUFFERS = NVSG_LAST_PIXEL_BUFFER - NVSG_FIRST_PIXEL_BUFFER + 1, NVSG_NUM_COPY_BUFFERS = NVSG_LAST_COPY_BUFFER - NVSG_FIRST_COPY_BUFFER + 1,
NVSG_NUM_TEXTURE_BUFFERS = 1, NVSG_NUM_BUFFERS = NVSG_NUM_VERTEX_BUFFERS + NVSG_NUM_PIXEL_BUFFERS + NVSG_NUM_COPY_BUFFERS + NVSG_NUM_TEXTURE_BUFFERS
}
enum {
GL_INVALID_BUFFER_TARGET = -1, GL_VERTEX_BUFFER_INTERLEAVED_GENERIC = 0, GL_FEEDBACK_BUFFER_INTERLEAVED_GENERIC = 1, GL_VERTEX_BUFFER_FIRST = GL_VERTEX_BUFFER_INTERLEAVED_GENERIC,
GL_VERTEX_BUFFER_LAST = GL_FEEDBACK_BUFFER_INTERLEAVED_GENERIC, GL_INDEX_BUFFER_UNSIGNED_BYTE, GL_INDEX_BUFFER_FIRST = GL_INDEX_BUFFER_UNSIGNED_BYTE, GL_INDEX_BUFFER_UNSIGNED_SHORT,
GL_INDEX_BUFFER_UNSIGNED_INT, GL_INDEX_BUFFER_LAST = GL_INDEX_BUFFER_UNSIGNED_INT, GL_NUM_BUFFER_TARGETS
}

Functions

GLContext * | glContext ()
Get the GLContext of the current thread.
bool | equalf (GLfloat a, GLfloat b)
Fast float compare helper.
bool | equal3f (GLfloat a1, GLfloat a2, GLfloat a3, const GLfloat *b)
Fast float compare helper.
bool | equal3fv (const GLfloat *a, const GLfloat *b)
Fast float compare helper.
bool | equal4f (GLfloat a1, GLfloat a2, GLfloat a3, GLfloat a4, const GLfloat *b)
Fast float compare helper.
bool | equal4fv (const GLfloat *a, const GLfloat *b)
Fast float compare helper.
void | GLAccum (GLenum op, GLfloat value)
Replacement of glAccum.
void | GLActiveStencilFace (GLenum face)
Replacement of glActiveStencilFaceEXT.
void | GLActiveTexture (GLenum texture)
Replacement of glActiveTexture.
void | GLPatchParameterfv (GLenum pname, const GLfloat *values)
Replacement of glPatchParameterfvNV.
void | GLPatchParameteri (GLenum pname, GLint value)
Replacement of glPatchParameteriNV.
void | GLActiveVarying (GLuint program, const GLchar *name)
Replacement of glActiveVaryingNV.
void | GLAlphaFunc (GLenum func, GLclampf ref)
Replacement of glAlphaFunc.
void | GLResetAlphaFunc ()
Helper function to reset alpha function and alpha reference value.
GLboolean | GLAreProgramsResident (GLsizei n, const GLuint *programs, GLboolean *residences)
Replacement of glAreProgramsResidentNV.
GLboolean | GLAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences)
Replacement of glAreTexturesResident.
void | GLArrayElement (GLint i)
Replacement of glArrayElement.
void | GLAttachObject (GLhandleARB containerObj, GLhandleARB attachedObj)
Replacement of glAttachObjectARB.
void | GLAttachShader (GLuint program, GLuint shader)
Replacement of glAttachShader.
void | GLBegin (GLenum mode)
Replacement of glBegin.
void | GLBeginQuery (GLenum target, GLuint id)
Replacement of glBeginQuery.
void | GLBeginTransformFeedbackNV (GLenum primitiveMode)
Replacement of glBeginTransformFeedbackNV.
void | GLBeginTransformFeedback (GLenum primitiveMode)
Replacement of glBeginTransformFeedback.
void | GLBeginConditionalRenderNV (GLuint id, GLenum mode)
Replacement of glBeginConditionalRenderNV.
void | GLBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glBlendColor.
void | GLBindAttribLocation (GLuint program, GLuint index, const GLchar *name)
Replacement of glBindAttribLocation.
void | GLBindBuffer (GLenum target, GLuint id)
Replacement of glBindBuffer.
void | GLBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer)
Replacement of glBindBufferBaseNV.
void | GLBindBufferBase (GLenum target, GLuint index, GLuint buffer)
Replacement of glBindBufferBase.
void | GLBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset)
Replacement of glBindBufferOffsetNV.
void | GLBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Replacement of glBindBufferRangeNV.
void | GLBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Replacement of glBindBufferRange.
void | GLBufferData (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)
Replacement of glBufferData.
void | GLBufferSubData (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)
Replacement of glBufferSubData.
void | GLDeleteBuffers (GLsizei n, const GLuint *buffers)
Replacement of glDeleteBuffers.
void | GLDeleteFences (GLsizei n, const GLuint *fences)
Replacement of glDeleteFencesNV.
void | GLGenBuffers (GLsizei n, GLuint *buffers)
Replacement of glGenBuffers.
void | GLGenFences (GLsizei n, GLuint *fences)
Replacement of glGenFencesNV.
GLvoid * | GLMapBuffer (GLenum target, GLenum access)
Replacement of glMapBuffer.
void | GLUnlockArrays ()
Replacement of glUnlockArrays.
void | GLUniform1f (GLint location, GLfloat v0)
Replacement of glUniform1f.
void | GLUniform1fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform1fv.
void | GLUniform1i (GLint location, GLint v0)
Replacement of glUniform1i.
void | GLUniform1iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform1iv.
void | GLUniform1ui (GLint location, GLuint v0)
Replacement of glUniform1uiEXT.
void | GLUniform1uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform1uivEXT.
void | GLUniform2f (GLint location, GLfloat v0, GLfloat v1)
Replacement of glUniform2f.
void | GLUniform2fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform2fv.
void | GLUniform2i (GLint location, GLint v0, GLint v1)
Replacement of glUniform2i.
void | GLUniform2iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform2iv.
void | GLUniform2ui (GLint location, GLuint v0, GLuint v1)
Replacement of glUniform2ui.
void | GLUniform2uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform2uiv.
void | GLUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
Replacement of glUniform3f.
void | GLUniform3fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform3fv.
void | GLUniform3i (GLint location, GLint v0, GLint v1, GLint v2)
Replacement of glUniform3i.
void | GLUniform3iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform3iv.
void | GLUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2)
Replacement of glUniform3ui.
void | GLUniform3uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform3uiv.
void | GLUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
Replacement of glUniform4f.
void | GLUniform4fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform4fv.
void | GLUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
Replacement of glUniform4i.
void | GLUniform4iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform4iv.
void | GLUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
Replacement of glUniform4ui.
void | GLUniform4uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform4uiv.
void | GLUniformBuffer (GLuint program, GLint location, GLuint buffer)
Replacement of glUniformBufferEXT.
void | GLUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2fv.
void | GLUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2x3fv.
void | GLUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2x4fv.
void | GLUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3fv.
void | GLUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3x2fv.
void | GLUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3x4fv.
void | GLUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4fv.
void | GLUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4x2fv.
void | GLUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4x3fv.
GLboolean | GLUnmapBuffer (GLenum target)
Replacement of glUnmapBuffer.
void | GLUseProgram (GLuint program)
Replacement of glUseProgram.
void | GLUseProgramObject (GLhandleARB programObj)
Replacement of glUseProgramObjectARB.
void | GLValidateProgram (GLuint program)
Replacement of glValidateProgram.
GLboolean | GLIsBuffer (GLuint name)
Replacement of glIsBuffer.
void | GLBindFragDataLocation (GLuint program, GLuint color, const GLchar *name)
Replacement of glBindFragDataLocationEXT.
void | GLBindProgram (GLenum target, GLuint id)
Replacement of glBindProgramARB.
void | GLBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
Replacement of glBitmap.
void | GLBlendEquation (GLenum mode)
Replacement of glBlendEquation.
void | GLBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
Replacement of glBlendEquationSeparate.
void | GLBlendFunc (GLenum sfactor, GLenum dfactor)
Replacement of glBlendFunc.
void | GLResetBlendFunc ()
Helper function to reset the blend function.
void | GLBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
Replacement of glBlendFunc.
void | GLResetBlendFuncSeparate ()
Helper function to reset the blend function, using the GL_EXT_blend_func_separate extention.
void | GLBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
Replacement of glBlitFramebufferEXT.
void | GLBindTexture (GLenum target, GLuint texture)
Replacement of glBindTexture.
void | GLCallList (GLuint list)
Replacement of glCallList.
void | GLCallLists (GLsizei n, GLenum type, const GLvoid *lists)
Replacement of glCallLists.
void | GLClampColor (GLenum target, GLenum clamp)
Replacement of glClampColorARB.
void | GLClear (GLbitfield mask)
Replacement of glClear.
void | GLClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glClearAccum.
void | GLClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glClearColor.
void | GLClearColorIi (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glClearColorIiEXT.
void | GLClearColorIui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glClearColorIuiEXT.
void | GLResetClearColor ()
Helper function to reset the clear color.
void | GLClearDepth (GLclampd depth)
Replacement of glClearDepth.
void | GLClearDepthd (GLdouble depth)
Replacement of glClearDepthd.
void | GLResetClearDepth ()
Helper function to reset the clear depth.
void | GLClearIndex (GLfloat c)
Replacement of glClearIndex.
void | GLClearStencil (GLint s)
Replacement of glClearStencil.
void | GLResetClearStencil ()
Helper function to reset the stencil clear value.
void | GLClientActiveTexture (GLenum texture)
Replacement of glClientActiveTexture.
void | GLClipPlane (GLenum plane, const GLdouble *equation)
Replacement of glClipPlane.
void | GLResetClipPlaneEquation (GLenum plane)
Helper function to reset a clip plane equation.
void | GLColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glColor3b.
void | GLColor3bv (const GLbyte *v)
Replacement of glColor3bv.
void | GLColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glColor3d.
void | GLColor3dv (const GLdouble *v)
Replacement of glColor3dv.
void | GLColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glColor3f.
void | GLColor3fv (const GLfloat *v)
Replacement of glColor3fv.
void | GLColor3h (GLhalf red, GLhalf green, GLhalf blue)
Replacement of glColor3hNV.
void | GLColor3hv (const GLhalf *v)
Replacement of glColor3hv.
void | GLColor3i (GLint red, GLint green, GLint blue)
Replacement of glColor3i.
void | GLColor3iv (const GLint *v)
Replacement of glColor3iv.
void | GLColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glColor3s.
void | GLColor3sv (const GLshort *v)
Replacement of glColor3sv.
void | GLColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glColor3ub.
void | GLColor3ubv (const GLubyte *v)
Replacement of glColor3ubv.
void | GLColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glColor3ui.
void | GLColor3uiv (const GLuint *v)
Replacement of glColor3uiv.
void | GLColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glColor3us.
void | GLColor3usv (const GLushort *v)
Replacement of glColor3usv.
void | GLColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
Replacement of glColor4b.
void | GLColor4bv (const GLbyte *v)
Replacement of glColor4bv.
void | GLColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
Replacement of glColor4d.
void | GLColor4dv (const GLdouble *v)
Replacement of glColor4dv.
void | GLColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glColor4f.
void | GLColor4fv (const GLfloat *v)
Replacement of glColor4fv.
void | GLColor4h (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha)
Replacement of glColor4hNV.
void | GLColor4hv (const GLhalf *v)
Replacement of glColor4hv.
void | GLColor4i (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glColor4i.
void | GLColor4iv (const GLint *v)
Replacement of glColor4iv.
void | GLColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha)
Replacement of glColor4s.
void | GLColor4sv (const GLshort *v)
Replacement of glColor4sv.
void | GLColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
Replacement of glColor4ub.
void | GLColor4ubv (const GLubyte *v)
Replacement of glColor4ubv.
void | GLColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glColor4ui.
void | GLColor4uiv (const GLuint *v)
Replacement of glColor4uiv.
void | GLColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha)
Replacement of glColor4us.
void | GLColor4usv (const GLushort *v)
Replacement of glColor4usv.
void | GLColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
Replacement of glColorMask.
void | GLColorMaskIndexed (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
Replacement of glColorMaskIndexedEXT.
void | GLResetColorMask ()
Helper function to reset the color mask.
void | GLColorMaterial (GLenum face, GLenum mode)
Replacement of glColorMaterial.
void | GLResetColorMaterialMode ()
Helper function to reset the color material mode.
void | GLColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glColorPointer.
void | GLColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
Replacement of glColorSubTable.
void | GLColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
Replacement of glColorTable.
void | GLColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glColorTableParameterfv.
void | GLColorTableParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glColorTableParameteriv.
void | GLCombinerInput (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
Replacement of glCombinerInput.
void | GLCombinerOutput (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)
Replacement of glCombinerOutput.
void | GLCombinerParameterf (GLenum pname, GLfloat param)
Replacement of glCombinerParameterf.
void | GLCombinerParameterfv (GLenum pname, const GLfloat *params)
Replacement of glCombinerParameterfv.
void | GLCombinerParameteri (GLenum pname, GLint param)
Replacement of glCombinerParameteri.
void | GLCombinerParameteriv (GLenum pname, const GLint *params)
Replacement of glCombinerParameteriv.
void | GLCombinerStageParameterfv (GLenum stage, GLenum pname, const GLfloat *params)
Replacement of glCombinerStageParameterfv.
void | GLCompileShader (GLuint shader)
Replacement of glCompileShader.
void | GLCompressedTexImage1D (GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage1D.
void | GLCompressedTexImage2D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage2D.
void | GLCompressedTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage3D.
void | GLCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage1D.
void | GLCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage2D.
void | GLCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage3D.
void | GLConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
Replacement of glConvolutionFilter1D.
void | GLConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
Replacement of glConvolutionFilter2D.
void | GLConvolutionParameterf (GLenum target, GLenum pname, GLfloat params)
Replacement of glConvolutionParameterf.
void | GLConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glConvolutionParameterfv.
void | GLConvolutionParameteri (GLenum target, GLenum pname, GLint params)
Replacement of glConvolutionParameteri.
void | GLConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glConvolutionParameteriv.
void | GLCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
Replacement of glCopyColorSubTable.
void | GLCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
Replacement of glCopyColorTable.
void | GLCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
Replacement of glCopyConvolutionFilter1D.
void | GLCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyConvolutionFilter2D.
void | GLCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
Replacement of glCopyPixels.
void | GLCopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
Replacement of glCopyTexImage1D.
void | GLCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Replacement of glCopyTexImage2D.
void | GLCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
Replacement of glCopyTexSubImage1D.
void | GLCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.
void | GLCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.
GLuint | GLCreateProgram ()
Replacement of glCreateProgram.
GLhandleARB | GLCreateProgramObject ()
Replacement of glCreateProgramObjectARB.
GLuint | GLCreateShader (GLenum type)
Replacement of glCreateShader.
GLhandleARB | GLCreateShaderObject (GLenum shaderType)
Replacement of glCreateShaderObjectARB.
void | GLCullFace (GLenum mode)
Replacement of glCullFace.
void | GLResetCullFaceMode ()
Helper function to reset the cull face mode.
void | GLCullFaceLock (GLenum mode)
Helper function to set the cull face mode and lock it.
void | GLCullFaceUnlock (GLenum mode)
Helper function to unlock the cull face and set it.
void | GLDeleteLists (GLuint list, GLsizei range)
Replacement of glDeleteLists.
void | GLDeleteObject (GLhandleARB obj)
Replacement of glDeleteObjectARB.
void | GLDeleteProgram (GLuint program)
Replacement of glDeleteProgram.
void | GLDeletePrograms (GLsizei n, const GLuint *ids)
Replacement of glDeleteProgramsARB.
void | GLDeleteQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteQueries.
void | GLDeleteShader (GLuint shader)
Replacement of glDeleteShader.
void | GLDeleteTextures (GLsizei n, const GLuint *textures)
Replacement of glDeleteTextures.
void | GLDepthBounds (GLclampd zmin, GLclampd zmax)
Replacement of glDepthBounds.
void | GLDepthBoundsd (GLdouble zmin, GLdouble zmax)
Replacement of glDepthBoundsd.
void | GLDepthFunc (GLenum func)
Replacement of glDepthFunc.
void | GLResetDepthFunc ()
Helper function to reset the depth func.
void | GLDepthMask (GLboolean flag)
Replacement of glDepthMask.
void | GLResetDepthMask ()
Helper function to reset the depth mask.
void | GLDepthRange (GLclampd znear, GLclampd zfar)
Replacement of glDepthRange.
void | GLDepthRanged (GLdouble zNear, GLdouble zFar)
Replacement of glDepthRandedNV.
void | GLResetDepthRange ()
Helper function to reset the depth range.
void | GLDetachObject (GLhandleARB containerObj, GLhandleARB attachedObj)
Replacement of glDetachObjectARB.
void | GLDetachShader (GLuint program, GLuint shader)
Replacement of glDetachShader.
void | GLDisableAlphaTest (void)
Cached version of GLDisable( GL_ALPHA_TEST ).
void | GLDisableAutoNormal (void)
Cached version of GLDisable( GL_AUTO_NORMAL ).
void | GLDisableBlend (void)
Cached version of GLDisable( GL_BLEND ).
void | GLDisableClipPlane (GLenum plane)
Cached version of GLDisable( GL_CLIP_PLANEi ).
void | GLDisableColorLogicOp (void)
Cached version of GLDisable( GL_COLOR_LOGIC_OP ).
void | GLDisableColorMaterial (void)
Cached version of GLDisable( GL_COLOR_MATERIAL ).
void | GLDisableCullFace (void)
Cached version of GLDisable( GL_CULL_FACE ).
void | GLDisableCullFaceLock (void)
Helper function to disable the cull face and lock it.
void | GLDisableCullFaceUnlock (void)
Helper function to unlock the cull face and set it.
void | GLDisableDepthTest (void)
Cached version of GLDisable( GL_DEPTH_TEST ).
void | GLDisableDither (void)
Cached version of GLDisable( GL_DITHER ).
void | GLDisableFog (void)
Cached version of GLDisable( GL_FOG ).
void | GLDisableIndexed (GLenum target, GLuint index)
Replacement of glDiableIndexed.
void | GLDisableLight (GLenum light)
Cached version of GLDisable( GL_LIGHTi ).
void | GLDisableLighting (void)
Cached version of GLDisable( GL_LIGHTING ).
void | GLDisableLightingLock (void)
Helper function to disable lighting and lock it.
void | GLDisableLightingUnlock (void)
Helper function to unlock the lighting and disable it.
void | GLDisableLineSmooth (void)
Cached version of GLDisable( GL_LINE_SMOOTH ).
void | GLDisableLineStipple (void)
Cached version of GLDisable( GL_LINE_STIPPLE ).
void | GLDisableLogicOp (void)
Cached version of GLDisable( GL_LOGIC_OP ).
void | GLDisableNormalize (void)
Cached version of GLDisable( GL_NORMALIZE ).
void | GLDisableRescaleNormal (void)
Cached version of GLDisable( GL_RESCALE_NORMAL ).
void | GLDisablePointSmooth (void)
Cached version of GLDisable( GL_POINT_SMOOTH ).
void | GLDisablePolygonOffsetFill (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_FILL ).
void | GLDisablePolygonOffsetLine (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_LINE ).
void | GLDisablePolygonOffsetPoint (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_POINT ).
void | GLDisablePolygonSmooth (void)
Cached version of GLDisable( GL_POLYGON_SMOOTH ).
void | GLDisablePolygonStipple (void)
Cached version of GLDisable( GL_POLYGON_STIPPLE ).
void | GLDisableScissorTest (void)
Cached version of GLDisable( GL_SCISSOR_TEST ).
void | GLDisableStencilTest (void)
Cached version of GLDisable( GL_STENCIL_TEST ).
void | GLDisableTexture (GLenum target)
void | GLDisableTextureGen (GLenum target)
Cached version of GLDisable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
void | GLDisable (GLenum cap)
Replacement of glDisable.
void | GLDisableColorArray (void)
Cached version of GLDisableClientState( GL_COLOR_ARRAY ).
void | GLDisableFogCoordinateArray (void)
Cached version of GLDisableClientState( GL_FOG_COORDINATE_ARRAY ).
void | GLDisableNormalArray (void)
Cached version of GLDisableClientState( GL_NORMAL_ARRAY ).
void | GLDisableSecondaryColorArray (void)
Cached version of GLDisableClientState( GL_SECONDARY_COLOR_ARRAY ).
void | GLDisableTextureCoordArray (void)
Cached version of GLDisableClientState( GL_TEXTURE_COORD_ARRAY ).
void | GLDisableVertexArray (void)
Cached version of GLDisableClientState( GL_VERTEX_ARRAY ).
void | GLDisablePrimitiveRestart ()
Cached version of GLDisableClientState( GL_PRIMITIVE_RESTART_NV ).
void | GLDisableClientState (GLenum array)
Replacement of glDisableClientState.
void | GLDisableVertexAttribArray (GLuint index)
Replacement of glDisableVertexAttribArray.
void | GLDrawArrays (GLenum mode, GLint first, GLsizei count)
Replacement of glDrawArrays.
void | GLDrawArraysInstanced (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
Replacement of glDrawArraysInstancedEXT.
void | GLDrawBuffer (GLenum mode)
Replacement of glDrawBuffer.
void | GLDrawBuffers (GLsizei n, const GLenum *bufs)
Replacement of glDrawBuffersARB.
void | GLDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawElements.
void | GLDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
Replacement of glDrawElementsInstancedEXT.
void | GLMultiDrawArrays (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount)
Replacement of glMultiDrawArrays.
void | GLMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
Replacement of glMultiDrawElements.
void | GLDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glDrawPixels.
void | GLDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawRangeElements.
void | GLEdgeFlagPointer (GLsizei stride, const GLboolean *pointer)
Replacement of glEdgeFlagPointer.
void | GLEdgeFlag (GLboolean flag)
Replacement of glEdgeFlag.
void | GLEdgeFlagv (const GLboolean *flag)
Replacement of glEdgeFlagv.
void | GLEnableAlphaTest (void)
Cached version of GLEnable( GL_ALPHA_TEST ).
void | GLResetAlphaTest ()
Helper function to reset the enable state of the alpha test.
void | GLEnableAutoNormal (void)
Cached version of GLEnable( GL_AUTO_NORMAL ).
void | GLResetAutoNormal ()
Helper function to reset the enable state of the auto normal calculation.
void | GLEnableBlend (void)
Cached version of GLEnable( GL_BLEND ).
void | GLResetBlend ()
Helper function to reset the enable state of the blending.
void | GLEnableClipPlane (GLenum plane)
Cached version of GLEnable( GL_CLIP_PLANEi ).
void | GLResetClipPlane (GLenum plane)
Helper function to reset the enable state of the clip plane plane.
void | GLEnableColorLogicOp (void)
Cached version of GLEnable( GL_COLOR_LOGIC_OP ).
void | GLResetColorLogicOp ()
Helper function to reset the enable state of the color logic operation.
void | GLEnableColorMaterial (void)
Cached version of GLEnable( GL_COLOR_MATERIAL ).
void | GLResetColorMaterial ()
Helper function to reset the enable state of the color material.
void | GLEnableCullFace (void)
Cached version of GLEnable( GL_CULL_FACE ).
void | GLResetCullFace ()
Helper function to reset the enable state of face culling.
void | GLEnableCullFaceLock (void)
Helper function to enable face culling and lock it.
void | GLEnableCullFaceUnlock (void)
Helper function to unlock the face culling and enable it.
void | GLEnableDepthTest (void)
Cached version of GLEnable( GL_DEPTH_TEST ).
void | GLResetDepthTest ()
Helper function to reset the enable state of depth testing.
void | GLEnableDither (void)
Cached version of GLEnable( GL_DITHER ).
void | GLResetDither ()
Helper function to reset the enable state of dithering.
void | GLEnableFog (void)
Cached version of GLEnable( GL_FOG ).
void | GLResetFog ()
Helper function to reset the the enable state of fogging.
void | GLEnableIndexed (GLenum target, GLuint index)
Replacement of glEnabledIndexed.
void | GLEnableLight (GLenum light)
Cached version of GLEnable( GL_LIGHTi ).
void | GLResetLight (GLenum light)
Helper function to reset the enable state of the light light.
void | GLEnableLighting (void)
Cached version of GLEnable( GL_LIGHTING ).
void | GLResetLighting ()
Helper function to reset the enable state of lighting.
void | GLEnableLineSmooth (void)
Cached version of GLEnable( GL_LINE_SMOOTH ).
void | GLResetLineSmooth ()
Helper function to reset the enable state of line smoothing.
void | GLEnableLineStipple (void)
Cached version of GLEnable( GL_LINE_STIPPLE ).
void | GLResetLineStipple ()
Helper function to reset the enable state of line stippling.
void | GLEnableLogicOp (void)
Cached version of GLEnable( GL_LOGIC_OP ).
void | GLResetLogicOp ()
Helper function to reset the enable state of logic operation.
void | GLEnableNormalize (void)
Cached version of GLEnable( GL_NORMALIZE ).
void | GLEnableRescaleNormal (void)
Cached version of GLEnable( GL_RESCALE_NORMAL ).
void | GLResetNormalize ()
Helper function to reset the enable state of GL_NORMALIZE.
void | GLResetRescaleNormal ()
Helper function to reset the enable state of GL_RESCALE_NORMAL.
void | GLEnablePointSmooth (void)
Cached version of GLEnable( GL_POINT_SMOOTH ).
void | GLResetPointSmooth ()
Helper function to reset the enable state of point smoothing.
void | GLEnablePolygonOffsetFill (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_FILL ).
void | GLResetPolygonOffsetFill ()
Helper function to reset the enable state of filled polygon offset.
void | GLEnablePolygonOffsetLine (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_LINE ).
void | GLResetPolygonOffsetLine ()
Helper function to reset the enable state of lined polygon offset.
void | GLEnablePolygonOffsetPoint (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_POINT ).
void | GLResetPolygonOffsetPoint ()
Helper function to reset the enable state of pointed polygon offset.
void | GLEnablePolygonSmooth (void)
Cached version of GLEnable( GL_POLYGON_SMOOTH ).
void | GLResetPolygonSmooth ()
Helper function to reset the enable state of polygon smoothing.
void | GLEnablePolygonStipple (void)
Cached version of GLEnable( GL_POLYGON_STIPPLE ).
void | GLResetPolygonStipple ()
Helper function to reset the enable state of polygon stippling.
void | GLEnableScissorTest (void)
Cached version of GLEnable( GL_SCISSOR_TEST ).
void | GLResetScissorTest ()
Helper function to reset the enable state of scissor testing.
void | GLEnableStencilTest (void)
Cached version of GLEnable( GL_STENCIL_TEST ).
void | GLResetStencilTest ()
Helper function to reset the enable state of stencil testing.
void | GLEnableTexture (GLenum target)
void | GLResetTexture (GLenum target)
Helper function to reset the enable state of texture target target.
void | GLEnableTextureGen (GLenum target)
Cached version of GLEnable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
void | GLEnable (GLenum cap)
Replacement of glEnable.
void | GLEnableColorArray (void)
Cached version of GLEnableClientState( GL_COLOR_ARRAY ).
void | GLEnableFogCoordinateArray (void)
Cached version of GLEnableClientState( GL_FOG_COORDINATE_ARRAY ).
void | GLEnableNormalArray (void)
Cached version of GLEnableClientState( GL_NORMAL_ARRAY ).
void | GLEnableSecondaryColorArray (void)
Cached version of GLEnableClientState( GL_SECONDARY_COLOR_ARRAY ).
void | GLEnableTextureCoordArray (void)
Cached version of GLEnableClientState( GL_TEXTURE_COORD_ARRAY ).
void | GLEnableVertexArray (void)
Cached version of GLEnableClientState( GL_VERTEX_ARRAY ).
void | GLEnablePrimitiveRestart ()
Cached version of GLEnableClientState( GL_PRIMITIVE_RESTART_NV ).
void | GLEnableVertexAttribArrayUnified ()
void | GLDisableVertexAttribArrayUnified ()
void | GLEnableElementArrayUnified ()
void | GLDisableElementArrayUnified ()
void | GLEnableClientState (GLenum array)
Replacement of glEnableClientState.
void | GLEnableVertexAttribArray (GLuint index)
Replacement of glEnableVertexAttribArray.
void | GLEnd (void)
Replacement of glEnd.
void | GLEndList (void)
Replacement of glEndList.
void | GLEndConditionalRenderNV ()
Replacement of glEndConditionalRenderNV.
void | GLEndQuery (GLenum target)
Replacement of glEndQuery.
void | GLEndTransformFeedbackNV ()
Replacement of glEndTransformFeedbackNV.
void | GLEndTransformFeedback ()
Replacement of glEndTransformFeedback.
void | GLEvalCoord1d (GLdouble u)
Replacement of glEvalCoord1d.
void | GLEvalCoord1f (GLfloat u)
Replacement of glEvalCoord1f.
void | GLEvalCoord2d (GLdouble u, GLdouble v)
Replacement of glEvalCoord2d.
void | GLEvalCoord2f (GLfloat u, GLfloat v)
Replacement of glEvalCoord2f.
void | GLEvalMesh1 (GLenum mode, GLint i1, GLint i2)
Replacement of glEvalMesh1.
void | GLEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
Replacement of glEvalMesh2.
void | GLEvalPoint1 (GLint i)
Replacement of glEvalPoint1.
void | GLEvalPoint2 (GLint i, GLint j)
Replacement of glEvalPoint2.
void | GLExecuteProgram (GLenum target, GLuint id, const GLfloat *params)
Replacement of glExecuteProgramNV.
void | GLFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer)
Replacement of glFeedbackBuffer.
void | GLFinalCombinerInput (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
Replacement of glFinalCombinerInput.
void | GLFinish (void)
Replacement of glFinish.
void | GLFinishFence (GLuint fence)
Replacement of glFinishFenceNV.
void | GLFlush (void)
Replacement of glFlush.
void | GLFlushPixelDataRange (GLenum target)
Replacement of glFlushPixelDataRangeNV.
void | GLFlushVertexArrayRange ()
Replacement of glFlushVertexArrayRange.
void | GLFogColor (const GLfloat *color)
Cached version of GLFog[fv|iv]( GL_FOG_COLOR, params ).
void | GLResetFogColor ()
Helper function to reset the fog color.
void | GLFogCoordd (GLdouble fog)
Replacement of glFogCoordd.
void | GLFogCoorddv (const GLdouble *fog)
Replacement of glFogCoorddv.
void | GLFogCoordf (GLfloat fog)
Replacement of glFogCoordf.
void | GLFogCoordfv (const GLfloat *fog)
Replacement of glFogCoordfv.
void | GLFogCoordh (GLhalf fog)
Replacement of glFogCoordh.
void | GLFogCoordhv (const GLhalf *fog)
Replacement of glFogCoordhv.
void | GLFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glFogCoordPointer.
void | GLFogDensity (GLfloat density)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_DENSITY, param[s] ).
void | GLResetFogDensity ()
Helper function to reset the fog density.
void | GLFogEnd (GLfloat end)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ).
void | GLResetFogEnd ()
Helper function to reset the fog end value.
void | GLFogf (GLenum pname, GLfloat param)
Replacement of glFogf.
void | GLFogfv (GLenum pname, const GLfloat *params)
Replacement of glFogfv.
void | GLFogi (GLenum pname, GLint param)
Replacement of glFogi.
void | GLFogiv (GLenum pname, const GLint *params)
Replacement of glFogiv.
void | GLFogMode (GLenum mode)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ).
void | GLResetFogMode ()
Helper function to reset the fog mode.
void | GLFogStart (GLfloat start)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ).
void | GLResetFogStart ()
Helper function to reset the fog start value.
void | GLFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level)
Replacement of glFramebufferTextureEXT.
void | GLFramebufferTextureFace (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
Replacement of glFramebufferTextureFaceEXT.
void | GLFrontFace (GLenum mode)
Replacement of glFrontFace.
void | GLResetFrontFace ()
Helper function to reset the front face state.
void | GLFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glFrustum.
GLuint | GLGenLists (GLsizei range)
Replacement of glGenLists.
void | GLGenPrograms (GLsizei n, GLuint *ids)
Replacement of glGenProgramsARB.
void | GLGenQueries (GLsizei n, GLuint *ids)
Replacement of glGenQueries.
void | GLGenTextures (GLsizei n, GLuint *textures)
Replacement of glGenTextures.
void | GLGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetActiveAttrib.
void | GLGetActiveUniform (GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name)
Replacement of glGetActiveUniform.
void | GLGetActiveVaryingNV (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetActiveVaryingNV.
void | GLGetAttachedObjects (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj)
Replacement of glGetAttachedObjectsARB.
void | GLGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)
Replacement of glGetAttachedShaders.
GLint | GLGetAttribLocation (GLuint program, const GLchar *name)
Replacement of glGetAttribLocation.
void | GLGetBooleanv (GLenum pname, GLboolean *params)
Replacement of glGetBooleanv.
void | GLGetBooleanIndexedv (GLenum target, GLuint index, GLboolean *data)
Replacement of glGetBooleanIndexedvEXT.
void | GLGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table)
Replacement of glGetColorTable.
void | GLGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetColorTableParameterfv.
void | GLGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetColorTableParameteriv.
void | GLGetCombinerInputParameterfv (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)
Replacement of glGetCombinerInputParameterfv.
void | GLGetCombinerInputParameteriv (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)
Replacement of glGetCombinerInputParameteriv.
void | GLGetCombinerOutputParameterfv (GLenum stage, GLenum portion, GLenum pname, GLfloat *params)
Replacement of glGetCombinerOutputParameterfv.
void | GLGetCombinerOutputParameteriv (GLenum stage, GLenum portion, GLenum pname, GLint *params)
Replacement of glGetCombinerOutputParameteriv.
void | GLGetCombinerStageParameterfv (GLenum stage, GLenum pname, GLfloat *params)
Replacement of glGetCombinerStageParameterfv.
void | GLGetCompressedTexImage (GLenum target, GLint lod, GLvoid *img)
Replacement of glGetCompressedTexImage.
void | GLGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image)
Replacement of glGetConvolutionFilter.
void | GLGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetConvolutionParameterfv.
void | GLGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetConvolutionParameteriv.
void | GLGetDoublev (GLenum pname, GLdouble *params)
Replacement of glGetDoublev.
void | GLGetFenceiv (GLuint fence, GLenum pname, GLint *params)
Replacement of glGetFenceivNV.
void | GLGetFinalCombinerInputParameterfv (GLenum variable, GLenum pname, GLfloat *params)
Replacement of glGetFinalCombinerInputParamterfv.
void | GLGetFinalCombinerInputParameteriv (GLenum variable, GLenum pname, GLint *params)
Replacement of glGetFinalCombinerInputParamteriv.
void | GLGetFloatv (GLenum pname, GLfloat *params)
Replacement of glGetFloatv.
void | GLGetFogColor (GLfloat *fogColor)
GLint | GLGetFragDataLocation (GLuint program, const GLchar *name)
Replacement of glGetFragDataLocationEXT.
GLhandleARB | GLGetHandle (GLenum pname)
Replacement of glGetHandleARB.
void | GLGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
Replacement of glGetHistogram.
void | GLGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetHistogramParameterfv.
void | GLGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetHistogramParameteriv.
void | GLGetInfoLog (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)
Replacement of glGetInfoLogARB.
void | GLGetIntegerv (GLenum pname, GLint *params)
Replacement of glGetIntegerv.
void | GLGetIntegerIndexedv (GLenum target, GLuint index, GLint *data)
Replacement of glGetIntegerIndexedvEXT.
void | GLGetBufferParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetBufferParameteriv.
void | GLGetBufferPointerv (GLenum target, GLenum pname, GLvoid **params)
Replacement of glGetBufferPointerv.
void | GLGetBufferSubData (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data)
Replacement of glGetBufferSubData.
void | GLGetClipPlane (GLenum plane, GLdouble *equation)
Replacement of glGetClipPlane.
void | GLGetLightfv (GLenum light, GLenum pname, GLfloat *params)
Replacement of glGetLightfv.
void | GLGetLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glGetLightiv.
void | GLGetMapdv (GLenum target, GLenum query, GLdouble *v)
Replacement of glGetMapdv.
void | GLGetMapfv (GLenum target, GLenum query, GLfloat *v)
Replacement of glGetMapfv.
void | GLGetMapiv (GLenum target, GLenum query, GLint *v)
Replacement of glGetMapiv.
void | GLGetMaterialfv (GLenum face, GLenum pname, GLfloat *params)
Replacement of glGetMaterialfv.
void | GLGetMaterialiv (GLenum face, GLenum pname, GLint *params)
Replacement of glGetMaterialiv.
GLint | GLGetMaxTexCoords (void)
Get the maximal number of texture coordinate slots.
GLint | GLGetMaxTexUnits (void)
Get the maximal number of texture units.
GLint | GLGetMaxTexImageUnits (void)
Get the maximal number of texture image units.
void | GLGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
Replacement of glGetMinmax.
void | GLGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetMinmaxParameterfv.
void | GLGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetMinmaxParameteriv.
void | GLGetObjectParameterfv (GLhandleARB obj, GLenum pname, GLfloat *params)
Replacement of glGetObjectParameterfvARB.
void | GLGetObjectParameteriv (GLhandleARB obj, GLenum pname, GLint *params)
Replacement of glGetObjectParameterivARB.
void | GLGetPixelMapfv (GLenum map, GLfloat *values)
Replacement of glGetPixelMapfv.
void | GLGetPixelMapuiv (GLenum map, GLuint *values)
Replacement of glGetPixelMapuiv.
void | GLGetPixelMapusv (GLenum map, GLushort *values)
Replacement of glGetPixelMapusv.
void | GLGetPointerv (GLenum pname, GLvoid **params)
Replacement of glGetPointerv.
void | GLGetPolygonStipple (GLubyte *mask)
Replacement of glGetPolygonStipple.
void | GLGetProgramEnvParameterdv (GLenum target, GLuint index, GLdouble *params)
Replacement of glGetProgramEnvParameterdvARB.
void | GLGetProgramEnvParameterfv (GLenum target, GLuint index, GLfloat *params)
Replacement of glGetProgramEnvParameterfvARB.
void | GLGetProgramiv (GLuint program, GLenum pname, GLint *params)
Replacement of glGetProgramiv.
void | GLGetProgramLocalParameterdv (GLenum target, GLuint index, GLdouble *params)
Replacement of glGetProgramLocalParameterdvARB.
void | GLGetProgramLocalParameterfv (GLenum target, GLuint index, GLfloat *params)
Replacement of glGetProgramLocalParameterfvARB.
void | GLGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Replacement of glGetProgramInfoLog.
void | GLGetProgramEnvParameterIiv (GLenum target, GLuint index, GLint *params)
Replacement of glGetProgramEnvParameterIivNV.
void | GLGetProgramEnvParameterIuiv (GLenum target, GLuint index, GLuint *params)
Replacement of glGetProgramEnvParameterIuivNV.
void | GLGetProgramLocalParameterIiv (GLenum target, GLuint index, GLint *params)
Replacement of glGetProgramLocalParameterIivNV.
void | GLGetProgramLocalParameterIuiv (GLenum target, GLuint index, GLuint *params)
Replacement of glGetProgramLocalParameterIuivNV.
void | GLGetProgramNamedParameterdv (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)
Replacement of glGetProgramNamedParameterdvNV.
void | GLGetProgramNamedParameterfv (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)
Replacement of glGetProgramNamedParameterfvNV.
void | GLGetProgramParameterdv (GLenum target, GLuint index, GLenum pname, GLdouble *params)
Replacement of glGetProgramParameterdvNV.
void | GLGetProgramParameterfv (GLenum target, GLuint index, GLenum pname, GLfloat *params)
Replacement of glGetProgramParameterfvNV.
void | GLGetProgramString (GLuint id, GLenum pname, GLubyte *program)
Replacement of glGetProgramStringNV.
void | GLGetQueryiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetQueryiv.
void | GLGetQueryObjecti64v (GLuint id, GLenum pname, GLint64EXT *params)
Replacement of glGetQueryObjecti64vEXT.
void | GLGetQueryObjectiv (GLuint id, GLenum pname, GLint *params)
Replacement of glGetQueryObjectiv.
void | GLGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64EXT *params)
Replacement of glGetQueryObjectui64vEXT.
void | GLGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params)
Replacement of glGetQueryObjectuiv.
void | GLGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
Replacement of glGetSeparableFilter.
void | GLGetShaderiv (GLuint shader, GLenum pname, GLint *params)
Replacement of glGetShaderiv.
void | GLGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Replacement of glGetShaderInfoLog.
void | GLGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLcharARB *source)
Replacement of glGetShaderSource.
const GLubyte * | GLGetString (GLenum name)
Replacement of glGetString.
void | GLGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexEnvfv.
void | GLGetTexEnviv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexEnviv.
void | GLGetTexGendv (GLenum coord, GLenum pname, GLdouble *params)
Replacement of glGetTexGendv.
void | GLGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params)
Replacement of glGetTexGenfv.
void | GLGetTexGeniv (GLenum coord, GLenum pname, GLint *params)
Replacement of glGetTexGeniv.
void | GLGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glGetTexImage.
void | GLGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
Replacement of glGetTexLevelParameterfv.
void | GLGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
Replacement of glGetTexLevelParameteriv.
void | GLGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexParameterfv.
void | GLGetTexParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameteriv.
void | GLGetTexParameterIiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameterIivEXT.
void | GLGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params)
Replacement of glGetTexParameterIuivEXT.
void | GLGetTrackMatrixiv (GLenum target, GLuint address, GLenum pname, GLint *params)
Replacement of glGetTrackMatrixivNV.
void | GLGetTransformFeedbackVaryingNV (GLuint program, GLuint index, GLint *location)
Replacement of glGetTransformFeedbackVaryingNV.
void | GLGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetTransformFeedbackVarying.
void | GLGetUniformfv (GLuint program, GLint location, GLfloat *params)
Replacement of glGetUniformfv.
void | GLGetUniformiv (GLuint program, GLint location, GLint *params)
Replacement of glGetUniformiv.
void | GLGetUniformuiv (GLuint program, GLint location, GLuint *params)
Replacement of glGetUniformuiv.
GLint | GLGetUniformBufferSize (GLuint program, GLint location)
Replacement of glGetUniformBufferSizeEXT.
GLint | GLGetUniformLocation (GLuint program, const GLcharARB *name)
Replacement of glGetUniformLocation.
GLintptr | GLGetUniformOffset (GLuint program, GLint location)
Replacement of glGetUniformOffsetEXT.
GLint | GLGetVaryingLocationNV (GLuint program, const GLchar *name)
Replacement of glGetVaryingLocationNV.
void | GLGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params)
Replacement of glGetVertexAttribdv.
void | GLGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params)
Replacement of glGetVertexAttribfv.
void | GLGetVertexAttribiv (GLuint index, GLenum pname, GLint *params)
Replacement of glGetVertexAttribiv.
void | GLGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params)
Replacement of glGetVertexAttribIivEXT.
void | GLGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params)
Replacement of glGetVertexAttribIuivEXT.
void | GLGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid **pointer)
Replacement of glGetVertexAttribPointer.
void | GLHint (GLenum target, GLenum mode)
Replacement of glHint.
void | GLHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
Replacement of glHistogram.
void | GLIndexd (GLdouble c)
Replacement of glIndexd.
void | GLIndexf (GLfloat c)
Replacement of glIndexf.
void | GLIndexi (GLint c)
Replacement of glIndexi.
void | GLIndexMask (GLuint mask)
Replacement of glIndexMask.
void | GLIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glIndexPointer.
void | GLIndexs (GLshort c)
Replacement of glIndexs.
void | GLIndexub (GLubyte c)
Replacement of glIndexub.
void | GLInitNames (void)
Replacement of glInitNames.
void | GLInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer)
Replacement of glInterleavedArrays.
GLboolean | GLIsEnabled (GLenum cap)
Replacement of glIsEnabled.
GLboolean | GLIsEnabledAlphaTest ()
Replacement of glIsEnabled( GL_ALPHA_TEST ).
GLboolean | GLIsEnabledAutoNormal ()
Replacement of glIsEnabled( GL_AUTO_NORMAL ).
GLboolean | GLIsEnabledBlend ()
Replacement of glIsEnabled( GL_BLEND ).
GLboolean | GLIsEnabledClipPlane (GLenum plane)
Replacement of glIsEnabled( GL_CLIP_PLANEi ).
GLboolean | GLIsEnabledColorLogicOp ()
Replacement of glIsEnabled( GL_COLOR_LOGIC_OP ).
GLboolean | GLIsEnabledColorMaterial ()
Replacement of glIsEnabled( GL_COLOR_MATERIAL ).
GLboolean | GLIsEnabledCullFace ()
Replacement of glIsEnabled( GL_CULL_FACE ).
GLboolean | GLIsEnabledDepthTest ()
Replacement of glIsEnabled( GL_DEPTH_TEST ).
GLboolean | GLIsEnabledDither ()
Replacement of glIsEnabled( GL_DITHER ).
GLboolean | GLIsEnabledFog ()
Replacement of glIsEnabled( GL_FOG ).
GLboolean | GLIsEnabledIndexed (GLenum target, GLuint index)
Replacement of glIsEnabledIndexed.
GLboolean | GLIsEnabledLight (GLenum light)
Replacement of glIsEnabled( GL_LIGHTi ).
GLboolean | GLIsEnabledLighting ()
Replacement of glIsEnabled( GL_LIGHTING ).
GLboolean | GLIsEnabledLineSmooth ()
Replacement of glIsEnabled( GL_LINE_SMOOTH ).
GLboolean | GLIsEnabledLineStipple ()
Replacement of glIsEnabled( GL_LINE_STIPPLE ).
GLboolean | GLIsEnabledLogicOp ()
Replacement of glIsEnabled( GL_LOGIC_OP ).
GLboolean | GLIsEnabledNormalize ()
Replacement of glIsEnabled( GL_NORMALIZE ).
GLboolean | GLIsEnabledRescaleNormal ()
Replacement of glIsEnabled( GL_RESCALE_NORMAL ).
GLboolean | GLIsEnabledPointSmooth ()
Replacement of glIsEnabled( GL_POINT_SMOOTH ).
GLboolean | GLIsEnabledPolygonOffsetFill ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_FILL ).
GLboolean | GLIsEnabledPolygonOffsetLine ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_LINE ).
GLboolean | GLIsEnabledPolygonOffsetPoint ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_POINT ).
GLboolean | GLIsEnabledPolygonSmooth ()
Replacement of glIsEnabled( GL_POLYGON_SMOOTH ).
GLboolean | GLIsEnabledPolygonStipple ()
Replacement of glIsEnabled( GL_POLYGON_STIPPLE ).
GLboolean | GLIsEnabledScissorTest ()
Replacement of glIsEnabled( GL_SCISSOR_TEST ).
GLboolean | GLIsEnabledStencilTest ()
Replacement of glIsEnabled( GL_STENCIL_TEST ).
GLboolean | GLIsEnabledTexture (GLenum target)
Replacement of glIsEnabled( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ).
GLboolean | GLIsEnabledTextureGen (GLenum target)
Replacement of glIsEnabled( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
GLint | GLGetVersion ()
Returns the version of the OpenGL available on the target system.
GLboolean | GLIsExtensionAvailable (const std::string &extension)
Test if a given extension is available on the current context.
GLboolean | GLIsExtensionExported (const std::string &extension)
Test if a given extension is exported on the current context.
void | GLDisableExtensionAvailability (const std::string &extension)
Allows manual disabling of extension available state.
GLboolean | GLIsFence (GLuint fence)
Replacement of glIsFenceNV.
GLboolean | GLIsList (GLuint list)
Replacement of glIsList.
GLboolean | GLIsProgram (GLuint program)
Replacement of glIsProgram.
GLboolean | GLIsQuery (GLuint id)
Replacement of glIsQuery.
GLboolean | GLIsShader (GLuint shader)
Replacement of glIsShader.
GLboolean | GLIsTexture (GLuint texture)
Replacement of glIsTexture.
void | GLLightAmbient (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_AMBIENT, param ).
void | GLResetLightAmbient (GLenum light)
Helper function to reset the ambient light color.
void | GLLightConstantAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_CONSTANT_ATTENUATION, param ).
void | GLResetLightConstantAttenuation (GLenum light)
Helper function to reset the constant attenuation of the light light.
void | GLLightDiffuse (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_DIFFUSE, param ).
void | GLResetLightDiffuse (GLenum light)
Helper function to reset the diffuse color of the light light.
void | GLLightLinearAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_LINEAR_ATTENUATION, param ).
void | GLResetLightLinearAttenuation (GLenum light)
Helper function to reset the linear attenuation of the light light.
void | GLLightPosition (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_POSITION, param ).
void | GLResetLightPosition (GLenum light)
Helper function to reset the position of the light light.
void | GLLightQuadraticAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ).
void | GLResetLightQuadraticAttenuation (GLenum light)
Helper function to reset the quadratic attenuation of the light light.
void | GLLightSpecular (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_SPECULAR, param ).
void | GLResetLightSpecular (GLenum light)
Helper function to reset the specular color of the light light.
void | GLLightSpotCutoff (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_SPOT_CUTOFF, param ).
void | GLResetLightSpotCutoff (GLenum light)
Helper function to reset the spot cutoff of the light light.
void | GLLightSpotDirection (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_SPOT_DIRECTION, param ).
void | GLResetLightSpotDirection (GLenum light)
Helper function to reset the spot cutoff of the light light.
void | GLLightSpotExponent (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_SPOT_EXPONENT, param ).
void | GLResetLightSpotExponent (GLenum light)
Helper function to reset the spot exponent of the light light.
void | GLLightf (GLenum light, GLenum pname, GLfloat param)
Replacement of glLightf.
void | GLLightfv (GLenum light, GLenum pname, const GLfloat *params)
Replacement of glLightfv.
void | GLLighti (GLenum light, GLenum pname, GLint param)
Replacement of glLighti.
void | GLintToGLfloat (const GLint *params, GLfloat *fParams)
Convert GLInt to GLFloat.
void | GLLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glLightiv.
void | GLLightModelAmbient (const GLfloat *params)
Replacement of glLightModelfv( GL_LIGHT_MODEL_AMBIENT, params ).
void | GLResetLightModelAmbient ()
Helper function to reset the ambient light color.
void | GLLightModelLocalViewer (GLint param)
Replacement of GLLightModelLocalViewer.
void | GLResetLightModelLocalViewer ()
Helper function to reset the local viewer setting.
void | GLLightModelTwoSide (GLint param)
Replacement of GLLightModelTwoSide.
void | GLResetLightModelTwoSide ()
Helper function to reset the two sided lighting state.
void | GLLightModelTwoSideLock (GLint param)
Helper function to set two sided lighting and lock it.
void | GLLightModelTwoSideUnlock (GLint param)
Helper function to unlock the two sided lighting and set it.
void | GLLightModelf (GLenum pname, GLfloat param)
Replacement of glLightModelf.
void | GLLightModelfv (GLenum pname, const GLfloat *params)
Replacement of glLightModelfv.
void | GLLightModeli (GLenum pname, GLint param)
Replacement of glLightModeli.
void | GLLightModeliv (GLenum pname, const GLint *params)
Replacement of glLightModeliv.
void | GLLineStipple (GLint factor, GLushort pattern)
Replacement of glLineStipple.
void | GLResetLineStippleDefinition ()
Helper function to reset line stipple repeat and pattern.
void | GLLineWidth (GLfloat width)
Replacement of glLineWidth.
void | GLResetLineWidth ()
Helper function to reset the line width.
void | GLLinkProgram (GLuint program)
Replacement of glLinkProgram.
void | GLListBase (GLuint base)
Replacement of glListBase.
void | GLLoadIdentity (void)
Replacement of glLoadItentity.
void | GLLoadMatrixd (const GLdouble *m)
Replacement of glLoadMatrixd.
void | GLLoadMatrixf (const GLfloat *m)
Replacement of glLoadMatrixf.
void | GLLoadTransposedMatrixd (const GLdouble *m)
Replacement of glLoadTransposeMatrixd.
void | GLLoadTransposeMatrixf (const GLfloat *m)
Replacement of glLoadTransposMatrixf.
void | GLLoadName (GLuint name)
Replacement of glLoadName.
void | GLLoadProgram (GLenum target, GLuint id, GLsizei len, const GLubyte *program)
Replacement of glLoadProgramNV.
void | GLLockArrays (GLint first, GLsizei count)
Replacement of glLockArrays.
void | GLLogicOp (GLenum opcode)
Replacement of glLogicOp.
void | GLMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
Replacement of glMap1d.
void | GLMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
Replacement of glMap1f.
void | GLMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
Replacement of glMap2d.
void | GLMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
Replacement of glMap2f.
void | GLMapGrid1d (GLint un, GLdouble u1, GLdouble u2)
Replacement of glMapGrid1d.
void | GLMapGrid1f (GLint un, GLfloat u1, GLfloat u2)
Replacement of glMapGrid1f.
void | GLMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
Replacement of glMapGrid2d.
void | GLMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
Replacement of glMapGrid2f.
void | GLMaterialShininessBack (GLfloat param)
Cached version of GLMaterialf( GL_BACK, GL_SHININESS, param ).
void | GLResetMaterialShininessBack ()
Helper function to reset the material back face shininess.
void | GLMaterialShininessFront (GLfloat param)
Cached version of GLMaterialf( GL_FRONT, GL_SHININESS, param ).
void | GLResetMaterialShininessFront ()
Helper function to reset the material front face shininess.
void | GLMaterialShininessFrontAndBack (GLfloat param)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ).
void | GLResetMaterialShininessFrontAndBack ()
Helper function to reset the material back and front face shininess.
void | GLMaterialShininess (GLenum face, GLfloat param)
Cached version of GLMaterialf( face, GL_SHININESS, param ).
void | GLMaterialAmbientBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_AMBIENT, param ).
void | GLResetMaterialAmbientBack ()
Helper function to reset the material back face ambient color.
void | GLMaterialAmbientFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_AMBIENT, param ).
void | GLResetMaterialAmbientFront ()
Helper function to reset the material front face ambient color.
void | GLMaterialAmbientFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ).
void | GLResetMaterialAmbientFrontAndBack ()
Helper function to reset the material back and front face ambient color.
void | GLMaterialAmbient (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_AMBIENT, params ).
void | GLMaterialDiffuseBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_DIFFUSE, param ).
void | GLResetMaterialDiffuseBack ()
Helper function to reset the material back face diffuse color.
void | GLMaterialDiffuseFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ).
void | GLResetMaterialDiffuseFront ()
Helper function to reset the material front face diffuse color.
void | GLMaterialDiffuseFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ).
void | GLResetMaterialDiffuseFrontAndBack ()
Helper function to reset the material back and front face diffuse color.
void | GLMaterialDiffuse (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_DIFFUSE, params ).
void | GLMaterialEmissionBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_EMISSION, param ).
void | GLResetMaterialEmissionBack ()
Helper function to reset the material back face emission color.
void | GLMaterialEmissionFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_EMISSION, param ).
void | GLResetMaterialEmissionFront ()
Helper function to reset the material front face emission color.
void | GLMaterialEmissionFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ).
void | GLResetMaterialEmissionFrontAndBack ()
Helper function to reset the material back and front face emission color.
void | GLMaterialEmission (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_EMISSION, params ).
void | GLMaterialSpecularBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_SPECULAR, param ).
void | GLResetMaterialSpecularBack ()
Helper function to reset the material back face specular color.
void | GLMaterialSpecularFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_SPECULAR, param ).
void | GLResetMaterialSpecularFront ()
Helper function to reset the material front face specular color.
void | GLMaterialSpecularFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ).
void | GLResetMaterialSpecularFrontAndBack ()
Helper function to reset the material back and front face specular color.
void | GLMaterialSpecular (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_SPECULAR, params ).
void | GLMaterialf (GLenum face, GLenum pname, GLfloat param)
Replacement of glMaterialf.
void | GLMaterialfv (GLenum face, GLenum pname, const GLfloat *params)
Replacement of glMaterialfv.
void | GLMateriali (GLenum face, GLenum pname, GLint param)
Replacement of glMateriali.
void | GLMaterialiv (GLenum face, GLenum pname, const GLint *params)
Replacement of glMaterialiv.
void | GLMatrixMode (GLenum mode)
Replacement of glMatrixMode.
void | GLMinmax (GLenum target, GLenum internalformat, GLboolean sink)
Replacement of glMinmax.
void | GLMultiTexCoord1d (GLenum target, GLdouble s)
Replacement of glMultiTexCoord1d.
void | GLMultiTexCoord1dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord1dv.
void | GLMultiTexCoord1f (GLenum target, GLfloat s)
Replacement of glMultiTexCoord1f.
void | GLMultiTexCoord1fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord1fv.
void | GLMultiTexCoord1h (GLenum target, GLhalf s)
Replacement of glMultiTexCoord1hNV.
void | GLMultiTexCoord1hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord1hv.
void | GLMultiTexCoord1i (GLenum target, GLint s)
Replacement of glMultiTexCoord1i.
void | GLMultiTexCoord1iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord1iv.
void | GLMultiTexCoord1s (GLenum target, GLshort s)
Replacement of glMultiTexCoord1s.
void | GLMultiTexCoord1sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord1sv.
void | GLMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t)
Replacement of glMultiTexCoord2d.
void | GLMultiTexCoord2dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord2dv.
void | GLMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t)
Replacement of glMultiTexCoord2f.
void | GLMultiTexCoord2fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord2fv.
void | GLMultiTexCoord2h (GLenum target, GLhalf s, GLhalf t)
Replacement of glMultiTexCoord2hNV.
void | GLMultiTexCoord2hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord2hv.
void | GLMultiTexCoord2i (GLenum target, GLint s, GLint t)
Replacement of glMultiTexCoord2i.
void | GLMultiTexCoord2iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord2iv.
void | GLMultiTexCoord2s (GLenum target, GLshort s, GLshort t)
Replacement of glMultiTexCoord2s.
void | GLMultiTexCoord2sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord2sv.
void | GLMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r)
Replacement of glMultiTexCoord3d.
void | GLMultiTexCoord3dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord3dv.
void | GLMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r)
Replacement of glMultiTexCoord3f.
void | GLMultiTexCoord3fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord3fv.
void | GLMultiTexCoord3h (GLenum target, GLhalf s, GLhalf t, GLhalf r)
Replacement of glMultiTexCoord3hNV.
void | GLMultiTexCoord3hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord3hv.
void | GLMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r)
Replacement of glMultiTexCoord3i.
void | GLMultiTexCoord3iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord3iv.
void | GLMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r)
Replacement of glMultiTexCoord3s.
void | GLMultiTexCoord3sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord3sv.
void | GLMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glMultiTexCoord4d.
void | GLMultiTexCoord4dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord4dv.
void | GLMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glMultiTexCoord4f.
void | GLMultiTexCoord4fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord4fv.
void | GLMultiTexCoord4h (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q)
Replacement of glMultiTexCoord4hNV.
void | GLMultiTexCoord4hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord4hv.
void | GLMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q)
Replacement of glMultiTexCoord4i.
void | GLMultiTexCoord4iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord4iv.
void | GLMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glMultiTexCoord4s.
void | GLMultiTexCoord4sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord4sv.
void | GLMultMatrixd (const GLdouble *m)
Replacement of glMultMatrixd.
void | GLMultMatrixf (const GLfloat *m)
Replacement of glMultMatrixf.
void | GLMultTransposeMatrixd (const GLdouble *m)
Replacement of glMultTransposeMatrixd.
void | GLMultTransposeMatrixf (const GLfloat *m)
Replacement of glMultTransposeMatrixf.
void | GLNewList (GLuint list, GLenum mode)
Replacement of glNewList.
void | GLNormal3b (GLbyte nx, GLbyte ny, GLbyte nz)
Replacement of glNormal3b.
void | GLNormal3bv (const GLbyte *v)
Replacement of glNormal3bv.
void | GLNormal3d (GLdouble nx, GLdouble ny, GLdouble nz)
Replacement of glNormal3d.
void | GLNormal3dv (const GLdouble *v)
Replacement of glNormal3dv.
void | GLNormal3f (GLfloat nx, GLfloat ny, GLfloat nz)
Replacement of glNormal3f.
void | GLNormal3fv (const GLfloat *v)
Replacement of glNormal3fv.
void | GLNormal3h (GLhalf nx, GLhalf ny, GLhalf nz)
Replacement of glNormal3hNV.
void | GLNormal3hv (const GLhalf *v)
Replacement of glNormal3hv.
void | GLNormal3i (GLint nx, GLint ny, GLint nz)
! Replacement of glNormal3i
void | GLNormal3iv (const GLint *v)
Replacement of glNormal3iv.
void | GLNormal3s (GLshort nx, GLshort ny, GLshort nz)
Replacement of glNormal3s.
void | GLNormal3sv (const GLshort *v)
Replacement of glNormal3sv.
void | GLNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glNormalPointer.
void | GLOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glOrtho.
void | GLPassThrough (GLfloat token)
Replacement of glPassThrough.
void | GLPixelDataRange (GLenum target, GLsizei size, GLvoid *pointer)
Replacement of glPixelDataRangeNV.
void | GLPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values)
Replacement of glPixelMapfv.
void | GLPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values)
Replacement of glPixelMapuiv.
void | GLPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values)
Replacement of glPixelMapusv.
void | GLPixelStoref (GLenum pname, GLfloat param)
Replacement of glPixelStoref.
void | GLPixelStorei (GLenum pname, GLint param)
Replacement of glPixelStorei.
void | GLPixelTransferf (GLenum pname, GLfloat param)
Replacement of glPixelTransferf.
void | GLPixelTransferi (GLenum pname, GLint param)
Replacement of glPixelTransferi.
void | GLPixelZoom (GLfloat xfactor, GLfloat yfactor)
Replacement of glPixelZoom.
void | GLPointParameterf (GLenum pname, GLfloat param)
Replacement of glPointParameterf.
void | GLPointParameterfv (GLenum pname, const GLfloat *params)
Replacement of glPointParameterfv.
void | GLPointParameteri (GLenum pname, GLint param)
Replacement of glPointParameteri.
void | GLPointParameteriv (GLenum pname, const GLint *params)
Replacement of glPointParameteriv.
void | GLPointSize (GLfloat size)
Replacement of glPointSize.
void | GLResetPointSize ()
Helper function to reset the point size.
void | GLPolygonModeBack (GLenum mode)
Cached version of GLPolygonMode( GL_BACK, mode ).
void | GLResetPolygonModeBack ()
Helper function to reset back face polygon mode.
void | GLPolygonModeFront (GLenum mode)
Cached version of GLPolygonMode( GL_FRONT, mode ).
void | GLResetPolygonModeFront ()
Helper function to reset front face polygon mode.
void | GLPolygonModeFrontAndBack (GLenum mode)
Cached version of GLPolygonMode( GL_FRONT_AND_BACK, mode ).
void | GLResetPolygonModeFrontAndBack ()
Helper function to reset back and front face polygon mode.
void | GLPolygonMode (GLenum face, GLenum mode)
Cached version of GLPolygonMode( face, mode ).
void | GLPolygonModeLock (GLenum face, GLenum mode)
Helper function to set the polygon mode and lock it.
void | GLPolygonModeUnlock (GLenum face, GLenum mode)
Helper function to unlock the polygon mode and set it.
void | GLPolygonOffset (GLfloat factor, GLfloat units)
Replacement of glPolygonOffset.
void | GLResetPolygonOffset ()
Helper function to reset the polygon offset.
void | GLPolygonStipple (const GLubyte *mask)
Replacement of glPolygonStipple.
void | GLPopAttrib (void)
Replacement of glPopAttrib.
void | GLPopClientAttrib (void)
Replacement of glPopClientAttrib.
void | GLPopMatrix (void)
Replacement of glPopMatrix.
void | GLPopName (void)
Replacement of glPopName.
void | GLPrimitiveRestart ()
Replacement of glPrimitiveRestart.
void | GLPrimitiveRestartIndex (GLuint index)
Replacement of glPrimitiveRestartIndex.
void | GLPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities)
Replacement of glPrioritizeTextures.
void | GLProgramBufferParametersfv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramBufferParametersfvNV.
void | GLProgramBufferParametersIiv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramBufferParametersIivNV.
void | GLProgramBufferParametersIuiv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramBufferParametersIuivNV.
void | GLProgramEnvParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramEnvParameter4dARB.
void | GLProgramEnvParameter4dv (GLenum target, GLuint index, const GLdouble *params)
Replacement of glProgramEnvParameter4dvARB.
void | GLProgramEnvParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramEnvParameter4fARB.
void | GLProgramEnvParameter4fv (GLenum target, GLuint index, const GLfloat *params)
Replacement of glProgramEnvParameter4fvARB.
void | GLProgramEnvParametersI4iv (GLenum target, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramEnvParametersI4ivNV.
void | GLProgramEnvParametersI4uiv (GLenum target, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramEnvParametersI4uivNV.
void | GLProgramEnvParameterI4i (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glProgramEnvParameterI4iNV.
void | GLProgramEnvParameterI4iv (GLenum target, GLuint index, const GLint *params)
Replacement of glProgramEnvParameterI4ivNV.
void | GLProgramEnvParameterI4ui (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glProgramEnvParameterI4uiNV.
void | GLProgramEnvParameterI4uiv (GLenum target, GLuint index, const GLuint *params)
Replacement of glProgramEnvParameterI4uivNV.
void | GLProgramEnvParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramEnvParameters4fvEXT.
void | GLProgramLocalParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramLocalParameter4dARB.
void | GLProgramLocalParameter4dv (GLenum target, GLuint index, const GLdouble *params)
Replacement of glProgramLocalParameter4dvARB.
void | GLProgramLocalParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramLocalParameter4fARB.
void | GLProgramLocalParameter4fv (GLenum target, GLuint index, const GLfloat *params)
Replacement of glProgramLocalParameter4fvARB.
void | GLProgramLocalParametersI4iv (GLenum target, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramLocalParametersI4ivNV.
void | GLProgramLocalParametersI4uiv (GLenum target, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramLocalParametersI4uivNV.
void | GLProgramLocalParameterI4i (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glProgramLocalParameterI4iNV.
void | GLProgramLocalParameterI4iv (GLenum target, GLuint index, const GLint *params)
Replacement of glProgramLocalParameterI4ivNV.
void | GLProgramLocalParameterI4ui (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glProgramLocalParameterI4uiNV.
void | GLProgramLocalParameterI4uiv (GLenum target, GLuint index, const GLuint *params)
Replacement of glProgramLocalParameterI4uivNV.
void | GLProgramLocalParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramLocalParameters4fvEXT.
void | GLProgramNamedParameter4d (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramNamedParameter4dNV.
void | GLProgramNamedParameter4dv (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)
Replacement of glProgramNamedParameter4dvNV.
void | GLProgramNamedParameter4f (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramNamedParameter4fNV.
void | GLProgramNamedParameter4fv (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)
Replacement of glProgramNamedParameter4fvNV.
void | GLProgramParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramParameter4dNV.
void | GLProgramParameter4dv (GLenum target, GLuint index, const GLdouble *v)
Replacement of glProgramParameter4dvNV.
void | GLProgramParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramParameter4fNV.
void | GLProgramParameter4fv (GLenum target, GLuint index, const GLfloat *v)
Replacement of glProgramParameter4fvNV.
void | GLProgramParameteri (GLuint program, GLenum pname, GLint value)
Replacement of glProgramParameteriEXT.
void | GLProgramParameters4dv (GLenum target, GLuint index, GLsizei count, const GLdouble *v)
Replacement of glProgramParameters4dvNV.
void | GLProgramParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *v)
Replacement of glProgramParameters4fvNV.
void | GLProgramString (GLenum target, GLenum format, GLsizei len, const GLvoid *string)
Replacement of glProgramStringARB.
void | GLProgramVertexLimit (GLenum target, GLint limit)
Replacement of glProgramVertexLimitNV.
void | GLPushAttrib (GLbitfield mask)
Replacement of glPushAttrib.
void | GLPushClientAttrib (GLbitfield mask)
Replacement of glPushClientAttrib.
void | GLPushMatrix (void)
Replacement of glPushMatrix.
void | GLPushName (GLuint name)
Replacement of glPushName.
void | GLRasterPos2d (GLdouble x, GLdouble y)
Replacement of glRasterPos2d.
void | GLRasterPos2f (GLfloat x, GLfloat y)
Replacement of glRasterPos2f.
void | GLRasterPos2i (GLint x, GLint y)
Replacement of glRasterPos2i.
void | GLRasterPos2s (GLshort x, GLshort y)
Replacement of glRasterPos2s.
void | GLRasterPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glRasterPos3d.
void | GLRasterPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glRasterPos3f.
void | GLRasterPos3i (GLint x, GLint y, GLint z)
Replacement of glRasterPos3i.
void | GLRasterPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glRasterPos3s.
void | GLRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glRasterPos4d.
void | GLRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glRasterPos4f.
void | GLRasterPos4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glRasterPos4i.
void | GLRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glRasterPos4s.
void | GLRasterPos2dv (const GLdouble *v)
Replacement of glRasterPos2dv.
void | GLRasterPos2fv (const GLfloat *v)
Replacement of glRasterPos2fv.
void | GLRasterPos2iv (const GLint *v)
Replacement of glRasterPos2iv.
void | GLRasterPos2sv (const GLshort *v)
Replacement of glRasterPos2sv.
void | GLRasterPos3dv (const GLdouble *v)
Replacement of glRasterPos3dv.
void | GLRasterPos3fv (const GLfloat *v)
Replacement of glRasterPos3fv.
void | GLRasterPos3iv (const GLint *v)
Replacement of glRasterPos3iv.
void | GLRasterPos3sv (const GLshort *v)
Replacement of glRasterPos3sv.
void | GLRasterPos4dv (const GLdouble *v)
Replacement of glRasterPos4dv.
void | GLRasterPos4fv (const GLfloat *v)
Replacement of glRasterPos4fv.
void | GLRasterPos4iv (const GLint *v)
Replacement of glRasterPos4iv.
void | GLRasterPos4sv (const GLshort *v)
Replacement of glRasterPos4sv.
void | GLReadBuffer (GLenum mode)
Replacement of glReadBuffer.
void | GLReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glReadPixels.
void | GLRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
Replacement of glRectd.
void | GLRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Replacement of glRectf.
void | GLRecti (GLint x1, GLint y1, GLint x2, GLint y2)
Replacement of glRecti.
void | GLRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2)
Replacement of glRects.
void | GLRenderMode (GLenum mode)
Replacement of glRenderMode.
void | GLRequestResidentPrograms (GLsizei n, const GLuint *programs)
Replacement of glRequestResidentProgramsNV.
void | GLResetHistogram (GLenum target)
Replacement of glResetHistogram.
void | GLResetMinmax (GLenum target)
Replacement of glResetMinmax.
void | GLRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
Replacement of glRotated.
void | GLRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
Replacement of glRotatef.
void | GLScaled (GLdouble x, GLdouble y, GLdouble z)
Replacement of glScaled.
void | GLScalef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glScalef.
void | GLSampleCoverage (GLclampf value, GLboolean invert)
Replacement of glSampleCoverage.
void | GLScissor (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glScissor.
void | GLResetScissor ()
Helper function to reset the scissor rectangle.
void | GLSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glSecondaryColor3b.
void | GLSecondaryColor3bv (const GLbyte *v)
Replacement of glSecondaryColor3bv.
void | GLSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glSecondaryColor3d.
void | GLSecondaryColor3dv (const GLdouble *v)
Replacement of glSecondaryColor3dv.
void | GLSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glSecondaryColor3f.
void | GLSecondaryColor3fv (const GLfloat *v)
Replacement of glSecondaryColor3fv.
void | GLSecondaryColor3h (GLhalf red, GLhalf green, GLhalf blue)
Replacement of glSecondaryColor3h.
void | GLSecondaryColor3hv (const GLhalf *v)
Replacement of glSecondaryColor3hv.
void | GLSecondaryColor3i (GLint red, GLint green, GLint blue)
Replacement of glSecondaryColor3i.
void | GLSecondaryColor3iv (const GLint *v)
Replacement of glSecondaryColor3iv.
void | GLSecondaryColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glSecondaryColor3s.
void | GLSecondaryColor3sv (const GLshort *v)
Replacement of glSecondaryColor3sv.
void | GLSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glSecondaryColor3ub.
void | GLSecondaryColor3ubv (const GLubyte *v)
Replacement of glSecondaryColor3ubv.
void | GLSecondaryColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glSecondaryColor3ui.
void | GLSecondaryColor3uiv (const GLuint *v)
Replacement of glSecondaryColor3uiv.
void | GLSecondaryColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glSecondaryColor3us.
void | GLSecondaryColor3usv (const GLushort *v)
Replacement of glSecondaryColor3usv.
void | GLSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glSecondaryColorPointer.
void | GLSelectBuffer (GLsizei size, GLuint *buffer)
Replacement of glSelectBuffer.
void | GLSelectTexture (GLenum target)
Replacement of glSelectTexture.
void | GLSelectTextureCoordSet (GLenum target)
Replacement of GLSelectTextureCoordSet.
void | GLSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
Replacement of glSeparableFilter2D.
void | GLSetFence (GLuint fence, GLenum condition)
Replacement of glSetFenceNV.
void | GLShadeModel (GLenum mode)
Replacement of glShadeModel.
void | GLResetShadeModel ()
Helper function to reset the shade model.
void | GLShaderSource (GLuint shader, GLsizei count, const GLcharARB **string, const GLint *length)
Replacement of glShaderSource.
void | GLStencilClearTag (GLsizei tagBits, GLuint clearTag)
Replacement of glStencilClearTag.
void | GLStencilFunc (GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFunc.
void | GLStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFuncSeparate.
void | GLStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOpSeparate.
void | GLStencilMaskSeparate (GLenum face, GLuint mask)
Replacement of glStencilMaskSeparate.
void | GLResetStencilFunc ()
Helper function to reset the stencil function values.
void | GLStencilMask (GLuint mask)
Replacement of glStencilMask.
void | GLResetStencilMask ()
Helper function to reset the stencil mask.
void | GLStencilOp (GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOp.
void | GLResetStencilOp ()
Helper function to reset the stencil operation values.
void | GLStringMarker (GLsizei len, const GLvoid *string)
Replacement of glStringMarkerGREMEDY.
void | GLFrameTerminator (void)
Replacement of glFrameTerminatorGREMEDY.
GLboolean | GLTestFence (GLuint fence)
Replacement of glTestFenceNV.
void | GLTexBuffer (GLenum target, GLenum internalformat, GLuint buffer)
Replacement of glTexBufferEXT.
void | GLTexCoord1d (GLdouble s)
Replacement of glTexCoord1d.
void | GLTexCoord1dv (const GLdouble *v)
Replacement of glTexCoord1dv.
void | GLTexCoord1f (GLfloat s)
Replacement of glTexCoord1f.
void | GLTexCoord1fv (const GLfloat *v)
Replacement of glTexCoord1fv.
void | GLTexCoord1h (GLhalf s)
Replacement of glTexCoord1hNV.
void | GLTexCoord1hv (const GLhalf *v)
Replacement of glTexCoord1hv.
void | GLTexCoord1i (GLint s)
Replacement of glTexCoord1i.
void | GLTexCoord1iv (const GLint *v)
Replacement of glTexCoord1iv.
void | GLTexCoord1s (GLshort s)
Replacement of glTexCoord1s.
void | GLTexCoord1sv (const GLshort *v)
Replacement of glTexCoord1sv.
void | GLTexCoord2d (GLdouble s, GLdouble t)
Replacement of glTexCoord2d.
void | GLTexCoord2dv (const GLdouble *v)
Replacement of glTexCoord2dv.
void | GLTexCoord2f (GLfloat s, GLfloat t)
Replacement of glTexCoord2f.
void | GLTexCoord2fv (const GLfloat *v)
Replacement of glTexCoord2fv.
void | GLTexCoord2h (GLhalf s, GLhalf t)
Replacement of glTexCoord2hNV.
void | GLTexCoord2hv (const GLhalf *v)
Replacement of glTexCoord2hv.
void | GLTexCoord2i (GLint s, GLint t)
Replacement of glTexCoord2i.
void | GLTexCoord2iv (const GLint *v)
Replacement of glTexCoord2iv.
void | GLTexCoord2s (GLshort s, GLshort t)
Replacement of glTexCoord2s.
void | GLTexCoord2sv (const GLshort *v)
Replacement of glTexCoord2sv.
void | GLTexCoord3d (GLdouble s, GLdouble t, GLdouble r)
Replacement of glTexCoord3d.
void | GLTexCoord3dv (const GLdouble *v)
Replacement of glTexCoord3dv.
void | GLTexCoord3f (GLfloat s, GLfloat t, GLfloat r)
Replacement of glTexCoord3f.
void | GLTexCoord3fv (const GLfloat *v)
Replacement of glTexCoord3fv.
void | GLTexCoord3h (GLhalf s, GLhalf t, GLhalf r)
Replacement of glTexCoord3hNV.
void | GLTexCoord3hv (const GLhalf *v)
Replacement of glTexCoord3hv.
void | GLTexCoord3i (GLint s, GLint t, GLint r)
Replacement of glTexCoord3i.
void | GLTexCoord3iv (const GLint *v)
Replacement of glTexCoord3iv.
void | GLTexCoord3s (GLshort s, GLshort t, GLshort r)
Replacement of glTexCoord3s.
void | GLTexCoord3sv (const GLshort *v)
Replacement of glTexCoord3sv.
void | GLTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glTexCoord4d.
void | GLTexCoord4dv (const GLdouble *v)
Replacement of glTexCoord4dv.
void | GLTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glTexCoord4f.
void | GLTexCoord4fv (const GLfloat *v)
Replacement of glTexCoord4fv.
void | GLTexCoord4h (GLhalf s, GLhalf t, GLhalf r, GLhalf q)
Replacement of glTexCoord4hNV.
void | GLTexCoord4hv (const GLhalf *v)
Replacement of glTexCoord4hv.
void | GLTexCoord4i (GLint s, GLint t, GLint r, GLint q)
Replacement of glTexCoord4i.
void | GLTexCoord4iv (const GLint *v)
Replacement of glTexCoord4iv.
void | GLTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glTexCoord4s.
void | GLTexCoord4sv (const GLshort *v)
Replacement of glTexCoord4sv.
void | GLTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glTexCoordPointer.
void | GLTextureEnvColor (const GLfloat *params)
Cached version of GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params ).
void | GLTextureEnvMode (GLint param)
Cached version of GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param ).
void | GLTexEnvf (GLenum target, GLenum pname, GLfloat param)
Cached version of glTexEnvf( target, pname, param ).
void | GLTexEnvfv (GLenum target, GLenum pname, const GLfloat *params)
Cached version of glTexEnvf( target, pname, param ).
void | GLTexEnvi (GLenum target, GLenum pname, GLint param)
Cached version of glTexEnvi( target, pname, param ).
void | GLTexEnviv (GLenum target, GLenum pname, const GLint *params)
Cached version of glTexEnviv( target, pname, param ).
void | GLTexGend (GLenum coord, GLenum pname, GLdouble param)
Replacement of glTexGend.
void | GLTexGenf (GLenum coord, GLenum pname, GLfloat param)
Replacement of glTexGenf.
void | GLTexGenfv (GLenum coord, GLenum pname, const GLfloat *param)
Replacement of glTexGenfv.
void | GLTexGeni (GLenum coord, GLenum pname, GLint param)
Replacement of glTexGeni.
void | GLTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage1D.
void | GLTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage2D.
void | GLTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels)
Replacement of glTexImage3D.
void | GLTextureBorderColor (GLenum target, const GLfloat *params)
Cached version of GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params ).
void | GLTextureMagFilter (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param ).
void | GLTextureMinFilter (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param ).
void | GLTextureWrapR (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_R, param ).
void | GLTextureWrapS (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_S, param ).
void | GLTextureWrapT (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_T, param ).
void | GLTrackMatrix (GLenum target, GLuint address, GLenum matrix, GLenum transform)
Cached version of glTrackMatrixNV.
void | GLTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode)
Cached version of glTransformFeedbackAttribsNV.
void | GLTransformFeedbackVaryingsNV (GLuint program, GLsizei count, const GLint *varyings, GLenum bufferMode)
Cached version of glTransformFeedbackVaryingsNV.
void | GLTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode)
Cached version of glTransformFeedbackVaryings.
void | GLTexParameterf (GLenum target, GLenum pname, GLfloat param)
Cached version of glTexParameterf( target, pname, param ).
void | GLTexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Cached version of glTexParameterfv( target, pname, params ).
void | GLTexParameteri (GLenum target, GLenum pname, GLint param)
Cached version of glTexParameteri( target, pname, param ).
void | GLTexParameterIiv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexParameterIivEXT.
void | GLTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params)
Replacement of glTexParameterIuivEXT.
void | GLTexParameteriv (GLenum target, GLenum pname, const GLint *params)
Cached version of glTexParameteriv( target, pname, params ).
void | GLTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage1D.
void | GLTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage2D.
void | GLTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage3D.
void | GLTranslated (GLdouble x, GLdouble y, GLdouble z)
Replacement of glTranslated.
void | GLTranslatef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glTranslatef.
void | GLVertex2d (GLdouble x, GLdouble y)
Replacement of glVertex2d.
void | GLVertex2dv (const GLdouble *v)
Replacement of glVertex2dv.
void | GLVertex2f (GLfloat x, GLfloat y)
Replacement of glVertex2f.
void | GLVertex2fv (const GLfloat *v)
Replacement of glVertex2fv.
void | GLVertex2h (GLhalf x, GLhalf y)
Replacement of glVertex2hNV.
void | GLVertex2hv (const GLhalf *v)
Replacement of glVertex2hv.
void | GLVertex2i (GLint x, GLint y)
Replacement of glVertex2i.
void | GLVertex2iv (const GLint *v)
Replacement of glVertex2iv.
void | GLVertex2s (GLshort x, GLshort y)
Replacement of glVertex2s.
void | GLVertex2sv (const GLshort *v)
Replacement of glVertex2sv.
void | GLVertex3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertex3d.
void | GLVertex3dv (const GLdouble *v)
Replacement of glVertex3dv.
void | GLVertex3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertex3f.
void | GLVertex3fv (const GLfloat *v)
Replacement of glVertex3fv.
void | GLVertex3h (GLhalf x, GLhalf y, GLhalf z)
Replacement of glVertex3hNV.
void | GLVertex3hv (const GLhalf *v)
Replacement of glVertex3hv.
void | GLVertex3i (GLint x, GLint y, GLint z)
Replacement of glVertex3i.
void | GLVertex3iv (const GLint *v)
Replacement of glVertex3iv.
void | GLVertex3s (GLshort x, GLshort y, GLshort z)
Replacement of glVertex3s.
void | GLVertex3sv (const GLshort *v)
Replacement of glVertex3sv.
void | GLVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertex4d.
void | GLVertex4dv (const GLdouble *v)
Replacement of glVertex4dv.
void | GLVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertex4f.
void | GLVertex4fv (const GLfloat *v)
Replacement of glVertex4fv.
void | GLVertex4h (GLhalf x, GLhalf y, GLhalf z, GLhalf w)
Replacement of glVertex4hNV.
void | GLVertex4hv (const GLhalf *v)
Replacement of glVertex4hv.
void | GLVertex4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glVertex4i.
void | GLVertex4iv (const GLint *v)
Replacement of glVertex4iv.
void | GLVertex4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertex4s.
void | GLVertex4sv (const GLshort *v)
Replacement of glVertex4sv.
void | GLVertexArrayRange (GLsizei size, const GLvoid *pointer)
Replacement of glVertexArrayRange.
void | GLVertexAttrib1d (GLuint index, GLdouble x)
Replacement of glVertexAttrib1d.
void | GLVertexAttrib1dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib1dv.
void | GLVertexAttrib1f (GLuint index, GLfloat x)
Replacement of glVertexAttrib1f.
void | GLVertexAttrib1fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib1fv.
void | GLVertexAttrib1h (GLuint index, GLhalf x)
Replacement of glVertexAttrib1h.
void | GLVertexAttrib1hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib1nv.
void | GLVertexAttrib1s (GLuint index, GLshort x)
Replacement of glVertexAttrib1s.
void | GLVertexAttrib1sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib1sv.
void | GLVertexAttrib2d (GLuint index, GLdouble x, GLdouble y)
Replacement of glVertexAttrib2d.
void | GLVertexAttrib2dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib2dv.
void | GLVertexAttrib2f (GLuint index, GLfloat x, GLfloat y)
Replacement of glVertexAttrib2f.
void | GLVertexAttrib2fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib2fv.
void | GLVertexAttrib2h (GLuint index, GLhalf x, GLhalf y)
Replacement of glVertexAttrib2h.
void | GLVertexAttrib2hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib2hv.
void | GLVertexAttrib2s (GLuint index, GLshort x, GLshort y)
Replacement of glVertexAttrib2s.
void | GLVertexAttrib2sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib2sv.
void | GLVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertexAttrib3d.
void | GLVertexAttrib3dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib3dv.
void | GLVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertexAttrib3f.
void | GLVertexAttrib3fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib3fv.
void | GLVertexAttrib3h (GLuint index, GLhalf x, GLhalf y, GLhalf z)
Replacement of glVertexAttrib3h.
void | GLVertexAttrib3hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib3hv.
void | GLVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z)
Replacement of glVertexAttrib3s.
void | GLVertexAttrib3sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib3sv.
void | GLVertexAttrib4bv (GLuint index, const GLbyte *v)
Replacement of glVertexAttrib3bv.
void | GLVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertexAttrib4d.
void | GLVertexAttrib4dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib4dv.
void | GLVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertexAttrib4f.
void | GLVertexAttrib4fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib4fv.
void | GLVertexAttrib4h (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w)
Replacement of glVertexAttrib4h.
void | GLVertexAttrib4hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib4hv.
void | GLVertexAttrib4iv (GLuint index, const GLint *v)
Replacement of glVertexAttrib4iv.
void | GLVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertexAttrib4s.
void | GLVertexAttrib4sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib4sv.
void | GLVertexAttrib4ub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
Replacement of glVertexAttrib4ub.
void | GLVertexAttrib4ubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttrib4ubv.
void | GLVertexAttrib4uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttrib4uiv.
void | GLVertexAttrib4usv (GLuint index, const GLushort *v)
Replacement of glVertexAttrib4usv.
void | GLVertexAttrib4Nbv (GLuint index, const GLbyte *v)
Replacement of glVertexAttrib4Nbv.
void | GLVertexAttrib4Niv (GLuint index, const GLint *v)
Replacement of glVertexAttrib4Niv.
void | GLVertexAttrib4Nsv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib4Nsv.
void | GLVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
Replacement of glVertexAttrib4Nub.
void | GLVertexAttrib4Nubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttrib4Nubv.
void | GLVertexAttrib4Nuiv (GLuint index, const GLuint *v)
Replacement of glVertexAttrib4Nuiv.
void | GLVertexAttrib4Nusv (GLuint index, const GLushort *v)
Replacement of glVertexAttrib4Nusv.
void | GLVertexAttribI1i (GLuint index, GLint x)
Replacement of glVertexAttribI1iEXT.
void | GLVertexAttribI2i (GLuint index, GLint x, GLint y)
Replacement of glVertexAttribI2iEXT.
void | GLVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z)
Replacement of glVertexAttribI3iEXT.
void | GLVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glVertexAttribI4iEXT.
void | GLVertexAttribI1ui (GLuint index, GLuint x)
Replacement of glVertexAttribI1uiExt.
void | GLVertexAttribI2ui (GLuint index, GLuint x, GLuint y)
Replacement of glVertexAttribI2uiExt.
void | GLVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z)
Replacement of glVertexAttribI3uiExt.
void | GLVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glVertexAttribI4uiExt.
void | GLVertexAttribI1iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI1ivEXT.
void | GLVertexAttribI2iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI2ivEXT.
void | GLVertexAttribI3iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI3ivEXT.
void | GLVertexAttribI4iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI4ivEXT.
void | GLVertexAttribI1uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI1iuvEXT.
void | GLVertexAttribI2uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI2uivEXT.
void | GLVertexAttribI3uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI3uivEXT.
void | GLVertexAttribI4uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI4uivEXT.
void | GLVertexAttribI4bv (GLuint index, const GLbyte *v)
Replacement of glVertexAttribI4bvEXT.
void | GLVertexAttribI4ubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttribI4ubvEXT.
void | GLVertexAttribI4sv (GLuint index, const GLshort *v)
Replacement of glVertexAttribI4svEXT.
void | GLVertexAttribI4usv (GLuint index, const GLushort *v)
Replacement of glVertexAttribI4usvEXT.
void | GLVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribIPointerEXT.
void | GLVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribPointer.
void | GLVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribPointerNV.
void | GLVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs1dvNV.
void | GLVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs1fvNV.
void | GLVertexAttribs1hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs1hv.
void | GLVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs1svNV.
void | GLVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs2dvNV.
void | GLVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs2fvNV.
void | GLVertexAttribs2hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs2hv.
void | GLVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs2svNV.
void | GLVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs3dvNV.
void | GLVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs3fvNV.
void | GLVertexAttribs3hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs3hv.
void | GLVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs3svNV.
void | GLVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs4dvNV.
void | GLVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs4fvNV.
void | GLVertexAttribs4hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs4hv.
void | GLVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs4svNV.
void | GLVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v)
Replacement of glVertexAttribs4svNV.
void | GLVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexPointer.
void | GLViewport (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glViewport.
void | GLWindowPos2d (GLdouble x, GLdouble y)
Replacement of glWindowPos2d.
void | GLWindowPos2dv (const GLdouble *p)
Replacement of glWindowPos2dv.
void | GLWindowPos2f (GLfloat x, GLfloat y)
Replacement of glWindowPos2f.
void | GLWindowPos2fv (const GLfloat *p)
Replacement of glWindowPos2fv.
void | GLWindowPos2i (GLint x, GLint y)
Replacement of glWindowPos2i.
void | GLWindowPos2iv (const GLint *p)
Replacement of glWindowPos2iv.
void | GLWindowPos2s (GLshort x, GLshort y)
Replacement of glWindowPos2s.
void | GLWindowPos2sv (const GLshort *p)
Replacement of glWindowPos2sv.
void | GLWindowPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glWindowPos3d.
void | GLWindowPos3dv (const GLdouble *p)
Replacement of glWindowPos3dv.
void | GLWindowPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glWindowPos3f.
void | GLWindowPos3fv (const GLfloat *p)
Replacement of glWindowPos3fv.
void | GLWindowPos3i (GLint x, GLint y, GLint z)
Replacement of glWindowPos3i.
void | GLWindowPos3iv (const GLint *p)
Replacement of glWindowPos3iv.
void | GLWindowPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glWindowPos3s.
void | GLWindowPos3sv (const GLshort *p)
Replacement of glWindowPos3sv.
GLvoid * | GLMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
Maps a range within the buffer to client space.
void | GLFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length)
Marks the range of the mapped buffer as ready to use by GL. When a buffer was mapped with GLMapBufferRange and the manual flush bit was set, this function allows to mark the range valid. Once valid, other GL operations depending on the specified memory range can proceed.
void | GLCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
Allows direct memory copy between buffer objects.
void | GLTexImage2DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
Establishes data storage for multi-sampled textures.
void | GLTexImage3DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
Establishes data storage for multi-sampled textures.
void | GLGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val)
Allows to retrieve the sample location.
void | GLBindVertexArray (GLuint array)
void | GLDeleteVertexArrays (GLsizei n, const GLuint *arrays)
void | GLGenVertexArrays (GLsizei n, GLuint *arrays)
void | GLIsVertexArray (GLuint array)
void | GLDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
void | GLDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
void | GLDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam)
GLuint | GLGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
void | GLSampleMaski (GLuint maskNumber, GLbitfield maskBits)
When GL_SAMPLE_MASK is enabled this function allows to specify the mask the fragment coverage is ANDed with.
GLboolean | GLIsRenderbuffer (GLuint renderbuffer)
Replacement of glIsRenderbufferEXT.
void | GLBindRenderbuffer (GLenum target, GLuint renderbuffer)
Replacement of glBindRenderbufferEXT.
void | GLDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers)
Replacement of glDeleteRenderbuffersEXT.
void | GLGenRenderbuffers (GLsizei n, GLuint *renderbuffers)
Replacement of glGenRenderbuffersEXT.
void | GLRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageEXT.
void | GLRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageMultisampleEXT.
void | GLRenderbufferStorageMultisampleCoverage (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageMultisampleCoverageNV.
void | GLGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetRenderbufferParameterivEXT.
GLboolean | GLIsFramebuffer (GLuint framebuffer)
Replacement of glIsFramebufferEXT.
void | GLBindFramebuffer (GLenum target, GLuint framebuffer)
Replacement of glBindFramebufferEXT.
void | GLDeleteFramebuffers (GLsizei n, const GLuint *framebuffers)
Replacement of glDeleteFramebuffersEXT.
void | GLGenFramebuffers (GLsizei n, GLuint *framebuffers)
Replacement of glGenFramebuffersEXT.
GLenum | GLCheckFramebufferStatus (GLenum target)
Replacement of glCheckFramebufferStatusEXT.
void | GLFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Replacement of glFramebufferTexture1DEXT.
void | GLFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Replacement of glFramebufferTexture2DEXT.
void | GLFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
Replacement of glFramebufferTexture3DEXT.
void | GLFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
Replacement of glFramebufferTextureLayerEXT.
void | GLFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
Replacement of glFramebufferRenderbufferEXT.
void | GLGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params)
Replacement of glGetFramebufferAttachmentParameterivEXT.
void | GLGenerateMipmap (GLenum target)
Replacement of glGenerateMipmapEXT.
void | GLPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1)
void | GLPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3)
void | GLGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params)
void | GLGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params)
void | GLGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params)
void | GLGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params)
void | GLBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length)
void | GLVertexFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLNormalFormatNV (GLenum type, GLsizei stride)
void | GLColorFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLIndexFormatNV (GLenum type, GLsizei stride)
void | GLTexCoordFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLEdgeFlagFormatNV (GLsizei stride)
void | GLSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLFogCoordFormatNV (GLenum type, GLsizei stride)
void | GLVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride)
void | GLVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride)
void | GLGetIntegerui64i_vNV (GLenum target, GLuint index, GLuint64EXT *data)
void | GLGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params)
GLboolean | GLIsBufferResidentNV (GLenum target)
void | GLMakeBufferNonResidentNV (GLenum target)
void | GLMakeBufferResidentNV (GLenum target, GLenum access)
void | GLGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params)
GLboolean | GLIsNamedBufferResidentNV (GLuint buffer)
void | GLMakeNamedBufferNonResidentNV (GLuint buffer)
void | GLMakeNamedBufferResidentNV (GLuint buffer, GLenum access)
void | GLGetIntegerui64vNV (GLenum target, GLuint64EXT *data)
void | GLUniformui64NV (GLint location, GLuint64EXT v0)
void | GLUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value)
void | GLGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params)
void | GLProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT v0)
void | GLProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
void | GLBeginVideoCaptureNV (GLuint video_capture_slot)
void | GLBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset)
void | GLBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture)
void | GLEndVideoCaptureNV (GLuint video_capture_slot)
void | GLGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params)
void | GLGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params)
void | GLGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params)
void | GLGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params)
GLenum | GLVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time)
void | GLVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params)
void | GLVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params)
void | GLVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params)
void | GLPushClientAttribDefaultEXT (GLbitfield mask)
void | GLClientAttribDefaultEXT (GLbitfield mask)
void | GLMatrixLoadfEXT (GLenum mode, const GLfloat *m)
void | GLMatrixLoaddEXT (GLenum mode, const GLdouble *m)
void | GLMatrixMultfEXT (GLenum mode, const GLfloat *m)
void | GLMatrixMultdEXT (GLenum mode, const GLdouble *m)
void | GLMatrixLoadIdentityEXT (GLenum mode)
void | GLMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
void | GLMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
void | GLMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z)
void | GLMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z)
void | GLMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z)
void | GLMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z)
void | GLMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
void | GLMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
void | GLMatrixPopEXT (GLenum mode)
void | GLMatrixPushEXT (GLenum mode)
void | GLMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m)
void | GLMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m)
void | GLMatrixMultTransposefEXT (GLenum mode, const GLfloat *m)
void | GLMatrixMultTransposedEXT (GLenum mode, const GLdouble *m)
void | GLTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param)
void | GLTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params)
void | GLTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param)
void | GLTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
void | GLTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
void | GLCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void | GLCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
void | GLCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
void | GLGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params)
void | GLGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
void | GLGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)
void | GLGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)
void | GLTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param)
void | GLMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
void | GLMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param)
void | GLMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
void | GLMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
void | GLCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void | GLCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
void | GLCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
void | GLGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
void | GLGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
void | GLGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params)
void | GLGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params)
void | GLMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture)
void | GLEnableClientStateIndexedEXT (GLenum array, GLuint index)
void | GLDisableClientStateIndexedEXT (GLenum array, GLuint index)
void | GLMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
void | GLMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param)
void | GLMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
void | GLMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param)
void | GLMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
void | GLMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param)
void | GLMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params)
void | GLMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param)
void | GLMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params)
void | GLMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param)
void | GLMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params)
void | GLGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
void | GLGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
void | GLGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params)
void | GLGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params)
void | GLGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params)
void | GLGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data)
void | GLGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data)
void | GLGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid **data)
void | GLCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img)
void | GLCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img)
void | GLNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string)
void | GLNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
void | GLNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params)
void | GLNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void | GLNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params)
void | GLGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params)
void | GLGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params)
void | GLGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params)
void | GLGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string)
void | GLNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params)
void | GLNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
void | GLNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params)
void | GLNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params)
void | GLNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
void | GLNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params)
void | GLNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params)
void | GLGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params)
void | GLGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params)
void | GLTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
void | GLTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params)
void | GLGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
void | GLGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params)
void | GLMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
void | GLMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params)
void | GLGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
void | GLGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params)
void | GLProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0)
void | GLProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1)
void | GLProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
void | GLProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
void | GLProgramUniform1iEXT (GLuint program, GLint location, GLint v0)
void | GLProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1)
void | GLProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
void | GLProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
void | GLProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0)
void | GLProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1)
void | GLProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
void | GLProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
void | GLProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage)
void | GLNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data)
GLvoid * | GLMapNamedBufferEXT (GLuint buffer, GLenum access)
GLboolean | GLUnmapNamedBufferEXT (GLuint buffer)
void | GLGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params)
void | GLGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid **params)
void | GLGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data)
void | GLTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
void | GLMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer)
void | GLNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
void | GLGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params)
GLenum | GLCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target)
void | GLNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void | GLNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void | GLNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
void | GLNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
void | GLGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
void | GLGenerateTextureMipmapEXT (GLuint texture, GLenum target)
void | GLGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target)
void | GLFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode)
void | GLFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs)
void | GLFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode)
void | GLGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
void | GLNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
void | GLNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
void | GLNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
void | GLNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
void | GLNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)
void | GLTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer)
void | GLMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer)
GLenum | GLGetTexWrapMode (nvsg::TextureWrapMode twm)
Translate an nvsg::TextureWrapMode into a GL-specific texture wrap mode as a GLenum.
bool | WGLInitializeExtensions (void)
Initialize the wgl-extension functions inside the WGLFunctions class.
bool | WGLIsExtensionAvailable (const std::string &extstr)
Returns whether the specified wgl-extension is available.
bool | WGLIsExtensionExported (const std::string &extstr)
Returns whether the specified wgl-extension is exported.
BOOL | WGLBindTexImage (HPBUFFERARB hPbuffer, int iBuffer)
Replacement of wglBindTexImageARB.
BOOL | WGLChoosePixelFormat (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats)
Replacement of wglChoosePixelFormatARB.
BOOL | WGLGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues)
Replacement of wglGetPixelFormatAttribivARB.
BOOL | WGLGetPixelFormatAttribfv (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues)
Replacement of wglGetPixelFormatAttribfvARB.
HGLRC | WGLCreateContext (HDC hdc)
Replacement of wglCreateContext.
HPBUFFERARB | WGLCreatePbuffer (HDC hdc, int pixelFormat, int width, int height, const int *attribList)
Replacement of wglCreatePbufferARB.
BOOL | WGLDeleteContext (HGLRC hglrc)
Replacement of wglDeleteContext.
BOOL | WGLDestroyPbuffer (HPBUFFERARB hPbuffer)
Replacement of wglDestroyPbufferARB.
HGLRC | WGLGetCurrentContext (void)
Replacement for wglGetCurrenContext.
HDC | WGLGetCurrentDC (void)
Replacement for wglGetCurrentDC.
HDC | WGLGetPbufferDC (HPBUFFERARB hPbuffer)
Replacement of wglGetPbufferDCARB.
BOOL | WGLQueryPbuffer (HPBUFFERARB hPbuffer, int attribute, int *value)
Replacement of wglQueryPbufferARB.
int | WGLReleasePbufferDC (HPBUFFERARB hPbuffer, HDC hdc)
Replacement of wglReleasePbufferDCARB.
BOOL | WGLReleaseTexImage (HPBUFFERARB hPbuffer, int iBuffer)
Replacement of wglReleaseTexImageARB.
BOOL | WGLJoinSwapGroupNV (HDC hDC, GLuint group)
Replacement of wglJointSwapGroupNV.
BOOL | WGLBindSwapBarrierNV (GLuint group, GLuint barrier)
Replacement of wglBindSwapBarrierNV.
BOOL | WGLQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier)
Replacement of wglQuerySwapGroupNV.
BOOL | WGLQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers)
Replacement of wglQueryMaxSwapGroupsNV.
BOOL | WGLQueryFrameCountNV (HDC hDC, GLuint *count)
Replacement of wglQueryFrameCountNV.
BOOL | WGLResetFrameCountNV (HDC hDC)
Replacement of wglResetFrameCountNV.
BOOL | WGLEnumGpus (UINT iIndex, HGPUNV *hGpu)
Replacement of wglEnumGpusNV.
BOOL | WGLEnumGpuDevices (HGPUNV hGpu, UINT iIndex, PGPU_DEVICE pGpuDevice)
Replacement of wglEnumGpuDevicesNV.
HDC | WGLCreateAffinityDC (const HGPUNV *pGpuList)
Replacement for wglCreateAffinityDVNV.
BOOL | WGLEnumGpusFromAffinityDC (HDC hAffinityDC, UINT iIndex, HGPUNV *hGpu)
Replacement for wglEnumGpusFromAffinityDCNV.
BOOL | WGLDeleteDC (HDC hAffinityDC)
Replacement for wglDeleteDCNV.
BOOL | WGLSwapInterval (int interval)
Replacement for wglSwapIntervalEXT.
int | WGLGetSwapInterval (void)
Replacement for wglGetSwapIntervalEXT.
BOOL | WGLGetVideoDevice (HDC hDC, INT iVideoStreams, HPVIDEODEVICE *phpVideoDevice)
Replacement for wglGetVideoDeviceNV.
BOOL | WGLReleaseVideoDevice (HPVIDEODEVICE hpVideoDevice)
Replacement for wglReleaseVideoDeviceNV.
BOOL | WGLBindVideoImage (HPVIDEODEVICE hpVideoDevice, HPBUFFERARB hPbuffer, INT iVideoBuffer)
Replacement for wglBindVideoImageNV.
BOOL | WGLReleaseVideoImage (HPBUFFERARB hPbuffer, INT iVideoBuffer)
Replacement for wglReleaseVideoImageNV.
BOOL | WGLSendPbufferToVideo (HPBUFFERARB hPbuffer, INT iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock)
Replacement for wglSendPbufferToVideoNV.
BOOL | WGLGetVideoInfo (HPVIDEODEVICE hpVideoDevice, unsigned long *pulCounterOutputVideo, unsigned long *pulCounterOutputPbuffer)
Replacement for wglGetVideoInfoNV.
int | WGLEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList)
Replacement for wglEnumerateVideoDevicesNV.
BOOL | WGLBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList)
Replacement for wglBindVideoDeviceNV.
BOOL | WGLQueryCurrentContextNV (int iAttribute, int *piValue)
Replacement for wglQueryCurrentContextNV.
BOOL | WGLBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice)
UINT | WGLEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList)
BOOL | WGLLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice)
BOOL | WGLQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue)
BOOL | WGLReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice)
bool | GLXInitializeExtensions (Display *dpy)
Initialize the glx-extension functions inside the GLXFunctions class.
bool | GLXIsExtensionAvailable (const std::string &extstr)
Returns whether the specified glx-extension is available.
bool | GLXIsExtensionExported (const std::string &extstr)
Returns whether the specified glx-extension is exported.
GLXContext | GLXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
Replacement of glXCreateContext.
void | GLXDestroyContext (Display *dpy, GLXContext ctx)
Replacement of glXDestroyContext.
GLXContext | GLXGetCurrentContext ()
Replacement of glXGetCurrentContext.
GLXDrawable | GLXGetCurrentDrawable ()
Replacement of glXGetCurrentDrawable.
NVSG_API int | GLXSwapInterval (int value)
int | GLXGetVideoSync (unsigned int *value)
int | GLXWaitVideoSync (int divisor, int remainder, unsigned int *cnt)
Bool | GLXJoinSwapGroup (Display *dpy, GLXDrawable drawable, GLuint group)
Bool | GLXBindSwapBarrier (Display *dpy, GLuint group, GLuint barrier)
Bool | GLXQuerySwapGroup (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier)
Bool | GLXQueryMaxSwapGroups (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers)
Bool | GLXQueryFrameCount (Display *dpy, int screen, GLuint *count)
Bool | GLXResetFrameCount (Display *dpy, int screen)
int | GLXGetVideoDevice (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice)
int | GLXReleaseVideoDevice (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice)
int | GLXBindVideoImage (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer)
int | GLXReleaseVideoImage (Display *dpy, GLXPbuffer pbuf)
int | GLXSendPbufferToVideo (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock)
int | GLXGetVideoInfo (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputVideo, unsigned long *pulCounterOutputPbuffer)
void | GLXBindTexImage (Display *dpy, GLXDrawable d, int buffer, const int *attrList)
void | GLXReleaseTexImage (Display *dpy, GLXDrawable d, int buffer)
unsigned int * | GLXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements)
int | GLXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list)
int | GLXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device)
GLXVideoCaptureDeviceNV * | GLXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements)
void | GLXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
int | GLXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value)
void | GLXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
NVSG_API void | GLGenVertexBuffer (GLenum target, GLsizeiptr size, GLuint *buffer)
Generates a vertex buffer of requested size.
NVSG_API void | GLGenIndexBuffer (GLenum target, GLsizeiptr size, GLuint *buffer)
Generates an index buffer of requested size.
NVSG_API void | GLDeleteVertexBuffer (GLuint buffer)
Deletes a vertex buffer.
NVSG_API void | GLDeleteIndexBuffer (GLuint buffer)
Deletes an index buffer.
NVSG_API void | GLBindVertexBuffer (GLuint buffer)
Binds the buffer name associated with the identifier buffer to the GL_ARRAY_ELEMENT target.
NVSG_API void | GLBindTransformFeedbackBuffer (GLuint index, GLuint buffer, GLuint offset)
Binds the buffer name associated with the identifier buffer to the GL_TRANSFORM_FEEDBACK_BUFFER_NV target.
NVSG_API void | GLBindIndexBuffer (GLuint buffer)
Binds the buffer name associated with the identifier buffer to the GL_ELEMENT_ARRAY_ELEMENT target.
NVSG_API void | GLUploadBuffers ()
Uploads all pending buffers.
NVSG_API GLvoid * | GLMapVertexBuffer (GLuint buffer)
Maps the vertex buffer identified by buffer into process memory for write-only access.
NVSG_API GLvoid * | GLMapIndexBuffer (GLuint buffer)
Maps the index buffer identified by buffer into process memory for write-only access.
NVSG_API GLboolean | GLUnmapVertexBuffer (GLuint buffer)
Relinquishes a vertex buffer mapping.
NVSG_API GLboolean | GLUnmapIndexBuffer (GLuint buffer)
Relinquishes an index buffer mapping.
NVSG_API GLuint64EXT | GLGetBufferAddress (GLuint buffer)
Returns the 64-bit video memory address for the specified buffer.
NVSG_API GLsizeiptr | GLGetBufferSize (GLuint buffer)
Returns the size of the specified buffer.
NVSG_API GLsizeiptr | GLGetVertexBufferOffset (GLuint buffer)
Returns the start offset for the specified buffer.
NVSG_API void | GLBuildVertexBufferCache (nvgl::GLArrayBufferCache *vi, GLuint whichBuffer, const nvsg::VertexAttributeSet *vas)
VBO / Cache Filling Methods.
NVSG_API void | GLFillVertexBufferCache (nvgl::GLArrayBufferCache *vi, GLuint whichBuffer, const nvsg::VertexAttributeSet *vas)
NVSG_API void | GLBuildIndexBufferCache (nvgl::GLElementArrayBufferCache *vi, unsigned int numStrips, const nvsg::IndexList *strips, bool primitiveRestartSupport)
NVSG_API void | GLBuildIndexBufferCache (nvgl::GLElementArrayBufferCache *vi, unsigned int numIndices, const unsigned int *indices)
NVSG_API void | GLBuildIndexBufferCache (nvgl::GLElementArrayBufferCache *vi, unsigned int numIndices, const void *indices)
NVSG_API GLsizeiptr | GLGetIndexBufferOffset (GLuint buffer)
Returns the start offset for the specified buffer.
NVSG_API GLboolean | GLIsVertexBuffer (GLuint buffer)
Returns whether buffer identifies a valid vertex buffer for the current context.
NVSG_API GLboolean | GLIsIndexBuffer (GLuint buffer)
Returns whether buffer identifies a valid index buffer for the current context.

Detailed Description

Define Documentation

#define GET_CURRENT_DC ( ) WGLGetCurrentDC()

Get the current device context.

This is a helper macro defined for both Windows and Linux. It maps to either WGLGetCurrentDC or GLXGetCurrentDrawable.

#define GET_CURRENT_RC ( ) WGLGetCurrentContext()

Get the current render context.

This is a helper macro defined for both Windows and Linux. It maps to either WGLGetCurrentContext or GLXGetCurrentContext.

#define MAKE_CURRENT | ( | DC,
 |  | RC | ) | WGLMakeCurrent(DC,RC)

Make the given device context and render context current.

This is a helper macro defined for both Windows and Linux. It maps to either WGLMakeCurrent or GLXMakeCurrent.

#define NVSG_TIF_INVALID 0

Invalid texture format.

#define NVSG_CACHE_FRONT 0

ID for the front caches.

#define NVSG_CACHE_BACK 1

ID for the back caches.

#define BUFFER_OFFSET ( i ) ((char*)NULL + (i))

Helper macro with buffer-usage.

Typedef Documentation

typedef HDC DEVICE_CONTEXT

Helper type that maps to HDC on Windows and Drawable on Linux.

typedef HGLRC RENDER_CONTEXT

Helper type that maps to HGLRC on Windows and GLXContext on Linux.

Function Documentation

GLContext* glContext ( ) [inline]

Get the GLContext of the current thread.

Returns:
The GLContext of the current thread.
Remarks:
When using WGLMakeCurrent (or GLXMakeCurrent on Linux), to make a HGLRC current, the corresponding GLContext is assigned. As there can be only one HGLRC current per thread, the same holds for the GLContext. Using this function returns the GLContext of the current thread.
See also:
WGLMakeCurrent, GLXMakeCurrent, GLContext

bool equalf | ( | GLfloat | a,
 |  | GLfloat | b
 | ) | [inline]

Fast float compare helper.

bool equal3f | ( | GLfloat | a1,
 |  | GLfloat | a2,
 |  | GLfloat | a3,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

bool equal3fv | ( | const GLfloat * | a,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

bool equal4f | ( | GLfloat | a1,
 |  | GLfloat | a2,
 |  | GLfloat | a3,
 |  | GLfloat | a4,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

bool equal4fv | ( | const GLfloat * | a,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

void GLAccum | ( | GLenum | op,
 |  | GLfloat | value
 | ) | [inline]

Replacement of glAccum.

This function asserts on the result before returning.

void GLActiveStencilFace ( GLenum face ) [inline]

Replacement of glActiveStencilFaceEXT.

This function asserts on the result before returning.

void GLActiveTexture ( GLenum texture ) [inline]

Replacement of glActiveTexture.

This function stores the texture to activate for subsequent texture operations.

void GLPatchParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | values
 | ) | [inline]

Replacement of glPatchParameterfvNV.

This function asserts on the result before returning.

void GLPatchParameteri | ( | GLenum | pname,
 |  | GLint | value
 | ) | [inline]

Replacement of glPatchParameteriNV.

This function asserts on the result before returning.

void GLActiveVarying | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glActiveVaryingNV.

This function asserts on the result before returning.

void GLAlphaFunc | ( | GLenum | func,
 |  | GLclampf | ref
 | ) | [inline]

Replacement of glAlphaFunc.

This function caches the alpha func and ref and asserts on the result before returning.

void GLResetAlphaFunc ( ) [inline]

Helper function to reset alpha function and alpha reference value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the alpha function and alpha reference value to the previous function and value. Otherwise, the alpha function is set to GL_ALWAYS, and the alpha reference value is set to zero.
See also:
GLAlphaFunc

GLboolean GLAreProgramsResident | ( | GLsizei | n,
 |  | const GLuint * | programs,
 |  | GLboolean * | residences
 | ) | [inline]

Replacement of glAreProgramsResidentNV.

This function asserts on the result before returning.

GLboolean GLAreTexturesResident | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | GLboolean * | residences
 | ) | [inline]

Replacement of glAreTexturesResident.

This function asserts on the result before returning.

void GLArrayElement ( GLint i ) [inline]

Replacement of glArrayElement.

This function asserts on the result before returning.

void GLAttachObject | ( | GLhandleARB | containerObj,
 |  | GLhandleARB | attachedObj
 | ) | [inline]

Replacement of glAttachObjectARB.

This function asserts on the result before returning.

void GLAttachShader | ( | GLuint | program,
 |  | GLuint | shader
 | ) | [inline]

Replacement of glAttachShader.

This function asserts on the result before returning.

void GLBegin ( GLenum mode ) [inline]

Replacement of glBegin.

This function asserts on the result before returning.

void GLBeginQuery | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBeginQuery.

This function asserts on the result before returning.

void GLBeginTransformFeedbackNV ( GLenum primitiveMode ) [inline]

Replacement of glBeginTransformFeedbackNV.

void GLBeginTransformFeedback ( GLenum primitiveMode ) [inline]

Replacement of glBeginTransformFeedback.

void GLBeginConditionalRenderNV | ( | GLuint | id,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glBeginConditionalRenderNV.

void GLBlendColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [inline]

Replacement of glBlendColor.

void GLBindAttribLocation | ( | GLuint | program,
 |  | GLuint | index,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glBindAttribLocation.

void GLBindBuffer | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBindBuffer.

This function asserts on the result before returning.

void GLBindBufferBaseNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glBindBufferBaseNV.

This function asserts on the result before returning.

void GLBindBufferBase | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glBindBufferBase.

This function asserts on the result before returning.

void GLBindBufferOffsetNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset
 | ) | [inline]

Replacement of glBindBufferOffsetNV.

This function asserts on the result before returning.

void GLBindBufferRangeNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset,
 |  | GLsizeiptr | size
 | ) | [inline]

Replacement of glBindBufferRangeNV.

This function asserts on the result before returning.

void GLBindBufferRange | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset,
 |  | GLsizeiptr | size
 | ) | [inline]

Replacement of glBindBufferRange.

This function asserts on the result before returning.

void GLBufferData | ( | GLenum | target,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data,
 |  | GLenum | usage
 | ) | [inline]

Replacement of glBufferData.

This function asserts on the result before returning.

void GLBufferSubData | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glBufferSubData.

This function and asserts on the result before returning.

void GLDeleteBuffers | ( | GLsizei | n,
 |  | const GLuint * | buffers
 | ) | [inline]

Replacement of glDeleteBuffers.

This function updates some caches, and asserts on the result before returning.

void GLDeleteFences | ( | GLsizei | n,
 |  | const GLuint * | fences
 | ) | [inline]

Replacement of glDeleteFencesNV.

void GLGenBuffers | ( | GLsizei | n,
 |  | GLuint * | buffers
 | ) | [inline]

Replacement of glGenBuffers.

This function asserts on the result, and updates some caches.

void GLGenFences | ( | GLsizei | n,
 |  | GLuint * | fences
 | ) | [inline]

Replacement of glGenFencesNV.

GLvoid* GLMapBuffer | ( | GLenum | target,
 |  | GLenum | access
 | ) | [inline]

Replacement of glMapBuffer.

This function hides the extension character of glMapBufferARB and asserts on the result before returning.

void GLUnlockArrays ( ) [inline]

Replacement of glUnlockArrays.

This function asserts on the result before returning.

void GLUniform1f | ( | GLint | location,
 |  | GLfloat | v0
 | ) | [inline]

Replacement of glUniform1f.

This function asserts on the result before returning.

void GLUniform1fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform1fv.

This function asserts on the result before returning.

void GLUniform1i | ( | GLint | location,
 |  | GLint | v0
 | ) | [inline]

Replacement of glUniform1i.

This function asserts on the result before returning.

void GLUniform1iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform1iv.

This function asserts on the result before returning.

void GLUniform1ui | ( | GLint | location,
 |  | GLuint | v0
 | ) | [inline]

Replacement of glUniform1uiEXT.

This function asserts on the result before returning.

void GLUniform1uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform1uivEXT.

This function asserts on the result before returning.

void GLUniform2f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1
 | ) | [inline]

Replacement of glUniform2f.

This function asserts on the result before returning.

void GLUniform2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform2fv.

This function asserts on the result before returning.

void GLUniform2i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1
 | ) | [inline]

Replacement of glUniform2i.

This function asserts on the result before returning.

void GLUniform2iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform2iv.

This function asserts on the result before returning.

void GLUniform2ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1
 | ) | [inline]

Replacement of glUniform2ui.

This function asserts on the result before returning.

void GLUniform2uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform2uiv.

This function asserts on the result before returning.

void GLUniform3f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [inline]

Replacement of glUniform3f.

This function asserts on the result before returning.

void GLUniform3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform3fv.

This function asserts on the result before returning.

void GLUniform3i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1,
 |  | GLint | v2
 | ) | [inline]

Replacement of glUniform3i.

This function asserts on the result before returning.

void GLUniform3iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform3iv.

This function asserts on the result before returning.

void GLUniform3ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1,
 |  | GLuint | v2
 | ) | [inline]

Replacement of glUniform3ui.

This function asserts on the result before returning.

void GLUniform3uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform3uiv.

This function asserts on the result before returning.

void GLUniform4f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLfloat | v3
 | ) | [inline]

Replacement of glUniform4f.

This function asserts on the result before returning.

void GLUniform4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform4fv.

This function asserts on the result before returning.

void GLUniform4i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1,
 |  | GLint | v2,
 |  | GLint | v3
 | ) | [inline]

Replacement of glUniform4i.

This function asserts on the result before returning.

void GLUniform4iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform4iv.

This function asserts on the result before returning.

void GLUniform4ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1,
 |  | GLuint | v2,
 |  | GLuint | v3
 | ) | [inline]

Replacement of glUniform4ui.

This function asserts on the result before returning.

void GLUniform4uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform4uiv.

This function asserts on the result before returning.

void GLUniformBuffer | ( | GLuint | program,
 |  | GLint | location,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glUniformBufferEXT.

This function asserts on the result before returning.

void GLUniformMatrix2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix2fv.

This function asserts on the result before returning.

void GLUniformMatrix2x3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix2x3fv.

This function asserts on the result before returning.

void GLUniformMatrix2x4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix2x4fv.

This function asserts on the result before returning.

void GLUniformMatrix3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix3fv.

This function asserts on the result before returning.

void GLUniformMatrix3x2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix3x2fv.

This function asserts on the result before returning.

void GLUniformMatrix3x4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix3x4fv.

This function asserts on the result before returning.

void GLUniformMatrix4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix4fv.

This function asserts on the result before returning.

void GLUniformMatrix4x2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix4x2fv.

This function asserts on the result before returning.

void GLUniformMatrix4x3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix4x3fv.

This function asserts on the result before returning.

GLboolean GLUnmapBuffer ( GLenum target ) [inline]

Replacement of glUnmapBuffer.

This function asserts on the result before returning.

void GLUseProgram ( GLuint program ) [inline]

Replacement of glUseProgram.

This function asserts on the result before returning.

void GLUseProgramObject ( GLhandleARB programObj ) [inline]

Replacement of glUseProgramObjectARB.

This function asserts on the result before returning.

void GLValidateProgram ( GLuint program ) [inline]

Replacement of glValidateProgram.

This function asserts on the result before returning.

GLboolean GLIsBuffer ( GLuint name ) [inline]

Replacement of glIsBuffer.

This function tests if for the current render context, name denotes a valid vertex buffer object.

void GLBindFragDataLocation | ( | GLuint | program,
 |  | GLuint | color,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glBindFragDataLocationEXT.

This function asserts on the result before returning.

void GLBindProgram | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBindProgramARB.

This function hides the extension character of glBindProgramARB and asserts on the result before returning.

void GLBitmap | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLfloat | xorig,
 |  | GLfloat | yorig,
 |  | GLfloat | xmove,
 |  | GLfloat | ymove,
 |  | const GLubyte * | bitmap
 | ) | [inline]

Replacement of glBitmap.

This function asserts on the result before returning.

void GLBlendEquation ( GLenum mode ) [inline]

Replacement of glBlendEquation.

This function asserts on the result before returning.

void GLBlendEquationSeparate | ( | GLenum | modeRGB,
 |  | GLenum | modeAlpha
 | ) | [inline]

Replacement of glBlendEquationSeparate.

This function asserts on the result before returning.

void GLBlendFunc | ( | GLenum | sfactor,
 |  | GLenum | dfactor
 | ) | [inline]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

void GLResetBlendFunc ( ) [inline]

Helper function to reset the blend function.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the blend function to the previous function. Otherwise, the blend function is set to GL_ONE for the source factor and GL_ZERO for the destination factor.
See also:
GLBlendFunc, GLBlendFuncSeparate

void GLBlendFuncSeparate | ( | GLenum | sfactorRGB,
 |  | GLenum | dfactorRGB,
 |  | GLenum | sfactorAlpha,
 |  | GLenum | dfactorAlpha
 | ) | [inline]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

void GLResetBlendFuncSeparate ( ) [inline]

Helper function to reset the blend function, using the GL_EXT_blend_func_separate extention.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the four factors of the extended blend function the previous values. Otherwise, the blend function factors are set to GL_ONE, GL_ZERO, GL_ONE, and GL_ZERO, in this order.
See also:
GLBlendFuncSeparate

void GLBlitFramebuffer | ( | GLint | srcX0,
 |  | GLint | srcY0,
 |  | GLint | srcX1,
 |  | GLint | srcY1,
 |  | GLint | dstX0,
 |  | GLint | dstY0,
 |  | GLint | dstX1,
 |  | GLint | dstY1,
 |  | GLbitfield | mask,
 |  | GLenum | filter
 | ) | [inline]

Replacement of glBlitFramebufferEXT.

Parameters:
srcX0 | source lower left X pos
srcY0 | source lower left Y pos
srcX1 | source upper right X pos
srcY1 | source upper right Y pos
dstX0 | destination lower left X pos
dstY0 | destination lower left Y pos
dstX1 | destination upper right X pos
dstY1 | destination uppoer right Y pos
mask | mask containing bits for COLOR, DEPTH, or STENCIL to blit.
filter | filter to use if src and dst are not the same size. Must be GL_NEAREST or GL_LINEAR. Must be GL_NEAREST if mask contains anything but the color buffer.
Note:
It is assumed that the extension GL_EXT_framebuffer_blit is supported.

This function asserts on no GL error.

void GLBindTexture | ( | GLenum | target,
 |  | GLuint | texture
 | ) | [inline]

Replacement of glBindTexture.

This function updates the active texture and asserts on the result before returning.

void GLCallList ( GLuint list ) [inline]

Replacement of glCallList.

This function asserts on the result before returning.

void GLCallLists | ( | GLsizei | n,
 |  | GLenum | type,
 |  | const GLvoid * | lists
 | ) | [inline]

Replacement of glCallLists.

This function asserts on the result before returning.

void GLClampColor | ( | GLenum | target,
 |  | GLenum | clamp
 | ) | [inline]

Replacement of glClampColorARB.

This function asserts on the result before returning.

void GLClear ( GLbitfield mask ) [inline]

Replacement of glClear.

This function asserts on the result before returning.

void GLClearAccum | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [inline]

Replacement of glClearAccum.

This function asserts on the result before returning.

void GLClearColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [inline]

Replacement of glClearColor.

This function caches the clear color settings and asserts on the result before returning.

void GLClearColorIi | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [inline]

Replacement of glClearColorIiEXT.

This function asserts on the result before returning.

void GLClearColorIui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [inline]

Replacement of glClearColorIuiEXT.

This function asserts on the result before returning.

void GLResetClearColor ( ) [inline]

Helper function to reset the clear color.

Remarks:
if GL_SUPPORT_RESET is defined (per default, it is), this function sets the four values of the clear color to the previous value. Otherwise, they are all set to 0.0f.
See also:
GLClearColor

void GLClearDepth ( GLclampd depth ) [inline]

Replacement of glClearDepth.

This function caches the depth clear setting and asserts on the result before returning.

void GLClearDepthd ( GLdouble depth ) [inline]

Replacement of glClearDepthd.

This functions asserts on the result before returning.

void GLResetClearDepth ( ) [inline]

Helper function to reset the clear depth.

Remarks:
if ( GL_SUPPORT_RESET is defined (per default, it is), this function sets the clear depth to the previous value. Otherwise, it is set to 1.0f.
See also:
GLClearDepth

void GLClearIndex ( GLfloat c ) [inline]

Replacement of glClearIndex.

This function asserts on the result before returning.

void GLClearStencil ( GLint s ) [inline]

Replacement of glClearStencil.

This function caches the stencil clear setting and asserts on the result before returning.

void GLResetClearStencil ( ) [inline]

Helper function to reset the stencil clear value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil clear value to the previous value. Otherwise, it is set to zero.
See also:
GLClearStencil

void GLClientActiveTexture ( GLenum texture ) [inline]

Replacement of glClientActiveTexture.

This functions caches the next active texture unit and asserts on the result before returning.

void GLClipPlane | ( | GLenum | plane,
 |  | const GLdouble * | equation
 | ) | [inline]

Replacement of glClipPlane.

This function asserts on the result before returning.

void GLResetClipPlaneEquation ( GLenum plane ) [inline]

Helper function to reset a clip plane equation.

Parameters:
plane The id of the clip plane for which the plane equation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the clip plane equation of plane to the previous equations. Otherwise, it is set to the default plane (0,0,0,0).
See also:
GLClipPlane

void GLColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [inline]

Replacement of glColor3b.

This function caches the color values and asserts on the result before returning.

void GLColor3bv ( const GLbyte * v ) [inline]

Replacement of glColor3bv.

This function caches the color values and asserts on the result before returning.

void GLColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [inline]

Replacement of glColor3d.

This function caches the color values and asserts on the result before returning.

void GLColor3dv ( const GLdouble * v ) [inline]

Replacement of glColor3dv.

This function caches the color values and asserts on the result before returning.

void GLColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [inline]

Replacement of glColor3f.

This function caches the color values and asserts on the result before returning.

void GLColor3fv ( const GLfloat * v ) [inline]

Replacement of glColor3fv.

This function caches the color values and asserts on the result before returning.

void GLColor3h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue
 | ) | [inline]

Replacement of glColor3hNV.

This function asserts on the result before returning.

void GLColor3hv ( const GLhalf * v ) [inline]

Replacement of glColor3hv.

This function asserts on the result before returning.

void GLColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [inline]

Replacement of glColor3i.

This function caches the color values and asserts on the result before returning.

void GLColor3iv ( const GLint * v ) [inline]

Replacement of glColor3iv.

This function caches the color values and asserts on the result before returning.

void GLColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [inline]

Replacement of glColor3s.

This function caches the color values and asserts on the result before returning.

void GLColor3sv ( const GLshort * v ) [inline]

Replacement of glColor3sv.

This function caches the color values and asserts on the result before returning.

void GLColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [inline]

Replacement of glColor3ub.

This function caches the color values and asserts on the result before returning.

void GLColor3ubv ( const GLubyte * v ) [inline]

Replacement of glColor3ubv.

This function caches the color values and asserts on the result before returning.

void GLColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [inline]

Replacement of glColor3ui.

This function caches the color values and asserts on the result before returning.

void GLColor3uiv ( const GLuint * v ) [inline]

Replacement of glColor3uiv.

This function caches the color values and asserts on the result before returning.

void GLColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [inline]

Replacement of glColor3us.

This function caches the color values and asserts on the result before returning.

void GLColor3usv ( const GLushort * v ) [inline]

Replacement of glColor3usv.

This function caches the color values and asserts on the result before returning.

void GLColor4b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue,
 |  | GLbyte | alpha
 | ) | [inline]

Replacement of glColor4b.

This function caches the color values and asserts on the result before returning.

void GLColor4bv ( const GLbyte * v ) [inline]

Replacement of glColor4bv.

This function caches the color values and asserts on the result before returning.

void GLColor4d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue,
 |  | GLdouble | alpha
 | ) | [inline]

Replacement of glColor4d.

This function caches the color values and asserts on the result before returning.

void GLColor4dv ( const GLdouble * v ) [inline]

Replacement of glColor4dv.

This function caches the color values and asserts on the result before returning.

void GLColor4f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [inline]

Replacement of glColor4f.

This function caches the color values and asserts on the result before returning.

void GLColor4fv ( const GLfloat * v ) [inline]

Replacement of glColor4fv.

This function caches the color values and asserts on the result before returning.

void GLColor4h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue,
 |  | GLhalf | alpha
 | ) | [inline]

Replacement of glColor4hNV.

This function asserts on the result before returning.

void GLColor4hv ( const GLhalf * v ) [inline]

Replacement of glColor4hv.

This function asserts on the result before returning.

void GLColor4i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [inline]

Replacement of glColor4i.

This function caches the color values and asserts on the result before returning.

void GLColor4iv ( const GLint * v ) [inline]

Replacement of glColor4iv.

This function caches the color values and asserts on the result before returning.

void GLColor4s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue,
 |  | GLshort | alpha
 | ) | [inline]

Replacement of glColor4s.

This function caches the color values and asserts on the result before returning.

void GLColor4sv ( const GLshort * v ) [inline]

Replacement of glColor4sv.

This function caches the color values and asserts on the result before returning.

void GLColor4ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue,
 |  | GLubyte | alpha
 | ) | [inline]

Replacement of glColor4ub.

This function caches the color values and asserts on the result before returning.

void GLColor4ubv ( const GLubyte * v ) [inline]

Replacement of glColor4ubv.

This function caches the color values and asserts on the result before returning.

void GLColor4ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [inline]

Replacement of glColor4ui.

This function caches the color values and asserts on the result before returning.

void GLColor4uiv ( const GLuint * v ) [inline]

Replacement of glColor4uiv.

This function caches the color values and asserts on the result before returning.

void GLColor4us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue,
 |  | GLushort | alpha
 | ) | [inline]

Replacement of glColor4us.

This function caches the color values and asserts on the result before returning.

void GLColor4usv ( const GLushort * v ) [inline]

Replacement of glColor4usv.

This function caches the color values and asserts on the result before returning.

void GLColorMask | ( | GLboolean | red,
 |  | GLboolean | green,
 |  | GLboolean | blue,
 |  | GLboolean | alpha
 | ) | [inline]

Replacement of glColorMask.

This function asserts on the result before returning.

void GLColorMaskIndexed | ( | GLuint | index,
 |  | GLboolean | r,
 |  | GLboolean | g,
 |  | GLboolean | b,
 |  | GLboolean | a
 | ) | [inline]

Replacement of glColorMaskIndexedEXT.

This functions asserts on the result before returning.

void GLResetColorMask ( ) [inline]

Helper function to reset the color mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color mask to the previous mask. Otherwise, all four mask components are set to GL_TRUE.
See also:
GLColorMask

void GLColorMaterial | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glColorMaterial.

This function asserts on the result before returning.

void GLResetColorMaterialMode ( ) [inline]

Helper function to reset the color material mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color material mode to the previous mode. Otherwise, it is set to GL_AMBIENT_AND_DIFFUSE for GL_FRONT_AND_BACK faces.
See also:
GLColorMaterial

void GLColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glColorPointer.

This function caches the color pointer settings and asserts on the result before returning.

void GLColorSubTable | ( | GLenum | target,
 |  | GLsizei | start,
 |  | GLsizei | count,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glColorSubTable.

This function asserts on the result before returning.

void GLColorTable | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | table
 | ) | [inline]

Replacement of glColorTable.

This function asserts on the result before returning.

void GLColorTableParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glColorTableParameterfv.

This function asserts on the result before returning.

void GLColorTableParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glColorTableParameteriv.

This function asserts on the result before returning.

void GLCombinerInput | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | input,
 |  | GLenum | mapping,
 |  | GLenum | componentUsage
 | ) | [inline]

Replacement of glCombinerInput.

This function asserts on the result before returning.

void GLCombinerOutput | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | abOutput,
 |  | GLenum | cdOutput,
 |  | GLenum | sumOutput,
 |  | GLenum | scale,
 |  | GLenum | bias,
 |  | GLboolean | abDotProduct,
 |  | GLboolean | cdDotProduct,
 |  | GLboolean | muxSum
 | ) | [inline]

Replacement of glCombinerOutput.

This function asserts on the result before returning.

void GLCombinerParameterf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glCombinerParameterf.

This function asserts on the result before returning.

void GLCombinerParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glCombinerParameterfv.

This function asserts on the result before returning.

void GLCombinerParameteri | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glCombinerParameteri.

This function asserts on the result before returning.

void GLCombinerParameteriv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glCombinerParameteriv.

This function asserts on the result before returning.

void GLCombinerStageParameterfv | ( | GLenum | stage,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glCombinerStageParameterfv.

This function asserts on the result before returning.

void GLCompileShader ( GLuint shader ) [inline]

Replacement of glCompileShader.

This function asserts on the result before returning.

void GLCompressedTexImage1D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage1D.

This function hides the extension character of glCompressedTexImage1D, updates the active texture, and asserts on the result before returning.

void GLCompressedTexImage2D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage2D.

This function hides the extension character of glCompressedTexImage2D, updates the active texture, and asserts on the result before returning.

void GLCompressedTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage3D.

This function hides the extension character of glCompressedTexImage3D, updates the active texture, and asserts on the result before returning.

void GLCompressedTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glCompressedTexSubImage1D.

This updates the active texture and asserts on the result before returning.

void GLCompressedTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glCompressedTexSubImage2D.

This updates the active texture and asserts on the result before returning.

void GLCompressedTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glCompressedTexSubImage3D.

This updates the active texture and asserts on the result before returning.

void GLConvolutionFilter1D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | image
 | ) | [inline]

Replacement of glConvolutionFilter1D.

This function asserts on the result before returning.

void GLConvolutionFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | image
 | ) | [inline]

Replacement of glConvolutionFilter2D.

This function asserts on the result before returning.

void GLConvolutionParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | params
 | ) | [inline]

Replacement of glConvolutionParameterf.

This function asserts on the result before returning.

void GLConvolutionParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glConvolutionParameterfv.

This function asserts on the result before returning.

void GLConvolutionParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | params
 | ) | [inline]

Replacement of glConvolutionParameteri.

This function asserts on the result before returning.

void GLConvolutionParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glConvolutionParameteriv.

This function asserts on the result before returning.

void GLCopyColorSubTable | ( | GLenum | target,
 |  | GLsizei | start,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyColorSubTable.

This function asserts on the result before returning.

void GLCopyColorTable | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyColorTable.

This function asserts on the result before returning.

void GLCopyConvolutionFilter1D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyConvolutionFilter1D.

This function asserts on the result before returning.

void GLCopyConvolutionFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyConvolutionFilter2D.

This function asserts on the result before returning.

void GLCopyPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | type
 | ) | [inline]

Replacement of glCopyPixels.

This function asserts on the result before returning.

void GLCopyTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLint | border
 | ) | [inline]

Replacement of glCopyTexImage1D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border
 | ) | [inline]

Replacement of glCopyTexImage2D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyTexSubImage1D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

GLuint GLCreateProgram ( ) [inline]

Replacement of glCreateProgram.

This function asserts on the result before returning.

GLhandleARB GLCreateProgramObject ( ) [inline]

Replacement of glCreateProgramObjectARB.

This function asserts on the result before returning.

GLuint GLCreateShader ( GLenum type ) [inline]

Replacement of glCreateShader.

This function asserts on the result before returning.

GLhandleARB GLCreateShaderObject ( GLenum shaderType ) [inline]

Replacement of glCreateShaderObjectARB.

This function asserts on the result before returning.

void GLCullFace ( GLenum mode ) [inline]

Replacement of glCullFace.

This function caches the cull face setting and asserts on the result before returning.

void GLResetCullFaceMode ( ) [inline]

Helper function to reset the cull face mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the cull face mode to the previous mode. Otherwise, it is set to GL_BACK.
See also:
GLCullFace

void GLCullFaceLock ( GLenum mode ) [inline]

Helper function to set the cull face mode and lock it.

Parameters:
mode The cull face mode to set and lock.
Remarks:
This function sets the cull face mode and locks this state. Any subsequent calls to GLCullFace will not change that value, until the next call to GLCullFaceUnlock.
See also:
GLCullFace, GLCullFaceUnlock

void GLCullFaceUnlock ( GLenum mode ) [inline]

Helper function to unlock the cull face and set it.

Parameters:
mode The cull face mode to set, after unlocking.
Remarks:
This function unlocks the cull face mode and sets it to mode. After a call to GLCullFaceLock, this function is needed to unlock the cull face mode again.
See also:
GLCullFace, GLCullFaceLock

void GLDeleteLists | ( | GLuint | list,
 |  | GLsizei | range
 | ) | [inline]

Replacement of glDeleteLists.

This function updates some caches and asserts on the result before returning.

void GLDeleteObject ( GLhandleARB obj ) [inline]

Replacement of glDeleteObjectARB.

This function asserts on the result before returning.

void GLDeleteProgram ( GLuint program ) [inline]

Replacement of glDeleteProgram.

This function updates some caches and asserts on the result before returning.

void GLDeletePrograms | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteProgramsARB.

This function hides the extension character of glDeleteProgramsARB, updates some caches, and asserts on the result before returning.

void GLDeleteQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteQueries.

This function updates some caches, and asserts on the result before returning.

void GLDeleteShader ( GLuint shader ) [inline]

Replacement of glDeleteShader.

This function asserts on the result before returning.

void GLDeleteTextures | ( | GLsizei | n,
 |  | const GLuint * | textures
 | ) | [inline]

Replacement of glDeleteTextures.

This function updates some caches and asserts on the result before returning.

void GLDepthBounds | ( | GLclampd | zmin,
 |  | GLclampd | zmax
 | ) | [inline]

Replacement of glDepthBounds.

This function asserts on the result before returning.

void GLDepthBoundsd | ( | GLdouble | zmin,
 |  | GLdouble | zmax
 | ) | [inline]

Replacement of glDepthBoundsd.

This function asserts on the result before returning.

void GLDepthFunc ( GLenum func ) [inline]

Replacement of glDepthFunc.

This function asserts on the result before returning.

void GLResetDepthFunc ( ) [inline]

Helper function to reset the depth func.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth func to the previous value. Otherwise, it is set to GL_LESS.
See also:
GLDepthFunc

void GLDepthMask ( GLboolean flag ) [inline]

Replacement of glDepthMask.

This function asserts on the result before returning.

void GLResetDepthMask ( ) [inline]

Helper function to reset the depth mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth mask to the previous value. Otherwise, it is set to GL_TRUE.
See also:
GLDepthMask

void GLDepthRange | ( | GLclampd | znear,
 |  | GLclampd | zfar
 | ) | [inline]

Replacement of glDepthRange.

This function asserts on the result before returning.

void GLDepthRanged | ( | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glDepthRandedNV.

This function asserts on the result before returning.

void GLResetDepthRange ( ) [inline]

Helper function to reset the depth range.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth range to the previous values. Otherwise, it sets znear to 0.0 and zfar to 1.0.
See also:
GLDepthRange

void GLDetachObject | ( | GLhandleARB | containerObj,
 |  | GLhandleARB | attachedObj
 | ) | [inline]

Replacement of glDetachObjectARB.

void GLDetachShader | ( | GLuint | program,
 |  | GLuint | shader
 | ) | [inline]

Replacement of glDetachShader.

void GLDisableAlphaTest ( void ) [inline]

Cached version of GLDisable( GL_ALPHA_TEST ).

This function caches the GL_ALPHA_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_ALPHA_TEST) directly.

void GLDisableAutoNormal ( void ) [inline]

Cached version of GLDisable( GL_AUTO_NORMAL ).

This function caches the GL_AUTO_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_AUTO_NORMAL) directly.

void GLDisableBlend ( void ) [inline]

Cached version of GLDisable( GL_BLEND ).

This function caches the GL_BLEND state. It is faster to call this method instead of calling GL[Disable|Enable](GL_BLEND) directly.

void GLDisableClipPlane ( GLenum plane ) [inline]

Cached version of GLDisable( GL_CLIP_PLANEi ).

This function caches the GL_CLIP_PLANEi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CLIP_PLANEi) directly.

void GLDisableColorLogicOp ( void ) [inline]

Cached version of GLDisable( GL_COLOR_LOGIC_OP ).

This function caches the GL_COLOR_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_LOGIC_OP) directly.

void GLDisableColorMaterial ( void ) [inline]

Cached version of GLDisable( GL_COLOR_MATERIAL ).

This function caches the GL_COLOR_MATERIAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_MATERIAL) directly.

void GLDisableCullFace ( void ) [inline]

Cached version of GLDisable( GL_CULL_FACE ).

This function is caches the GL_CULL_FACE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CULL_FACE) directly.

void GLDisableCullFaceLock ( void ) [inline]

Helper function to disable the cull face and lock it.

Remarks:
This function disables face culling and locks it. Any subsequent calls to GLEnableCullFace, GLDisableCullFace, GLEnable(GL_CULL_FACE), or GLDisable(GL_CULL_FACE) will not change that setting, until the next call to GLDisableCullFaceUnlock or GLEnableCullFaceUnlock.
See also:
GLDisableCullFace, GLDisableCullFaceUnlock, GLEnableCullFaceLock

void GLDisableCullFaceUnlock ( void ) [inline]

Helper function to unlock the cull face and set it.

Remarks:
This function unlocks face culling and disables it.
See also:
GLDisableCullFace, GLDisableCullFaceLock, GLEnableCullFaceUnlock

void GLDisableDepthTest ( void ) [inline]

Cached version of GLDisable( GL_DEPTH_TEST ).

This function caches the GL_DEPTH_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DEPTH_TEST) directly.

void GLDisableDither ( void ) [inline]

Cached version of GLDisable( GL_DITHER ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DITHER) directly.

void GLDisableFog ( void ) [inline]

Cached version of GLDisable( GL_FOG ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_FOG) directly.

void GLDisableIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [inline]

Replacement of glDiableIndexed.

This functions asserts on the result before returning.

void GLDisableLight ( GLenum light ) [inline]

Cached version of GLDisable( GL_LIGHTi ).

This function caches the GL_LIGHTi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTi) directly.

void GLDisableLighting ( void ) [inline]

Cached version of GLDisable( GL_LIGHTING ).

This function is caches the GL_LIGHTING state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTING) directly.

void GLDisableLightingLock ( void ) [inline]

Helper function to disable lighting and lock it.

Remarks:
This function disables lighting and locks it. Any subsequent calls to GLEnableLighting, GLDisableLighting, GLEnable(GL_LIGHTING), or GLDisable(GL_LIGHTING) will not change that setting, until the next call to GLDisableLightingUnlock or GLEnableLightingUnlock.
See also:
GLDisableLighting, GLDisableLightingUnlock, GLEnableLightingLock

void GLDisableLightingUnlock ( void ) [inline]

Helper function to unlock the lighting and disable it.

Remarks:
This function unlocks lighting and disables it.
See also:
GLDisableLighting, GLDisableLightingLock, GLEnableLightingUnlock

void GLDisableLineSmooth ( void ) [inline]

Cached version of GLDisable( GL_LINE_SMOOTH ).

This function is caches the GL_LINE_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_SMOOTH) directly.

void GLDisableLineStipple ( void ) [inline]

Cached version of GLDisable( GL_LINE_STIPPLE ).

This function is caches the GL_LINE_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_STIPPLE) directly.

void GLDisableLogicOp ( void ) [inline]

Cached version of GLDisable( GL_LOGIC_OP ).

This function caches the GL_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LOGIC_OP) directly.

void GLDisableNormalize ( void ) [inline]

Cached version of GLDisable( GL_NORMALIZE ).

This function is caches the GL_NORMALIZE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_NORMALIZE) directly.

void GLDisableRescaleNormal ( void ) [inline]

Cached version of GLDisable( GL_RESCALE_NORMAL ).

This function is caches the GL_RESCALE_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_RESCALE_NORMAL) directly.

void GLDisablePointSmooth ( void ) [inline]

Cached version of GLDisable( GL_POINT_SMOOTH ).

This function is caches the GL_POINT_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POINT_SMOOTH) directly.

void GLDisablePolygonOffsetFill ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_OFFSET_FILL ).

This function is caches the GL_POLYGON_OFFSET_FILL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_FILL) directly.

void GLDisablePolygonOffsetLine ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_OFFSET_LINE ).

This function is caches the GL_POLYGON_OFFSET_LINE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_LINE) directly.

void GLDisablePolygonOffsetPoint ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_OFFSET_POINT ).

This function is caches the GL_POLYGON_OFFSET_POINT state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_POINT) directly.

void GLDisablePolygonSmooth ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_SMOOTH ).

This function caches the GL_POLYGON_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_SMOOTH) directly.

void GLDisablePolygonStipple ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_STIPPLE ).

This function is caches the GL_POLYGON_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_STIPPLE) directly.

void GLDisableScissorTest ( void ) [inline]

Cached version of GLDisable( GL_SCISSOR_TEST ).

This function caches the GL_SCISSOR_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_SCISSOR_TEST) directly.

void GLDisableStencilTest ( void ) [inline]

Cached version of GLDisable( GL_STENCIL_TEST ).

This function caches the GL_STENCIL_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_STENCIL_TEST) directly.

void GLDisableTexture ( GLenum target ) [inline]

This function caches the texture target type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ) directly.

void GLDisableTextureGen ( GLenum target ) [inline]

Cached version of GLDisable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function caches the texture generation type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ) directly.

void GLDisable ( GLenum cap ) [inline]

Replacement of glDisable.

This function caches on some cap values and asserts on the result before returning.

void GLDisableColorArray ( void ) [inline]

Cached version of GLDisableClientState( GL_COLOR_ARRAY ).

This function caches the GL_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_COLOR_ARRAY ) directly.

void GLDisableFogCoordinateArray ( void ) [inline]

Cached version of GLDisableClientState( GL_FOG_COORDINATE_ARRAY ).

This function caches the GL_FOG_COORDINATE_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_FOG_COORDINATE_ARRAY ) directly.

void GLDisableNormalArray ( void ) [inline]

Cached version of GLDisableClientState( GL_NORMAL_ARRAY ).

This function caches the GL_NORMAL_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_NORMAL_ARRAY ) directly.

void GLDisableSecondaryColorArray ( void ) [inline]

Cached version of GLDisableClientState( GL_SECONDARY_COLOR_ARRAY ).

This function caches the GL_SECONDARY_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_SECONDARY_COLOR_ARRAY ) directly.

void GLDisableTextureCoordArray ( void ) [inline]

Cached version of GLDisableClientState( GL_TEXTURE_COORD_ARRAY ).

This function caches the GL_TEXTURE_COORD_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_TEXTURE_COORD_ARRAY ) directly.

void GLDisableVertexArray ( void ) [inline]

Cached version of GLDisableClientState( GL_VERTEX_ARRAY ).

This function caches the GL_VERTEX_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_VERTEX_ARRAY ) directly.

void GLDisablePrimitiveRestart ( void ) [inline]

Cached version of GLDisableClientState( GL_PRIMITIVE_RESTART_NV ).

This function caches the GL_PRIMITIVE_RESTART_NV client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_PRIMITIVE_RESTART_NV ) directly.

void GLDisableClientState ( GLenum array ) [inline]

Replacement of glDisableClientState.

This function caches on some cap values and asserts on the result before returning.

void GLDisableVertexAttribArray ( GLuint index ) [inline]

Replacement of glDisableVertexAttribArray.

void GLDrawArrays | ( | GLenum | mode,
 |  | GLint | first,
 |  | GLsizei | count
 | ) | [inline]

Replacement of glDrawArrays.

This function asserts on the result before returning.

void GLDrawArraysInstanced | ( | GLenum | mode,
 |  | GLint | start,
 |  | GLsizei | count,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glDrawArraysInstancedEXT.

This function asserts on the result before returning.

void GLDrawBuffer ( GLenum mode ) [inline]

Replacement of glDrawBuffer.

This function asserts on the result before returning.

void GLDrawBuffers | ( | GLsizei | n,
 |  | const GLenum * | bufs
 | ) | [inline]

Replacement of glDrawBuffersARB.

This function asserts on the result before returning.

void GLDrawElements | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [inline]

Replacement of glDrawElements.

This function asserts on the result before returning.

void GLDrawElementsInstanced | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glDrawElementsInstancedEXT.

This function asserts on the result before returning.

void GLMultiDrawArrays | ( | GLenum | mode,
 |  | GLint * | first,
 |  | GLsizei * | count,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glMultiDrawArrays.

This function asserts on the result before returning.

void GLMultiDrawElements | ( | GLenum | mode,
 |  | const GLsizei * | count,
 |  | GLenum | type,
 |  | const GLvoid ** | indices,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glMultiDrawElements.

This function asserts on the result before returning.

void GLDrawPixels | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glDrawPixels.

This function asserts on the result before returning.

void GLDrawRangeElements | ( | GLenum | mode,
 |  | GLuint | start,
 |  | GLuint | end,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [inline]

Replacement of glDrawRangeElements.

This function asserts on the result before returning.

void GLEdgeFlagPointer | ( | GLsizei | stride,
 |  | const GLboolean * | pointer
 | ) | [inline]

Replacement of glEdgeFlagPointer.

This function asserts on the result before returning.

void GLEdgeFlag ( GLboolean flag ) [inline]

Replacement of glEdgeFlag.

This function asserts on the result before returning.

void GLEdgeFlagv ( const GLboolean * flag ) [inline]

Replacement of glEdgeFlagv.

This function asserts on the result before returning.

void GLEnableAlphaTest ( void ) [inline]

Cached version of GLEnable( GL_ALPHA_TEST ).

This function caches the GL_ALPHA_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_ALPHA_TEST) directly.

void GLResetAlphaTest ( ) [inline]

Helper function to reset the enable state of the alpha test.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the alpha test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableAlphaTest, GLEnableAlphaTest, GLDisable, GLEnable

void GLEnableAutoNormal ( void ) [inline]

Cached version of GLEnable( GL_AUTO_NORMAL ).

This function caches the GL_AUTO_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_AUTO_NORMAL) directly.

void GLResetAutoNormal ( ) [inline]

Helper function to reset the enable state of the auto normal calculation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the auto normal state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableAutoNormal, GLEnableAutoNormal, GLDisable, GLEnable

void GLEnableBlend ( void ) [inline]

Cached version of GLEnable( GL_BLEND ).

This function caches the GL_BLEND state. It is faster to call this method instead of calling GL[Disable|Enable](GL_BLEND) directly.

void GLResetBlend ( ) [inline]

Helper function to reset the enable state of the blending.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the blending state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableBlend, GLEnableBlend, GLDisable, GLEnable

void GLEnableClipPlane ( GLenum plane ) [inline]

Cached version of GLEnable( GL_CLIP_PLANEi ).

This function caches the GL_CLIP_PLANEi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CLIP_PLANEi) directly.

void GLResetClipPlane ( GLenum plane ) [inline]

Helper function to reset the enable state of the clip plane plane.

Parameters:
plane The id of the plane for which the the enable state is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the clip plane state for plane to it's previous state. Otherwise, it is disabled.
See also:
GLDisableClipPlane, GLEnableClipPlane, GLDisable, GLEnable

void GLEnableColorLogicOp ( void ) [inline]

Cached version of GLEnable( GL_COLOR_LOGIC_OP ).

This function caches the GL_COLOR_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_LOGIC_OP) directly.

void GLResetColorLogicOp ( ) [inline]

Helper function to reset the enable state of the color logic operation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color logic operation state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableColorLogicOp, GLEnableColorLogicOp, GLDisable, GLEnable

void GLEnableColorMaterial ( void ) [inline]

Cached version of GLEnable( GL_COLOR_MATERIAL ).

This function caches the GL_COLOR_MATERIAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_MATERIAL) directly.

void GLResetColorMaterial ( ) [inline]

Helper function to reset the enable state of the color material.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color material state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableColorMaterial, GLEnableColorMaterial, GLDisable, GLEnable

void GLEnableCullFace ( void ) [inline]

Cached version of GLEnable( GL_CULL_FACE ).

This function caches the GL_CULL_FACE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CULL_FACE) directly.

void GLResetCullFace ( ) [inline]

Helper function to reset the enable state of face culling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the face culling state to it's previous state. Otherwise, it is enabled. Note, that this enabling face culling by default is SceniX specific and not like in OpenGL.
See also:
GLDisableCullFace, GLEnableCullFace, GLDisable, GLEnable

void GLEnableCullFaceLock ( void ) [inline]

Helper function to enable face culling and lock it.

Remarks:
This function enables face culling and locks it. Any subsequent calls to GLEnableCullFace, GLDisableCullFace, GLEnable(GL_CULL_FACE), or GLDisable(GL_CULL_FACE) will not change that setting, until the next call to GLEnableCullFaceUnlock or GLDisableCullFaceUnlock.
See also:
GLEnableCullFace, GLDisableCullFaceUnlock, GLEnableCullFaceUnlock

void GLEnableCullFaceUnlock ( void ) [inline]

Helper function to unlock the face culling and enable it.

Remarks:
This function unlocks face culling and enables it.
See also:
GLEnableCullFace, GLEnableCullFaceLock, GLDisableCullFaceUnlock

void GLEnableDepthTest ( void ) [inline]

Cached version of GLEnable( GL_DEPTH_TEST ).

This function caches the GL_DEPTH_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DEPTH_TEST) directly.

void GLResetDepthTest ( ) [inline]

Helper function to reset the enable state of depth testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth test state to it's previous state. Otherwise, it is enabled. Note, that this enabling depth test by default is SceniX specific and not like in OpenGL.
See also:
GLDisableDepthTest, GLEnableDepthTest, GLDisable, GLEnable

void GLEnableDither ( void ) [inline]

Cached version of GLEnable( GL_DITHER ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DITHER) directly.

void GLResetDither ( ) [inline]

Helper function to reset the enable state of dithering.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the dither state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableDither, GLEnableDither, GLDisable, GLEnable

void GLEnableFog ( void ) [inline]

Cached version of GLEnable( GL_FOG ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_FOG) directly.

void GLResetFog ( ) [inline]

Helper function to reset the the enable state of fogging.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableFog, GLEnableFog, GLDisable, GLEnable

void GLEnableIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [inline]

Replacement of glEnabledIndexed.

This functions asserts on the result before returning.

void GLEnableLight ( GLenum light ) [inline]

Cached version of GLEnable( GL_LIGHTi ).

This function caches the GL_LIGHTi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTi) directly.

void GLResetLight ( GLenum light ) [inline]

Helper function to reset the enable state of the light light.

Parameters:
light The id of the light for which the enable state is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the light state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLight, GLEnableLight, GLDisable, GLEnable

void GLEnableLighting ( void ) [inline]

Cached version of GLEnable( GL_LIGHTING ).

This function caches the GL_LIGHTING state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTING) directly.

void GLResetLighting ( ) [inline]

Helper function to reset the enable state of lighting.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the lighting state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLighting, GLEnableLighting, GLDisable, GLEnable

void GLEnableLineSmooth ( void ) [inline]

Cached version of GLEnable( GL_LINE_SMOOTH ).

This function caches the GL_LINE_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_SMOOTH) directly.

void GLResetLineSmooth ( ) [inline]

Helper function to reset the enable state of line smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line smoothing state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLineSmooth, GLEnableLineSmooth, GLDisable, GLEnable

void GLEnableLineStipple ( void ) [inline]

Cached version of GLEnable( GL_LINE_STIPPLE ).

This function caches the GL_LINE_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_STIPPLE) directly.

void GLResetLineStipple ( ) [inline]

Helper function to reset the enable state of line stippling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line stippling state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLineStipple, GLEnableLineStipple, GLDisable, GLEnable

void GLEnableLogicOp ( void ) [inline]

Cached version of GLEnable( GL_LOGIC_OP ).

This function caches the GL_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LOGIC_OP) directly.

void GLResetLogicOp ( ) [inline]

Helper function to reset the enable state of logic operation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the logic operation state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLogicOp, GLEnableLogicOp, GLDisable, GLEnable

void GLEnableNormalize ( void ) [inline]

Cached version of GLEnable( GL_NORMALIZE ).

This function caches the GL_NORMALIZE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_NORMALIZE) directly.

void GLEnableRescaleNormal ( void ) [inline]

Cached version of GLEnable( GL_RESCALE_NORMAL ).

This function caches the GL_RESCALE_NORMAL enable state. It is faster to call this method instead of calling GL[Disable|Enable](GL_RESCALE_NORMAL) directly.

void GLResetNormalize ( ) [inline]

Helper function to reset the enable state of GL_NORMALIZE.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the normalize state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableNormalize, GLEnableNormalize, GLDisable, GLEnable

void GLResetRescaleNormal ( ) [inline]

Helper function to reset the enable state of GL_RESCALE_NORMAL.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the GL_RESCALE_NORMAL state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableRescaleNormal, GLEnableRescaleNormal, GLDisable, GLEnable

void GLEnablePointSmooth ( void ) [inline]

Cached version of GLEnable( GL_POINT_SMOOTH ).

This function caches the GL_POINT_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POINT_SMOOTH) directly.

void GLResetPointSmooth ( ) [inline]

Helper function to reset the enable state of point smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the point smoothing state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePointSmooth, GLEnablePointSmooth, GLDisable, GLEnable

void GLEnablePolygonOffsetFill ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_OFFSET_FILL ).

This function caches the GL_POLYGON_OFFSET_FILL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_FILL) directly.

void GLResetPolygonOffsetFill ( ) [inline]

Helper function to reset the enable state of filled polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset fill state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetFill, GLEnablePolygonOffsetFill, GLDisable, GLEnable

void GLEnablePolygonOffsetLine ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_OFFSET_LINE ).

This function caches the GL_POLYGON_OFFSET_LINE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_LINE) directly.

void GLResetPolygonOffsetLine ( ) [inline]

Helper function to reset the enable state of lined polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset line state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetLine, GLEnablePolygonOffsetLine, GLDisable, GLEnable

void GLEnablePolygonOffsetPoint ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_OFFSET_POINT ).

This function caches the GL_POLYGON_OFFSET_POINT state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_POINT) directly.

void GLResetPolygonOffsetPoint ( ) [inline]

Helper function to reset the enable state of pointed polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset point state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetPoint, GLEnablePolygonOffsetPoint, GLDisable, GLEnable

void GLEnablePolygonSmooth ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_SMOOTH ).

This function caches the GL_POLYGON_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_SMOOTH) directly.

void GLResetPolygonSmooth ( ) [inline]

Helper function to reset the enable state of polygon smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon smooth state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonSmooth, GLEnablePolygonSmooth, GLDisable, GLEnable

void GLEnablePolygonStipple ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_STIPPLE ).

This function caches the GL_POLYGON_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_STIPPLE) directly.

void GLResetPolygonStipple ( ) [inline]

Helper function to reset the enable state of polygon stippling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon stippling state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonStipple, GLEnablePolygonStipple, GLDisable, GLEnable

void GLEnableScissorTest ( void ) [inline]

Cached version of GLEnable( GL_SCISSOR_TEST ).

This function caches the GL_SCISSOR_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_SCISSOR_TEST) directly.

void GLResetScissorTest ( ) [inline]

Helper function to reset the enable state of scissor testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the scissor test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableScissorTest, GLEnableScissorTest, GLDisable, GLEnable

void GLEnableStencilTest ( void ) [inline]

Cached version of GLEnable( GL_STENCIL_TEST ).

This function caches the GL_STENCIL_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_STENCIL_TEST) directly.

void GLResetStencilTest ( ) [inline]

Helper function to reset the enable state of stencil testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableStencilTest, GLEnableStencilTest, GLDisable, GLEnable

void GLEnableTexture ( GLenum target ) [inline]

This function caches the texture target type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ) directly.

void GLResetTexture ( GLenum target ) [inline]

Helper function to reset the enable state of texture target target.

Parameters:
target The texture target for which the enable state has to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the texture target target to it's previous state. Otherwise, it is disabled.
See also:
GLDisableTexture, GLEnableTexture, GLDisable, GLEnable

void GLEnableTextureGen ( GLenum target ) [inline]

Cached version of GLEnable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function caches the texture generation type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ) directly.

void GLEnable ( GLenum cap ) [inline]

Replacement of glEnable.

This function caches on some cap values and asserts on the result before returning.

void GLEnableColorArray ( void ) [inline]

Cached version of GLEnableClientState( GL_COLOR_ARRAY ).

This function caches the GL_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_COLOR_ARRAY ) directly.

void GLEnableFogCoordinateArray ( void ) [inline]

Cached version of GLEnableClientState( GL_FOG_COORDINATE_ARRAY ).

This function caches the GL_FOG_COORDINATE_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_FOG_COORDINATE_ARRAY ) directly.

void GLEnableNormalArray ( void ) [inline]

Cached version of GLEnableClientState( GL_NORMAL_ARRAY ).

This function caches the GL_NORMAL_ARRAY client state. PIt is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_NORMAL_ARRAY ) directly.

void GLEnableSecondaryColorArray ( void ) [inline]

Cached version of GLEnableClientState( GL_SECONDARY_COLOR_ARRAY ).

This function caches the GL_SECONDARY_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_SECONDARY_COLOR_ARRAY ) directly.

void GLEnableTextureCoordArray ( void ) [inline]

Cached version of GLEnableClientState( GL_TEXTURE_COORD_ARRAY ).

This function caches the GL_TEXTURE_COORD_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_TEXTURE_COORD_ARRAY ) directly.

void GLEnableVertexArray ( void ) [inline]

Cached version of GLEnableClientState( GL_VERTEX_ARRAY ).

This function caches the GL_VERTEX_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_VERTEX_ARRAY ) directly.

void GLEnablePrimitiveRestart ( void ) [inline]

Cached version of GLEnableClientState( GL_PRIMITIVE_RESTART_NV ).

This function caches the GL_PRIMITIVE_RESTART_NV client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_PRIMITIVE_RESTART_NV ) directly.

void GLEnableClientState ( GLenum array ) [inline]

Replacement of glEnableClientState.

This function caches on some cap values and asserts on the result before returning.

void GLEnableVertexAttribArray ( GLuint index ) [inline]

Replacement of glEnableVertexAttribArray.

void GLEnd ( void ) [inline]

Replacement of glEnd.

This function asserts on the result before returning.

void GLEndList ( void ) [inline]

Replacement of glEndList.

This function does not assert on the result before returning, because on glEndList the GL_OUT_OF_MEMORY is to be tested.

void GLEndConditionalRenderNV ( void ) [inline]

Replacement of glEndConditionalRenderNV.

void GLEndQuery ( GLenum target ) [inline]

Replacement of glEndQuery.

This function asserts on the result before returning.

void GLEndTransformFeedbackNV ( ) [inline]

Replacement of glEndTransformFeedbackNV.

This function asserts on the result before returning.

void GLEndTransformFeedback ( ) [inline]

Replacement of glEndTransformFeedback.

This function asserts on the result before returning.

void GLEvalCoord1d ( GLdouble u ) [inline]

Replacement of glEvalCoord1d.

This function asserts on the result before returning.

void GLEvalCoord1f ( GLfloat u ) [inline]

Replacement of glEvalCoord1f.

This function asserts on the result before returning.

void GLEvalCoord2d | ( | GLdouble | u,
 |  | GLdouble | v
 | ) | [inline]

Replacement of glEvalCoord2d.

This function asserts on the result before returning.

void GLEvalCoord2f | ( | GLfloat | u,
 |  | GLfloat | v
 | ) | [inline]

Replacement of glEvalCoord2f.

This function asserts on the result before returning.

void GLEvalMesh1 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2
 | ) | [inline]

Replacement of glEvalMesh1.

This function asserts on the result before returning.

void GLEvalMesh2 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2,
 |  | GLint | j1,
 |  | GLint | j2
 | ) | [inline]

Replacement of glEvalMesh2.

This function asserts on the result before returning.

void GLEvalPoint1 ( GLint i ) [inline]

Replacement of glEvalPoint1.

This function asserts on the result before returning.

void GLEvalPoint2 | ( | GLint | i,
 |  | GLint | j
 | ) | [inline]

Replacement of glEvalPoint2.

This function asserts on the result before returning.

void GLExecuteProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glExecuteProgramNV.

This function asserts on the result before returning.

void GLFeedbackBuffer | ( | GLsizei | size,
 |  | GLenum | type,
 |  | GLfloat * | buffer
 | ) | [inline]

Replacement of glFeedbackBuffer.

This function asserts on the result before returning.

void GLFinalCombinerInput | ( | GLenum | variable,
 |  | GLenum | input,
 |  | GLenum | mapping,
 |  | GLenum | componentUsage
 | ) | [inline]

Replacement of glFinalCombinerInput.

This function asserts on the result before returning.

void GLFinish ( void ) [inline]

Replacement of glFinish.

This function asserts on the result before returning.

void GLFinishFence ( GLuint fence ) [inline]

Replacement of glFinishFenceNV.

void GLFlush ( void ) [inline]

Replacement of glFlush.

This function asserts on the result before returning.

void GLFlushPixelDataRange ( GLenum target ) [inline]

Replacement of glFlushPixelDataRangeNV.

This functions asserts on the result before returning.

void GLFlushVertexArrayRange ( ) [inline]

Replacement of glFlushVertexArrayRange.

This functions asserts on the result before returning.

void GLFogColor ( const GLfloat * color ) [inline]

Cached version of GLFog[fv|iv]( GL_FOG_COLOR, params ).

This function caches the GL_FOG_COLOR value. It is faster to call this method instead of GLFog[fv|iv]( GL_FOG_COLOR, params ) directly.

void GLResetFogColor ( ) [inline]

Helper function to reset the fog color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog color to it's previous state. Otherwise, it is set to (0,0,0,0).
See also:
GLFogColor

void GLFogCoordd ( GLdouble fog ) [inline]

Replacement of glFogCoordd.

This function asserts on the result before returning.

void GLFogCoorddv ( const GLdouble * fog ) [inline]

Replacement of glFogCoorddv.

This function asserts on the result before returning.

void GLFogCoordf ( GLfloat fog ) [inline]

Replacement of glFogCoordf.

This function asserts on the result before returning.

void GLFogCoordfv ( const GLfloat * fog ) [inline]

Replacement of glFogCoordfv.

This function asserts on the result before returning.

void GLFogCoordh ( GLhalf fog ) [inline]

Replacement of glFogCoordh.

This function asserts on the result before returning.

void GLFogCoordhv ( const GLhalf * fog ) [inline]

Replacement of glFogCoordhv.

This function asserts on the result before returning.

void GLFogCoordPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glFogCoordPointer.

This function caches the fog coordinate pointer setting and asserts on the result before returning.

void GLFogDensity ( GLfloat density ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_DENSITY, param[s] ).

This function caches the GL_FOG_DENSITY value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ) directly.

void GLResetFogDensity ( ) [inline]

Helper function to reset the fog density.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog density to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLFogDensity

void GLFogEnd ( GLfloat end ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ).

This function caches the GL_FOG_END value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ) directly.

void GLResetFogEnd ( ) [inline]

Helper function to reset the fog end value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog end value to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLFogDensity

void GLFogf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glFogf.

This function asserts on the result before returning.

void GLFogfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glFogfv.

This function asserts on the result before returning.

void GLFogi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glFogi.

This function asserts on the result before returning.

void GLFogiv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glFogiv.

This function asserts on the result before returning.

void GLFogMode ( GLenum mode ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ).

This function caches the GL_FOG_MODE value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ) directly.

void GLResetFogMode ( ) [inline]

Helper function to reset the fog mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog mode to it's previous state. Otherwise, it is set to GL_EXP.
See also:
GLFogMode

void GLFogStart ( GLfloat start ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ).

This function caches the GL_FOG_START value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ) directly.

void GLResetFogStart ( ) [inline]

Helper function to reset the fog start value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog start value to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLFogStart

void GLFramebufferTexture | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [inline]

Replacement of glFramebufferTextureEXT.

This function asserts on the result before returning.

void GLFramebufferTextureFace | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLenum | face
 | ) | [inline]

Replacement of glFramebufferTextureFaceEXT.

This function asserts on the result before returning.

void GLFrontFace ( GLenum mode ) [inline]

Replacement of glFrontFace.

This function caches the front face setting and asserts on the result before returning.

void GLResetFrontFace ( ) [inline]

Helper function to reset the front face state.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the front face state to it's previous state. Otherwise, it is set to GL_CCW.
See also:
GLFrontFace

void GLFrustum | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glFrustum.

This function asserts on the result before returning.

GLuint GLGenLists ( GLsizei range ) [inline]

Replacement of glGenLists.

This function asserts on the result and updates some caches.

void GLGenPrograms | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenProgramsARB.

This function hides the extension character of glGenProgramsARB and asserts on the result, and updates some caches.

void GLGenQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenQueries.

This function asserts on the result, and updates some caches.

void GLGenTextures | ( | GLsizei | n,
 |  | GLuint * | textures
 | ) | [inline]

Replacement of glGenTextures.

This function asserts on the result and updates some caches.

void GLGetActiveAttrib | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [inline]

Replacement of glGetActiveAttrib.

This function asserts on the result before returning.

void GLGetActiveUniform | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | maxLength,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLcharARB * | name
 | ) | [inline]

Replacement of glGetActiveUniform.

This function asserts on the result before returning.

void GLGetActiveVaryingNV | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [inline]

Replacement of glGetActiveVaryingNV.

This function asserts on the result before returning.

void GLGetAttachedObjects | ( | GLhandleARB | containerObj,
 |  | GLsizei | maxCount,
 |  | GLsizei * | count,
 |  | GLhandleARB * | obj
 | ) | [inline]

Replacement of glGetAttachedObjectsARB.

This function asserts on the result before returning.

void GLGetAttachedShaders | ( | GLuint | program,
 |  | GLsizei | maxCount,
 |  | GLsizei * | count,
 |  | GLuint * | shaders
 | ) | [inline]

Replacement of glGetAttachedShaders.

This function asserts on the result before returning.

GLint GLGetAttribLocation | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glGetAttribLocation.

This function asserts on the result before returning.

void GLGetBooleanv | ( | GLenum | pname,
 |  | GLboolean * | params
 | ) | [inline]

Replacement of glGetBooleanv.

This function asserts on the result before returning.

void GLGetBooleanIndexedv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLboolean * | data
 | ) | [inline]

Replacement of glGetBooleanIndexedvEXT.

This function asserts on the result before returning.

void GLGetColorTable | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | table
 | ) | [inline]

Replacement of glGetColorTable.

This function asserts on the result before returning.

void GLGetColorTableParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetColorTableParameterfv.

This function asserts on the result before returning.

void GLGetColorTableParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetColorTableParameteriv.

This function asserts on the result before returning.

void GLGetCombinerInputParameterfv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetCombinerInputParameterfv.

This function asserts on the result before returning.

void GLGetCombinerInputParameteriv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetCombinerInputParameteriv.

This function asserts on the result before returning.

void GLGetCombinerOutputParameterfv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetCombinerOutputParameterfv.

This function asserts on the result before returning.

void GLGetCombinerOutputParameteriv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetCombinerOutputParameteriv.

This function asserts on the result before returning.

void GLGetCombinerStageParameterfv | ( | GLenum | stage,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetCombinerStageParameterfv.

This function asserts on the result before returning.

void GLGetCompressedTexImage | ( | GLenum | target,
 |  | GLint | lod,
 |  | GLvoid * | img
 | ) | [inline]

Replacement of glGetCompressedTexImage.

This function asserts on the result before returning.

void GLGetConvolutionFilter | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | image
 | ) | [inline]

Replacement of glGetConvolutionFilter.

This function asserts on the result before returning.

void GLGetConvolutionParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetConvolutionParameterfv.

This function asserts on the result before returning.

void GLGetConvolutionParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetConvolutionParameteriv.

This function asserts on the result before returning.

void GLGetDoublev | ( | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetDoublev.

This function asserts on the result before returning.

void GLGetFenceiv | ( | GLuint | fence,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetFenceivNV.

This function asserts on the result before returning.

void GLGetFinalCombinerInputParameterfv | ( | GLenum | variable,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetFinalCombinerInputParamterfv.

This function asserts on the result before returning.

void GLGetFinalCombinerInputParameteriv | ( | GLenum | variable,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetFinalCombinerInputParamteriv.

This function asserts on the result before returning.

void GLGetFloatv | ( | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetFloatv.

This function asserts on the result before returning.

GLint GLGetFragDataLocation | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glGetFragDataLocationEXT.

This function asserts on the result before returning.

GLhandleARB GLGetHandle ( GLenum pname ) [inline]

Replacement of glGetHandleARB.

This function asserts on the result before returning.

void GLGetHistogram | ( | GLenum | target,
 |  | GLboolean | reset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | values
 | ) | [inline]

Replacement of glGetHistogram.

This function asserts on the result before returning.

void GLGetHistogramParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetHistogramParameterfv.

This function asserts on the result before returning.

void GLGetHistogramParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetHistogramParameteriv.

This function asserts on the result before returning.

void GLGetInfoLog | ( | GLhandleARB | obj,
 |  | GLsizei | maxLength,
 |  | GLsizei * | length,
 |  | GLcharARB * | infoLog
 | ) | [inline]

Replacement of glGetInfoLogARB.

This function asserts on the result before returning.

void GLGetIntegerv | ( | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetIntegerv.

This function asserts on the result before returning.

void GLGetIntegerIndexedv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | data
 | ) | [inline]

Replacement of glGetIntegerIndexedvEXT.

This function asserts on the result before returning.

void GLGetBufferParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetBufferParameteriv.

This function asserts on the result before returning.

void GLGetBufferPointerv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [inline]

Replacement of glGetBufferPointerv.

This function asserts on the result before returning.

void GLGetBufferSubData | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | GLvoid * | data
 | ) | [inline]

Replacement of glGetBufferSubData.

This function asserts on the result before returning.

void GLGetClipPlane | ( | GLenum | plane,
 |  | GLdouble * | equation
 | ) | [inline]

Replacement of glGetClipPlane.

This function asserts on the result before returning.

void GLGetLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetLightfv.

This function asserts on the result before returning.

void GLGetLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetLightiv.

This function asserts on the result before returning.

void GLGetMapdv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLdouble * | v
 | ) | [inline]

Replacement of glGetMapdv.

This function asserts on the result before returning.

void GLGetMapfv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLfloat * | v
 | ) | [inline]

Replacement of glGetMapfv.

This function asserts on the result before returning.

void GLGetMapiv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLint * | v
 | ) | [inline]

Replacement of glGetMapiv.

This function asserts on the result before returning.

void GLGetMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetMaterialfv.

This function asserts on the result before returning.

void GLGetMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetMaterialiv.

This function asserts on the result before returning.

GLint GLGetMaxTexCoords ( void ) [inline]

Get the maximal number of texture coordinate slots.

GLint GLGetMaxTexUnits ( void ) [inline]

Get the maximal number of texture units.

GLint GLGetMaxTexImageUnits ( void ) [inline]

Get the maximal number of texture image units.

void GLGetMinmax | ( | GLenum | target,
 |  | GLboolean | reset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | values
 | ) | [inline]

Replacement of glGetMinmax.

This function asserts on the result before returning.

void GLGetMinmaxParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetMinmaxParameterfv.

This function asserts on the result before returning.

void GLGetMinmaxParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetMinmaxParameteriv.

This function asserts on the result before returning.

void GLGetObjectParameterfv | ( | GLhandleARB | obj,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetObjectParameterfvARB.

This function asserts on the result before returning.

void GLGetObjectParameteriv | ( | GLhandleARB | obj,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetObjectParameterivARB.

This function asserts on the result before returning.

void GLGetPixelMapfv | ( | GLenum | map,
 |  | GLfloat * | values
 | ) | [inline]

Replacement of glGetPixelMapfv.

This function asserts on the result before returning.

void GLGetPixelMapuiv | ( | GLenum | map,
 |  | GLuint * | values
 | ) | [inline]

Replacement of glGetPixelMapuiv.

This function asserts on the result before returning.

void GLGetPixelMapusv | ( | GLenum | map,
 |  | GLushort * | values
 | ) | [inline]

Replacement of glGetPixelMapusv.

This function asserts on the result before returning.

void GLGetPointerv | ( | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [inline]

Replacement of glGetPointerv.

This function asserts on the result before returning.

void GLGetPolygonStipple ( GLubyte * mask ) [inline]

Replacement of glGetPolygonStipple.

This function asserts on the result before returning.

void GLGetProgramEnvParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterdvARB.

This function asserts on the result before returning.

void GLGetProgramEnvParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterfvARB.

This function asserts on the result before returning.

void GLGetProgramiv | ( | GLuint | program,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetProgramiv.

This function asserts on the result before returning.

void GLGetProgramLocalParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterdvARB.

This function asserts on the result before returning.

void GLGetProgramLocalParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterfvARB.

This function asserts on the result before returning.

void GLGetProgramInfoLog | ( | GLuint | program,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLchar * | infoLog
 | ) | [inline]

Replacement of glGetProgramInfoLog.

This function asserts on the result before returning.

void GLGetProgramEnvParameterIiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterIivNV.

This function asserts on the result before returning.

void GLGetProgramEnvParameterIuiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterIuivNV.

This function asserts on the result before returning.

void GLGetProgramLocalParameterIiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterIivNV.

This function asserts on the result before returning.

void GLGetProgramLocalParameterIuiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterIuivNV.

This function asserts on the result before returning.

void GLGetProgramNamedParameterdv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramNamedParameterdvNV.

This function asserts on the result before returning.

void GLGetProgramNamedParameterfv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramNamedParameterfvNV.

This function asserts on the result before returning.

void GLGetProgramParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramParameterdvNV.

This function asserts on the result before returning.

void GLGetProgramParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramParameterfvNV.

This function asserts on the result before returning.

void GLGetProgramString | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLubyte * | program
 | ) | [inline]

Replacement of glGetProgramStringNV.

This function asserts on the result before returning.

void GLGetQueryiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetQueryiv.

This function asserts on the result before returning.

void GLGetQueryObjecti64v | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint64EXT * | params
 | ) | [inline]

Replacement of glGetQueryObjecti64vEXT.

This function asserts on the result before returning.

void GLGetQueryObjectiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetQueryObjectiv.

This function asserts on the result before returning.

void GLGetQueryObjectui64v | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint64EXT * | params
 | ) | [inline]

Replacement of glGetQueryObjectui64vEXT.

This function asserts on the result before returning.

void GLGetQueryObjectuiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetQueryObjectuiv.

This function asserts on the result before returning.

void GLGetSeparableFilter | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | row,
 |  | GLvoid * | column,
 |  | GLvoid * | span
 | ) | [inline]

Replacement of glGetSeparableFilter.

This asserts on the result before returning.

void GLGetShaderiv | ( | GLuint | shader,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetShaderiv.

This asserts on the result before returning.

void GLGetShaderInfoLog | ( | GLuint | shader,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLchar * | infoLog
 | ) | [inline]

Replacement of glGetShaderInfoLog.

This asserts on the result before returning.

void GLGetShaderSource | ( | GLuint | shader,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLcharARB * | source
 | ) | [inline]

Replacement of glGetShaderSource.

This asserts on the result before returning.

const GLubyte* GLGetString ( GLenum name ) [inline]

Replacement of glGetString.

This function asserts on the result before returning.

void GLGetTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexEnvfv.

This function asserts on the result before returning.

void GLGetTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexEnviv.

This function asserts on the result before returning.

void GLGetTexGendv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetTexGendv.

This function asserts on the result before returning.

void GLGetTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexGenfv.

This function asserts on the result before returning.

void GLGetTexGeniv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexGeniv.

This function asserts on the result before returning.

void GLGetTexImage | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [inline]

Replacement of glGetTexImage.

This function updates the active texture and asserts on the result before returning.

void GLGetTexLevelParameterfv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexLevelParameterfv.

This function asserts on the result before returning.

void GLGetTexLevelParameteriv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexLevelParameteriv.

This function asserts on the result before returning.

void GLGetTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexParameterfv.

This function asserts on the result before returning.

void GLGetTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexParameteriv.

This function asserts on the result before returning.

void GLGetTexParameterIiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexParameterIivEXT.

This function asserts on the result before returning.

void GLGetTexParameterIuiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetTexParameterIuivEXT.

This function asserts on the result before returning.

void GLGetTrackMatrixiv | ( | GLenum | target,
 |  | GLuint | address,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTrackMatrixivNV.

This function asserts on the result before returning.

void GLGetTransformFeedbackVaryingNV | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLint * | location
 | ) | [inline]

Replacement of glGetTransformFeedbackVaryingNV.

This function asserts on the result before returning.

void GLGetTransformFeedbackVarying | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [inline]

Replacement of glGetTransformFeedbackVarying.

This function asserts on the result before returning.

void GLGetUniformfv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetUniformfv.

This function asserts on the result before returning.

void GLGetUniformiv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetUniformiv.

This function asserts on the result before returning.

void GLGetUniformuiv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetUniformuiv.

This function asserts on the result before returning.

GLint GLGetUniformBufferSize | ( | GLuint | program,
 |  | GLint | location
 | ) | [inline]

Replacement of glGetUniformBufferSizeEXT.

This function asserts on the result before returning.

GLint GLGetUniformLocation | ( | GLuint | program,
 |  | const GLcharARB * | name
 | ) | [inline]

Replacement of glGetUniformLocation.

This function asserts on the result before returning.

GLintptr GLGetUniformOffset | ( | GLuint | program,
 |  | GLint | location
 | ) | [inline]

Replacement of glGetUniformOffsetEXT.

This function asserts on the result before returning.

GLint GLGetVaryingLocationNV | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glGetVaryingLocationNV.

This function asserts on the result before returning.

void GLGetVertexAttribdv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetVertexAttribdv.

This function asserts on the result before returning.

void GLGetVertexAttribfv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetVertexAttribfv.

This function asserts on the result before returning.

void GLGetVertexAttribiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetVertexAttribiv.

This function asserts on the result before returning.

void GLGetVertexAttribIiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetVertexAttribIivEXT.

This function asserts on the result before returning.

void GLGetVertexAttribIuiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetVertexAttribIuivEXT.

This function asserts on the result before returning.

void GLGetVertexAttribPointerv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLvoid ** | pointer
 | ) | [inline]

Replacement of glGetVertexAttribPointer.

This function asserts on the result before returning.

void GLHint | ( | GLenum | target,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glHint.

This function asserts on the result before returning.

void GLHistogram | ( | GLenum | target,
 |  | GLsizei | width,
 |  | GLenum | internalformat,
 |  | GLboolean | sink
 | ) | [inline]

Replacement of glHistogram.

This function asserts on the result before returning.

void GLIndexd ( GLdouble c ) [inline]

Replacement of glIndexd.

This function asserts on the result before returning.

void GLIndexf ( GLfloat c ) [inline]

Replacement of glIndexf.

This function asserts on the result before returning.

void GLIndexi ( GLint c ) [inline]

Replacement of glIndexi.

This function asserts on the result before returning.

void GLIndexMask ( GLuint mask ) [inline]

Replacement of glIndexMask.

This function asserts on the result before returning.

void GLIndexPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glIndexPointer.

This function asserts on the result before returning.

void GLIndexs ( GLshort c ) [inline]

Replacement of glIndexs.

This function asserts on the result before returning.

void GLIndexub ( GLubyte c ) [inline]

Replacement of glIndexub.

This function asserts on the result before returning.

void GLInitNames ( void ) [inline]

Replacement of glInitNames.

This function asserts on the result before returning.

void GLInterleavedArrays | ( | GLenum | format,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glInterleavedArrays.

This function asserts on the result before returning.

GLboolean GLIsEnabled ( GLenum cap ) [inline]

Replacement of glIsEnabled.

This function returns the state of the queried capability.

GLboolean GLIsEnabledAlphaTest ( ) [inline]

Replacement of glIsEnabled( GL_ALPHA_TEST ).

This function returns the state of the GL_ALPHA_TEST capability.

GLboolean GLIsEnabledAutoNormal ( ) [inline]

Replacement of glIsEnabled( GL_AUTO_NORMAL ).

This function returns the state of the GL_AUTO_NORMAL capability.

GLboolean GLIsEnabledBlend ( ) [inline]

Replacement of glIsEnabled( GL_BLEND ).

This function returns the state of the GL_BLEND capability.

GLboolean GLIsEnabledClipPlane ( GLenum plane ) [inline]

Replacement of glIsEnabled( GL_CLIP_PLANEi ).

This function returns the state of the GL_CLIP_PLANEi capability.

GLboolean GLIsEnabledColorLogicOp ( ) [inline]

Replacement of glIsEnabled( GL_COLOR_LOGIC_OP ).

This function returns the state of the GL_COLOR_LOGIC_OP capability.

GLboolean GLIsEnabledColorMaterial ( ) [inline]

Replacement of glIsEnabled( GL_COLOR_MATERIAL ).

This function returns the state of the GL_COLOR_MATERIAL capability.

GLboolean GLIsEnabledCullFace ( ) [inline]

Replacement of glIsEnabled( GL_CULL_FACE ).

This function returns the state of the GL_CULL_FACE capability.

GLboolean GLIsEnabledDepthTest ( ) [inline]

Replacement of glIsEnabled( GL_DEPTH_TEST ).

This function returns the state of the GL_DEPTH_TEST capability.

GLboolean GLIsEnabledDither ( ) [inline]

Replacement of glIsEnabled( GL_DITHER ).

This function returns the state of the GL_DITHER capability.

GLboolean GLIsEnabledFog ( ) [inline]

Replacement of glIsEnabled( GL_FOG ).

This function returns the state of the GL_FOG capability.

GLboolean GLIsEnabledIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [inline]

Replacement of glIsEnabledIndexed.

This functions asserts on the result before returning.

GLboolean GLIsEnabledLight ( GLenum light ) [inline]

Replacement of glIsEnabled( GL_LIGHTi ).

This function returns the state of the GL_LIGHTi capability.

GLboolean GLIsEnabledLighting ( ) [inline]

Replacement of glIsEnabled( GL_LIGHTING ).

This function returns the state of the GL_LIGHTING capability.

GLboolean GLIsEnabledLineSmooth ( ) [inline]

Replacement of glIsEnabled( GL_LINE_SMOOTH ).

This function returns the state of the GL_LINE_SMOOTH capability.

GLboolean GLIsEnabledLineStipple ( ) [inline]

Replacement of glIsEnabled( GL_LINE_STIPPLE ).

This function returns the state of the GL_LINE_STIPPLE capability.

GLboolean GLIsEnabledLogicOp ( ) [inline]

Replacement of glIsEnabled( GL_LOGIC_OP ).

This function returns the state of the GL_LOGIC_OP capability.

GLboolean GLIsEnabledNormalize ( ) [inline]

Replacement of glIsEnabled( GL_NORMALIZE ).

This function returns the state of the GL_NORMALIZE capability.

GLboolean GLIsEnabledRescaleNormal ( ) [inline]

Replacement of glIsEnabled( GL_RESCALE_NORMAL ).

This function returns the state of the GL_RESCALE_NORMAL capability.

GLboolean GLIsEnabledPointSmooth ( ) [inline]

Replacement of glIsEnabled( GL_POINT_SMOOTH ).

This function returns the state of the GL_POINT_SMOOTH capability.

GLboolean GLIsEnabledPolygonOffsetFill ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_FILL ).

This function returns the state of the GL_POLYGON_OFFSET_FILL capability.

GLboolean GLIsEnabledPolygonOffsetLine ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_LINE ).

This function returns the state of the GL_POLYGON_OFFSET_LINE capability.

GLboolean GLIsEnabledPolygonOffsetPoint ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_POINT ).

This function returns the state of the GL_POLYGON_OFFSET_POINT capability.

GLboolean GLIsEnabledPolygonSmooth ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_SMOOTH ).

This function returns the state of the GL_POLYGON_SMOOTH capability.

GLboolean GLIsEnabledPolygonStipple ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_STIPPLE ).

This function returns the state of the GL_POLYGON_STIPPLE capability.

GLboolean GLIsEnabledScissorTest ( ) [inline]

Replacement of glIsEnabled( GL_SCISSOR_TEST ).

This function returns the state of the GL_SCISSOR_TEST capability.

GLboolean GLIsEnabledStencilTest ( ) [inline]

Replacement of glIsEnabled( GL_STENCIL_TEST ).

This function returns the state of the GL_STENCIL_TEST capability.

GLboolean GLIsEnabledTexture ( GLenum target ) [inline]

Replacement of glIsEnabled( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ).

This function returns the state of the [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] capability.

GLboolean GLIsEnabledTextureGen ( GLenum target ) [inline]

Replacement of glIsEnabled( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function returns the state of the [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] capability.

GLint GLGetVersion ( ) [inline]

Returns the version of the OpenGL available on the target system.

Returns:
The floating point version of the OpenGL with the representation major.minor is returned as an integer calculated as 10*major+minor.

The OpenGL version 1.4, for example, will be reported as 14.

GLboolean GLIsExtensionAvailable ( const std::string & extension ) [inline]

Test if a given extension is available on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if all functions of extension are available, otherwise false

GLboolean GLIsExtensionExported ( const std::string & extension ) [inline]

Test if a given extension is exported on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if extension is exported, otherwise false

void GLDisableExtensionAvailability ( const std::string & extension ) [inline]

Allows manual disabling of extension available state.

This function is meant for debugging purposes and can have negative effects on stability. It should only be called after the GLContext has been initialized.

GLboolean GLIsFence ( GLuint fence ) [inline]

Replacement of glIsFenceNV.

This function asserts on the result before returning.

GLboolean GLIsList ( GLuint list ) [inline]

Replacement of glIsList.

This function tests if for the current context, list denotes a valid display list and asserts on the result before returning.

GLboolean GLIsProgram ( GLuint program ) [inline]

Replacement of glIsProgram.

This function tests if for the current context, id denotes a valid program and asserts on the result before returning.

GLboolean GLIsQuery ( GLuint id ) [inline]

Replacement of glIsQuery.

This function tests if for the current context, id denotes a valid query and asserts on the result before returning.

GLboolean GLIsShader ( GLuint shader ) [inline]

Replacement of glIsShader.

This function asserts on the result before returning.

GLboolean GLIsTexture ( GLuint texture ) [inline]

Replacement of glIsTexture.

This function tests if for the current context, texture denotes a valid texture and asserts on the result before returning.

void GLLightAmbient | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the light. It is faster to call this method instead of GLLightfv( light, GL_AMBIENT, param ) directly.

void GLResetLightAmbient ( GLenum light ) [inline]

Helper function to reset the ambient light color.

Parameters:
light The id of the light for which the ambient color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the ambient light to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLLightAmbient

void GLLightConstantAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_CONSTANT_ATTENUATION, param ).

This function caches the GL_CONSTANT_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_CONSTANT_ATTENUATION, param ) directly.

void GLResetLightConstantAttenuation ( GLenum light ) [inline]

Helper function to reset the constant attenuation of the light light.

Parameters:
light The id of the light for which the constant attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the constant attenuation of the light light to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLLightConstantAttenuation

void GLLightDiffuse | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the light. It is faster to call this method instead of GLLightfv( light, GL_DIFFUSE, param ) directly.

void GLResetLightDiffuse ( GLenum light ) [inline]

Helper function to reset the diffuse color of the light light.

Parameters:
light The id of the light for which the diffuse color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the diffuse lighting to it's previous state. Otherwise, it is set to (1,1,1,1) if light is GL_LIGHT0, or (0,0,0,1) otherwise.
See also:
GLLightDiffuse

void GLLightLinearAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_LINEAR_ATTENUATION, param ).

This function caches the GL_LINEAR_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_LINEAR_ATTENUATION, param ) directly.

void GLResetLightLinearAttenuation ( GLenum light ) [inline]

Helper function to reset the linear attenuation of the light light.

Parameters:
light The id of the light for which the linear attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the linear attenuation of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightLinearAttenuation

void GLLightPosition | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_POSITION, param ).

The light position is not cached, and it should not be. This function just exists for completeness.

void GLResetLightPosition ( GLenum light ) [inline]

Helper function to reset the position of the light light.

Parameters:
light The id of the light for which the position is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the position of the light light to it's previous state. Otherwise, it is set to (0,0,1,0).
See also:
GLLightPosition

void GLLightQuadraticAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ).

This function caches the GL_QUADRATIC_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ) directly.

void GLResetLightQuadraticAttenuation ( GLenum light ) [inline]

Helper function to reset the quadratic attenuation of the light light.

Parameters:
light The id of the light for which the quadratic attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the quadratic attenuation of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightQuadraticAttenuation

void GLLightSpecular | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the light. It is faster to call this method instead of GLLightfv( light, GL_SPECULAR, param ) directly.

void GLResetLightSpecular ( GLenum light ) [inline]

Helper function to reset the specular color of the light light.

Parameters:
light The id of the light for which the specular color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the specular color of the light light to it's previous state. Otherwise, it is set to (1,1,1,1) if light is GL_LIGHT0, or (0,0,0,1) otherwise.
See also:
GLLightSpecular

void GLLightSpotCutoff | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_SPOT_CUTOFF, param ).

This function caches the GL_SPOT_CUTOFF value on the light. It is faster to call this method instead of GLLightf( light, GL_SPOT_CUTOFF, param ) directly.

void GLResetLightSpotCutoff ( GLenum light ) [inline]

Helper function to reset the spot cutoff of the light light.

Parameters:
light The id of the light for which the spot cutoff is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot cutoff of the light light to it's previous state. Otherwise, it is set to 180.0f.
See also:
GLLightSpotCutoff

void GLLightSpotDirection | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_SPOT_DIRECTION, param ).

The light spot direction is not cached, and it should not be. This function just exists for completeness.

void GLResetLightSpotDirection ( GLenum light ) [inline]

Helper function to reset the spot cutoff of the light light.

Parameters:
light The id of the light for which the spot cutoff is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot cutoff of the light light to it's previous state. Otherwise, it is set to 180.0f.
See also:
GLLightSpotCutoff

void GLLightSpotExponent | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_SPOT_EXPONENT, param ).

This function caches the GL_SPOT_EXPONENT value on the light. It is faster to call this method instead of GLLightf( light, GL_SPOT_EXPONENT, param ) directly.

void GLResetLightSpotExponent ( GLenum light ) [inline]

Helper function to reset the spot exponent of the light light.

Parameters:
light The id of the light for which the spot exponent is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot exponent of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightSpotExponent

void GLLightf | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glLightf.

This function caches on some pname values and asserts on the result.

void GLLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glLightfv.

This function caches on some pname values and asserts on the result.

void GLLighti | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glLighti.

This function caches on some pname values and asserts on the result.

void GLintToGLfloat | ( | const GLint * | params,
 |  | GLfloat * | fParams
 | ) | [inline]

Convert GLInt to GLFloat.

void GLLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glLightiv.

This function caches on some pname values and asserts on the result.

void GLLightModelAmbient ( const GLfloat * params ) [inline]

Replacement of glLightModelfv( GL_LIGHT_MODEL_AMBIENT, params ).

This function caches the light model settings and asserts on the result before returning.

void GLResetLightModelAmbient ( ) [inline]

Helper function to reset the ambient light color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the ambient light color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLLightSpotExponent

void GLLightModelLocalViewer ( GLint param ) [inline]

Replacement of GLLightModelLocalViewer.

This function caches the light model settings and asserts on the result before returning.

void GLResetLightModelLocalViewer ( ) [inline]

Helper function to reset the local viewer setting.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the local viewer to it's previous state. Otherwise, it is set to GL_FALSE.
See also:
GLLightModelLocalViewer

void GLLightModelTwoSide ( GLint param ) [inline]

Replacement of GLLightModelTwoSide.

This function caches the light model settings and asserts on the result before returning.

void GLResetLightModelTwoSide ( ) [inline]

Helper function to reset the two sided lighting state.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the two sided lighting to it's previous state. Otherwise, it is set to GL_FALSE.
See also:
GLLightModelTwoSide

void GLLightModelTwoSideLock ( GLint param ) [inline]

Helper function to set two sided lighting and lock it.

Parameters:
param The value to set and lock two sided lighting to.
Remarks:
This function sets two sided lighting to param and locks it. Any subsequent calls to GLLightModelTwoSide or GLLightModel{if}(GL_LIGHT_MODEL_TWO_SIDE,) will not change that setting, until the next call to GLLightModelTwoSideUnlock.
See also:
GLLightModelTwoSide, GLLightModelTwoSideUnlock

void GLLightModelTwoSideUnlock ( GLint param ) [inline]

Helper function to unlock the two sided lighting and set it.

Parameters:
param The value to set the unlocked two sided lighting to.
Remarks:
This function unlocks two sided lighting and sets it to param.
See also:
GLLightModelTwoSide, GLLightModelTwoSideLock

void GLLightModelf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glLightModelf.

This function caches some of the light model settings and asserts on the result before returning.

void GLLightModelfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glLightModelfv.

This function caches some the light model settings and asserts on the result before returning.

void GLLightModeli | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glLightModeli.

This function caches some of the light model settings and asserts on the result before returning.

void GLLightModeliv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glLightModeliv.

This function caches some of the light model settings and asserts on the result before returning.

void GLLineStipple | ( | GLint | factor,
 |  | GLushort | pattern
 | ) | [inline]

Replacement of glLineStipple.

This function caches the line stipple settings and asserts on the result before returning.

void GLResetLineStippleDefinition ( ) [inline]

Helper function to reset line stipple repeat and pattern.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line stipple repeat and pattern to it's previous state. Otherwise, it is set to 1 and 0xFFFF, respectively.
See also:
GLLineStipple

void GLLineWidth ( GLfloat width ) [inline]

Replacement of glLineWidth.

This function caches the line width setting and asserts on the result before returning.

void GLResetLineWidth ( ) [inline]

Helper function to reset the line width.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line width to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLLineWidth

void GLLinkProgram ( GLuint program ) [inline]

Replacement of glLinkProgram.

This function asserts on the result before returning.

void GLListBase ( GLuint base ) [inline]

Replacement of glListBase.

This function asserts on the result before returning.

void GLLoadIdentity ( void ) [inline]

Replacement of glLoadItentity.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadMatrixd ( const GLdouble * m ) [inline]

Replacement of glLoadMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadMatrixf ( const GLfloat * m ) [inline]

Replacement of glLoadMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadTransposedMatrixd ( const GLdouble * m ) [inline]

Replacement of glLoadTransposeMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadTransposeMatrixf ( const GLfloat * m ) [inline]

Replacement of glLoadTransposMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadName ( GLuint name ) [inline]

Replacement of glLoadName.

This function asserts on the result before returning.

void GLLoadProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | program
 | ) | [inline]

Replacement of glLoadProgramNV.

This function hides the extension character of glLoadProgramNV and asserts on the result before returning.

void GLLockArrays | ( | GLint | first,
 |  | GLsizei | count
 | ) | [inline]

Replacement of glLockArrays.

This function asserts on the result before returning.

void GLLogicOp ( GLenum opcode ) [inline]

Replacement of glLogicOp.

This function asserts on the result before returning.

void GLMap1d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLdouble * | points
 | ) | [inline]

Replacement of glMap1d.

This function asserts on the result before returning.

void GLMap1f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLfloat * | points
 | ) | [inline]

Replacement of glMap1f.

This function asserts on the result before returning.

void GLMap2d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLdouble | v1,
 |  | GLdouble | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLdouble * | points
 | ) | [inline]

Replacement of glMap2d.

This function asserts on the result before returning.

void GLMap2f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLfloat * | points
 | ) | [inline]

Replacement of glMap2f.

This function asserts on the result before returning.

void GLMapGrid1d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2
 | ) | [inline]

Replacement of glMapGrid1d.

This function asserts on the result before returning.

void GLMapGrid1f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2
 | ) | [inline]

Replacement of glMapGrid1f.

This function asserts on the result before returning.

void GLMapGrid2d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | vn,
 |  | GLdouble | v1,
 |  | GLdouble | v2
 | ) | [inline]

Replacement of glMapGrid2d.

This function asserts on the result before returning.

void GLMapGrid2f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | vn,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [inline]

Replacement of glMapGrid2f.

This function asserts on the result before returning.

void GLMaterialShininessBack ( GLfloat param ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_SHININESS, param ).

This function caches the GL_SHININESS value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_SHININESS, param ) directly.

void GLResetMaterialShininessBack ( ) [inline]

Helper function to reset the material back face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessBack

void GLMaterialShininessFront ( GLfloat param ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_SHININESS, param ).

This function caches the GL_SHININESS value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_SHININESS, param ) directly.

void GLResetMaterialShininessFront ( ) [inline]

Helper function to reset the material front face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessFront

void GLMaterialShininessFrontAndBack ( GLfloat param ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ).

This function caches the GL_SHININESS value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ) directly.

void GLResetMaterialShininessFrontAndBack ( ) [inline]

Helper function to reset the material back and front face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessFrontAndBack

void GLMaterialShininess | ( | GLenum | face,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLMaterialf( face, GL_SHININESS, param ).

This function caches the GL_SHININESS value of the material. It is faster to call this method instead of GLMaterialf(face,GL_SHININESS,param) directly.

void GLMaterialAmbientBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_AMBIENT, param ) directly.

void GLResetMaterialAmbientBack ( ) [inline]

Helper function to reset the material back face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientBack

void GLMaterialAmbientFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_AMBIENT, param ) directly.

void GLResetMaterialAmbientFront ( ) [inline]

Helper function to reset the material front face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientFront

void GLMaterialAmbientFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ) directly.

void GLResetMaterialAmbientFrontAndBack ( ) [inline]

Helper function to reset the material back and front face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientFrontAndBack

void GLMaterialAmbient | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_AMBIENT, params ).

This function caches the GL_AMBIENT value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_AMBIENT,params) directly.

void GLMaterialDiffuseBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_DIFFUSE, param ) directly.

void GLResetMaterialDiffuseBack ( ) [inline]

Helper function to reset the material back face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseBack

void GLMaterialDiffuseFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ) directly.

void GLResetMaterialDiffuseFront ( ) [inline]

Helper function to reset the material front face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseFront

void GLMaterialDiffuseFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ) directly.

void GLResetMaterialDiffuseFrontAndBack ( ) [inline]

Helper function to reset the material back and front face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseFrontAndBack

void GLMaterialDiffuse | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_DIFFUSE, params ).

This function caches the GL_DIFFUSE value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_DIFFUSE,params) directly.

void GLMaterialEmissionBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_EMISSION, param ).

This function caches the GL_EMISSION value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_EMISSION, param ) directly.

void GLResetMaterialEmissionBack ( ) [inline]

Helper function to reset the material back face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionBack

void GLMaterialEmissionFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_EMISSION, param ).

This function caches the GL_EMISSION value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_EMISSION, param ) directly.

void GLResetMaterialEmissionFront ( ) [inline]

Helper function to reset the material front face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionFront

void GLMaterialEmissionFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ).

This function caches the GL_EMISSION value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ) directly.

void GLResetMaterialEmissionFrontAndBack ( ) [inline]

Helper function to reset the material back and front face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionFrontAndBack

void GLMaterialEmission | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_EMISSION, params ).

This function caches the GL_EMISSION value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_EMISSION,params) directly.

void GLMaterialSpecularBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_SPECULAR, param ) directly.

void GLResetMaterialSpecularBack ( ) [inline]

Helper function to reset the material back face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularBack

void GLMaterialSpecularFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_SPECULAR, param ) directly.

void GLResetMaterialSpecularFront ( ) [inline]

Helper function to reset the material front face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularFront

void GLMaterialSpecularFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ) directly.

void GLResetMaterialSpecularFrontAndBack ( ) [inline]

Helper function to reset the material back and front face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularFrontAndBack

void GLMaterialSpecular | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_SPECULAR, params ).

This function caches the GL_SPECULAR value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_SPECULAR,params) directly.

void GLMaterialf | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glMaterialf.

This function caches on some face and pname values and asserts on the result before returning.

void GLMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glMaterialfv.

This function caches on some face and pname values and asserts on the result before returning.

void GLMateriali | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glMateriali.

This function caches on some face and pname values and asserts on the result before returning.

void GLMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glMaterialiv.

This function caches on some face and pname values and asserts on the result before returning.

void GLMatrixMode ( GLenum mode ) [inline]

Replacement of glMatrixMode.

This function caches the matrix mode setting and asserts on the result before returning.

void GLMinmax | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLboolean | sink
 | ) | [inline]

Replacement of glMinmax.

This function asserts on the result before returning.

void GLMultiTexCoord1d | ( | GLenum | target,
 |  | GLdouble | s
 | ) | [inline]

Replacement of glMultiTexCoord1d.

This function asserts on the result before returning.

void GLMultiTexCoord1dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord1dv.

This function asserts on the result before returning.

void GLMultiTexCoord1f | ( | GLenum | target,
 |  | GLfloat | s
 | ) | [inline]

Replacement of glMultiTexCoord1f.

This function asserts on the result before returning.

void GLMultiTexCoord1fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord1fv.

This function asserts on the result before returning.

void GLMultiTexCoord1h | ( | GLenum | target,
 |  | GLhalf | s
 | ) | [inline]

Replacement of glMultiTexCoord1hNV.

This function asserts on the result before returning.

void GLMultiTexCoord1hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord1hv.

This function asserts on the result before returning.

void GLMultiTexCoord1i | ( | GLenum | target,
 |  | GLint | s
 | ) | [inline]

Replacement of glMultiTexCoord1i.

This function asserts on the result before returning.

void GLMultiTexCoord1iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord1iv.

This function asserts on the result before returning.

void GLMultiTexCoord1s | ( | GLenum | target,
 |  | GLshort | s
 | ) | [inline]

Replacement of glMultiTexCoord1s.

This function asserts on the result before returning.

void GLMultiTexCoord1sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord1sv.

This function asserts on the result before returning.

void GLMultiTexCoord2d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t
 | ) | [inline]

Replacement of glMultiTexCoord2d.

This function asserts on the result before returning.

void GLMultiTexCoord2dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord2dv.

This function asserts on the result before returning.

void GLMultiTexCoord2f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t
 | ) | [inline]

Replacement of glMultiTexCoord2f.

This function asserts on the result before returning.

void GLMultiTexCoord2fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord2fv.

This function asserts on the result before returning.

void GLMultiTexCoord2h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t
 | ) | [inline]

Replacement of glMultiTexCoord2hNV.

This function asserts on the result before returning.

void GLMultiTexCoord2hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord2hv.

This function asserts on the result before returning.

void GLMultiTexCoord2i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t
 | ) | [inline]

Replacement of glMultiTexCoord2i.

This function asserts on the result before returning.

void GLMultiTexCoord2iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord2iv.

This function asserts on the result before returning.

void GLMultiTexCoord2s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t
 | ) | [inline]

Replacement of glMultiTexCoord2s.

This function asserts on the result before returning.

void GLMultiTexCoord2sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord2sv.

This function asserts on the result before returning.

void GLMultiTexCoord3d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [inline]

Replacement of glMultiTexCoord3d.

This function asserts on the result before returning.

void GLMultiTexCoord3dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord3dv.

This function asserts on the result before returning.

void GLMultiTexCoord3f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [inline]

Replacement of glMultiTexCoord3f.

This function asserts on the result before returning.

void GLMultiTexCoord3fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord3fv.

This function asserts on the result before returning.

void GLMultiTexCoord3h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r
 | ) | [inline]

Replacement of glMultiTexCoord3hNV.

This function asserts on the result before returning.

void GLMultiTexCoord3hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord3hv.

This function asserts on the result before returning.

void GLMultiTexCoord3i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [inline]

Replacement of glMultiTexCoord3i.

This function asserts on the result before returning.

void GLMultiTexCoord3iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord3iv.

This function asserts on the result before returning.

void GLMultiTexCoord3s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [inline]

Replacement of glMultiTexCoord3s.

This function asserts on the result before returning.

void GLMultiTexCoord3sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord3sv.

This function asserts on the result before returning.

void GLMultiTexCoord4d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [inline]

Replacement of glMultiTexCoord4d.

This function asserts on the result before returning.

void GLMultiTexCoord4dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord4dv.

This function asserts on the result before returning.

void GLMultiTexCoord4f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [inline]

Replacement of glMultiTexCoord4f.

This function asserts on the result before returning.

void GLMultiTexCoord4fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord4fv.

This function asserts on the result before returning.

void GLMultiTexCoord4h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r,
 |  | GLhalf | q
 | ) | [inline]

Replacement of glMultiTexCoord4hNV.

This function asserts on the result before returning.

void GLMultiTexCoord4hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord4hv.

This function asserts on the result before returning.

void GLMultiTexCoord4i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [inline]

Replacement of glMultiTexCoord4i.

This function asserts on the result before returning.

void GLMultiTexCoord4iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord4iv.

This function asserts on the result before returning.

void GLMultiTexCoord4s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [inline]

Replacement of glMultiTexCoord4s.

This function asserts on the result before returning.

void GLMultiTexCoord4sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord4sv.

This function asserts on the result before returning.

void GLMultMatrixd ( const GLdouble * m ) [inline]

Replacement of glMultMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLMultMatrixf ( const GLfloat * m ) [inline]

Replacement of glMultMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLMultTransposeMatrixd ( const GLdouble * m ) [inline]

Replacement of glMultTransposeMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLMultTransposeMatrixf ( const GLfloat * m ) [inline]

Replacement of glMultTransposeMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLNewList | ( | GLuint | list,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glNewList.

This function asserts on the result before returning.

void GLNormal3b | ( | GLbyte | nx,
 |  | GLbyte | ny,
 |  | GLbyte | nz
 | ) | [inline]

Replacement of glNormal3b.

This function asserts on the result before returning.

void GLNormal3bv ( const GLbyte * v ) [inline]

Replacement of glNormal3bv.

This function asserts on the result before returning.

void GLNormal3d | ( | GLdouble | nx,
 |  | GLdouble | ny,
 |  | GLdouble | nz
 | ) | [inline]

Replacement of glNormal3d.

This function asserts on the result before returning.

void GLNormal3dv ( const GLdouble * v ) [inline]

Replacement of glNormal3dv.

This function asserts on the result before returning.

void GLNormal3f | ( | GLfloat | nx,
 |  | GLfloat | ny,
 |  | GLfloat | nz
 | ) | [inline]

Replacement of glNormal3f.

This function asserts on the result before returning.

void GLNormal3fv ( const GLfloat * v ) [inline]

Replacement of glNormal3fv.

This function asserts on the result before returning.

void GLNormal3h | ( | GLhalf | nx,
 |  | GLhalf | ny,
 |  | GLhalf | nz
 | ) | [inline]

Replacement of glNormal3hNV.

This function asserts on the result before returning.

void GLNormal3hv ( const GLhalf * v ) [inline]

Replacement of glNormal3hv.

This function asserts on the result before returning.

void GLNormal3i | ( | GLint | nx,
 |  | GLint | ny,
 |  | GLint | nz
 | ) | [inline]

! Replacement of glNormal3i

This function asserts on the result before returning.

void GLNormal3iv ( const GLint * v ) [inline]

Replacement of glNormal3iv.

This function asserts on the result before returning.

void GLNormal3s | ( | GLshort | nx,
 |  | GLshort | ny,
 |  | GLshort | nz
 | ) | [inline]

Replacement of glNormal3s.

This function asserts on the result before returning.

void GLNormal3sv ( const GLshort * v ) [inline]

Replacement of glNormal3sv.

This function asserts on the result before returning.

void GLNormalPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glNormalPointer.

This function caches the normal pointer and asserts on the result before returning.

void GLOrtho | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glOrtho.

This function asserts on the result before returning.

void GLPassThrough ( GLfloat token ) [inline]

Replacement of glPassThrough.

This function asserts on the result before returning.

void GLPixelDataRange | ( | GLenum | target,
 |  | GLsizei | size,
 |  | GLvoid * | pointer
 | ) | [inline]

Replacement of glPixelDataRangeNV.

This function asserts on the result before returning.

void GLPixelMapfv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLfloat * | values
 | ) | [inline]

Replacement of glPixelMapfv.

This function asserts on the result before returning.

void GLPixelMapuiv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLuint * | values
 | ) | [inline]

Replacement of glPixelMapuiv.

This function asserts on the result before returning.

void GLPixelMapusv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLushort * | values
 | ) | [inline]

Replacement of glPixelMapusv.

This function asserts on the result before returning.

void GLPixelStoref | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPixelStoref.

This function asserts on the result before returning.

void GLPixelStorei | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPixelStorei.

This function asserts on the result before returning.

void GLPixelTransferf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPixelTransferf.

This function asserts on the result before returning.

void GLPixelTransferi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPixelTransferi.

This function asserts on the result before returning.

void GLPixelZoom | ( | GLfloat | xfactor,
 |  | GLfloat | yfactor
 | ) | [inline]

Replacement of glPixelZoom.

This function asserts on the result before returning.

void GLPointParameterf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPointParameterf.

This function asserts on the result before returning.

void GLPointParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glPointParameterfv.

This function asserts on the result before returning.

void GLPointParameteri | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPointParameteri.

This function asserts on the result before returning.

void GLPointParameteriv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glPointParameteriv.

This function asserts on the result before returning.

void GLPointSize ( GLfloat size ) [inline]

Replacement of glPointSize.

This function caches the point size setting and asserts on the result before returning.

void GLResetPointSize ( ) [inline]

Helper function to reset the point size.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the point size to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLPointSize

void GLPolygonModeBack ( GLenum mode ) [inline]

Cached version of GLPolygonMode( GL_BACK, mode ).

This function caches the polygon mode on the GL_BACK face of polygon. It is faster to call this method instead of GLPolygonMode( GL_BACK, mode ) directly.

void GLResetPolygonModeBack ( ) [inline]

Helper function to reset back face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the back face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeBack

void GLPolygonModeFront ( GLenum mode ) [inline]

Cached version of GLPolygonMode( GL_FRONT, mode ).

This function caches the polygon mode on the GL_FRONT face of polygon. It is faster to call this method instead of GLPolygonMode( GL_FRONT, mode ) directly.

void GLResetPolygonModeFront ( ) [inline]

Helper function to reset front face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the front face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeFront

void GLPolygonModeFrontAndBack ( GLenum mode ) [inline]

Cached version of GLPolygonMode( GL_FRONT_AND_BACK, mode ).

This function caches the polygon mode on both the GL_FRONT and GL_BACK face of polygon. It is faster to call this method instead of GLPolygonMode( GL_FRONT_AND_BACK, mode ) directly.

void GLResetPolygonModeFrontAndBack ( ) [inline]

Helper function to reset back and front face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the back and front face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeFrontAndBack, GLPolygonModeFront, GLPolygonMode Back

void GLPolygonMode | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Cached version of GLPolygonMode( face, mode ).

This function caches the polygon mode and assert on the result.

void GLPolygonModeLock | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Helper function to set the polygon mode and lock it.

Parameters:
face | The face for which the polygon mode is to set and lock.
mode | The polygon mode to set and lock.
Remarks:
This function sets the polygon mode for face to mode and locks it. Any subsequent calls to GLPolygonMode, GLPolygonModeBack, or GLPolygonModeFront on the same face will not change that setting, until the next call to GLPolygonModeUnlock.
See also:
GLPolygonMode, GLPolygonModeUnlock

void GLPolygonModeUnlock | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Helper function to unlock the polygon mode and set it.

Parameters:
face | The face for which the polygon mode is to be unlocked and set.
mode | The polygon mode to set.
Remarks:
This function unlocks the polygon mode for face and sets it to mode.
See also:
GLPolygonMode, GLPolygonModeLock

void GLPolygonOffset | ( | GLfloat | factor,
 |  | GLfloat | units
 | ) | [inline]

Replacement of glPolygonOffset.

This function caches the polygon offset settings and asserts on the result before returning.

void GLResetPolygonOffset ( ) [inline]

Helper function to reset the polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset to it's previous state. Otherwise, it is set to (0,0).
See also:
GLPolygonOffset

void GLPolygonStipple ( const GLubyte * mask ) [inline]

Replacement of glPolygonStipple.

This function asserts on the result before returning.

void GLPopAttrib ( void ) [inline]

Replacement of glPopAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushAttrib/GLPopAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPopClientAttrib ( void ) [inline]

Replacement of glPopClientAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushClientAttrib/GLPopClientAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPopMatrix ( void ) [inline]

Replacement of glPopMatrix.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLPopName ( void ) [inline]

Replacement of glPopName.

This function asserts on the result before returning.

void GLPrimitiveRestart ( ) [inline]

Replacement of glPrimitiveRestart.

This function asserts on the result before returning.

void GLPrimitiveRestartIndex ( GLuint index ) [inline]

Replacement of glPrimitiveRestartIndex.

This function caches the primitive restart index and asserts on the result before returning.

void GLPrioritizeTextures | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | const GLclampf * | priorities
 | ) | [inline]

Replacement of glPrioritizeTextures.

This function asserts on the result before returning.

void GLProgramBufferParametersfv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramBufferParametersfvNV.

This function asserts on the result before returning.

void GLProgramBufferParametersIiv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramBufferParametersIivNV.

This function asserts on the result before returning.

void GLProgramBufferParametersIuiv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramBufferParametersIuivNV.

This function asserts on the result before returning.

void GLProgramEnvParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramEnvParameter4dARB.

This function asserts on the result before returning.

void GLProgramEnvParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | params
 | ) | [inline]

Replacement of glProgramEnvParameter4dvARB.

This function asserts on the result before returning.

void GLProgramEnvParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramEnvParameter4fARB.

This function asserts on the result before returning.

void GLProgramEnvParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramEnvParameter4fvARB.

This function asserts on the result before returning.

void GLProgramEnvParametersI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramEnvParametersI4ivNV.

This function asserts on the result before returning.

void GLProgramEnvParametersI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramEnvParametersI4uivNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4i | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glProgramEnvParameterI4iNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramEnvParameterI4ivNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4ui | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [inline]

Replacement of glProgramEnvParameterI4uiNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramEnvParameterI4uivNV.

This function asserts on the result before returning.

void GLProgramEnvParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramEnvParameters4fvEXT.

This function asserts on the result before returning.

void GLProgramLocalParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramLocalParameter4dARB.

This function asserts on the result before returning.

void GLProgramLocalParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | params
 | ) | [inline]

Replacement of glProgramLocalParameter4dvARB.

This function asserts on the result before returning.

void GLProgramLocalParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramLocalParameter4fARB.

This function asserts on the result before returning.

void GLProgramLocalParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramLocalParameter4fvARB.

This function asserts on the result before returning.

void GLProgramLocalParametersI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramLocalParametersI4ivNV.

This function asserts on the result before returning.

void GLProgramLocalParametersI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramLocalParametersI4uivNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4i | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glProgramLocalParameterI4iNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramLocalParameterI4ivNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4ui | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [inline]

Replacement of glProgramLocalParameterI4uiNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramLocalParameterI4uivNV.

This function asserts on the result before returning.

void GLProgramLocalParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramLocalParameters4fvEXT.

This function asserts on the result before returning.

void GLProgramNamedParameter4d | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramNamedParameter4dNV.

This function asserts on the result before returning.

void GLProgramNamedParameter4dv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glProgramNamedParameter4dvNV.

This function asserts on the result before returning.

void GLProgramNamedParameter4f | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramNamedParameter4fNV.

This function asserts on the result before returning.

void GLProgramNamedParameter4fv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glProgramNamedParameter4fvNV.

This function asserts on the result before returning.

void GLProgramParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramParameter4dNV.

This function asserts on the result before returning.

void GLProgramParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glProgramParameter4dvNV.

This function asserts on the result before returning.

void GLProgramParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramParameter4fNV.

This function asserts on the result before returning.

void GLProgramParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glProgramParameter4fvNV.

This function asserts on the result before returning.

void GLProgramParameteri | ( | GLuint | program,
 |  | GLenum | pname,
 |  | GLint | value
 | ) | [inline]

Replacement of glProgramParameteriEXT.

This function asserts on the result before returning.

void GLProgramParameters4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glProgramParameters4dvNV.

This function asserts on the result before returning.

void GLProgramParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glProgramParameters4fvNV.

This function asserts on the result before returning.

void GLProgramString | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLsizei | len,
 |  | const GLvoid * | string
 | ) | [inline]

Replacement of glProgramStringARB.

This function asserts on the result before returning.

void GLProgramVertexLimit | ( | GLenum | target,
 |  | GLint | limit
 | ) | [inline]

Replacement of glProgramVertexLimitNV.

This function asserts on the result before returning.

void GLPushAttrib ( GLbitfield mask ) [inline]

Replacement of glPushAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushAttrib/GLPopAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPushClientAttrib ( GLbitfield mask ) [inline]

Replacement of glPushClientAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushClientAttrib/GLPopClientAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPushMatrix ( void ) [inline]

Replacement of glPushMatrix.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLPushName ( GLuint name ) [inline]

Replacement of glPushName.

This function asserts on the result before returning.

void GLRasterPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glRasterPos2d.

This function asserts on the result before returning.

void GLRasterPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glRasterPos2f.

This function asserts on the result before returning.

void GLRasterPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glRasterPos2i.

This function asserts on the result before returning.

void GLRasterPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glRasterPos2s.

This function asserts on the result before returning.

void GLRasterPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glRasterPos3d.

This function asserts on the result before returning.

void GLRasterPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glRasterPos3f.

This function asserts on the result before returning.

void GLRasterPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glRasterPos3i.

This function asserts on the result before returning.

void GLRasterPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glRasterPos3s.

This function asserts on the result before returning.

void GLRasterPos4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glRasterPos4d.

This function asserts on the result before returning.

void GLRasterPos4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glRasterPos4f.

This function asserts on the result before returning.

void GLRasterPos4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glRasterPos4i.

This function asserts on the result before returning.

void GLRasterPos4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glRasterPos4s.

This function asserts on the result before returning.

void GLRasterPos2dv ( const GLdouble * v ) [inline]

Replacement of glRasterPos2dv.

This function asserts on the result before returning.

void GLRasterPos2fv ( const GLfloat * v ) [inline]

Replacement of glRasterPos2fv.

This function asserts on the result before returning.

void GLRasterPos2iv ( const GLint * v ) [inline]

Replacement of glRasterPos2iv.

This function asserts on the result before returning.

void GLRasterPos2sv ( const GLshort * v ) [inline]

Replacement of glRasterPos2sv.

This function asserts on the result before returning.

void GLRasterPos3dv ( const GLdouble * v ) [inline]

Replacement of glRasterPos3dv.

This function asserts on the result before returning.

void GLRasterPos3fv ( const GLfloat * v ) [inline]

Replacement of glRasterPos3fv.

This function asserts on the result before returning.

void GLRasterPos3iv ( const GLint * v ) [inline]

Replacement of glRasterPos3iv.

This function asserts on the result before returning.

void GLRasterPos3sv ( const GLshort * v ) [inline]

Replacement of glRasterPos3sv.

This function asserts on the result before returning.

void GLRasterPos4dv ( const GLdouble * v ) [inline]

Replacement of glRasterPos4dv.

This function asserts on the result before returning.

void GLRasterPos4fv ( const GLfloat * v ) [inline]

Replacement of glRasterPos4fv.

This function asserts on the result before returning.

void GLRasterPos4iv ( const GLint * v ) [inline]

Replacement of glRasterPos4iv.

This function asserts on the result before returning.

void GLRasterPos4sv ( const GLshort * v ) [inline]

Replacement of glRasterPos4sv.

This function asserts on the result before returning.

void GLReadBuffer ( GLenum mode ) [inline]

Replacement of glReadBuffer.

This function asserts on the result before returning.

void GLReadPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [inline]

Replacement of glReadPixels.

This function asserts on the result before returning.

void GLRectd | ( | GLdouble | x1,
 |  | GLdouble | y1,
 |  | GLdouble | x2,
 |  | GLdouble | y2
 | ) | [inline]

Replacement of glRectd.

This function asserts on the result before returning.

void GLRectf | ( | GLfloat | x1,
 |  | GLfloat | y1,
 |  | GLfloat | x2,
 |  | GLfloat | y2
 | ) | [inline]

Replacement of glRectf.

This function asserts on the result before returning.

void GLRecti | ( | GLint | x1,
 |  | GLint | y1,
 |  | GLint | x2,
 |  | GLint | y2
 | ) | [inline]

Replacement of glRecti.

This function asserts on the result before returning.

void GLRects | ( | GLshort | x1,
 |  | GLshort | y1,
 |  | GLshort | x2,
 |  | GLshort | y2
 | ) | [inline]

Replacement of glRects.

This function asserts on the result before returning.

void GLRenderMode ( GLenum mode ) [inline]

Replacement of glRenderMode.

This function asserts on the result before returning.

void GLRequestResidentPrograms | ( | GLsizei | n,
 |  | const GLuint * | programs
 | ) | [inline]

Replacement of glRequestResidentProgramsNV.

This function asserts on the result before returning.

void GLResetHistogram ( GLenum target ) [inline]

Replacement of glResetHistogram.

This function asserts on the result before returning.

void GLResetMinmax ( GLenum target ) [inline]

Replacement of glResetMinmax.

This function asserts on the result before returning.

void GLRotated | ( | GLdouble | angle,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glRotated.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLRotatef | ( | GLfloat | angle,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glRotatef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLScaled | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glScaled.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLScalef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glScalef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLSampleCoverage | ( | GLclampf | value,
 |  | GLboolean | invert
 | ) | [inline]

Replacement of glSampleCoverage.

This function asserts on the result before returning.

void GLScissor | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glScissor.

This function caches the scissor settings and asserts on the result before returning.

void GLResetScissor ( ) [inline]

Helper function to reset the scissor rectangle.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the scissor rectangle to it's previous state. Otherwise, it does nothing.
See also:
GLScissor

void GLSecondaryColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [inline]

Replacement of glSecondaryColor3b.

This function asserts on the result before returning.

void GLSecondaryColor3bv ( const GLbyte * v ) [inline]

Replacement of glSecondaryColor3bv.

This function asserts on the result before returning.

void GLSecondaryColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [inline]

Replacement of glSecondaryColor3d.

This function asserts on the result before returning.

void GLSecondaryColor3dv ( const GLdouble * v ) [inline]

Replacement of glSecondaryColor3dv.

This function asserts on the result before returning.

void GLSecondaryColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [inline]

Replacement of glSecondaryColor3f.

This function asserts on the result before returning.

void GLSecondaryColor3fv ( const GLfloat * v ) [inline]

Replacement of glSecondaryColor3fv.

This function asserts on the result before returning.

void GLSecondaryColor3h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue
 | ) | [inline]

Replacement of glSecondaryColor3h.

This function asserts on the result before returning.

void GLSecondaryColor3hv ( const GLhalf * v ) [inline]

Replacement of glSecondaryColor3hv.

This function asserts on the result before returning.

void GLSecondaryColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [inline]

Replacement of glSecondaryColor3i.

This function asserts on the result before returning.

void GLSecondaryColor3iv ( const GLint * v ) [inline]

Replacement of glSecondaryColor3iv.

This function asserts on the result before returning.

void GLSecondaryColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [inline]

Replacement of glSecondaryColor3s.

This function asserts on the result before returning.

void GLSecondaryColor3sv ( const GLshort * v ) [inline]

Replacement of glSecondaryColor3sv.

This function asserts on the result before returning.

void GLSecondaryColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [inline]

Replacement of glSecondaryColor3ub.

This function asserts on the result before returning.

void GLSecondaryColor3ubv ( const GLubyte * v ) [inline]

Replacement of glSecondaryColor3ubv.

This function asserts on the result before returning.

void GLSecondaryColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [inline]

Replacement of glSecondaryColor3ui.

This function asserts on the result before returning.

void GLSecondaryColor3uiv ( const GLuint * v ) [inline]

Replacement of glSecondaryColor3uiv.

This function asserts on the result before returning.

void GLSecondaryColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [inline]

Replacement of glSecondaryColor3us.

This function asserts on the result before returning.

void GLSecondaryColor3usv ( const GLushort * v ) [inline]

Replacement of glSecondaryColor3usv.

This function asserts on the result before returning.

void GLSecondaryColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glSecondaryColorPointer.

This function caches the secondary color pointer setting and asserts on the result before returning.

void GLSelectBuffer | ( | GLsizei | size,
 |  | GLuint * | buffer
 | ) | [inline]

Replacement of glSelectBuffer.

This function asserts on the result before returning.

void GLSelectTexture ( GLenum target ) [inline]

Replacement of glSelectTexture.

This function simply maps to GLActiveTexture.

void GLSelectTextureCoordSet ( GLenum target ) [inline]

Replacement of GLSelectTextureCoordSet.

This function simply maps to GLClientActiveTexture.

void GLSeparableFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | row,
 |  | const GLvoid * | column
 | ) | [inline]

Replacement of glSeparableFilter2D.

This function asserts on the result before returning.

void GLSetFence | ( | GLuint | fence,
 |  | GLenum | condition
 | ) | [inline]

Replacement of glSetFenceNV.

void GLShadeModel ( GLenum mode ) [inline]

Replacement of glShadeModel.

This function caches the shade model setting and asserts on the result before returning.

void GLResetShadeModel ( ) [inline]

Helper function to reset the shade model.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the shade model to it's previous state. Otherwise, it is set to GL_SMOOTH.
See also:
GLShadeModel

void GLShaderSource | ( | GLuint | shader,
 |  | GLsizei | count,
 |  | const GLcharARB ** | string,
 |  | const GLint * | length
 | ) | [inline]

Replacement of glShaderSource.

void GLStencilClearTag | ( | GLsizei | tagBits,
 |  | GLuint | clearTag
 | ) | [inline]

Replacement of glStencilClearTag.

void GLStencilFunc | ( | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilFunc.

This function caches the stencil function setting and asserts on the result before returning.

void GLStencilFuncSeparate | ( | GLenum | face,
 |  | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilFuncSeparate.

void GLStencilOpSeparate | ( | GLenum | face,
 |  | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [inline]

Replacement of glStencilOpSeparate.

void GLStencilMaskSeparate | ( | GLenum | face,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilMaskSeparate.

void GLResetStencilFunc ( ) [inline]

Helper function to reset the stencil function values.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil function values to it's previous state. Otherwise, it sets the function, reference value, and mask to GL_ALWAYS, 0, and ~0, respectively.
See also:
GLStencilFunc

void GLStencilMask ( GLuint mask ) [inline]

Replacement of glStencilMask.

This function caches the stencil mask setting and asserts on the result before returning.

void GLResetStencilMask ( ) [inline]

Helper function to reset the stencil mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil mask to it's previous state. Otherwise, it is set to ~0.
See also:
GLStencilMask

void GLStencilOp | ( | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [inline]

Replacement of glStencilOp.

This function caches the stencil operation setting and asserts on the result before returning.

void GLResetStencilOp ( ) [inline]

Helper function to reset the stencil operation values.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil operation values to it's previous state. Otherwise, it sets each value (fail, zfail, zpass) to GL_KEEP.
See also:
GLStencilMask

void GLStringMarker | ( | GLsizei | len,
 |  | const GLvoid * | string
 | ) | [inline]

Replacement of glStringMarkerGREMEDY.

This function simply does nothing if the extension is not available

void GLFrameTerminator ( void ) [inline]

Replacement of glFrameTerminatorGREMEDY.

This function simply does nothing if the extension is not available

GLboolean GLTestFence ( GLuint fence ) [inline]

Replacement of glTestFenceNV.

This function asserts on the result before returning.

void GLTexBuffer | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glTexBufferEXT.

This function asserts on the result before returning.

void GLTexCoord1d ( GLdouble s ) [inline]

Replacement of glTexCoord1d.

This function asserts on the result before returning.

void GLTexCoord1dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord1dv.

This function asserts on the result before returning.

void GLTexCoord1f ( GLfloat s ) [inline]

Replacement of glTexCoord1f.

This function asserts on the result before returning.

void GLTexCoord1fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord1fv.

This function asserts on the result before returning.

void GLTexCoord1h ( GLhalf s ) [inline]

Replacement of glTexCoord1hNV.

This function asserts on the result before returning.

void GLTexCoord1hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord1hv.

This function asserts on the result before returning.

void GLTexCoord1i ( GLint s ) [inline]

Replacement of glTexCoord1i.

This function asserts on the result before returning.

void GLTexCoord1iv ( const GLint * v ) [inline]

Replacement of glTexCoord1iv.

This function asserts on the result before returning.

void GLTexCoord1s ( GLshort s ) [inline]

Replacement of glTexCoord1s.

This function asserts on the result before returning.

void GLTexCoord1sv ( const GLshort * v ) [inline]

Replacement of glTexCoord1sv.

This function asserts on the result before returning.

void GLTexCoord2d | ( | GLdouble | s,
 |  | GLdouble | t
 | ) | [inline]

Replacement of glTexCoord2d.

This function asserts on the result before returning.

void GLTexCoord2dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord2dv.

This function asserts on the result before returning.

void GLTexCoord2f | ( | GLfloat | s,
 |  | GLfloat | t
 | ) | [inline]

Replacement of glTexCoord2f.

This function asserts on the result before returning.

void GLTexCoord2fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord2fv.

This function asserts on the result before returning.

void GLTexCoord2h | ( | GLhalf | s,
 |  | GLhalf | t
 | ) | [inline]

Replacement of glTexCoord2hNV.

This function asserts on the result before returning.

void GLTexCoord2hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord2hv.

This function asserts on the result before returning.

void GLTexCoord2i | ( | GLint | s,
 |  | GLint | t
 | ) | [inline]

Replacement of glTexCoord2i.

This function asserts on the result before returning.

void GLTexCoord2iv ( const GLint * v ) [inline]

Replacement of glTexCoord2iv.

This function asserts on the result before returning.

void GLTexCoord2s | ( | GLshort | s,
 |  | GLshort | t
 | ) | [inline]

Replacement of glTexCoord2s.

This function asserts on the result before returning.

void GLTexCoord2sv ( const GLshort * v ) [inline]

Replacement of glTexCoord2sv.

This function asserts on the result before returning.

void GLTexCoord3d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [inline]

Replacement of glTexCoord3d.

This function asserts on the result before returning.

void GLTexCoord3dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord3dv.

This function asserts on the result before returning.

void GLTexCoord3f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [inline]

Replacement of glTexCoord3f.

This function asserts on the result before returning.

void GLTexCoord3fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord3fv.

This function asserts on the result before returning.

void GLTexCoord3h | ( | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r
 | ) | [inline]

Replacement of glTexCoord3hNV.

This function asserts on the result before returning.

void GLTexCoord3hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord3hv.

This function asserts on the result before returning.

void GLTexCoord3i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [inline]

Replacement of glTexCoord3i.

This function asserts on the result before returning.

void GLTexCoord3iv ( const GLint * v ) [inline]

Replacement of glTexCoord3iv.

This function asserts on the result before returning.

void GLTexCoord3s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [inline]

Replacement of glTexCoord3s.

This function asserts on the result before returning.

void GLTexCoord3sv ( const GLshort * v ) [inline]

Replacement of glTexCoord3sv.

This function asserts on the result before returning.

void GLTexCoord4d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [inline]

Replacement of glTexCoord4d.

This function asserts on the result before returning.

void GLTexCoord4dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord4dv.

This function asserts on the result before returning.

void GLTexCoord4f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [inline]

Replacement of glTexCoord4f.

This function asserts on the result before returning.

void GLTexCoord4fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord4fv.

This function asserts on the result before returning.

void GLTexCoord4h | ( | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r,
 |  | GLhalf | q
 | ) | [inline]

Replacement of glTexCoord4hNV.

This function asserts on the result before returning.

void GLTexCoord4hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord4hv.

This function asserts on the result before returning.

void GLTexCoord4i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [inline]

Replacement of glTexCoord4i.

This function asserts on the result before returning.

void GLTexCoord4iv ( const GLint * v ) [inline]

Replacement of glTexCoord4iv.

This function asserts on the result before returning.

void GLTexCoord4s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [inline]

Replacement of glTexCoord4s.

This function asserts on the result before returning.

void GLTexCoord4sv ( const GLshort * v ) [inline]

Replacement of glTexCoord4sv.

This function asserts on the result before returning.

void GLTexCoordPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glTexCoordPointer.

This function caches the tex coord pointer setting and asserts on the result before returning.

void GLTextureEnvColor ( const GLfloat * params ) [inline]

Cached version of GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params ).

This function caches the GL_TEXTURE_ENV_COLOR value of the active texture unit. It is faster to call this method instead of GLTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params) directly.

void GLTextureEnvMode ( GLint param ) [inline]

Cached version of GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param ).

This function caches the GL_TEXTURE_ENV_MODE value of the active texture unit. It is faster to call this method instead of GLTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param) directly.

void GLTexEnvf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Cached version of glTexEnvf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of glTexEnvf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexEnvi | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Cached version of glTexEnvi( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Cached version of glTexEnviv( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexGend | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble | param
 | ) | [inline]

Replacement of glTexGend.

This function updates the active texture and asserts on the result before returning.

void GLTexGenf | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glTexGenf.

This function updates the active texture and asserts on the result before returning.

void GLTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | const GLfloat * | param
 | ) | [inline]

Replacement of glTexGenfv.

This function updates the active texture and asserts on the result before returning.

void GLTexGeni | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glTexGeni.

This function updates the active texture and asserts on the result before returning.

void GLTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexImage1D.

This function updates the active texture and asserts on the result before returning.

void GLTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexImage2D.

This function updates the active texture and asserts on the result before returning.

void GLTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const void * | pixels
 | ) | [inline]

Replacement of glTexImage3D.

This function hides the extension character of glTexImage3D, updates the active texture, and asserts on the result before returning.

void GLTextureBorderColor | ( | GLenum | target,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params ).

This function caches the GL_TEXTURE_BORDER_COLOR values of the texture currently bound to target. It is faster to call this method instead of GLTexParameterfv(target, GL_TEXTURE_BORDER_COLOR, params) directly.

void GLTextureMagFilter | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param ).

This function caches the GL_TEXTURE_MAG_FILTER values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_MAG_FILTER, param) directly.

void GLTextureMinFilter | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param ).

This function caches the GL_TEXTURE_MIN_FILTER values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_MIN_FILTER, param) directly.

void GLTextureWrapR | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_R, param ).

This function caches the GL_TEXTURE_WRAP_R values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_R, param) directly.

void GLTextureWrapS | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_S, param ).

This function caches the GL_TEXTURE_WRAP_S values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_S, param) directly.

void GLTextureWrapT | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_T, param ).

This function caches the GL_TEXTURE_WRAP_T values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_T, param) directly.

void GLTrackMatrix | ( | GLenum | target,
 |  | GLuint | address,
 |  | GLenum | matrix,
 |  | GLenum | transform
 | ) | [inline]

Cached version of glTrackMatrixNV.

This function asserts on the result before returning.

void GLTransformFeedbackAttribsNV | ( | GLuint | count,
 |  | const GLint * | attribs,
 |  | GLenum | bufferMode
 | ) | [inline]

Cached version of glTransformFeedbackAttribsNV.

This function asserts on the result before returning.

void GLTransformFeedbackVaryingsNV | ( | GLuint | program,
 |  | GLsizei | count,
 |  | const GLint * | varyings,
 |  | GLenum | bufferMode
 | ) | [inline]

Cached version of glTransformFeedbackVaryingsNV.

This function asserts on the result before returning.

void GLTransformFeedbackVaryings | ( | GLuint | program,
 |  | GLsizei | count,
 |  | const GLchar ** | varyings,
 |  | GLenum | bufferMode
 | ) | [inline]

Cached version of glTransformFeedbackVaryings.

This function asserts on the result before returning.

void GLTexParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Cached version of glTexParameterf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of glTexParameterfv( target, pname, params ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Cached version of glTexParameteri( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexParameterIiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glTexParameterIivEXT.

This function asserts on the result before returning.

void GLTexParameterIuiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glTexParameterIuivEXT.

This function asserts on the result before returning.

void GLTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Cached version of glTexParameteriv( target, pname, params ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImage1D.

This function updates the active texture and asserts on the result before returning.

void GLTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

void GLTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImage3D.

This function updates the active texture and asserts on the result before returning.

void GLTranslated | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glTranslated.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLTranslatef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glTranslatef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLVertex2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glVertex2d.

This function asserts on the result before returning.

void GLVertex2dv ( const GLdouble * v ) [inline]

Replacement of glVertex2dv.

This function asserts on the result before returning.

void GLVertex2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glVertex2f.

This function asserts on the result before returning.

void GLVertex2fv ( const GLfloat * v ) [inline]

Replacement of glVertex2fv.

This function asserts on the result before returning.

void GLVertex2h | ( | GLhalf | x,
 |  | GLhalf | y
 | ) | [inline]

Replacement of glVertex2hNV.

This function asserts on the result before returning.

void GLVertex2hv ( const GLhalf * v ) [inline]

Replacement of glVertex2hv.

This function asserts on the result before returning.

void GLVertex2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glVertex2i.

This function asserts on the result before returning.

void GLVertex2iv ( const GLint * v ) [inline]

Replacement of glVertex2iv.

This function asserts on the result before returning.

void GLVertex2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glVertex2s.

This function asserts on the result before returning.

void GLVertex2sv ( const GLshort * v ) [inline]

Replacement of glVertex2sv.

This function asserts on the result before returning.

void GLVertex3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glVertex3d.

This function asserts on the result before returning.

void GLVertex3dv ( const GLdouble * v ) [inline]

Replacement of glVertex3dv.

This function asserts on the result before returning.

void GLVertex3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glVertex3f.

This function asserts on the result before returning.

void GLVertex3fv ( const GLfloat * v ) [inline]

Replacement of glVertex3fv.

This function asserts on the result before returning.

void GLVertex3h | ( | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z
 | ) | [inline]

Replacement of glVertex3hNV.

This function asserts on the result before returning.

void GLVertex3hv ( const GLhalf * v ) [inline]

Replacement of glVertex3hv.

This function asserts on the result before returning.

void GLVertex3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glVertex3i.

This function asserts on the result before returning.

void GLVertex3iv ( const GLint * v ) [inline]

Replacement of glVertex3iv.

This function asserts on the result before returning.

void GLVertex3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glVertex3s.

This function asserts on the result before returning.

void GLVertex3sv ( const GLshort * v ) [inline]

Replacement of glVertex3sv.

This function asserts on the result before returning.

void GLVertex4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glVertex4d.

This function asserts on the result before returning.

void GLVertex4dv ( const GLdouble * v ) [inline]

Replacement of glVertex4dv.

This function asserts on the result before returning.

void GLVertex4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glVertex4f.

This function asserts on the result before returning.

void GLVertex4fv ( const GLfloat * v ) [inline]

Replacement of glVertex4fv.

This function asserts on the result before returning.

void GLVertex4h | ( | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z,
 |  | GLhalf | w
 | ) | [inline]

Replacement of glVertex4hNV.

This function asserts on the result before returning.

void GLVertex4hv ( const GLhalf * v ) [inline]

Replacement of glVertex4hv.

This function asserts on the result before returning.

void GLVertex4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glVertex4i.

This function asserts on the result before returning.

void GLVertex4iv ( const GLint * v ) [inline]

Replacement of glVertex4iv.

This function asserts on the result before returning.

void GLVertex4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glVertex4s.

This function asserts on the result before returning.

void GLVertex4sv ( const GLshort * v ) [inline]

Replacement of glVertex4sv.

This function asserts on the result before returning.

void GLVertexArrayRange | ( | GLsizei | size,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexArrayRange.

This function asserts on the result before returning.

void GLVertexAttrib1d | ( | GLuint | index,
 |  | GLdouble | x
 | ) | [inline]

Replacement of glVertexAttrib1d.

void GLVertexAttrib1dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib1dv.

void GLVertexAttrib1f | ( | GLuint | index,
 |  | GLfloat | x
 | ) | [inline]

Replacement of glVertexAttrib1f.

void GLVertexAttrib1fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib1fv.

void GLVertexAttrib1h | ( | GLuint | index,
 |  | GLhalf | x
 | ) | [inline]

Replacement of glVertexAttrib1h.

void GLVertexAttrib1hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib1nv.

void GLVertexAttrib1s | ( | GLuint | index,
 |  | GLshort | x
 | ) | [inline]

Replacement of glVertexAttrib1s.

void GLVertexAttrib1sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib1sv.

void GLVertexAttrib2d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glVertexAttrib2d.

void GLVertexAttrib2dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib2dv.

void GLVertexAttrib2f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glVertexAttrib2f.

void GLVertexAttrib2fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib2fv.

void GLVertexAttrib2h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y
 | ) | [inline]

Replacement of glVertexAttrib2h.

void GLVertexAttrib2hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib2hv.

void GLVertexAttrib2s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glVertexAttrib2s.

void GLVertexAttrib2sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib2sv.

void GLVertexAttrib3d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glVertexAttrib3d.

void GLVertexAttrib3dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib3dv.

void GLVertexAttrib3f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glVertexAttrib3f.

void GLVertexAttrib3fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib3fv.

void GLVertexAttrib3h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z
 | ) | [inline]

Replacement of glVertexAttrib3h.

void GLVertexAttrib3hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib3hv.

void GLVertexAttrib3s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glVertexAttrib3s.

void GLVertexAttrib3sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib3sv.

void GLVertexAttrib4bv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [inline]

Replacement of glVertexAttrib3bv.

void GLVertexAttrib4d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glVertexAttrib4d.

void GLVertexAttrib4dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib4dv.

void GLVertexAttrib4f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glVertexAttrib4f.

void GLVertexAttrib4fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib4fv.

void GLVertexAttrib4h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z,
 |  | GLhalf | w
 | ) | [inline]

Replacement of glVertexAttrib4h.

void GLVertexAttrib4hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib4hv.

void GLVertexAttrib4iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttrib4iv.

void GLVertexAttrib4s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glVertexAttrib4s.

void GLVertexAttrib4sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib4sv.

void GLVertexAttrib4ub | ( | GLuint | index,
 |  | GLubyte | x,
 |  | GLubyte | y,
 |  | GLubyte | z,
 |  | GLubyte | w
 | ) | [inline]

Replacement of glVertexAttrib4ub.

void GLVertexAttrib4ubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttrib4ubv.

void GLVertexAttrib4uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttrib4uiv.

void GLVertexAttrib4usv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [inline]

Replacement of glVertexAttrib4usv.

void GLVertexAttrib4Nbv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nbv.

void GLVertexAttrib4Niv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttrib4Niv.

void GLVertexAttrib4Nsv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nsv.

void GLVertexAttrib4Nub | ( | GLuint | index,
 |  | GLubyte | x,
 |  | GLubyte | y,
 |  | GLubyte | z,
 |  | GLubyte | w
 | ) | [inline]

Replacement of glVertexAttrib4Nub.

void GLVertexAttrib4Nubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nubv.

void GLVertexAttrib4Nuiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nuiv.

void GLVertexAttrib4Nusv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nusv.

void GLVertexAttribI1i | ( | GLuint | index,
 |  | GLint | x
 | ) | [inline]

Replacement of glVertexAttribI1iEXT.

void GLVertexAttribI2i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glVertexAttribI2iEXT.

void GLVertexAttribI3i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glVertexAttribI3iEXT.

void GLVertexAttribI4i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glVertexAttribI4iEXT.

void GLVertexAttribI1ui | ( | GLuint | index,
 |  | GLuint | x
 | ) | [inline]

Replacement of glVertexAttribI1uiExt.

void GLVertexAttribI2ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y
 | ) | [inline]

Replacement of glVertexAttribI2uiExt.

void GLVertexAttribI3ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z
 | ) | [inline]

Replacement of glVertexAttribI3uiExt.

void GLVertexAttribI4ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [inline]

Replacement of glVertexAttribI4uiExt.

void GLVertexAttribI1iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI1ivEXT.

void GLVertexAttribI2iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI2ivEXT.

void GLVertexAttribI3iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI3ivEXT.

void GLVertexAttribI4iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI4ivEXT.

void GLVertexAttribI1uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI1iuvEXT.

void GLVertexAttribI2uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI2uivEXT.

void GLVertexAttribI3uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI3uivEXT.

void GLVertexAttribI4uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI4uivEXT.

void GLVertexAttribI4bv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [inline]

Replacement of glVertexAttribI4bvEXT.

void GLVertexAttribI4ubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttribI4ubvEXT.

void GLVertexAttribI4sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribI4svEXT.

void GLVertexAttribI4usv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [inline]

Replacement of glVertexAttribI4usvEXT.

void GLVertexAttribIPointer | ( | GLuint | index,
 |  | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexAttribIPointerEXT.

void GLVertexAttribPointer | ( | GLuint | index,
 |  | GLint | size,
 |  | GLenum | type,
 |  | GLboolean | normalize,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexAttribPointer.

void GLVertexAttribPointerNV | ( | GLuint | index,
 |  | GLint | fsize,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexAttribPointerNV.

void GLVertexAttribs1dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs1dvNV.

void GLVertexAttribs1fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs1fvNV.

void GLVertexAttribs1hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs1hv.

void GLVertexAttribs1svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs1svNV.

void GLVertexAttribs2dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs2dvNV.

void GLVertexAttribs2fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs2fvNV.

void GLVertexAttribs2hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs2hv.

void GLVertexAttribs2svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs2svNV.

void GLVertexAttribs3dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs3dvNV.

void GLVertexAttribs3fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs3fvNV.

void GLVertexAttribs3hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs3hv.

void GLVertexAttribs3svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs3svNV.

void GLVertexAttribs4dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs4dvNV.

void GLVertexAttribs4fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs4fvNV.

void GLVertexAttribs4hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs4hv.

void GLVertexAttribs4svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs4svNV.

void GLVertexAttribs4ubvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttribs4svNV.

void GLVertexPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexPointer.

This function caches the vertex pointer setting and asserts on the result before returning.

void GLViewport | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glViewport.

This function asserts on the result before returning.

void GLWindowPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glWindowPos2d.

This function asserts on the result before returning.

void GLWindowPos2dv ( const GLdouble * p ) [inline]

Replacement of glWindowPos2dv.

This function asserts on the result before returning.

void GLWindowPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glWindowPos2f.

This function asserts on the result before returning.

void GLWindowPos2fv ( const GLfloat * p ) [inline]

Replacement of glWindowPos2fv.

This function asserts on the result before returning.

void GLWindowPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glWindowPos2i.

This function asserts on the result before returning.

void GLWindowPos2iv ( const GLint * p ) [inline]

Replacement of glWindowPos2iv.

This function asserts on the result before returning.

void GLWindowPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glWindowPos2s.

This function asserts on the result before returning.

void GLWindowPos2sv ( const GLshort * p ) [inline]

Replacement of glWindowPos2sv.

This function asserts on the result before returning.

void GLWindowPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glWindowPos3d.

This function asserts on the result before returning.

void GLWindowPos3dv ( const GLdouble * p ) [inline]

Replacement of glWindowPos3dv.

This function asserts on the result before returning.

void GLWindowPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glWindowPos3f.

This function asserts on the result before returning.

void GLWindowPos3fv ( const GLfloat * p ) [inline]

Replacement of glWindowPos3fv.

This function asserts on the result before returning.

void GLWindowPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glWindowPos3i.

This function asserts on the result before returning.

void GLWindowPos3iv ( const GLint * p ) [inline]

Replacement of glWindowPos3iv.

This function asserts on the result before returning.

void GLWindowPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glWindowPos3s.

This function asserts on the result before returning.

void GLWindowPos3sv ( const GLshort * p ) [inline]

Replacement of glWindowPos3sv.

This function asserts on the result before returning.

GLvoid* GLMapBufferRange | ( | GLenum | target,
 |  | GLintptr | offset,
 |  | GLsizeiptr | length,
 |  | GLbitfield | access
 | ) | [inline]

Maps a range within the buffer to client space.

Parameters:
target | The target buffer to map.
offset | Memory offset into the buffer in bytes.
length | Mapped memory range in bytes.
access | Bitfield that encodes the type of map (read/write).
Returns:
pointer to mapped memory range.
Note:
It is assumed that the extension GL_ARB_map_buffer_range is supported.

This function asserts on no GL error.

See also:
GLBindBuffer, GLUnmapBuffer, GLFlushMappedBufferRange

void GLFlushMappedBufferRange | ( | GLenum | target,
 |  | GLintptr | offset,
 |  | GLsizeiptr | length
 | ) | [inline]

Marks the range of the mapped buffer as ready to use by GL. When a buffer was mapped with GLMapBufferRange and the manual flush bit was set, this function allows to mark the range valid. Once valid, other GL operations depending on the specified memory range can proceed.

Parameters:
target | The target buffer to map.
offset | Memory offset into the buffer in bytes.
length | Memory size in bytes.
Note:
It is assumed that the extension GL_ARB_map_buffer_range is supported.

This function asserts on no GL error.

See also:
GLBindBuffer, GLMapBufferRange

void GLCopyBufferSubData | ( | GLenum | readTarget,
 |  | GLenum | writeTarget,
 |  | GLintptr | readOffset,
 |  | GLintptr | writeOffset,
 |  | GLsizeiptr | size
 | ) | [inline]

Allows direct memory copy between buffer objects.

Parameters:
readTarget | The target buffer to read from.
writeTarget | The target buffer to write to.
readOffset | Memory offset into the read buffer in bytes.
writeOffset | Memory offset into the write buffer in bytes.
size | The memory size in bytes.
Note:
It is assumed that the extension GL_ARB_copy_buffer is supported.

This function asserts on no GL error.

See also:
GLBindBuffer

void GLTexImage2DMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLboolean | fixedsamplelocations
 | ) | [inline]

Establishes data storage for multi-sampled textures.

Parameters:
target | The texture target
samples | The number of samples per pixel.
internalformat | The internal format for the texture must be color-renderable, depth-renderable, or stencil-renderable.
width.
height.
fixedsamplelocations | If true the sample locations will be fixed and independent of the internal format.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage3DMultisample, GLGetMultisamplefv, GLSampleMaski

void GLTexImage3DMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLboolean | fixedsamplelocations
 | ) | [inline]

Establishes data storage for multi-sampled textures.

Parameters:
target | The texture target
samples | The number of samples per pixel.
internalformat | The internal format for the texture must be color-renderable, depth-renderable, or stencil-renderable.
width.
height.
depth.
fixedsamplelocations | If true the sample locations will be fixed and independent of the internal format.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLGetMultisamplefv, GLSampleMaski

void GLGetMultisamplefv | ( | GLenum | pname,
 |  | GLuint | index,
 |  | GLfloat * | val
 | ) | [inline]

Allows to retrieve the sample location.

Parameters:
pname | must be GL_SAMPLE_POSITION
index | The sample for which the location should be retrieved.
val | must point to a float[2] which will hold the x and y location of the sample, (0.5,0.5) being a pixel center.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLTexImage3DMultisample, GLSampleMaski

void GLSampleMaski | ( | GLuint | maskNumber,
 |  | GLbitfield | maskBits
 | ) | [inline]

When GL_SAMPLE_MASK is enabled this function allows to specify the mask the fragment coverage is ANDed with.

Parameters:
maskNumber | The mask number M.
maskBits | Bit B of mask M corresponds to sample 32*M+B.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLTexImage3DMultisample, GLGetMultisamplefv

GLboolean GLIsRenderbuffer ( GLuint renderbuffer ) [inline]

Replacement of glIsRenderbufferEXT.

Parameters:
renderbuffer The id to test.
Returns:
TRUE, if renderbuffer is the id of a render buffer, otherwise FALSE.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLBindRenderbuffer | ( | GLenum | target,
 |  | GLuint | renderbuffer
 | ) | [inline]

Replacement of glBindRenderbufferEXT.

Parameters:
target | The id of the target to bind the render buffer to. Must be GL_RENDERBUFFER_EXT.
renderbuffer | The id of the unused render buffer to bind.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLDeleteRenderbuffers | ( | GLsizei | n,
 |  | const GLuint * | renderbuffers
 | ) | [inline]

Replacement of glDeleteRenderbuffersEXT.

Parameters:
n | The number of render buffer ids to delete.
renderbuffers | A pointer to the render buffer ids to delete.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLGenRenderbuffers | ( | GLsizei | n,
 |  | GLuint * | renderbuffers
 | ) | [inline]

Replacement of glGenRenderbuffersEXT.

Parameters:
n | The number of render buffer ids to generate.
renderbuffers | A pointer to the memory to fill with the generated render buffer ids.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLRenderbufferStorage | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glRenderbufferStorageEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv

void GLRenderbufferStorageMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glRenderbufferStorageMultisampleEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
samples | Is the number of multisample buffers you wish to allocate.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_EXT_framebuffer_multisample is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv, GLRenderbufferStorage, GLRenderbufferStorageMultisampleCoverage

void GLRenderbufferStorageMultisampleCoverage | ( | GLenum | target,
 |  | GLsizei | coverageSamples,
 |  | GLsizei | colorSamples,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glRenderbufferStorageMultisampleCoverageNV.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
coverageSamples | Is the number of pseudo multisample buffers to allocate.
colorSamples | Is the number of multisample buffers to allocate.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_NV_framebuffer_multisample_coverage is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv, GLRenderbufferStorage, GLRenderbufferStorageMultisampleCoverage

void GLGetRenderbufferParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetRenderbufferParameterivEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
pname | The id of the value to get.
params | Pointer to the memory to write the queried value to.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage

GLboolean GLIsFramebuffer ( GLuint framebuffer ) [inline]

Replacement of glIsFramebufferEXT.

Parameters:
framebuffer The id to test.
Returns:
TRUE, if framebuffer is the id of a frame buffer, otherwise FALSE.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLBindFramebuffer | ( | GLenum | target,
 |  | GLuint | framebuffer
 | ) | [inline]

Replacement of glBindFramebufferEXT.

Parameters:
target | The id of the target to bind the frame buffer to. Must be GL_FRAMEBUFFER_EXT.
framebuffer | The id of the unused frame buffer to bind.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLDeleteFramebuffers | ( | GLsizei | n,
 |  | const GLuint * | framebuffers
 | ) | [inline]

Replacement of glDeleteFramebuffersEXT.

Parameters:
n | The number of frame buffer ids to delete.
framebuffers | A pointer to the frame buffer ids to delete.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLGenFramebuffers | ( | GLsizei | n,
 |  | GLuint * | framebuffers
 | ) | [inline]

Replacement of glGenFramebuffersEXT.

Parameters:
n | The number of frame buffer ids to generate.
framebuffers | A pointer to the memory to fill with the generated frame buffer ids.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

GLenum GLCheckFramebufferStatus ( GLenum target ) [inline]

Replacement of glCheckFramebufferStatusEXT.

Parameters:
target Must be GL_FRAMEBUFFER_EXT.
Returns:
A symbolic value describing the frame buffer status.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTexture1D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [inline]

Replacement of glFramebufferTexture1DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTexture2D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [inline]

Replacement of glFramebufferTexture2DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture3D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTexture3D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLint | zoffset
 | ) | [inline]

Replacement of glFramebufferTexture3DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
zoffset | Specifies the z-offset of a 2-dimensional image within a 3-dimensional texture.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTextureLayer | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLint | layer
 | ) | [inline]

Replacement of glFramebufferTextureLayerEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
texture | The id of an existing texture.
level | The mipmap level of the texture image to be attached.
layer | Specifies the layer/slice of the texture array - or slice of 3D texture.
Note:
It is assumed that the extension GL_EXT_texture_array is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferRenderbuffer | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | renderbuffertarget,
 |  | GLuint | renderbuffer
 | ) | [inline]

Replacement of glFramebufferRenderbufferEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
renderbuffertarget | Must be GL_RENDERBUFFER_EXT.
renderbuffer | The id of the render buffer to be attached to the frame buffer.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLGetFramebufferAttachmentParameteriv

void GLGetFramebufferAttachmentParameteriv | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetFramebufferAttachmentParameterivEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
pname | The symbolic values of the attachment parameters to query.
params | A pointer to the memory where result of the query is written to.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer

void GLGenerateMipmap ( GLenum target ) [inline]

Replacement of glGenerateMipmapEXT.

Parameters:
target The symbolic value of the texture target to generate mipmaps for.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

GLenum GLGetTexWrapMode ( nvsg::TextureWrapMode twm ) [inline]

Translate an nvsg::TextureWrapMode into a GL-specific texture wrap mode as a GLenum.

Parameters:
twm The TextureWrapMode to translate.
Returns:
The OpenGL-specific GLenum being a 'best match' of the nvsg::TextureWrapMode.

bool WGLInitializeExtensions ( void ) [inline]

Initialize the wgl-extension functions inside the WGLFunctions class.

Remarks:
This doesn't need to be called more than once from a hardware OpenGL context to make the extended wgl-interface functions available globally to the process (but it can handle being called more than once). The WGL-wrapper functions below don't depend on any GLContext. This returns false if the wglGetExtensionsStringEXT function pointer is not found.

bool WGLIsExtensionAvailable ( const std::string & extstr ) [inline]

Returns whether the specified wgl-extension is available.

Parameters:
extstr Designates the requested wgl-extension.
Returns:
The function returns true if the requested wgl-extension is available and if the corresponding function pointer are initialized properly. Otherwise the function returns false. The function always returns false if called prior to WGLInitializeExtensions.
Remarks:
WGLIsExtensionAvailable should not be called prior to WGLInitializeExtension. Doing so would be entirely meaningless and the function would always return false. It is recommended to test whether a requested wgl-extension is available on the current configuration prior to exploit the specified wgl-extension. Using a not available wgl-extension through the 'WGL' wrapper function provided by SceniX results in unexpected behavior.
See also:
WGLInitializeExtensions

bool WGLIsExtensionExported ( const std::string & extstr ) [inline]

Returns whether the specified wgl-extension is exported.

Parameters:
extstr Designates the requested wgl-extension.
Returns:
The function returns true if the requested wgl-extension is exported by the current configuration. Otherwise the function returns false. The function always returns false if called prior to WGLInitializeExtensions.
Remarks:
WGLIsExtensionExported should not be called prior to WGLInitializeExtension. Doing so would be entirely meaningless and the function would always return false. If a wgl-extension defines new functions, WGLIsExtensionAvailable should be called instead of WGLIsExtensionExported to ensure that all required function pointers are properly initialized.
See also:
WGLInitializeExtensions, WGLIsExtensionAvailable

BOOL WGLBindTexImage | ( | HPBUFFERARB | hPbuffer,
 |  | int | iBuffer
 | ) | [inline]

Replacement of wglBindTexImageARB.

This function hides the extension character of wglBindTexImageARB and asserts on its result before returning.

BOOL WGLChoosePixelFormat | ( | HDC | hdc,
 |  | const int * | piAttribIList,
 |  | const FLOAT * | pfAttribFList,
 |  | UINT | nMaxFormats,
 |  | int * | piFormats,
 |  | UINT * | nNumFormats
 | ) | [inline]

Replacement of wglChoosePixelFormatARB.

This function hides the extension character of wglChoosePixelFormatARB and asserts on its result before returning.

BOOL WGLGetPixelFormatAttribivARB | ( | HDC | hdc,
 |  | int | iPixelFormat,
 |  | int | iLayerPlane,
 |  | UINT | nAttributes,
 |  | const int * | piAttributes,
 |  | int * | piValues
 | ) | [inline]

Replacement of wglGetPixelFormatAttribivARB.

This function hides the extension character of wglGetPixelFormatAttribivARB and asserts on its result before returning.

BOOL WGLGetPixelFormatAttribfv | ( | HDC | hdc,
 |  | int | iPixelFormat,
 |  | int | iLayerPlane,
 |  | UINT | nAttributes,
 |  | const int * | piAttributes,
 |  | FLOAT * | pfValues
 | ) | [inline]

Replacement of wglGetPixelFormatAttribfvARB.

This function hides the extension character of wglGetPixelFormatAttribfvARB and asserts on its result before returning.

HGLRC WGLCreateContext ( HDC hdc ) [inline]

Replacement of wglCreateContext.

If this function is used in conjunction with WGLCreateContext, WGLMakeCurrent, and the functions with uppercase GL prefix, then the states and attributes are cached per context. Moreover, the extension functions of OpenGL are used per context (as they really should!).

HPBUFFERARB WGLCreatePbuffer | ( | HDC | hdc,
 |  | int | pixelFormat,
 |  | int | width,
 |  | int | height,
 |  | const int * | attribList
 | ) | [inline]

Replacement of wglCreatePbufferARB.

This function hides the extension character of wglCreatePbufferARB.

Note:
The creation of a PBuffer might fail dependent on available hardware resources. In this case a NULL handle will be returned.

BOOL WGLDeleteContext ( HGLRC hglrc ) [inline]

Replacement of wglDeleteContext.

If this function is used in conjunction with WGLDeleteContext, WGLMakeCurrent, and functions with uppercase 'GL' prefix, the states and attributes are cached per context. Moreover, OpenGL extension functions are used per context (as they really should!).

BOOL WGLDestroyPbuffer ( HPBUFFERARB hPbuffer ) [inline]

Replacement of wglDestroyPbufferARB.

This function hides the extension character of wglDestroyPbufferARB and asserts on its result before returning.

HGLRC WGLGetCurrentContext ( void ) [inline]

Replacement for wglGetCurrenContext.

The function obtains a handle to the current OpenGL rendering context of the calling thread.

Returns:
A handle to the current OpenGL context of the calling thread, or NULL if the calling thread has no current OpenGL context.

HDC WGLGetCurrentDC ( void ) [inline]

Replacement for wglGetCurrentDC.

The function obtains a handle to the device context that is associated with the current OpenGL rendering context of the calling thread.

Returns:
A handle to the device context which is currently associated with the current OpenGL context of the calling thread by means of WGLMakeCurrent, or NULL if the calling thread has no current OpenGL context.

HDC WGLGetPbufferDC ( HPBUFFERARB hPbuffer ) [inline]

Replacement of wglGetPbufferDCARB.

This function hides the extension character of wglGetPbufferDCARB and asserts on its result before returning.

BOOL WGLQueryPbuffer | ( | HPBUFFERARB | hPbuffer,
 |  | int | attribute,
 |  | int * | value
 | ) | [inline]

Replacement of wglQueryPbufferARB.

This function hides the extension character of wglQueryPbufferARB and asserts on its result before returning.

int WGLReleasePbufferDC | ( | HPBUFFERARB | hPbuffer,
 |  | HDC | hdc
 | ) | [inline]

Replacement of wglReleasePbufferDCARB.

This function hides the extension character of wglReleasePbufferDCARB and asserts on its result before returning.

BOOL WGLReleaseTexImage | ( | HPBUFFERARB | hPbuffer,
 |  | int | iBuffer
 | ) | [inline]

Replacement of wglReleaseTexImageARB.

This function hides the extension character of wglReleaseTexImageARB and asserts on its result before returning.

BOOL WGLJoinSwapGroupNV | ( | HDC | hDC,
 |  | GLuint | group
 | ) | [inline]

Replacement of wglJointSwapGroupNV.

BOOL WGLBindSwapBarrierNV | ( | GLuint | group,
 |  | GLuint | barrier
 | ) | [inline]

Replacement of wglBindSwapBarrierNV.

BOOL WGLQuerySwapGroupNV | ( | HDC | hDC,
 |  | GLuint * | group,
 |  | GLuint * | barrier
 | ) | [inline]

Replacement of wglQuerySwapGroupNV.

BOOL WGLQueryMaxSwapGroupsNV | ( | HDC | hDC,
 |  | GLuint * | maxGroups,
 |  | GLuint * | maxBarriers
 | ) | [inline]

Replacement of wglQueryMaxSwapGroupsNV.

BOOL WGLQueryFrameCountNV | ( | HDC | hDC,
 |  | GLuint * | count
 | ) | [inline]

Replacement of wglQueryFrameCountNV.

BOOL WGLResetFrameCountNV ( HDC hDC ) [inline]

Replacement of wglResetFrameCountNV.

BOOL WGLEnumGpus | ( | UINT | iIndex,
 |  | HGPUNV * | hGpu
 | ) | [inline]

Replacement of wglEnumGpusNV.

BOOL WGLEnumGpuDevices | ( | HGPUNV | hGpu,
 |  | UINT | iIndex,
 |  | PGPU_DEVICE | pGpuDevice
 | ) | [inline]

Replacement of wglEnumGpuDevicesNV.

HDC WGLCreateAffinityDC ( const HGPUNV * pGpuList ) [inline]

Replacement for wglCreateAffinityDVNV.

BOOL WGLEnumGpusFromAffinityDC | ( | HDC | hAffinityDC,
 |  | UINT | iIndex,
 |  | HGPUNV * | hGpu
 | ) | [inline]

Replacement for wglEnumGpusFromAffinityDCNV.

BOOL WGLDeleteDC ( HDC hAffinityDC ) [inline]

Replacement for wglDeleteDCNV.

BOOL WGLSwapInterval ( int interval ) [inline]

Replacement for wglSwapIntervalEXT.

int WGLGetSwapInterval ( void ) [inline]

Replacement for wglGetSwapIntervalEXT.

BOOL WGLGetVideoDevice | ( | HDC | hDC,
 |  | INT | iVideoStreams,
 |  | HPVIDEODEVICE * | phpVideoDevice
 | ) | [inline]

Replacement for wglGetVideoDeviceNV.

BOOL WGLReleaseVideoDevice ( HPVIDEODEVICE hpVideoDevice ) [inline]

Replacement for wglReleaseVideoDeviceNV.

BOOL WGLBindVideoImage | ( | HPVIDEODEVICE | hpVideoDevice,
 |  | HPBUFFERARB | hPbuffer,
 |  | INT | iVideoBuffer
 | ) | [inline]

Replacement for wglBindVideoImageNV.

BOOL WGLReleaseVideoImage | ( | HPBUFFERARB | hPbuffer,
 |  | INT | iVideoBuffer
 | ) | [inline]

Replacement for wglReleaseVideoImageNV.

BOOL WGLSendPbufferToVideo | ( | HPBUFFERARB | hPbuffer,
 |  | INT | iBufferType,
 |  | unsigned long * | pulCounterPbuffer,
 |  | BOOL | bBlock
 | ) | [inline]

Replacement for wglSendPbufferToVideoNV.

BOOL WGLGetVideoInfo | ( | HPVIDEODEVICE | hpVideoDevice,
 |  | unsigned long * | pulCounterOutputVideo,
 |  | unsigned long * | pulCounterOutputPbuffer
 | ) | [inline]

Replacement for wglGetVideoInfoNV.

int WGLEnumerateVideoDevicesNV | ( | HDC | hDC,
 |  | HVIDEOOUTPUTDEVICENV * | phDeviceList
 | ) | [inline]

Replacement for wglEnumerateVideoDevicesNV.

BOOL WGLBindVideoDeviceNV | ( | HDC | hDC,
 |  | unsigned int | uVideoSlot,
 |  | HVIDEOOUTPUTDEVICENV | hVideoDevice,
 |  | const int * | piAttribList
 | ) | [inline]

Replacement for wglBindVideoDeviceNV.

BOOL WGLQueryCurrentContextNV | ( | int | iAttribute,
 |  | int * | piValue
 | ) | [inline]

Replacement for wglQueryCurrentContextNV.

bool GLXInitializeExtensions ( Display * dpy ) [inline]

Initialize the glx-extension functions inside the GLXFunctions class.

Remarks:
This doesn't need to be called more than once from a hardware OpenGL context to make the extended glx-interface functions available globally to the process (but it can handle being called more than once). The GLX-wrapper functions below don't depend on any GLContext. This function returns false if dpy is NULL.

bool GLXIsExtensionAvailable ( const std::string & extstr ) [inline]

Returns whether the specified glx-extension is available.

Parameters:
extstr Designates the requested glx-extension.
Returns:
The function returns true if the requested glx-extension is available and if the corresponding function pointer are initialized properly. Otherwise the function returns false. The function always returns false if called prior to GLXInitializeExtensions.
Remarks:
GLXIsExtensionAvailable should not be called prior to GLXInitializeExtension. Doing so would be entirely meaningless and the function would always return false. It is recommended to test whether a requested glx-extension is available on the current configuration prior to exploit the specified glx-extension. Using a not available glx-extension through the 'GLX' wrapper function provided by SceniX results in unexpected behavior.
See also:
GLXInitializeExtensions

bool GLXIsExtensionExported ( const std::string & extstr ) [inline]

Returns whether the specified glx-extension is exported.

Parameters:
extstr Designates the requested glx-extension.
Returns:
The function returns true if the requested glx-extension is exported by the current configuration. Otherwise the function returns false. The function always returns false if called prior to GLXInitializeExtensions.
Remarks:
GLXIsExtensionExported should not be called prior to GLXInitializeExtension. Doing so would be entirely meaningless and the function would always return false. If a glx-extension defines new functions, GLXIsExtensionAvailable should be called instead of GLXIsExtensionExported to ensure that all required function pointers are properly initialized.
See also:
GLXInitializeExtensions, GLXIsExtensionAvailable

GLXContext GLXCreateContext | ( | Display * | dpy,
 |  | XVisualInfo * | vis,
 |  | GLXContext | shareList,
 |  | Bool | direct
 | ) | [inline]

Replacement of glXCreateContext.

void GLXDestroyContext | ( | Display * | dpy,
 |  | GLXContext | ctx
 | ) | [inline]

Replacement of glXDestroyContext.

GLXContext GLXGetCurrentContext ( ) [inline]

Replacement of glXGetCurrentContext.

GLXDrawable GLXGetCurrentDrawable ( ) [inline]

Replacement of glXGetCurrentDrawable.

NVSG_API void GLGenVertexBuffer | ( | GLenum | target,
 |  | GLsizeiptr | size,
 |  | GLuint * | buffer
 | ) |

Generates a vertex buffer of requested size.

The function creates a buffer object for vertex data and returns the buffer identifier in the buffer pointed to by buffer.

NVSG_API void GLGenIndexBuffer | ( | GLenum | target,
 |  | GLsizeiptr | size,
 |  | GLuint * | buffer
 | ) |

Generates an index buffer of requested size.

The function creates a buffer object for index data and returns the buffer identifier in the buffer pointed to by buffer.

NVSG_API void GLDeleteVertexBuffer ( GLuint buffer )

Deletes a vertex buffer.

The function deletes the buffer object identified by buffer. The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

NVSG_API void GLDeleteIndexBuffer ( GLuint buffer )

Deletes an index buffer.

The function deletes the buffer object identified by buffer. The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenIndexBuffer.

NVSG_API void GLBindVertexBuffer ( GLuint buffer )

Binds the buffer name associated with the identifier buffer to the GL_ARRAY_ELEMENT target.

The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

NVSG_API void GLBindTransformFeedbackBuffer | ( | GLuint | index,
 |  | GLuint | buffer,
 |  | GLuint | offset
 | ) |

Binds the buffer name associated with the identifier buffer to the GL_TRANSFORM_FEEDBACK_BUFFER_NV target.

The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

Note:
This method actually calls GLBindBufferOffset()

NVSG_API void GLBindIndexBuffer ( GLuint buffer )

Binds the buffer name associated with the identifier buffer to the GL_ELEMENT_ARRAY_ELEMENT target.

The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenIndexBuffer.

NVSG_API void GLUploadBuffers ( )

Uploads all pending buffers.

The function uploads the data copied to not yet uploaded vertex or index buffers to Vertex Buffer Objects (VBO) for fast rendering.

Note:
This function must be called immediately before rendering if vertex or index buffers are used for caching strategies. Omitting this call certainly results in undefined runtime behavior!

NVSG_API GLvoid* GLMapVertexBuffer ( GLuint buffer )

Maps the vertex buffer identified by buffer into process memory for write-only access.

The returned pointer can be used to write vertex data to the vertex buffer.

Attempts to read back data from the mapped buffer might result in undefined behavior. Writing more bytes to the buffer than it was specified at buffer creation, results in undefined behavior. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

After data has been written to the buffer, and before the data will be dereferenced by any GL commands, the mapping must be relinquished by calling GLUnmapVertexData.

Returns:
A pointer to the vertex buffer if the memory could be mapped into process memory. Otherwise a null pointer is returned.

NVSG_API GLvoid* GLMapIndexBuffer ( GLuint buffer )

Maps the index buffer identified by buffer into process memory for write-only access.

The returned pointer can be used to write index data to the vertex buffer.

Attempts to read back data from the mapped buffer might result in undefined behavior. Writing more bytes to the buffer than it was specified at buffer creation, results in undefined behavior. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

After data has been written to the buffer, and before the data will be dereferenced by any GL commands, the mapping must be relinquished by calling GLUnmapIndexData.

Returns:
A pointer to the index buffer if the memory could be mapped into process memory. Otherwise a null pointer is returned.

NVSG_API GLboolean GLUnmapVertexBuffer ( GLuint buffer )

Relinquishes a vertex buffer mapping.

The function relinquishes the mapping for the buffer identified by buffer. The behavior is undefined if a mapping for the specified buffer was not initiated before by a call to GLMapVertexBuffer. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

Returns:
The function returns GL_TRUE unless data values in the data store of the buffer have become corrupted during the period that the buffer was mapped.

NVSG_API GLboolean GLUnmapIndexBuffer ( GLuint buffer )

Relinquishes an index buffer mapping.

The function relinquishes the mapping for the buffer identified by buffer. The behavior is undefined if a mapping for the specified buffer was not initiated before by a call to GLMapIndexBuffer. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenIndexBuffer.

Returns:
The function returns GL_TRUE unless data values in the data store of the buffer have become corrupted during the period that the buffer was mapped.

NVSG_API GLuint64EXT GLGetBufferAddress ( GLuint buffer )

Returns the 64-bit video memory address for the specified buffer.

Vertex and index buffers might be collected in a higher-level buffer object. This function returns the 64-bit video memory address of the higher-level buffer object.

Note:
This funtion requires the GL_NV_vertex_buffer_unified_memory extension.
Returns:
The 64-bit video memory address for the specified buffer.

NVSG_API GLsizeiptr GLGetBufferSize ( GLuint buffer )

Returns the size of the specified buffer.

Vertex and index buffers might be collected in a higher-level buffer object. This function returns the size of the higher-level buffer object.

Note:
This funtion requires the GL_NV_vertex_buffer_unified_memory extension.
Returns:
The size of the higher-level buffer object.

NVSG_API GLsizeiptr GLGetVertexBufferOffset ( GLuint buffer )

Returns the start offset for the specified buffer.

Vertex buffers might be collected in a higher-level buffer object. This function returns the start offset inside the higher-level buffer object.

Returns:
The start offset inside the higher-level vertex buffer object.

NVSG_API void GLBuildVertexBufferCache | ( | nvgl::GLArrayBufferCache * | vi,
 |  | GLuint | whichBuffer,
 |  | const nvsg::VertexAttributeSet * | vas
 | ) |

VBO / Cache Filling Methods.

Build the caches from the attributes sent.

Returns:
A buffer cache.

NVSG_API GLsizeiptr GLGetIndexBufferOffset ( GLuint buffer )

Returns the start offset for the specified buffer.

Index buffers might be collected in a higher-level buffer object. This function returns the start offset inside the higher-level buffer object.

Returns:
The start offset inside the higher-level vertex buffer object.

NVSG_API GLboolean GLIsVertexBuffer ( GLuint buffer )

Returns whether buffer identifies a valid vertex buffer for the current context.

Returns:
GL_TRUE if buffer identifies a valid vertex buffer for the current context. GL_FALSE otherwise.

NVSG_API GLboolean GLIsIndexBuffer ( GLuint buffer )

Returns whether buffer identifies a valid index buffer for the current context.

Returns:
GL_TRUE if buffer identifies a valid index buffer for the current context. GL_FALSE otherwise.

Generated on Fri Jul 13 13:27:29 2012 for SceniX


SceniX: GLContext.h Source File

inc / nvsg / nvgl

GLContext.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2012
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvgl/nvgl.h"
00017 #include "nvgl/GLStatistics.h"
00018 #include "nvmath/Vecnt.h"
00019 #include "nvutil/RCObject.h"
00020 #include "nvutil/STLExt.h"
00021 #include "nvsg/TextureAttribute.h"
00022 #include "nvsg/TextureHost.h"
00023 #include "nvsg/CgFx.h"
00024 #include <map>
00025 #include <stack>
00026 #include <string>
00027 #include <algorithm>
00028 #include <utility>
00029
00030
00031 // common device context helper data types for Windows and Linux
00032 #if defined(_WIN32)
00033 typedef HDC   DEVICE_CONTEXT;
00034 typedef HGLRC RENDER_CONTEXT;
00035 #elif defined(LINUX)
00036 typedef Drawable   DEVICE_CONTEXT;
00037 typedef GLXContext RENDER_CONTEXT;
00038 #endif
00039
00040 namespace nvsg
00041 {
00042   class DALHost;
00043 }
00044
00045 namespace nvgl
00046 {
00047 class GLFunctions;
00048 class GLObjects;
00049 struct VBOCachingState;
00050 struct GLTextureCache;
00051 struct GLDisplayListCache;
00052 struct GLArrayBufferCache;
00053 struct GLElementArrayBufferCache;
00054 struct GLPixelBufferCache;
00055
00056 #if !defined(DOXYGEN_IGNORE)
00057 typedef void (*PFNUPLOADTEXTUREPROC)(GLint, GLint, GLint, nvsg::TextureHost*, GLTextureCache*);
00058 #endif // DOXYGEN_IGNORE
00059
00060 // common device context helper function for Windows and Linux
00061 #if defined(_WIN32)
00062
00063 class WGLFunctions;
00064
00066
00067 # define GET_CURRENT_DC()    WGLGetCurrentDC()
00068
00069
00070 # define GET_CURRENT_RC()    WGLGetCurrentContext()
00071
00072
00073 # define MAKE_CURRENT(DC,RC) WGLMakeCurrent(DC,RC)
00074
00075 #elif defined(LINUX)
00076
00077 class GLXFunctions;
00078
00079 # define GET_CURRENT_DC()    GLXGetCurrentDrawable()
00080 # define GET_CURRENT_RC()    GLXGetCurrentContext()
00081 # define MAKE_CURRENT(DC,RC) GLXMakeCurrent(glContext()->getDisplay(),DC,RC)
00082
00083 #else
00084
00085 # error Unsupported Operating System!
00086
00087 #endif
00088
00089 #if !defined(DOXYGEN_IGNORE)
00090 //# define GL_CACHING
00091 # if defined( GL_CACHING )
00092 #  define GL_SUPPORT_RESET
00093 # endif
00094 #endif // DOXYGEN_IGNORE
00095
00097 struct GLTexImageFmt
00098 {
00099   GLint intFmt;
00100   GLint usrFmt;
00101   GLint type;
00102   GLint uploadHint;
00103 };
00104
00106 struct NVSGTexImageFmt
00107 {
00108   GLint fixedPtFmt;
00109   GLint floatFmt;
00110   GLint integerFmt;
00111   GLint compressedFmt;
00112   GLint nonLinearFmt;
00113   GLint usrFmt;
00114   GLint type;
00115   GLint uploadHint;
00116 };
00117
00118 #define NVSG_TIF_INVALID 0
00119
00120 #define NVSG_CACHE_FRONT  0
00121 #define NVSG_CACHE_BACK   1
00122
00123 // provide zero-based mapping of buffer bindings
00124 enum
00125 {
00126   // vertex buffer targets
00127   NVSG_ARRAY_BUFFER = 0,
00128   NVSG_FIRST_VERTEX_BUFFER = NVSG_ARRAY_BUFFER,
00129   NVSG_ELEMENT_ARRAY_BUFFER,
00130   NVSG_LAST_VERTEX_BUFFER = NVSG_ELEMENT_ARRAY_BUFFER,
00131   // pixel buffer targets
00132   NVSG_PIXEL_PACK_BUFFER,
00133   NVSG_FIRST_PIXEL_BUFFER = NVSG_PIXEL_PACK_BUFFER,
00134   NVSG_PIXEL_UNPACK_BUFFER,
00135   NVSG_LAST_PIXEL_BUFFER = NVSG_PIXEL_UNPACK_BUFFER,
00136   // copy buffer targets,
00137   NVSG_COPY_READ_BUFFER,
00138   NVSG_FIRST_COPY_BUFFER = NVSG_COPY_READ_BUFFER,
00139   NVSG_COPY_WRITE_BUFFER,
00140   NVSG_LAST_COPY_BUFFER = NVSG_COPY_WRITE_BUFFER,
00141   // texture buffer targets
00142   NVSG_TEXTURE_BUFFER,
00143
00144
00145
00146   NVSG_NUM_VERTEX_BUFFERS = NVSG_LAST_VERTEX_BUFFER - NVSG_FIRST_VERTEX_BUFFER + 1,
00147   NVSG_NUM_PIXEL_BUFFERS  = NVSG_LAST_PIXEL_BUFFER - NVSG_FIRST_PIXEL_BUFFER + 1,
00148   NVSG_NUM_COPY_BUFFERS  = NVSG_LAST_COPY_BUFFER - NVSG_FIRST_COPY_BUFFER + 1,
00149   NVSG_NUM_TEXTURE_BUFFERS  = 1,
00150   NVSG_NUM_BUFFERS = NVSG_NUM_VERTEX_BUFFERS + NVSG_NUM_PIXEL_BUFFERS + NVSG_NUM_COPY_BUFFERS + NVSG_NUM_TEXTURE_BUFFERS
00151 };
00152
00153 #define BUFFER_OFFSET(i) ((char*)NULL + (i))
00154
00155
00156
00169 class GLContext
00170 {
00171   friend NVSG_API void GLAccum( GLenum op, GLfloat value );
00172   friend NVSG_API void GLActiveStencilFace( GLenum face );
00173   friend NVSG_API void GLActiveTexture( GLenum texture );
00174   friend NVSG_API void GLActiveVarying( GLuint program, const GLchar *name );
00175   friend NVSG_API void GLAddSwapHintRect( GLint x, GLint y, GLsizei width, GLsizei height );
00176   friend NVSG_API void GLAlphaFunc( GLenum func, GLclampf ref );
00177   friend NVSG_API GLboolean GLAreProgramsResident( GLsizei n, const GLuint *programs, GLboolean *residences );
00178   friend NVSG_API GLboolean GLAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
00179   friend NVSG_API void GLArrayElement( GLint i );
00180   friend NVSG_API void GLAttachObject( GLhandleARB containerObj, GLhandleARB attachedObj );
00181   friend NVSG_API void GLAttachShader( GLuint program, GLuint shader );
00182   friend NVSG_API void GLBegin( GLenum mode );
00183   friend NVSG_API void GLBeginConditionalRenderNV( GLuint id, GLenum mode );
00184   friend NVSG_API void GLBeginQuery( GLenum target, GLuint id );
00185   friend NVSG_API void GLBeginTransformFeedbackNV( GLenum primitiveMode );
00186   friend NVSG_API void GLBeginTransformFeedback( GLenum primitiveMode );
00187   friend NVSG_API void GLBlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
00188   friend NVSG_API void GLBindArraySet( GLuint buffer );
00189   friend NVSG_API void GLBindAttribLocation( GLuint program, GLuint index, const GLchar *name );
00190   friend NVSG_API void GLBindBuffer(GLenum target, GLuint id);
00191   friend NVSG_API void GLBindBufferBaseNV( GLenum target, GLuint index, GLuint buffer );
00192   friend NVSG_API void GLBindBufferBase( GLenum target, GLuint index, GLuint buffer );
00193   friend NVSG_API void GLBindBufferOffsetNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset );
00194   friend NVSG_API void GLBindBufferRangeNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size );
00195   friend NVSG_API void GLBindBufferRange( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size );
00196   friend NVSG_API void GLBindFragDataLocation( GLuint program, GLuint color, const GLchar *name );
00197   friend NVSG_API void GLBindProgram( GLenum target, GLuint id );
00198   friend NVSG_API void GLBindTexture( GLenum target, GLuint texture );
00199   friend NVSG_API void GLBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
00200   friend NVSG_API void GLBlendEquation( GLenum mode );
00201   friend NVSG_API void GLBlendEquationSeparate( GLenum modeRGB, GLenum modeAlpha );
00202   friend NVSG_API void GLBlendFunc( GLenum sfactor, GLenum dfactor );
00203   friend NVSG_API void GLBlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha );
00204   friend NVSG_API void GLBlitFramebuffer( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter );
00205   friend NVSG_API void GLBufferData( GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage );
00206   friend NVSG_API void GLBufferSubData( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data );
00207   friend NVSG_API void GLCallList( GLuint list );
00208   friend NVSG_API void GLCallLists( GLsizei n, GLenum type, const GLvoid *lists );
00209   friend NVSG_API void GLClampColor( GLenum target, GLenum clamp );
00210   friend NVSG_API void GLClear( GLbitfield mask );
00211   friend NVSG_API void GLClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
00212   friend NVSG_API void GLClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
00213   friend NVSG_API void GLClearColorIi( GLint red, GLint green, GLint blue, GLint alpha );
00214   friend NVSG_API void GLClearColorIui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
00215   friend NVSG_API void GLClearDepth( GLclampd depth );
00216   friend NVSG_API void GLClearDepthd( GLdouble depth );
00217   friend NVSG_API void GLClearIndex( GLfloat c );
00218   friend NVSG_API void GLClearStencil( GLint s );
00219   friend NVSG_API void GLClientActiveTexture( GLenum texture );
00220   friend NVSG_API void GLClipPlane( GLenum plane, const GLdouble *equation );
00221   friend NVSG_API void GLColor3b( GLbyte red, GLbyte green, GLbyte blue );
00222   friend NVSG_API void GLColor3bv( const GLbyte *v );
00223   friend NVSG_API void GLColor3d( GLdouble red, GLdouble green, GLdouble blue );
00224   friend NVSG_API void GLColor3dv( const GLdouble *v );
00225   friend NVSG_API void GLColor3f( GLfloat red, GLfloat green, GLfloat blue );
00226   friend NVSG_API void GLColor3fv( const GLfloat * v );
00227   friend NVSG_API void GLColor3h( GLhalf red, GLhalf green, GLhalf blue );
00228   friend NVSG_API void GLColor3hv( const GLhalf * v );
00229   friend NVSG_API void GLColor3i( GLint red, GLint green, GLint blue );
00230   friend NVSG_API void GLColor3iv( const GLint * v );
00231   friend NVSG_API void GLColor3s( GLshort red, GLshort green, GLshort blue );
00232   friend NVSG_API void GLColor3sv( const GLshort * v );
00233   friend NVSG_API void GLColor3ub( GLubyte red, GLubyte green, GLubyte blue );
00234   friend NVSG_API void GLColor3ubv( const GLubyte * v );
00235   friend NVSG_API void GLColor3ui( GLuint red, GLuint green, GLuint blue );
00236   friend NVSG_API void GLColor3uiv( const GLuint * v );
00237   friend NVSG_API void GLColor3us( GLushort red, GLushort green, GLushort blue );
00238   friend NVSG_API void GLColor3usv( const GLushort * v );
00239   friend NVSG_API void GLColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
00240   friend NVSG_API void GLColor4bv( const GLbyte * v );
00241   friend NVSG_API void GLColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
00242   friend NVSG_API void GLColor4dv( const GLdouble * v );
00243   friend NVSG_API void GLColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
00244   friend NVSG_API void GLColor4fv( const GLfloat * v );
00245   friend NVSG_API void GLColor4h( GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha );
00246   friend NVSG_API void GLColor4hv( const GLhalf * v );
00247   friend NVSG_API void GLColor4i( GLint red, GLint green, GLint blue, GLint alpha );
00248   friend NVSG_API void GLColor4iv( const GLint * v );
00249   friend NVSG_API void GLColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha );
00250   friend NVSG_API void GLColor4sv( const GLshort * v );
00251   friend NVSG_API void GLColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
00252   friend NVSG_API void GLColor4ubv( const GLubyte * v );
00253   friend NVSG_API void GLColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
00254   friend NVSG_API void GLColor4uiv( const GLuint * v );
00255   friend NVSG_API void GLColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha );
00256   friend NVSG_API void GLColor4usv( const GLushort * v );
00257   friend NVSG_API void GLColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
00258   friend NVSG_API void GLColorMaskIndexed( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a );
00259   friend NVSG_API void GLColorMaterial( GLenum face, GLenum mode );
00260   friend NVSG_API void GLColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00261   friend NVSG_API void GLColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data );
00262   friend NVSG_API void GLColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table );
00263   friend NVSG_API void GLColorTableParameterfv( GLenum target, GLenum pname, const GLfloat *params );
00264   friend NVSG_API void GLColorTableParameteriv( GLenum target, GLenum pname, const GLint *params );
00265   friend NVSG_API void GLCombinerInput( GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage );
00266   friend NVSG_API void GLCombinerOutput( GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum );
00267   friend NVSG_API void GLCombinerParameterf( GLenum pname, GLfloat param );
00268   friend NVSG_API void GLCombinerParameterfv( GLenum pname, const GLfloat *params );
00269   friend NVSG_API void GLCombinerParameteri( GLenum pname, GLint param );
00270   friend NVSG_API void GLCombinerParameteriv( GLenum pname, const GLint *params );
00271   friend NVSG_API void GLCombinerStageParameterfv( GLenum stage, GLenum pname, const GLfloat *params );
00272   friend NVSG_API void GLCompileShader( GLuint shader );
00273   friend NVSG_API void GLCompressedTexImage1D( GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data );
00274   friend NVSG_API void GLCompressedTexImage2D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data );
00275   friend NVSG_API void GLCompressedTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data );
00276   friend NVSG_API void GLCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
00277   friend NVSG_API void GLCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
00278   friend NVSG_API void GLCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
00279   friend NVSG_API void GLConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image );
00280   friend NVSG_API void GLConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image );
00281   friend NVSG_API void GLConvolutionParameterf( GLenum target, GLenum pname, GLfloat params );
00282   friend NVSG_API void GLConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat *params );
00283   friend NVSG_API void GLConvolutionParameteri( GLenum target, GLenum pname, GLint params );
00284   friend NVSG_API void GLConvolutionParameteriv( GLenum target, GLenum pname, const GLint *params );
00285   friend NVSG_API void GLCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width );
00286   friend NVSG_API void GLCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
00287   friend NVSG_API void GLCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
00288   friend NVSG_API void GLCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height );
00289   friend NVSG_API void GLCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
00290   friend NVSG_API void GLCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border );
00291   friend NVSG_API void GLCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
00292   friend NVSG_API void GLCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
00293   friend NVSG_API void GLCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
00294   friend NVSG_API void GLCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
00295   friend NVSG_API GLuint GLCreateProgram();
00296   friend NVSG_API GLhandleARB GLCreateProgramObject();
00297   friend NVSG_API GLuint GLCreateShader( GLenum type );
00298   friend NVSG_API GLhandleARB GLCreateShaderObject( GLenum shaderType );
00299   friend NVSG_API void GLCullFace( GLenum mode );
00300   friend NVSG_API void GLCullFaceLock( GLenum mode );
00301   friend NVSG_API void GLCullFaceUnlock( GLenum mode );
00302   friend NVSG_API void GLDeleteArraySets( GLsizei n, const GLuint *buffers );
00303   friend NVSG_API void GLDeleteBuffers( GLsizei n, const GLuint *buffers );
00304   friend NVSG_API void GLDeleteFences( GLsizei n, const GLuint *fences );
00305   friend NVSG_API void GLDeleteLists( GLuint list, GLsizei range );
00306   friend NVSG_API void GLDeleteObject( GLhandleARB obj );
00307   friend NVSG_API void GLDeleteProgram( GLuint program );
00308   friend NVSG_API void GLDeletePrograms( GLsizei n, const GLuint *ids );
00309   friend NVSG_API void GLDeleteQueries( GLsizei n, const GLuint *ids );
00310   friend NVSG_API void GLDeleteShader( GLuint shader );
00311   friend NVSG_API void GLDeleteTextures( GLsizei n, const GLuint *textures );
00312   friend NVSG_API void GLDepthBounds( GLclampd zmin, GLclampd zmax );
00313   friend NVSG_API void GLDepthBoundsd( GLdouble zmin, GLdouble zmax );
00314   friend NVSG_API void GLDepthFunc( GLenum func );
00315   friend NVSG_API void GLDepthMask( GLboolean flag );
00316   friend NVSG_API void GLDepthRange( GLclampd znear, GLclampd zfar );
00317   friend NVSG_API void GLDepthRanged( GLdouble zNear, GLdouble zFar );
00318   friend NVSG_API void GLDetachObject( GLhandleARB containerObj, GLhandleARB attachedObj );
00319   friend NVSG_API void GLDetachShader( GLuint program, GLuint shader );
00320   friend NVSG_API void GLDisable( GLenum cap );
00321   friend NVSG_API void GLDisableAlphaTest( void );
00322   friend NVSG_API void GLDisableAutoNormal( void );
00323   friend NVSG_API void GLDisableBlend( void );
00324   friend NVSG_API void GLDisableClientState( GLenum array );
00325   friend NVSG_API void GLDisableClipPlane( GLenum plane );
00326   friend NVSG_API void GLDisableColorArray( void );
00327   friend NVSG_API void GLDisableColorLogicOp( void );
00328   friend NVSG_API void GLDisableColorMaterial( void );
00329   friend NVSG_API void GLDisableCullFace( void );
00330   friend NVSG_API void GLDisableCullFaceLock( void );
00331   friend NVSG_API void GLDisableCullFaceUnlock( void );
00332   friend NVSG_API void GLDisableDepthTest( void );
00333   friend NVSG_API void GLDisableFogCoordinateArray( void );
00334   friend NVSG_API void GLDisableNormalArray( void );
00335   friend NVSG_API void GLDisableDither( void );
00336   friend NVSG_API void GLDisableFog( void );
00337   friend NVSG_API void GLDisableIndexed( GLenum target, GLuint index );
00338   friend NVSG_API void GLDisableLight( GLenum light );
00339   friend NVSG_API void GLDisableLighting( void );
00340   friend NVSG_API void GLDisableLightingLock( void );
00341   friend NVSG_API void GLDisableLightingUnlock( void );
00342   friend NVSG_API void GLDisableLineSmooth( void );
00343   friend NVSG_API void GLDisableLineStipple( void );
00344   friend NVSG_API void GLDisableLogicOp( void );
00345   friend NVSG_API void GLDisableNormalize( void );
00346   friend NVSG_API void GLDisableRescaleNormal( void );
00347   friend NVSG_API void GLDisablePointSmooth( void );
00348   friend NVSG_API void GLDisablePolygonOffsetFill( void );
00349   friend NVSG_API void GLDisablePolygonOffsetLine( void );
00350   friend NVSG_API void GLDisablePolygonOffsetPoint( void );
00351   friend NVSG_API void GLDisablePolygonSmooth( void );
00352   friend NVSG_API void GLDisablePolygonStipple( void );
00353   friend NVSG_API void GLDisablePrimitiveRestart( void );
00354   friend NVSG_API void GLDisableScissorTest( void );
00355   friend NVSG_API void GLDisableSecondaryColorArray( void );
00356   friend NVSG_API void GLDisableStencilTest( void );
00357   friend NVSG_API void GLDisableTexture( GLenum target );
00358   friend NVSG_API void GLDisableTextureCoordArray( void );
00359   friend NVSG_API void GLDisableTextureGen( GLenum target );
00360   friend NVSG_API void GLDisableVertexArray( void );
00361   friend NVSG_API void GLDisableVertexAttribArray( GLuint index );
00362   friend NVSG_API void GLDisableVertexAttribArrayUnified();
00363   friend NVSG_API void GLDisableElementArrayUnified();
00364   friend NVSG_API void GLDrawArrays( GLenum mode, GLint first, GLsizei count );
00365   friend NVSG_API void GLDrawArraysInstanced( GLenum mode, GLint start, GLsizei count, GLsizei primcount );
00366   friend NVSG_API void GLDrawBuffer( GLenum mode );
00367   friend NVSG_API void GLDrawBuffers( GLsizei n, const GLenum *bufs );
00368   friend NVSG_API void GLDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
00369   friend NVSG_API void GLDrawElementsInstanced( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount );
00370   friend NVSG_API void GLDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
00371   friend NVSG_API void GLDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
00372   friend NVSG_API void GLEdgeFlagPointer( GLsizei stride, const GLboolean *pointer );
00373   friend NVSG_API void GLEdgeFlag( GLboolean flag );
00374   friend NVSG_API void GLEdgeFlagv( const GLboolean *flag );
00375   friend NVSG_API void GLEnable( GLenum cap );
00376   friend NVSG_API void GLEnableAlphaTest( void );
00377   friend NVSG_API void GLEnableAutoNormal( void );
00378   friend NVSG_API void GLEnableBlend( void );
00379   friend NVSG_API void GLEnableClientState( GLenum array );
00380   friend NVSG_API void GLEnableClipPlane( GLenum plane );
00381   friend NVSG_API void GLEnableColorArray( void );
00382   friend NVSG_API void GLEnableColorLogicOp( void );
00383   friend NVSG_API void GLEnableColorMaterial( void );
00384   friend NVSG_API void GLEnableCullFace( void );
00385   friend NVSG_API void GLEnableCullFaceLock( void );
00386   friend NVSG_API void GLEnableCullFaceUnlock( void );
00387   friend NVSG_API void GLEnableDepthTest( void );
00388   friend NVSG_API void GLEnableFogCoordinateArray( void );
00389   friend NVSG_API void GLEnableDither( void );
00390   friend NVSG_API void GLEnableFog( void );
00391   friend NVSG_API void GLEnableIndexed( GLenum target, GLuint index );
00392   friend NVSG_API void GLEnableLight( GLenum light );
00393   friend NVSG_API void GLEnableLighting( void );
00394   friend NVSG_API void GLEnableLineSmooth( void );
00395   friend NVSG_API void GLEnableLineStipple( void );
00396   friend NVSG_API void GLEnableLogicOp( void );
00397   friend NVSG_API void GLEnableNormalArray( void );
00398   friend NVSG_API void GLEnableNormalize( void );
00399   friend NVSG_API void GLEnableRescaleNormal( void );
00400   friend NVSG_API void GLEnablePointSmooth( void );
00401   friend NVSG_API void GLEnablePolygonOffsetFill( void );
00402   friend NVSG_API void GLEnablePolygonOffsetLine( void );
00403   friend NVSG_API void GLEnablePolygonOffsetPoint( void );
00404   friend NVSG_API void GLEnablePolygonSmooth( void );
00405   friend NVSG_API void GLEnablePolygonStipple( void );
00406   friend NVSG_API void GLEnablePrimitiveRestart( void );
00407   friend NVSG_API void GLEnableScissorTest( void );
00408   friend NVSG_API void GLEnableStencilTest( void );
00409   friend NVSG_API void GLEnableSecondaryColorArray( void );
00410   friend NVSG_API void GLEnableTexture( GLenum target );
00411   friend NVSG_API void GLEnableTextureCoordArray( void );
00412   friend NVSG_API void GLEnableTextureGen( GLenum target );
00413   friend NVSG_API void GLEnableVertexArray( void );
00414   friend NVSG_API void GLEnableVertexAttribArray( GLuint index );
00415   friend NVSG_API void GLEnableVertexAttribArrayUnified();
00416   friend NVSG_API void GLEnableElementArrayUnified();
00417   friend NVSG_API void GLEnd( void );
00418   friend NVSG_API void GLEndList( void );
00419   friend NVSG_API void GLEndConditionalRenderNV( void );
00420   friend NVSG_API void GLEndQuery( GLenum target );
00421   friend NVSG_API void GLEndTransformFeedbackNV();
00422   friend NVSG_API void GLEndTransformFeedback();
00423   friend NVSG_API void GLEvalCoord1d( GLdouble u );
00424   friend NVSG_API void GLEvalCoord1f( GLfloat u );
00425   friend NVSG_API void GLEvalCoord2d( GLdouble u, GLdouble v );
00426   friend NVSG_API void GLEvalCoord2f( GLfloat u, GLfloat v );
00427   friend NVSG_API void GLEvalMesh1( GLenum mode, GLint i1, GLint i2 );
00428   friend NVSG_API void GLEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
00429   friend NVSG_API void GLEvalPoint1( GLint i );
00430   friend NVSG_API void GLEvalPoint2( GLint i, GLint j );
00431   friend NVSG_API void GLExecuteProgram( GLenum target, GLuint id, const GLfloat *params );
00432   friend NVSG_API void GLFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
00433   friend NVSG_API void GLFinalCombinerInput( GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage );
00434   friend NVSG_API void GLFinish( void );
00435   friend NVSG_API void GLFinishFence( GLuint fence );
00436   friend NVSG_API void GLFlush( void );
00437   friend NVSG_API void GLFlushPixelDataRange( GLenum target );
00438   friend NVSG_API void GLFlushVertexArrayRange();
00439   friend NVSG_API void GLFogColor( const GLfloat * color );
00440   friend NVSG_API void GLFogCoordd( GLdouble fog );
00441   friend NVSG_API void GLFogCoorddv( const GLdouble *fog );
00442   friend NVSG_API void GLFogCoordf( GLfloat fog );
00443   friend NVSG_API void GLFogCoordfv( const GLfloat *fog );
00444   friend NVSG_API void GLFogCoordh( GLhalf fog );
00445   friend NVSG_API void GLFogCoordhv( const GLhalf *fog );
00446   friend NVSG_API void GLFogCoordPointer( GLenum type, GLsizei stride, const GLvoid *pointer );
00447   friend NVSG_API void GLFogDensity( GLfloat density );
00448   friend NVSG_API void GLFogEnd( GLfloat end );
00449   friend NVSG_API void GLFogf( GLenum pname, GLfloat param );
00450   friend NVSG_API void GLFogfv( GLenum pname, const GLfloat *params );
00451   friend NVSG_API void GLFogi( GLenum pname, GLint param );
00452   friend NVSG_API void GLFogiv( GLenum pname, const GLint *params );
00453   friend NVSG_API void GLFogMode( GLenum param );
00454   friend NVSG_API void GLFogStart( GLfloat start );
00455   friend NVSG_API void GLFrameTerminator( void );
00456   friend NVSG_API void GLFramebufferTexture( GLenum target, GLenum attachment, GLuint texture, GLint level );
00457   friend NVSG_API void GLFramebufferTextureFace( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face );
00458   friend NVSG_API void GLFrontFace( GLenum mode );
00459   friend NVSG_API void GLFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
00460   friend NVSG_API void GLGenArraySets( GLsizei n, GLuint *buffers );
00461   friend NVSG_API void GLGenBuffers( GLsizei n, GLuint *buffers );
00462   friend NVSG_API void GLGenFences( GLsizei n, GLuint *fences );
00463   friend NVSG_API GLuint GLGenLists( GLsizei range );
00464   friend NVSG_API void GLGenPrograms( GLsizei n, GLuint *ids );
00465   friend NVSG_API void GLGenQueries( GLsizei n, GLuint *ids );
00466   friend NVSG_API void GLGenTextures( GLsizei n, GLuint *textures );
00467   friend NVSG_API void GLGetActiveAttrib( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name );
00468   friend NVSG_API void GLGetActiveUniform( GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name );
00469   friend NVSG_API void GLGetActiveVaryingNV( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name );
00470   friend NVSG_API void GLGetAttachedObjects( GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj );
00471   friend NVSG_API void GLGetAttachedShaders( GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders );
00472   friend NVSG_API GLint GLGetAttribLocation( GLuint program, const GLchar *name );
00473   friend NVSG_API void GLGetBooleanv( GLenum pname, GLboolean *params );
00474   friend NVSG_API void GLGetBooleanIndexedv( GLenum target, GLuint index, GLboolean *data );
00475   friend NVSG_API void GLGetBufferParameteriv( GLenum target, GLenum pname, GLint *params );
00476   friend NVSG_API void GLGetBufferPointerv( GLenum target, GLenum pname, GLvoid* *params );
00477   friend NVSG_API void GLGetBufferSubData( GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data );
00478   friend NVSG_API void GLGetClipPlane( GLenum plane, GLdouble *equation );
00479   friend NVSG_API void GLGetColorTable( GLenum target, GLenum format, GLenum type, GLvoid *table );
00480   friend NVSG_API void GLGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params );
00481   friend NVSG_API void GLGetColorTableParameteriv( GLenum target, GLenum pname, GLint *params );
00482   friend NVSG_API void GLGetCombinerInputParameterfv( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params );
00483   friend NVSG_API void GLGetCombinerInputParameteriv( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params );
00484   friend NVSG_API void GLGetCombinerOutputParameterfv( GLenum stage, GLenum portion, GLenum pname, GLfloat *params );
00485   friend NVSG_API void GLGetCombinerOutputParameteriv( GLenum stage, GLenum portion, GLenum pname, GLint *params );
00486   friend NVSG_API void GLGetCombinerStageParameterfv( GLenum stage, GLenum pname, GLfloat *params );
00487   friend NVSG_API void GLGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
00488   friend NVSG_API void GLGetConvolutionFilter( GLenum target, GLenum format, GLenum type, GLvoid *image );
00489   friend NVSG_API void GLGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat *params );
00490   friend NVSG_API void GLGetConvolutionParameteriv( GLenum target, GLenum pname, GLint *params );
00491   friend NVSG_API void GLGetDoublev( GLenum pname, GLdouble *params );
00492   friend NVSG_API void GLGetFenceiv( GLuint fence, GLenum pname, GLint *params );
00493   friend NVSG_API void GLGetFinalCombinerInputParameterfv( GLenum variable, GLenum pname, GLfloat *params );
00494   friend NVSG_API void GLGetFinalCombinerInputParameteriv( GLenum variable, GLenum pname, GLint *params );
00495   friend NVSG_API void GLGetFloatv( GLenum pname, GLfloat *params );
00496   friend NVSG_API void GLGetFogColor( GLfloat * fogColor );
00497   friend NVSG_API GLint GLGetFragDataLocation( GLuint program, const GLchar *name );
00498   friend NVSG_API GLhandleARB GLGetHandle( GLenum pname );
00499   friend NVSG_API void GLGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values );
00500   friend NVSG_API void GLGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat *params );
00501   friend NVSG_API void GLGetHistogramParameteriv( GLenum target, GLenum pname, GLint *params );
00502   friend NVSG_API void GLGetInfoLog( GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog );
00503   friend NVSG_API void GLGetIntegerv( GLenum pname, GLint *params );
00504   friend NVSG_API void GLGetIntegerIndexedv( GLenum target, GLuint index, GLint *data );
00505   friend NVSG_API void GLGetLightfv( GLenum light, GLenum pname, GLfloat *params );
00506   friend NVSG_API void GLGetLightiv( GLenum light, GLenum pname, GLint *params );
00507   friend NVSG_API void GLGetMapdv( GLenum target, GLenum query, GLdouble *v );
00508   friend NVSG_API void GLGetMapfv( GLenum target, GLenum query, GLfloat *v );
00509   friend NVSG_API void GLGetMapiv( GLenum target, GLenum query, GLint *v );
00510   friend NVSG_API void GLGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
00511   friend NVSG_API void GLGetMaterialiv( GLenum face, GLenum pname, GLint *params );
00512   friend NVSG_API GLint GLGetMaxTexCoords( void );
00513   friend NVSG_API GLint GLGetMaxTexUnits( void );
00514   friend NVSG_API GLint GLGetMaxTexImageUnits( void );
00515   friend NVSG_API void GLGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values );
00516   friend NVSG_API void GLGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat *params );
00517   friend NVSG_API void GLGetMinmaxParameteriv( GLenum target, GLenum pname, GLint *params );
00518   friend NVSG_API void GLGetObjectParameterfv( GLhandleARB obj, GLenum pname, GLfloat *params );
00519   friend NVSG_API void GLGetObjectParameteriv( GLhandleARB obj, GLenum pname, GLint *params );
00520   friend NVSG_API void GLGetPixelMapfv( GLenum map, GLfloat *values );
00521   friend NVSG_API void GLGetPixelMapuiv( GLenum map, GLuint *values );
00522   friend NVSG_API void GLGetPixelMapusv( GLenum map, GLushort *values );
00523   friend NVSG_API void GLGetPointerv( GLenum pname, GLvoid* *params );
00524   friend NVSG_API void GLGetPolygonStipple( GLubyte *mask );
00525   friend NVSG_API void GLGetProgramEnvParameterdv( GLenum target, GLuint index, GLdouble *params );
00526   friend NVSG_API void GLGetProgramEnvParameterfv( GLenum target, GLuint index, GLfloat *params );
00527   friend NVSG_API void GLGetProgramiv( GLuint program, GLenum pname, GLint *params );
00528   friend NVSG_API void GLGetProgramLocalParameterdv( GLenum target, GLuint index, GLdouble *params );
00529   friend NVSG_API void GLGetProgramLocalParameterfv( GLenum target, GLuint index, GLfloat *params );
00530   friend NVSG_API void GLGetProgramInfoLog( GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog );
00531   friend NVSG_API void GLGetProgramEnvParameterIiv( GLenum target, GLuint index, GLint *params );
00532   friend NVSG_API void GLGetProgramEnvParameterIuiv( GLenum target, GLuint index, GLuint *params );
00533   friend NVSG_API void GLGetProgramLocalParameterIiv( GLenum target, GLuint index, GLint *params );
00534   friend NVSG_API void GLGetProgramLocalParameterIuiv( GLenum target, GLuint index, GLuint *params );
00535   friend NVSG_API void GLGetProgramNamedParameterdv( GLuint id, GLsizei len, const GLubyte *name, GLdouble *params );
00536   friend NVSG_API void GLGetProgramNamedParameterfv( GLuint id, GLsizei len, const GLubyte *name, GLfloat *params );
00537   friend NVSG_API void GLGetProgramParameterdv( GLenum target, GLuint index, GLenum pname, GLdouble *params );
00538   friend NVSG_API void GLGetProgramParameterfv( GLenum target, GLuint index, GLenum pname, GLfloat *params );
00539   friend NVSG_API void GLGetProgramString( GLuint id, GLenum pname, GLubyte *program );
00540   friend NVSG_API void GLGetQueryiv( GLenum target, GLenum pname, GLint *params );
00541   friend NVSG_API void GLGetQueryObjecti64v( GLuint id, GLenum pname, GLint64EXT *params );
00542   friend NVSG_API void GLGetQueryObjectiv( GLuint id, GLenum pname, GLint *params );
00543   friend NVSG_API void GLGetQueryObjectui64v( GLuint id, GLenum pname, GLuint64EXT *params );
00544   friend NVSG_API void GLGetQueryObjectuiv( GLuint id, GLenum pname, GLuint *params );
00545   friend NVSG_API void GLGetSeparableFilter( GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
00546   friend NVSG_API void GLGetShaderiv( GLuint shader, GLenum pname, GLint *params );
00547   friend NVSG_API void GLGetShaderInfoLog( GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog );
00548   friend NVSG_API void GLGetShaderSource( GLuint shader, GLsizei bufSize, GLsizei *length, GLcharARB *source );
00549   friend NVSG_API const GLubyte * GLGetString( GLenum name );
00550   friend NVSG_API void GLGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
00551   friend NVSG_API void GLGetTexEnviv( GLenum target, GLenum pname, GLint *params );
00552   friend NVSG_API void GLGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
00553   friend NVSG_API void GLGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
00554   friend NVSG_API void GLGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
00555   friend NVSG_API void GLGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels );
00556   friend NVSG_API void GLGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params );
00557   friend NVSG_API void GLGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params );
00558   friend NVSG_API void GLGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params );
00559   friend NVSG_API void GLGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
00560   friend NVSG_API void GLGetTexParameterIiv( GLenum target, GLenum pname, GLint *params );
00561   friend NVSG_API void GLGetTexParameterIuiv( GLenum target, GLenum pname, GLuint *params );
00562   friend NVSG_API void GLGetTrackMatrixiv( GLenum target, GLuint address, GLenum pname, GLint *params );
00563   friend NVSG_API void GLGetTransformFeedbackVaryingNV( GLuint program, GLuint index, GLint *location );
00564   friend NVSG_API void GLGetTransformFeedbackVarying( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name );
00565   friend NVSG_API void GLGetUniformfv( GLuint program, GLint location, GLfloat *params );
00566   friend NVSG_API void GLGetUniformiv( GLuint program, GLint location, GLint *params );
00567   friend NVSG_API void GLGetUniformuiv( GLuint program, GLint location, GLuint *params );
00568   friend NVSG_API GLint GLGetUniformBufferSize( GLuint program, GLint location );
00569   friend NVSG_API GLint GLGetUniformLocation( GLuint program, const GLcharARB *name );
00570   friend NVSG_API GLintptr GLGetUniformOffset( GLuint program, GLint location );
00571   friend NVSG_API GLint GLGetVaryingLocationNV( GLuint program, const GLchar *name );
00572   friend NVSG_API void GLGetVertexAttribdv( GLuint index, GLenum pname, GLdouble *params );
00573   friend NVSG_API void GLGetVertexAttribfv( GLuint index, GLenum pname, GLfloat *params );
00574   friend NVSG_API void GLGetVertexAttribiv( GLuint index, GLenum pname, GLint *params );
00575   friend NVSG_API void GLGetVertexAttribIiv( GLuint index, GLenum pname, GLint *params );
00576   friend NVSG_API void GLGetVertexAttribIuiv( GLuint index, GLenum pname, GLuint *params );
00577   friend NVSG_API void GLGetVertexAttribPointerv( GLuint index, GLenum pname, GLvoid* *pointer );
00578   friend NVSG_API GLint GLGetVersion();
00579   friend NVSG_API void GLHint( GLenum target, GLenum mode );
00580   friend NVSG_API void GLHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink );
00581   friend NVSG_API void GLIndexd( GLdouble c );
00582   friend NVSG_API void GLIndexf( GLfloat c );
00583   friend NVSG_API void GLIndexi( GLint c );
00584   friend NVSG_API void GLIndexMask( GLuint mask );
00585   friend NVSG_API void GLIndexPointer( GLenum type, GLsizei stride, const GLvoid *pointer );
00586   friend NVSG_API void GLIndexs( GLshort c );
00587   friend NVSG_API void GLIndexub( GLubyte c );
00588   friend NVSG_API void GLInitNames( void );
00589   friend NVSG_API void GLInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer );
00590   friend NVSG_API GLboolean GLIsArraySet( GLuint buffer );
00591   friend NVSG_API GLboolean GLIsBuffer( GLuint name );
00592   friend NVSG_API GLboolean GLIsEnabled( GLenum cap );
00593   friend NVSG_API GLboolean GLIsEnabledAlphaTest();
00594   friend NVSG_API GLboolean GLIsEnabledAutoNormal();
00595   friend NVSG_API GLboolean GLIsEnabledBlend();
00596   friend NVSG_API GLboolean GLIsEnabledClipPlane( GLenum plane );
00597   friend NVSG_API GLboolean GLIsEnabledColorLogicOp();
00598   friend NVSG_API GLboolean GLIsEnabledColorMaterial();
00599   friend NVSG_API GLboolean GLIsEnabledCullFace();
00600   friend NVSG_API GLboolean GLIsEnabledDepthTest();
00601   friend NVSG_API GLboolean GLIsEnabledDither();
00602   friend NVSG_API GLboolean GLIsEnabledFog();
00603   friend NVSG_API GLboolean GLIsEnabledIndexed( GLenum target, GLuint index );
00604   friend NVSG_API GLboolean GLIsEnabledLight( GLenum cap );
00605   friend NVSG_API GLboolean GLIsEnabledLighting();
00606   friend NVSG_API GLboolean GLIsEnabledLineSmooth();
00607   friend NVSG_API GLboolean GLIsEnabledLineStipple();
00608   friend NVSG_API GLboolean GLIsEnabledLogicOp();
00609   friend NVSG_API GLboolean GLIsEnabledNormalize();
00610   friend NVSG_API GLboolean GLIsEnabledRescaleNormal();
00611   friend NVSG_API GLboolean GLIsEnabledPointSmooth();
00612   friend NVSG_API GLboolean GLIsEnabledPolygonOffsetFill();
00613   friend NVSG_API GLboolean GLIsEnabledPolygonOffsetLine();
00614   friend NVSG_API GLboolean GLIsEnabledPolygonOffsetPoint();
00615   friend NVSG_API GLboolean GLIsEnabledPolygonSmooth();
00616   friend NVSG_API GLboolean GLIsEnabledPolygonStipple();
00617   friend NVSG_API GLboolean GLIsEnabledScissorTest();
00618   friend NVSG_API GLboolean GLIsEnabledStencilTest();
00619   friend NVSG_API GLboolean GLIsEnabledTexture( GLenum cap );
00620   friend NVSG_API GLboolean GLIsEnabledTextureGen( GLenum cap );
00621   friend NVSG_API GLboolean GLIsExtensionAvailable( const std::string& extension );
00622   friend NVSG_API GLboolean GLIsExtensionExported( const std::string& extension );
00623   friend NVSG_API GLboolean GLIsFence( GLuint fence );
00624   friend NVSG_API GLboolean GLIsList( GLuint list );
00625   friend NVSG_API GLboolean GLIsProgram( GLuint program );
00626   friend NVSG_API GLboolean GLIsQuery( GLuint id );
00627   friend NVSG_API GLboolean GLIsShader( GLuint shader );
00628   friend NVSG_API GLboolean GLIsTexture( GLuint texture );
00629   friend NVSG_API void GLDisableExtensionAvailability( const std::string& extension );
00630   friend NVSG_API void GLLightAmbient( GLenum light, const GLfloat *params );
00631   friend NVSG_API void GLLightConstantAttenuation( GLenum light, GLfloat param );
00632   friend NVSG_API void GLLightDiffuse( GLenum light, const GLfloat *params );
00633   friend NVSG_API void GLLightf( GLenum light, GLenum pname, GLfloat param );
00634   friend NVSG_API void GLLightfv( GLenum light, GLenum pname, const GLfloat *params );
00635   friend NVSG_API void GLLighti( GLenum light, GLenum pname, GLint param );
00636   friend NVSG_API void GLLightiv( GLenum light, GLenum pname, GLint *params );
00637   friend NVSG_API void GLLightPosition( GLenum light, const GLfloat * params );
00638   friend NVSG_API void GLLightLinearAttenuation( GLenum light, GLfloat param );
00639   friend NVSG_API void GLLightQuadraticAttenuation( GLenum light, GLfloat param );
00640   friend NVSG_API void GLLightSpecular( GLenum light, const GLfloat *params );
00641   friend NVSG_API void GLLightSpotCutoff( GLenum light, GLfloat param );
00642   friend NVSG_API void GLLightSpotDirection( GLenum light, const GLfloat *params );
00643   friend NVSG_API void GLLightSpotExponent( GLenum light, GLfloat param );
00644   friend NVSG_API void GLLightModelf( GLenum pname, GLfloat param );
00645   friend NVSG_API void GLLightModelfv( GLenum pname, const GLfloat *params );
00646   friend NVSG_API void GLLightModeli( GLenum pname, GLint param );
00647   friend NVSG_API void GLLightModeliv( GLenum pname, const GLint *params );
00648   friend NVSG_API void GLLightModelAmbient( const GLfloat * params );
00649   friend NVSG_API void GLLightModelLocalViewer( GLint param );
00650   friend NVSG_API void GLLightModelTwoSide( GLint param );
00651   friend NVSG_API void GLLightModelTwoSideLock( GLint param );
00652   friend NVSG_API void GLLightModelTwoSideUnlock( GLint param );
00653   friend NVSG_API void GLLineStipple( GLint factor, GLushort pattern );
00654   friend NVSG_API void GLLineWidth( GLfloat width );
00655   friend NVSG_API void GLLinkProgram( GLuint program );
00656   friend NVSG_API void GLListBase( GLuint base );
00657   friend NVSG_API void GLLoadIdentity( void );
00658   friend NVSG_API void GLLoadMatrixd( const GLdouble *m );
00659   friend NVSG_API void GLLoadMatrixf( const GLfloat *m );
00660   friend NVSG_API void GLLoadTransposedMatrixd( const GLdouble *m );
00661   friend NVSG_API void GLLoadTransposeMatrixf( const GLfloat *m );
00662   friend NVSG_API void GLLoadName( GLuint name );
00663   friend NVSG_API void GLLoadProgram( GLenum target, GLuint id, GLsizei len, const GLubyte *program );
00664   friend NVSG_API void GLLockArrays( GLint first, GLsizei count );
00665   friend NVSG_API void GLLogicOp( GLenum opcode );
00666   friend NVSG_API void GLMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
00667   friend NVSG_API void GLMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
00668   friend NVSG_API void GLMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
00669   friend NVSG_API void GLMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
00670   friend NVSG_API GLvoid* GLMapBuffer( GLenum target, GLenum access );
00671   friend NVSG_API void GLMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
00672   friend NVSG_API void GLMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
00673   friend NVSG_API void GLMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
00674   friend NVSG_API void GLMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
00675   friend NVSG_API void GLMaterialAmbient( GLenum face, const GLfloat *params );
00676   friend NVSG_API void GLMaterialAmbientBack( const GLfloat *params );
00677   friend NVSG_API void GLMaterialAmbientFront( const GLfloat *params );
00678   friend NVSG_API void GLMaterialAmbientFrontAndBack( const GLfloat *params );
00679   friend NVSG_API void GLMaterialDiffuse( GLenum face, const GLfloat *params );
00680   friend NVSG_API void GLMaterialDiffuseBack( const GLfloat *params );
00681   friend NVSG_API void GLMaterialDiffuseFront( const GLfloat *params );
00682   friend NVSG_API void GLMaterialDiffuseFrontAndBack( const GLfloat *params );
00683   friend NVSG_API void GLMaterialEmission( GLenum face, const GLfloat *params );
00684   friend NVSG_API void GLMaterialEmissionBack( const GLfloat *params );
00685   friend NVSG_API void GLMaterialEmissionFront( const GLfloat *params );
00686   friend NVSG_API void GLMaterialEmissionFrontAndBack( const GLfloat *params );
00687   friend NVSG_API void GLMaterialf( GLenum face, GLenum pname, GLfloat param );
00688   friend NVSG_API void GLMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
00689   friend NVSG_API void GLMateriali( GLenum face, GLenum pname, GLint param );
00690   friend NVSG_API void GLMaterialiv( GLenum face, GLenum pname, const GLint *params );
00691   friend NVSG_API void GLMaterialShininess( GLenum face, GLfloat param );
00692   friend NVSG_API void GLMaterialShininessBack( GLfloat param );
00693   friend NVSG_API void GLMaterialShininessFront( GLfloat param );
00694   friend NVSG_API void GLMaterialShininessFrontAndBack( GLfloat param );
00695   friend NVSG_API void GLMaterialSpecular( GLenum face, const GLfloat *params );
00696   friend NVSG_API void GLMaterialSpecularBack( const GLfloat *params );
00697   friend NVSG_API void GLMaterialSpecularFront( const GLfloat *params );
00698   friend NVSG_API void GLMaterialSpecularFrontAndBack( const GLfloat *params );
00699   friend NVSG_API void GLMatrixMode( GLenum mode );
00700   friend NVSG_API void GLMinmax( GLenum target, GLenum internalformat, GLboolean sink );
00701   friend NVSG_API void GLMultiDrawArrays( GLenum mode, GLint *first, GLsizei *count, GLsizei primcount );
00702   friend NVSG_API void GLMultiDrawElements( GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount );
00703   friend NVSG_API void GLMultiTexCoord1d( GLenum target, GLdouble s );
00704   friend NVSG_API void GLMultiTexCoord1dv( GLenum target, const GLdouble *v );
00705   friend NVSG_API void GLMultiTexCoord1f( GLenum target, GLfloat s );
00706   friend NVSG_API void GLMultiTexCoord1fv( GLenum target, const GLfloat *v );
00707   friend NVSG_API void GLMultiTexCoord1h( GLenum target, GLhalf s );
00708   friend NVSG_API void GLMultiTexCoord1hv( GLenum target, const GLhalf *v );
00709   friend NVSG_API void GLMultiTexCoord1i( GLenum target, GLint s );
00710   friend NVSG_API void GLMultiTexCoord1iv( GLenum target, const GLint *v );
00711   friend NVSG_API void GLMultiTexCoord1s( GLenum target, GLshort s );
00712   friend NVSG_API void GLMultiTexCoord1sv( GLenum target, const GLshort *v );
00713   friend NVSG_API void GLMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
00714   friend NVSG_API void GLMultiTexCoord2dv( GLenum target, const GLdouble *v );
00715   friend NVSG_API void GLMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
00716   friend NVSG_API void GLMultiTexCoord2fv( GLenum target, const GLfloat *v );
00717   friend NVSG_API void GLMultiTexCoord2h( GLenum target, GLhalf s, GLhalf t );
00718   friend NVSG_API void GLMultiTexCoord2hv( GLenum target, const GLhalf *v );
00719   friend NVSG_API void GLMultiTexCoord2i( GLenum target, GLint s, GLint t );
00720   friend NVSG_API void GLMultiTexCoord2iv( GLenum target, const GLint *v );
00721   friend NVSG_API void GLMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
00722   friend NVSG_API void GLMultiTexCoord2sv( GLenum target, const GLshort *v );
00723   friend NVSG_API void GLMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
00724   friend NVSG_API void GLMultiTexCoord3dv( GLenum target, const GLdouble *v );
00725   friend NVSG_API void GLMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
00726   friend NVSG_API void GLMultiTexCoord3fv( GLenum target, const GLfloat *v );
00727   friend NVSG_API void GLMultiTexCoord3h( GLenum target, GLhalf s, GLhalf t, GLhalf r );
00728   friend NVSG_API void GLMultiTexCoord3hv( GLenum target, const GLhalf *v );
00729   friend NVSG_API void GLMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
00730   friend NVSG_API void GLMultiTexCoord3iv( GLenum target, const GLint *v );
00731   friend NVSG_API void GLMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
00732   friend NVSG_API void GLMultiTexCoord3sv( GLenum target, const GLshort *v );
00733   friend NVSG_API void GLMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
00734   friend NVSG_API void GLMultiTexCoord4dv( GLenum target, const GLdouble *v );
00735   friend NVSG_API void GLMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
00736   friend NVSG_API void GLMultiTexCoord4fv( GLenum target, const GLfloat *v );
00737   friend NVSG_API void GLMultiTexCoord4h( GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q );
00738   friend NVSG_API void GLMultiTexCoord4hv( GLenum target, const GLhalf *v );
00739   friend NVSG_API void GLMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
00740   friend NVSG_API void GLMultiTexCoord4iv( GLenum target, const GLint *v );
00741   friend NVSG_API void GLMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
00742   friend NVSG_API void GLMultiTexCoord4sv( GLenum target, const GLshort *v );
00743   friend NVSG_API void GLMultMatrixd( const GLdouble *m );
00744   friend NVSG_API void GLMultMatrixf( const GLfloat *m );
00745   friend NVSG_API void GLMultTransposeMatrixd( const GLdouble *m );
00746   friend NVSG_API void GLMultTransposeMatrixf( const GLfloat *m );
00747   friend NVSG_API void GLNewList( GLuint list, GLenum mode );
00748   friend NVSG_API void GLNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
00749   friend NVSG_API void GLNormal3bv( const GLbyte *v );
00750   friend NVSG_API void GLNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
00751   friend NVSG_API void GLNormal3dv( const GLdouble *v );
00752   friend NVSG_API void GLNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
00753   friend NVSG_API void GLNormal3fv( const GLfloat *v );
00754   friend NVSG_API void GLNormal3h( GLhalf nx, GLhalf ny, GLhalf nz );
00755   friend NVSG_API void GLNormal3hv( const GLhalf *v );
00756   friend NVSG_API void GLNormal3i( GLint nx, GLint ny, GLint nz );
00757   friend NVSG_API void GLNormal3iv( const GLint *v );
00758   friend NVSG_API void GLNormal3s( GLshort nx, GLshort ny, GLshort nz );
00759   friend NVSG_API void GLNormal3sv( const GLshort *v );
00760   friend NVSG_API void GLNormalPointer( GLenum type, GLsizei stride, const GLvoid *pointer );
00761   friend NVSG_API void GLOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
00762   friend NVSG_API void GLPassThrough( GLfloat token );
00763   friend NVSG_API void GLPixelDataRange( GLenum target, GLsizei size, GLvoid *pointer );
00764   friend NVSG_API void GLPixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values );
00765   friend NVSG_API void GLPixelMapuiv( GLenum map, GLsizei mapsize, const GLuint *values );
00766   friend NVSG_API void GLPixelMapusv( GLenum map, GLsizei mapsize, const GLushort *values );
00767   friend NVSG_API void GLPixelStoref( GLenum pname, GLfloat param );
00768   friend NVSG_API void GLPixelStorei( GLenum pname, GLint param );
00769   friend NVSG_API void GLPixelTransferf( GLenum pname, GLfloat param );
00770   friend NVSG_API void GLPixelTransferi( GLenum pname, GLint param );
00771   friend NVSG_API void GLPixelZoom( GLfloat xfactor, GLfloat yfactor );
00772   friend NVSG_API void GLPointParameterf( GLenum pname, GLfloat param );
00773   friend NVSG_API void GLPointParameterfv( GLenum pname, const GLfloat *params );
00774   friend NVSG_API void GLPointParameteri( GLenum pname, GLint param );
00775   friend NVSG_API void GLPointParameteriv( GLenum pname, const GLint *params );
00776   friend NVSG_API void GLPointSize( GLfloat size );
00777   friend NVSG_API void GLPolygonMode( GLenum face, GLenum mode );
00778   friend NVSG_API void GLPolygonModeBack( GLenum mode );
00779   friend NVSG_API void GLPolygonModeFront( GLenum mode );
00780   friend NVSG_API void GLPolygonModeFrontAndBack( GLenum mode );
00781   friend NVSG_API void GLPolygonModeLock( GLenum face, GLenum mode );
00782   friend NVSG_API void GLPolygonModeUnlock( GLenum face, GLenum mode );
00783   friend NVSG_API void GLPolygonOffset( GLfloat factor, GLfloat units );
00784   friend NVSG_API void GLPolygonStipple( const GLubyte *mask );
00785   friend NVSG_API void GLPopAttrib( void );
00786   friend NVSG_API void GLPopClientAttrib( void );
00787   friend NVSG_API void GLPopMatrix( void );
00788   friend NVSG_API void GLPopName( void );
00789   friend NVSG_API void GLPrimitiveRestart();
00790   friend NVSG_API void GLPrimitiveRestartIndex( GLuint index );
00791   friend NVSG_API void GLPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities );
00792   friend NVSG_API void GLProgramBufferParametersfv( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params );
00793   friend NVSG_API void GLProgramBufferParametersIiv( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params );
00794   friend NVSG_API void GLProgramBufferParametersIuiv( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params );
00795   friend NVSG_API void GLProgramEnvParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00796   friend NVSG_API void GLProgramEnvParameter4dv(GLenum target, GLuint index, const GLdouble *params);
00797   friend NVSG_API void GLProgramEnvParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00798   friend NVSG_API void GLProgramEnvParameter4fv(GLenum target, GLuint index, const GLfloat *params);
00799   friend NVSG_API void GLProgramEnvParametersI4iv( GLenum target, GLuint index, GLsizei count, const GLint *params );
00800   friend NVSG_API void GLProgramEnvParameterI4i( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w );
00801   friend NVSG_API void GLProgramEnvParameterI4iv( GLenum target, GLuint index, const GLint *params );
00802   friend NVSG_API void GLProgramEnvParametersI4uiv( GLenum target, GLuint index, GLsizei count, const GLuint *params );
00803   friend NVSG_API void GLProgramEnvParameterI4ui( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w );
00804   friend NVSG_API void GLProgramEnvParameterI4uiv( GLenum target, GLuint index, const GLuint *params );
00805   friend NVSG_API void GLProgramEnvParameters4fv( GLenum target, GLuint index, GLsizei count, const GLfloat *params );
00806   friend NVSG_API void GLProgramLocalParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
00807   friend NVSG_API void GLProgramLocalParameter4dv(GLenum target, GLuint index, const GLdouble *params);
00808   friend NVSG_API void GLProgramLocalParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
00809   friend NVSG_API void GLProgramLocalParameter4fv(GLenum target, GLuint index, const GLfloat *params);
00810   friend NVSG_API void GLProgramLocalParametersI4iv( GLenum target, GLuint index, GLsizei count, const GLint *params );
00811   friend NVSG_API void GLProgramLocalParametersI4uiv( GLenum target, GLuint index, GLsizei count, const GLuint *params );
00812   friend NVSG_API void GLProgramLocalParameterI4i( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w );
00813   friend NVSG_API void GLProgramLocalParameterI4iv( GLenum target, GLuint index, const GLint *params );
00814   friend NVSG_API void GLProgramLocalParameterI4ui( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w );
00815   friend NVSG_API void GLProgramLocalParameterI4uiv( GLenum target, GLuint index, const GLuint *params );
00816   friend NVSG_API void GLProgramLocalParameters4fv( GLenum target, GLuint index, GLsizei count, const GLfloat *params );
00817   friend NVSG_API void GLProgramNamedParameter4d( GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w );
00818   friend NVSG_API void GLProgramNamedParameter4dv( GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v );
00819   friend NVSG_API void GLProgramNamedParameter4f( GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
00820   friend NVSG_API void GLProgramNamedParameter4fv( GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v );
00821   friend NVSG_API void GLProgramParameter4d( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w );
00822   friend NVSG_API void GLProgramParameter4dv( GLenum target, GLuint index, const GLdouble *v );
00823   friend NVSG_API void GLProgramParameter4f( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
00824   friend NVSG_API void GLProgramParameter4fv( GLenum target, GLuint index, const GLfloat *v );
00825   friend NVSG_API void GLProgramParameteri( GLuint program, GLenum pname, GLint value );
00826   friend NVSG_API void GLProgramParameters4dv( GLenum target, GLuint index, GLsizei count, const GLdouble *v );
00827   friend NVSG_API void GLProgramParameters4fv( GLenum target, GLuint index, GLsizei count, const GLfloat *v );
00828   friend NVSG_API void GLProgramString( GLenum target, GLenum format, GLsizei len, const GLvoid *string );
00829   friend NVSG_API void GLProgramVertexLimit( GLenum target, GLint limit );
00830   friend NVSG_API void GLPushAttrib( GLbitfield mask );
00831   friend NVSG_API void GLPushClientAttrib( GLbitfield mask );
00832   friend NVSG_API void GLPushMatrix( void );
00833   friend NVSG_API void GLPushName( GLuint name );
00834   friend NVSG_API void GLRasterPos2d( GLdouble x, GLdouble y );
00835   friend NVSG_API void GLRasterPos2f( GLfloat x, GLfloat y );
00836   friend NVSG_API void GLRasterPos2i( GLint x, GLint y );
00837   friend NVSG_API void GLRasterPos2s( GLshort x, GLshort y );
00838   friend NVSG_API void GLRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
00839   friend NVSG_API void GLRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
00840   friend NVSG_API void GLRasterPos3i( GLint x, GLint y, GLint z );
00841   friend NVSG_API void GLRasterPos3s( GLshort x, GLshort y, GLshort z );
00842   friend NVSG_API void GLRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
00843   friend NVSG_API void GLRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
00844   friend NVSG_API void GLRasterPos4i( GLint x, GLint y, GLint z, GLint w );
00845   friend NVSG_API void GLRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
00846   friend NVSG_API void GLRasterPos2dv( const GLdouble *v );
00847   friend NVSG_API void GLRasterPos2fv( const GLfloat *v );
00848   friend NVSG_API void GLRasterPos2iv( const GLint *v );
00849   friend NVSG_API void GLRasterPos2sv( const GLshort *v );
00850   friend NVSG_API void GLRasterPos3dv( const GLdouble *v );
00851   friend NVSG_API void GLRasterPos3fv( const GLfloat *v );
00852   friend NVSG_API void GLRasterPos3iv( const GLint *v );
00853   friend NVSG_API void GLRasterPos3sv( const GLshort *v );
00854   friend NVSG_API void GLRasterPos4dv( const GLdouble *v );
00855   friend NVSG_API void GLRasterPos4fv( const GLfloat *v );
00856   friend NVSG_API void GLRasterPos4iv( const GLint *v );
00857   friend NVSG_API void GLRasterPos4sv( const GLshort *v );
00858   friend NVSG_API void GLReadBuffer( GLenum mode );
00859   friend NVSG_API void GLReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels );
00860   friend NVSG_API void GLRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
00861   friend NVSG_API void GLRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
00862   friend NVSG_API void GLRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
00863   friend NVSG_API void GLRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
00864   friend NVSG_API void GLRenderMode( GLenum mode );
00865   friend NVSG_API void GLRequestResidentPrograms( GLsizei n, const GLuint *programs );
00866   friend NVSG_API void GLResetHistogram( GLenum target );
00867   friend NVSG_API void GLResetMinmax( GLenum target );
00868   friend NVSG_API void GLRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
00869   friend NVSG_API void GLRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
00870   friend NVSG_API void GLScaled( GLdouble x, GLdouble y, GLdouble z );
00871   friend NVSG_API void GLScalef( GLfloat x, GLfloat y, GLfloat z );
00872   friend NVSG_API void GLSampleCoverage( GLclampf value, GLboolean invert );
00873   friend NVSG_API void GLScissor( GLint x, GLint y, GLsizei width, GLsizei height );
00874   friend NVSG_API void GLSecondaryColor3b( GLbyte red, GLbyte green, GLbyte blue );
00875   friend NVSG_API void GLSecondaryColor3bv( const GLbyte *v );
00876   friend NVSG_API void GLSecondaryColor3d( GLdouble red, GLdouble green, GLdouble blue );
00877   friend NVSG_API void GLSecondaryColor3dv( const GLdouble *v );
00878   friend NVSG_API void GLSecondaryColor3f( GLfloat red, GLfloat green, GLfloat blue );
00879   friend NVSG_API void GLSecondaryColor3fv( const GLfloat *v );
00880   friend NVSG_API void GLSecondaryColor3h( GLhalf red, GLhalf green, GLhalf blue );
00881   friend NVSG_API void GLSecondaryColor3hv( const GLhalf *v );
00882   friend NVSG_API void GLSecondaryColor3i( GLint red, GLint green, GLint blue );
00883   friend NVSG_API void GLSecondaryColor3iv( const GLint *v );
00884   friend NVSG_API void GLSecondaryColor3s( GLshort red, GLshort green, GLshort blue );
00885   friend NVSG_API void GLSecondaryColor3sv( const GLshort *v );
00886   friend NVSG_API void GLSecondaryColor3ub( GLubyte red, GLubyte green, GLubyte blue );
00887   friend NVSG_API void GLSecondaryColor3ubv( const GLubyte *v );
00888   friend NVSG_API void GLSecondaryColor3ui( GLuint red, GLuint green, GLuint blue );
00889   friend NVSG_API void GLSecondaryColor3uiv( const GLuint *v );
00890   friend NVSG_API void GLSecondaryColor3us( GLushort red, GLushort green, GLushort blue );
00891   friend NVSG_API void GLSecondaryColor3usv( const GLushort *v );
00892   friend NVSG_API void GLSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00893   friend NVSG_API void GLSelectBuffer( GLsizei size, GLuint *buffer );
00894   friend NVSG_API void GLSelectTexture( GLenum target );
00895   friend NVSG_API void GLSelectTextureCoordSet( GLenum target );
00896   friend NVSG_API void GLSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column );
00897   friend NVSG_API void GLSetFence( GLuint fence, GLenum condition );
00898   friend NVSG_API void GLShadeModel( GLenum mode );
00899   friend NVSG_API void GLShaderSource( GLuint shader, GLsizei count, const GLcharARB* *string, const GLint *length );
00900   friend NVSG_API void GLStencilClearTag( GLsizei tagBits, GLuint clearTag );
00901   friend NVSG_API void GLStencilFunc( GLenum func, GLint ref, GLuint mask );
00902   friend NVSG_API void GLStencilFuncSeparate( GLenum face, GLenum func, GLint ref, GLuint mask );
00903   friend NVSG_API void GLStencilOpSeparate( GLenum face, GLenum fail, GLenum zfail, GLenum zpass );
00904   friend NVSG_API void GLStencilMaskSeparate( GLenum face, GLuint mask );
00905   friend NVSG_API void GLStencilMask( GLuint mask );
00906   friend NVSG_API void GLStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
00907   friend NVSG_API void GLStringMarker( GLsizei len, const GLvoid *string );
00908   friend NVSG_API GLboolean GLTestFence( GLuint fence );
00909   friend NVSG_API void GLTexBuffer( GLenum target, GLenum internalformat, GLuint buffer );
00910   friend NVSG_API void GLTexCoord1d( GLdouble s );
00911   friend NVSG_API void GLTexCoord1dv( const GLdouble *v );
00912   friend NVSG_API void GLTexCoord1f( GLfloat s );
00913   friend NVSG_API void GLTexCoord1fv( const GLfloat *v );
00914   friend NVSG_API void GLTexCoord1h( GLhalf s );
00915   friend NVSG_API void GLTexCoord1hv( const GLhalf *v );
00916   friend NVSG_API void GLTexCoord1i( GLint s );
00917   friend NVSG_API void GLTexCoord1iv( const GLint *v );
00918   friend NVSG_API void GLTexCoord1s( GLshort s );
00919   friend NVSG_API void GLTexCoord1sv( const GLshort *v );
00920   friend NVSG_API void GLTexCoord2d( GLdouble s, GLdouble t );
00921   friend NVSG_API void GLTexCoord2dv( const GLdouble *v );
00922   friend NVSG_API void GLTexCoord2f( GLfloat s, GLfloat t );
00923   friend NVSG_API void GLTexCoord2fv( const GLfloat *v );
00924   friend NVSG_API void GLTexCoord2h( GLhalf s, GLhalf t );
00925   friend NVSG_API void GLTexCoord2hv( const GLhalf *v );
00926   friend NVSG_API void GLTexCoord2i( GLint s, GLint t );
00927   friend NVSG_API void GLTexCoord2iv( const GLint *v );
00928   friend NVSG_API void GLTexCoord2s( GLshort s, GLshort t );
00929   friend NVSG_API void GLTexCoord2sv( const GLshort *v );
00930   friend NVSG_API void GLTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
00931   friend NVSG_API void GLTexCoord3dv( const GLdouble *v );
00932   friend NVSG_API void GLTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
00933   friend NVSG_API void GLTexCoord3fv( const GLfloat *v );
00934   friend NVSG_API void GLTexCoord3h( GLhalf s, GLhalf t, GLhalf r );
00935   friend NVSG_API void GLTexCoord3hv( const GLhalf *v );
00936   friend NVSG_API void GLTexCoord3i( GLint s, GLint t, GLint r );
00937   friend NVSG_API void GLTexCoord3iv( const GLint *v );
00938   friend NVSG_API void GLTexCoord3s( GLshort s, GLshort t, GLshort r );
00939   friend NVSG_API void GLTexCoord3sv( const GLshort *v );
00940   friend NVSG_API void GLTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
00941   friend NVSG_API void GLTexCoord4dv( const GLdouble *v );
00942   friend NVSG_API void GLTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
00943   friend NVSG_API void GLTexCoord4fv( const GLfloat *v );
00944   friend NVSG_API void GLTexCoord4h( GLhalf s, GLhalf t, GLhalf r, GLhalf q );
00945   friend NVSG_API void GLTexCoord4hv( const GLhalf *v );
00946   friend NVSG_API void GLTexCoord4i( GLint s, GLint t, GLint r, GLint q );
00947   friend NVSG_API void GLTexCoord4iv( const GLint *v );
00948   friend NVSG_API void GLTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
00949   friend NVSG_API void GLTexCoord4sv( const GLshort *v );
00950   friend NVSG_API void GLTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00951   friend NVSG_API void GLTexEnvf( GLenum target, GLenum pname, GLfloat param );
00952   friend NVSG_API void GLTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
00953   friend NVSG_API void GLTexEnvi( GLenum target, GLenum pname, GLint param );
00954   friend NVSG_API void GLTexEnviv( GLenum target, GLenum pname, const GLint *params );
00955   friend NVSG_API void GLTexGend( GLenum coord, GLenum pname, GLdouble param );
00956   friend NVSG_API void GLTexGenf( GLenum coord, GLenum pname, GLfloat param );
00957   friend NVSG_API void GLTexGenfv( GLenum coord, GLenum pname, const GLfloat *param );
00958   friend NVSG_API void GLTexGeni( GLenum coord, GLenum pname, GLint param );
00959   friend NVSG_API void GLTexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
00960   friend NVSG_API void GLTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels );
00961   friend NVSG_API void GLTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void* pixels);
00962   friend NVSG_API void GLTexParameterf( GLenum target, GLenum pname, GLfloat param );
00963   friend NVSG_API void GLTexParameteri( GLenum target, GLenum pname, GLint param );
00964   friend NVSG_API void GLTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
00965   friend NVSG_API void GLTexParameteriv( GLenum target, GLenum pname, const GLint *params );
00966   friend NVSG_API void GLTexParameterIiv( GLenum target, GLenum pname, const GLint *params );
00967   friend NVSG_API void GLTexParameterIuiv( GLenum target, GLenum pname, const GLuint *params );
00968   friend NVSG_API void GLTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels );
00969   friend NVSG_API void GLTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels );
00970   friend NVSG_API void GLTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels );
00971   friend NVSG_API void GLTextureBorderColor( GLenum target, const GLfloat *params );
00972   friend NVSG_API void GLTextureEnvColor( const GLfloat * params );
00973   friend NVSG_API void GLTextureEnvMode( GLint param );
00974   friend NVSG_API void GLTextureMagFilter( GLenum target, GLint param );
00975   friend NVSG_API void GLTextureMinFilter( GLenum target, GLint param );
00976   friend NVSG_API void GLTextureWrapR( GLenum target, GLint param );
00977   friend NVSG_API void GLTextureWrapS( GLenum target, GLint param );
00978   friend NVSG_API void GLTextureWrapT( GLenum target, GLint param );
00979   friend NVSG_API void GLTrackMatrix( GLenum target, GLuint address, GLenum matrix, GLenum transform );
00980   friend NVSG_API void GLTransformFeedbackAttribsNV( GLuint count, const GLint *attribs, GLenum bufferMode );
00981   friend NVSG_API void GLTransformFeedbackVaryingsNV( GLuint program, GLsizei count, const GLint* varyings, GLenum bufferMode );
00982   friend NVSG_API void GLTransformFeedbackVaryings( GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode );
00983   friend NVSG_API void GLTranslated( GLdouble x, GLdouble y, GLdouble z );
00984   friend NVSG_API void GLTranslatef( GLfloat x, GLfloat y, GLfloat z );
00985   friend NVSG_API void GLUnlockArrays();
00986   friend NVSG_API void GLUniform1f( GLint location, GLfloat v0 );
00987   friend NVSG_API void GLUniform1fv( GLint location, GLsizei count, const GLfloat *value );
00988   friend NVSG_API void GLUniform1i( GLint location, GLint v0 );
00989   friend NVSG_API void GLUniform1iv( GLint location, GLsizei count, const GLint *value );
00990   friend NVSG_API void GLUniform1ui( GLint location, GLuint v0 );
00991   friend NVSG_API void GLUniform1uiv( GLint location, GLsizei count, const GLuint *value );
00992   friend NVSG_API void GLUniform2f( GLint location, GLfloat v0, GLfloat v1 );
00993   friend NVSG_API void GLUniform2fv( GLint location, GLsizei count, const GLfloat *value );
00994   friend NVSG_API void GLUniform2i( GLint location, GLint v0, GLint v1 );
00995   friend NVSG_API void GLUniform2iv( GLint location, GLsizei count, const GLint *value );
00996   friend NVSG_API void GLUniform2ui( GLint location, GLuint v0, GLuint v1 );
00997   friend NVSG_API void GLUniform2uiv( GLint location, GLsizei count, const GLuint *value );
00998   friend NVSG_API void GLUniform3f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 );
00999   friend NVSG_API void GLUniform3fv( GLint location, GLsizei count, const GLfloat *value );
01000   friend NVSG_API void GLUniform3i( GLint location, GLint v0, GLint v1, GLint v2 );
01001   friend NVSG_API void GLUniform3iv( GLint location, GLsizei count, const GLint *value );
01002   friend NVSG_API void GLUniform3ui( GLint location, GLuint v0, GLuint v1, GLuint v2 );
01003   friend NVSG_API void GLUniform3uiv( GLint location, GLsizei count, const GLuint *value );
01004   friend NVSG_API void GLUniform4f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 );
01005   friend NVSG_API void GLUniform4fv( GLint location, GLsizei count, const GLfloat *value );
01006   friend NVSG_API void GLUniform4i( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 );
01007   friend NVSG_API void GLUniform4iv( GLint location, GLsizei count, const GLint *value );
01008   friend NVSG_API void GLUniform4ui( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 );
01009   friend NVSG_API void GLUniform4uiv( GLint location, GLsizei count, const GLuint *value );
01010   friend NVSG_API void GLUniformBuffer( GLuint program, GLint location, GLuint buffer );
01011   friend NVSG_API void GLUniformMatrix2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01012   friend NVSG_API void GLUniformMatrix2x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01013   friend NVSG_API void GLUniformMatrix2x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01014   friend NVSG_API void GLUniformMatrix3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01015   friend NVSG_API void GLUniformMatrix3x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01016   friend NVSG_API void GLUniformMatrix3x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01017   friend NVSG_API void GLUniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01018   friend NVSG_API void GLUniformMatrix4x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01019   friend NVSG_API void GLUniformMatrix4x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value );
01020   friend NVSG_API GLboolean GLUnmapBuffer( GLenum target );
01021   friend NVSG_API void GLUseProgram( GLuint program );
01022   friend NVSG_API void GLUseProgramObject( GLhandleARB programObj );
01023   friend NVSG_API void GLValidateProgram( GLuint program );
01024   friend NVSG_API void GLVertex2d( GLdouble x, GLdouble y );
01025   friend NVSG_API void GLVertex2dv( const GLdouble *v );
01026   friend NVSG_API void GLVertex2f( GLfloat x, GLfloat y );
01027   friend NVSG_API void GLVertex2fv( const GLfloat *v );
01028   friend NVSG_API void GLVertex2h( GLhalf x, GLhalf y );
01029   friend NVSG_API void GLVertex2hv( const GLhalf *v );
01030   friend NVSG_API void GLVertex2i( GLint x, GLint y );
01031   friend NVSG_API void GLVertex2iv( const GLint *v );
01032   friend NVSG_API void GLVertex2s( GLshort x, GLshort y );
01033   friend NVSG_API void GLVertex2sv( const GLshort *v );
01034   friend NVSG_API void GLVertex3d( GLdouble x, GLdouble y, GLdouble z );
01035   friend NVSG_API void GLVertex3dv( const GLdouble *v );
01036   friend NVSG_API void GLVertex3f( GLfloat x, GLfloat y, GLfloat z );
01037   friend NVSG_API void GLVertex3fv( const GLfloat *v );
01038   friend NVSG_API void GLVertex3h( GLhalf x, GLhalf y, GLhalf z );
01039   friend NVSG_API void GLVertex3hv( const GLhalf *v );
01040   friend NVSG_API void GLVertex3i( GLint x, GLint y, GLint z );
01041   friend NVSG_API void GLVertex3iv( const GLint *v );
01042   friend NVSG_API void GLVertex3s( GLshort x, GLshort y, GLshort z );
01043   friend NVSG_API void GLVertex3sv( const GLshort *v );
01044   friend NVSG_API void GLVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
01045   friend NVSG_API void GLVertex4dv( const GLdouble *v );
01046   friend NVSG_API void GLVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
01047   friend NVSG_API void GLVertex4fv( const GLfloat *v );
01048   friend NVSG_API void GLVertex4h( GLhalf x, GLhalf y, GLhalf z, GLhalf w );
01049   friend NVSG_API void GLVertex4hv( const GLhalf *v );
01050   friend NVSG_API void GLVertex4i( GLint x, GLint y, GLint z, GLint w );
01051   friend NVSG_API void GLVertex4iv( const GLint *v );
01052   friend NVSG_API void GLVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
01053   friend NVSG_API void GLVertex4sv( const GLshort *v );
01054   friend NVSG_API void GLVertexArrayRange( GLsizei size, const GLvoid *pointer );
01055   friend NVSG_API void GLVertexAttrib1d( GLuint index, GLdouble x );
01056   friend NVSG_API void GLVertexAttrib1dv( GLuint index, const GLdouble *v );
01057   friend NVSG_API void GLVertexAttrib1f( GLuint index, GLfloat x );
01058   friend NVSG_API void GLVertexAttrib1fv( GLuint index, const GLfloat *v );
01059   friend NVSG_API void GLVertexAttrib1h( GLuint index, GLhalf x );
01060   friend NVSG_API void GLVertexAttrib1hv( GLuint index, const GLhalf *v );
01061   friend NVSG_API void GLVertexAttrib1s( GLuint index, GLshort x );
01062   friend NVSG_API void GLVertexAttrib1sv( GLuint index, const GLshort *v );
01063   friend NVSG_API void GLVertexAttrib2d( GLuint index, GLdouble x, GLdouble y );
01064   friend NVSG_API void GLVertexAttrib2dv( GLuint index, const GLdouble *v );
01065   friend NVSG_API void GLVertexAttrib2f( GLuint index, GLfloat x, GLfloat y );
01066   friend NVSG_API void GLVertexAttrib2fv( GLuint index, const GLfloat *v );
01067   friend NVSG_API void GLVertexAttrib2h( GLuint index, GLhalf x, GLhalf y );
01068   friend NVSG_API void GLVertexAttrib2hv( GLuint index, const GLhalf *v );
01069   friend NVSG_API void GLVertexAttrib2s( GLuint index, GLshort x, GLshort y );
01070   friend NVSG_API void GLVertexAttrib2sv( GLuint index, const GLshort *v );
01071   friend NVSG_API void GLVertexAttrib3d( GLuint index, GLdouble x, GLdouble y, GLdouble z );
01072   friend NVSG_API void GLVertexAttrib3dv( GLuint index, const GLdouble *v );
01073   friend NVSG_API void GLVertexAttrib3f( GLuint index, GLfloat x, GLfloat y, GLfloat z );
01074   friend NVSG_API void GLVertexAttrib3fv( GLuint index, const GLfloat *v );
01075   friend NVSG_API void GLVertexAttrib3h( GLuint index, GLhalf x, GLhalf y, GLhalf z );
01076   friend NVSG_API void GLVertexAttrib3hv( GLuint index, const GLhalf *v );
01077   friend NVSG_API void GLVertexAttrib3s( GLuint index, GLshort x, GLshort y, GLshort z );
01078   friend NVSG_API void GLVertexAttrib3sv( GLuint index, const GLshort *v );
01079   friend NVSG_API void GLVertexAttrib4bv( GLuint index, const GLbyte *v );
01080   friend NVSG_API void GLVertexAttrib4d( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w );
01081   friend NVSG_API void GLVertexAttrib4dv( GLuint index, const GLdouble *v );
01082   friend NVSG_API void GLVertexAttrib4f( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
01083   friend NVSG_API void GLVertexAttrib4fv( GLuint index, const GLfloat *v );
01084   friend NVSG_API void GLVertexAttrib4h( GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w );
01085   friend NVSG_API void GLVertexAttrib4hv( GLuint index, const GLhalf *v );
01086   friend NVSG_API void GLVertexAttrib4iv( GLuint index, const GLint *v );
01087   friend NVSG_API void GLVertexAttrib4s( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w );
01088   friend NVSG_API void GLVertexAttrib4sv( GLuint index, const GLshort *v );
01089   friend NVSG_API void GLVertexAttrib4ub( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w );
01090   friend NVSG_API void GLVertexAttrib4ubv( GLuint index, const GLubyte *v );
01091   friend NVSG_API void GLVertexAttrib4uiv( GLuint index, const GLuint *v );
01092   friend NVSG_API void GLVertexAttrib4usv( GLuint index, const GLushort *v );
01093   friend NVSG_API void GLVertexAttrib4Nbv( GLuint index, const GLbyte *v );
01094   friend NVSG_API void GLVertexAttrib4Niv( GLuint index, const GLint *v );
01095   friend NVSG_API void GLVertexAttrib4Nsv( GLuint index, const GLshort *v );
01096   friend NVSG_API void GLVertexAttrib4Nub( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w );
01097   friend NVSG_API void GLVertexAttrib4Nubv( GLuint index, const GLubyte *v );
01098   friend NVSG_API void GLVertexAttrib4Nuiv( GLuint index, const GLuint *v );
01099   friend NVSG_API void GLVertexAttrib4Nusv( GLuint index, const GLushort *v );
01100   friend NVSG_API void GLVertexAttribI1i( GLuint index, GLint x );
01101   friend NVSG_API void GLVertexAttribI1iv( GLuint index, const GLint *v );
01102   friend NVSG_API void GLVertexAttribI1ui( GLuint index, GLuint x );
01103   friend NVSG_API void GLVertexAttribI1uiv( GLuint index, const GLuint *v );
01104   friend NVSG_API void GLVertexAttribI2i( GLuint index, GLint x, GLint y );
01105   friend NVSG_API void GLVertexAttribI2iv( GLuint index, const GLint *v );
01106   friend NVSG_API void GLVertexAttribI2ui( GLuint index, GLuint x, GLuint y );
01107   friend NVSG_API void GLVertexAttribI2uiv( GLuint index, const GLuint *v );
01108   friend NVSG_API void GLVertexAttribI3i( GLuint index, GLint x, GLint y, GLint z );
01109   friend NVSG_API void GLVertexAttribI3iv( GLuint index, const GLint *v );
01110   friend NVSG_API void GLVertexAttribI3ui( GLuint index, GLuint x, GLuint y, GLuint z );
01111   friend NVSG_API void GLVertexAttribI3uiv( GLuint index, const GLuint *v );
01112   friend NVSG_API void GLVertexAttribI4bv( GLuint index, const GLbyte *v );
01113   friend NVSG_API void GLVertexAttribI4i( GLuint index, GLint x, GLint y, GLint z, GLint w );
01114   friend NVSG_API void GLVertexAttribI4iv( GLuint index, const GLint *v );
01115   friend NVSG_API void GLVertexAttribI4sv( GLuint index, const GLshort *v );
01116   friend NVSG_API void GLVertexAttribI4ubv( GLuint index, const GLubyte *v );
01117   friend NVSG_API void GLVertexAttribI4ui( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w );
01118   friend NVSG_API void GLVertexAttribI4uiv( GLuint index, const GLuint *v );
01119   friend NVSG_API void GLVertexAttribI4usv( GLuint index, const GLushort *v );
01120   friend NVSG_API void GLVertexAttribIPointer( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
01121   friend NVSG_API void GLVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid *pointer );
01122   friend NVSG_API void GLVertexAttribPointerNV( GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer );
01123   friend NVSG_API void GLVertexAttribs1dvNV( GLuint index, GLsizei count, const GLdouble *v );
01124   friend NVSG_API void GLVertexAttribs1fvNV( GLuint index, GLsizei count, const GLfloat *v );
01125   friend NVSG_API void GLVertexAttribs1hv( GLuint index, GLsizei count, const GLhalf *v );
01126   friend NVSG_API void GLVertexAttribs1svNV( GLuint index, GLsizei count, const GLshort *v );
01127   friend NVSG_API void GLVertexAttribs2dvNV( GLuint index, GLsizei count, const GLdouble *v );
01128   friend NVSG_API void GLVertexAttribs2fvNV( GLuint index, GLsizei count, const GLfloat *v );
01129   friend NVSG_API void GLVertexAttribs2hv( GLuint index, GLsizei count, const GLhalf *v );
01130   friend NVSG_API void GLVertexAttribs2svNV( GLuint index, GLsizei count, const GLshort *v );
01131   friend NVSG_API void GLVertexAttribs3dvNV( GLuint index, GLsizei count, const GLdouble *v );
01132   friend NVSG_API void GLVertexAttribs3fvNV( GLuint index, GLsizei count, const GLfloat *v );
01133   friend NVSG_API void GLVertexAttribs3hv( GLuint index, GLsizei count, const GLhalf *v );
01134   friend NVSG_API void GLVertexAttribs3svNV( GLuint index, GLsizei count, const GLshort *v );
01135   friend NVSG_API void GLVertexAttribs4dvNV( GLuint index, GLsizei count, const GLdouble *v );
01136   friend NVSG_API void GLVertexAttribs4fvNV( GLuint index, GLsizei count, const GLfloat *v );
01137   friend NVSG_API void GLVertexAttribs4hv( GLuint index, GLsizei count, const GLhalf *v );
01138   friend NVSG_API void GLVertexAttribs4svNV( GLuint index, GLsizei count, const GLshort *v );
01139   friend NVSG_API void GLVertexAttribs4ubvNV( GLuint index, GLsizei count, const GLubyte *v );
01140   friend NVSG_API void GLVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
01141   friend NVSG_API void GLViewport( GLint x, GLint y, GLsizei width, GLsizei height );
01142   friend NVSG_API void GLWindowPos2d( GLdouble x, GLdouble y );
01143   friend NVSG_API void GLWindowPos2dv( const GLdouble *p );
01144   friend NVSG_API void GLWindowPos2f( GLfloat x, GLfloat y );
01145   friend NVSG_API void GLWindowPos2fv( const GLfloat *p );
01146   friend NVSG_API void GLWindowPos2i( GLint x, GLint y );
01147   friend NVSG_API void GLWindowPos2iv( const GLint *p );
01148   friend NVSG_API void GLWindowPos2s( GLshort x, GLshort y );
01149   friend NVSG_API void GLWindowPos2sv( const GLshort *p );
01150   friend NVSG_API void GLWindowPos3d( GLdouble x, GLdouble y, GLdouble z );
01151   friend NVSG_API void GLWindowPos3dv( const GLdouble *p );
01152   friend NVSG_API void GLWindowPos3f( GLfloat x, GLfloat y, GLfloat z );
01153   friend NVSG_API void GLWindowPos3fv( const GLfloat *p );
01154   friend NVSG_API void GLWindowPos3i( GLint x, GLint y, GLint z );
01155   friend NVSG_API void GLWindowPos3iv( const GLint *p );
01156   friend NVSG_API void GLWindowPos3s( GLshort x, GLshort y, GLshort z );
01157   friend NVSG_API void GLWindowPos3sv( const GLshort *p );
01158
01159   // EXT_framebuffer_object API
01160   friend NVSG_API GLboolean GLIsRenderbuffer(GLuint renderbuffer);
01161   friend NVSG_API void GLBindRenderbuffer(GLenum target, GLuint renderbuffer);
01162   friend NVSG_API void GLDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers);
01163   friend NVSG_API void GLGenRenderbuffers(GLsizei n, GLuint *renderbuffers);
01164   friend NVSG_API void GLRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
01165   friend NVSG_API void GLRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
01166   friend NVSG_API void GLRenderbufferStorageMultisampleCoverage(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
01167   friend NVSG_API void GLGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params);
01168   friend NVSG_API GLboolean GLIsFramebuffer(GLuint framebuffer);
01169   friend NVSG_API void GLBindFramebuffer(GLenum target, GLuint framebuffer);
01170   friend NVSG_API void GLDeleteFramebuffers(GLsizei n, const GLuint *framebuffers);
01171   friend NVSG_API void GLGenFramebuffers(GLsizei n, GLuint *framebuffers);
01172   friend NVSG_API GLenum GLCheckFramebufferStatus(GLenum target);
01173   friend NVSG_API void GLFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
01174   friend NVSG_API void GLFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
01175   friend NVSG_API void GLFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
01176   friend NVSG_API void GLFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
01177   friend NVSG_API void GLFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
01178   friend NVSG_API void GLGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params);
01179   friend NVSG_API void GLGenerateMipmap(GLenum target);
01180   friend NVSG_API void GLGPUSyncGetHandleSize(GLuint *initSize, GLuint *mapSize);
01181   friend NVSG_API void GLGPUSyncInit(GLvoid* syncData);
01182   friend NVSG_API void GLGPUSyncEnd(GLvoid* syncData);
01183   friend NVSG_API void GLGPUSyncMapBuffer(GLvoid* syncData);
01184   friend NVSG_API void GLGPUSyncUnmapBuffer(GLvoid* syncData);
01185   friend NVSG_API void GLGPUSyncCopyBuffer(GLuint offset, GLuint size,
01186                                                             GLvoid * syncData);
01187   friend NVSG_API void GLGPUSyncAcquire(GLvoid* syncData);
01188   friend NVSG_API void GLGPUSyncRelease(GLvoid* syncData);
01189
01190   // GL_ARB_tessellation_shader
01191   friend NVSG_API void GLPatchParameterfv(GLenum pname, const GLfloat * values );
01192   friend NVSG_API void GLPatchParameteri(GLenum pname, GLint value );
01193
01194   // GL_ARB_map_buffer_range
01195   friend NVSG_API GLvoid* GLMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
01196   friend NVSG_API void GLFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length);
01197
01198   // GL_ARB_copy_buffer
01199   friend NVSG_API void GLCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
01200
01201   // GL_ARB_texture_multisample
01202   friend NVSG_API void GLTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
01203   friend NVSG_API void GLTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations);
01204   friend NVSG_API void GLGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val);
01205   friend NVSG_API void GLSampleMaski(GLuint index, GLbitfield mask);
01206
01207   // GL_ARB_vertex_array_object
01208   friend NVSG_API void GLBindVertexArray( GLuint array );
01209   friend NVSG_API void GLDeleteVertexArrays( GLsizei n, const GLuint* arrays );
01210   friend NVSG_API void GLGenVertexArrays( GLsizei n, GLuint *arrays );
01211   friend NVSG_API void GLIsVertexArray( GLuint array );
01212
01213   // GL_ARB_debug_output
01214   friend NVSG_API void GLDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
01215   friend NVSG_API void GLDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
01216   friend NVSG_API void GLDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam);
01217   friend NVSG_API GLuint GLGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
01218
01219   // GL_NV_present_video
01220   friend NVSG_API void GLPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId,
01221                                              GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1);
01222   friend NVSG_API void GLPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId,
01223                                                 GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3);
01224   friend NVSG_API void GLGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params);
01225   friend NVSG_API void GLGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params);
01226   friend NVSG_API void GLGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params);
01227   friend NVSG_API void GLGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params);
01228
01229   // GL_NV_vertex_buffer_unified_memory
01230   friend NVSG_API void GLBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length);
01231   friend NVSG_API void GLVertexFormatNV(GLint size, GLenum type, GLsizei stride);
01232   friend NVSG_API void GLNormalFormatNV(GLenum type, GLsizei stride);
01233   friend NVSG_API void GLColorFormatNV(GLint size, GLenum type, GLsizei stride);
01234   friend NVSG_API void GLIndexFormatNV(GLenum type, GLsizei stride);
01235   friend NVSG_API void GLTexCoordFormatNV(GLint size, GLenum type, GLsizei stride);
01236   friend NVSG_API void GLEdgeFlagFormatNV(GLsizei stride);
01237   friend NVSG_API void GLSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride);
01238   friend NVSG_API void GLFogCoordFormatNV(GLenum type, GLsizei stride);
01239   friend NVSG_API void GLVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride);
01240   friend NVSG_API void GLVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride);
01241   friend NVSG_API void GLGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data);
01242
01243   // GL_NV_shader_buffer_load
01244   friend NVSG_API void GLGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params);
01245   friend NVSG_API GLboolean GLIsBufferResidentNV(GLenum target);
01246   friend NVSG_API void GLMakeBufferNonResidentNV(GLenum target);
01247   friend NVSG_API void GLMakeBufferResidentNV(GLenum target, GLenum access);
01248   friend NVSG_API void GLGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params);
01249   friend NVSG_API GLboolean GLIsNamedBufferResidentNV(GLuint buffer);
01250   friend NVSG_API void GLMakeNamedBufferNonResidentNV(GLuint buffer);
01251   friend NVSG_API void GLMakeNamedBufferResidentNV(GLuint buffer, GLenum access);
01252   friend NVSG_API void GLGetIntegerui64vNV(GLenum target, GLuint64EXT *data);
01253   friend NVSG_API void GLUniformui64NV(GLint location, GLuint64EXT v0);
01254   friend NVSG_API void GLUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value);
01255   friend NVSG_API void GLGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params);
01256   friend NVSG_API void GLProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0);
01257   friend NVSG_API void GLProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value);
01258
01259   // GL_NV_video_capture
01260   friend NVSG_API void GLBeginVideoCaptureNV (GLuint video_capture_slot);
01261   friend NVSG_API void GLBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset);
01262   friend NVSG_API void GLBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture);
01263   friend NVSG_API void GLEndVideoCaptureNV (GLuint video_capture_slot);
01264   friend NVSG_API void GLGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params);
01265   friend NVSG_API void GLGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params);
01266   friend NVSG_API void GLGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params);
01267   friend NVSG_API void GLGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params);
01268   friend NVSG_API GLenum GLVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time);
01269   friend NVSG_API void GLVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params);
01270   friend NVSG_API void GLVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params);
01271   friend NVSG_API void GLVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params);
01272
01273   // GL_EXT_direct_state_access
01274   friend NVSG_API void GLClientAttribDefaultEXT (GLbitfield mask);
01275   friend NVSG_API void GLPushClientAttribDefaultEXT (GLbitfield mask);
01276   friend NVSG_API void GLMatrixLoadfEXT (GLenum mode, const GLfloat *m);
01277   friend NVSG_API void GLMatrixLoaddEXT (GLenum mode, const GLdouble *m);
01278   friend NVSG_API void GLMatrixMultfEXT (GLenum mode, const GLfloat *m);
01279   friend NVSG_API void GLMatrixMultdEXT (GLenum mode, const GLdouble *m);
01280   friend NVSG_API void GLMatrixLoadIdentityEXT (GLenum mode);
01281   friend NVSG_API void GLMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
01282   friend NVSG_API void GLMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
01283   friend NVSG_API void GLMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
01284   friend NVSG_API void GLMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
01285   friend NVSG_API void GLMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z);
01286   friend NVSG_API void GLMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z);
01287   friend NVSG_API void GLMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
01288   friend NVSG_API void GLMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
01289   friend NVSG_API void GLMatrixPopEXT (GLenum mode);
01290   friend NVSG_API void GLMatrixPushEXT (GLenum mode);
01291   friend NVSG_API void GLMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m);
01292   friend NVSG_API void GLMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m);
01293   friend NVSG_API void GLMatrixMultTransposefEXT (GLenum mode, const GLfloat *m);
01294   friend NVSG_API void GLMatrixMultTransposedEXT (GLenum mode, const GLdouble *m);
01295   friend NVSG_API void GLTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param);
01296   friend NVSG_API void GLTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params);
01297   friend NVSG_API void GLTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param);
01298   friend NVSG_API void GLTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
01299   friend NVSG_API void GLTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
01300   friend NVSG_API void GLTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
01301   friend NVSG_API void GLTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
01302   friend NVSG_API void GLTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
01303   friend NVSG_API void GLCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
01304   friend NVSG_API void GLCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
01305   friend NVSG_API void GLCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
01306   friend NVSG_API void GLCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
01307   friend NVSG_API void GLGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
01308   friend NVSG_API void GLGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params);
01309   friend NVSG_API void GLGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
01310   friend NVSG_API void GLGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params);
01311   friend NVSG_API void GLGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params);
01312   friend NVSG_API void GLTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
01313   friend NVSG_API void GLTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
01314   friend NVSG_API void GLCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
01315   friend NVSG_API void GLMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
01316   friend NVSG_API void GLMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
01317   friend NVSG_API void GLMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
01318   friend NVSG_API void GLMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
01319   friend NVSG_API void GLMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
01320   friend NVSG_API void GLMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
01321   friend NVSG_API void GLMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
01322   friend NVSG_API void GLMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
01323   friend NVSG_API void GLCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
01324   friend NVSG_API void GLCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
01325   friend NVSG_API void GLCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
01326   friend NVSG_API void GLCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
01327   friend NVSG_API void GLGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
01328   friend NVSG_API void GLGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
01329   friend NVSG_API void GLGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
01330   friend NVSG_API void GLGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params);
01331   friend NVSG_API void GLGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params);
01332   friend NVSG_API void GLMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
01333   friend NVSG_API void GLMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
01334   friend NVSG_API void GLCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
01335   friend NVSG_API void GLBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture);
01336   friend NVSG_API void GLEnableClientStateIndexedEXT (GLenum array, GLuint index);
01337   friend NVSG_API void GLDisableClientStateIndexedEXT (GLenum array, GLuint index);
01338   friend NVSG_API void GLMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
01339   friend NVSG_API void GLMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
01340   friend NVSG_API void GLMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params);
01341   friend NVSG_API void GLMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param);
01342   friend NVSG_API void GLMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
01343   friend NVSG_API void GLMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
01344   friend NVSG_API void GLMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params);
01345   friend NVSG_API void GLMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
01346   friend NVSG_API void GLMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params);
01347   friend NVSG_API void GLMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param);
01348   friend NVSG_API void GLMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params);
01349   friend NVSG_API void GLGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params);
01350   friend NVSG_API void GLGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
01351   friend NVSG_API void GLGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params);
01352   friend NVSG_API void GLGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params);
01353   friend NVSG_API void GLGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params);
01354   friend NVSG_API void GLGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data);
01355   friend NVSG_API void GLGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data);
01356   friend NVSG_API void GLGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid* *data);
01357   friend NVSG_API void GLCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
01358   friend NVSG_API void GLCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
01359   friend NVSG_API void GLCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
01360   friend NVSG_API void GLCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
01361   friend NVSG_API void GLCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
01362   friend NVSG_API void GLCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
01363   friend NVSG_API void GLGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img);
01364   friend NVSG_API void GLCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits);
01365   friend NVSG_API void GLCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits);
01366   friend NVSG_API void GLCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits);
01367   friend NVSG_API void GLCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits);
01368   friend NVSG_API void GLCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits);
01369   friend NVSG_API void GLCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits);
01370   friend NVSG_API void GLGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img);
01371   friend NVSG_API void GLNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string);
01372   friend NVSG_API void GLNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
01373   friend NVSG_API void GLNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params);
01374   friend NVSG_API void GLNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
01375   friend NVSG_API void GLNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params);
01376   friend NVSG_API void GLGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params);
01377   friend NVSG_API void GLGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params);
01378   friend NVSG_API void GLGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params);
01379   friend NVSG_API void GLGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string);
01380   friend NVSG_API void GLNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params);
01381   friend NVSG_API void GLNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w);
01382   friend NVSG_API void GLNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params);
01383   friend NVSG_API void GLNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params);
01384   friend NVSG_API void GLNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
01385   friend NVSG_API void GLNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params);
01386   friend NVSG_API void GLNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params);
01387   friend NVSG_API void GLGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params);
01388   friend NVSG_API void GLGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params);
01389   friend NVSG_API void GLTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params);
01390   friend NVSG_API void GLTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params);
01391   friend NVSG_API void GLGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params);
01392   friend NVSG_API void GLGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params);
01393   friend NVSG_API void GLMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params);
01394   friend NVSG_API void GLMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params);
01395   friend NVSG_API void GLGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params);
01396   friend NVSG_API void GLGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params);
01397   friend NVSG_API void GLProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
01398   friend NVSG_API void GLProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
01399   friend NVSG_API void GLProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
01400   friend NVSG_API void GLProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
01401   friend NVSG_API void GLProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
01402   friend NVSG_API void GLProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
01403   friend NVSG_API void GLProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
01404   friend NVSG_API void GLProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
01405   friend NVSG_API void GLProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
01406   friend NVSG_API void GLProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
01407   friend NVSG_API void GLProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
01408   friend NVSG_API void GLProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
01409   friend NVSG_API void GLProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
01410   friend NVSG_API void GLProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
01411   friend NVSG_API void GLProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
01412   friend NVSG_API void GLProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
01413   friend NVSG_API void GLProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01414   friend NVSG_API void GLProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01415   friend NVSG_API void GLProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01416   friend NVSG_API void GLProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01417   friend NVSG_API void GLProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01418   friend NVSG_API void GLProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01419   friend NVSG_API void GLProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01420   friend NVSG_API void GLProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01421   friend NVSG_API void GLProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
01422   friend NVSG_API void GLProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
01423   friend NVSG_API void GLProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
01424   friend NVSG_API void GLProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
01425   friend NVSG_API void GLProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
01426   friend NVSG_API void GLProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
01427   friend NVSG_API void GLProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
01428   friend NVSG_API void GLProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
01429   friend NVSG_API void GLProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
01430   friend NVSG_API void GLNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage);
01431   friend NVSG_API void GLNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data);
01432   friend NVSG_API GLvoid* GLMapNamedBufferEXT (GLuint buffer, GLenum access);
01433   friend NVSG_API GLboolean GLUnmapNamedBufferEXT (GLuint buffer);
01434   friend NVSG_API void GLGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params);
01435   friend NVSG_API void GLGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid* *params);
01436   friend NVSG_API void GLGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data);
01437   friend NVSG_API void GLTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
01438   friend NVSG_API void GLMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
01439   friend NVSG_API void GLNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height);
01440   friend NVSG_API void GLGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params);
01441   friend NVSG_API GLenum GLCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target);
01442   friend NVSG_API void GLNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
01443   friend NVSG_API void GLNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
01444   friend NVSG_API void GLNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
01445   friend NVSG_API void GLNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
01446   friend NVSG_API void GLGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params);
01447   friend NVSG_API void GLGenerateTextureMipmapEXT (GLuint texture, GLenum target);
01448   friend NVSG_API void GLGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target);
01449   friend NVSG_API void GLFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode);
01450   friend NVSG_API void GLFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs);
01451   friend NVSG_API void GLFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode);
01452   friend NVSG_API void GLGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params);
01453   friend NVSG_API void GLNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
01454   friend NVSG_API void GLNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height);
01455   friend NVSG_API void GLNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level);
01456   friend NVSG_API void GLNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer);
01457   friend NVSG_API void GLNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face);
01458   friend NVSG_API void GLTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer);
01459   friend NVSG_API void GLMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer);
01460
01461   // helper
01462   friend NVSG_API void GLUploadBuffers();
01463
01464 #if defined(_WIN32)
01465   friend NVSG_API BOOL WGLBindTexImage( HPBUFFERARB hPbuffer, int iBuffer );
01466   friend NVSG_API BOOL WGLChoosePixelFormat( HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats );
01467   friend NVSG_API BOOL WGLGetPixelFormatAttribiv(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues );
01468   friend NVSG_API BOOL WGLGetPixelFormatAttribfv(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues );
01469   friend NVSG_API HGLRC WGLCreateContext( HDC hdc );
01470   friend NVSG_API HPBUFFERARB WGLCreatePbuffer( HDC hdc, int pixelFormat, int width, int height, const int *attribList );
01471   friend NVSG_API BOOL WGLDeleteContext( HGLRC hglrc );
01472   friend NVSG_API BOOL WGLDestroyPbuffer( HPBUFFERARB hPbuffer );
01473   friend NVSG_API HGLRC WGLGetCurrentContext(void);
01474   friend NVSG_API HDC WGLGetCurrentDC(void);
01475   friend NVSG_API BOOL WGLMakeCurrent( HDC hdc, HGLRC hglrc );
01476   friend NVSG_API HDC WGLGetPbufferDC( HPBUFFERARB hPbuffer );
01477   friend NVSG_API BOOL WGLQueryPbuffer( HPBUFFERARB hPbuffer, int attribute, int *value );
01478   friend NVSG_API int WGLReleasePbufferDC( HPBUFFERARB hPbuffer, HDC hdc );
01479   friend NVSG_API BOOL WGLReleaseTexImage( HPBUFFERARB hPbuffer, int iBuffer );
01480   friend NVSG_API BOOL WGLShareLists( HGLRC hglrc1, HGLRC hglrc2 );
01481   friend NVSG_API BOOL WGLNotifyShareLists( HGLRC hglrc1, HGLRC hglrc2 );
01482   friend NVSG_API BOOL WGLJoinSwapGroupNV(HDC hDC, GLuint group);
01483   friend NVSG_API BOOL WGLBindSwapBarrierNV(GLuint group, GLuint barrier);
01484   friend NVSG_API BOOL WGLQuerySwapGroupNV(HDC hDC, GLuint * group, GLuint * barrier);
01485   friend NVSG_API BOOL WGLQueryMaxSwapGroupsNV(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers);
01486   friend NVSG_API BOOL WGLQueryFrameCountNV(HDC hDC, GLuint * count);
01487   friend NVSG_API BOOL WGLResetFrameCountNV(HDC hDC);
01488   friend NVSG_API BOOL WGLEnumGpus(UINT iIndex, HGPUNV *hGpu);
01489   friend NVSG_API BOOL WGLEnumGpuDevices(HGPUNV hGpu, UINT iIndex, PGPU_DEVICE pGpuDevice);
01490   friend NVSG_API HDC  WGLCreateAffinityDC(const HGPUNV *pGpuList);
01491   friend NVSG_API BOOL WGLEnumGpusFromAffinityDC(HDC hAffinityDC, UINT iIndex, HGPUNV *hGpu);
01492   friend NVSG_API BOOL WGLDeleteDC(HDC hAffinityDC);
01493   friend NVSG_API BOOL WGLSwapInterval(int interval);
01494   friend NVSG_API int WGLGetSwapInterval(void);
01495   // routines to handle bypassing of WGLCreateContext and WGLDeleteContext
01496   friend NVSG_API void WGLAttachContext(HDC, HGLRC);
01497   friend NVSG_API bool WGLIsAttached(HGLRC);
01498   friend NVSG_API void WGLDetachContext(HGLRC);
01499   // WGL_NV_present_video
01500   friend NVSG_API int WGLEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList);
01501   friend NVSG_API BOOL WGLBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList);
01502   friend NVSG_API BOOL WGLQueryCurrentContextNV(int iAttribute, int *piValue);
01503   // WGL_NV_video_capture
01504   friend NVSG_API BOOL WGLBindVideoCaptureDeviceNV(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice);
01505   friend NVSG_API UINT WGLEnumerateVideoCaptureDevicesNV(HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList);
01506   friend NVSG_API BOOL WGLLockVideoCaptureDeviceNV(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
01507   friend NVSG_API BOOL WGLQueryVideoCaptureDeviceNV(HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue);
01508   friend NVSG_API BOOL WGLReleaseVideoCaptureDeviceNV(HDC hDc, HVIDEOINPUTDEVICENV hDevice);
01509
01510 #endif
01511 #if defined(LINUX)
01512   friend NVSG_API GLXContext GLXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
01513   friend NVSG_API void GLXDestroyContext(Display *dpy, GLXContext ctx);
01514   friend NVSG_API GLXContext GLXGetCurrentContext();
01515   friend NVSG_API GLXDrawable GLXGetCurrentDrawable();
01516   friend NVSG_API Bool GLXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);
01517   // routines to handle bypassing of GLXCreateContext and GLXDestroyContext
01518   friend NVSG_API void GLXAttachContext(Display*, GLXContext);
01519   friend NVSG_API bool GLXNotifyShared(GLXContext, GLXContext);
01520   friend NVSG_API bool GLXIsAttached(GLXContext);
01521   friend NVSG_API void GLXDetachContext(GLXContext);
01522
01523   // GLX_SGI_swap_control
01524   friend NVSG_API int GLXSwapInterval (int);
01525   // GLX_SGI_video_sync
01526   friend NVSG_API int GLXGetVideoSync (unsigned int *);
01527   friend NVSG_API int GLXWaitVideoSync (int, int, unsigned int *);
01528   // GLX_NV_swap_group
01529   friend NVSG_API Bool GLXJoinSwapGroup(Display *dpy, GLXDrawable drawable,
01530                                GLuint group);
01531   friend NVSG_API Bool GLXBindSwapBarrier(Display *dpy, GLuint group,
01532                                                               GLuint barrier);
01533   friend NVSG_API Bool GLXQuerySwapGroup(Display *dpy, GLXDrawable drawable,
01534                                 GLuint *group, GLuint *barrier);
01535   friend NVSG_API Bool GLXQueryMaxSwapGroups(Display *dpy, int screen,
01536                                     GLuint *maxGroups, GLuint *maxBarriers);
01537   friend NVSG_API Bool GLXQueryFrameCount(Display *dpy, int screen,
01538                                                               GLuint *count);
01539   friend NVSG_API Bool GLXResetFrameCount(Display *dpy, int screen);
01540
01541   // GLX_NV_video_out
01542   friend NVSG_API int GLXGetVideoDevice(Display *dpy, int screen,
01543                                 int numVideoDevices,
01544                                GLXVideoDeviceNV *pVideoDevice);
01545   friend NVSG_API int GLXReleaseVideoDevice(Display *dpy, int screen,
01546                                    GLXVideoDeviceNV VideoDevice);
01547   friend NVSG_API int GLXBindVideoImage(Display *dpy,
01548                                GLXVideoDeviceNV VideoDevice,
01549                                GLXPbuffer pbuf, int iVideoBuffer);
01550   friend NVSG_API int GLXReleaseVideoImage(Display *dpy, GLXPbuffer pbuf);
01551   friend NVSG_API int GLXSendPbufferToVideo(Display *dpy, GLXPbuffer pbuf,
01552                                    int iBufferType,
01553                                    unsigned long *pulCounterPbuffer,
01554                                    GLboolean bBlock);
01555   friend NVSG_API int GLXGetVideoInfo(Display *dpy, int screen,
01556                              GLXVideoDeviceNV VideoDevice,
01557                              unsigned long *pulCounterOutputVideo,
01558                              unsigned long *pulCounterOutputPbuffer);
01559   // GLX_EXT_texture_from_pixmap
01560   friend NVSG_API void GLXBindTexImage (Display *, GLXDrawable, int,
01561                                             const int *);
01562   friend NVSG_API void GLXReleaseTexImage (Display *, GLXDrawable, int);
01563
01564   // GLX_NV_present_video
01565   friend NVSG_API unsigned int *GLXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements);
01566   friend NVSG_API int GLXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
01567   // GLX_NV_video_capture
01568   friend NVSG_API int GLXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
01569   friend NVSG_API GLXVideoCaptureDeviceNV * GLXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements);
01570   friend NVSG_API void GLXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
01571   friend NVSG_API int GLXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
01572   friend NVSG_API void GLXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device);
01573
01574 #endif
01575
01576   friend NVSG_API void GLResetAlphaFunc();
01577   friend NVSG_API void GLResetAlphaTest();
01578   friend NVSG_API void GLResetAutoNormal();
01579   friend NVSG_API void GLResetBlend();
01580   friend NVSG_API void GLResetBlendFunc();
01581   friend NVSG_API void GLResetBlendFuncSeparate();
01582   friend NVSG_API void GLResetClearColor();
01583   friend NVSG_API void GLResetClearDepth();
01584   friend NVSG_API void GLResetClearStencil();
01585   friend NVSG_API void GLResetClipPlane( GLenum plane );
01586   friend NVSG_API void GLResetClipPlaneEquation( GLenum plane );
01587   friend NVSG_API void GLResetColorLogicOp();
01588   friend NVSG_API void GLResetColorMask();
01589   friend NVSG_API void GLResetColorMaterial();
01590   friend NVSG_API void GLResetColorMaterialMode();
01591   friend NVSG_API void GLResetCullFace();
01592   friend NVSG_API void GLResetCullFaceMode();
01593   friend NVSG_API void GLResetDepthFunc();
01594   friend NVSG_API void GLResetDepthMask();
01595   friend NVSG_API void GLResetDepthRange();
01596   friend NVSG_API void GLResetDepthTest();
01597   friend NVSG_API void GLResetDither();
01598   friend NVSG_API void GLResetFog();
01599   friend NVSG_API void GLResetFogColor();
01600   friend NVSG_API void GLResetFogDensity();
01601   friend NVSG_API void GLResetFogEnd();
01602   friend NVSG_API void GLResetFogMode();
01603   friend NVSG_API void GLResetFogStart();
01604   friend NVSG_API void GLResetFrontFace();
01605   friend NVSG_API void GLResetLight( GLenum light );
01606   friend NVSG_API void GLResetLighting();
01607   friend NVSG_API void GLResetLightAmbient( GLenum light );
01608   friend NVSG_API void GLResetLightConstantAttenuation( GLenum light );
01609   friend NVSG_API void GLResetLightDiffuse( GLenum light );
01610   friend NVSG_API void GLResetLightLinearAttenuation( GLenum light );
01611   friend NVSG_API void GLResetLightModelAmbient();
01612   friend NVSG_API void GLResetLightModelLocalViewer();
01613   friend NVSG_API void GLResetLightModelTwoSide();
01614   friend NVSG_API void GLResetLightPosition( GLenum light );
01615   friend NVSG_API void GLResetLightQuadraticAttenuation( GLenum light );
01616   friend NVSG_API void GLResetLightSpecular( GLenum light );
01617   friend NVSG_API void GLResetLightSpotCutoff( GLenum light );
01618   friend NVSG_API void GLResetLightSpotDirection( GLenum light );
01619   friend NVSG_API void GLResetLightSpotExponent( GLenum light );
01620   friend NVSG_API void GLResetLineSmooth();
01621   friend NVSG_API void GLResetLineStipple();
01622   friend NVSG_API void GLResetLineStippleDefinition();
01623   friend NVSG_API void GLResetLineWidth();
01624   friend NVSG_API void GLResetLogicOp();
01625   friend NVSG_API void GLResetMaterialAmbientBack();
01626   friend NVSG_API void GLResetMaterialAmbientFront();
01627   friend NVSG_API void GLResetMaterialAmbientFrontAndBack();
01628   friend NVSG_API void GLResetMaterialDiffuseBack();
01629   friend NVSG_API void GLResetMaterialDiffuseFront();
01630   friend NVSG_API void GLResetMaterialDiffuseFrontAndBack();
01631   friend NVSG_API void GLResetMaterialEmissionBack();
01632   friend NVSG_API void GLResetMaterialEmissionFront();
01633   friend NVSG_API void GLResetMaterialEmissionFrontAndBack();
01634   friend NVSG_API void GLResetMaterialShininessBack();
01635   friend NVSG_API void GLResetMaterialShininessFront();
01636   friend NVSG_API void GLResetMaterialShininessFrontAndBack();
01637   friend NVSG_API void GLResetMaterialSpecularBack();
01638   friend NVSG_API void GLResetMaterialSpecularFront();
01639   friend NVSG_API void GLResetMaterialSpecularFrontAndBack();
01640   friend NVSG_API void GLResetNormalize();
01641   friend NVSG_API void GLResetRescaleNormal();
01642   friend NVSG_API void GLResetPointSize();
01643   friend NVSG_API void GLResetPointSmooth();
01644   friend NVSG_API void GLResetPolygonModeBack();
01645   friend NVSG_API void GLResetPolygonModeFront();
01646   friend NVSG_API void GLResetPolygonModeFrontAndBack();
01647   friend NVSG_API void GLResetPolygonOffset();
01648   friend NVSG_API void GLResetPolygonOffsetFill();
01649   friend NVSG_API void GLResetPolygonOffsetLine();
01650   friend NVSG_API void GLResetPolygonOffsetPoint();
01651   friend NVSG_API void GLResetPolygonSmooth();
01652   friend NVSG_API void GLResetPolygonStipple();
01653   friend NVSG_API void GLResetScissor();
01654   friend NVSG_API void GLResetScissorTest();
01655   friend NVSG_API void GLResetShadeModel();
01656   friend NVSG_API void GLResetStencilFunc();
01657   friend NVSG_API void GLResetStencilMask();
01658   friend NVSG_API void GLResetStencilOp();
01659   friend NVSG_API void GLResetStencilTest();
01660   friend NVSG_API void GLResetTexture( GLenum target );
01661
01662   // effect methods
01663   friend NVSG_API void GLCgGLBindEffect( nvsg::CgFxEffect * effect );
01664   friend NVSG_API nvsg::CgFxEffect * GLCgGLGetEffect();
01665   friend NVSG_API void GLCgGLBindPass( nvsg::CgFxPass pass );
01666   friend NVSG_API nvsg::CgFxPass GLCgGLGetPass();
01667   friend NVSG_API void GLCgGLBindProgram( nvsg::CgFxProgram program );
01668   friend NVSG_API nvsg::CgFxProgram GLCgGLGetProgram();
01669   friend NVSG_API void GLCgGLApplyProgramSamplers();
01670
01671 #if !defined(DOXYGEN_IGNORE)
01672
01673   //  uncached versions of otherwise cached functions
01674   friend NVSG_API void _GLDisable( GLenum cap );
01675   friend NVSG_API void _GLDisableClientState( GLenum array );
01676   friend NVSG_API void _GLEnable( GLenum cap );
01677   friend NVSG_API void _GLEnableClientState( GLenum array );
01678   friend NVSG_API void _GLFogf( GLenum pname, GLfloat param );
01679   friend NVSG_API void _GLFogfv( GLenum pname, const GLfloat * params );
01680   friend NVSG_API void _GLFogi( GLenum pname, GLint param );
01681   friend NVSG_API void _GLFogiv( GLenum pname, const GLint * params );
01682   friend NVSG_API GLboolean _GLIsEnabled( GLenum cap );
01683   friend NVSG_API void _GLLightf( GLenum light, GLenum pname, GLfloat param );
01684   friend NVSG_API void _GLLightfv( GLenum light, GLenum pname, const GLfloat *params );
01685   friend NVSG_API void _GLLighti( GLenum light, GLenum pname, GLint param );
01686   friend NVSG_API void _GLLightiv( GLenum light, GLenum pname, GLint *params );
01687   friend NVSG_API void _GLLightModelf( GLenum pname, GLfloat param );
01688   friend NVSG_API void _GLLightModelfv( GLenum pname, const GLfloat *params );
01689   friend NVSG_API void _GLLightModeli( GLenum pname, GLint param );
01690   friend NVSG_API void _GLLightModeliv( GLenum pname, const GLint *params );
01691   friend NVSG_API void _GLMaterialf( GLenum face, GLenum pname, GLfloat param );
01692   friend NVSG_API void _GLMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
01693   friend NVSG_API void _GLMateriali( GLenum face, GLenum pname, GLint param );
01694   friend NVSG_API void _GLMaterialiv( GLenum face, GLenum pname, const GLint *params );
01695   friend NVSG_API void _GLPolygonMode( GLenum face, GLenum mode );
01696   friend NVSG_API void _GLTexEnvf( GLenum target, GLenum pname, GLfloat param );
01697   friend NVSG_API void _GLTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
01698   friend NVSG_API void _GLTexEnvi( GLenum target, GLenum pname, GLint param );
01699   friend NVSG_API void _GLTexEnviv( GLenum target, GLenum pname, const GLint *params );
01700   friend NVSG_API void _GLTexParameterf( GLenum target, GLenum pname, GLfloat param );
01701   friend NVSG_API void _GLTexParameteri( GLenum target, GLenum pname, GLint param );
01702   friend NVSG_API void _GLTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
01703   friend NVSG_API void _GLTexParameteriv( GLenum target, GLenum pname, const GLint *params );
01704
01705 #if defined( GL_CACHING )
01706   friend NVSG_API void _GLUpdateActiveTexture( void );
01707   friend NVSG_API void _GLUpdateClientActiveTexture( void );
01708 #endif
01709
01710 #if !defined(NDEBUG)
01711   friend NVSG_API void ASSERT_GL_CURRENT_CONTEXT_CONFORMITY();
01712 #endif
01713
01714 #endif
01715
01716   friend NVSG_API void GLGenDisplayListCache(nvsg::DALHost * host, GLDisplayListCache *& cache);
01717   friend NVSG_API void GLDeleteDisplayListCaches();
01718   friend NVSG_API void GLGenArrayBufferCache(nvsg::DALHost * host, GLArrayBufferCache *& cache);
01719   friend NVSG_API void GLGenElementArrayBufferCache(nvsg::DALHost * host, GLElementArrayBufferCache *& cache);
01720   friend NVSG_API void GLGenPixelBufferCache(nvsg::DALHost * host, GLPixelBufferCache *& cache);
01721   friend NVSG_API void GLDeleteBufferCaches();
01722   friend NVSG_API void GLGenTextureCache(nvsg::DALHost * host, GLTextureCache *& cache);
01723   friend NVSG_API void GLGenTextureCache(nvsg::DALHost * host, GLTextureCache *& cache, GLuint texture, GLenum target);
01724   friend NVSG_API void GLDeleteTextureCaches();
01725
01726   friend NVSG_API bool GLIsValidDisplayListCache(const GLDisplayListCache * cache);
01727   friend NVSG_API bool GLIsValidArrayBufferCache(const GLArrayBufferCache * cache);
01728   friend NVSG_API bool GLIsValidElementArrayBufferCache(const GLElementArrayBufferCache * cache);
01729   friend NVSG_API bool GLIsValidPixelBufferCache(const GLPixelBufferCache * cache);
01730   friend NVSG_API bool GLIsValidTextureCache(const GLTextureCache * cache);
01731
01749   friend NVSG_API bool GLGetTexImageFmt( GLTexImageFmt & tfmt,
01750                 nvsg::Image::PixelFormat fmt, nvsg::Image::PixelDataType type,
01751                 nvsg::TextureHost::TextureGPUFormat gpuFmt =
01752                                             nvsg::TextureHost::TGF_DEFAULT );
01753
01754   friend NVSG_API void GLUploadTexImage1D(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01755   friend NVSG_API void GLUploadTexImage2D(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01756   friend NVSG_API void GLUploadTexImage3D(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01757   friend NVSG_API void GLUploadTexImageCube(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01758   friend NVSG_API void GLUploadTexImage1DArray(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01759   friend NVSG_API void GLUploadTexImage2DArray(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01760   friend NVSG_API void GLUploadTexImageRectangle(GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost*, GLTextureCache*);
01761
01762   friend NVSG_API GLenum GLGetTexWrapMode( nvsg::TextureWrapMode twm );
01763
01764 public:  // public interface
01765 #if defined(LINUX)
01766
01768   inline Display* getDisplay() const { return m_dpy; }  // public access to the Display
01769 #endif
01770
01771   // Provide access to otherwise private shared data
01772   VBOCachingState *getVBOState() const;
01773
01774 private: // private interface
01775
01776 #if defined(_WIN32)
01777   GLContext(HDC hdc, HGLRC hglrc);
01778 #elif defined(LINUX)
01779   GLContext(Display *dpy, GLXContext ctx);
01780 #endif
01781   ~GLContext();
01782
01783 #if defined(_WIN32)
01784   void init(); // init function pointers and caches
01785 #elif defined(LINUX)
01786   void init(GLXDrawable drw);
01787 #endif
01788   void exit(); // cleanup when context dies
01789
01790   void deleteGLObjects(); // deletes all GLObjects
01791   void deleteSharedGLObjects(); // deletes only shared GLObjects
01792
01793   // Share sharable GL objects with the GLContext referenced through \a source.
01794   void share(const GLContext& source);
01795
01796   // helper
01797
01798   void addBuffers(GLsizei n, const GLuint * names);
01799   void removeBuffers(GLsizei n, const GLuint * names);
01800   ConstNameSetIter firstBuffer() const;
01801   ConstNameSetIter lastBuffer() const;
01802   bool isBuffer(GLuint name) const;
01803   void releaseBuffers();
01804
01805   void addLists(GLsizei n, GLuint first);
01806   void removeLists(GLsizei n, GLuint first);
01807   ConstNameSetIter firstList() const;
01808   ConstNameSetIter lastList() const;
01809   bool isList(GLuint name) const;
01810   void releaseLists();
01811
01812   void addPrograms(GLsizei n, const GLuint * names);
01813   void removePrograms(GLsizei n, const GLuint * names);
01814   ConstNameSetIter firstProgram() const;
01815   ConstNameSetIter lastProgram() const;
01816   bool isProgram(GLuint name) const;
01817   void releasePrograms();
01818
01819   void addTextures(GLsizei n, const GLuint * names);
01820   void removeTextures(GLsizei n, const GLuint * names);
01821   ConstNameSetIter firstTexture() const;
01822   ConstNameSetIter lastTexture() const;
01823   bool isTexture(GLuint name) const;
01824   void releaseTextures();
01825
01826   void addQueries(GLsizei n, const GLuint * names);
01827   void removeQueries(GLsizei n, const GLuint * names);
01828   ConstNameSetIter firstQuery() const;
01829   ConstNameSetIter lastQuery() const;
01830   bool isQuery(GLuint name) const;
01831   void releaseQueries();
01832
01833   void genTextureCache(nvsg::DALHost * host, GLTextureCache *& cache);
01834   void genTextureCache(nvsg::DALHost * host, GLTextureCache *& cache, GLuint texture, GLenum target);
01835   void deleteTextureCaches();
01836   void genDisplayListCache(nvsg::DALHost * host, GLDisplayListCache *& cache);
01837   void deleteDisplayListCaches();
01838   void genElementArrayBufferCache(nvsg::DALHost * host, GLElementArrayBufferCache *& cache);
01839   void genArrayBufferCache(nvsg::DALHost * host, GLArrayBufferCache *& cache);
01840   void genPixelBufferCache(nvsg::DALHost * host, GLPixelBufferCache *& cache);
01841   void deleteBufferCaches();
01842
01843   bool isValidDisplayListCache(const GLDisplayListCache * cache) const;
01844   bool isValidArrayBufferCache(const GLArrayBufferCache * cache) const;
01845   bool isValidElementArrayBufferCache(const GLElementArrayBufferCache * cache) const;
01846   bool isValidPixelBufferCache(const GLPixelBufferCache * cache) const;
01847   bool isValidTextureCache(const GLTextureCache * cache) const;
01848
01849   void genBuffers( GLsizei n, GLuint * buffers );
01850
01851 private:  //  private members
01852 #if defined( GL_CACHING )
01853   // helper class to make back/front states easier to handle
01854   template < class T >
01855   class BFState
01856   {
01857   public:
01858     // constructor using T to fill both back and front state
01859     explicit BFState( const T& t )
01860       : backState(t)
01861       , frontState(t)
01862     {};
01863     BFState & operator=( const BFState& rhs )
01864     {
01865       if( this != &rhs )
01866       {
01867         backState = rhs.backState;
01868         frontState = rhs.frontState;
01869       }
01870       return *this;
01871     }
01872     BFState & operator=( const T& rhs )
01873     {
01874       backState = rhs;
01875       frontState = rhs;
01876       return *this;
01877     }
01878
01879     bool operator==( const BFState& rhs ) const { return backState == rhs.backState && frontState == rhs.frontState; }
01880     bool operator!=( const BFState& rhs ) const { return !(*this == rhs); }
01881     bool operator==( const T& rhs ) const { return backState == rhs && frontState == rhs; }
01882     bool operator!=( const T& rhs ) const { return !(*this == rhs); }
01883
01884     T & operator[]( GLenum face )
01885     {
01886       if( face == GL_BACK )
01887       {
01888         return backState;
01889       }
01890       else if( face == GL_FRONT )
01891       {
01892         return frontState;
01893       }
01894       else
01895       {
01896         NVSG_ASSERT(false);
01897         return frontState;
01898       }
01899     }
01900     const T & operator[]( GLenum face ) const
01901     {
01902       if( face == GL_BACK )
01903       {
01904         return backState;
01905       }
01906       else if( face == GL_FRONT )
01907       {
01908         return frontState;
01909       }
01910       else
01911       {
01912         NVSG_ASSERT(false);
01913         return frontState;
01914       }
01915     }
01916   private:
01917     T backState;
01918     T frontState;
01919   };
01920
01921   // inline helper functions to simplify BFState comparisons and updates
01922   // if passed f==GL_FRONT_AND_BACK, the whole BFState is compared/updated,
01923   // otherwise the corresponding face is compared/updated
01924   template <typename T>
01925   inline bool testBFState(GLenum f, const BFState<T>& s, const T& v)
01926   {
01927     NVSG_ASSERT( f==GL_FRONT_AND_BACK || f==GL_FRONT || f==GL_BACK );
01928     if ( f==GL_FRONT_AND_BACK ) { return s==v; }
01929     return (s[f] == v);
01930   }
01931   template <typename T>
01932   inline void assignBFState(GLenum f, BFState<T>& s, const T& v)
01933   {
01934     NVSG_ASSERT( f==GL_FRONT_AND_BACK || f==GL_FRONT || f==GL_BACK );
01935     if ( f==GL_FRONT_AND_BACK ) { s = v; return; }
01936     s[f] = v;
01937   }
01938
01939   class ColorBufferAttributes
01940   {
01941     public:
01942       ColorBufferAttributes( void )
01943         : m_alphaFunc(GL_ALWAYS)
01944         , m_alphaRef(0.0f)
01945         , m_blendSrcRGB(GL_ONE)
01946         , m_blendSrcAlpha(GL_ONE)
01947         , m_blendDstRGB(GL_ZERO)
01948         , m_blendDstAlpha(GL_ZERO)
01949         , m_clearColor(0.0f,0.0f,0.0f,0.0f)
01950       {
01951         for ( size_t i=0 ; i<4 ; i++ )
01952         {
01953           m_colorWriteMask[i] = GL_TRUE;
01954         }
01955       }
01956
01957     public:
01958       GLenum        m_alphaFunc;
01959       GLclampf      m_alphaRef;
01960       GLboolean     m_colorWriteMask[4];
01961       GLenum        m_blendSrcRGB;
01962       GLenum        m_blendSrcAlpha;
01963       GLenum        m_blendDstRGB;
01964       GLenum        m_blendDstAlpha;
01965       nvmath::Vec4f m_clearColor;
01966   };
01967
01968   class ColorBufferEnableAttributes
01969   {
01970     public:
01971       ColorBufferEnableAttributes( void )
01972         : m_alphaTest(GL_FALSE)
01973         , m_blend(GL_FALSE)
01974         , m_colorLogicOp(GL_FALSE)
01975         , m_dither(GL_TRUE)
01976         , m_logicOp(GL_FALSE)
01977       {}
01978
01979     public:
01980       GLboolean m_alphaTest;
01981       GLboolean m_blend;
01982       GLboolean m_colorLogicOp;
01983       GLboolean m_dither;
01984       GLboolean m_logicOp;
01985   };
01986
01987   class DepthBufferAttributes
01988   {
01989     public:
01990       DepthBufferAttributes( void )
01991         : m_depthClearValue(1.0f)
01992         , m_depthFunc(GL_LESS)
01993         , m_depthWriting(GL_TRUE)
01994       {}
01995
01996     public:
01997       GLclampd  m_depthClearValue;
01998       GLenum    m_depthFunc;
01999       GLboolean m_depthWriting;
02000   };
02001
02002   class DepthBufferEnableAttributes
02003   {
02004     public:
02005       DepthBufferEnableAttributes( void )
02006         : m_depthTesting(GL_FALSE)
02007       {}
02008
02009     public:
02010       GLboolean m_depthTesting;
02011   };
02012
02013   class EvalAttributes
02014   {
02015     public:
02016       EvalAttributes( void )
02017         : m_autoNormal(GL_FALSE)
02018       {}
02019
02020     public:
02021       GLboolean m_autoNormal;
02022   };
02023
02024   class FogAttributes
02025   {
02026     public:
02027       FogAttributes()
02028         : m_color(0.0f,0.0f,0.0f,0.0f)
02029         , m_density(1.0f)
02030         , m_end(1.0f)
02031         , m_mode(GL_EXP)
02032         , m_start(0.0f)
02033       {}
02034
02035     public:
02036       nvmath::Vec4f m_color;
02037       GLfloat       m_density;
02038       GLfloat       m_end;
02039       GLenum        m_mode;
02040       GLfloat       m_start;
02041   };
02042
02043   class FogEnableAttributes
02044   {
02045     public:
02046       FogEnableAttributes( void )
02047         : m_fog(GL_FALSE)
02048       {}
02049
02050     public:
02051       GLboolean m_fog;
02052   };
02053
02054   class LightParameters
02055   {
02056     public:
02057       LightParameters( void )
02058         : m_ambient(0.0f,0.0f,0.0f,1.0f)
02059         , m_attenuation(1.0f,0.0f,0.0f)
02060         , m_diffuse(0.0f,0.0f,0.0f,1.0f)
02061         , m_position(0.0f,0.0f,1.0f,0.0f)
02062         , m_specular(0.0f,0.0f,0.0f,1.0f)
02063         , m_spotCutoff(180.0f)
02064         , m_spotDirection(0.0f,0.0f,-1.0f,0.0f)
02065         , m_spotExponent(0.0f)
02066       {}
02067
02068     public:
02069       nvmath::Vec4f m_ambient;
02070       nvmath::Vec3f m_attenuation;
02071       nvmath::Vec4f m_diffuse;
02072       nvmath::Vec4f m_position;
02073       nvmath::Vec4f m_specular;
02074       float         m_spotCutoff;
02075       nvmath::Vec4f m_spotDirection;
02076       float         m_spotExponent;
02077   };
02078
02079   class LightingAttributes
02080   {
02081     public:
02082       LightingAttributes( void )
02083         : m_colorMaterial(GL_FALSE)
02084         , m_colorMaterialFace(GL_FRONT_AND_BACK)
02085         , m_colorMaterialMode(GL_AMBIENT_AND_DIFFUSE)
02086         , m_lightModelLocalViewer(GL_FALSE)
02087         , m_lightModelTwoSide(GL_FALSE)
02088         , m_lightModelAmbient(0.2f,0.2f,0.2f,1.0f)
02089         , m_shadeModel(GL_SMOOTH)
02090       {
02091         m_materialAmbient[NVSG_CACHE_FRONT]   = m_materialAmbient[NVSG_CACHE_BACK]   = nvmath::Vec4f( 0.2f, 0.2f, 0.2f, 1.0f );
02092         m_materialDiffuse[NVSG_CACHE_FRONT]   = m_materialDiffuse[NVSG_CACHE_BACK]   = nvmath::Vec4f( 0.8f, 0.8f, 0.8f, 1.0f );
02093         m_materialSpecular[NVSG_CACHE_FRONT]  = m_materialSpecular[NVSG_CACHE_BACK]  = nvmath::Vec4f( 0.0f, 0.0f, 0.0f, 1.0f );
02094         m_materialEmission[NVSG_CACHE_FRONT]  = m_materialEmission[NVSG_CACHE_BACK]  = nvmath::Vec4f( 0.0f, 0.0f, 0.0f, 1.0f );
02095         m_materialShininess[NVSG_CACHE_FRONT] = m_materialShininess[NVSG_CACHE_BACK] = 0.0f;
02096       }
02097
02098     public:
02099       GLboolean                     m_colorMaterial;
02100       GLenum                        m_colorMaterialFace;
02101       GLenum                        m_colorMaterialMode;
02102       GLboolean                     m_lightModelLocalViewer;
02103       GLboolean                     m_lightModelTwoSide;
02104       nvmath::Vec4f                 m_lightModelAmbient;
02105       std::vector<LightParameters>  m_lightParameters;
02106       nvmath::Vec4f                 m_materialAmbient[2];
02107       nvmath::Vec4f                 m_materialDiffuse[2];
02108       nvmath::Vec4f                 m_materialSpecular[2];
02109       nvmath::Vec4f                 m_materialEmission[2];
02110       float                         m_materialShininess[2];
02111       GLenum                        m_shadeModel;
02112   };
02113
02114   class LightingEnableAttributes
02115   {
02116     public:
02117       LightingEnableAttributes( void )
02118         : m_lighting(GL_FALSE)
02119       {}
02120
02121     public:
02122       std::vector<GLboolean>  m_lights;
02123       GLboolean               m_lighting;
02124   };
02125
02126   class LineAttributes
02127   {
02128     public:
02129       LineAttributes( void )
02130         : m_width(1.0f)
02131         , m_stipplePattern(0xFFFF)
02132         , m_stippleRepeat(1)
02133       {}
02134
02135     public:
02136       float     m_width;
02137       GLushort  m_stipplePattern;
02138       GLint     m_stippleRepeat;
02139   };
02140
02141   class LineEnableAttributes
02142   {
02143     public:
02144       LineEnableAttributes( void )
02145         : m_smooth(GL_FALSE)
02146         , m_stipple(GL_FALSE)
02147       {}
02148
02149     public:
02150       GLboolean m_smooth;
02151       GLboolean m_stipple;
02152   };
02153
02154   class PointAttributes
02155   {
02156     public:
02157       PointAttributes( void )
02158         : m_size(1.0f)
02159       {}
02160
02161     public:
02162       float m_size;
02163   };
02164
02165   class PointEnableAttributes
02166   {
02167     public:
02168       PointEnableAttributes( void )
02169         : m_smooth(GL_FALSE)
02170       {}
02171
02172     public:
02173       GLboolean m_smooth;
02174   };
02175
02176   class PolygonAttributes
02177   {
02178     public:
02179       PolygonAttributes( void )
02180         : m_cullFaceMode(GL_BACK)
02181         , m_frontFaceMode(GL_CCW)
02182         , m_offsetFactor(0.0f)
02183         , m_offsetBias(0.0f)
02184       {
02185         m_rasterMode[NVSG_CACHE_FRONT] = m_rasterMode[NVSG_CACHE_BACK] = GL_FILL;
02186       }
02187
02188
02189     public:
02190       GLenum  m_cullFaceMode;
02191       GLenum  m_frontFaceMode;
02192       GLenum  m_rasterMode[2];
02193       GLfloat m_offsetFactor;
02194       GLfloat m_offsetBias;
02195   };
02196
02197   class PolygonEnableAttributes
02198   {
02199     public:
02200       PolygonEnableAttributes( void )
02201         : m_cullFace(GL_FALSE)
02202         , m_offsetFill(GL_FALSE)
02203         , m_offsetLine(GL_FALSE)
02204         , m_offsetPoint(GL_FALSE)
02205         , m_smooth(GL_FALSE)
02206         , m_stipple(GL_FALSE)
02207       {}
02208
02209     public:
02210       GLboolean m_cullFace;
02211       GLboolean m_offsetFill;
02212       GLboolean m_offsetLine;
02213       GLboolean m_offsetPoint;
02214       GLboolean m_smooth;
02215       GLboolean m_stipple;
02216   };
02217
02218   class ScissorAttributes
02219   {
02220     public:
02221       GLint   m_x;
02222       GLint   m_y;
02223       GLsizei m_width;
02224       GLsizei m_height;
02225   };
02226
02227   class ScissorEnableAttributes
02228   {
02229     public:
02230       ScissorEnableAttributes()
02231         : m_scissorTest(GL_FALSE)
02232       {}
02233
02234     public:
02235       GLboolean m_scissorTest;
02236   };
02237
02238   class StencilBufferAttributes
02239   {
02240     public:
02241       StencilBufferAttributes( void )
02242         : m_stencilClearValue(0)
02243         , m_stencilFail(GL_KEEP)
02244         , m_stencilFunc(GL_ALWAYS)
02245         , m_stencilPassDepthFail(GL_KEEP)
02246         , m_stencilPassDepthPass(GL_KEEP)
02247         , m_stencilRef(0)
02248         , m_stencilWriteMask(0xFFFFFFFF)
02249         , m_stencilValueMask(0xFFFFFFFF)
02250       {}
02251
02252     public:
02253       GLint             m_stencilClearValue;
02254       BFState<GLenum>   m_stencilFail;
02255       BFState<GLenum>   m_stencilFunc;
02256       BFState<GLenum>   m_stencilPassDepthFail;
02257       BFState<GLenum>   m_stencilPassDepthPass;
02258       BFState<GLint>    m_stencilRef;
02259       BFState<GLuint>   m_stencilWriteMask;
02260       BFState<GLuint>   m_stencilValueMask;
02261   };
02262
02263   class StencilBufferEnableAttributes
02264   {
02265     public:
02266       StencilBufferEnableAttributes()
02267         :m_stencilTest(GL_FALSE)
02268       {}
02269
02270     public:
02271       GLboolean m_stencilTest;
02272   };
02273
02274   class TextureAttributesPerUnit
02275   {
02276     public:
02277       TextureAttributesPerUnit( void )
02278         : m_envColor(0.0f,0.0f,0.0f,0.0f)
02279         , m_envMode(GL_MODULATE)
02280       {}
02281
02282     public:
02283       nvmath::Vec4f                       m_envColor;
02284       GLenum                              m_envMode;
02285   };
02286
02287   class TextureAttributes
02288   {
02289     public:
02290       TextureAttributes( void )
02291         : m_active(0)
02292         , m_toActivate(0)
02293       {}
02294
02295     public:
02296       std::vector<TextureAttributesPerUnit> m_unit;
02297       GLenum                                m_active;
02298       GLenum                                m_toActivate;
02299   };
02300
02301   class TextureEnableParameters
02302   {
02303     public:
02304       TextureEnableParameters( void )
02305       {
02306         for ( size_t i=0 ; i<4 ; i++ )
02307         {
02308           m_gen[i] = GL_FALSE;
02309         }
02310       }
02311
02312     public:
02313       std::map<GLenum,GLboolean>  m_texture;  // texture enable per target
02314       GLboolean                   m_gen[4];
02315   };
02316
02317   class TextureEnableAttributes
02318   {
02319     public:
02320       std::vector<TextureEnableParameters> m_unit;
02321   };
02322
02323   class TransformAttributes
02324   {
02325     public:
02326       TransformAttributes( void )
02327         : m_matrixMode(GL_MODELVIEW)
02328       {}
02329
02330     public:
02331       std::vector<nvmath::Vec4d>  m_clipPlaneEquations;
02332       GLenum                      m_matrixMode;
02333   };
02334
02335   class TransformEnableAttributes
02336   {
02337     public:
02338       TransformEnableAttributes( void )
02339         : m_normalize(GL_FALSE)
02340         , m_rescaleNormal(GL_FALSE)
02341       {}
02342
02343     public:
02344       std::vector<GLboolean>  m_clipPlanes;
02345       GLboolean               m_normalize;
02346       GLboolean               m_rescaleNormal;
02347   };
02348
02349   class VertexArrayAttributes
02350   {
02351     public:
02352       VertexArrayAttributes( void )
02353         : m_vertexArray(GL_FALSE)
02354         , m_normalArray(GL_FALSE)
02355         , m_colorArray(GL_FALSE)
02356         , m_secondaryColorArray(GL_FALSE)
02357         , m_fogCoordArray(GL_FALSE)
02358         , m_indexArray(GL_FALSE)
02359         , m_edgeFlagArray(GL_FALSE)
02360         , m_elementArrayUnified(GL_FALSE)
02361         , m_vertexAttribArrayUnified(GL_FALSE)
02362         , m_primitiveRestart(GL_FALSE)
02363         , m_primitiveRestartIndex(0)
02364         , m_clientTextureActive(0)
02365         , m_clientTextureToActivate(0)
02366       {}
02367
02368     public:
02369       // enable states for vertex attribute arrayz
02370       GLboolean m_vertexArray;
02371       GLboolean m_normalArray;
02372       GLboolean m_colorArray;
02373       GLboolean m_secondaryColorArray;
02374       GLboolean m_fogCoordArray;
02375       GLboolean m_indexArray;
02376       GLboolean m_edgeFlagArray;
02377       std::vector<GLboolean> m_textureCoordArray;
02378       std::vector<GLboolean> m_vertexAttribArray;
02379
02380       // feature enable states
02381       GLboolean m_elementArrayUnified;
02382       GLboolean m_vertexAttribArrayUnified;
02383       GLboolean m_primitiveRestart;
02384
02385       GLuint    m_primitiveRestartIndex;
02386       GLuint    m_clientTextureActive;
02387       GLuint    m_clientTextureToActivate;
02388   };
02389
02390   class ViewportAttributes
02391   {
02392     public:
02393       ViewportAttributes( void )
02394         : m_depthRangeFar(1.0)
02395         , m_depthRangeNear(0.0)
02396       {}
02397
02398     public:
02399       GLclampd  m_depthRangeFar;
02400       GLclampd  m_depthRangeNear;
02401   };
02402
02403   ColorBufferAttributes         m_colorBufferAttributes;
02404   ColorBufferEnableAttributes   m_colorBufferEnableAttributes;
02405   DepthBufferAttributes         m_depthBufferAttributes;
02406   DepthBufferEnableAttributes   m_depthBufferEnableAttributes;
02407   EvalAttributes                m_evalAttributes;
02408   FogAttributes                 m_fogAttributes;
02409   FogEnableAttributes           m_fogEnableAttributes;
02410   LightingAttributes            m_lightingAttributes;
02411   LightingEnableAttributes      m_lightingEnableAttributes;
02412   LineAttributes                m_lineAttributes;
02413   LineEnableAttributes          m_lineEnableAttributes;
02414   PointAttributes               m_pointAttributes;
02415   PointEnableAttributes         m_pointEnableAttributes;
02416   PolygonAttributes             m_polygonAttributes;
02417   PolygonEnableAttributes       m_polygonEnableAttributes;
02418   ScissorAttributes             m_scissorAttributes;
02419   ScissorEnableAttributes       m_scissorEnableAttributes;
02420   StencilBufferAttributes       m_stencilBufferAttributes;
02421   StencilBufferEnableAttributes m_stencilBufferEnableAttributes;
02422   TextureAttributes             m_textureAttributes;
02423   TextureEnableAttributes       m_textureEnableAttributes;
02424   TransformAttributes           m_transformAttributes;
02425   TransformEnableAttributes     m_transformEnableAttributes;
02426   VertexArrayAttributes         m_vertexArrayAttributes;
02427   ViewportAttributes            m_viewportAttributes;
02428
02429   std::stack<GLbitfield>                    m_pushMasks;
02430   std::stack<GLbitfield>                    m_clientPushMasks;
02431   std::stack<ColorBufferAttributes>         m_colorBufferAttributesStack;
02432   std::stack<ColorBufferEnableAttributes>   m_colorBufferEnableAttributesStack;
02433   std::stack<DepthBufferAttributes>         m_depthBufferAttributesStack;
02434   std::stack<DepthBufferEnableAttributes>   m_depthBufferEnableAttributesStack;
02435   std::stack<EvalAttributes>                m_evalAttributesStack;
02436   std::stack<FogAttributes>                 m_fogAttributesStack;
02437   std::stack<FogEnableAttributes>           m_fogEnableAttributesStack;
02438   std::stack<LightingAttributes>            m_lightingAttributesStack;
02439   std::stack<LightingEnableAttributes>      m_lightingEnableAttributesStack;
02440   std::stack<LineAttributes>                m_lineAttributesStack;
02441   std::stack<LineEnableAttributes>          m_lineEnableAttributesStack;
02442   std::stack<PointAttributes>               m_pointAttributesStack;
02443   std::stack<PointEnableAttributes>         m_pointEnableAttributesStack;
02444   std::stack<PolygonAttributes>             m_polygonAttributesStack;
02445   std::stack<PolygonEnableAttributes>       m_polygonEnableAttributesStack;
02446   std::stack<ScissorAttributes>             m_scissorAttributesStack;
02447   std::stack<ScissorEnableAttributes>       m_scissorEnableAttributesStack;
02448   std::stack<StencilBufferAttributes>       m_stencilBufferAttributesStack;
02449   std::stack<StencilBufferEnableAttributes> m_stencilBufferEnableAttributesStack;
02450   std::stack<TextureAttributes>             m_textureAttributesStack;
02451   std::stack<TextureEnableAttributes>       m_textureEnableAttributesStack;
02452   std::stack<TransformAttributes>           m_transformAttributesStack;
02453   std::stack<TransformEnableAttributes>     m_transformEnableAttributesStack;
02454   std::stack<VertexArrayAttributes>         m_vertexArrayAttributesStack;
02455   std::stack<ViewportAttributes>            m_viewportAttributesStack;
02456
02457 # if defined(GL_SUPPORT_RESET)
02458   class PreviousAttributes
02459   {
02460     public:
02461       PreviousAttributes()
02462         : m_alphaFunc(GL_ALWAYS)
02463         , m_alphaRef(0.0f)
02464         , m_alphaTest(GL_FALSE)
02465         , m_autoNormal(GL_FALSE)
02466         , m_blend(GL_FALSE)
02467         , m_blendSrcRGB(GL_ONE)
02468         , m_blendSrcAlpha(GL_ONE)
02469         , m_blendDstRGB(GL_ZERO)
02470         , m_blendDstAlpha(GL_ZERO)
02471         , m_clearColor(0.0f,0.0f,0.0f,0.0f)
02472         , m_colorLogicOp(GL_FALSE)
02473         , m_colorMaterial(GL_FALSE)
02474         , m_colorMaterialFace(GL_FRONT_AND_BACK)
02475         , m_colorMaterialMode(GL_AMBIENT_AND_DIFFUSE)
02476         , m_cullFace(GL_FALSE)
02477         , m_cullFaceMode(GL_BACK)
02478         , m_depthClearValue(1.0f)
02479         , m_depthFunc(GL_LESS)
02480         , m_depthRangeFar(1.0)
02481         , m_depthRangeNear(0.0)
02482         , m_depthTesting(GL_FALSE)
02483         , m_depthWriting(GL_TRUE)
02484         , m_dither(GL_TRUE)
02485         , m_fog(GL_FALSE)
02486         , m_fogColor(0.0f,0.0f,0.0f,0.0f)
02487         , m_fogDensity(1.0f)
02488         , m_fogEnd(1.0f)
02489         , m_fogMode(GL_EXP)
02490         , m_fogStart(0.0f)
02491         , m_frontFaceMode(GL_CCW)
02492         , m_lighting(GL_FALSE)
02493         , m_lightModelAmbient(0.2f,0.2f,0.2f,1.0f)
02494         , m_lightModelLocalViewer(GL_FALSE)
02495         , m_lightModelTwoSide(GL_FALSE)
02496         , m_lineSmooth(GL_FALSE)
02497         , m_lineStipple(GL_FALSE)
02498         , m_lineStipplePattern(0xFFFF)
02499         , m_lineStippleRepeat(1)
02500         , m_lineWidth(1.0f)
02501         , m_logicOp(GL_FALSE)
02502         , m_normalize(GL_FALSE)
02503         , m_rescaleNormal(GL_FALSE)
02504         , m_pointSize(1.0f)
02505         , m_pointSmooth(GL_FALSE)
02506         , m_polygonOffsetFactor(0.0f)
02507         , m_polygonOffsetBias(0.0f)
02508         , m_polygonSmooth(GL_FALSE)
02509         , m_polygonStipple(GL_FALSE)
02510         , m_offsetFill(GL_FALSE)
02511         , m_offsetLine(GL_FALSE)
02512         , m_offsetPoint(GL_FALSE)
02513         , m_scissorTest(GL_FALSE)
02514         , m_shadeModel(GL_SMOOTH)
02515         , m_stencilClearValue(0)
02516         , m_stencilFail(GL_KEEP)
02517         , m_stencilFunc(GL_ALWAYS)
02518         , m_stencilPassDepthFail(GL_KEEP)
02519         , m_stencilPassDepthPass(GL_KEEP)
02520         , m_stencilRef(0)
02521         , m_stencilTest(GL_FALSE)
02522         , m_stencilValueMask(0xFFFFFFFF)
02523         , m_stencilWriteMask(0xFFFFFFFF)
02524       {
02525         for ( size_t i=0 ; i<4 ; i++ )
02526         {
02527           m_colorWriteMask[i] = GL_TRUE;
02528         }
02529         m_materialAmbient[NVSG_CACHE_FRONT]   = m_materialAmbient[NVSG_CACHE_BACK]   = nvmath::Vec4f( 0.2f, 0.2f, 0.2f, 1.0f );
02530         m_materialDiffuse[NVSG_CACHE_FRONT]   = m_materialDiffuse[NVSG_CACHE_BACK]   = nvmath::Vec4f( 0.8f, 0.8f, 0.8f, 1.0f );
02531         m_materialSpecular[NVSG_CACHE_FRONT]  = m_materialSpecular[NVSG_CACHE_BACK]  = nvmath::Vec4f( 0.0f, 0.0f, 0.0f, 1.0f );
02532         m_materialEmission[NVSG_CACHE_FRONT]  = m_materialEmission[NVSG_CACHE_BACK]  = nvmath::Vec4f( 0.0f, 0.0f, 0.0f, 1.0f );
02533         m_materialShininess[NVSG_CACHE_FRONT] = m_materialShininess[NVSG_CACHE_BACK] = 0.0f;
02534         m_rasterMode[NVSG_CACHE_FRONT] = m_rasterMode[NVSG_CACHE_BACK] = GL_FILL;
02535       }
02536
02537     public:
02538       GLenum                                m_alphaFunc;
02539       GLclampf                              m_alphaRef;
02540       GLboolean                             m_alphaTest;
02541       GLboolean                             m_autoNormal;
02542       GLboolean                             m_blend;
02543       GLenum                                m_blendSrcRGB;
02544       GLenum                                m_blendSrcAlpha;
02545       GLenum                                m_blendDstRGB;
02546       GLenum                                m_blendDstAlpha;
02547       nvmath::Vec4f                         m_clearColor;
02548       std::vector<GLboolean>                m_clipPlanes;
02549       std::vector<nvmath::Vec4d>            m_clipPlaneEquations;
02550       GLboolean                             m_colorLogicOp;
02551       GLboolean                             m_colorMaterial;
02552       GLenum                                m_colorMaterialFace;
02553       GLenum                                m_colorMaterialMode;
02554       GLboolean                             m_colorWriteMask[4];
02555       GLboolean                             m_cullFace;
02556       GLenum                                m_cullFaceMode;
02557       GLclampd                              m_depthClearValue;
02558       GLenum                                m_depthFunc;
02559       GLclampd                              m_depthRangeFar;
02560       GLclampd                              m_depthRangeNear;
02561       GLboolean                             m_depthTesting;
02562       GLboolean                             m_depthWriting;
02563       GLboolean                             m_dither;
02564       GLboolean                             m_fog;
02565       nvmath::Vec4f                         m_fogColor;
02566       GLfloat                               m_fogDensity;
02567       GLfloat                               m_fogEnd;
02568       GLenum                                m_fogMode;
02569       GLfloat                               m_fogStart;
02570       GLenum                                m_frontFaceMode;
02571       GLboolean                             m_lighting;
02572       std::vector<GLboolean>                m_lights;
02573       nvmath::Vec4f                         m_lightModelAmbient;
02574       std::vector<LightParameters>          m_lightParameters;
02575       GLboolean                             m_lightModelLocalViewer;
02576       GLboolean                             m_lightModelTwoSide;
02577       GLboolean                             m_lineSmooth;
02578       GLboolean                             m_lineStipple;
02579       GLushort                              m_lineStipplePattern;
02580       GLint                                 m_lineStippleRepeat;
02581       GLfloat                               m_lineWidth;
02582       GLboolean                             m_logicOp;
02583       nvmath::Vec4f                         m_materialAmbient[2];
02584       nvmath::Vec4f                         m_materialDiffuse[2];
02585       nvmath::Vec4f                         m_materialSpecular[2];
02586       nvmath::Vec4f                         m_materialEmission[2];
02587       float                                 m_materialShininess[2];
02588       GLboolean                             m_normalize;
02589       GLboolean                             m_rescaleNormal;
02590       GLfloat                               m_pointSize;
02591       GLboolean                             m_pointSmooth;
02592       GLfloat                               m_polygonOffsetFactor;
02593       GLfloat                               m_polygonOffsetBias;
02594       GLboolean                             m_polygonSmooth;
02595       GLboolean                             m_polygonStipple;
02596       GLboolean                             m_offsetFill;
02597       GLboolean                             m_offsetLine;
02598       GLboolean                             m_offsetPoint;
02599       GLenum                                m_rasterMode[2];
02600       GLsizei                               m_scissorHeight;
02601       GLboolean                             m_scissorTest;
02602       GLsizei                               m_scissorWidth;
02603       GLint                                 m_scissorX;
02604       GLint                                 m_scissorY;
02605       GLenum                                m_shadeModel;
02606       GLint                                 m_stencilClearValue;
02607       BFState<GLenum>                       m_stencilFail;
02608       BFState<GLenum>                       m_stencilFunc;
02609       BFState<GLenum>                       m_stencilPassDepthFail;
02610       BFState<GLenum>                       m_stencilPassDepthPass;
02611       BFState<GLint>                        m_stencilRef;
02612       GLboolean                             m_stencilTest;
02613       BFState<GLuint>                       m_stencilValueMask;
02614       BFState<GLuint>                       m_stencilWriteMask;
02615       std::vector<TextureEnableParameters>  m_textureEnables;
02616   };
02617
02618   PreviousAttributes  m_previousAttributes;
02619 # endif // GL_SUPPORT_RESET
02620
02621 #endif // GL_CACHING
02622   GLObjects     * m_glObjects;    // managing shareable and non-shareable objects
02623
02624   // effect interface data
02625   struct
02626   {
02627     nvsg::CgFxEffect * effect;  // to access the CgFxEffect interface
02628     nvsg::CgFxPass     pass;    // currently applied pass
02629     nvsg::CgFxProgram  program; // currently applied program
02630   } m_cgBinding;
02631
02632   class GLLocks
02633   {
02634     public:
02635       GLLocks( void );
02636
02637     public:
02638       bool  m_cullFace;
02639       bool  m_cullFaceMode;
02640       bool  m_lighting;
02641       bool  m_lightModelTwoSide;
02642       bool  m_polygonMode;
02643   };
02644
02645   GLLocks         m_locks;
02646
02647 #if defined(_WIN32)
02648   HDC             m_hdc;        // Handle to the corresponding device context
02649   HGLRC           m_hglrc;      // Handle of the corresponding GL render context
02650 #elif defined(LINUX)
02651   Display         *m_dpy;       // Handle to corresponding X display
02652   GLXContext       m_ctx;       // Handle to corresponding X render context
02653   GLXDrawable      m_drawable;  // Handle to corresponding X drawable
02654 #endif
02655
02656   GLFunctions   * m_glFunctions;  // Pointer to OpenGL functions wrapper object
02657   GLint           m_maxVertexAttribs; // Maximal number of vertex attributes supported
02658   GLint           m_maxTexCoords; // Maximal number of supported client texture slots on this HW
02659   GLint           m_maxTexUnits;  // Maximal number of supported texture slots on this HW
02660   GLint           m_maxTexImageUnits;  // Maximal number of supported texture image units on this HW
02661
02662   // Counts buffer uploads for the current context.
02663   // With NV_vertex_buffer_unified_memory/NV_shader_buffer_load buffers must be made
02664   // resident per-context, not just per-share-group. At buffer upload, we compare this
02665   // counter to the share-group's upload counter to detect buffers not yet made resident
02666   // for the current context.
02667   GLint           m_bufferUploads;
02668
02669   // Table of texture image formats mapping given PixelFormat and PixelDataType descriptors to a
02670   // 'best match' GL format. This table will be initialized at GLContext construction.
02671   NVSGTexImageFmt m_glTexImageFmts[nvsg::Image::IMG_NUM_FORMATS][nvsg::Image::IMG_NUM_TYPES];
02672
02673   // Table of texture wrap modes mapping from nvsg specific to a 'best match' GL specific.
02674   GLenum        m_glTexWrapModes[nvsg::TWM_MIRROR_CLAMP_TO_BORDER+1];
02675
02676
02677 #if !defined(NDEBUG)
02678   bool            m_inBeginEndLoop;  // \c true, when inside a glBegin/glEnd loop, otherwise \c false
02679 #endif
02680 #if defined( GL_STATISTICS )
02681   GLStatistics  * m_glStats;
02682 #endif
02683
02684 #define GEN_BUFFER_CACHE_SIZE 128
02685   GLuint      m_buffers[GEN_BUFFER_CACHE_SIZE];
02686   GLsizei     m_firstBuffer;
02687   GLsizei     m_bufferCount;
02688 };
02689
02690 } // namespace nvgl
02691
02692 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
02693 // inline implementations
02694 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
02695
02696 // need defines now with implementing
02697 #include "nvgl/GLFunctions.h"
02698 #include "nvgl/GLObjects.h"
02699
02700 namespace nvgl
02701 {
02702
02703 inline VBOCachingState *GLContext::getVBOState() const
02704 {
02705   return m_glObjects->m_shareables->m_VBOState;
02706 }
02707
02708 inline void GLContext::addBuffers(GLsizei n, const GLuint * names)
02709 {
02710   NVSG_TRACE();
02711   NVSG_ASSERT(n>0 && names);
02712   m_glObjects->m_shareables->m_buffers.insert(&names[0], &names[n]);
02713 }
02714
02715 inline void GLContext::removeBuffers(GLsizei n, const GLuint * names)
02716 {
02717   NVSG_TRACE();
02718   NVSG_ASSERT(n>0 && names);
02719   nvutil::set_erase(m_glObjects->m_shareables->m_buffers, &names[0], &names[n]);
02720 }
02721
02722 inline void GLContext::addLists(GLsizei n, GLuint first)
02723 {
02724   NVSG_TRACE();
02725   NVSG_ASSERT(n>0 && first>0);
02726   for( GLuint i=first; i<first+n; ++i )
02727   {
02728     m_glObjects->m_shareables->m_lists.insert(i);
02729   }
02730 }
02731
02732 inline void GLContext::removeLists(GLsizei n, GLuint first)
02733 {
02734   NVSG_TRACE();
02735   NVSG_ASSERT(n>0 && first>0);
02736   for( GLuint i=first; i<first+n; ++i )
02737   {
02738     m_glObjects->m_shareables->m_lists.erase(i);
02739   }
02740 }
02741
02742 inline void GLContext::addPrograms(GLsizei n, const GLuint * names)
02743 {
02744   NVSG_TRACE();
02745   NVSG_ASSERT(n>0 && names);
02746   m_glObjects->m_shareables->m_programs.insert(&names[0], &names[n]);
02747 }
02748
02749 inline void GLContext::removePrograms(GLsizei n, const GLuint * names)
02750 {
02751   NVSG_TRACE();
02752   NVSG_ASSERT(n>0 && names);
02753   nvutil::set_erase(m_glObjects->m_shareables->m_programs, &names[0], &names[n]);
02754 }
02755
02756 inline void GLContext::addTextures(GLsizei n, const GLuint * names)
02757 {
02758   NVSG_TRACE();
02759   NVSG_ASSERT(n>0 && names);
02760   m_glObjects->m_shareables->m_textures.insert(&names[0], &names[n]);
02761 }
02762
02763 inline void GLContext::removeTextures(GLsizei n, const GLuint * names)
02764 {
02765   NVSG_TRACE();
02766   NVSG_ASSERT(n>0 && names);
02767   nvutil::set_erase(m_glObjects->m_shareables->m_textures, &names[0], &names[n]);
02768 }
02769
02770 inline void GLContext::addQueries(GLsizei n, const GLuint * names)
02771 {
02772   NVSG_TRACE();
02773   NVSG_ASSERT(n>0 && names);
02774   m_glObjects->m_queries.insert(&names[0], &names[n]);
02775 }
02776
02777 inline void GLContext::removeQueries(GLsizei n, const GLuint * names)
02778 {
02779   NVSG_TRACE();
02780   NVSG_ASSERT(n>0 && names);
02781   nvutil::set_erase(m_glObjects->m_queries, &names[0], &names[n]);
02782 }
02783
02790 inline GLContext * glContext()
02791 {
02792 #if defined(_WIN32)
02793   NVSG_ASSERT(glContextTlsIdx!=TLS_OUT_OF_INDEXES);
02794   return (GLContext*)TlsGetValue(glContextTlsIdx);
02795 #elif defined(LINUX)
02796   return (GLContext*)pthread_getspecific(glContextKey);
02797 #else
02798 #error Unsupported Operating System!
02799 #endif
02800 }
02801
02803 #if !defined(DOXYGEN_IGNORE)
02804 # if !defined(NDEBUG)
02805 inline void ASSERT_GL_CURRENT_CONTEXT_CONFORMITY()
02806 {
02807 #  if defined(_WIN32)
02808   HGLRC hglrc = wglGetCurrentContext();
02809   NVSG_ASSERT((glContext()!=NULL)==(hglrc!=NULL));
02810   NVSG_ASSERT(!glContext()||glContext()->m_hglrc==hglrc);
02811 #  elif defined(LINUX)
02812   GLXContext ctx = glXGetCurrentContext();
02813   NVSG_ASSERT((glContext()!=NULL)==(ctx!=NULL));
02814   NVSG_ASSERT(!glContext()||glContext()->m_ctx==ctx);
02815 #  else // unsupported OS
02816 #  endif
02817 }
02818 # else
02819 # define ASSERT_GL_CURRENT_CONTEXT_CONFORMITY() static_cast<void*>(0)
02820 # endif
02821
02822 #endif //DOXYGEN_IGNORE
02823
02825 inline bool equalf(GLfloat a, GLfloat b)
02826 {
02827   return (*((int*)&a) == *((int*)&b));
02828 }
02830 inline bool equal3f(GLfloat a1, GLfloat a2, GLfloat a3, const GLfloat *b)
02831 {
02832   return (  *((int*)&a1) == *((int*)&b[0])
02833          && *((int*)&a2) == *((int*)&b[1])
02834          && *((int*)&a3) == *((int*)&b[2]));
02835 }
02837 inline bool equal3fv(const GLfloat *a, const GLfloat *b)
02838 {
02839   return (  *((int*)&a[0]) == *((int*)&b[0])
02840          && *((int*)&a[1]) == *((int*)&b[1])
02841          && *((int*)&a[2]) == *((int*)&b[2]));
02842 }
02844 inline bool equal4f(GLfloat a1, GLfloat a2, GLfloat a3, GLfloat a4, const GLfloat *b)
02845 {
02846   return (  *((int*)&a1) == *((int*)&b[0])
02847          && *((int*)&a2) == *((int*)&b[1])
02848          && *((int*)&a3) == *((int*)&b[2])
02849          && *((int*)&a4) == *((int*)&b[3]));
02850 }
02852 inline bool equal4fv(const GLfloat *a, const GLfloat *b)
02853 {
02854   return (  *((int*)&a[0]) == *((int*)&b[0])
02855          && *((int*)&a[1]) == *((int*)&b[1])
02856          && *((int*)&a[2]) == *((int*)&b[2])
02857          && *((int*)&a[3]) == *((int*)&b[3]));
02858 }
02859
02861
02863
02864 inline void  GLAccum( GLenum op, GLfloat value )
02865 {
02866   NVSG_GL_STATS_FCT_COUNT();
02867   glAccum( op, value );
02868   ASSERT_GL_NO_ERROR;
02869 }
02870
02872
02873 inline  void  GLActiveStencilFace( GLenum face )
02874 {
02875   NVSG_GL_STATS_FCT_COUNT();
02876   NVSG_ASSERT( glContext()->m_glFunctions );
02877   glContext()->m_glFunctions->glActiveStencilFaceEXT( face );
02878   ASSERT_GL_NO_ERROR;
02879 }
02880
02882
02883 inline  void  GLActiveTexture( GLenum texture )
02884 {
02885 #if defined( GL_CACHING )
02886   glContext()->m_textureAttributes.m_toActivate = texture - GL_TEXTURE0;
02887 #else
02888   NVSG_GL_STATS_ACTIVE_TEXTURE( texture );
02889   NVSG_ASSERT( glContext()->m_glFunctions );
02890   glContext()->m_glFunctions->glActiveTexture(texture);
02891   ASSERT_GL_NO_ERROR;
02892 #endif
02893 }
02894
02896
02897 inline  void  GLPatchParameterfv( GLenum pname, const GLfloat * values )
02898 {
02899   NVSG_GL_STATS_FCT_COUNT();
02900   NVSG_ASSERT( glContext()->m_glFunctions );
02901   glContext()->m_glFunctions->glPatchParameterfv( pname, values );
02902   ASSERT_GL_NO_ERROR;
02903 }
02904
02906
02907 inline  void  GLPatchParameteri( GLenum pname, GLint value )
02908 {
02909   NVSG_GL_STATS_FCT_COUNT();
02910   NVSG_ASSERT( glContext()->m_glFunctions );
02911   glContext()->m_glFunctions->glPatchParameteri( pname, value );
02912   ASSERT_GL_NO_ERROR;
02913 }
02914
02916
02917 inline  void  GLActiveVarying( GLuint program, const GLchar *name )
02918 {
02919   NVSG_GL_STATS_FCT_COUNT();
02920   NVSG_ASSERT( glContext()->m_glFunctions );
02921   glContext()->m_glFunctions->glActiveVaryingNV( program, name );
02922   ASSERT_GL_NO_ERROR;
02923 }
02924
02926
02927 inline  void  GLAlphaFunc( GLenum func, GLclampf ref )
02928 {
02929 #if defined(GL_CACHING)
02930   GLContext * ctx = glContext();
02931 # if defined(GL_SUPPORT_RESET)
02932   ctx->m_previousAttributes.m_alphaFunc = ctx->m_colorBufferAttributes.m_alphaFunc;
02933   ctx->m_previousAttributes.m_alphaRef  = ctx->m_colorBufferAttributes.m_alphaRef;
02934 # endif
02935   if (    ( ctx->m_colorBufferAttributes.m_alphaFunc != func )
02936       ||  ( ctx->m_colorBufferAttributes.m_alphaRef  != ref ) )
02937 #endif
02938   {
02939     NVSG_GL_STATS_FCT_COUNT();
02940     glAlphaFunc( func, ref );
02941     ASSERT_GL_NO_ERROR;
02942 #if defined(GL_CACHING)
02943     ctx->m_colorBufferAttributes.m_alphaFunc = func;
02944     ctx->m_colorBufferAttributes.m_alphaRef  = ref;
02945 #endif
02946   }
02947 }
02948
02954 inline void GLResetAlphaFunc()
02955 {
02956 #if defined(GL_SUPPORT_RESET)
02957   GLContext * ctx = glContext();
02958   GLAlphaFunc( ctx->m_previousAttributes.m_alphaFunc, ctx->m_previousAttributes.m_alphaRef );
02959 #else
02960   GLAlphaFunc( GL_ALWAYS, 0.0f );
02961 #endif
02962 }
02963
02965
02966 inline  GLboolean GLAreProgramsResident( GLsizei n, const GLuint *programs, GLboolean *residences )
02967 {
02968   NVSG_GL_STATS_FCT_COUNT();
02969   NVSG_ASSERT( glContext()->m_glFunctions );
02970   GLboolean ok = glContext()->m_glFunctions->glAreProgramsResidentNV( n, programs, residences );
02971   ASSERT_GL_NO_ERROR;
02972   return( ok );
02973 }
02974
02976
02977 inline  GLboolean GLAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences )
02978 {
02979   NVSG_GL_STATS_FCT_COUNT();
02980   GLboolean ok = glAreTexturesResident( n, textures, residences );
02981   ASSERT_GL_NO_ERROR;
02982   return( ok );
02983 }
02984
02986
02987 inline  void  GLArrayElement( GLint i )
02988 {
02989   NVSG_GL_STATS_FCT_COUNT();
02990   glArrayElement( i );
02991   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
02992 }
02993
02995
02996 inline  void  GLAttachObject( GLhandleARB containerObj, GLhandleARB attachedObj )
02997 {
02998   NVSG_GL_STATS_FCT_COUNT();
02999   NVSG_ASSERT( glContext()->m_glFunctions );
03000   glContext()->m_glFunctions->glAttachObjectARB( containerObj, attachedObj );
03001   ASSERT_GL_NO_ERROR;
03002 }
03003
03005
03006 inline  void  GLAttachShader( GLuint program, GLuint shader )
03007 {
03008   NVSG_GL_STATS_FCT_COUNT();
03009   NVSG_ASSERT( glContext()->m_glFunctions );
03010   glContext()->m_glFunctions->glAttachShader( program, shader );
03011   ASSERT_GL_NO_ERROR;
03012 }
03013
03015
03016 inline  void  GLBegin( GLenum mode )
03017 {
03018   NVSG_GL_STATS_FCT_COUNT();
03019   glBegin( mode );
03020 #if !defined(NDEBUG)
03021   glContext()->m_inBeginEndLoop = true;
03022 #endif
03023 }
03024
03026
03027 inline  void  GLBeginQuery( GLenum target, GLuint id )
03028 {
03029   NVSG_GL_STATS_FCT_COUNT();
03030   NVSG_ASSERT( glContext()->m_glFunctions );
03031   glContext()->m_glFunctions->glBeginQuery( target, id );
03032   ASSERT_GL_NO_ERROR;
03033 }
03034
03036 inline  void  GLBeginTransformFeedbackNV( GLenum primitiveMode )
03037 {
03038   NVSG_GL_STATS_FCT_COUNT();
03039   NVSG_ASSERT( glContext()->m_glFunctions );
03040   glContext()->m_glFunctions->glBeginTransformFeedbackNV( primitiveMode );
03041   ASSERT_GL_NO_ERROR;
03042 }
03043
03045 inline  void  GLBeginTransformFeedback( GLenum primitiveMode )
03046 {
03047   NVSG_GL_STATS_FCT_COUNT();
03048   NVSG_ASSERT( glContext()->m_glFunctions );
03049   glContext()->m_glFunctions->glBeginTransformFeedback( primitiveMode );
03050   ASSERT_GL_NO_ERROR;
03051 }
03052
03054 inline  void  GLBeginConditionalRenderNV( GLuint id, GLenum mode )
03055 {
03056   NVSG_GL_STATS_FCT_COUNT();
03057   NVSG_ASSERT( glContext()->m_glFunctions );
03058   glContext()->m_glFunctions->glBeginConditionalRenderNV( id, mode );
03059   ASSERT_GL_NO_ERROR;
03060 }
03061
03063 inline  void  GLBlendColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
03064 {
03065   NVSG_GL_STATS_FCT_COUNT();
03066   NVSG_ASSERT( glContext()->m_glFunctions );
03067   glContext()->m_glFunctions->glBlendColor( red, green, blue, alpha );
03068   ASSERT_GL_NO_ERROR;
03069 }
03070
03072 inline  void  GLBindAttribLocation( GLuint program, GLuint index, const GLchar *name )
03073 {
03074   NVSG_GL_STATS_FCT_COUNT();
03075   NVSG_ASSERT( glContext()->m_glFunctions );
03076   glContext()->m_glFunctions->glBindAttribLocation( program, index, name );
03077   ASSERT_GL_NO_ERROR;
03078 }
03079
03081
03082 inline  void  GLBindBuffer( GLenum target, GLuint id )
03083 {
03084   GLContext * ctx = glContext();
03085   NVSG_GL_STATS_BIND_BUFFER( target, id );
03086   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glBindBuffer );
03087   ctx->m_glFunctions->glBindBuffer( target, id );
03088   ASSERT_GL_NO_ERROR;
03089 }
03090
03092
03093 inline  void  GLBindBufferBaseNV( GLenum target, GLuint index, GLuint buffer )
03094 {
03095   NVSG_GL_STATS_FCT_COUNT();
03096   NVSG_ASSERT( glContext()->m_glFunctions );
03097   glContext()->m_glFunctions->glBindBufferBaseNV( target, index, buffer );
03098   ASSERT_GL_NO_ERROR;
03099 }
03100
03102
03103 inline  void  GLBindBufferBase( GLenum target, GLuint index, GLuint buffer )
03104 {
03105   NVSG_GL_STATS_FCT_COUNT();
03106   NVSG_ASSERT( glContext()->m_glFunctions );
03107   glContext()->m_glFunctions->glBindBufferBase( target, index, buffer );
03108   ASSERT_GL_NO_ERROR;
03109 }
03110
03112
03113 inline  void  GLBindBufferOffsetNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset )
03114 {
03115   NVSG_GL_STATS_FCT_COUNT();
03116   NVSG_ASSERT( glContext()->m_glFunctions );
03117   glContext()->m_glFunctions->glBindBufferOffsetNV( target, index, buffer, offset );
03118   ASSERT_GL_NO_ERROR;
03119 }
03120
03122
03123 inline  void  GLBindBufferRangeNV( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size )
03124 {
03125   NVSG_GL_STATS_FCT_COUNT();
03126   NVSG_ASSERT( glContext()->m_glFunctions );
03127   glContext()->m_glFunctions->glBindBufferRangeNV( target, index, buffer, offset, size );
03128   ASSERT_GL_NO_ERROR;
03129 }
03130
03132
03133 inline  void  GLBindBufferRange( GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size )
03134 {
03135   NVSG_GL_STATS_FCT_COUNT();
03136   NVSG_ASSERT( glContext()->m_glFunctions );
03137   glContext()->m_glFunctions->glBindBufferRange( target, index, buffer, offset, size );
03138   ASSERT_GL_NO_ERROR;
03139 }
03140
03142
03143 inline  void  GLBufferData( GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage )
03144 {
03145   NVSG_GL_STATS_BUFFER_DATA( target, size, data, usage );
03146   GLContext * ctx = glContext();
03147
03148   NVSG_ASSERT( ctx->m_glFunctions->glBufferData );
03149   ctx->m_glFunctions->glBufferData( target, size, data, usage );
03150   ASSERT_GL_NO_ERROR;
03151 }
03152
03154
03155 inline  void  GLBufferSubData( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data )
03156 {
03157   NVSG_GL_STATS_FCT_COUNT();
03158   GLContext * ctx = glContext();
03159
03160   NVSG_ASSERT( ctx->m_glFunctions->glBufferSubData );
03161   ctx->m_glFunctions->glBufferSubData( target, offset, size, data );
03162   ASSERT_GL_NO_ERROR;
03163 }
03164
03166
03167 inline  void  GLDeleteBuffers(GLsizei n, const GLuint *buffers)
03168 {
03169   NVSG_GL_STATS_DELETE_BUFFERS( n, buffers );
03170   GLContext * ctx = glContext();
03171   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glDeleteBuffers );
03172
03173   ctx->m_glFunctions->glDeleteBuffers( n, buffers );
03174   ctx->removeBuffers(n, buffers);
03175   ASSERT_GL_NO_ERROR;
03176 }
03177
03179 inline  void  GLDeleteFences( GLsizei n, const GLuint *fences )
03180 {
03181   NVSG_GL_STATS_FCT_COUNT();
03182   NVSG_ASSERT( glContext()->m_glFunctions );
03183   glContext()->m_glFunctions->glDeleteFences( n, fences );
03184   ASSERT_GL_NO_ERROR;
03185 }
03186
03188
03189 inline  void  GLGenBuffers(GLsizei n, GLuint *buffers)
03190 {
03191   NVSG_GL_STATS_GEN_BUFFERS( n, buffers );
03192   GLContext * ctx = glContext();
03193   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glGenBuffers );
03194   ctx->genBuffers( n, buffers );
03195   ctx->addBuffers(n, buffers);
03196   ASSERT_GL_NO_ERROR;
03197 }
03198
03200 inline  void  GLGenFences( GLsizei n, GLuint *fences )
03201 {
03202   NVSG_GL_STATS_FCT_COUNT();
03203   NVSG_ASSERT( glContext()->m_glFunctions );
03204   glContext()->m_glFunctions->glGenFences( n, fences );
03205   ASSERT_GL_NO_ERROR;
03206 }
03207
03209
03211 inline  GLvoid*  GLMapBuffer( GLenum target, GLenum access )
03212 {
03213   NVSG_GL_STATS_FCT_COUNT();
03214   GLContext * ctx = glContext();
03215
03216   NVSG_ASSERT( ctx->m_glFunctions->glMapBuffer );
03217   GLvoid * p = ctx->m_glFunctions->glMapBuffer( target, access );
03218   ASSERT_GL_NO_ERROR;
03219   return p;
03220 }
03221
03223
03224 inline  void  GLUnlockArrays()
03225 {
03226   NVSG_GL_STATS_FCT_COUNT();
03227   NVSG_ASSERT( glContext()->m_glFunctions );
03228   glContext()->m_glFunctions->glUnlockArrays();
03229   ASSERT_GL_NO_ERROR;
03230 }
03231
03233
03234 inline  void  GLUniform1f( GLint location, GLfloat v0 )
03235 {
03236   NVSG_GL_STATS_FCT_COUNT();
03237   NVSG_ASSERT( glContext()->m_glFunctions );
03238   glContext()->m_glFunctions->glUniform1f( location, v0 );
03239   ASSERT_GL_NO_ERROR;
03240 }
03241
03243
03244 inline  void  GLUniform1fv( GLint location, GLsizei count, const GLfloat *value )
03245 {
03246   NVSG_GL_STATS_FCT_COUNT();
03247   NVSG_ASSERT( glContext()->m_glFunctions );
03248   glContext()->m_glFunctions->glUniform1fv( location, count, value );
03249   ASSERT_GL_NO_ERROR;
03250 }
03251
03253
03254 inline  void  GLUniform1i( GLint location, GLint v0 )
03255 {
03256   NVSG_GL_STATS_FCT_COUNT();
03257   NVSG_ASSERT( glContext()->m_glFunctions );
03258   glContext()->m_glFunctions->glUniform1i( location, v0 );
03259   ASSERT_GL_NO_ERROR;
03260 }
03261
03263
03264 inline  void  GLUniform1iv( GLint location, GLsizei count, const GLint *value )
03265 {
03266   NVSG_GL_STATS_FCT_COUNT();
03267   NVSG_ASSERT( glContext()->m_glFunctions );
03268   glContext()->m_glFunctions->glUniform1iv( location, count, value );
03269   ASSERT_GL_NO_ERROR;
03270 }
03271
03273
03274 inline  void  GLUniform1ui( GLint location, GLuint v0 )
03275 {
03276   NVSG_GL_STATS_FCT_COUNT();
03277   NVSG_ASSERT( glContext()->m_glFunctions );
03278   glContext()->m_glFunctions->glUniform1ui( location, v0 );
03279   ASSERT_GL_NO_ERROR;
03280 }
03281
03283
03284 inline  void  GLUniform1uiv( GLint location, GLsizei count, const GLuint *value )
03285 {
03286   NVSG_GL_STATS_FCT_COUNT();
03287   NVSG_ASSERT( glContext()->m_glFunctions );
03288   glContext()->m_glFunctions->glUniform1uiv( location, count, value );
03289   ASSERT_GL_NO_ERROR;
03290 }
03291
03293
03294 inline  void  GLUniform2f( GLint location, GLfloat v0, GLfloat v1 )
03295 {
03296   NVSG_GL_STATS_FCT_COUNT();
03297   NVSG_ASSERT( glContext()->m_glFunctions );
03298   glContext()->m_glFunctions->glUniform2f( location, v0, v1 );
03299   ASSERT_GL_NO_ERROR;
03300 }
03301
03303
03304 inline  void  GLUniform2fv( GLint location, GLsizei count, const GLfloat *value )
03305 {
03306   NVSG_GL_STATS_FCT_COUNT();
03307   NVSG_ASSERT( glContext()->m_glFunctions );
03308   glContext()->m_glFunctions->glUniform2fv( location, count, value );
03309   ASSERT_GL_NO_ERROR;
03310 }
03311
03313
03314 inline  void  GLUniform2i( GLint location, GLint v0, GLint v1 )
03315 {
03316   NVSG_GL_STATS_FCT_COUNT();
03317   NVSG_ASSERT( glContext()->m_glFunctions );
03318   glContext()->m_glFunctions->glUniform2i( location, v0, v1 );
03319   ASSERT_GL_NO_ERROR;
03320 }
03321
03323
03324 inline  void  GLUniform2iv( GLint location, GLsizei count, const GLint *value )
03325 {
03326   NVSG_GL_STATS_FCT_COUNT();
03327   NVSG_ASSERT( glContext()->m_glFunctions );
03328   glContext()->m_glFunctions->glUniform2iv( location, count, value );
03329   ASSERT_GL_NO_ERROR;
03330 }
03331
03333
03334 inline  void  GLUniform2ui( GLint location, GLuint v0, GLuint v1 )
03335 {
03336   NVSG_GL_STATS_FCT_COUNT();
03337   NVSG_ASSERT( glContext()->m_glFunctions );
03338   glContext()->m_glFunctions->glUniform2ui( location, v0, v1 );
03339   ASSERT_GL_NO_ERROR;
03340 }
03341
03343
03344 inline  void  GLUniform2uiv( GLint location, GLsizei count, const GLuint *value )
03345 {
03346   NVSG_GL_STATS_FCT_COUNT();
03347   NVSG_ASSERT( glContext()->m_glFunctions );
03348   glContext()->m_glFunctions->glUniform2uiv( location, count, value );
03349   ASSERT_GL_NO_ERROR;
03350 }
03351
03353
03354 inline  void  GLUniform3f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2 )
03355 {
03356   NVSG_GL_STATS_FCT_COUNT();
03357   NVSG_ASSERT( glContext()->m_glFunctions );
03358   glContext()->m_glFunctions->glUniform3f( location, v0, v1, v2 );
03359   ASSERT_GL_NO_ERROR;
03360 }
03361
03363
03364 inline  void  GLUniform3fv( GLint location, GLsizei count, const GLfloat *value )
03365 {
03366   NVSG_GL_STATS_FCT_COUNT();
03367   NVSG_ASSERT( glContext()->m_glFunctions );
03368   glContext()->m_glFunctions->glUniform3fv( location, count, value );
03369   ASSERT_GL_NO_ERROR;
03370 }
03371
03373
03374 inline  void  GLUniform3i( GLint location, GLint v0, GLint v1, GLint v2 )
03375 {
03376   NVSG_GL_STATS_FCT_COUNT();
03377   NVSG_ASSERT( glContext()->m_glFunctions );
03378   glContext()->m_glFunctions->glUniform3i( location, v0, v1, v2 );
03379   ASSERT_GL_NO_ERROR;
03380 }
03381
03383
03384 inline  void  GLUniform3iv( GLint location, GLsizei count, const GLint *value )
03385 {
03386   NVSG_GL_STATS_FCT_COUNT();
03387   NVSG_ASSERT( glContext()->m_glFunctions );
03388   glContext()->m_glFunctions->glUniform3iv( location, count, value );
03389   ASSERT_GL_NO_ERROR;
03390 }
03391
03393
03394 inline  void  GLUniform3ui( GLint location, GLuint v0, GLuint v1, GLuint v2 )
03395 {
03396   NVSG_GL_STATS_FCT_COUNT();
03397   NVSG_ASSERT( glContext()->m_glFunctions );
03398   glContext()->m_glFunctions->glUniform3ui( location, v0, v1, v2 );
03399   ASSERT_GL_NO_ERROR;
03400 }
03401
03403
03404 inline  void  GLUniform3uiv( GLint location, GLsizei count, const GLuint *value )
03405 {
03406   NVSG_GL_STATS_FCT_COUNT();
03407   NVSG_ASSERT( glContext()->m_glFunctions );
03408   glContext()->m_glFunctions->glUniform3uiv( location, count, value );
03409   ASSERT_GL_NO_ERROR;
03410 }
03411
03413
03414 inline  void  GLUniform4f( GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 )
03415 {
03416   NVSG_GL_STATS_FCT_COUNT();
03417   NVSG_ASSERT( glContext()->m_glFunctions );
03418   glContext()->m_glFunctions->glUniform4f( location, v0, v1, v2, v3 );
03419   ASSERT_GL_NO_ERROR;
03420 }
03421
03423
03424 inline  void  GLUniform4fv( GLint location, GLsizei count, const GLfloat *value )
03425 {
03426   NVSG_GL_STATS_FCT_COUNT();
03427   NVSG_ASSERT( glContext()->m_glFunctions );
03428   glContext()->m_glFunctions->glUniform4fv( location, count, value );
03429   ASSERT_GL_NO_ERROR;
03430 }
03431
03433
03434 inline  void  GLUniform4i( GLint location, GLint v0, GLint v1, GLint v2, GLint v3 )
03435 {
03436   NVSG_GL_STATS_FCT_COUNT();
03437   NVSG_ASSERT( glContext()->m_glFunctions );
03438   glContext()->m_glFunctions->glUniform4i( location, v0, v1, v2, v3 );
03439   ASSERT_GL_NO_ERROR;
03440 }
03441
03443
03444 inline  void  GLUniform4iv( GLint location, GLsizei count, const GLint *value )
03445 {
03446   NVSG_GL_STATS_FCT_COUNT();
03447   NVSG_ASSERT( glContext()->m_glFunctions );
03448   glContext()->m_glFunctions->glUniform4iv( location, count, value );
03449   ASSERT_GL_NO_ERROR;
03450 }
03451
03453
03454 inline  void  GLUniform4ui( GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 )
03455 {
03456   NVSG_GL_STATS_FCT_COUNT();
03457   NVSG_ASSERT( glContext()->m_glFunctions );
03458   glContext()->m_glFunctions->glUniform4ui( location, v0, v1, v2, v3 );
03459   ASSERT_GL_NO_ERROR;
03460 }
03461
03463
03464 inline  void  GLUniform4uiv( GLint location, GLsizei count, const GLuint *value )
03465 {
03466   NVSG_GL_STATS_FCT_COUNT();
03467   NVSG_ASSERT( glContext()->m_glFunctions );
03468   glContext()->m_glFunctions->glUniform4uiv( location, count, value );
03469   ASSERT_GL_NO_ERROR;
03470 }
03471
03473
03474 inline  void  GLUniformBuffer( GLuint program, GLint location, GLuint buffer )
03475 {
03476   NVSG_GL_STATS_FCT_COUNT();
03477   NVSG_ASSERT( glContext()->m_glFunctions );
03478   glContext()->m_glFunctions->glUniformBuffer( program, location, buffer );
03479   ASSERT_GL_NO_ERROR;
03480 }
03481
03483
03484 inline  void  GLUniformMatrix2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03485 {
03486   NVSG_GL_STATS_FCT_COUNT();
03487   NVSG_ASSERT( glContext()->m_glFunctions );
03488   glContext()->m_glFunctions->glUniformMatrix2fv( location, count, transpose, value );
03489   ASSERT_GL_NO_ERROR;
03490 }
03491
03493
03494 inline  void  GLUniformMatrix2x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03495 {
03496   NVSG_GL_STATS_FCT_COUNT();
03497   NVSG_ASSERT( glContext()->m_glFunctions );
03498   glContext()->m_glFunctions->glUniformMatrix2x3fv( location, count, transpose, value );
03499   ASSERT_GL_NO_ERROR;
03500 }
03501
03503
03504 inline  void  GLUniformMatrix2x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03505 {
03506   NVSG_GL_STATS_FCT_COUNT();
03507   NVSG_ASSERT( glContext()->m_glFunctions );
03508   glContext()->m_glFunctions->glUniformMatrix2x4fv( location, count, transpose, value );
03509   ASSERT_GL_NO_ERROR;
03510 }
03511
03513
03514 inline  void  GLUniformMatrix3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03515 {
03516   NVSG_GL_STATS_FCT_COUNT();
03517   NVSG_ASSERT( glContext()->m_glFunctions );
03518   glContext()->m_glFunctions->glUniformMatrix3fv( location, count, transpose, value );
03519   ASSERT_GL_NO_ERROR;
03520 }
03521
03523
03524 inline  void  GLUniformMatrix3x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03525 {
03526   NVSG_GL_STATS_FCT_COUNT();
03527   NVSG_ASSERT( glContext()->m_glFunctions );
03528   glContext()->m_glFunctions->glUniformMatrix3x2fv( location, count, transpose, value );
03529   ASSERT_GL_NO_ERROR;
03530 }
03531
03533
03534 inline  void  GLUniformMatrix3x4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03535 {
03536   NVSG_GL_STATS_FCT_COUNT();
03537   NVSG_ASSERT( glContext()->m_glFunctions );
03538   glContext()->m_glFunctions->glUniformMatrix3x4fv( location, count, transpose, value );
03539   ASSERT_GL_NO_ERROR;
03540 }
03541
03543
03544 inline  void  GLUniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03545 {
03546   NVSG_GL_STATS_FCT_COUNT();
03547   NVSG_ASSERT( glContext()->m_glFunctions );
03548   glContext()->m_glFunctions->glUniformMatrix4fv( location, count, transpose, value );
03549   ASSERT_GL_NO_ERROR;
03550 }
03551
03553
03554 inline  void  GLUniformMatrix4x2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03555 {
03556   NVSG_GL_STATS_FCT_COUNT();
03557   NVSG_ASSERT( glContext()->m_glFunctions );
03558   glContext()->m_glFunctions->glUniformMatrix4x2fv( location, count, transpose, value );
03559   ASSERT_GL_NO_ERROR;
03560 }
03561
03563
03564 inline  void  GLUniformMatrix4x3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
03565 {
03566   NVSG_GL_STATS_FCT_COUNT();
03567   NVSG_ASSERT( glContext()->m_glFunctions );
03568   glContext()->m_glFunctions->glUniformMatrix4x3fv( location, count, transpose, value );
03569   ASSERT_GL_NO_ERROR;
03570 }
03571
03573
03574 inline  GLboolean  GLUnmapBuffer( GLenum target )
03575 {
03576   NVSG_GL_STATS_FCT_COUNT();
03577   NVSG_ASSERT( glContext()->m_glFunctions );
03578   GLboolean b = glContext()->m_glFunctions->glUnmapBuffer( target );
03579   ASSERT_GL_NO_ERROR;
03580   return b;
03581 }
03582
03584
03585 inline  void  GLUseProgram( GLuint program )
03586 {
03587   NVSG_GL_STATS_FCT_COUNT();
03588   NVSG_ASSERT( glContext()->m_glFunctions );
03589   glContext()->m_glFunctions->glUseProgram( program );
03590   ASSERT_GL_NO_ERROR;
03591 }
03592
03594
03595 inline  void  GLUseProgramObject( GLhandleARB programObj )
03596 {
03597   NVSG_GL_STATS_FCT_COUNT();
03598   NVSG_ASSERT( glContext()->m_glFunctions );
03599   glContext()->m_glFunctions->glUseProgramObjectARB( programObj );
03600   ASSERT_GL_NO_ERROR;
03601 }
03602
03604
03605 inline  void  GLValidateProgram( GLuint program )
03606 {
03607   NVSG_GL_STATS_FCT_COUNT();
03608   NVSG_ASSERT( glContext()->m_glFunctions );
03609   glContext()->m_glFunctions->glValidateProgram( program );
03610   ASSERT_GL_NO_ERROR;
03611 }
03612
03614
03615 inline  GLboolean  GLIsBuffer( GLuint name )
03616 {
03617   NVSG_GL_STATS_FCT_COUNT();
03618   return glContext()->isBuffer(name);
03619 }
03620
03622
03623 inline  void  GLBindFragDataLocation( GLuint program, GLuint color, const GLchar *name )
03624 {
03625   NVSG_GL_STATS_FCT_COUNT();
03626   NVSG_ASSERT( glContext()->m_glFunctions );
03627   glContext()->m_glFunctions->glBindFragDataLocation( program, color, name );
03628   ASSERT_GL_NO_ERROR;
03629 }
03630
03632
03634 inline  void  GLBindProgram( GLenum target, GLuint id )
03635 {
03636   NVSG_GL_STATS_FCT_COUNT();
03637   NVSG_ASSERT( glContext()->m_glFunctions );
03638   glContext()->m_glFunctions->glBindProgramARB( target, id );
03639   ASSERT_GL_NO_ERROR;
03640 }
03641
03643
03644 inline  void  GLBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap )
03645 {
03646   NVSG_GL_STATS_FCT_COUNT();
03647   glBitmap( width, height, xorig, yorig, xmove, ymove, bitmap );
03648   ASSERT_GL_NO_ERROR;
03649 }
03650
03652
03653 inline  void  GLBlendEquation( GLenum mode )
03654 {
03655   NVSG_GL_STATS_FCT_COUNT();
03656   NVSG_ASSERT( glContext()->m_glFunctions );
03657   glContext()->m_glFunctions->glBlendEquation( mode );
03658   ASSERT_GL_NO_ERROR;
03659 }
03660
03662
03663 inline  void  GLBlendEquationSeparate( GLenum modeRGB, GLenum modeAlpha )
03664 {
03665   NVSG_GL_STATS_FCT_COUNT();
03666   NVSG_ASSERT( glContext()->m_glFunctions );
03667   glContext()->m_glFunctions->glBlendEquationSeparate( modeRGB, modeAlpha );
03668   ASSERT_GL_NO_ERROR;
03669 }
03670
03672
03673 inline  void  GLBlendFunc( GLenum sfactor, GLenum dfactor )
03674 {
03675 #if defined(GL_CACHING)
03676   GLContext * ctx = glContext();
03677 # if defined(GL_SUPPORT_RESET)
03678   ctx->m_previousAttributes.m_blendSrcRGB   = ctx->m_colorBufferAttributes.m_blendSrcRGB;
03679   ctx->m_previousAttributes.m_blendSrcAlpha = ctx->m_colorBufferAttributes.m_blendSrcAlpha;
03680   ctx->m_previousAttributes.m_blendDstRGB   = ctx->m_colorBufferAttributes.m_blendDstRGB;
03681   ctx->m_previousAttributes.m_blendDstAlpha = ctx->m_colorBufferAttributes.m_blendDstAlpha;
03682 # endif
03683   if (    ( ctx->m_colorBufferAttributes.m_blendSrcRGB   != sfactor )
03684       ||  ( ctx->m_colorBufferAttributes.m_blendSrcAlpha != sfactor )
03685       ||  ( ctx->m_colorBufferAttributes.m_blendDstRGB   != dfactor )
03686       ||  ( ctx->m_colorBufferAttributes.m_blendDstAlpha != dfactor ) )
03687 #endif
03688   {
03689     NVSG_GL_STATS_BLEND_FUNC( sfactor, dfactor );
03690     glBlendFunc( sfactor, dfactor );
03691     ASSERT_GL_NO_ERROR;
03692 #if defined(GL_CACHING)
03693     ctx->m_colorBufferAttributes.m_blendSrcRGB   = sfactor;
03694     ctx->m_colorBufferAttributes.m_blendSrcAlpha = sfactor;
03695     ctx->m_colorBufferAttributes.m_blendDstRGB   = dfactor;
03696     ctx->m_colorBufferAttributes.m_blendDstAlpha = dfactor;
03697 #endif
03698   }
03699 }
03700
03706 inline void GLResetBlendFunc()
03707 {
03708 #if defined(GL_SUPPORT_RESET)
03709   GLContext * ctx = glContext();
03710   if (    ( ctx->m_previousAttributes.m_blendSrcAlpha != ctx->m_previousAttributes.m_blendSrcRGB )
03711       ||  ( ctx->m_previousAttributes.m_blendDstAlpha != ctx->m_previousAttributes.m_blendDstRGB ) )
03712   {
03713     GLBlendFuncSeparate( ctx->m_previousAttributes.m_blendSrcRGB
03714                        , ctx->m_previousAttributes.m_blendDstRGB
03715                        , ctx->m_previousAttributes.m_blendSrcAlpha
03716                        , ctx->m_previousAttributes.m_blendDstAlpha );
03717   }
03718   else
03719   {
03720     GLBlendFunc( ctx->m_previousAttributes.m_blendSrcRGB, ctx->m_previousAttributes.m_blendDstRGB );
03721   }
03722 #else
03723   GLBlendFunc( GL_ONE, GL_ZERO );
03724 #endif
03725 }
03726
03728
03729 inline  void  GLBlendFuncSeparate( GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha )
03730 {
03731   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_blend_func_separate"));
03732 #if defined(GL_CACHING)
03733   GLContext * ctx = glContext();
03734 # if defined(GL_SUPPORT_RESET)
03735   ctx->m_previousAttributes.m_blendSrcRGB   = ctx->m_colorBufferAttributes.m_blendSrcRGB;
03736   ctx->m_previousAttributes.m_blendSrcAlpha = ctx->m_colorBufferAttributes.m_blendSrcAlpha;
03737   ctx->m_previousAttributes.m_blendDstRGB   = ctx->m_colorBufferAttributes.m_blendDstRGB;
03738   ctx->m_previousAttributes.m_blendDstAlpha = ctx->m_colorBufferAttributes.m_blendDstAlpha;
03739 # endif
03740   if (    ( ctx->m_colorBufferAttributes.m_blendSrcRGB   != sfactorRGB )
03741       ||  ( ctx->m_colorBufferAttributes.m_blendSrcAlpha != sfactorAlpha )
03742       ||  ( ctx->m_colorBufferAttributes.m_blendDstRGB   != dfactorRGB )
03743       ||  ( ctx->m_colorBufferAttributes.m_blendDstAlpha != dfactorAlpha ) )
03744 #endif
03745   {
03746     NVSG_GL_STATS_FCT_COUNT();
03747     NVSG_ASSERT( glContext()->m_glFunctions );
03748     glContext()->m_glFunctions->glBlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
03749     ASSERT_GL_NO_ERROR;
03750 #if defined(GL_CACHING)
03751     ctx->m_colorBufferAttributes.m_blendSrcRGB   = sfactorRGB;
03752     ctx->m_colorBufferAttributes.m_blendSrcAlpha = sfactorAlpha;
03753     ctx->m_colorBufferAttributes.m_blendDstRGB   = dfactorRGB;
03754     ctx->m_colorBufferAttributes.m_blendDstAlpha = dfactorAlpha;
03755 #endif
03756   }
03757 }
03758
03764 inline void GLResetBlendFuncSeparate()
03765 {
03766 #if defined(GL_SUPPORT_RESET)
03767   GLContext * ctx = glContext();
03768   GLBlendFuncSeparate( ctx->m_previousAttributes.m_blendSrcRGB
03769                      , ctx->m_previousAttributes.m_blendDstRGB
03770                      , ctx->m_previousAttributes.m_blendSrcAlpha
03771                      , ctx->m_previousAttributes.m_blendDstAlpha );
03772 #else
03773   GLBlendFuncSeparate( GL_ONE, GL_ZERO, GL_ONE, GL_ZERO );
03774 #endif
03775 }
03776
03792 inline void GLBlitFramebuffer( GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter )
03793 {
03794   NVSG_GL_STATS_FCT_COUNT();
03795   NVSG_ASSERT( glContext()->m_glFunctions );
03796   glContext()->m_glFunctions->glBlitFramebuffer( srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter );
03797   ASSERT_GL_NO_ERROR;
03798 }
03799
03800
03802
03803 inline  void  GLBindTexture( GLenum target, GLuint texture )
03804 {
03805 #if defined( GL_CACHING )
03806   _GLUpdateActiveTexture();
03807 #endif
03808   NVSG_GL_STATS_BIND_TEXTURE( target, texture );
03809   glBindTexture( target, texture );
03810   ASSERT_GL_NO_ERROR;
03811 }
03812
03814
03815 inline  void  GLCallList( GLuint list )
03816 {
03817   NVSG_GL_STATS_CALL_LIST( list );
03818   glCallList( list );
03819   ASSERT_GL_NO_ERROR;
03820 }
03821
03823
03824 inline  void  GLCallLists( GLsizei n, GLenum type, const GLvoid *lists )
03825 {
03826   NVSG_GL_STATS_FCT_COUNT();
03827   glCallLists( n, type, lists );
03828   ASSERT_GL_NO_ERROR;
03829 }
03830
03832
03833 inline  void  GLClampColor( GLenum target, GLenum clamp )
03834 {
03835   NVSG_GL_STATS_FCT_COUNT();
03836   NVSG_ASSERT( glContext()->m_glFunctions );
03837   glContext()->m_glFunctions->glClampColor( target, clamp );
03838   ASSERT_GL_NO_ERROR;
03839 }
03840
03842
03843 inline  void  GLClear( GLbitfield mask )
03844 {
03845   NVSG_GL_STATS_CLEAR( mask );
03846   glClear( mask );
03847   ASSERT_GL_NO_ERROR;
03848 }
03849
03851
03852 inline  void  GLClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
03853 {
03854   NVSG_GL_STATS_FCT_COUNT();
03855   glClearAccum( red, green, blue, alpha );
03856   ASSERT_GL_NO_ERROR;
03857 }
03858
03860
03861 inline  void  GLClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
03862 {
03863 #if defined( GL_CACHING )
03864   GLContext * ctx = glContext();
03865 # if defined(GL_SUPPORT_RESET)
03866   ctx->m_previousAttributes.m_clearColor = ctx->m_colorBufferAttributes.m_clearColor;
03867 # endif
03868   if ( ! equal4f( red, green, blue, alpha, &ctx->m_colorBufferAttributes.m_clearColor[0] ) )
03869 #endif
03870   {
03871     NVSG_GL_STATS_CLEAR_COLOR( red, green, blue, alpha );
03872     glClearColor(red, green, blue, alpha);
03873     ASSERT_GL_NO_ERROR;
03874 #if defined( GL_CACHING )
03875     ctx->m_colorBufferAttributes.m_clearColor[0] = red;
03876     ctx->m_colorBufferAttributes.m_clearColor[1] = green;
03877     ctx->m_colorBufferAttributes.m_clearColor[2] = blue;
03878     ctx->m_colorBufferAttributes.m_clearColor[3] = alpha;
03879 #endif
03880   }
03881 }
03882
03884
03885 inline  void  GLClearColorIi( GLint red, GLint green, GLint blue, GLint alpha )
03886 {
03887   NVSG_GL_STATS_FCT_COUNT();
03888   NVSG_ASSERT( glContext()->m_glFunctions );
03889   glContext()->m_glFunctions->glClearColorIi( red, green, blue, alpha );
03890   ASSERT_GL_NO_ERROR;
03891 }
03892
03894
03895 inline  void  GLClearColorIui( GLuint red, GLuint green, GLuint blue, GLuint alpha )
03896 {
03897   NVSG_GL_STATS_FCT_COUNT();
03898   NVSG_ASSERT( glContext()->m_glFunctions );
03899   glContext()->m_glFunctions->glClearColorIui( red, green, blue, alpha );
03900   ASSERT_GL_NO_ERROR;
03901 }
03902
03907 inline void GLResetClearColor()
03908 {
03909 #if defined(GL_SUPPORT_RESET)
03910   GLContext * ctx = glContext();
03911   GLClearColor( ctx->m_previousAttributes.m_clearColor[0]
03912               , ctx->m_previousAttributes.m_clearColor[1]
03913               , ctx->m_previousAttributes.m_clearColor[2]
03914               , ctx->m_previousAttributes.m_clearColor[3] );
03915 #else
03916   GLClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
03917 #endif
03918 }
03919
03921
03922 inline  void  GLClearDepth( GLclampd depth )
03923 {
03924 #if defined( GL_CACHING )
03925   GLContext * ctx = glContext();
03926 # if defined(GL_SUPPORT_RESET)
03927   ctx->m_previousAttributes.m_depthClearValue = ctx->m_depthBufferAttributes.m_depthClearValue;
03928 # endif
03929   if ( ctx->m_depthBufferAttributes.m_depthClearValue != depth )
03930 #endif
03931   {
03932     NVSG_GL_STATS_FCT_COUNT();
03933     glClearDepth( depth );
03934     ASSERT_GL_NO_ERROR;
03935 #if defined( GL_CACHING )
03936     ctx->m_depthBufferAttributes.m_depthClearValue = depth;
03937 #endif
03938   }
03939 }
03940
03942
03943 inline  void  GLClearDepthd( GLdouble depth )
03944 {
03945   NVSG_GL_STATS_FCT_COUNT();
03946   NVSG_ASSERT( glContext()->m_glFunctions );
03947   glContext()->m_glFunctions->glClearDepthd( depth );
03948   ASSERT_GL_NO_ERROR;
03949 }
03950
03955 inline void GLResetClearDepth()
03956 {
03957 #if defined(GL_SUPPORT_RESET)
03958   GLClearDepth( glContext()->m_previousAttributes.m_depthClearValue );
03959 #else
03960   GLClearDepth( 1.0 );
03961 #endif
03962 }
03963
03965
03966 inline  void  GLClearIndex( GLfloat c )
03967 {
03968   NVSG_GL_STATS_FCT_COUNT();
03969   glClearIndex( c );
03970   ASSERT_GL_NO_ERROR;
03971 }
03972
03974
03975 inline  void  GLClearStencil( GLint s )
03976 {
03977 #if defined( GL_CACHING )
03978   GLContext * ctx = glContext();
03979 # if defined(GL_SUPPORT_RESET)
03980   ctx->m_previousAttributes.m_stencilClearValue = ctx->m_stencilBufferAttributes.m_stencilClearValue;
03981 # endif
03982   if ( ctx->m_stencilBufferAttributes.m_stencilClearValue != s )
03983 #endif
03984   {
03985     NVSG_GL_STATS_FCT_COUNT();
03986     glClearStencil( s );
03987     ASSERT_GL_NO_ERROR;
03988 #if defined( GL_CACHING )
03989     ctx->m_stencilBufferAttributes.m_stencilClearValue = s;
03990 #endif
03991   }
03992 }
03993
03998 inline void GLResetClearStencil()
03999 {
04000 #if defined(GL_SUPPORT_RESET)
04001   GLClearStencil( glContext()->m_previousAttributes.m_stencilClearValue );
04002 #else
04003   GLClearStencil( 0 );
04004 #endif
04005 }
04006
04008
04009 inline  void  GLClientActiveTexture( GLenum texture )
04010 {
04011 #if defined( GL_CACHING )
04012   glContext()->m_vertexArrayAttributes.m_clientTextureToActivate = texture - GL_TEXTURE0;
04013 #else
04014   NVSG_GL_STATS_CLIENT_ACTIVE_TEXTURE( texture );
04015   glContext()->m_glFunctions->glClientActiveTexture( texture );
04016   ASSERT_GL_NO_ERROR;
04017 #endif
04018 }
04019
04021
04022 inline  void  GLClipPlane( GLenum plane, const GLdouble *equation )
04023 {
04024   //  NOTE: clip planes can't be cached !
04025   NVSG_GL_STATS_FCT_COUNT();
04026 #if defined( GL_SUPPORT_RESET )
04027   GLContext * ctx = glContext();
04028   size_t idx = plane - GL_CLIP_PLANE0;
04029   NVSG_ASSERT(    ( idx < ctx->m_previousAttributes.m_clipPlaneEquations.size() )
04030               &&  ( idx < ctx->m_transformAttributes.m_clipPlaneEquations.size() ) );
04031   ctx->m_previousAttributes.m_clipPlaneEquations[idx] = ctx->m_transformAttributes.m_clipPlaneEquations[idx];
04032   memcpy( &ctx->m_transformAttributes.m_clipPlaneEquations[idx][0], equation, 4*sizeof(GLdouble) );
04033 #endif
04034   glClipPlane(plane, equation);
04035   ASSERT_GL_NO_ERROR;
04036 }
04037
04044 inline void GLResetClipPlaneEquation( GLenum plane )
04045 {
04046 #if defined( GL_SUPPORT_RESET )
04047   GLClipPlane( plane, &glContext()->m_previousAttributes.m_clipPlaneEquations[plane-GL_CLIP_PLANE0][0] );
04048 #else
04049   static double zeroPlane[4] = {0.0, 0.0, 0.0, 0.0};
04050   GLClipPlane( plane, zeroPlane );
04051 #endif
04052 }
04053
04055
04056 inline  void  GLColor3b( GLbyte red, GLbyte green, GLbyte blue )
04057 {
04058   NVSG_GL_STATS_COLOR3B( red, green, blue );
04059   glColor3b( red, green, blue );
04060   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04061 }
04062
04064
04065 inline  void  GLColor3bv( const GLbyte *v )
04066 {
04067   NVSG_GL_STATS_COLOR3BV( v );
04068   glColor3bv( v );
04069   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04070 }
04071
04073
04074 inline  void  GLColor3d( GLdouble red, GLdouble green, GLdouble blue )
04075 {
04076   NVSG_GL_STATS_COLOR3D( red, green, blue );
04077   glColor3d( red, green, blue );
04078   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04079 }
04080
04082
04083 inline  void  GLColor3dv( const GLdouble *v )
04084 {
04085   NVSG_GL_STATS_COLOR3DV( v );
04086   glColor3dv( v );
04087   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04088 }
04089
04091
04092 inline  void  GLColor3f( GLfloat red, GLfloat green, GLfloat blue )
04093 {
04094   NVSG_GL_STATS_COLOR3F( red, green, blue );
04095   glColor3f( red, green, blue );
04096   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04097 }
04098
04100
04101 inline  void  GLColor3fv( const GLfloat * v )
04102 {
04103   NVSG_GL_STATS_COLOR3FV( v );
04104   glColor3fv( v );
04105   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04106 }
04107
04109
04110 inline  void  GLColor3h( GLhalf red, GLhalf green, GLhalf blue )
04111 {
04112   NVSG_GL_STATS_FCT_COUNT();
04113   NVSG_ASSERT( glContext()->m_glFunctions );
04114   glContext()->m_glFunctions->glColor3h( red, green, blue );
04115   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04116 }
04117
04119
04120 inline  void  GLColor3hv( const GLhalf *v )
04121 {
04122   NVSG_GL_STATS_FCT_COUNT();
04123   NVSG_ASSERT( glContext()->m_glFunctions );
04124   glContext()->m_glFunctions->glColor3hv( v );
04125   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04126 }
04127
04129
04130 inline  void  GLColor3i( GLint red, GLint green, GLint blue )
04131 {
04132   NVSG_GL_STATS_COLOR3I( red, green, blue );
04133   glColor3i( red, green, blue );
04134   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04135 }
04136
04138
04139 inline  void  GLColor3iv( const GLint * v )
04140 {
04141   NVSG_GL_STATS_COLOR3IV( v );
04142   glColor3iv( v );
04143   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04144 }
04145
04147
04148 inline  void  GLColor3s( GLshort red, GLshort green, GLshort blue )
04149 {
04150   NVSG_GL_STATS_COLOR3S( red, green, blue );
04151   glColor3s( red, green, blue );
04152   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04153 }
04154
04156
04157 inline  void  GLColor3sv( const GLshort * v )
04158 {
04159   NVSG_GL_STATS_COLOR3SV( v );
04160   glColor3sv( v );
04161   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04162 }
04163
04165
04166 inline  void  GLColor3ub( GLubyte red, GLubyte green, GLubyte blue )
04167 {
04168   NVSG_GL_STATS_COLOR3UB( red, green, blue );
04169   glColor3ub( red, green, blue );
04170   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04171 }
04172
04174
04175 inline  void  GLColor3ubv( const GLubyte * v )
04176 {
04177   NVSG_GL_STATS_COLOR3UBV( v );
04178   glColor3ubv( v );
04179   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04180 }
04181
04183
04184 inline  void  GLColor3ui( GLuint red, GLuint green, GLuint blue )
04185 {
04186   NVSG_GL_STATS_COLOR3UI( red, green, blue );
04187   glColor3ui( red, green, blue );
04188   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04189 }
04190
04192
04193 inline  void  GLColor3uiv( const GLuint * v )
04194 {
04195   NVSG_GL_STATS_COLOR3UIV( v );
04196   glColor3uiv( v );
04197   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04198 }
04199
04201
04202 inline  void  GLColor3us( GLushort red, GLushort green, GLushort blue )
04203 {
04204   NVSG_GL_STATS_COLOR3US( red, green, blue );
04205   glColor3us( red, green, blue );
04206   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04207 }
04208
04210
04211 inline  void  GLColor3usv( const GLushort * v )
04212 {
04213   NVSG_GL_STATS_COLOR3USV( v );
04214   glColor3usv( v );
04215   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04216 }
04217
04219
04220 inline  void  GLColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha )
04221 {
04222   NVSG_GL_STATS_COLOR4B( red, green, blue, alpha );
04223   glColor4b( red, green, blue, alpha );
04224   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04225 }
04226
04228
04229 inline  void  GLColor4bv( const GLbyte * v )
04230 {
04231   NVSG_GL_STATS_COLOR4BV( v );
04232   glColor4bv( v );
04233   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04234 }
04235
04237
04238 inline  void  GLColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha )
04239 {
04240   NVSG_GL_STATS_COLOR4D( red, green, blue, alpha );
04241   glColor4d( red, green, blue, alpha );
04242   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04243 }
04244
04246
04247 inline  void  GLColor4dv( const GLdouble * v )
04248 {
04249   NVSG_GL_STATS_COLOR4DV( v );
04250   glColor4dv( v );
04251   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04252 }
04253
04255
04256 inline  void  GLColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
04257 {
04258   NVSG_GL_STATS_COLOR4F( red, green, blue, alpha );
04259   glColor4f( red, green, blue, alpha );
04260   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04261 }
04262
04264
04265 inline  void  GLColor4fv( const GLfloat * v )
04266 {
04267   NVSG_GL_STATS_COLOR4FV( v );
04268   glColor4fv( v );
04269   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04270 }
04271
04273
04274 inline  void  GLColor4h( GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha )
04275 {
04276   NVSG_GL_STATS_FCT_COUNT();
04277   NVSG_ASSERT( glContext()->m_glFunctions );
04278   glContext()->m_glFunctions->glColor4h( red, green, blue, alpha );
04279   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04280 }
04281
04283
04284 inline  void  GLColor4hv( const GLhalf *v )
04285 {
04286   NVSG_GL_STATS_FCT_COUNT();
04287   NVSG_ASSERT( glContext()->m_glFunctions );
04288   glContext()->m_glFunctions->glColor4hv( v );
04289   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04290 }
04291
04293
04294 inline  void  GLColor4i( GLint red, GLint green, GLint blue, GLint alpha )
04295 {
04296   NVSG_GL_STATS_COLOR4I( red, green, blue, alpha );
04297   glColor4i( red, green, blue, alpha );
04298   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04299 }
04300
04302
04303 inline  void  GLColor4iv( const GLint * v )
04304 {
04305   NVSG_GL_STATS_COLOR4IV( v );
04306   glColor4iv( v );
04307   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04308 }
04309
04311
04312 inline  void  GLColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha )
04313 {
04314   NVSG_GL_STATS_COLOR4S( red, green, blue, alpha );
04315   glColor4s( red, green, blue, alpha );
04316   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04317 }
04318
04320
04321 inline  void  GLColor4sv( const GLshort * v )
04322 {
04323   NVSG_GL_STATS_COLOR4SV( v );
04324   glColor4sv( v );
04325   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04326 }
04327
04329
04330 inline  void  GLColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha )
04331 {
04332   NVSG_GL_STATS_COLOR4UB( red, green, blue, alpha );
04333   glColor4ub( red, green, blue, alpha );
04334   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04335 }
04336
04338
04339 inline  void  GLColor4ubv( const GLubyte * v )
04340 {
04341   NVSG_GL_STATS_COLOR4UBV( v );
04342   glColor4ubv( v );
04343   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04344 }
04345
04347
04348 inline  void  GLColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha )
04349 {
04350   NVSG_GL_STATS_COLOR4UI( red, green, blue, alpha );
04351   glColor4ui( red, green, blue, alpha );
04352   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04353 }
04354
04356
04357 inline  void  GLColor4uiv( const GLuint * v )
04358 {
04359   NVSG_GL_STATS_COLOR4UIV( v );
04360   glColor4uiv( v );
04361   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04362 }
04363
04365
04366 inline  void  GLColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha )
04367 {
04368   NVSG_GL_STATS_COLOR4US( red, green, blue, alpha );
04369   glColor4us( red, green, blue, alpha );
04370   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04371 }
04372
04374
04375 inline  void  GLColor4usv( const GLushort * v )
04376 {
04377   NVSG_GL_STATS_COLOR4USV( v );
04378   glColor4usv( v );
04379   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
04380 }
04381
04383
04384 inline  void  GLColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha )
04385 {
04386 #if defined( GL_CACHING )
04387   GLContext * ctx = glContext();
04388 # if defined(GL_SUPPORT_RESET)
04389   memcpy( &ctx->m_previousAttributes.m_colorWriteMask[0]
04390         , &ctx->m_colorBufferAttributes.m_colorWriteMask[0], 4*sizeof(GLboolean) );
04391 # endif
04392   if (    ( ctx->m_colorBufferAttributes.m_colorWriteMask[0] != red )
04393       ||  ( ctx->m_colorBufferAttributes.m_colorWriteMask[1] != green )
04394       ||  ( ctx->m_colorBufferAttributes.m_colorWriteMask[2] != blue )
04395       ||  ( ctx->m_colorBufferAttributes.m_colorWriteMask[3] != alpha ) )
04396 #endif
04397   {
04398     NVSG_GL_STATS_FCT_COUNT();
04399     glColorMask( red, green, blue, alpha );
04400     ASSERT_GL_NO_ERROR;
04401 #if defined( GL_CACHING )
04402     ctx->m_colorBufferAttributes.m_colorWriteMask[0] = red;
04403     ctx->m_colorBufferAttributes.m_colorWriteMask[1] = green;
04404     ctx->m_colorBufferAttributes.m_colorWriteMask[2] = blue;
04405     ctx->m_colorBufferAttributes.m_colorWriteMask[3] = alpha;
04406 #endif
04407   }
04408 }
04409
04411
04412 inline  void  GLColorMaskIndexed( GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a )
04413 {
04414   NVSG_GL_STATS_FCT_COUNT();
04415   NVSG_ASSERT( glContext()->m_glFunctions );
04416   glContext()->m_glFunctions->glColorMaskIndexed( index, r, b, g, a );
04417   ASSERT_GL_NO_ERROR;
04418 #if defined( GL_CACHING )
04419   // HACK force caching to some garbage and hope noone ever passes 0xF0 to enable stuff.
04420   GLContext * ctx = glContext();
04421   ctx->m_colorBufferAttributes.m_colorWriteMask[0] = 0xF0;
04422   ctx->m_colorBufferAttributes.m_colorWriteMask[1] = 0xF0;
04423   ctx->m_colorBufferAttributes.m_colorWriteMask[2] = 0xF0;
04424   ctx->m_colorBufferAttributes.m_colorWriteMask[3] = 0xF0;
04425 #endif
04426 }
04427
04432 inline void GLResetColorMask()
04433 {
04434 #if defined(GL_SUPPORT_RESET)
04435   GLContext * ctx = glContext();
04436   GLColorMask( ctx->m_previousAttributes.m_colorWriteMask[0]
04437              , ctx->m_previousAttributes.m_colorWriteMask[1]
04438              , ctx->m_previousAttributes.m_colorWriteMask[2]
04439              , ctx->m_previousAttributes.m_colorWriteMask[3] );
04440 #else
04441   GLColorMask( GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE );
04442 #endif
04443 }
04444
04446
04447 inline  void  GLColorMaterial( GLenum face, GLenum mode )
04448 {
04449 #if defined( GL_CACHING )
04450   GLContext * ctx = glContext();
04451 # if defined(GL_SUPPORT_RESET)
04452   ctx->m_previousAttributes.m_colorMaterialFace = ctx->m_lightingAttributes.m_colorMaterialFace;
04453   ctx->m_previousAttributes.m_colorMaterialMode = ctx->m_lightingAttributes.m_colorMaterialMode;
04454 # endif
04455   if (    ( ctx->m_lightingAttributes.m_colorMaterialFace != face )
04456       ||  ( ctx->m_lightingAttributes.m_colorMaterialMode != mode ) )
04457 #endif
04458   {
04459     NVSG_GL_STATS_FCT_COUNT();
04460     glColorMaterial( face, mode );
04461     ASSERT_GL_NO_ERROR;
04462 #if defined( GL_CACHING )
04463     ctx->m_lightingAttributes.m_colorMaterialFace = face;
04464     ctx->m_lightingAttributes.m_colorMaterialMode = mode;
04465 #endif
04466   }
04467 }
04468
04474 inline void GLResetColorMaterialMode()
04475 {
04476 #if defined(GL_SUPPORT_RESET)
04477   GLContext * ctx = glContext();
04478   GLColorMaterial( ctx->m_previousAttributes.m_colorMaterialFace
04479                  , ctx->m_previousAttributes.m_colorMaterialMode );
04480 #else
04481   GLColorMaterial( GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE );
04482 #endif
04483 }
04484
04486
04487 inline  void  GLColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
04488 {
04489   NVSG_GL_STATS_FCT_COUNT();
04490   glColorPointer( size, type, stride, pointer );
04491   ASSERT_GL_NO_ERROR;
04492 }
04493
04495
04496 inline  void  GLColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data )
04497 {
04498   NVSG_GL_STATS_FCT_COUNT();
04499   NVSG_ASSERT( glContext()->m_glFunctions );
04500   glContext()->m_glFunctions->glColorSubTable( target, start, count, format, type, data );
04501   ASSERT_GL_NO_ERROR;
04502 }
04503
04505
04506 inline  void  GLColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table )
04507 {
04508   NVSG_GL_STATS_FCT_COUNT();
04509   NVSG_ASSERT( glContext()->m_glFunctions );
04510   glContext()->m_glFunctions->glColorTable( target, internalformat, width, format, type, table );
04511   ASSERT_GL_NO_ERROR;
04512 }
04513
04515
04516 inline  void  GLColorTableParameterfv( GLenum target, GLenum pname, const GLfloat *params )
04517 {
04518   NVSG_GL_STATS_FCT_COUNT();
04519   NVSG_ASSERT( glContext()->m_glFunctions );
04520   glContext()->m_glFunctions->glColorTableParameterfv( target, pname, params );
04521   ASSERT_GL_NO_ERROR;
04522 }
04523
04525
04526 inline  void  GLColorTableParameteriv( GLenum target, GLenum pname, const GLint *params )
04527 {
04528   NVSG_GL_STATS_FCT_COUNT();
04529   NVSG_ASSERT( glContext()->m_glFunctions );
04530   glContext()->m_glFunctions->glColorTableParameteriv( target, pname, params );
04531   ASSERT_GL_NO_ERROR;
04532 }
04533
04535
04536 inline  void  GLCombinerInput( GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage )
04537 {
04538   NVSG_GL_STATS_FCT_COUNT();
04539   NVSG_ASSERT( glContext()->m_glFunctions );
04540   glContext()->m_glFunctions->glCombinerInput( stage, portion, variable, input, mapping, componentUsage );
04541   ASSERT_GL_NO_ERROR;
04542 }
04543
04545
04546 inline  void  GLCombinerOutput( GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum )
04547 {
04548   NVSG_GL_STATS_FCT_COUNT();
04549   NVSG_ASSERT( glContext()->m_glFunctions );
04550   glContext()->m_glFunctions->glCombinerOutput( stage, portion, abOutput, cdOutput, sumOutput, scale, bias, abDotProduct, cdDotProduct, muxSum );
04551   ASSERT_GL_NO_ERROR;
04552 }
04553
04555
04556 inline  void  GLCombinerParameterf( GLenum pname, GLfloat param )
04557 {
04558   NVSG_GL_STATS_FCT_COUNT();
04559   NVSG_ASSERT( glContext()->m_glFunctions );
04560   glContext()->m_glFunctions->glCombinerParameterf( pname, param );
04561   ASSERT_GL_NO_ERROR;
04562 }
04563
04565
04566 inline  void  GLCombinerParameterfv( GLenum pname, const GLfloat *params )
04567 {
04568   NVSG_GL_STATS_FCT_COUNT();
04569   NVSG_ASSERT( glContext()->m_glFunctions );
04570   glContext()->m_glFunctions->glCombinerParameterfv( pname, params );
04571   ASSERT_GL_NO_ERROR;
04572 }
04573
04575
04576 inline  void  GLCombinerParameteri( GLenum pname, GLint param )
04577 {
04578   NVSG_GL_STATS_FCT_COUNT();
04579   NVSG_ASSERT( glContext()->m_glFunctions );
04580   glContext()->m_glFunctions->glCombinerParameteri( pname, param );
04581   ASSERT_GL_NO_ERROR;
04582 }
04583
04585
04586 inline  void  GLCombinerParameteriv( GLenum pname, const GLint *params )
04587 {
04588   NVSG_GL_STATS_FCT_COUNT();
04589   NVSG_ASSERT( glContext()->m_glFunctions );
04590   glContext()->m_glFunctions->glCombinerParameteriv( pname, params );
04591   ASSERT_GL_NO_ERROR;
04592 }
04593
04595
04596 inline  void  GLCombinerStageParameterfv( GLenum stage, GLenum pname, const GLfloat *params )
04597 {
04598   NVSG_GL_STATS_FCT_COUNT();
04599   NVSG_ASSERT( glContext()->m_glFunctions );
04600   glContext()->m_glFunctions->glCombinerStageParameterfv( stage, pname, params );
04601   ASSERT_GL_NO_ERROR;
04602 }
04603
04605
04606 inline  void  GLCompileShader( GLuint shader )
04607 {
04608   NVSG_GL_STATS_FCT_COUNT();
04609   NVSG_ASSERT( glContext()->m_glFunctions );
04610   glContext()->m_glFunctions->glCompileShader( shader );
04611   ASSERT_GL_NO_ERROR;
04612 }
04613
04615
04617 inline  void  GLCompressedTexImage1D( GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data )
04618 {
04619 #if defined(GL_CACHING)
04620   _GLUpdateActiveTexture();
04621 #endif
04622   NVSG_GL_STATS_FCT_COUNT();
04623   NVSG_ASSERT( glContext()->m_glFunctions );
04624   glContext()->m_glFunctions->glCompressedTexImage1D( target, level, internalformat, width, border, imageSize, data );
04625   ASSERT_GL_NO_ERROR;
04626 }
04627
04629
04631 inline  void  GLCompressedTexImage2D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data )
04632 {
04633 #if defined(GL_CACHING)
04634   _GLUpdateActiveTexture();
04635 #endif
04636   NVSG_GL_STATS_FCT_COUNT();
04637   NVSG_ASSERT( glContext()->m_glFunctions );
04638   glContext()->m_glFunctions->glCompressedTexImage2D( target, level, internalformat, width, height, border, imageSize, data );
04639   ASSERT_GL_NO_ERROR;
04640 }
04641
04643
04645 inline  void  GLCompressedTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data )
04646 {
04647 #if defined(GL_CACHING)
04648   _GLUpdateActiveTexture();
04649 #endif
04650   NVSG_GL_STATS_FCT_COUNT();
04651   NVSG_ASSERT( glContext()->m_glFunctions );
04652   glContext()->m_glFunctions->glCompressedTexImage3D( target, level, internalformat, width, height, depth, border, imageSize, data );
04653   ASSERT_GL_NO_ERROR;
04654 }
04655
04657
04658 inline  void  GLCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data )
04659 {
04660 #if defined(GL_CACHING)
04661   _GLUpdateActiveTexture();
04662 #endif
04663   NVSG_GL_STATS_FCT_COUNT();
04664   NVSG_ASSERT( glContext()->m_glFunctions );
04665   glContext()->m_glFunctions->glCompressedTexSubImage1D( target, level, xoffset, width, format, imageSize, data );
04666   ASSERT_GL_NO_ERROR;
04667 }
04668
04670
04671 inline  void  GLCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data )
04672 {
04673 #if defined(GL_CACHING)
04674   _GLUpdateActiveTexture();
04675 #endif
04676   NVSG_GL_STATS_FCT_COUNT();
04677   NVSG_ASSERT( glContext()->m_glFunctions );
04678   glContext()->m_glFunctions->glCompressedTexSubImage2D( target, level, xoffset, yoffset, width, height, format, imageSize, data );
04679   ASSERT_GL_NO_ERROR;
04680 }
04681
04683
04684 inline  void  GLCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data )
04685 {
04686 #if defined(GL_CACHING)
04687   _GLUpdateActiveTexture();
04688 #endif
04689   NVSG_GL_STATS_FCT_COUNT();
04690   NVSG_ASSERT( glContext()->m_glFunctions );
04691   glContext()->m_glFunctions->glCompressedTexSubImage3D( target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data );
04692   ASSERT_GL_NO_ERROR;
04693 }
04694
04696
04697 inline  void  GLConvolutionFilter1D( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image )
04698 {
04699   NVSG_GL_STATS_FCT_COUNT();
04700   NVSG_ASSERT( glContext()->m_glFunctions );
04701   glContext()->m_glFunctions->glConvolutionFilter1D( target, internalformat, width, format, type, image );
04702   ASSERT_GL_NO_ERROR;
04703 }
04704
04706
04707 inline  void  GLConvolutionFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image )
04708 {
04709   NVSG_GL_STATS_FCT_COUNT();
04710   NVSG_ASSERT( glContext()->m_glFunctions );
04711   glContext()->m_glFunctions->glConvolutionFilter2D( target, internalformat, width, height, format, type, image );
04712   ASSERT_GL_NO_ERROR;
04713 }
04714
04716
04717 inline  void  GLConvolutionParameterf( GLenum target, GLenum pname, GLfloat params )
04718 {
04719   NVSG_GL_STATS_FCT_COUNT();
04720   NVSG_ASSERT( glContext()->m_glFunctions );
04721   glContext()->m_glFunctions->glConvolutionParameterf( target, pname, params );
04722   ASSERT_GL_NO_ERROR;
04723 }
04724
04726
04727 inline  void  GLConvolutionParameterfv( GLenum target, GLenum pname, const GLfloat *params )
04728 {
04729   NVSG_GL_STATS_FCT_COUNT();
04730   NVSG_ASSERT( glContext()->m_glFunctions );
04731   glContext()->m_glFunctions->glConvolutionParameterfv( target, pname, params );
04732   ASSERT_GL_NO_ERROR;
04733 }
04734
04736
04737 inline  void  GLConvolutionParameteri( GLenum target, GLenum pname, GLint params )
04738 {
04739   NVSG_GL_STATS_FCT_COUNT();
04740   NVSG_ASSERT( glContext()->m_glFunctions );
04741   glContext()->m_glFunctions->glConvolutionParameteri( target, pname, params );
04742   ASSERT_GL_NO_ERROR;
04743 }
04744
04746
04747 inline  void  GLConvolutionParameteriv( GLenum target, GLenum pname, const GLint *params )
04748 {
04749   NVSG_GL_STATS_FCT_COUNT();
04750   NVSG_ASSERT( glContext()->m_glFunctions );
04751   glContext()->m_glFunctions->glConvolutionParameteriv( target, pname, params );
04752   ASSERT_GL_NO_ERROR;
04753 }
04754
04756
04757 inline  void  GLCopyColorSubTable( GLenum target, GLsizei start, GLint x, GLint y, GLsizei width )
04758 {
04759   NVSG_GL_STATS_FCT_COUNT();
04760   NVSG_ASSERT( glContext()->m_glFunctions );
04761   glContext()->m_glFunctions->glCopyColorSubTable( target, start, x, y, width );
04762   ASSERT_GL_NO_ERROR;
04763 }
04764
04766
04767 inline  void  GLCopyColorTable( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width )
04768 {
04769   NVSG_GL_STATS_FCT_COUNT();
04770   NVSG_ASSERT( glContext()->m_glFunctions );
04771   glContext()->m_glFunctions->glCopyColorTable( target, internalformat, x, y, width );
04772   ASSERT_GL_NO_ERROR;
04773 }
04774
04776
04777 inline  void  GLCopyConvolutionFilter1D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width )
04778 {
04779   NVSG_GL_STATS_FCT_COUNT();
04780   NVSG_ASSERT( glContext()->m_glFunctions );
04781   glContext()->m_glFunctions->glCopyConvolutionFilter1D( target, internalformat, x, y, width );
04782   ASSERT_GL_NO_ERROR;
04783 }
04784
04786
04787 inline  void  GLCopyConvolutionFilter2D( GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height )
04788 {
04789   NVSG_GL_STATS_FCT_COUNT();
04790   NVSG_ASSERT( glContext()->m_glFunctions );
04791   glContext()->m_glFunctions->glCopyConvolutionFilter2D( target, internalformat, x, y, width, height );
04792   ASSERT_GL_NO_ERROR;
04793 }
04794
04796
04797 inline  void  GLCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type )
04798 {
04799   NVSG_GL_STATS_FCT_COUNT();
04800   glCopyPixels( x, y, width, height, type );
04801   ASSERT_GL_NO_ERROR;
04802 }
04803
04805
04806 inline  void  GLCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border )
04807 {
04808 #if defined(GL_CACHING)
04809   _GLUpdateActiveTexture();
04810 #endif
04811   NVSG_GL_STATS_FCT_COUNT();
04812   glCopyTexImage1D( target, level, internalformat, x, y, width, border );
04813   ASSERT_GL_NO_ERROR;
04814 }
04815
04817
04818 inline  void  GLCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border )
04819 {
04820 #if defined(GL_CACHING)
04821   _GLUpdateActiveTexture();
04822 #endif
04823   NVSG_GL_STATS_FCT_COUNT();
04824   glCopyTexImage2D( target, level, internalformat, x, y, width, height, border );
04825   ASSERT_GL_NO_ERROR;
04826 }
04827
04829
04830 inline  void  GLCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width )
04831 {
04832 #if defined(GL_CACHING)
04833   _GLUpdateActiveTexture();
04834 #endif
04835   NVSG_GL_STATS_FCT_COUNT();
04836   glCopyTexSubImage1D( target,level, xoffset, x, y, width );
04837   ASSERT_GL_NO_ERROR;
04838 }
04839
04841
04842 inline  void  GLCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height )
04843 {
04844 #if defined(GL_CACHING)
04845   _GLUpdateActiveTexture();
04846 #endif
04847   NVSG_GL_STATS_FCT_COUNT();
04848   glCopyTexSubImage2D( target,level, xoffset, yoffset, x, y, width, height );
04849   ASSERT_GL_NO_ERROR;
04850 }
04851
04853
04854 inline  void  GLCopyTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height )
04855 {
04856 #if defined(GL_CACHING)
04857   _GLUpdateActiveTexture();
04858 #endif
04859   NVSG_GL_STATS_FCT_COUNT();
04860   NVSG_ASSERT( glContext()->m_glFunctions );
04861   glContext()->m_glFunctions->glCopyTexSubImage3D( target,level, xoffset, yoffset, zoffset, x, y, width, height );
04862   ASSERT_GL_NO_ERROR;
04863 }
04864
04866
04867 inline  GLuint  GLCreateProgram()
04868 {
04869   NVSG_GL_STATS_FCT_COUNT();
04870   GLContext * ctx = glContext();
04871   NVSG_ASSERT( ctx->m_glFunctions );
04872   GLuint prg = ctx->m_glFunctions->glCreateProgram();
04873   ctx->addPrograms(1, &prg); // add to internal cache
04874   ASSERT_GL_NO_ERROR;
04875   return( prg );
04876 }
04877
04879
04880 inline  GLhandleARB GLCreateProgramObject()
04881 {
04882   NVSG_GL_STATS_FCT_COUNT();
04883   NVSG_ASSERT( glContext()->m_glFunctions );
04884   GLhandleARB hdl = glContext()->m_glFunctions->glCreateProgramObjectARB();
04885   ASSERT_GL_NO_ERROR;
04886   return( hdl );
04887 }
04888
04890
04891 inline  GLuint  GLCreateShader( GLenum type )
04892 {
04893   NVSG_GL_STATS_FCT_COUNT();
04894   NVSG_ASSERT( glContext()->m_glFunctions );
04895   GLuint sh = glContext()->m_glFunctions->glCreateShader( type );
04896   ASSERT_GL_NO_ERROR;
04897   return( sh );
04898 }
04899
04901
04902 inline  GLhandleARB GLCreateShaderObject( GLenum shaderType )
04903 {
04904   NVSG_GL_STATS_FCT_COUNT();
04905   NVSG_ASSERT( glContext()->m_glFunctions );
04906   GLhandleARB hdl = glContext()->m_glFunctions->glCreateShaderObjectARB( shaderType );
04907   ASSERT_GL_NO_ERROR;
04908   return( hdl );
04909 }
04910
04912
04913 inline  void  GLCullFace( GLenum mode )
04914 {
04915   GLContext * ctx = glContext();
04916 #if defined( GL_CACHING )
04917 # if defined(GL_SUPPORT_RESET)
04918   ctx->m_previousAttributes.m_cullFaceMode = ctx->m_polygonAttributes.m_cullFaceMode;
04919 # endif
04920   if ( ctx->m_polygonAttributes.m_cullFaceMode != mode )
04921 #endif
04922   {
04923     if ( ! ctx->m_locks.m_cullFaceMode )
04924     {
04925       NVSG_GL_STATS_FCT_COUNT();
04926       glCullFace( mode );
04927       ASSERT_GL_NO_ERROR;
04928 #if defined( GL_CACHING )
04929       ctx->m_polygonAttributes.m_cullFaceMode = mode;
04930 #endif
04931     }
04932   }
04933 }
04934
04939 inline void GLResetCullFaceMode()
04940 {
04941 #if defined(GL_SUPPORT_RESET)
04942   GLCullFace( glContext()->m_previousAttributes.m_cullFaceMode );
04943 #else
04944   GLCullFace( GL_BACK );
04945 #endif
04946 }
04947
04953 inline void GLCullFaceLock( GLenum mode )
04954 {
04955   NVSG_ASSERT( ! glContext()->m_locks.m_cullFaceMode );
04956   GLCullFace( mode );
04957   glContext()->m_locks.m_cullFaceMode = true;
04958 }
04959
04965 inline void GLCullFaceUnlock( GLenum mode )
04966 {
04967   glContext()->m_locks.m_cullFaceMode = false;
04968   GLCullFace( mode );
04969 }
04970
04972
04973 inline  void  GLDeleteLists( GLuint list, GLsizei range )
04974 {
04975   NVSG_GL_STATS_DELETE_LISTS( list, range );
04976   glDeleteLists( list, range );
04977   glContext()->removeLists(range, list);
04978   ASSERT_GL_NO_ERROR;
04979 }
04980
04982
04983 inline  void  GLDeleteObject( GLhandleARB obj )
04984 {
04985   NVSG_GL_STATS_FCT_COUNT();
04986   NVSG_ASSERT( glContext()->m_glFunctions );
04987   glContext()->m_glFunctions->glDeleteObjectARB( obj );
04988   ASSERT_GL_NO_ERROR;
04989 }
04990
04991
04993
04994 inline  void  GLDeleteProgram( GLuint program )
04995 {
04996   NVSG_GL_STATS_FCT_COUNT();
04997   GLContext * ctx = glContext();
04998   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glDeleteProgram );
04999   ctx->m_glFunctions->glDeleteProgram( program );
05000   ctx->removePrograms(1, &program);
05001   ASSERT_GL_NO_ERROR;
05002 }
05003
05005
05007 inline  void  GLDeletePrograms( GLsizei n, const GLuint *ids )
05008 {
05009   NVSG_GL_STATS_FCT_COUNT();
05010   GLContext * ctx = glContext();
05011   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glDeleteProgramsARB );
05012   ctx->m_glFunctions->glDeleteProgramsARB( n, ids );
05013   ctx->removePrograms(n, ids);
05014   ASSERT_GL_NO_ERROR;
05015 }
05016
05018
05019 inline  void  GLDeleteQueries( GLsizei n, const GLuint *ids )
05020 {
05021   NVSG_GL_STATS_FCT_COUNT();
05022   GLContext * ctx = glContext();
05023   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glDeleteQueries );
05024   ctx->m_glFunctions->glDeleteQueries( n, ids );
05025   ctx->removeQueries( n, ids );
05026   ASSERT_GL_NO_ERROR;
05027 }
05028
05030
05031 inline  void  GLDeleteShader( GLuint shader )
05032 {
05033   NVSG_GL_STATS_FCT_COUNT();
05034   NVSG_ASSERT( glContext()->m_glFunctions );
05035   glContext()->m_glFunctions->glDeleteShader( shader );
05036   ASSERT_GL_NO_ERROR;
05037 }
05038
05040
05041 inline  void  GLDeleteTextures( GLsizei n, const GLuint *textures )
05042 {
05043   NVSG_GL_STATS_DELETE_TEXTURES( n, textures );
05044   GLContext * ctx = glContext();
05045   glDeleteTextures( n, textures );
05046   ctx->removeTextures(n, textures);
05047   ASSERT_GL_NO_ERROR;
05048 }
05049
05051
05052 inline  void  GLDepthBounds( GLclampd zmin, GLclampd zmax )
05053 {
05054   NVSG_GL_STATS_FCT_COUNT();
05055   NVSG_ASSERT( glContext()->m_glFunctions );
05056   glContext()->m_glFunctions->glDepthBounds( zmin, zmax );
05057   ASSERT_GL_NO_ERROR;
05058 }
05059
05061
05062 inline  void  GLDepthBoundsd( GLdouble zmin, GLdouble zmax )
05063 {
05064   NVSG_GL_STATS_FCT_COUNT();
05065   NVSG_ASSERT( glContext()->m_glFunctions );
05066   glContext()->m_glFunctions->glDepthBoundsd( zmin, zmax );
05067   ASSERT_GL_NO_ERROR;
05068 }
05069
05071
05072 inline  void  GLDepthFunc( GLenum func )
05073 {
05074 #if defined( GL_CACHING )
05075   GLContext * ctx = glContext();
05076 # if defined(GL_SUPPORT_RESET)
05077   ctx->m_previousAttributes.m_depthFunc = ctx->m_depthBufferAttributes.m_depthFunc;
05078 # endif
05079   if ( ctx->m_depthBufferAttributes.m_depthFunc != func )
05080 #endif
05081   {
05082     NVSG_GL_STATS_DEPTH_FUNC( func );
05083     glDepthFunc( func );
05084     ASSERT_GL_NO_ERROR;
05085 #if defined( GL_CACHING )
05086     ctx->m_depthBufferAttributes.m_depthFunc = func;
05087 #endif
05088   }
05089 }
05090
05095 inline void GLResetDepthFunc()
05096 {
05097 #if defined(GL_SUPPORT_RESET)
05098   GLDepthFunc( glContext()->m_previousAttributes.m_depthFunc );
05099 #else
05100   GLDepthFunc( GL_LESS );
05101 #endif
05102 }
05103
05105
05106 inline  void  GLDepthMask( GLboolean flag )
05107 {
05108 #if defined( GL_CACHING )
05109   GLContext * ctx = glContext();
05110 # if defined(GL_SUPPORT_RESET)
05111   ctx->m_previousAttributes.m_depthWriting = ctx->m_depthBufferAttributes.m_depthWriting;
05112 # endif
05113   if ( ctx->m_depthBufferAttributes.m_depthWriting != flag )
05114 #endif
05115   {
05116     NVSG_GL_STATS_DEPTH_MASK( flag );
05117     glDepthMask( flag );
05118     ASSERT_GL_NO_ERROR;
05119 #if defined( GL_CACHING )
05120     ctx->m_depthBufferAttributes.m_depthWriting = flag;
05121 #endif
05122   }
05123 }
05124
05129 inline void GLResetDepthMask()
05130 {
05131 #if defined(GL_SUPPORT_RESET)
05132   GLDepthMask( glContext()->m_previousAttributes.m_depthWriting );
05133 #else
05134   GLDepthMask( GL_TRUE );
05135 #endif
05136 }
05137
05139
05140 inline  void  GLDepthRange( GLclampd znear, GLclampd zfar )
05141 {
05142 #if defined( GL_CACHING )
05143   GLContext * ctx = glContext();
05144 # if defined(GL_SUPPORT_RESET)
05145   ctx->m_previousAttributes.m_depthRangeNear = ctx->m_viewportAttributes.m_depthRangeNear;
05146   ctx->m_previousAttributes.m_depthRangeFar  = ctx->m_viewportAttributes.m_depthRangeFar;
05147 # endif
05148   if (    ( ctx->m_viewportAttributes.m_depthRangeNear != znear )
05149       ||  ( ctx->m_viewportAttributes.m_depthRangeFar  != zfar ) )
05150 #endif
05151   {
05152     NVSG_GL_STATS_FCT_COUNT();
05153     glDepthRange( znear, zfar );
05154     ASSERT_GL_NO_ERROR;
05155 #if defined( GL_CACHING )
05156     ctx->m_viewportAttributes.m_depthRangeNear = znear;
05157     ctx->m_viewportAttributes.m_depthRangeFar  = zfar;
05158 #endif
05159   }
05160 }
05161
05163
05164 inline  void  GLDepthRanged( GLdouble zNear, GLdouble zFar )
05165 {
05166   NVSG_GL_STATS_FCT_COUNT();
05167   NVSG_ASSERT( glContext()->m_glFunctions );
05168   glContext()->m_glFunctions->glDepthRanged( zNear, zFar );
05169   ASSERT_GL_NO_ERROR;
05170 }
05171
05176 inline void GLResetDepthRange()
05177 {
05178 #if defined(GL_SUPPORT_RESET)
05179   GLContext * ctx = glContext();
05180   GLDepthRange( ctx->m_previousAttributes.m_depthRangeNear
05181               , ctx->m_previousAttributes.m_depthRangeFar );
05182 #else
05183   GLDepthRange( 0.0, 1.0 );
05184 #endif
05185 }
05186
05188 inline  void  GLDetachObject( GLhandleARB containerObj, GLhandleARB attachedObj )
05189 {
05190   NVSG_GL_STATS_FCT_COUNT();
05191   NVSG_ASSERT( glContext()->m_glFunctions );
05192   glContext()->m_glFunctions->glDetachObjectARB( containerObj, attachedObj );
05193   ASSERT_GL_NO_ERROR;
05194 }
05195
05197 inline  void  GLDetachShader( GLuint program, GLuint shader )
05198 {
05199   NVSG_GL_STATS_FCT_COUNT();
05200   NVSG_ASSERT( glContext()->m_glFunctions );
05201   glContext()->m_glFunctions->glDetachShader( program, shader );
05202   ASSERT_GL_NO_ERROR;
05203 }
05204
05205 #if !defined(DOXYGEN_IGNORE)  // no need to document internal helper functions/macros
05206 #if defined( GL_CACHING )
05207 inline void _GLDisableCached( GLenum cap, GLboolean * cache )
05208 {
05209   if ( *cache )
05210   {
05211     NVSG_ASSERT( glIsEnabled( cap ) );
05212     _GLDisable( cap );
05213     *cache = GL_FALSE;
05214   }
05215 }
05216 inline void _GLEnableCached( GLenum cap, GLboolean * cache )
05217 {
05218   if ( !*cache )
05219   {
05220     NVSG_ASSERT( ! glIsEnabled( cap ) );
05221     _GLEnable( cap );
05222     *cache = GL_TRUE;
05223   }
05224 }
05225 inline GLboolean _GLIsEnabledCached( GLenum cap, GLboolean cache )
05226 {
05227   NVSG_ASSERT( cache == glIsEnabled( cap ) );
05228   return( cache );
05229 }
05230 # if defined(GL_SUPPORT_RESET)
05231 inline void _GLEnableCached( GLenum cap, GLboolean * cache, GLboolean * prev )
05232 {
05233   *prev = *cache;
05234   _GLEnableCached( cap, cache );
05235 }
05236 inline void _GLDisableCached( GLenum cap, GLboolean * cache, GLboolean * prev )
05237 {
05238   *prev = *cache;
05239   _GLDisableCached( cap, cache );
05240 }
05241 #  define GL_DISABLE( cap, cache, prev )  _GLDisableCached( cap, cache, prev )
05242 #  define GL_ENABLE( cap, cache, prev )   _GLEnableCached( cap, cache, prev )
05243 #  define GL_IS_ENABLED( cap, cache )      _GLIsEnabledCached( cap, cache )
05244 # else
05245 #  define GL_DISABLE( cap, cache, prev )   _GLDisable( cap )
05246 #  define GL_ENABLE( cap, cache, prev )    _GLEnable( cap )
05247 #  define GL_IS_ENABLED( cap, cache )      _GLIsEnabled( cap )
05248 # endif
05249 #else
05250 # define GL_DISABLE( cap, cache, prev )  _GLDisable( cap )
05251 # define GL_ENABLE( cap, cache, prev )   _GLEnable( cap )
05252 # define GL_IS_ENABLED( cap, cache )     _GLIsEnabled( cap )
05253 #endif
05254
05255 #if defined(GL_SUPPORT_RESET)
05256 # define GL_RESET( cap, cache, prev ) ( prev ? _GLEnableCached( cap, cache ) : _GLDisableCached( cap, cache ) )
05257 #else
05258 # define GL_RESET( cap, cache, prev ) _GLDisable( cap );
05259 #endif
05260 #endif // DOXYGEN_IGNORE
05261
05262
05264
05266 inline  void  GLDisableAlphaTest( void )
05267 {
05268   GL_DISABLE( GL_ALPHA_TEST, &glContext()->m_colorBufferEnableAttributes.m_alphaTest
05269             , &glContext()->m_previousAttributes.m_alphaTest );
05270 }
05271
05273
05275 inline  void  GLDisableAutoNormal( void )
05276 {
05277   GL_DISABLE( GL_AUTO_NORMAL, &glContext()->m_evalAttributes.m_autoNormal
05278             , &glContext()->m_previousAttributes.m_autoNormal );
05279 }
05280
05282
05284 inline  void  GLDisableBlend( void )
05285 {
05286   GL_DISABLE( GL_BLEND, &glContext()->m_colorBufferEnableAttributes.m_blend
05287             , &glContext()->m_previousAttributes.m_blend );
05288 }
05289
05291
05293 inline  void  GLDisableClipPlane( GLenum plane )
05294 {
05295 #if defined( GL_CACHING )
05296   NVSG_ASSERT( plane-GL_CLIP_PLANE0 < glContext()->m_transformEnableAttributes.m_clipPlanes.size() );
05297 #endif
05298   GL_DISABLE( plane, &glContext()->m_transformEnableAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0]
05299             , &glContext()->m_previousAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0] );
05300 }
05301
05303
05305 inline  void  GLDisableColorLogicOp( void )
05306 {
05307   GL_DISABLE( GL_COLOR_LOGIC_OP, &glContext()->m_colorBufferEnableAttributes.m_colorLogicOp
05308             , &glContext()->m_previousAttributes.m_colorLogicOp );
05309 }
05310
05312
05314 inline  void  GLDisableColorMaterial( void )
05315 {
05316 #if defined( GL_CACHING )
05317   GLContext * ctx = glContext();
05318 # if defined(GL_SUPPORT_RESET)
05319   ctx->m_previousAttributes.m_colorMaterial = ctx->m_lightingAttributes.m_colorMaterial;
05320 # endif
05321   if ( ctx->m_lightingAttributes.m_colorMaterial )
05322   {
05323     NVSG_ASSERT( glIsEnabled( GL_COLOR_MATERIAL ) );
05324 #endif
05325     _GLDisable( GL_COLOR_MATERIAL );
05326 #if defined( GL_CACHING )
05327     ctx->m_lightingAttributes.m_colorMaterial = GL_FALSE;
05328     glGetMaterialfv( GL_BACK, GL_AMBIENT, &ctx->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_BACK][0] );
05329     glGetMaterialfv( GL_FRONT, GL_AMBIENT, &ctx->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0] );
05330     glGetMaterialfv( GL_BACK, GL_DIFFUSE, &ctx->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0] );
05331     glGetMaterialfv( GL_FRONT, GL_DIFFUSE, &ctx->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0] );
05332   }
05333 #endif
05334 }
05335
05337
05339 inline  void  GLDisableCullFace( void )
05340 {
05341   GLContext * ctx = glContext();
05342 #if defined( GL_CACHING )
05343 # if defined(GL_SUPPORT_RESET)
05344   ctx->m_previousAttributes.m_cullFace = ctx->m_polygonEnableAttributes.m_cullFace;
05345 # endif
05346   if ( ctx->m_polygonEnableAttributes.m_cullFace )
05347 #endif
05348   {
05349     if ( ! ctx->m_locks.m_cullFace )
05350     {
05351 #if defined( GL_CACHING )
05352       NVSG_ASSERT( glIsEnabled( GL_CULL_FACE ) );
05353 #endif
05354       _GLDisable( GL_CULL_FACE );
05355 #if defined( GL_CACHING )
05356       ctx->m_polygonEnableAttributes.m_cullFace = GL_FALSE;
05357 #endif
05358     }
05359   }
05360 }
05361
05367 inline void GLDisableCullFaceLock( void )
05368 {
05369   NVSG_ASSERT( ! glContext()->m_locks.m_cullFace );
05370   GLDisableCullFace();
05371   glContext()->m_locks.m_cullFace = true;
05372 }
05373
05377 inline void GLDisableCullFaceUnlock( void )
05378 {
05379   NVSG_ASSERT( glContext()->m_locks.m_cullFace );
05380   glContext()->m_locks.m_cullFace = false;
05381   GLDisableCullFace();
05382 }
05383
05385
05387 inline  void  GLDisableDepthTest( void )
05388 {
05389   GL_DISABLE( GL_DEPTH_TEST, &glContext()->m_depthBufferEnableAttributes.m_depthTesting
05390             , &glContext()->m_previousAttributes.m_depthTesting );
05391 }
05392
05394
05396 inline  void  GLDisableDither( void )
05397 {
05398   GL_DISABLE( GL_DITHER, &glContext()->m_colorBufferEnableAttributes.m_dither
05399             , &glContext()->m_previousAttributes.m_dither );
05400 }
05401
05403
05405 inline  void  GLDisableFog( void )
05406 {
05407   GL_DISABLE( GL_FOG, &glContext()->m_fogEnableAttributes.m_fog
05408             , &glContext()->m_previousAttributes.m_fog );
05409 }
05410
05412
05413 inline  void  GLDisableIndexed( GLenum target, GLuint index )
05414 {
05415   NVSG_GL_STATS_FCT_COUNT();
05416   NVSG_ASSERT( glContext()->m_glFunctions );
05417   glContext()->m_glFunctions->glDisableIndexed( target, index );
05418   ASSERT_GL_NO_ERROR;
05419 }
05420
05422
05424 inline  void  GLDisableLight( GLenum light )
05425 {
05426 #if defined( GL_CACHING )
05427   NVSG_ASSERT( light-GL_LIGHT0 < glContext()->m_lightingEnableAttributes.m_lights.size() );
05428 #endif
05429   GL_DISABLE( light, &glContext()->m_lightingEnableAttributes.m_lights[light-GL_LIGHT0]
05430             , &glContext()->m_previousAttributes.m_lights[light-GL_LIGHT0] );
05431 }
05432
05434
05436 inline  void  GLDisableLighting( void )
05437 {
05438   GLContext * ctx = glContext();
05439 #if defined( GL_CACHING )
05440 # if defined(GL_SUPPORT_RESET)
05441   ctx->m_previousAttributes.m_lighting = ctx->m_lightingEnableAttributes.m_lighting;
05442 # endif
05443   if ( ctx->m_lightingEnableAttributes.m_lighting )
05444 #endif
05445   {
05446     if ( ! ctx->m_locks.m_lighting )
05447     {
05448 #if defined( GL_CACHING )
05449       NVSG_ASSERT( glIsEnabled( GL_LIGHTING ) );
05450 #endif
05451       _GLDisable( GL_LIGHTING );
05452 #if defined( GL_CACHING )
05453       ctx->m_lightingEnableAttributes.m_lighting = GL_FALSE;
05454 #endif
05455     }
05456   }
05457 }
05458
05464 inline void GLDisableLightingLock( void )
05465 {
05466   NVSG_ASSERT( ! glContext()->m_locks.m_lighting );
05467   GLDisableLighting();
05468   glContext()->m_locks.m_lighting = true;
05469 }
05470
05474 inline void GLDisableLightingUnlock( void )
05475 {
05476   NVSG_ASSERT( glContext()->m_locks.m_lighting );
05477   glContext()->m_locks.m_lighting = false;
05478   GLDisableLighting();
05479 }
05480
05482
05484 inline  void  GLDisableLineSmooth( void )
05485 {
05486   GL_DISABLE( GL_LINE_SMOOTH, &glContext()->m_lineEnableAttributes.m_smooth
05487             , &glContext()->m_previousAttributes.m_lineSmooth );
05488 }
05489
05491
05493 inline  void  GLDisableLineStipple( void )
05494 {
05495   GL_DISABLE( GL_LINE_STIPPLE, &glContext()->m_lineEnableAttributes.m_stipple
05496             , &glContext()->m_previousAttributes.m_lineStipple );
05497 }
05498
05500
05502 inline  void  GLDisableLogicOp( void )
05503 {
05504   GL_DISABLE( GL_LOGIC_OP, &glContext()->m_colorBufferEnableAttributes.m_logicOp
05505             , &glContext()->m_previousAttributes.m_logicOp );
05506 }
05507
05509
05511 inline  void  GLDisableNormalize( void )
05512 {
05513   GL_DISABLE( GL_NORMALIZE, &glContext()->m_transformEnableAttributes.m_normalize
05514             , &glContext()->m_previousAttributes.m_normalize );
05515 }
05516
05518
05520 inline  void  GLDisableRescaleNormal( void )
05521 {
05522   GL_DISABLE( GL_RESCALE_NORMAL, &glContext()->m_transformEnableAttributes.m_rescaleNormal
05523             , &glContext()->m_previousAttributes.m_rescaleNormal );
05524 }
05525
05527
05529 inline  void  GLDisablePointSmooth( void )
05530 {
05531   GL_DISABLE( GL_POINT_SMOOTH, &glContext()->m_pointEnableAttributes.m_smooth
05532             , &glContext()->m_previousAttributes.m_pointSmooth );
05533 }
05534
05536
05538 inline  void  GLDisablePolygonOffsetFill( void )
05539 {
05540   GL_DISABLE( GL_POLYGON_OFFSET_FILL, &glContext()->m_polygonEnableAttributes.m_offsetFill
05541             , &glContext()->m_previousAttributes.m_offsetFill );
05542 }
05543
05545
05547 inline  void  GLDisablePolygonOffsetLine( void )
05548 {
05549   GL_DISABLE( GL_POLYGON_OFFSET_LINE, &glContext()->m_polygonEnableAttributes.m_offsetLine
05550             , &glContext()->m_previousAttributes.m_offsetLine );
05551 }
05552
05554
05556 inline  void  GLDisablePolygonOffsetPoint( void )
05557 {
05558   GL_DISABLE( GL_POLYGON_OFFSET_POINT, &glContext()->m_polygonEnableAttributes.m_offsetPoint
05559             , &glContext()->m_previousAttributes.m_offsetPoint );
05560 }
05561
05563
05565 inline  void  GLDisablePolygonSmooth( void )
05566 {
05567   GL_DISABLE( GL_POLYGON_SMOOTH, &glContext()->m_polygonEnableAttributes.m_smooth
05568             , &glContext()->m_previousAttributes.m_polygonSmooth );
05569 }
05570
05572
05574 inline  void  GLDisablePolygonStipple( void )
05575 {
05576   GL_DISABLE( GL_POLYGON_STIPPLE, &glContext()->m_polygonEnableAttributes.m_stipple
05577             , &glContext()->m_previousAttributes.m_polygonStipple );
05578 }
05579
05581
05583 inline  void  GLDisableScissorTest( void )
05584 {
05585   GL_DISABLE( GL_SCISSOR_TEST, &glContext()->m_scissorEnableAttributes.m_scissorTest
05586             , &glContext()->m_previousAttributes.m_scissorTest );
05587 }
05588
05590
05592 inline  void  GLDisableStencilTest( void )
05593 {
05594   GL_DISABLE( GL_STENCIL_TEST, &glContext()->m_stencilBufferEnableAttributes.m_stencilTest
05595             , &glContext()->m_previousAttributes.m_stencilTest );
05596 }
05597
05600
05602 inline void GLDisableTexture( GLenum target )
05603 {
05604 #if defined( GL_CACHING )
05605   GLContext * ctx = glContext();
05606   NVSG_ASSERT(   ( target == GL_TEXTURE_1D ) || ( target == GL_TEXTURE_2D ) || ( target == GL_TEXTURE_3D )
05607              ||  ( target == GL_TEXTURE_CUBE_MAP ) || ( target == GL_TEXTURE_RECTANGLE_NV )
05608              ||  ( target == GL_TEXTURE_2D_ARRAY_EXT ) || ( target == GL_TEXTURE_1D_ARRAY_EXT ) );
05609   if ( ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_toActivate].m_texture[target] )
05610   {
05611     _GLUpdateActiveTexture();
05612     // array targets are not supported in fixed function pipeline and therefore
05613     // should not be enabled/disabled.
05614     if( target != GL_TEXTURE_2D_ARRAY_EXT && target != GL_TEXTURE_1D_ARRAY_EXT )
05615     {
05616       NVSG_ASSERT( glIsEnabled( target ) );
05617     }
05618 #endif
05619     if( target != GL_TEXTURE_2D_ARRAY_EXT && target != GL_TEXTURE_1D_ARRAY_EXT )
05620     {
05621       _GLDisable( target );
05622     }
05623 #if defined( GL_CACHING )
05624     ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_active].m_texture[target] = GL_FALSE;
05625   }
05626 #endif
05627 }
05628
05630
05632 inline void GLDisableTextureGen( GLenum target )
05633 {
05634 #if defined( GL_CACHING )
05635   GLContext * ctx = glContext();
05636   NVSG_ASSERT(    ( target == GL_TEXTURE_GEN_S )
05637               ||  ( target == GL_TEXTURE_GEN_T )
05638               ||  ( target == GL_TEXTURE_GEN_R )
05639               ||  ( target == GL_TEXTURE_GEN_Q ) );
05640   if ( ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_toActivate].m_gen[target-GL_TEXTURE_GEN_S] )
05641   {
05642     _GLUpdateActiveTexture();
05643     NVSG_ASSERT( glIsEnabled( target ) );
05644 #endif
05645     _GLDisable( target );
05646 #if defined( GL_CACHING )
05647     ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_active].m_gen[target-GL_TEXTURE_GEN_S] = GL_FALSE;
05648   }
05649 #endif
05650 }
05651
05653
05654 inline  void  GLDisable( GLenum cap )
05655 {
05656 #if defined( GL_CACHING )
05657   switch( cap )
05658   {
05659     case GL_ALPHA_TEST :
05660       GLDisableAlphaTest();
05661       break;
05662     case GL_AUTO_NORMAL :
05663       GLDisableAutoNormal();
05664       break;
05665     case GL_BLEND :
05666       GLDisableBlend();
05667       break;
05668     case GL_CLIP_PLANE0 :
05669     case GL_CLIP_PLANE1 :
05670     case GL_CLIP_PLANE2 :
05671     case GL_CLIP_PLANE3 :
05672     case GL_CLIP_PLANE4 :
05673     case GL_CLIP_PLANE5 :
05674       GLDisableClipPlane( cap );
05675       break;
05676     case GL_COLOR_LOGIC_OP :
05677       GLDisableColorLogicOp();
05678       break;
05679     case GL_COLOR_MATERIAL :
05680       GLDisableColorMaterial();
05681       break;
05682     case GL_CULL_FACE :
05683       GLDisableCullFace();
05684       break;
05685     case GL_DEPTH_TEST :
05686       GLDisableDepthTest();
05687       break;
05688     case GL_DITHER :
05689       GLDisableDither();
05690       break;
05691     case GL_FOG :
05692       GLDisableFog();
05693       break;
05694     case GL_LIGHT0 :
05695     case GL_LIGHT1 :
05696     case GL_LIGHT2 :
05697     case GL_LIGHT3 :
05698     case GL_LIGHT4 :
05699     case GL_LIGHT5 :
05700     case GL_LIGHT6 :
05701     case GL_LIGHT7 :
05702       GLDisableLight( cap );
05703       break;
05704     case GL_LIGHTING :
05705       GLDisableLighting();
05706       break;
05707     case GL_LINE_SMOOTH :
05708       GLDisableLineSmooth();
05709       break;
05710     case GL_LINE_STIPPLE :
05711       GLDisableLineStipple();
05712       break;
05713     case GL_LOGIC_OP :
05714       GLDisableLogicOp();
05715       break;
05716     case GL_NORMALIZE :
05717       GLDisableNormalize();
05718       break;
05719     case GL_RESCALE_NORMAL :
05720       GLDisableRescaleNormal();
05721       break;
05722     case GL_POINT_SMOOTH :
05723       GLDisablePointSmooth();
05724       break;
05725     case GL_POLYGON_OFFSET_FILL :
05726       GLDisablePolygonOffsetFill();
05727       break;
05728     case GL_POLYGON_OFFSET_LINE :
05729       GLDisablePolygonOffsetLine();
05730       break;
05731     case GL_POLYGON_OFFSET_POINT :
05732       GLDisablePolygonOffsetPoint();
05733       break;
05734     case GL_POLYGON_SMOOTH :
05735       GLDisablePolygonSmooth();
05736       break;
05737     case GL_POLYGON_STIPPLE :
05738       GLDisablePolygonStipple();
05739       break;
05740     case GL_SCISSOR_TEST :
05741       GLDisableScissorTest();
05742       break;
05743     case GL_STENCIL_TEST :
05744       GLDisableStencilTest();
05745       break;
05746     case GL_TEXTURE_1D :
05747     case GL_TEXTURE_2D :
05748     case GL_TEXTURE_3D :
05749     case GL_TEXTURE_CUBE_MAP :
05750     case GL_TEXTURE_RECTANGLE_NV :
05751     case GL_TEXTURE_2D_ARRAY_EXT:
05752     case GL_TEXTURE_1D_ARRAY_EXT:
05753       GLDisableTexture( cap );
05754       break;
05755     case GL_TEXTURE_GEN_S :
05756     case GL_TEXTURE_GEN_T :
05757     case GL_TEXTURE_GEN_R :
05758     case GL_TEXTURE_GEN_Q :
05759       GLDisableTextureGen( cap );
05760       break;
05761     default :
05762       _GLDisable( cap );
05763       break;
05764   }
05765 #else
05766   switch( cap )
05767   {
05768     case GL_CULL_FACE :
05769       GLDisableCullFace();
05770       break;
05771     default :
05772       _GLDisable( cap );
05773       break;
05774   }
05775 #endif
05776 }
05777
05778 #if !defined(DOXYGEN_IGNORE)
05779 #if defined( GL_CACHING )
05780 inline void _GLDisableClientStateCached( GLenum cap, GLboolean * cache )
05781 {
05782   if ( *cache )
05783   {
05784     NVSG_ASSERT( glIsEnabled( cap ) );
05785     _GLDisableClientState( cap );
05786     *cache = GL_FALSE;
05787   }
05788 }
05789 #define GL_DISABLE_CLIENT_STATE( cap, cache )   _GLDisableClientStateCached( cap, cache )
05790 #else
05791 #define GL_DISABLE_CLIENT_STATE( cap, cache )   _GLDisableClientState( cap );
05792 #endif
05793 #endif // DOXYGEN_IGNORE
05794
05796
05798 inline  void  GLDisableColorArray( void )
05799 {
05800   GL_DISABLE_CLIENT_STATE( GL_COLOR_ARRAY, &glContext()->m_vertexArrayAttributes.m_colorArray );
05801 }
05802
05804
05806 inline  void  GLDisableFogCoordinateArray( void )
05807 {
05808   GL_DISABLE_CLIENT_STATE( GL_FOG_COORDINATE_ARRAY, &glContext()->m_vertexArrayAttributes.m_fogCoordArray );
05809 }
05810
05812
05814 inline  void  GLDisableNormalArray( void )
05815 {
05816   GL_DISABLE_CLIENT_STATE( GL_NORMAL_ARRAY, &glContext()->m_vertexArrayAttributes.m_normalArray );
05817 }
05818
05820
05822 inline  void  GLDisableSecondaryColorArray( void )
05823 {
05824   GL_DISABLE_CLIENT_STATE( GL_SECONDARY_COLOR_ARRAY, &glContext()->m_vertexArrayAttributes.m_secondaryColorArray );
05825 }
05826
05828
05830 inline  void  GLDisableTextureCoordArray( void )
05831 {
05832 #if defined( GL_CACHING )
05833   GLContext * ctx = glContext();
05834   if ( ctx->m_vertexArrayAttributes.m_textureCoordArray[ctx->m_vertexArrayAttributes.m_clientTextureToActivate] )
05835   {
05836     _GLUpdateClientActiveTexture();
05837     NVSG_ASSERT( glIsEnabled( GL_TEXTURE_COORD_ARRAY ) );
05838 #endif
05839     _GLDisableClientState( GL_TEXTURE_COORD_ARRAY );
05840 #if defined( GL_CACHING )
05841     ctx->m_vertexArrayAttributes.m_textureCoordArray[ctx->m_vertexArrayAttributes.m_clientTextureActive] = GL_FALSE;
05842   }
05843 #endif
05844 }
05845
05847
05849 inline  void  GLDisableVertexArray( void )
05850 {
05851   GL_DISABLE_CLIENT_STATE( GL_VERTEX_ARRAY, &glContext()->m_vertexArrayAttributes.m_vertexArray );
05852 }
05853
05855
05857 inline void GLDisablePrimitiveRestart()
05858 {
05859   GL_DISABLE_CLIENT_STATE( GL_PRIMITIVE_RESTART_NV, &glContext()->m_vertexArrayAttributes.m_primitiveRestart );
05860 }
05861
05863
05864 inline  void  GLDisableClientState( GLenum array )
05865 {
05866 #if defined( GL_CACHING )
05867   switch( array )
05868   {
05869     case GL_COLOR_ARRAY :
05870       GLDisableColorArray();
05871       break;
05872     case GL_FOG_COORDINATE_ARRAY :
05873       GLDisableFogCoordinateArray();
05874       break;
05875     case GL_NORMAL_ARRAY :
05876       GLDisableNormalArray();
05877       break;
05878     case GL_SECONDARY_COLOR_ARRAY :
05879       GLDisableSecondaryColorArray();
05880       break;
05881     case GL_TEXTURE_COORD_ARRAY :
05882       GLDisableTextureCoordArray();
05883       break;
05884     case GL_VERTEX_ARRAY :
05885       GLDisableVertexArray();
05886       break;
05887     case GL_PRIMITIVE_RESTART_NV :
05888       GLDisablePrimitiveRestart();
05889       break;
05890     default :
05891       _GLDisableClientState( array );
05892       break;
05893   }
05894 #else
05895   _GLDisableClientState( array );
05896 #endif
05897 }
05898
05900 inline void GLDisableVertexAttribArray( GLuint index )
05901 {
05902   NVSG_GL_STATS_FCT_COUNT();
05903   NVSG_ASSERT( glContext()->m_glFunctions );
05904   GLContext * ctx = glContext();
05905 #if defined(GL_CACHING)
05906   NVSG_ASSERT(index<(GLuint)ctx->m_maxVertexAttribs);
05907   if ( ctx->m_vertexArrayAttributes.m_vertexAttribArray[index] != GL_FALSE )
05908 #endif
05909   {
05910     ctx->m_glFunctions->glDisableVertexAttribArray(index);
05911 #if defined(GL_CACHING)
05912     ctx->m_vertexArrayAttributes.m_vertexAttribArray[index] = GL_FALSE;
05913 #endif
05914     ASSERT_GL_NO_ERROR;
05915   }
05916 }
05917
05919
05920 inline  void  GLDrawArrays( GLenum mode, GLint first, GLsizei count )
05921 {
05922   NVSG_GL_STATS_FCT_COUNT();
05923   glDrawArrays( mode, first, count );
05924   ASSERT_GL_NO_ERROR;
05925 }
05926
05928
05929 inline  void  GLDrawArraysInstanced( GLenum mode, GLint start, GLsizei count, GLsizei primcount )
05930 {
05931   NVSG_GL_STATS_FCT_COUNT();
05932   NVSG_ASSERT( glContext()->m_glFunctions );
05933   glContext()->m_glFunctions->glDrawArraysInstanced( mode, start, count, primcount );
05934   ASSERT_GL_NO_ERROR;
05935 }
05936
05938
05939 inline  void  GLDrawBuffer( GLenum mode )
05940 {
05941   NVSG_GL_STATS_FCT_COUNT();
05942   glDrawBuffer( mode );
05943   ASSERT_GL_NO_ERROR;
05944 }
05945
05947
05948 inline  void  GLDrawBuffers( GLsizei n, const GLenum *bufs )
05949 {
05950   NVSG_GL_STATS_FCT_COUNT();
05951   NVSG_ASSERT( glContext()->m_glFunctions );
05952   glContext()->m_glFunctions->glDrawBuffers( n, bufs );
05953   ASSERT_GL_NO_ERROR;
05954 }
05955
05957
05958 inline  void  GLDrawElements( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices )
05959 {
05960   NVSG_GL_STATS_DRAW_ELEMENTS( mode, count, type, indices );
05961   glDrawElements( mode, count, type, indices );
05962   ASSERT_GL_NO_ERROR;
05963 }
05964
05966
05967 inline  void  GLDrawElementsInstanced( GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount )
05968 {
05969   NVSG_GL_STATS_FCT_COUNT();
05970   NVSG_ASSERT( glContext()->m_glFunctions );
05971   glContext()->m_glFunctions->glDrawElementsInstanced( mode, count, type, indices, primcount );
05972   ASSERT_GL_NO_ERROR;
05973 }
05974
05976
05977 inline  void  GLMultiDrawArrays( GLenum mode, GLint *first, GLsizei *count, GLsizei primcount )
05978 {
05979   NVSG_GL_STATS_FCT_COUNT();
05980   NVSG_ASSERT( glContext()->m_glFunctions );
05981   glContext()->m_glFunctions->glMultiDrawArrays( mode, first, count, primcount );
05982   ASSERT_GL_NO_ERROR;
05983 }
05984
05986
05987 inline  void  GLMultiDrawElements( GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount )
05988 {
05989   NVSG_GL_STATS_FCT_COUNT();
05990   NVSG_ASSERT( glContext()->m_glFunctions );
05991   glContext()->m_glFunctions->glMultiDrawElements( mode, count, type, indices, primcount );
05992   ASSERT_GL_NO_ERROR;
05993 }
05994
05996
05997 inline  void  GLDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
05998 {
05999   NVSG_GL_STATS_FCT_COUNT();
06000   glDrawPixels( width, height, format, type, pixels );
06001   ASSERT_GL_NO_ERROR;
06002 }
06003
06005
06006 inline  void  GLDrawRangeElements( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices )
06007 {
06008   NVSG_GL_STATS_DRAW_RANGE_ELEMENTS( mode, start, end, count, type, indices );
06009   NVSG_ASSERT( glContext()->m_glFunctions );
06010   glContext()->m_glFunctions->glDrawRangeElements( mode, start, end, count, type, indices );
06011   ASSERT_GL_NO_ERROR;
06012 }
06013
06015
06016 inline  void  GLEdgeFlagPointer( GLsizei stride, const GLboolean *pointer )
06017 {
06018   NVSG_GL_STATS_FCT_COUNT();
06019   glEdgeFlagPointer( stride, pointer );
06020   ASSERT_GL_NO_ERROR;
06021 }
06022
06024
06025 inline  void  GLEdgeFlag( GLboolean flag )
06026 {
06027   NVSG_GL_STATS_FCT_COUNT();
06028   glEdgeFlag( flag );
06029   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
06030 }
06031
06033
06034 inline  void  GLEdgeFlagv( const GLboolean *flag )
06035 {
06036   NVSG_GL_STATS_FCT_COUNT();
06037   glEdgeFlagv( flag );
06038   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
06039 }
06040
06042
06044 inline  void  GLEnableAlphaTest( void )
06045 {
06046   GL_ENABLE( GL_ALPHA_TEST, &glContext()->m_colorBufferEnableAttributes.m_alphaTest
06047            , &glContext()->m_previousAttributes.m_alphaTest );
06048 }
06049
06054 inline void GLResetAlphaTest()
06055 {
06056   GL_RESET( GL_ALPHA_TEST, &glContext()->m_colorBufferEnableAttributes.m_alphaTest
06057           , glContext()->m_previousAttributes.m_alphaTest );
06058 }
06059
06061
06063 inline  void  GLEnableAutoNormal( void )
06064 {
06065   GL_ENABLE( GL_AUTO_NORMAL, &glContext()->m_evalAttributes.m_autoNormal
06066            , &glContext()->m_previousAttributes.m_autoNormal );
06067 }
06068
06073 inline void GLResetAutoNormal()
06074 {
06075   GL_RESET( GL_AUTO_NORMAL, &glContext()->m_evalAttributes.m_autoNormal
06076           , glContext()->m_previousAttributes.m_autoNormal );
06077 }
06078
06080
06082 inline  void  GLEnableBlend( void )
06083 {
06084   GL_ENABLE( GL_BLEND, &glContext()->m_colorBufferEnableAttributes.m_blend
06085            , &glContext()->m_previousAttributes.m_blend );
06086 }
06087
06092 inline void GLResetBlend()
06093 {
06094   GL_RESET( GL_BLEND, &glContext()->m_colorBufferEnableAttributes.m_blend
06095           , glContext()->m_previousAttributes.m_blend );
06096 }
06097
06099
06101 inline  void  GLEnableClipPlane( GLenum plane )
06102 {
06103 #if defined( GL_CACHING )
06104   NVSG_ASSERT( plane-GL_CLIP_PLANE0 < glContext()->m_transformEnableAttributes.m_clipPlanes.size() );
06105 #endif
06106   GL_ENABLE( plane, &glContext()->m_transformEnableAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0]
06107            , &glContext()->m_previousAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0] );
06108 }
06109
06115 inline void GLResetClipPlane( GLenum plane )
06116 {
06117   GL_RESET( plane, &glContext()->m_transformEnableAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0]
06118           , glContext()->m_previousAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0] );
06119 }
06120
06122
06124 inline  void  GLEnableColorLogicOp( void )
06125 {
06126   GL_ENABLE( GL_COLOR_LOGIC_OP, &glContext()->m_colorBufferEnableAttributes.m_colorLogicOp
06127            , &glContext()->m_previousAttributes.m_colorLogicOp );
06128 }
06129
06134 inline void GLResetColorLogicOp()
06135 {
06136   GL_RESET( GL_COLOR_LOGIC_OP, &glContext()->m_colorBufferEnableAttributes.m_colorLogicOp
06137           , glContext()->m_previousAttributes.m_colorLogicOp );
06138 }
06139
06141
06143 inline  void  GLEnableColorMaterial( void )
06144 {
06145   GL_ENABLE( GL_COLOR_MATERIAL, &glContext()->m_lightingAttributes.m_colorMaterial
06146            , &glContext()->m_previousAttributes.m_colorMaterial );
06147 }
06148
06153 inline  void  GLResetColorMaterial()
06154 {
06155   GL_RESET( GL_COLOR_MATERIAL, &glContext()->m_lightingAttributes.m_colorMaterial
06156           , glContext()->m_previousAttributes.m_colorMaterial );
06157 }
06158
06160
06162 inline  void  GLEnableCullFace( void )
06163 {
06164   GLContext * ctx = glContext();
06165 #if defined( GL_CACHING )
06166 # if defined(GL_SUPPORT_RESET)
06167   ctx->m_previousAttributes.m_cullFace = ctx->m_polygonEnableAttributes.m_cullFace;
06168 # endif
06169   if ( ! ctx->m_polygonEnableAttributes.m_cullFace )
06170 #endif
06171   {
06172     if ( ! ctx->m_locks.m_cullFace )
06173     {
06174 #if defined( GL_CACHING )
06175       NVSG_ASSERT( ! glIsEnabled( GL_CULL_FACE ) );
06176 #endif
06177       _GLEnable( GL_CULL_FACE );
06178 #if defined( GL_CACHING )
06179       ctx->m_polygonEnableAttributes.m_cullFace = GL_TRUE;
06180 #endif
06181     }
06182   }
06183 }
06184
06190 inline void GLResetCullFace()
06191 {
06192 #if defined(GL_SUPPORT_RESET)
06193   glContext()->m_previousAttributes.m_cullFace ? GLEnableCullFace() : GLDisableCullFace();
06194 #else
06195   GLEnableCullFace(); // SceniX specific! Not OpenGL default!
06196 #endif
06197 }
06198
06204 inline void GLEnableCullFaceLock( void )
06205 {
06206   NVSG_ASSERT( ! glContext()->m_locks.m_cullFace );
06207   GLEnableCullFace();
06208   glContext()->m_locks.m_cullFace = true;
06209 }
06210
06214 inline void GLEnableCullFaceUnlock( void )
06215 {
06216   NVSG_ASSERT( glContext()->m_locks.m_cullFace );
06217   glContext()->m_locks.m_cullFace = false;
06218   GLEnableCullFace();
06219 }
06220
06222
06224 inline  void  GLEnableDepthTest( void )
06225 {
06226   GL_ENABLE( GL_DEPTH_TEST, &glContext()->m_depthBufferEnableAttributes.m_depthTesting
06227            , &glContext()->m_previousAttributes.m_depthTesting );
06228 }
06229
06235 inline void GLResetDepthTest()
06236 {
06237 #if defined(GL_SUPPORT_RESET)
06238   glContext()->m_previousAttributes.m_depthTesting ? GLEnableDepthTest() : GLDisableDepthTest();
06239 #else
06240   GLEnableDepthTest();  // SceniX specific! Not OpenGL default!
06241 #endif
06242 }
06243
06245
06247 inline  void  GLEnableDither( void )
06248 {
06249   GL_ENABLE( GL_DITHER, &glContext()->m_colorBufferEnableAttributes.m_dither
06250            , &glContext()->m_previousAttributes.m_dither );
06251 }
06252
06257 inline void GLResetDither()
06258 {
06259   GL_RESET( GL_DITHER, &glContext()->m_colorBufferEnableAttributes.m_dither
06260           , glContext()->m_previousAttributes.m_dither );
06261 }
06262
06264
06266 inline  void  GLEnableFog( void )
06267 {
06268   GL_ENABLE( GL_FOG, &glContext()->m_fogEnableAttributes.m_fog
06269            , &glContext()->m_previousAttributes.m_fog );
06270 }
06271
06276 inline void GLResetFog()
06277 {
06278   GL_RESET( GL_FOG, &glContext()->m_fogEnableAttributes.m_fog
06279           , glContext()->m_previousAttributes.m_fog );
06280 }
06281
06283
06284 inline  void  GLEnableIndexed( GLenum target, GLuint index )
06285 {
06286   NVSG_GL_STATS_FCT_COUNT();
06287   NVSG_ASSERT( glContext()->m_glFunctions );
06288   glContext()->m_glFunctions->glEnableIndexed( target, index );
06289   ASSERT_GL_NO_ERROR;
06290 }
06291
06293
06295 inline  void  GLEnableLight( GLenum light )
06296 {
06297 #if defined( GL_CACHING )
06298   NVSG_ASSERT( light-GL_LIGHT0 < glContext()->m_lightingEnableAttributes.m_lights.size() );
06299 #endif
06300   GL_ENABLE( light, &glContext()->m_lightingEnableAttributes.m_lights[light-GL_LIGHT0]
06301            , &glContext()->m_previousAttributes.m_lights[light-GL_LIGHT0] );
06302 }
06303
06309 inline void GLResetLight( GLenum light )
06310 {
06311   GL_RESET( light, &glContext()->m_lightingEnableAttributes.m_lights[light-GL_LIGHT0]
06312           , glContext()->m_previousAttributes.m_lights[light-GL_LIGHT0] );
06313 }
06314
06316
06318 inline  void  GLEnableLighting( void )
06319 {
06320   GLContext * ctx = glContext();
06321 #if defined( GL_CACHING )
06322 # if defined(GL_SUPPORT_RESET)
06323   ctx->m_previousAttributes.m_lighting = ctx->m_lightingEnableAttributes.m_lighting;
06324 # endif
06325   if ( ! ctx->m_lightingEnableAttributes.m_lighting )
06326 #endif
06327   {
06328     if ( ! ctx->m_locks.m_lighting )
06329     {
06330 #if defined( GL_CACHING )
06331       NVSG_ASSERT( ! glIsEnabled( GL_LIGHTING ) );
06332 #endif
06333       _GLEnable( GL_LIGHTING );
06334 #if defined( GL_CACHING )
06335       ctx->m_lightingEnableAttributes.m_lighting = GL_TRUE;
06336 #endif
06337     }
06338   }
06339 }
06340
06345 inline void GLResetLighting()
06346 {
06347   GL_RESET( GL_LIGHTING, &glContext()->m_lightingEnableAttributes.m_lighting
06348           , glContext()->m_previousAttributes.m_lighting );
06349 }
06350
06352
06354 inline  void  GLEnableLineSmooth( void )
06355 {
06356   GL_ENABLE( GL_LINE_SMOOTH, &glContext()->m_lineEnableAttributes.m_smooth
06357            , &glContext()->m_previousAttributes.m_lineSmooth );
06358 }
06359
06364 inline void GLResetLineSmooth()
06365 {
06366   GL_RESET( GL_LINE_SMOOTH, &glContext()->m_lineEnableAttributes.m_smooth
06367           , glContext()->m_previousAttributes.m_lineSmooth );
06368 }
06369
06371
06373 inline  void  GLEnableLineStipple( void )
06374 {
06375   GL_ENABLE( GL_LINE_STIPPLE, &glContext()->m_lineEnableAttributes.m_stipple
06376            , &glContext()->m_previousAttributes.m_lineStipple );
06377 }
06378
06383 inline void GLResetLineStipple()
06384 {
06385   GL_RESET( GL_LINE_STIPPLE, &glContext()->m_lineEnableAttributes.m_stipple
06386           , glContext()->m_previousAttributes.m_lineStipple );
06387 }
06388
06390
06392 inline  void  GLEnableLogicOp( void )
06393 {
06394   GL_ENABLE( GL_LOGIC_OP, &glContext()->m_colorBufferEnableAttributes.m_logicOp
06395            , &glContext()->m_previousAttributes.m_logicOp );
06396 }
06397
06402 inline void GLResetLogicOp()
06403 {
06404   GL_RESET( GL_LOGIC_OP, &glContext()->m_colorBufferEnableAttributes.m_logicOp
06405           , glContext()->m_previousAttributes.m_logicOp );
06406 }
06407
06409
06411 inline  void  GLEnableNormalize( void )
06412 {
06413   GL_ENABLE( GL_NORMALIZE, &glContext()->m_transformEnableAttributes.m_normalize
06414            , &glContext()->m_previousAttributes.m_normalize );
06415 }
06416
06418
06420 inline  void  GLEnableRescaleNormal( void )
06421 {
06422   GL_ENABLE( GL_RESCALE_NORMAL, &glContext()->m_transformEnableAttributes.m_rescaleNormal
06423            , &glContext()->m_previousAttributes.m_rescaleNormal );
06424 }
06425
06430 inline void GLResetNormalize()
06431 {
06432   GL_RESET( GL_NORMALIZE, &glContext()->m_transformEnableAttributes.m_normalize
06433           , glContext()->m_previousAttributes.m_normalize );
06434 }
06435
06440 inline void GLResetRescaleNormal()
06441 {
06442   GL_RESET( GL_RESCALE_NORMAL, &glContext()->m_transformEnableAttributes.m_rescaleNormal
06443           , glContext()->m_previousAttributes.m_rescaleNormal );
06444 }
06445
06447
06449 inline  void  GLEnablePointSmooth( void )
06450 {
06451   GL_ENABLE( GL_POINT_SMOOTH, &glContext()->m_pointEnableAttributes.m_smooth
06452            , &glContext()->m_previousAttributes.m_pointSmooth );
06453 }
06454
06459 inline void GLResetPointSmooth()
06460 {
06461   GL_RESET( GL_POINT_SMOOTH, &glContext()->m_pointEnableAttributes.m_smooth
06462           , glContext()->m_previousAttributes.m_pointSmooth );
06463 }
06464
06466
06468 inline  void  GLEnablePolygonOffsetFill( void )
06469 {
06470   GL_ENABLE( GL_POLYGON_OFFSET_FILL, &glContext()->m_polygonEnableAttributes.m_offsetFill
06471            , &glContext()->m_previousAttributes.m_offsetFill );
06472 }
06473
06478 inline void GLResetPolygonOffsetFill()
06479 {
06480   GL_RESET( GL_POLYGON_OFFSET_FILL, &glContext()->m_polygonEnableAttributes.m_offsetFill
06481           , glContext()->m_previousAttributes.m_offsetFill );
06482 }
06483
06485
06487 inline  void  GLEnablePolygonOffsetLine( void )
06488 {
06489   GL_ENABLE( GL_POLYGON_OFFSET_LINE, &glContext()->m_polygonEnableAttributes.m_offsetLine
06490            , &glContext()->m_previousAttributes.m_offsetLine );
06491 }
06492
06497 inline void GLResetPolygonOffsetLine()
06498 {
06499   GL_RESET( GL_POLYGON_OFFSET_LINE, &glContext()->m_polygonEnableAttributes.m_offsetLine
06500           , glContext()->m_previousAttributes.m_offsetLine );
06501 }
06502
06504
06506 inline  void  GLEnablePolygonOffsetPoint( void )
06507 {
06508   GL_ENABLE( GL_POLYGON_OFFSET_POINT, &glContext()->m_polygonEnableAttributes.m_offsetPoint
06509            , &glContext()->m_previousAttributes.m_offsetPoint );
06510 }
06511
06516 inline void GLResetPolygonOffsetPoint()
06517 {
06518   GL_RESET( GL_POLYGON_OFFSET_POINT, &glContext()->m_polygonEnableAttributes.m_offsetPoint
06519           , glContext()->m_previousAttributes.m_offsetPoint );
06520 }
06521
06523
06525 inline  void  GLEnablePolygonSmooth( void )
06526 {
06527   GL_ENABLE( GL_POLYGON_SMOOTH, &glContext()->m_polygonEnableAttributes.m_smooth
06528            , &glContext()->m_previousAttributes.m_polygonSmooth );
06529 }
06530
06535 inline  void  GLResetPolygonSmooth()
06536 {
06537   GL_RESET( GL_POLYGON_SMOOTH, &glContext()->m_polygonEnableAttributes.m_smooth
06538           , glContext()->m_previousAttributes.m_polygonSmooth );
06539 }
06540
06542
06544 inline  void  GLEnablePolygonStipple( void )
06545 {
06546   GL_ENABLE( GL_POLYGON_STIPPLE, &glContext()->m_polygonEnableAttributes.m_stipple
06547            , &glContext()->m_previousAttributes.m_polygonStipple );
06548 }
06549
06554 inline  void  GLResetPolygonStipple()
06555 {
06556   GL_RESET( GL_POLYGON_STIPPLE, &glContext()->m_polygonEnableAttributes.m_stipple
06557           , glContext()->m_previousAttributes.m_polygonStipple );
06558 }
06559
06561
06563 inline  void  GLEnableScissorTest( void )
06564 {
06565   GL_ENABLE( GL_SCISSOR_TEST, &glContext()->m_scissorEnableAttributes.m_scissorTest
06566            , &glContext()->m_previousAttributes.m_scissorTest );
06567 }
06568
06573 inline  void  GLResetScissorTest()
06574 {
06575   GL_RESET( GL_SCISSOR_TEST, &glContext()->m_scissorEnableAttributes.m_scissorTest
06576           , glContext()->m_previousAttributes.m_scissorTest );
06577 }
06578
06580
06582 inline  void  GLEnableStencilTest( void )
06583 {
06584   GL_ENABLE( GL_STENCIL_TEST, &glContext()->m_stencilBufferEnableAttributes.m_stencilTest
06585            , &glContext()->m_previousAttributes.m_stencilTest );
06586 }
06587
06592 inline  void  GLResetStencilTest()
06593 {
06594   GL_RESET( GL_STENCIL_TEST, &glContext()->m_stencilBufferEnableAttributes.m_stencilTest
06595           , glContext()->m_previousAttributes.m_stencilTest );
06596 }
06597
06600
06602 inline void GLEnableTexture( GLenum target )
06603 {
06604 #if defined( GL_CACHING )
06605   GLContext * ctx = glContext();
06606 # if defined(GL_SUPPORT_RESET)
06607   ctx->m_previousAttributes.m_textureEnables[ctx->m_textureAttributes.m_toActivate].m_texture[target] =
06608         ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_toActivate].m_texture[target];
06609 # endif
06610   NVSG_ASSERT(   ( target == GL_TEXTURE_1D ) || ( target == GL_TEXTURE_2D ) || ( target == GL_TEXTURE_3D )
06611              ||  ( target == GL_TEXTURE_CUBE_MAP ) || ( target == GL_TEXTURE_RECTANGLE_NV )
06612              ||  ( target == GL_TEXTURE_2D_ARRAY_EXT ) || ( target == GL_TEXTURE_1D_ARRAY_EXT ) );
06613   if ( !ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_toActivate].m_texture[target] )
06614   {
06615     _GLUpdateActiveTexture();
06616
06617     // Texture ARRAY targets are not supported by the fixed function pipeline,
06618     // and therefore can not be 'ENABLED' in the Gl sense of the term, as it will
06619     // produce an error.
06620     if( target != GL_TEXTURE_2D_ARRAY_EXT && target != GL_TEXTURE_1D_ARRAY_EXT )
06621     {
06622       NVSG_ASSERT( ! glIsEnabled( target ) );
06623     }
06624 #endif
06625     if( target != GL_TEXTURE_2D_ARRAY_EXT && target != GL_TEXTURE_1D_ARRAY_EXT )
06626     {
06627       _GLEnable( target );
06628     }
06629 #if defined( GL_CACHING )
06630     ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_active].m_texture[target] = GL_TRUE;
06631   }
06632 #endif
06633 }
06634
06640 inline void GLResetTexture( GLenum target )
06641 {
06642 #if defined(GL_SUPPORT_RESET)
06643   GLContext * ctx = glContext();
06644   if( ctx->m_previousAttributes.m_textureEnables[ctx->m_textureAttributes.m_toActivate].m_texture[target] )
06645   {
06646     GLEnableTexture( target );
06647   }
06648   else
06649   {
06650     GLDisableTexture( target );
06651   }
06652 #else
06653   GLDisableTexture( target );
06654 #endif
06655 }
06656
06658
06660 inline void GLEnableTextureGen( GLenum target )
06661 {
06662 #if defined( GL_CACHING )
06663   GLContext * ctx = glContext();
06664   NVSG_ASSERT(    ( target == GL_TEXTURE_GEN_S )
06665               ||  ( target == GL_TEXTURE_GEN_T )
06666               ||  ( target == GL_TEXTURE_GEN_R )
06667               ||  ( target == GL_TEXTURE_GEN_Q ) );
06668   if ( ! ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_toActivate].m_gen[target-GL_TEXTURE_GEN_S] )
06669   {
06670     _GLUpdateActiveTexture();
06671     NVSG_ASSERT( ! glIsEnabled( target ) );
06672 #endif
06673     _GLEnable( target );
06674 #if defined( GL_CACHING )
06675     ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_active].m_gen[target-GL_TEXTURE_GEN_S] = GL_TRUE;
06676   }
06677 #endif
06678 }
06679
06681
06682 inline  void  GLEnable( GLenum cap )
06683 {
06684 #if defined( GL_CACHING )
06685   switch( cap )
06686   {
06687     case GL_ALPHA_TEST :
06688       GLEnableAlphaTest();
06689       break;
06690     case GL_AUTO_NORMAL :
06691       GLEnableAutoNormal();
06692       break;
06693     case GL_BLEND :
06694       GLEnableBlend();
06695       break;
06696     case GL_CLIP_PLANE0 :
06697     case GL_CLIP_PLANE1 :
06698     case GL_CLIP_PLANE2 :
06699     case GL_CLIP_PLANE3 :
06700     case GL_CLIP_PLANE4 :
06701     case GL_CLIP_PLANE5 :
06702       GLEnableClipPlane( cap );
06703       break;
06704     case GL_COLOR_LOGIC_OP :
06705       GLEnableColorLogicOp();
06706       break;
06707     case GL_COLOR_MATERIAL :
06708       GLEnableColorMaterial();
06709       break;
06710     case GL_CULL_FACE :
06711       GLEnableCullFace();
06712       break;
06713     case GL_DEPTH_TEST :
06714       GLEnableDepthTest();
06715       break;
06716     case GL_DITHER :
06717       GLEnableDither();
06718       break;
06719     case GL_FOG :
06720       GLEnableFog();
06721       break;
06722     case GL_LIGHT0 :
06723     case GL_LIGHT1 :
06724     case GL_LIGHT2 :
06725     case GL_LIGHT3 :
06726     case GL_LIGHT4 :
06727     case GL_LIGHT5 :
06728     case GL_LIGHT6 :
06729     case GL_LIGHT7 :
06730       GLEnableLight( cap );
06731       break;
06732     case GL_LIGHTING :
06733       GLEnableLighting();
06734       break;
06735     case GL_LINE_SMOOTH :
06736       GLEnableLineSmooth();
06737       break;
06738     case GL_LINE_STIPPLE :
06739       GLEnableLineStipple();
06740       break;
06741     case GL_LOGIC_OP :
06742       GLEnableLogicOp();
06743       break;
06744     case GL_NORMALIZE :
06745       GLEnableNormalize();
06746       break;
06747     case GL_RESCALE_NORMAL :
06748       GLEnableRescaleNormal();
06749       break;
06750     case GL_POINT_SMOOTH :
06751       GLEnablePointSmooth();
06752       break;
06753     case GL_POLYGON_OFFSET_FILL :
06754       GLEnablePolygonOffsetFill();
06755       break;
06756     case GL_POLYGON_OFFSET_LINE :
06757       GLEnablePolygonOffsetLine();
06758       break;
06759     case GL_POLYGON_OFFSET_POINT :
06760       GLEnablePolygonOffsetPoint();
06761       break;
06762     case GL_POLYGON_SMOOTH :
06763       GLEnablePolygonSmooth();
06764       break;
06765     case GL_POLYGON_STIPPLE :
06766       GLEnablePolygonStipple();
06767       break;
06768     case GL_SCISSOR_TEST :
06769       GLEnableScissorTest();
06770       break;
06771     case GL_STENCIL_TEST :
06772       GLEnableStencilTest();
06773       break;
06774     case GL_TEXTURE_1D :
06775     case GL_TEXTURE_2D :
06776     case GL_TEXTURE_3D :
06777     case GL_TEXTURE_CUBE_MAP :
06778     case GL_TEXTURE_RECTANGLE_NV :
06779     case GL_TEXTURE_2D_ARRAY_EXT:
06780     case GL_TEXTURE_1D_ARRAY_EXT:
06781       GLEnableTexture( cap );
06782       break;
06783     case GL_TEXTURE_GEN_S :
06784     case GL_TEXTURE_GEN_T :
06785     case GL_TEXTURE_GEN_R :
06786     case GL_TEXTURE_GEN_Q :
06787       GLEnableTextureGen( cap );
06788       break;
06789     default :
06790       _GLEnable( cap );
06791       break;
06792   }
06793 #else
06794   switch( cap )
06795   {
06796     case GL_CULL_FACE :
06797       GLEnableCullFace();
06798       break;
06799     default :
06800       _GLEnable( cap );
06801       break;
06802   }
06803 #endif
06804 }
06805
06806 #if !defined(DOXYGEN_IGNORE)
06807 #if defined( GL_CACHING )
06808 inline void _GLEnableClientStateCached( GLenum cap, GLboolean * cache )
06809 {
06810   if ( !*cache )
06811   {
06812     NVSG_ASSERT( !glIsEnabled( cap ) );
06813     _GLEnableClientState( cap );
06814     *cache = GL_TRUE;
06815   }
06816 }
06817 #define GL_ENABLE_CLIENT_STATE( cap, cache )  _GLEnableClientStateCached( cap, cache )
06818 #else
06819 #define GL_ENABLE_CLIENT_STATE( cap, cache )  _GLEnableClientState( cap );
06820 #endif
06821 #endif // DOXYGEN_IGNORE
06822
06824
06826 inline  void  GLEnableColorArray( void )
06827 {
06828   GL_ENABLE_CLIENT_STATE( GL_COLOR_ARRAY, &glContext()->m_vertexArrayAttributes.m_colorArray );
06829 }
06830
06832
06834 inline  void  GLEnableFogCoordinateArray( void )
06835 {
06836   GL_ENABLE_CLIENT_STATE( GL_FOG_COORDINATE_ARRAY, &glContext()->m_vertexArrayAttributes.m_fogCoordArray );
06837 }
06838
06840
06842 inline  void  GLEnableNormalArray( void )
06843 {
06844   GL_ENABLE_CLIENT_STATE( GL_NORMAL_ARRAY, &glContext()->m_vertexArrayAttributes.m_normalArray );
06845 }
06846
06848
06850 inline  void  GLEnableSecondaryColorArray( void )
06851 {
06852   GL_ENABLE_CLIENT_STATE( GL_SECONDARY_COLOR_ARRAY, &glContext()->m_vertexArrayAttributes.m_secondaryColorArray );
06853 }
06854
06856
06858 inline  void  GLEnableTextureCoordArray( void )
06859 {
06860 #if defined( GL_CACHING )
06861   GLContext * ctx = glContext();
06862   if ( ! ctx->m_vertexArrayAttributes.m_textureCoordArray[ctx->m_vertexArrayAttributes.m_clientTextureToActivate] )
06863   {
06864     _GLUpdateClientActiveTexture();
06865     NVSG_ASSERT( ! glIsEnabled( GL_TEXTURE_COORD_ARRAY ) );
06866 #endif
06867     _GLEnableClientState( GL_TEXTURE_COORD_ARRAY );
06868 #if defined( GL_CACHING )
06869     ctx->m_vertexArrayAttributes.m_textureCoordArray[ctx->m_vertexArrayAttributes.m_clientTextureActive] = GL_TRUE;
06870   }
06871 #endif
06872 }
06873
06875
06877 inline  void  GLEnableVertexArray( void )
06878 {
06879   GL_ENABLE_CLIENT_STATE( GL_VERTEX_ARRAY, &glContext()->m_vertexArrayAttributes.m_vertexArray );
06880 }
06881
06883
06885 inline void GLEnablePrimitiveRestart()
06886 {
06887   GL_ENABLE_CLIENT_STATE( GL_PRIMITIVE_RESTART_NV, &glContext()->m_vertexArrayAttributes.m_primitiveRestart );
06888 }
06889
06890 inline void GLEnableVertexAttribArrayUnified()
06891 {
06892   GL_ENABLE_CLIENT_STATE( GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV, &glContext()->m_vertexArrayAttributes.m_vertexAttribArrayUnified );
06893 }
06894
06895 inline void GLDisableVertexAttribArrayUnified()
06896 {
06897   GL_DISABLE_CLIENT_STATE( GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV, &glContext()->m_vertexArrayAttributes.m_vertexAttribArrayUnified );
06898 }
06899
06900 inline void GLEnableElementArrayUnified()
06901 {
06902   GL_ENABLE_CLIENT_STATE( GL_ELEMENT_ARRAY_UNIFIED_NV, &glContext()->m_vertexArrayAttributes.m_elementArrayUnified );
06903 }
06904
06905 inline void GLDisableElementArrayUnified()
06906 {
06907   GL_DISABLE_CLIENT_STATE( GL_ELEMENT_ARRAY_UNIFIED_NV, &glContext()->m_vertexArrayAttributes.m_elementArrayUnified );
06908 }
06909
06911
06912 inline  void  GLEnableClientState( GLenum array )
06913 {
06914 #if defined( GL_CACHING )
06915   switch( array )
06916   {
06917     case GL_COLOR_ARRAY :
06918       GLEnableColorArray();
06919       break;
06920     case GL_FOG_COORDINATE_ARRAY :
06921       GLEnableFogCoordinateArray();
06922       break;
06923     case GL_NORMAL_ARRAY :
06924       GLEnableNormalArray();
06925       break;
06926     case GL_SECONDARY_COLOR_ARRAY :
06927       GLEnableSecondaryColorArray();
06928       break;
06929     case GL_TEXTURE_COORD_ARRAY :
06930       GLEnableTextureCoordArray();
06931       break;
06932     case GL_VERTEX_ARRAY :
06933       GLEnableVertexArray();
06934       break;
06935     case GL_PRIMITIVE_RESTART_NV :
06936       GLEnablePrimitiveRestart();
06937       break;
06938     default :
06939       _GLEnableClientState( array );
06940       break;
06941   }
06942 #else
06943   _GLEnableClientState( array );
06944 #endif
06945 }
06946
06948 inline void GLEnableVertexAttribArray( GLuint index )
06949 {
06950   NVSG_GL_STATS_FCT_COUNT();
06951   NVSG_ASSERT( glContext()->m_glFunctions );
06952   GLContext * ctx = glContext();
06953 #if defined(GL_CACHING)
06954   NVSG_ASSERT(index<(GLuint)ctx->m_maxVertexAttribs);
06955   if ( ctx->m_vertexArrayAttributes.m_vertexAttribArray[index] != GL_TRUE )
06956 #endif
06957   {
06958     ctx->m_glFunctions->glEnableVertexAttribArray(index);
06959 #if defined(GL_CACHING)
06960     ctx->m_vertexArrayAttributes.m_vertexAttribArray[index] = GL_TRUE;
06961 #endif
06962     ASSERT_GL_NO_ERROR;
06963   }
06964 }
06965
06967
06968 inline  void  GLEnd( void )
06969 {
06970   NVSG_GL_STATS_FCT_COUNT();
06971   glEnd();
06972 #if !defined(NDEBUG)
06973   glContext()->m_inBeginEndLoop = false;
06974 #endif
06975   ASSERT_GL_NO_ERROR;
06976 }
06977
06979
06980 inline  void  GLEndList( void )
06981 {
06982   NVSG_GL_STATS_END_LIST();
06983   glEndList();
06984   // NOTE: no assertion on GL_NO_ERROR here, because on glEndList the GL_OUT_OF_MEMORY is to be tested!
06985 }
06986
06988 inline  void  GLEndConditionalRenderNV()
06989 {
06990   NVSG_GL_STATS_FCT_COUNT();
06991   NVSG_ASSERT( glContext()->m_glFunctions );
06992   glContext()->m_glFunctions->glEndConditionalRenderNV();
06993   ASSERT_GL_NO_ERROR;
06994 }
06995
06997
06998 inline  void  GLEndQuery( GLenum target )
06999 {
07000   NVSG_GL_STATS_FCT_COUNT();
07001   NVSG_ASSERT( glContext()->m_glFunctions );
07002   glContext()->m_glFunctions->glEndQuery( target );
07003   ASSERT_GL_NO_ERROR;
07004 }
07005
07007
07008 inline  void  GLEndTransformFeedbackNV()
07009 {
07010   NVSG_GL_STATS_FCT_COUNT();
07011   NVSG_ASSERT( glContext()->m_glFunctions );
07012   glContext()->m_glFunctions->glEndTransformFeedbackNV();
07013   ASSERT_GL_NO_ERROR;
07014 }
07015
07017
07018 inline  void  GLEndTransformFeedback()
07019 {
07020   NVSG_GL_STATS_FCT_COUNT();
07021   NVSG_ASSERT( glContext()->m_glFunctions );
07022   glContext()->m_glFunctions->glEndTransformFeedback();
07023   ASSERT_GL_NO_ERROR;
07024 }
07025
07027
07028 inline  void  GLEvalCoord1d( GLdouble u )
07029 {
07030   NVSG_GL_STATS_FCT_COUNT();
07031   glEvalCoord1d( u );
07032   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07033 }
07034
07036
07037 inline  void  GLEvalCoord1f( GLfloat u )
07038 {
07039   NVSG_GL_STATS_FCT_COUNT();
07040   glEvalCoord1f( u );
07041   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07042 }
07043
07045
07046 inline  void  GLEvalCoord2d( GLdouble u, GLdouble v )
07047 {
07048   NVSG_GL_STATS_FCT_COUNT();
07049   glEvalCoord2d( u, v );
07050   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07051 }
07052
07054
07055 inline  void  GLEvalCoord2f( GLfloat u, GLfloat v )
07056 {
07057   NVSG_GL_STATS_FCT_COUNT();
07058   glEvalCoord2f( u, v );
07059   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07060 }
07061
07063
07064 inline  void  GLEvalMesh1( GLenum mode, GLint i1, GLint i2 )
07065 {
07066   NVSG_GL_STATS_FCT_COUNT();
07067   glEvalMesh1( mode, i1, i2 );
07068   ASSERT_GL_NO_ERROR;
07069 }
07070
07072
07073 inline  void  GLEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 )
07074 {
07075   NVSG_GL_STATS_FCT_COUNT();
07076   glEvalMesh2( mode, i1, i2, j1, j2 );
07077   ASSERT_GL_NO_ERROR;
07078 }
07079
07081
07082 inline  void  GLEvalPoint1( GLint i )
07083 {
07084   NVSG_GL_STATS_FCT_COUNT();
07085   glEvalPoint1( i );
07086   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07087 }
07088
07090
07091 inline  void  GLEvalPoint2( GLint i, GLint j )
07092 {
07093   NVSG_GL_STATS_FCT_COUNT();
07094   glEvalPoint2( i, j );
07095   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07096 }
07097
07099
07100 inline  void  GLExecuteProgram( GLenum target, GLuint id, const GLfloat *params )
07101 {
07102   NVSG_GL_STATS_FCT_COUNT();
07103   NVSG_ASSERT( glContext()->m_glFunctions );
07104   glContext()->m_glFunctions->glExecuteProgramNV( target, id, params );
07105   ASSERT_GL_NO_ERROR;
07106 }
07107
07109
07110 inline  void  GLFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer )
07111 {
07112   NVSG_GL_STATS_FCT_COUNT();
07113   glFeedbackBuffer( size, type, buffer );
07114   ASSERT_GL_NO_ERROR;
07115 }
07116
07118
07119 inline  void  GLFinalCombinerInput( GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage )
07120 {
07121   NVSG_GL_STATS_FCT_COUNT();
07122   NVSG_ASSERT( glContext()->m_glFunctions );
07123   glContext()->m_glFunctions->glFinalCombinerInput( variable, input, mapping, componentUsage );
07124   ASSERT_GL_NO_ERROR;
07125 }
07126
07128
07129 inline  void  GLFinish( void )
07130 {
07131   NVSG_GL_STATS_FCT_COUNT();
07132   glFinish();
07133   ASSERT_GL_NO_ERROR;
07134 }
07135
07137 inline  void  GLFinishFence( GLuint fence )
07138 {
07139   NVSG_GL_STATS_FCT_COUNT();
07140   NVSG_ASSERT( glContext()->m_glFunctions );
07141   glContext()->m_glFunctions->glFinishFence( fence );
07142   ASSERT_GL_NO_ERROR;
07143 }
07144
07146
07147 inline  void  GLFlush( void )
07148 {
07149   NVSG_GL_STATS_FCT_COUNT();
07150   glFlush();
07151   ASSERT_GL_NO_ERROR;
07152 }
07153
07155
07156 inline  void  GLFlushPixelDataRange( GLenum target )
07157 {
07158   NVSG_GL_STATS_FCT_COUNT();
07159   NVSG_ASSERT( glContext()->m_glFunctions );
07160   glContext()->m_glFunctions->glFlushPixelDataRange( target );
07161   ASSERT_GL_NO_ERROR;
07162 }
07163
07165
07166 inline  void  GLFlushVertexArrayRange()
07167 {
07168   NVSG_GL_STATS_FCT_COUNT();
07169   NVSG_ASSERT( glContext()->m_glFunctions );
07170   glContext()->m_glFunctions->glFlushVertexArrayRange();
07171   ASSERT_GL_NO_ERROR;
07172 }
07173
07174 #if !defined(DOXYGEN_IGNORE)
07175 #if defined( GL_CACHING )
07176 inline void _GLFogfCached( GLenum pname, GLfloat param, GLfloat * cache )
07177 {
07178   if ( param != *cache )
07179   {
07180     _GLFogf( pname, param );
07181     *cache = param;
07182   }
07183 }
07184 inline void _GLFogfvCached( GLenum pname, const GLfloat * params, GLfloat * cache )
07185 {
07186   if ( !equal4fv( params, cache ) )
07187   {
07188     _GLFogfv( pname, params );
07189     memcpy( cache, params, 4*sizeof(GLfloat) );
07190   }
07191 }
07192 inline void _GLFogiCached( GLenum pname, GLint param, GLint * cache )
07193 {
07194   if ( param != *cache )
07195   {
07196     _GLFogi( pname, param );
07197     *cache = param;
07198   }
07199 }
07200 # if defined(GL_SUPPORT_RESET)
07201 inline void _GLFogfCached( GLenum pname, GLfloat param, GLfloat * cache, GLfloat * prev )
07202 {
07203   *prev = *cache;
07204   _GLFogfCached( pname, param, cache );
07205 }
07206 inline void _GLFogfvCached( GLenum pname, const GLfloat * params, GLfloat * cache, GLfloat * prev )
07207 {
07208   memcpy( prev, cache, 4*sizeof(GLfloat) );
07209   _GLFogfvCached( pname, params, cache );
07210 }
07211 inline void _GLFogiCached( GLenum pname, GLint param, GLint * cache, GLint * prev )
07212 {
07213   *prev = *cache;
07214   _GLFogiCached( pname, param, cache );
07215 }
07216 #  define GL_FOG_F( pname, param, cache, prev )   _GLFogfCached( pname, param, cache )
07217 #  define GL_FOG_FV( pname, params, cache, prev ) _GLFogfvCached( pname, params, cache )
07218 #  define GL_FOG_I( pname, param, cache, prev )   _GLFogiCached( pname, param, cache )
07219 # else
07220 #  define GL_FOG_F( pname, param, cache, prev )   _GLFogfCached( pname, param, cache )
07221 #  define GL_FOG_FV( pname, params, cache, prev ) _GLFogfvCached( pname, params, cache )
07222 #  define GL_FOG_I( pname, param, cache, prev )   _GLFogiCached( pname, param, cache )
07223 # endif
07224 #else
07225 # define GL_FOG_F( pname, param, cache, prev )    _GLFogf( pname, param )
07226 # define GL_FOG_FV( pname, params, cache, prev )  _GLFogfv( pname, params )
07227 # define GL_FOG_I( pname, param, cache, prev )    _GLFogi( pname, param )
07228 #endif
07229 #endif // DOXYGEN_IGNORE
07230
07232
07234 inline  void  GLFogColor( const GLfloat * color )
07235 {
07236   GL_FOG_FV( GL_FOG_COLOR, color, &glContext()->m_fogAttributes.m_color[0]
07237            , &glContext()->m_previousAttributes.m_fogColor[0] );
07238 }
07239
07244 inline void GLResetFogColor()
07245 {
07246 #if defined(GL_SUPPORT_RESET)
07247   GLFogColor( &glContext()->m_previousAttributes.m_fogColor[0] );
07248 #else
07249   static nvmath::Vec4f fc(0.0f,0.0f,0.0f,0.0f);
07250   GLFogColor( &fc[0] );
07251 #endif
07252 }
07253
07255
07256 inline  void  GLFogCoordd( GLdouble fog )
07257 {
07258   NVSG_GL_STATS_FCT_COUNT();
07259   NVSG_ASSERT( glContext()->m_glFunctions );
07260   glContext()->m_glFunctions->glFogCoordd( fog );
07261   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07262 }
07263
07265
07266 inline  void  GLFogCoorddv( const GLdouble *fog )
07267 {
07268   NVSG_GL_STATS_FCT_COUNT();
07269   NVSG_ASSERT( glContext()->m_glFunctions );
07270   glContext()->m_glFunctions->glFogCoorddv( fog );
07271   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07272 }
07273
07275
07276 inline  void  GLFogCoordf( GLfloat fog )
07277 {
07278   NVSG_GL_STATS_FCT_COUNT();
07279   NVSG_ASSERT( glContext()->m_glFunctions );
07280   glContext()->m_glFunctions->glFogCoordf( fog );
07281   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07282 }
07283
07285
07286 inline  void  GLFogCoordfv( const GLfloat *fog )
07287 {
07288   NVSG_GL_STATS_FCT_COUNT();
07289   NVSG_ASSERT( glContext()->m_glFunctions );
07290   glContext()->m_glFunctions->glFogCoordfv( fog );
07291   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07292 }
07293
07295
07296 inline  void  GLFogCoordh( GLhalf fog )
07297 {
07298   NVSG_GL_STATS_FCT_COUNT();
07299   NVSG_ASSERT( glContext()->m_glFunctions );
07300   glContext()->m_glFunctions->glFogCoordh( fog );
07301   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07302 }
07303
07305
07306 inline  void  GLFogCoordhv( const GLhalf *fog )
07307 {
07308   NVSG_GL_STATS_FCT_COUNT();
07309   NVSG_ASSERT( glContext()->m_glFunctions );
07310   glContext()->m_glFunctions->glFogCoordhv( fog );
07311   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
07312 }
07313
07315
07316 inline  void  GLFogCoordPointer( GLenum type, GLsizei stride, const GLvoid *pointer )
07317 {
07318   NVSG_GL_STATS_FCT_COUNT();
07319   glContext()->m_glFunctions->glFogCoordPointer( type, stride, pointer );
07320   ASSERT_GL_NO_ERROR;
07321 }
07322
07324
07326 inline  void  GLFogDensity( GLfloat density )
07327 {
07328   GL_FOG_F( GL_FOG_DENSITY, density, &glContext()->m_fogAttributes.m_density
07329           , &glContext()->m_previousAttributes.m_fogDensity );
07330 }
07331
07336 inline void GLResetFogDensity()
07337 {
07338 #if defined(GL_SUPPORT_RESET)
07339   GLFogDensity( glContext()->m_previousAttributes.m_fogDensity );
07340 #else
07341   GLFogDensity( 1.0f );
07342 #endif
07343 }
07344
07346
07348 inline  void  GLFogEnd( GLfloat end )
07349 {
07350   GL_FOG_F( GL_FOG_END, end, &glContext()->m_fogAttributes.m_end
07351           , &glContext()->m_previousAttributes.m_fogEnd );
07352 }
07353
07358 inline void GLResetFogEnd()
07359 {
07360 #if defined(GL_SUPPORT_RESET)
07361   GLFogEnd( glContext()->m_previousAttributes.m_fogEnd );
07362 #else
07363   GLFogEnd( 1.0f );
07364 #endif
07365 }
07366
07368
07369 inline  void  GLFogf( GLenum pname, GLfloat param )
07370 {
07371 #if defined( GL_CACHING )
07372   switch( pname )
07373   {
07374     case GL_FOG_DENSITY :
07375       GLFogDensity( param );
07376       break;
07377     case GL_FOG_END :
07378       GLFogEnd( param );
07379       break;
07380     case GL_FOG_MODE :
07381       GLFogMode( (GLenum)param );
07382       break;
07383     case GL_FOG_START :
07384       GLFogStart( param );
07385       break;
07386     default :
07387       _GLFogf( pname, param );
07388       break;
07389   }
07390 #else
07391   _GLFogf( pname, param );
07392 #endif
07393 }
07394
07396
07397 inline  void  GLFogfv( GLenum pname, const GLfloat *params )
07398 {
07399 #if defined( GL_CACHING )
07400   switch( pname )
07401   {
07402     case GL_FOG_COLOR :
07403       GLFogColor( params );
07404       break;
07405     case GL_FOG_DENSITY :
07406       GLFogDensity( *params );
07407       break;
07408     case GL_FOG_END :
07409       GLFogEnd( *params );
07410       break;
07411     case GL_FOG_MODE :
07412       GLFogMode( (GLenum)*params );
07413       break;
07414     case GL_FOG_START :
07415       GLFogStart( *params );
07416       break;
07417     default :
07418       _GLFogfv( pname, params );
07419       break;
07420   }
07421 #else
07422   _GLFogfv( pname, params );
07423 #endif
07424 }
07425
07427
07428 inline  void  GLFogi( GLenum pname, GLint param )
07429 {
07430 #if defined( GL_CACHING )
07431   switch( pname )
07432   {
07433     case GL_FOG_DENSITY :
07434       GLFogDensity( (GLfloat)param );
07435       break;
07436     case GL_FOG_END :
07437       GLFogEnd( (GLfloat)param );
07438       break;
07439     case GL_FOG_MODE :
07440       GLFogMode( param );
07441       break;
07442     case GL_FOG_START :
07443       GLFogStart( (GLfloat)param );
07444       break;
07445     default :
07446       _GLFogi( pname, param );
07447       break;
07448   }
07449 #else
07450   _GLFogi( pname, param );
07451 #endif
07452 }
07453
07455
07456 inline  void  GLFogiv( GLenum pname, const GLint *params )
07457 {
07458 #if defined( GL_CACHING )
07459   switch( pname )
07460   {
07461     case GL_FOG_COLOR :
07462       {
07463         GLfloat fParams[4];
07464         for ( size_t i=0 ; i<4 ; i++ )
07465         {
07466           fParams[i] = (GLfloat)params[i];
07467         }
07468         GLFogColor( fParams );
07469       }
07470       break;
07471     case GL_FOG_DENSITY :
07472       GLFogDensity( (GLfloat)*params );
07473       break;
07474     case GL_FOG_END :
07475       GLFogEnd( (GLfloat)*params );
07476       break;
07477     case GL_FOG_MODE :
07478       GLFogMode( *params );
07479       break;
07480     case GL_FOG_START :
07481       GLFogStart( (GLfloat)*params );
07482       break;
07483     default :
07484       _GLFogiv( pname, params );
07485       break;
07486   }
07487 #else
07488   _GLFogiv( pname, params );
07489 #endif
07490 }
07491
07493
07495 inline  void  GLFogMode( GLenum mode )
07496 {
07497   GL_FOG_I( GL_FOG_MODE, mode, (GLint*)&glContext()->m_fogAttributes.m_mode
07498           , (GLint*) &glContext()->m_previousAttributes.m_fogMode );
07499 }
07500
07505 inline void GLResetFogMode()
07506 {
07507 #if defined(GL_SUPPORT_RESET)
07508   GLFogMode( glContext()->m_previousAttributes.m_fogMode );
07509 #else
07510   GLFogMode( GL_EXP );
07511 #endif
07512 }
07513
07515
07517 inline  void  GLFogStart( GLfloat start )
07518 {
07519   GL_FOG_F( GL_FOG_START, start, &glContext()->m_fogAttributes.m_start
07520           , glContext()->m_previousAttributes.m_fogStart );
07521 }
07522
07527 inline void GLResetFogStart()
07528 {
07529 #if defined(GL_SUPPORT_RESET)
07530   GLFogStart( glContext()->m_previousAttributes.m_fogStart );
07531 #else
07532   GLFogStart( 0.0f );
07533 #endif
07534 }
07535
07537
07538 inline  void  GLFramebufferTexture( GLenum target, GLenum attachment, GLuint texture, GLint level )
07539 {
07540   NVSG_GL_STATS_FCT_COUNT();
07541   NVSG_ASSERT( glContext()->m_glFunctions );
07542   glContext()->m_glFunctions->glFramebufferTexture( target, attachment, texture, level );
07543   ASSERT_GL_NO_ERROR;
07544 }
07545
07547
07548 inline  void  GLFramebufferTextureFace( GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face )
07549 {
07550   NVSG_GL_STATS_FCT_COUNT();
07551   NVSG_ASSERT( glContext()->m_glFunctions );
07552   glContext()->m_glFunctions->glFramebufferTextureFace( target, attachment, texture, level, face );
07553   ASSERT_GL_NO_ERROR;
07554 }
07555
07557
07558 inline  void  GLFrontFace( GLenum mode )
07559 {
07560 #if defined(GL_CACHING)
07561   GLContext * ctx = glContext();
07562 # if defined(GL_SUPPORT_RESET)
07563   ctx->m_previousAttributes.m_frontFaceMode = ctx->m_polygonAttributes.m_frontFaceMode;
07564 # endif
07565   if ( mode != ctx->m_polygonAttributes.m_frontFaceMode )
07566 #endif
07567   {
07568     NVSG_GL_STATS_FCT_COUNT();
07569     glFrontFace( mode );
07570     ASSERT_GL_NO_ERROR;
07571 #if defined(GL_CACHING)
07572     ctx->m_polygonAttributes.m_frontFaceMode = mode;
07573 #endif
07574   }
07575 }
07576
07581 inline void GLResetFrontFace()
07582 {
07583 #if defined(GL_SUPPORT_RESET)
07584   GLFrontFace( glContext()->m_previousAttributes.m_frontFaceMode );
07585 #else
07586   GLFrontFace(GL_CCW);
07587 #endif
07588 }
07589
07591
07592 inline  void  GLFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar )
07593 {
07594   NVSG_GL_STATS_FRUSTUM( left, right, bottom, top, zNear, zFar );
07595   glFrustum( left, right, bottom, top, zNear, zFar );
07596   ASSERT_GL_NO_ERROR;
07597 }
07598
07600
07601 inline  GLuint  GLGenLists( GLsizei range )
07602 {
07603   NVSG_GL_STATS_GEN_LISTS( range );
07604   GLuint  firstList = glGenLists( range );
07605   glContext()->addLists(range, firstList);
07606   ASSERT_GL_NO_ERROR;
07607   return( firstList );
07608 }
07609
07611
07612 inline  void  GLGenPrograms( GLsizei n, GLuint *ids )
07613 {
07614   NVSG_GL_STATS_FCT_COUNT();
07615   GLContext * ctx = glContext();
07616   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glGenProgramsARB );
07617   ctx->m_glFunctions->glGenProgramsARB( n, ids );
07618   ctx->addPrograms(n, ids);
07619   ASSERT_GL_NO_ERROR;
07620 }
07621
07623
07624 inline  void  GLGenQueries( GLsizei n, GLuint *ids )
07625 {
07626   NVSG_GL_STATS_FCT_COUNT();
07627   GLContext * ctx = glContext();
07628   NVSG_ASSERT( ctx->m_glFunctions && ctx->m_glFunctions->glGenQueries );
07629   ctx->m_glFunctions->glGenQueries( n, ids );
07630   ctx->addQueries( n, ids );
07631   ASSERT_GL_NO_ERROR;
07632 }
07633
07635
07636 inline  void  GLGenTextures( GLsizei n, GLuint *textures )
07637 {
07638   NVSG_GL_STATS_GEN_TEXTURES( n, textures );
07639   glGenTextures( n, textures );
07640   glContext()->addTextures(n, textures);
07641   ASSERT_GL_NO_ERROR;
07642 }
07643
07645
07646 inline  void  GLGetActiveAttrib( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name )
07647 {
07648   NVSG_GL_STATS_FCT_COUNT();
07649   NVSG_ASSERT( glContext()->m_glFunctions );
07650   glContext()->m_glFunctions->glGetActiveAttrib( program, index, bufSize, length, size, type, name );
07651   ASSERT_GL_NO_ERROR;
07652 }
07653
07655
07656 inline  void  GLGetActiveUniform( GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name )
07657 {
07658   NVSG_GL_STATS_FCT_COUNT();
07659   NVSG_ASSERT( glContext()->m_glFunctions );
07660   glContext()->m_glFunctions->glGetActiveUniform( program, index, maxLength, length, size, type, name );
07661   ASSERT_GL_NO_ERROR;
07662 }
07663
07665
07666 inline  void  GLGetActiveVaryingNV( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name )
07667 {
07668   NVSG_GL_STATS_FCT_COUNT();
07669   NVSG_ASSERT( glContext()->m_glFunctions );
07670   glContext()->m_glFunctions->glGetActiveVaryingNV( program, index, bufSize, length, size, type, name );
07671   ASSERT_GL_NO_ERROR;
07672 }
07673
07675
07676 inline  void  GLGetAttachedObjects( GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj )
07677 {
07678   NVSG_GL_STATS_FCT_COUNT();
07679   NVSG_ASSERT( glContext()->m_glFunctions );
07680   glContext()->m_glFunctions->glGetAttachedObjectsARB( containerObj, maxCount, count, obj );
07681   ASSERT_GL_NO_ERROR;
07682 }
07683
07685
07686 inline  void  GLGetAttachedShaders( GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders )
07687 {
07688   NVSG_GL_STATS_FCT_COUNT();
07689   NVSG_ASSERT( glContext()->m_glFunctions );
07690   glContext()->m_glFunctions->glGetAttachedShaders( program, maxCount, count, shaders );
07691   ASSERT_GL_NO_ERROR;
07692 }
07693
07695
07696 inline  GLint GLGetAttribLocation( GLuint program, const GLchar *name )
07697 {
07698   NVSG_GL_STATS_FCT_COUNT();
07699   NVSG_ASSERT( glContext()->m_glFunctions );
07700   GLint loc = glContext()->m_glFunctions->glGetAttribLocation( program, name );
07701   ASSERT_GL_NO_ERROR;
07702   return( loc );
07703 }
07704
07706
07707 inline  void  GLGetBooleanv( GLenum pname, GLboolean *params )
07708 {
07709   NVSG_GL_STATS_FCT_COUNT();
07710   glGetBooleanv( pname, params );
07711   ASSERT_GL_NO_ERROR;
07712 }
07713
07715
07716 inline  void  GLGetBooleanIndexedv( GLenum target, GLuint index, GLboolean *data )
07717 {
07718   NVSG_GL_STATS_FCT_COUNT();
07719   NVSG_ASSERT( glContext()->m_glFunctions );
07720   glContext()->m_glFunctions->glGetBooleanIndexedv( target, index, data );
07721   ASSERT_GL_NO_ERROR;
07722 }
07723
07725
07726 inline  void  GLGetColorTable( GLenum target, GLenum format, GLenum type, GLvoid *table )
07727 {
07728   NVSG_GL_STATS_FCT_COUNT();
07729   NVSG_ASSERT( glContext()->m_glFunctions );
07730   glContext()->m_glFunctions->glGetColorTable( target, format, type, table );
07731   ASSERT_GL_NO_ERROR;
07732 }
07733
07735
07736 inline void GLGetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params )
07737 {
07738   NVSG_GL_STATS_FCT_COUNT();
07739   NVSG_ASSERT( glContext()->m_glFunctions );
07740   glContext()->m_glFunctions->glGetColorTableParameterfv( target, pname, params );
07741   ASSERT_GL_NO_ERROR;
07742 }
07743
07745
07746 inline void GLGetColorTableParameteriv( GLenum target, GLenum pname, GLint *params )
07747 {
07748   NVSG_GL_STATS_FCT_COUNT();
07749   NVSG_ASSERT( glContext()->m_glFunctions );
07750   glContext()->m_glFunctions->glGetColorTableParameteriv( target, pname, params );
07751   ASSERT_GL_NO_ERROR;
07752 }
07753
07755
07756 inline void GLGetCombinerInputParameterfv( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params )
07757 {
07758   NVSG_GL_STATS_FCT_COUNT();
07759   NVSG_ASSERT( glContext()->m_glFunctions );
07760   glContext()->m_glFunctions->glGetCombinerInputParameterfv( stage, portion, variable, pname, params );
07761   ASSERT_GL_NO_ERROR;
07762 }
07763
07765
07766 inline void GLGetCombinerInputParameteriv( GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params )
07767 {
07768   NVSG_GL_STATS_FCT_COUNT();
07769   NVSG_ASSERT( glContext()->m_glFunctions );
07770   glContext()->m_glFunctions->glGetCombinerInputParameteriv( stage, portion, variable, pname, params );
07771   ASSERT_GL_NO_ERROR;
07772 }
07773
07775
07776 inline void GLGetCombinerOutputParameterfv( GLenum stage, GLenum portion, GLenum pname, GLfloat *params )
07777 {
07778   NVSG_GL_STATS_FCT_COUNT();
07779   NVSG_ASSERT( glContext()->m_glFunctions );
07780   glContext()->m_glFunctions->glGetCombinerOutputParameterfv( stage, portion, pname, params );
07781   ASSERT_GL_NO_ERROR;
07782 }
07783
07785
07786 inline void GLGetCombinerOutputParameteriv( GLenum stage, GLenum portion, GLenum pname, GLint *params )
07787 {
07788   NVSG_GL_STATS_FCT_COUNT();
07789   NVSG_ASSERT( glContext()->m_glFunctions );
07790   glContext()->m_glFunctions->glGetCombinerOutputParameteriv( stage, portion, pname, params );
07791   ASSERT_GL_NO_ERROR;
07792 }
07793
07795
07796 inline void GLGetCombinerStageParameterfv( GLenum stage, GLenum pname, GLfloat *params )
07797 {
07798   NVSG_GL_STATS_FCT_COUNT();
07799   NVSG_ASSERT( glContext()->m_glFunctions );
07800   glContext()->m_glFunctions->glGetCombinerStageParameterfv( stage, pname, params );
07801   ASSERT_GL_NO_ERROR;
07802 }
07803
07805
07806 inline void GLGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img )
07807 {
07808   NVSG_GL_STATS_FCT_COUNT();
07809   NVSG_ASSERT( glContext()->m_glFunctions );
07810   glContext()->m_glFunctions->glGetCompressedTexImage( target, lod, img );
07811   ASSERT_GL_NO_ERROR;
07812 }
07813
07815
07816 inline void GLGetConvolutionFilter( GLenum target, GLenum format, GLenum type, GLvoid *image )
07817 {
07818   NVSG_GL_STATS_FCT_COUNT();
07819   NVSG_ASSERT( glContext()->m_glFunctions );
07820   glContext()->m_glFunctions->glGetConvolutionFilter( target, format, type, image );
07821   ASSERT_GL_NO_ERROR;
07822 }
07823
07825
07826 inline void GLGetConvolutionParameterfv( GLenum target, GLenum pname, GLfloat *params )
07827 {
07828   NVSG_GL_STATS_FCT_COUNT();
07829   NVSG_ASSERT( glContext()->m_glFunctions );
07830   glContext()->m_glFunctions->glGetConvolutionParameterfv( target, pname, params );
07831   ASSERT_GL_NO_ERROR;
07832 }
07833
07835
07836 inline void GLGetConvolutionParameteriv( GLenum target, GLenum pname, GLint *params )
07837 {
07838   NVSG_GL_STATS_FCT_COUNT();
07839   NVSG_ASSERT( glContext()->m_glFunctions );
07840   glContext()->m_glFunctions->glGetConvolutionParameteriv( target, pname, params );
07841   ASSERT_GL_NO_ERROR;
07842 }
07843
07845
07846 inline  void  GLGetDoublev( GLenum pname, GLdouble *params )
07847 {
07848   NVSG_GL_STATS_FCT_COUNT();
07849   glGetDoublev( pname, params );
07850   ASSERT_GL_NO_ERROR;
07851 }
07852
07854
07855 inline  void  GLGetFenceiv( GLuint fence, GLenum pname, GLint *params )
07856 {
07857   NVSG_GL_STATS_FCT_COUNT();
07858   NVSG_ASSERT( glContext()->m_glFunctions );
07859   glContext()->m_glFunctions->glGetFenceiv( fence, pname, params );
07860   ASSERT_GL_NO_ERROR;
07861 }
07862
07864
07865 inline  void  GLGetFinalCombinerInputParameterfv( GLenum variable, GLenum pname, GLfloat *params )
07866 {
07867   NVSG_GL_STATS_FCT_COUNT();
07868   NVSG_ASSERT( glContext()->m_glFunctions );
07869   glContext()->m_glFunctions->glGetFinalCombinerInputParameterfv( variable, pname, params );
07870   ASSERT_GL_NO_ERROR;
07871 }
07872
07874
07875 inline  void  GLGetFinalCombinerInputParameteriv( GLenum variable, GLenum pname, GLint *params )
07876 {
07877   NVSG_GL_STATS_FCT_COUNT();
07878   NVSG_ASSERT( glContext()->m_glFunctions );
07879   glContext()->m_glFunctions->glGetFinalCombinerInputParameteriv( variable, pname, params );
07880   ASSERT_GL_NO_ERROR;
07881 }
07882
07884
07885 inline  void  GLGetFloatv( GLenum pname, GLfloat *params )
07886 {
07887   NVSG_GL_STATS_FCT_COUNT();
07888   glGetFloatv( pname, params );
07889   ASSERT_GL_NO_ERROR;
07890 }
07891
07892 inline  void  GLGetFogColor( GLfloat * fogColor )
07893 {
07894   NVSG_GL_STATS_FCT_COUNT();
07895   NVSG_ASSERT( glContext() );
07896 #if defined(GL_CACHING)
07897 # if !defined(NDEBUG)
07898   GLfloat params[4];
07899   glGetFloatv( GL_FOG_COLOR, params );
07900   ASSERT_GL_NO_ERROR;
07901   NVSG_ASSERT( memcmp( params, &glContext()->m_fogAttributes.m_color[0], 4*sizeof(GLfloat) ) == 0 );
07902 # endif
07903   memcpy( fogColor, &glContext()->m_fogAttributes.m_color[0], 4*sizeof(GLfloat) );
07904 #else
07905   glGetFloatv( GL_FOG_COLOR, fogColor );
07906   ASSERT_GL_NO_ERROR;
07907 #endif
07908 }
07909
07911
07912 inline  GLint GLGetFragDataLocation( GLuint program, const GLchar *name )
07913 {
07914   NVSG_GL_STATS_FCT_COUNT();
07915   NVSG_ASSERT( glContext()->m_glFunctions );
07916   GLint loc = glContext()->m_glFunctions->glGetFragDataLocation( program, name );
07917   ASSERT_GL_NO_ERROR;
07918   return( loc );
07919 }
07920
07922
07923 inline  GLhandleARB GLGetHandle( GLenum pname )
07924 {
07925   NVSG_GL_STATS_FCT_COUNT();
07926   NVSG_ASSERT( glContext()->m_glFunctions );
07927   GLhandleARB hdl = glContext()->m_glFunctions->glGetHandleARB( pname );
07928   ASSERT_GL_NO_ERROR;
07929   return( hdl );
07930 }
07931
07933
07934 inline  void  GLGetHistogram( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values )
07935 {
07936   NVSG_GL_STATS_GET_INTEGERV( pname, params );
07937   NVSG_ASSERT( glContext()->m_glFunctions );
07938   glContext()->m_glFunctions->glGetHistogram( target, reset, format, type, values );
07939   ASSERT_GL_NO_ERROR;
07940 }
07941
07943
07944 inline  void  GLGetHistogramParameterfv( GLenum target, GLenum pname, GLfloat *params )
07945 {
07946   NVSG_GL_STATS_GET_INTEGERV( pname, params );
07947   NVSG_ASSERT( glContext()->m_glFunctions );
07948   glContext()->m_glFunctions->glGetHistogramParameterfv( target, pname, params );
07949   ASSERT_GL_NO_ERROR;
07950 }
07951
07953
07954 inline  void  GLGetHistogramParameteriv( GLenum target, GLenum pname, GLint *params )
07955 {
07956   NVSG_GL_STATS_GET_INTEGERV( pname, params );
07957   NVSG_ASSERT( glContext()->m_glFunctions );
07958   glContext()->m_glFunctions->glGetHistogramParameteriv( target, pname, params );
07959   ASSERT_GL_NO_ERROR;
07960 }
07961
07963
07964 inline  void  GLGetInfoLog( GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog )
07965 {
07966   NVSG_GL_STATS_FCT_COUNT();
07967   NVSG_ASSERT( glContext()->m_glFunctions );
07968   glContext()->m_glFunctions->glGetInfoLogARB( obj, maxLength, length, infoLog );
07969   ASSERT_GL_NO_ERROR;
07970 }
07971
07973
07974 inline  void  GLGetIntegerv( GLenum pname, GLint *params )
07975 {
07976   NVSG_GL_STATS_GET_INTEGERV( pname, params );
07977   glGetIntegerv( pname, params );
07978   ASSERT_GL_NO_ERROR;
07979 }
07980
07982
07983 inline  void  GLGetIntegerIndexedv( GLenum target, GLuint index, GLint *data )
07984 {
07985   NVSG_GL_STATS_FCT_COUNT();
07986   NVSG_ASSERT( glContext()->m_glFunctions );
07987   glContext()->m_glFunctions->glGetIntegerIndexedv( target, index, data );
07988   ASSERT_GL_NO_ERROR;
07989 }
07990
07992
07993 inline  void  GLGetBufferParameteriv( GLenum target, GLenum pname, GLint *params )
07994 {
07995   NVSG_GL_STATS_FCT_COUNT();
07996   NVSG_ASSERT( glContext()->m_glFunctions );
07997   glContext()->m_glFunctions->glGetBufferParameteriv( target, pname, params );
07998   ASSERT_GL_NO_ERROR;
07999 }
08000
08002
08003 inline  void  GLGetBufferPointerv( GLenum target, GLenum pname, GLvoid* *params )
08004 {
08005   NVSG_GL_STATS_FCT_COUNT();
08006   NVSG_ASSERT( glContext()->m_glFunctions );
08007   glContext()->m_glFunctions->glGetBufferPointerv( target, pname, params );
08008   ASSERT_GL_NO_ERROR;
08009 }
08010
08012
08013 inline  void  GLGetBufferSubData( GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data )
08014 {
08015   NVSG_GL_STATS_FCT_COUNT();
08016   NVSG_ASSERT( glContext()->m_glFunctions );
08017   glContext()->m_glFunctions->glGetBufferSubData( target, offset, size, data );
08018   ASSERT_GL_NO_ERROR;
08019 }
08020
08022
08023 inline  void  GLGetClipPlane( GLenum plane, GLdouble *equation )
08024 {
08025   NVSG_GL_STATS_FCT_COUNT();
08026   glGetClipPlane( plane, equation );
08027   ASSERT_GL_NO_ERROR;
08028 }
08029
08031
08032 inline  void  GLGetLightfv( GLenum light, GLenum pname, GLfloat *params )
08033 {
08034   NVSG_GL_STATS_FCT_COUNT();
08035   glGetLightfv( light, pname, params );
08036   ASSERT_GL_NO_ERROR;
08037 }
08038
08040
08041 inline  void  GLGetLightiv( GLenum light, GLenum pname, GLint *params )
08042 {
08043   NVSG_GL_STATS_FCT_COUNT();
08044   glGetLightiv( light, pname, params );
08045   ASSERT_GL_NO_ERROR;
08046 }
08047
08049
08050 inline  void  GLGetMapdv( GLenum target, GLenum query, GLdouble *v )
08051 {
08052   NVSG_GL_STATS_FCT_COUNT();
08053   glGetMapdv( target, query, v );
08054   ASSERT_GL_NO_ERROR;
08055 }
08056
08058
08059 inline  void  GLGetMapfv( GLenum target, GLenum query, GLfloat *v )
08060 {
08061   NVSG_GL_STATS_FCT_COUNT();
08062   glGetMapfv( target, query, v );
08063   ASSERT_GL_NO_ERROR;
08064 }
08065
08067
08068 inline  void  GLGetMapiv( GLenum target, GLenum query, GLint *v )
08069 {
08070   NVSG_GL_STATS_FCT_COUNT();
08071   glGetMapiv( target, query, v );
08072   ASSERT_GL_NO_ERROR;
08073 }
08074
08076
08077 inline  void  GLGetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
08078 {
08079   NVSG_GL_STATS_FCT_COUNT();
08080   glGetMaterialfv( face, pname, params );
08081   ASSERT_GL_NO_ERROR;
08082 }
08083
08085
08086 inline  void  GLGetMaterialiv( GLenum face, GLenum pname, GLint *params )
08087 {
08088   NVSG_GL_STATS_FCT_COUNT();
08089   glGetMaterialiv( face, pname, params );
08090   ASSERT_GL_NO_ERROR;
08091 }
08092
08094 inline GLint GLGetMaxTexCoords( void )
08095 {
08096   NVSG_GL_STATS_FCT_COUNT();
08097   return( glContext()->m_maxTexCoords );
08098 }
08099
08101 inline GLint GLGetMaxTexUnits( void )
08102 {
08103   NVSG_GL_STATS_FCT_COUNT();
08104   return( glContext()->m_maxTexUnits );
08105 }
08106
08108 inline GLint GLGetMaxTexImageUnits( void )
08109 {
08110   NVSG_GL_STATS_FCT_COUNT();
08111   return glContext()->m_maxTexImageUnits;
08112 }
08113
08115
08116 inline  void  GLGetMinmax( GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values )
08117 {
08118   NVSG_GL_STATS_FCT_COUNT();
08119   NVSG_ASSERT( glContext()->m_glFunctions );
08120   glContext()->m_glFunctions->glGetMinmax( target, reset, format, type, values );
08121   ASSERT_GL_NO_ERROR;
08122 }
08123
08125
08126 inline  void  GLGetMinmaxParameterfv( GLenum target, GLenum pname, GLfloat *params )
08127 {
08128   NVSG_GL_STATS_FCT_COUNT();
08129   NVSG_ASSERT( glContext()->m_glFunctions );
08130   glContext()->m_glFunctions->glGetMinmaxParameterfv( target, pname, params );
08131   ASSERT_GL_NO_ERROR;
08132 }
08133
08135
08136 inline  void  GLGetMinmaxParameteriv( GLenum target, GLenum pname, GLint *params )
08137 {
08138   NVSG_GL_STATS_FCT_COUNT();
08139   NVSG_ASSERT( glContext()->m_glFunctions );
08140   glContext()->m_glFunctions->glGetMinmaxParameteriv( target, pname, params );
08141   ASSERT_GL_NO_ERROR;
08142 }
08143
08145
08146 inline  void  GLGetObjectParameterfv( GLhandleARB obj, GLenum pname, GLfloat *params )
08147 {
08148   NVSG_GL_STATS_FCT_COUNT();
08149   NVSG_ASSERT( glContext()->m_glFunctions );
08150   glContext()->m_glFunctions->glGetObjectParameterfvARB( obj, pname, params );
08151   ASSERT_GL_NO_ERROR;
08152 }
08153
08155
08156 inline  void  GLGetObjectParameteriv( GLhandleARB obj, GLenum pname, GLint *params )
08157 {
08158   NVSG_GL_STATS_FCT_COUNT();
08159   NVSG_ASSERT( glContext()->m_glFunctions );
08160   glContext()->m_glFunctions->glGetObjectParameterivARB( obj, pname, params );
08161   ASSERT_GL_NO_ERROR;
08162 }
08163
08165
08166 inline  void  GLGetPixelMapfv( GLenum map, GLfloat *values )
08167 {
08168   NVSG_GL_STATS_FCT_COUNT();
08169   glGetPixelMapfv( map, values );
08170   ASSERT_GL_NO_ERROR;
08171 }
08172
08174
08175 inline  void  GLGetPixelMapuiv( GLenum map, GLuint *values )
08176 {
08177   NVSG_GL_STATS_FCT_COUNT();
08178   glGetPixelMapuiv( map, values );
08179   ASSERT_GL_NO_ERROR;
08180 }
08181
08183
08184 inline  void  GLGetPixelMapusv( GLenum map, GLushort *values )
08185 {
08186   NVSG_GL_STATS_FCT_COUNT();
08187   glGetPixelMapusv( map, values );
08188   ASSERT_GL_NO_ERROR;
08189 }
08190
08192
08193 inline  void  GLGetPointerv( GLenum pname, GLvoid* *params )
08194 {
08195   NVSG_GL_STATS_FCT_COUNT();
08196   glGetPointerv( pname, params );
08197   ASSERT_GL_NO_ERROR;
08198 }
08199
08201
08202 inline  void  GLGetPolygonStipple( GLubyte *mask )
08203 {
08204   NVSG_GL_STATS_FCT_COUNT();
08205   glGetPolygonStipple( mask );
08206   ASSERT_GL_NO_ERROR;
08207 }
08208
08210
08211 inline  void  GLGetProgramEnvParameterdv( GLenum target, GLuint index, GLdouble *params )
08212 {
08213   NVSG_GL_STATS_FCT_COUNT();
08214   NVSG_ASSERT( glContext()->m_glFunctions );
08215   glContext()->m_glFunctions->glGetProgramEnvParameterdvARB( target, index, params );
08216   ASSERT_GL_NO_ERROR;
08217 }
08218
08220
08221 inline  void  GLGetProgramEnvParameterfv( GLenum target, GLuint index, GLfloat *params )
08222 {
08223   NVSG_GL_STATS_FCT_COUNT();
08224   NVSG_ASSERT( glContext()->m_glFunctions );
08225   glContext()->m_glFunctions->glGetProgramEnvParameterfvARB( target, index, params );
08226   ASSERT_GL_NO_ERROR;
08227 }
08228
08230
08231 inline  void  GLGetProgramiv( GLuint program, GLenum pname, GLint *params )
08232 {
08233   NVSG_GL_STATS_FCT_COUNT();
08234   NVSG_ASSERT( glContext()->m_glFunctions );
08235   glContext()->m_glFunctions->glGetProgramiv( program, pname, params );
08236   ASSERT_GL_NO_ERROR;
08237 }
08238
08240
08241 inline  void  GLGetProgramLocalParameterdv( GLenum target, GLuint index, GLdouble *params )
08242 {
08243   NVSG_GL_STATS_FCT_COUNT();
08244   NVSG_ASSERT( glContext()->m_glFunctions );
08245   glContext()->m_glFunctions->glGetProgramLocalParameterdvARB( target, index, params );
08246   ASSERT_GL_NO_ERROR;
08247 }
08248
08250
08251 inline  void  GLGetProgramLocalParameterfv( GLenum target, GLuint index, GLfloat *params )
08252 {
08253   NVSG_GL_STATS_FCT_COUNT();
08254   NVSG_ASSERT( glContext()->m_glFunctions );
08255   glContext()->m_glFunctions->glGetProgramLocalParameterfvARB( target, index, params );
08256   ASSERT_GL_NO_ERROR;
08257 }
08258
08259
08261
08262 inline  void  GLGetProgramInfoLog( GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog )
08263 {
08264   NVSG_GL_STATS_FCT_COUNT();
08265   NVSG_ASSERT( glContext()->m_glFunctions );
08266   glContext()->m_glFunctions->glGetProgramInfoLog( program, bufSize, length, infoLog );
08267   ASSERT_GL_NO_ERROR;
08268 }
08269
08271
08272 inline  void  GLGetProgramEnvParameterIiv( GLenum target, GLuint index, GLint *params )
08273 {
08274   NVSG_GL_STATS_FCT_COUNT();
08275   NVSG_ASSERT( glContext()->m_glFunctions );
08276   glContext()->m_glFunctions->glGetProgramEnvParameterIiv( target, index, params );
08277   ASSERT_GL_NO_ERROR;
08278 }
08279
08281
08282 inline  void  GLGetProgramEnvParameterIuiv( GLenum target, GLuint index, GLuint *params )
08283 {
08284   NVSG_GL_STATS_FCT_COUNT();
08285   NVSG_ASSERT( glContext()->m_glFunctions );
08286   glContext()->m_glFunctions->glGetProgramEnvParameterIuiv( target, index, params );
08287   ASSERT_GL_NO_ERROR;
08288 }
08289
08291
08292 inline  void  GLGetProgramLocalParameterIiv( GLenum target, GLuint index, GLint *params )
08293 {
08294   NVSG_GL_STATS_FCT_COUNT();
08295   NVSG_ASSERT( glContext()->m_glFunctions );
08296   glContext()->m_glFunctions->glGetProgramLocalParameterIiv( target, index, params );
08297   ASSERT_GL_NO_ERROR;
08298 }
08299
08301
08302 inline  void  GLGetProgramLocalParameterIuiv( GLenum target, GLuint index, GLuint *params )
08303 {
08304   NVSG_GL_STATS_FCT_COUNT();
08305   NVSG_ASSERT( glContext()->m_glFunctions );
08306   glContext()->m_glFunctions->glGetProgramLocalParameterIuiv( target, index, params );
08307   ASSERT_GL_NO_ERROR;
08308 }
08309
08311
08312 inline  void  GLGetProgramNamedParameterdv( GLuint id, GLsizei len, const GLubyte *name, GLdouble *params )
08313 {
08314   NVSG_GL_STATS_FCT_COUNT();
08315   NVSG_ASSERT( glContext()->m_glFunctions );
08316   glContext()->m_glFunctions->glGetProgramNamedParameterdv( id, len, name, params );
08317   ASSERT_GL_NO_ERROR;
08318 }
08319
08321
08322 inline  void  GLGetProgramNamedParameterfv( GLuint id, GLsizei len, const GLubyte *name, GLfloat *params )
08323 {
08324   NVSG_GL_STATS_FCT_COUNT();
08325   NVSG_ASSERT( glContext()->m_glFunctions );
08326   glContext()->m_glFunctions->glGetProgramNamedParameterfv( id, len, name, params );
08327   ASSERT_GL_NO_ERROR;
08328 }
08329
08331
08332 inline  void  GLGetProgramParameterdv( GLenum target, GLuint index, GLenum pname, GLdouble *params )
08333 {
08334   NVSG_GL_STATS_FCT_COUNT();
08335   NVSG_ASSERT( glContext()->m_glFunctions );
08336   glContext()->m_glFunctions->glGetProgramParameterdvNV( target, index, pname, params );
08337   ASSERT_GL_NO_ERROR;
08338 }
08339
08341
08342 inline  void  GLGetProgramParameterfv( GLenum target, GLuint index, GLenum pname, GLfloat *params )
08343 {
08344   NVSG_GL_STATS_FCT_COUNT();
08345   NVSG_ASSERT( glContext()->m_glFunctions );
08346   glContext()->m_glFunctions->glGetProgramParameterfvNV( target, index, pname, params );
08347   ASSERT_GL_NO_ERROR;
08348 }
08349
08351
08352 inline  void  GLGetProgramString( GLuint id, GLenum pname, GLubyte *program )
08353 {
08354   NVSG_GL_STATS_FCT_COUNT();
08355   NVSG_ASSERT( glContext()->m_glFunctions );
08356   glContext()->m_glFunctions->glGetProgramStringNV( id, pname, program );
08357   ASSERT_GL_NO_ERROR;
08358 }
08359
08361
08362 inline  void  GLGetQueryiv( GLenum target, GLenum pname, GLint *params )
08363 {
08364   NVSG_GL_STATS_FCT_COUNT();
08365   NVSG_ASSERT( glContext()->m_glFunctions );
08366   glContext()->m_glFunctions->glGetQueryiv( target, pname, params );
08367   ASSERT_GL_NO_ERROR;
08368 }
08369
08371
08372 inline  void  GLGetQueryObjecti64v( GLuint id, GLenum pname, GLint64EXT *params )
08373 {
08374   NVSG_GL_STATS_FCT_COUNT();
08375   NVSG_ASSERT( glContext()->m_glFunctions );
08376   glContext()->m_glFunctions->glGetQueryObjecti64v( id, pname, params );
08377   ASSERT_GL_NO_ERROR;
08378 }
08379
08381
08382 inline  void  GLGetQueryObjectiv( GLuint id, GLenum pname, GLint *params )
08383 {
08384   NVSG_GL_STATS_FCT_COUNT();
08385   NVSG_ASSERT( glContext()->m_glFunctions );
08386   glContext()->m_glFunctions->glGetQueryObjectiv( id, pname, params );
08387   ASSERT_GL_NO_ERROR;
08388 }
08389
08391
08392 inline  void  GLGetQueryObjectui64v( GLuint id, GLenum pname, GLuint64EXT *params )
08393 {
08394   NVSG_GL_STATS_FCT_COUNT();
08395   NVSG_ASSERT( glContext()->m_glFunctions );
08396   glContext()->m_glFunctions->glGetQueryObjectui64v( id, pname, params );
08397   ASSERT_GL_NO_ERROR;
08398 }
08399
08401
08402 inline  void  GLGetQueryObjectuiv( GLuint id, GLenum pname, GLuint *params )
08403 {
08404   NVSG_GL_STATS_FCT_COUNT();
08405   NVSG_ASSERT( glContext()->m_glFunctions );
08406   glContext()->m_glFunctions->glGetQueryObjectuiv( id, pname, params );
08407   ASSERT_GL_NO_ERROR;
08408 }
08409
08411
08412 inline  void  GLGetSeparableFilter( GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span )
08413 {
08414   NVSG_GL_STATS_FCT_COUNT();
08415   NVSG_ASSERT( glContext()->m_glFunctions );
08416   glContext()->m_glFunctions->glGetSeparableFilter( target, format, type, row, column, span );
08417   ASSERT_GL_NO_ERROR;
08418 }
08419
08421
08422 inline  void  GLGetShaderiv( GLuint shader, GLenum pname, GLint *params )
08423 {
08424   NVSG_GL_STATS_FCT_COUNT();
08425   NVSG_ASSERT( glContext()->m_glFunctions );
08426   glContext()->m_glFunctions->glGetShaderiv( shader, pname, params );
08427   ASSERT_GL_NO_ERROR;
08428 }
08429
08431
08432 inline  void  GLGetShaderInfoLog( GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog )
08433 {
08434   NVSG_GL_STATS_FCT_COUNT();
08435   NVSG_ASSERT( glContext()->m_glFunctions );
08436   glContext()->m_glFunctions->glGetShaderInfoLog( shader, bufSize, length, infoLog );
08437   ASSERT_GL_NO_ERROR;
08438 }
08439
08441
08442 inline  void  GLGetShaderSource( GLuint shader, GLsizei bufSize, GLsizei *length, GLcharARB *source )
08443 {
08444   NVSG_GL_STATS_FCT_COUNT();
08445   NVSG_ASSERT( glContext()->m_glFunctions );
08446   glContext()->m_glFunctions->glGetShaderSource( shader, bufSize, length, source );
08447   ASSERT_GL_NO_ERROR;
08448 }
08449
08451
08452 inline  const GLubyte * GLGetString( GLenum name )
08453 {
08454   NVSG_GL_STATS_FCT_COUNT();
08455   const GLubyte * ret = glGetString( name );
08456   ASSERT_GL_NO_ERROR;
08457   return( ret );
08458 }
08459
08461
08462 inline  void  GLGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params )
08463 {
08464   NVSG_GL_STATS_FCT_COUNT();
08465   glGetTexEnvfv( target,pname, params );
08466   ASSERT_GL_NO_ERROR;
08467 }
08468
08470
08471 inline  void  GLGetTexEnviv( GLenum target, GLenum pname, GLint *params )
08472 {
08473   NVSG_GL_STATS_FCT_COUNT();
08474   glGetTexEnviv( target,pname, params );
08475   ASSERT_GL_NO_ERROR;
08476 }
08477
08479
08480 inline  void  GLGetTexGendv( GLenum coord, GLenum pname, GLdouble *params )
08481 {
08482   NVSG_GL_STATS_FCT_COUNT();
08483   glGetTexGendv( coord, pname, params );
08484   ASSERT_GL_NO_ERROR;
08485 }
08486
08488
08489 inline  void  GLGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params )
08490 {
08491   NVSG_GL_STATS_FCT_COUNT();
08492   glGetTexGenfv( coord, pname, params );
08493   ASSERT_GL_NO_ERROR;
08494 }
08495
08497
08498 inline  void  GLGetTexGeniv( GLenum coord, GLenum pname, GLint *params )
08499 {
08500   NVSG_GL_STATS_FCT_COUNT();
08501   glGetTexGeniv( coord, pname, params );
08502   ASSERT_GL_NO_ERROR;
08503 }
08504
08506
08507 inline  void  GLGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels )
08508 {
08509 #if defined(GL_CACHING)
08510   _GLUpdateActiveTexture();
08511 #endif
08512   NVSG_GL_STATS_FCT_COUNT();
08513   glGetTexImage( target, level, format, type, pixels );
08514   ASSERT_GL_NO_ERROR;
08515 }
08516
08518
08519 inline  void  GLGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params )
08520 {
08521   NVSG_GL_STATS_FCT_COUNT();
08522   glGetTexLevelParameterfv( target, level, pname, params );
08523   ASSERT_GL_NO_ERROR;
08524 }
08525
08527
08528 inline  void  GLGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params )
08529 {
08530   NVSG_GL_STATS_FCT_COUNT();
08531   glGetTexLevelParameteriv( target, level, pname, params );
08532   ASSERT_GL_NO_ERROR;
08533 }
08534
08536
08537 inline  void  GLGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
08538 {
08539   NVSG_GL_STATS_FCT_COUNT();
08540   glGetTexParameterfv( target, pname, params );
08541   ASSERT_GL_NO_ERROR;
08542 }
08543
08545
08546 inline  void  GLGetTexParameteriv( GLenum target, GLenum pname, GLint *params )
08547 {
08548   NVSG_GL_STATS_FCT_COUNT();
08549   glGetTexParameteriv( target, pname, params );
08550   ASSERT_GL_NO_ERROR;
08551 }
08552
08554
08555 inline  void  GLGetTexParameterIiv( GLenum target, GLenum pname, GLint *params )
08556 {
08557   NVSG_GL_STATS_FCT_COUNT();
08558   NVSG_ASSERT( glContext()->m_glFunctions );
08559   glContext()->m_glFunctions->glGetTexParameterIiv( target, pname, params );
08560   ASSERT_GL_NO_ERROR;
08561 }
08562
08564
08565 inline  void  GLGetTexParameterIuiv( GLenum target, GLenum pname, GLuint *params )
08566 {
08567   NVSG_GL_STATS_FCT_COUNT();
08568   NVSG_ASSERT( glContext()->m_glFunctions );
08569   glContext()->m_glFunctions->glGetTexParameterIuiv( target, pname, params );
08570   ASSERT_GL_NO_ERROR;
08571 }
08572
08574
08575 inline  void  GLGetTrackMatrixiv( GLenum target, GLuint address, GLenum pname, GLint *params )
08576 {
08577   NVSG_GL_STATS_FCT_COUNT();
08578   NVSG_ASSERT( glContext()->m_glFunctions );
08579   glContext()->m_glFunctions->glGetTrackMatrixivNV( target, address, pname, params );
08580   ASSERT_GL_NO_ERROR;
08581 }
08582
08584
08585 inline  void  GLGetTransformFeedbackVaryingNV( GLuint program, GLuint index, GLint *location )
08586 {
08587   NVSG_GL_STATS_FCT_COUNT();
08588   NVSG_ASSERT( glContext()->m_glFunctions );
08589   glContext()->m_glFunctions->glGetTransformFeedbackVaryingNV( program, index, location );
08590   ASSERT_GL_NO_ERROR;
08591 }
08592
08594
08595 inline  void  GLGetTransformFeedbackVarying( GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name )
08596 {
08597   NVSG_GL_STATS_FCT_COUNT();
08598   NVSG_ASSERT( glContext()->m_glFunctions );
08599   glContext()->m_glFunctions->glGetTransformFeedbackVarying( program, index, bufSize, length, size, type, name );
08600   ASSERT_GL_NO_ERROR;
08601 }
08602
08604
08605 inline  void  GLGetUniformfv( GLuint program, GLint location, GLfloat *params )
08606 {
08607   NVSG_GL_STATS_FCT_COUNT();
08608   NVSG_ASSERT( glContext()->m_glFunctions );
08609   glContext()->m_glFunctions->glGetUniformfv( program, location, params );
08610   ASSERT_GL_NO_ERROR;
08611 }
08612
08614
08615 inline  void  GLGetUniformiv( GLuint program, GLint location, GLint *params )
08616 {
08617   NVSG_GL_STATS_FCT_COUNT();
08618   NVSG_ASSERT( glContext()->m_glFunctions );
08619   glContext()->m_glFunctions->glGetUniformiv( program, location, params );
08620   ASSERT_GL_NO_ERROR;
08621 }
08622
08624
08625 inline  void  GLGetUniformuiv( GLuint program, GLint location, GLuint *params )
08626 {
08627   NVSG_GL_STATS_FCT_COUNT();
08628   NVSG_ASSERT( glContext()->m_glFunctions );
08629   glContext()->m_glFunctions->glGetUniformuiv( program, location, params );
08630   ASSERT_GL_NO_ERROR;
08631 }
08632
08634
08635 inline  GLint GLGetUniformBufferSize( GLuint program, GLint location )
08636 {
08637   NVSG_GL_STATS_FCT_COUNT();
08638   NVSG_ASSERT( glContext()->m_glFunctions );
08639   GLint size = glContext()->m_glFunctions->glGetUniformBufferSize( program, location);
08640   ASSERT_GL_NO_ERROR;
08641   return( size );
08642 }
08643
08645
08646 inline  GLint GLGetUniformLocation( GLuint program, const GLcharARB *name )
08647 {
08648   NVSG_GL_STATS_FCT_COUNT();
08649   NVSG_ASSERT( glContext()->m_glFunctions );
08650   GLint loc = glContext()->m_glFunctions->glGetUniformLocation( program, name );
08651   ASSERT_GL_NO_ERROR;
08652   return( loc );
08653 }
08654
08656
08657 inline  GLintptr GLGetUniformOffset( GLuint program, GLint location )
08658 {
08659   NVSG_GL_STATS_FCT_COUNT();
08660   NVSG_ASSERT( glContext()->m_glFunctions );
08661   GLintptr offset = glContext()->m_glFunctions->glGetUniformOffset( program, location );
08662   ASSERT_GL_NO_ERROR;
08663   return( offset );
08664 }
08665
08667
08668 inline  GLint GLGetVaryingLocationNV( GLuint program, const GLchar *name )
08669 {
08670   NVSG_GL_STATS_FCT_COUNT();
08671   NVSG_ASSERT( glContext()->m_glFunctions );
08672   GLint loc = glContext()->m_glFunctions->glGetVaryingLocationNV( program, name );
08673   ASSERT_GL_NO_ERROR;
08674   return( loc );
08675 }
08676
08678
08679 inline  void  GLGetVertexAttribdv( GLuint index, GLenum pname, GLdouble *params )
08680 {
08681   NVSG_GL_STATS_FCT_COUNT();
08682   NVSG_ASSERT( glContext()->m_glFunctions );
08683   glContext()->m_glFunctions->glGetVertexAttribdv( index, pname, params );
08684   ASSERT_GL_NO_ERROR;
08685 }
08686
08688
08689 inline  void  GLGetVertexAttribfv( GLuint index, GLenum pname, GLfloat *params )
08690 {
08691   NVSG_GL_STATS_FCT_COUNT();
08692   NVSG_ASSERT( glContext()->m_glFunctions );
08693   glContext()->m_glFunctions->glGetVertexAttribfv( index, pname, params );
08694   ASSERT_GL_NO_ERROR;
08695 }
08696
08698
08699 inline  void  GLGetVertexAttribiv( GLuint index, GLenum pname, GLint *params )
08700 {
08701   NVSG_GL_STATS_FCT_COUNT();
08702   NVSG_ASSERT( glContext()->m_glFunctions );
08703   glContext()->m_glFunctions->glGetVertexAttribiv( index, pname, params );
08704   ASSERT_GL_NO_ERROR;
08705 }
08706
08708
08709 inline  void  GLGetVertexAttribIiv( GLuint index, GLenum pname, GLint *params )
08710 {
08711   NVSG_GL_STATS_FCT_COUNT();
08712   NVSG_ASSERT( glContext()->m_glFunctions );
08713   glContext()->m_glFunctions->glGetVertexAttribIiv( index, pname, params );
08714   ASSERT_GL_NO_ERROR;
08715 }
08716
08718
08719 inline  void  GLGetVertexAttribIuiv( GLuint index, GLenum pname, GLuint *params )
08720 {
08721   NVSG_GL_STATS_FCT_COUNT();
08722   NVSG_ASSERT( glContext()->m_glFunctions );
08723   glContext()->m_glFunctions->glGetVertexAttribIuiv( index, pname, params );
08724   ASSERT_GL_NO_ERROR;
08725 }
08726
08728
08729 inline  void  GLGetVertexAttribPointerv( GLuint index, GLenum pname, GLvoid* *pointer )
08730 {
08731   NVSG_GL_STATS_FCT_COUNT();
08732   NVSG_ASSERT( glContext()->m_glFunctions );
08733   glContext()->m_glFunctions->glGetVertexAttribPointerv( index, pname, pointer );
08734   ASSERT_GL_NO_ERROR;
08735 }
08736
08738
08739 inline  void  GLHint( GLenum target, GLenum mode )
08740 {
08741   NVSG_GL_STATS_FCT_COUNT();
08742   glHint( target, mode );
08743   ASSERT_GL_NO_ERROR;
08744 }
08745
08747
08748 inline  void  GLHistogram( GLenum target, GLsizei width, GLenum internalformat, GLboolean sink )
08749 {
08750   NVSG_GL_STATS_FCT_COUNT();
08751   NVSG_ASSERT( glContext()->m_glFunctions );
08752   glContext()->m_glFunctions->glHistogram( target, width, internalformat, sink );
08753   ASSERT_GL_NO_ERROR;
08754 }
08755
08757
08758 inline  void  GLIndexd( GLdouble c )
08759 {
08760   NVSG_GL_STATS_FCT_COUNT();
08761   glIndexd( c );
08762   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
08763 }
08764
08766
08767 inline  void  GLIndexf( GLfloat c )
08768 {
08769   NVSG_GL_STATS_FCT_COUNT();
08770   glIndexf( c );
08771   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
08772 }
08773
08775
08776 inline  void  GLIndexi( GLint c )
08777 {
08778   NVSG_GL_STATS_FCT_COUNT();
08779   glIndexi( c );
08780   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
08781 }
08782
08784
08785 inline  void  GLIndexMask( GLuint mask )
08786 {
08787   NVSG_GL_STATS_FCT_COUNT();
08788   glIndexMask( mask );
08789   ASSERT_GL_NO_ERROR;
08790 }
08791
08793
08794 inline  void  GLIndexPointer( GLenum type, GLsizei stride, const GLvoid *pointer )
08795 {
08796   NVSG_GL_STATS_FCT_COUNT();
08797   glIndexPointer( type, stride, pointer );
08798   ASSERT_GL_NO_ERROR;
08799 }
08800
08802
08803 inline  void  GLIndexs( GLshort c )
08804 {
08805   NVSG_GL_STATS_FCT_COUNT();
08806   glIndexs( c );
08807   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
08808 }
08809
08811
08812 inline  void  GLIndexub( GLubyte c )
08813 {
08814   NVSG_GL_STATS_FCT_COUNT();
08815   glIndexub( c );
08816   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
08817 }
08818
08820
08821 inline  void  GLInitNames( void )
08822 {
08823   NVSG_GL_STATS_FCT_COUNT();
08824   glInitNames();
08825   ASSERT_GL_NO_ERROR;
08826 }
08827
08829
08830 inline  void  GLInterleavedArrays( GLenum format, GLsizei stride, const GLvoid *pointer )
08831 {
08832   NVSG_GL_STATS_FCT_COUNT();
08833   glInterleavedArrays( format, stride, pointer );
08834   ASSERT_GL_NO_ERROR;
08835 }
08836
08838
08839 inline  GLboolean  GLIsEnabled( GLenum cap )
08840 {
08841   GLboolean isEnabled;
08842 #if defined( GL_CACHING )
08843   switch( cap )
08844   {
08845     case GL_ALPHA_TEST :
08846       isEnabled = GLIsEnabledAlphaTest();
08847       break;
08848     case GL_AUTO_NORMAL :
08849       isEnabled = GLIsEnabledAutoNormal();
08850       break;
08851     case GL_BLEND :
08852       isEnabled = GLIsEnabledBlend();
08853       break;
08854     case GL_CLIP_PLANE0 :
08855     case GL_CLIP_PLANE1 :
08856     case GL_CLIP_PLANE2 :
08857     case GL_CLIP_PLANE3 :
08858     case GL_CLIP_PLANE4 :
08859     case GL_CLIP_PLANE5 :
08860       isEnabled = GLIsEnabledClipPlane( cap );
08861       break;
08862     case GL_COLOR_LOGIC_OP :
08863       isEnabled = GLIsEnabledColorLogicOp();
08864       break;
08865     case GL_COLOR_MATERIAL :
08866       isEnabled = GLIsEnabledColorMaterial();
08867       break;
08868     case GL_CULL_FACE :
08869       isEnabled = GLIsEnabledCullFace();
08870       break;
08871     case GL_DEPTH_TEST :
08872       isEnabled = GLIsEnabledDepthTest();
08873       break;
08874     case GL_DITHER :
08875       isEnabled = GLIsEnabledDither();
08876       break;
08877     case GL_FOG :
08878       isEnabled = GLIsEnabledFog();
08879       break;
08880     case GL_LIGHT0 :
08881     case GL_LIGHT1 :
08882     case GL_LIGHT2 :
08883     case GL_LIGHT3 :
08884     case GL_LIGHT4 :
08885     case GL_LIGHT5 :
08886     case GL_LIGHT6 :
08887     case GL_LIGHT7 :
08888       isEnabled = GLIsEnabledLight( cap );
08889       break;
08890     case GL_LIGHTING :
08891       isEnabled = GLIsEnabledLighting();
08892       break;
08893     case GL_LINE_SMOOTH :
08894       isEnabled = GLIsEnabledLineSmooth();
08895       break;
08896     case GL_LINE_STIPPLE :
08897       isEnabled = GLIsEnabledLineStipple();
08898       break;
08899     case GL_LOGIC_OP :
08900       isEnabled = GLIsEnabledLogicOp();
08901       break;
08902     case GL_NORMALIZE :
08903       isEnabled = GLIsEnabledNormalize();
08904       break;
08905     case GL_RESCALE_NORMAL :
08906       isEnabled = GLIsEnabledRescaleNormal();
08907       break;
08908     case GL_POINT_SMOOTH :
08909       isEnabled = GLIsEnabledPointSmooth();
08910       break;
08911     case GL_POLYGON_OFFSET_FILL :
08912       isEnabled = GLIsEnabledPolygonOffsetFill();
08913       break;
08914     case GL_POLYGON_OFFSET_LINE :
08915       isEnabled = GLIsEnabledPolygonOffsetLine();
08916       break;
08917     case GL_POLYGON_OFFSET_POINT :
08918       isEnabled = GLIsEnabledPolygonOffsetPoint();
08919       break;
08920     case GL_POLYGON_SMOOTH :
08921       isEnabled = GLIsEnabledPolygonSmooth();
08922       break;
08923     case GL_POLYGON_STIPPLE :
08924       isEnabled = GLIsEnabledPolygonStipple();
08925       break;
08926     case GL_SCISSOR_TEST :
08927       isEnabled = GLIsEnabledScissorTest();
08928       break;
08929     case GL_STENCIL_TEST :
08930       isEnabled = GLIsEnabledStencilTest();
08931       break;
08932     case GL_TEXTURE_1D :
08933     case GL_TEXTURE_2D :
08934     case GL_TEXTURE_3D :
08935     case GL_TEXTURE_CUBE_MAP :
08936     case GL_TEXTURE_RECTANGLE_NV :
08937     case GL_TEXTURE_2D_ARRAY_EXT :
08938     case GL_TEXTURE_1D_ARRAY_EXT :
08939       isEnabled = GLIsEnabledTexture( cap );
08940       break;
08941     case GL_TEXTURE_GEN_S :
08942     case GL_TEXTURE_GEN_T :
08943     case GL_TEXTURE_GEN_R :
08944     case GL_TEXTURE_GEN_Q :
08945       isEnabled = GLIsEnabledTextureGen( cap );
08946       break;
08947     default :
08948       isEnabled = _GLIsEnabled( cap );
08949       break;
08950   }
08951 #else
08952   isEnabled = _GLIsEnabled( cap );
08953 #endif
08954   return( isEnabled );
08955 }
08956
08958
08959 inline GLboolean GLIsEnabledAlphaTest()
08960 {
08961   return( GL_IS_ENABLED( GL_ALPHA_TEST, glContext()->m_colorBufferEnableAttributes.m_alphaTest ) );
08962 }
08963
08965
08966 inline GLboolean GLIsEnabledAutoNormal()
08967 {
08968   return( GL_IS_ENABLED( GL_AUTO_NORMAL, glContext()->m_evalAttributes.m_autoNormal ) );
08969 }
08970
08972
08973 inline GLboolean GLIsEnabledBlend()
08974 {
08975   return( GL_IS_ENABLED( GL_BLEND, glContext()->m_colorBufferEnableAttributes.m_blend ) );
08976 }
08977
08979
08980 inline GLboolean GLIsEnabledClipPlane( GLenum plane )
08981 {
08982 #if defined( GL_CACHING )
08983   NVSG_ASSERT( plane-GL_CLIP_PLANE0 < glContext()->m_transformEnableAttributes.m_clipPlanes.size() );
08984 #endif
08985   return( GL_IS_ENABLED( plane, glContext()->m_transformEnableAttributes.m_clipPlanes[plane-GL_CLIP_PLANE0] ) );
08986 }
08987
08989
08990 inline GLboolean GLIsEnabledColorLogicOp()
08991 {
08992   return( GL_IS_ENABLED( GL_COLOR_LOGIC_OP, glContext()->m_colorBufferEnableAttributes.m_colorLogicOp ) );
08993 }
08994
08996
08997 inline  GLboolean GLIsEnabledColorMaterial()
08998 {
08999   return( GL_IS_ENABLED( GL_COLOR_MATERIAL, glContext()->m_lightingAttributes.m_colorMaterial ) );
09000 }
09001
09003
09004 inline GLboolean GLIsEnabledCullFace()
09005 {
09006   return( GL_IS_ENABLED( GL_CULL_FACE, glContext()->m_polygonEnableAttributes.m_cullFace ) );
09007 }
09008
09010
09011 inline GLboolean GLIsEnabledDepthTest()
09012 {
09013   return( GL_IS_ENABLED( GL_DEPTH_TEST, glContext()->m_depthBufferEnableAttributes.m_depthTesting ) );
09014 }
09015
09017
09018 inline GLboolean GLIsEnabledDither()
09019 {
09020   return( GL_IS_ENABLED( GL_DITHER, glContext()->m_colorBufferEnableAttributes.m_dither ) );
09021 }
09022
09024
09025 inline GLboolean GLIsEnabledFog()
09026 {
09027   return( GL_IS_ENABLED( GL_FOG, glContext()->m_fogEnableAttributes.m_fog ) );
09028 }
09029
09031
09032 inline  GLboolean GLIsEnabledIndexed( GLenum target, GLuint index )
09033 {
09034   NVSG_GL_STATS_FCT_COUNT();
09035   NVSG_ASSERT( glContext()->m_glFunctions );
09036   GLboolean ok = glContext()->m_glFunctions->glIsEnabledIndexed( target, index );
09037   ASSERT_GL_NO_ERROR;
09038   return( ok );
09039 }
09040
09042
09043 inline GLboolean GLIsEnabledLight( GLenum light )
09044 {
09045 #if defined( GL_CACHING )
09046   NVSG_ASSERT( light-GL_LIGHT0 < glContext()->m_lightingEnableAttributes.m_lights.size() );
09047 #endif
09048   return( GL_IS_ENABLED( light, glContext()->m_lightingEnableAttributes.m_lights[light-GL_LIGHT0] ) );
09049 }
09050
09052
09053 inline GLboolean GLIsEnabledLighting()
09054 {
09055   return( GL_IS_ENABLED( GL_LIGHTING, glContext()->m_lightingEnableAttributes.m_lighting ) );
09056 }
09057
09059
09060 inline GLboolean GLIsEnabledLineSmooth()
09061 {
09062   return( GL_IS_ENABLED( GL_LINE_SMOOTH, glContext()->m_lineEnableAttributes.m_smooth ) );
09063 }
09064
09066
09067 inline GLboolean GLIsEnabledLineStipple()
09068 {
09069   return( GL_IS_ENABLED( GL_LINE_STIPPLE, glContext()->m_lineEnableAttributes.m_stipple ) );
09070 }
09071
09073
09074 inline GLboolean GLIsEnabledLogicOp()
09075 {
09076   return( GL_IS_ENABLED( GL_LOGIC_OP, glContext()->m_colorBufferEnableAttributes.m_logicOp ) );
09077 }
09078
09080
09081 inline GLboolean GLIsEnabledNormalize()
09082 {
09083   return( GL_IS_ENABLED( GL_NORMALIZE, glContext()->m_transformEnableAttributes.m_normalize ) );
09084 }
09085
09087
09088 inline GLboolean GLIsEnabledRescaleNormal()
09089 {
09090   return( GL_IS_ENABLED( GL_RESCALE_NORMAL, glContext()->m_transformEnableAttributes.m_rescaleNormal ) );
09091 }
09092
09094
09095 inline GLboolean GLIsEnabledPointSmooth()
09096 {
09097   return( GL_IS_ENABLED( GL_POINT_SMOOTH, glContext()->m_pointEnableAttributes.m_smooth ) );
09098 }
09099
09101
09102 inline GLboolean GLIsEnabledPolygonOffsetFill()
09103 {
09104   return( GL_IS_ENABLED( GL_POLYGON_OFFSET_FILL, glContext()->m_polygonEnableAttributes.m_offsetFill ) );
09105 }
09106
09108
09109 inline GLboolean GLIsEnabledPolygonOffsetLine()
09110 {
09111   return( GL_IS_ENABLED( GL_POLYGON_OFFSET_LINE, glContext()->m_polygonEnableAttributes.m_offsetLine ) );
09112 }
09113
09115
09116 inline GLboolean GLIsEnabledPolygonOffsetPoint()
09117 {
09118   return( GL_IS_ENABLED( GL_POLYGON_OFFSET_POINT, glContext()->m_polygonEnableAttributes.m_offsetPoint ) );
09119 }
09120
09122
09123 inline GLboolean GLIsEnabledPolygonSmooth()
09124 {
09125   return( GL_IS_ENABLED( GL_POLYGON_SMOOTH, glContext()->m_polygonEnableAttributes.m_smooth ) );
09126 }
09127
09129
09130 inline GLboolean GLIsEnabledPolygonStipple()
09131 {
09132   return( GL_IS_ENABLED( GL_POLYGON_STIPPLE, glContext()->m_polygonEnableAttributes.m_stipple ) );
09133 }
09134
09136
09137 inline GLboolean GLIsEnabledScissorTest()
09138 {
09139   return( GL_IS_ENABLED( GL_SCISSOR_TEST, glContext()->m_scissorEnableAttributes.m_scissorTest ) );
09140 }
09141
09143
09144 inline GLboolean GLIsEnabledStencilTest()
09145 {
09146   return( GL_IS_ENABLED( GL_STENCIL_TEST, glContext()->m_stencilBufferEnableAttributes.m_stencilTest ) );
09147 }
09148
09150
09151 inline GLboolean GLIsEnabledTexture( GLenum target )
09152 {
09153   // check on valid target
09154   NVSG_ASSERT(    ( target == GL_TEXTURE_1D ) || ( target == GL_TEXTURE_2D ) || ( target == GL_TEXTURE_3D )
09155               ||  ( target == GL_TEXTURE_CUBE_MAP ) || ( target == GL_TEXTURE_RECTANGLE_NV )
09156               ||  ( target == GL_TEXTURE_2D_ARRAY_EXT ) || ( target == GL_TEXTURE_2D_ARRAY_EXT ) );
09157
09158 #if defined(GL_CACHING)
09159   _GLUpdateActiveTexture();
09160 #endif
09161   GLContext * ctx = glContext();
09162   return( GL_IS_ENABLED( target, ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_active].m_texture[target] ) );
09163 }
09164
09166
09167 inline GLboolean GLIsEnabledTextureGen( GLenum target )
09168 {
09169   // check on valid target
09170   NVSG_ASSERT(    ( target == GL_TEXTURE_GEN_S )
09171               ||  ( target == GL_TEXTURE_GEN_T )
09172               ||  ( target == GL_TEXTURE_GEN_R )
09173               ||  ( target == GL_TEXTURE_GEN_Q ) );
09174
09175 #if defined(GL_CACHING)
09176   _GLUpdateActiveTexture();
09177 #endif
09178   GLContext * ctx = glContext();
09179   return( GL_IS_ENABLED( target, ctx->m_textureEnableAttributes.m_unit[ctx->m_textureAttributes.m_active].m_gen[target-GL_TEXTURE_GEN_S] ) );
09180 }
09181
09183
09186 inline GLint GLGetVersion()
09187 {
09188   NVSG_GL_STATS_FCT_COUNT();
09189   NVSG_ASSERT(glContext() && glContext()->m_glFunctions);
09190   return glContext()->m_glFunctions->getVersion();
09191 }
09192
09194
09196 inline GLboolean GLIsExtensionAvailable( const std::string& extension )
09197 {
09198   NVSG_GL_STATS_FCT_COUNT();
09199   NVSG_ASSERT(glContext() && glContext()->m_glFunctions);
09200   return glContext()->m_glFunctions->isAvailable( extension );
09201 }
09202
09204
09206 inline GLboolean GLIsExtensionExported( const std::string& extension )
09207 {
09208   NVSG_GL_STATS_FCT_COUNT();
09209   NVSG_ASSERT(glContext() && glContext()->m_glFunctions);
09210   return glContext()->m_glFunctions->isExported( extension );
09211 }
09212
09214
09216 inline void GLDisableExtensionAvailability( const std::string& extension )
09217 {
09218   NVSG_GL_STATS_FCT_COUNT();
09219   NVSG_ASSERT(glContext() && glContext()->m_glFunctions);
09220   glContext()->m_glFunctions->disableAvailability( extension );
09221 }
09222
09223
09225
09226 inline  GLboolean GLIsFence( GLuint fence )
09227 {
09228   NVSG_GL_STATS_FCT_COUNT();
09229   NVSG_ASSERT( glContext()->m_glFunctions );
09230   GLboolean ok = glContext()->m_glFunctions->glIsFence( fence );
09231   ASSERT_GL_NO_ERROR;
09232   return( ok );
09233 }
09234
09236
09237 inline  GLboolean GLIsList( GLuint list )
09238 {
09239   NVSG_GL_STATS_FCT_COUNT();
09240   return glContext()->isList(list);
09241 }
09242
09244
09245 inline  GLboolean GLIsProgram( GLuint program )
09246 {
09247   NVSG_GL_STATS_FCT_COUNT();
09248   return glContext()->isProgram( program );
09249 }
09250
09252
09253 inline  GLboolean GLIsQuery( GLuint id )
09254 {
09255   NVSG_GL_STATS_FCT_COUNT();
09256   return glContext()->isQuery(id);
09257 }
09258
09260
09261 inline  GLboolean GLIsShader( GLuint shader )
09262 {
09263   NVSG_GL_STATS_FCT_COUNT();
09264   NVSG_ASSERT( glContext()->m_glFunctions );
09265   GLboolean ok = glContext()->m_glFunctions->glIsShader( shader );
09266   ASSERT_GL_NO_ERROR;
09267   return( ok );
09268 }
09269
09271
09272 inline  GLboolean GLIsTexture( GLuint texture )
09273 {
09274   NVSG_GL_STATS_IS_TEXTURE( texture );
09275   return(glContext()->isTexture(texture));
09276 }
09277
09278 #if !defined(DOXYGEN_IGNORE)
09279 #if defined( GL_CACHING )
09280 inline void _GLLightfCached( GLenum light, GLenum pname, GLfloat param, GLfloat * cache )
09281 {
09282   if ( param != *cache )
09283   {
09284 #if !defined(NDEBUG)
09285     GLfloat f;
09286     glGetLightfv( light, pname, &f );
09287     NVSG_ASSERT( f == *cache );
09288 #endif
09289     _GLLightf( light, pname, param );
09290     *cache = param;
09291   }
09292 }
09293 inline void _GLLightfvCached( GLenum light, GLenum pname, const GLfloat * params, GLfloat * cache )
09294 {
09295   if ( !equal4fv( params, cache ) )
09296   {
09297 #if !defined(NDEBUG)
09298     GLfloat f[4];
09299     glGetLightfv( light, pname, f );
09300     NVSG_ASSERT( equal4fv( f, cache ) );
09301 #endif
09302     _GLLightfv( light, pname, params );
09303     memcpy( cache, params, 4*sizeof(GLfloat) );
09304   }
09305 }
09306 # if defined(GL_SUPPORT_RESET)
09307 inline void _GLLightfCached( GLenum light, GLenum pname, GLfloat param, GLfloat * cache, GLfloat * prev )
09308 {
09309   *prev = *cache;
09310   _GLLightfCached( light, pname, param, cache );
09311 }
09312 inline void _GLLightfvCached( GLenum light, GLenum pname, const GLfloat * params, GLfloat * cache, GLfloat * prev )
09313 {
09314   memcpy( prev, cache, 4*sizeof(GLfloat) );
09315   _GLLightfvCached( light, pname, params, cache );
09316 }
09317 #  define GL_LIGHT_F( light, pname, param, cache, prev )    _GLLightfCached( light, pname, param, cache, prev )
09318 #  define GL_LIGHT_FV( light, pname, params, cache, prev )  _GLLightfvCached( light, pname, params, cache, prev )
09319 # else
09320 #  define GL_LIGHT_F( light, pname, param, cache, prev )    _GLLightfCached( light, pname, param, cache )
09321 #  define GL_LIGHT_FV( light, pname, params, cache, prev )  _GLLightfvCached( light, pname, params, cache )
09322 # endif
09323 #else
09324 # define GL_LIGHT_F( light, pname, param, cache, prev )     _GLLightf( light, pname, param )
09325 # define GL_LIGHT_FV( light, pname, params, cache, prev )   _GLLightfv( light, pname, params )
09326 #endif
09327 #endif // DOXYGEN_IGNORE
09328
09330
09332 inline  void  GLLightAmbient( GLenum light, const GLfloat *params )
09333 {
09334   GL_LIGHT_FV( light, GL_AMBIENT, params
09335              , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_ambient[0]
09336              , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_ambient[0] );
09337 }
09338
09344 inline void GLResetLightAmbient( GLenum light )
09345 {
09346 #if defined(GL_SUPPORT_RESET)
09347   GLLightAmbient( light, &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_ambient[0] );
09348 #else
09349   static nvmath::Vec4f al(0.0f,0.0f,0.0f,1.0f);
09350   GLLightAmbient(light, &al[0]);
09351 #endif
09352 }
09353
09355
09357 inline  void  GLLightConstantAttenuation( GLenum light, GLfloat param )
09358 {
09359   GL_LIGHT_F( light, GL_CONSTANT_ATTENUATION, param
09360             , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[0]
09361             , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[0] );
09362 }
09363
09369 inline void GLResetLightConstantAttenuation( GLenum light )
09370 {
09371 #if defined(GL_SUPPORT_RESET)
09372   GLLightConstantAttenuation( light, glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[0] );
09373 #else
09374   GLLightConstantAttenuation( light, 1.0f );
09375 #endif
09376 }
09377
09379
09381 inline  void  GLLightDiffuse( GLenum light, const GLfloat *params )
09382 {
09383   GL_LIGHT_FV( light, GL_DIFFUSE, params
09384              , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_diffuse[0]
09385              , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_diffuse[0] );
09386 }
09387
09394 inline void GLResetLightDiffuse( GLenum light )
09395 {
09396 #if defined(GL_SUPPORT_RESET)
09397   GLLightDiffuse( light, &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_diffuse[0] );
09398 #else
09399   static nvmath::Vec4f ld[2] = { nvmath::Vec4f(1.0f,1.0f,1.0f,1.0f), nvmath::Vec4f(0.0f,0.0f,0.0f,1.0f) };
09400   GLLightDiffuse( light, &ld[light!=GL_LIGHT0][0] );
09401 #endif
09402 }
09403
09405
09407 inline  void  GLLightLinearAttenuation( GLenum light, GLfloat param )
09408 {
09409   GL_LIGHT_F( light, GL_LINEAR_ATTENUATION, param
09410             , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[1]
09411             , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[1] );
09412 }
09413
09419 inline void GLResetLightLinearAttenuation( GLenum light )
09420 {
09421 #if defined(GL_SUPPORT_RESET)
09422   GLLightLinearAttenuation( light, glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[1] );
09423 #else
09424   GLLightLinearAttenuation( light, 0.0f );
09425 #endif
09426 }
09427
09429
09430 inline  void  GLLightPosition( GLenum light, const GLfloat *params )
09431 {
09432 #if defined( GL_CACHING )
09433 # if defined( GL_SUPPORT_RESET )
09434   GLContext * ctx = glContext();
09435   ctx->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_position = ctx->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_position;
09436   memcpy( &ctx->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_position[0], params, 4*sizeof(GLfloat) );
09437 # endif
09438   _GLLightfv( light, GL_POSITION, params );
09439 #else
09440   GLLightfv( light, GL_POSITION, params );
09441 #endif
09442 }
09443
09449 inline void GLResetLightPosition( GLenum light )
09450 {
09451 #if defined( GL_SUPPORT_RESET )
09452   GLLightPosition( light, &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_position[0] );
09453 #else
09454   static nvmath::Vec4f lp(0.0f,0.0f,1.0f,0.0f);
09455   GLLightPosition( light, &lp[0] );
09456 #endif
09457 }
09458
09460
09462 inline  void  GLLightQuadraticAttenuation( GLenum light, GLfloat param )
09463 {
09464   GL_LIGHT_F( light, GL_QUADRATIC_ATTENUATION, param
09465             , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[2]
09466             , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[2] );
09467 }
09468
09474 inline void GLResetLightQuadraticAttenuation( GLenum light )
09475 {
09476 #if defined(GL_SUPPORT_RESET)
09477   GLLightQuadraticAttenuation( light, glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_attenuation[2] );
09478 #else
09479   GLLightQuadraticAttenuation( light, 0.0f );
09480 #endif
09481 }
09482
09484
09486 inline  void  GLLightSpecular( GLenum light, const GLfloat *params )
09487 {
09488   GL_LIGHT_FV( light, GL_SPECULAR, params
09489              , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_specular[0]
09490              , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_specular[0] );
09491 }
09492
09499 inline void GLResetLightSpecular( GLenum light )
09500 {
09501 #if defined(GL_SUPPORT_RESET)
09502   GLLightSpecular( light, &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_specular[0] );
09503 #else
09504   static nvmath::Vec4f ls[2] = { nvmath::Vec4f(1.0f,1.0f,1.0f,1.0f), nvmath::Vec4f(0.0f,0.0f,0.0f,1.0f) };
09505   GLLightSpecular( light, &ls[light!=GL_LIGHT0][0] );
09506 #endif
09507 }
09508
09510
09512 inline  void  GLLightSpotCutoff( GLenum light, GLfloat param )
09513 {
09514   GL_LIGHT_F( light, GL_SPOT_CUTOFF, param
09515             , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_spotCutoff
09516             , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_spotCutoff );
09517 }
09518
09524 inline void GLResetLightSpotCutoff( GLenum light )
09525 {
09526 #if defined(GL_SUPPORT_RESET)
09527   GLLightSpotCutoff( light, glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_spotCutoff );
09528 #else
09529   GLLightSpotCutoff( light, 180.0f );
09530 #endif
09531 }
09532
09534
09535 inline  void  GLLightSpotDirection( GLenum light, const GLfloat *params )
09536 {
09537 #if defined( GL_CACHING )
09538 # if defined( GL_SUPPORT_RESET )
09539   GLContext * ctx = glContext();
09540   ctx->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_spotDirection = ctx->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_spotDirection;
09541   memcpy( &ctx->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_spotDirection[0], params, 4*sizeof(GLfloat) );
09542 # endif
09543   _GLLightfv( light, GL_SPOT_DIRECTION, params );
09544 #else
09545   GLLightfv( light, GL_SPOT_DIRECTION, params );
09546 #endif
09547 }
09548
09554 inline void GLResetLightSpotDirection( GLenum light )
09555 {
09556 #if defined( GL_SUPPORT_RESET )
09557   GLLightSpotDirection( light
09558                       , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_spotDirection[0] );
09559 #else
09560   static nvmath::Vec4f lsd(0.0f,0.0f,-1.0f,1.0f);
09561   GLLightSpotDirection( light, &lsd[0] );
09562 #endif
09563 }
09564
09566
09568 inline  void  GLLightSpotExponent( GLenum light, GLfloat param )
09569 {
09570   GL_LIGHT_F( light, GL_SPOT_EXPONENT, param
09571             , &glContext()->m_lightingAttributes.m_lightParameters[light-GL_LIGHT0].m_spotExponent
09572             , &glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_spotExponent );
09573 }
09574
09580 inline void GLResetLightSpotExponent( GLenum light )
09581 {
09582 #if defined(GL_SUPPORT_RESET)
09583   GLLightSpotExponent( light, glContext()->m_previousAttributes.m_lightParameters[light-GL_LIGHT0].m_spotExponent );
09584 #else
09585   GLLightSpotExponent( light, 0.0f );
09586 #endif
09587 }
09588
09590
09591 inline  void  GLLightf( GLenum light, GLenum pname, GLfloat param )
09592 {
09593 #if defined( GL_CACHING )
09594   switch( pname )
09595   {
09596     case GL_CONSTANT_ATTENUATION :
09597       GLLightConstantAttenuation( light, param );
09598       break;
09599     case GL_LINEAR_ATTENUATION :
09600       GLLightLinearAttenuation( light, param );
09601       break;
09602     case GL_QUADRATIC_ATTENUATION :
09603       GLLightQuadraticAttenuation( light, param );
09604       break;
09605     case GL_SPOT_CUTOFF :
09606       GLLightSpotCutoff( light, param );
09607       break;
09608     case GL_SPOT_EXPONENT :
09609       GLLightSpotExponent( light, param );
09610       break;
09611     default :
09612       _GLLightf( light, pname, param );
09613       break;
09614   }
09615 #else
09616   _GLLightf( light, pname, param );
09617 #endif
09618 }
09619
09621
09622 inline  void  GLLightfv( GLenum light, GLenum pname, const GLfloat *params )
09623 {
09624 #if defined( GL_CACHING )
09625   switch( pname )
09626   {
09627     case GL_AMBIENT :
09628       GLLightAmbient( light, params );
09629       break;
09630     case GL_CONSTANT_ATTENUATION :
09631       GLLightConstantAttenuation( light, params[0] );
09632       break;
09633     case GL_DIFFUSE :
09634       GLLightDiffuse( light, params );
09635       break;
09636     case GL_LINEAR_ATTENUATION :
09637       GLLightLinearAttenuation( light, params[0] );
09638       break;
09639     case GL_POSITION :
09640       GLLightPosition( light, params );
09641       break;
09642     case GL_QUADRATIC_ATTENUATION :
09643       GLLightQuadraticAttenuation( light, params[0] );
09644       break;
09645     case GL_SPECULAR :
09646       GLLightSpecular( light, params );
09647       break;
09648     case GL_SPOT_CUTOFF :
09649       GLLightSpotCutoff( light, params[0] );
09650       break;
09651     case GL_SPOT_DIRECTION :
09652       GLLightSpotDirection( light, params );
09653       break;
09654     case GL_SPOT_EXPONENT :
09655       GLLightSpotExponent( light, params[0] );
09656       break;
09657     default :
09658       _GLLightfv( light, pname, params );
09659       break;
09660   }
09661 #else
09662   _GLLightfv( light, pname, params );
09663 #endif
09664 }
09665
09667
09668 inline  void  GLLighti( GLenum light, GLenum pname, GLint param )
09669 {
09670 #if defined( GL_CACHING )
09671   switch( pname )
09672   {
09673     case GL_CONSTANT_ATTENUATION :
09674       GLLightConstantAttenuation( light, (GLfloat)param );
09675       break;
09676     case GL_LINEAR_ATTENUATION :
09677       GLLightLinearAttenuation( light, (GLfloat)param );
09678       break;
09679     case GL_QUADRATIC_ATTENUATION :
09680       GLLightQuadraticAttenuation( light, (GLfloat)param );
09681       break;
09682     case GL_SPOT_CUTOFF :
09683       GLLightSpotCutoff( light, (GLfloat)param );
09684       break;
09685     case GL_SPOT_EXPONENT :
09686       GLLightSpotExponent( light, (GLfloat)param );
09687       break;
09688     default :
09689       _GLLighti( light, pname, param );
09690       break;
09691   }
09692 #else
09693   _GLLighti( light, pname, param );
09694 #endif
09695 }
09696
09698 inline  void  GLintToGLfloat( const GLint *params, GLfloat *fParams )
09699 {
09700   for ( size_t i=0 ; i<4 ; i++ )
09701   {
09702     fParams[i] = (GLfloat)params[i] / INT_MAX;
09703   }
09704 }
09705
09707
09708 inline  void  GLLightiv( GLenum light, GLenum pname, GLint *params )
09709 {
09710 #if defined( GL_CACHING )
09711   GLfloat fParams[4];
09712   switch( pname )
09713   {
09714     case GL_AMBIENT :
09715       GLintToGLfloat( params, fParams );
09716       GLLightAmbient( light, fParams );
09717       break;
09718     case GL_CONSTANT_ATTENUATION :
09719       GLLightConstantAttenuation( light, (GLfloat)params[0] );
09720       break;
09721     case GL_DIFFUSE :
09722       GLintToGLfloat( params, fParams );
09723       GLLightDiffuse( light, fParams );
09724       break;
09725     case GL_LINEAR_ATTENUATION :
09726       GLLightLinearAttenuation( light, (GLfloat)params[0] );
09727       break;
09728     case GL_POSITION :
09729       for ( size_t i=0 ; i<4 ; i++ )
09730       {
09731         fParams[i] = (GLfloat)params[i];
09732       }
09733       GLLightPosition( light, fParams );
09734       break;
09735     case GL_QUADRATIC_ATTENUATION :
09736       GLLightQuadraticAttenuation( light, (GLfloat)params[0] );
09737       break;
09738     case GL_SPECULAR :
09739       GLintToGLfloat( params, fParams );
09740       GLLightSpecular( light, fParams );
09741       break;
09742     case GL_SPOT_CUTOFF :
09743       GLLightSpotCutoff( light, (GLfloat)params[0] );
09744       break;
09745     case GL_SPOT_DIRECTION :
09746       for ( size_t i=0 ; i<4 ; i++ )
09747       {
09748         fParams[i] = (GLfloat)params[i];
09749       }
09750       GLLightSpotDirection( light, fParams );
09751       break;
09752     case GL_SPOT_EXPONENT :
09753       GLLightSpotExponent( light, (GLfloat)params[0] );
09754       break;
09755     default :
09756       _GLLightiv( light, pname, params );
09757       break;
09758   }
09759 #else
09760   _GLLightiv( light, pname, params );
09761 #endif
09762 }
09763
09765
09766 inline  void  GLLightModelAmbient( const GLfloat * params )
09767 {
09768 #if defined( GL_CACHING )
09769   GLContext * ctx = glContext();
09770 # if defined(GL_SUPPORT_RESET)
09771   ctx->m_previousAttributes.m_lightModelAmbient = ctx->m_lightingAttributes.m_lightModelAmbient;
09772 # endif
09773   if ( !equal4fv( &ctx->m_lightingAttributes.m_lightModelAmbient[0], params ) )
09774 #endif
09775   {
09776     _GLLightModelfv( GL_LIGHT_MODEL_AMBIENT, params );
09777 #if defined( GL_CACHING )
09778     memcpy( &ctx->m_lightingAttributes.m_lightModelAmbient[0], params, 4*sizeof(float) );
09779 #endif
09780   }
09781 }
09782
09787 inline void GLResetLightModelAmbient()
09788 {
09789 #if defined(GL_SUPPORT_RESET)
09790   GLLightModelAmbient( &glContext()->m_previousAttributes.m_lightModelAmbient[0] );
09791 #else
09792   static nvmath::Vec4f lma(0.2f,0.2f,0.2f,1.0f);
09793   GLLightModelAmbient( &lma[0] );
09794 #endif
09795 }
09796
09798
09799 inline  void  GLLightModelLocalViewer( GLint param )
09800 {
09801 #if defined( GL_CACHING )
09802   GLContext * ctx = glContext();
09803 # if defined(GL_SUPPORT_RESET)
09804   ctx->m_previousAttributes.m_lightModelLocalViewer = ctx->m_lightingAttributes.m_lightModelLocalViewer;
09805 # endif
09806   if ( ctx->m_lightingAttributes.m_lightModelLocalViewer != !!param )
09807   {
09808 # if !defined(NDEBUG)
09809     GLboolean lv;
09810     glGetBooleanv( GL_LIGHT_MODEL_LOCAL_VIEWER, &lv );
09811     NVSG_ASSERT( ctx->m_lightingAttributes.m_lightModelLocalViewer == !!lv );
09812 # endif
09813 #endif
09814     _GLLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, param );
09815 #if defined( GL_CACHING )
09816     ctx->m_lightingAttributes.m_lightModelLocalViewer = !!param;
09817   }
09818 #endif
09819 }
09820
09825 inline void GLResetLightModelLocalViewer()
09826 {
09827 #if defined(GL_SUPPORT_RESET)
09828   GLLightModelLocalViewer( glContext()->m_previousAttributes.m_lightModelLocalViewer );
09829 #else
09830   GLLightModelLocalViewer( GL_FALSE );
09831 #endif
09832 }
09833
09835
09836 inline  void  GLLightModelTwoSide( GLint param )
09837 {
09838   GLContext * ctx = glContext();
09839 #if defined( GL_CACHING )
09840 # if defined(GL_SUPPORT_RESET)
09841   ctx->m_previousAttributes.m_lightModelTwoSide = ctx->m_lightingAttributes.m_lightModelTwoSide;
09842 # endif
09843   if ( ctx->m_lightingAttributes.m_lightModelTwoSide != !!param )
09844 #endif
09845   {
09846     if ( ! ctx->m_locks.m_lightModelTwoSide )
09847     {
09848 #if !defined( NDEBUG ) && defined( GL_CACHING )
09849       GLboolean lv;
09850       glGetBooleanv( GL_LIGHT_MODEL_TWO_SIDE, &lv );
09851       NVSG_ASSERT( ctx->m_lightingAttributes.m_lightModelTwoSide == !!lv );
09852 #endif
09853       _GLLightModeli( GL_LIGHT_MODEL_TWO_SIDE, param );
09854 #if defined( GL_CACHING )
09855       ctx->m_lightingAttributes.m_lightModelTwoSide = !!param;
09856 #endif
09857     }
09858   }
09859 }
09860
09865 inline void GLResetLightModelTwoSide()
09866 {
09867 #if defined(GL_SUPPORT_RESET)
09868   GLLightModelTwoSide( glContext()->m_previousAttributes.m_lightModelTwoSide );
09869 #else
09870   GLLightModelTwoSide( GL_FALSE );
09871 #endif
09872 }
09873
09880 inline void GLLightModelTwoSideLock( GLint param )
09881 {
09882   NVSG_ASSERT( !glContext()->m_locks.m_lightModelTwoSide );
09883   GLLightModelTwoSide( param );
09884   glContext()->m_locks.m_lightModelTwoSide = true;
09885 }
09886
09891 inline void GLLightModelTwoSideUnlock( GLint param )
09892 {
09893   NVSG_ASSERT( glContext()->m_locks.m_lightModelTwoSide );
09894   glContext()->m_locks.m_lightModelTwoSide = false;
09895   GLLightModelTwoSide( param );
09896 }
09897
09899
09900 inline  void  GLLightModelf( GLenum pname, GLfloat param )
09901 {
09902   switch( pname )
09903   {
09904     case GL_LIGHT_MODEL_LOCAL_VIEWER :
09905       GLLightModelLocalViewer( (GLint)param );
09906       break;
09907     case GL_LIGHT_MODEL_TWO_SIDE :
09908       GLLightModelTwoSide( (GLint)param );
09909       break;
09910     default :
09911       _GLLightModelf( pname, param );
09912       break;
09913   }
09914 }
09915
09917
09918 inline  void  GLLightModelfv( GLenum pname, const GLfloat *params )
09919 {
09920   switch( pname )
09921   {
09922     case GL_LIGHT_MODEL_AMBIENT :
09923       GLLightModelAmbient( params );
09924       break;
09925     case GL_LIGHT_MODEL_LOCAL_VIEWER :
09926       GLLightModelLocalViewer( (GLint)params[0] );
09927       break;
09928     case GL_LIGHT_MODEL_TWO_SIDE :
09929       GLLightModelTwoSide( (GLint)params[0] );
09930       break;
09931     default :
09932       _GLLightModelfv( pname, params );
09933       break;
09934   }
09935 }
09936
09938
09939 inline  void  GLLightModeli( GLenum pname, GLint param )
09940 {
09941   switch( pname )
09942   {
09943     case GL_LIGHT_MODEL_LOCAL_VIEWER :
09944       GLLightModelLocalViewer( param );
09945       break;
09946     case GL_LIGHT_MODEL_TWO_SIDE :
09947       GLLightModelTwoSide( param );
09948       break;
09949     default :
09950       _GLLightModeli( pname, param );
09951       break;
09952   }
09953 }
09954
09956
09957 inline  void  GLLightModeliv( GLenum pname, const GLint *params )
09958 {
09959   switch( pname )
09960   {
09961     case GL_LIGHT_MODEL_LOCAL_VIEWER :
09962       GLLightModelLocalViewer( params[0] );
09963       break;
09964     case GL_LIGHT_MODEL_TWO_SIDE :
09965       GLLightModelTwoSide( params[0] );
09966       break;
09967     default :
09968       _GLLightModeliv( pname, params );
09969       break;
09970   }
09971 }
09972
09974
09975 inline  void  GLLineStipple( GLint factor, GLushort pattern )
09976 {
09977 #if defined( GL_CACHING )
09978   GLContext * ctx = glContext();
09979 # if defined(GL_SUPPORT_RESET)
09980   ctx->m_previousAttributes.m_lineStipplePattern = ctx->m_lineAttributes.m_stipplePattern;
09981   ctx->m_previousAttributes.m_lineStippleRepeat  = ctx->m_lineAttributes.m_stippleRepeat;
09982 # endif
09983   if ( ( ctx->m_lineAttributes.m_stippleRepeat != factor ) || ( ctx->m_lineAttributes.m_stipplePattern != pattern ) )
09984 #endif
09985   {
09986     NVSG_GL_STATS_FCT_COUNT();
09987     glLineStipple( factor, pattern );
09988     ASSERT_GL_NO_ERROR;
09989 #if defined( GL_CACHING )
09990     ctx->m_lineAttributes.m_stippleRepeat = factor;
09991     ctx->m_lineAttributes.m_stipplePattern = pattern;
09992 #endif
09993   }
09994 }
09995
10001 inline void GLResetLineStippleDefinition()
10002 {
10003 #if defined(GL_SUPPORT_RESET)
10004   GLContext * ctx = glContext();
10005   GLLineStipple( ctx->m_previousAttributes.m_lineStippleRepeat
10006                , ctx->m_previousAttributes.m_lineStipplePattern );
10007 #else
10008   GLLineStipple( 1, (GLushort)0xFFFF );
10009 #endif
10010 }
10011
10013
10014 inline  void  GLLineWidth( GLfloat width )
10015 {
10016 #if defined( GL_CACHING )
10017   GLContext * ctx = glContext();
10018 # if defined(GL_SUPPORT_RESET)
10019   ctx->m_previousAttributes.m_lineWidth = ctx->m_lineAttributes.m_width;
10020 # endif
10021   if ( ctx->m_lineAttributes.m_width != width )
10022   {
10023 # if !defined(NDEBUG)
10024     GLfloat f;
10025     glGetFloatv( GL_LINE_WIDTH, &f );
10026     NVSG_ASSERT( ctx->m_lineAttributes.m_width == f );
10027 # endif
10028 #endif
10029     NVSG_GL_STATS_LINE_WIDTH( width );
10030     glLineWidth( width );
10031     ASSERT_GL_NO_ERROR;
10032 #if defined( GL_CACHING )
10033     ctx->m_lineAttributes.m_width = width;
10034   }
10035 #endif
10036 }
10037
10042 inline void GLResetLineWidth()
10043 {
10044 #if defined(GL_SUPPORT_RESET)
10045   GLLineWidth( glContext()->m_previousAttributes.m_lineWidth );
10046 #else
10047   GLLineWidth( 1.0f );
10048 #endif
10049 }
10050
10052
10053 inline  void  GLLinkProgram( GLuint program )
10054 {
10055   NVSG_GL_STATS_FCT_COUNT();
10056   NVSG_ASSERT( glContext()->m_glFunctions );
10057   glContext()->m_glFunctions->glLinkProgram( program );
10058   ASSERT_GL_NO_ERROR;
10059 }
10060
10062
10063 inline  void  GLListBase( GLuint base )
10064 {
10065   NVSG_GL_STATS_FCT_COUNT();
10066   glListBase( base );
10067   ASSERT_GL_NO_ERROR;
10068 }
10069
10071
10072 inline  void  GLLoadIdentity( void )
10073 {
10074   NVSG_GL_STATS_LOAD_IDENTITY();
10075 #if defined( GL_CACHING )
10076   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
10077   { // note: we have a texture matrix stack per unit
10078     _GLUpdateActiveTexture();
10079   }
10080 #endif
10081   glLoadIdentity();
10082   ASSERT_GL_NO_ERROR;
10083 }
10084
10086
10087 inline  void  GLLoadMatrixd( const GLdouble *m )
10088 {
10089   NVSG_GL_STATS_LOAD_MATRIXD( m );
10090 #if defined( GL_CACHING )
10091   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
10092   { // note: we have a texture matrix stack per unit
10093     _GLUpdateActiveTexture();
10094   }
10095 #endif
10096   glLoadMatrixd( m );
10097   ASSERT_GL_NO_ERROR;
10098 }
10099
10101
10102 inline  void  GLLoadMatrixf( const GLfloat *m )
10103 {
10104   NVSG_GL_STATS_LOAD_MATRIXF( m );
10105 #if defined( GL_CACHING )
10106   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
10107   { // note: we have a texture matrix stack per unit
10108     _GLUpdateActiveTexture();
10109   }
10110 #endif
10111   glLoadMatrixf( m );
10112   ASSERT_GL_NO_ERROR;
10113 }
10114
10116
10117 inline  void  GLLoadTransposedMatrixd( const GLdouble *m )
10118 {
10119   NVSG_GL_STATS_LOAD_MATRIXD( m );
10120 #if defined( GL_CACHING )
10121   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
10122   { // note: we have a texture matrix stack per unit
10123     _GLUpdateActiveTexture();
10124   }
10125 #endif
10126   NVSG_ASSERT( glContext()->m_glFunctions );
10127   glContext()->m_glFunctions->glLoadTransposeMatrixd( m );
10128   ASSERT_GL_NO_ERROR;
10129 }
10130
10132
10133 inline  void  GLLoadTransposeMatrixf( const GLfloat *m )
10134 {
10135   NVSG_GL_STATS_LOAD_MATRIXF( m );
10136 #if defined( GL_CACHING )
10137   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
10138   { // note: we have a texture matrix stack per unit
10139     _GLUpdateActiveTexture();
10140   }
10141 #endif
10142   NVSG_ASSERT( glContext()->m_glFunctions );
10143   glContext()->m_glFunctions->glLoadTransposeMatrixf( m );
10144   ASSERT_GL_NO_ERROR;
10145 }
10146
10148
10149 inline  void  GLLoadName( GLuint name )
10150 {
10151   NVSG_GL_STATS_FCT_COUNT();
10152   glLoadName( name );
10153   ASSERT_GL_NO_ERROR;
10154 }
10155
10157
10158 inline  void  GLLoadProgram( GLenum target, GLuint id, GLsizei len, const GLubyte *program )
10159 {
10160   NVSG_GL_STATS_FCT_COUNT();
10161   NVSG_ASSERT( glContext()->m_glFunctions );
10162   glContext()->m_glFunctions->glLoadProgramNV( target, id, len, program );
10163 #if !defined(NDEBUG)
10164   const GLubyte * err = glGetString( GL_PROGRAM_ERROR_STRING_NV );
10165   NVSG_ASSERT( err[0] == 0 );
10166   ASSERT_GL_NO_ERROR;
10167   GLint errorPos;
10168   glGetIntegerv( GL_PROGRAM_ERROR_POSITION_NV, &errorPos );
10169   NVSG_ASSERT( errorPos == -1 );
10170 #endif
10171 }
10172
10174
10175 inline  void  GLLockArrays( GLint first, GLsizei count )
10176 {
10177   NVSG_GL_STATS_FCT_COUNT();
10178   NVSG_ASSERT( glContext()->m_glFunctions );
10179   glContext()->m_glFunctions->glLockArrays( first, count );
10180   ASSERT_GL_NO_ERROR;
10181 }
10182
10184
10185 inline  void  GLLogicOp( GLenum opcode )
10186 {
10187   NVSG_GL_STATS_FCT_COUNT();
10188   glLogicOp( opcode );
10189   ASSERT_GL_NO_ERROR;
10190 }
10191
10193
10194 inline  void  GLMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points )
10195 {
10196   NVSG_GL_STATS_FCT_COUNT();
10197   glMap1d( target, u1, u2, stride, order, points );
10198   ASSERT_GL_NO_ERROR;
10199 }
10200
10202
10203 inline  void  GLMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points )
10204 {
10205   NVSG_GL_STATS_FCT_COUNT();
10206   glMap1f( target, u1, u2, stride, order, points );
10207   ASSERT_GL_NO_ERROR;
10208 }
10209
10211
10212 inline  void  GLMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points )
10213 {
10214   NVSG_GL_STATS_FCT_COUNT();
10215   glMap2d( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
10216   ASSERT_GL_NO_ERROR;
10217 }
10218
10220
10221 inline  void  GLMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points )
10222 {
10223   NVSG_GL_STATS_FCT_COUNT();
10224   glMap2f( target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points );
10225   ASSERT_GL_NO_ERROR;
10226 }
10227
10229
10230 inline  void  GLMapGrid1d( GLint un, GLdouble u1, GLdouble u2 )
10231 {
10232   NVSG_GL_STATS_FCT_COUNT();
10233   glMapGrid1d( un, u1, u2 );
10234   ASSERT_GL_NO_ERROR;
10235 }
10236
10238
10239 inline  void  GLMapGrid1f( GLint un, GLfloat u1, GLfloat u2 )
10240 {
10241   NVSG_GL_STATS_FCT_COUNT();
10242   glMapGrid1f( un, u1, u2 );
10243   ASSERT_GL_NO_ERROR;
10244 }
10245
10247
10248 inline  void  GLMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 )
10249 {
10250   NVSG_GL_STATS_FCT_COUNT();
10251   glMapGrid2d( un, u1, u2, vn, v1, v2 );
10252   ASSERT_GL_NO_ERROR;
10253 }
10254
10256
10257 inline  void  GLMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 )
10258 {
10259   NVSG_GL_STATS_FCT_COUNT();
10260   glMapGrid2f( un, u1, u2, vn, v1, v2 );
10261   ASSERT_GL_NO_ERROR;
10262 }
10263
10264 #if !defined(DOXYGEN_IGNORE)
10265 #if defined( GL_CACHING )
10266 inline void _GLMaterialfCached( GLenum face, GLenum pname, GLfloat param, GLfloat * cache )
10267 {
10268   if ( !equalf( param, *cache ) )
10269   {
10270 #if !defined(NDEBUG)
10271     GLfloat f;
10272     glGetMaterialfv( face, pname, &f );
10273     NVSG_ASSERT( *cache == f );
10274 #endif
10275     _GLMaterialf( face, pname, param );
10276     *cache = param;
10277   }
10278 }
10279 inline void _GLMaterialfCached( GLenum pname, GLfloat param, GLfloat * cacheFront, GLfloat * cacheBack )
10280 {
10281   if ( !equalf( param, *cacheFront ) || !equalf( param, *cacheBack ) )
10282   {
10283 #if !defined(NDEBUG)
10284     GLfloat f0, f1;
10285     glGetMaterialfv( GL_FRONT, pname, &f0 );
10286     glGetMaterialfv( GL_BACK, pname, &f1 );
10287     NVSG_ASSERT( ( *cacheFront == f0 ) && ( *cacheBack == f1 ) );
10288 #endif
10289     _GLMaterialf( GL_FRONT_AND_BACK, pname, param );
10290     *cacheFront = param;
10291     *cacheBack = param;
10292   }
10293 }
10294 inline void _GLMaterialfvCached( GLenum face, GLenum pname, const GLfloat * params, GLfloat * cache )
10295 {
10296   if ( !equal4fv( params, cache ) )
10297   {
10298 #if !defined(NDEBUG)
10299     GLfloat p[4];
10300     glGetMaterialfv( face, pname, p );
10301     NVSG_ASSERT( equal4fv( cache, p ) );
10302 #endif
10303     _GLMaterialfv( face, pname, params );
10304     memcpy( cache, params, 4*sizeof(float) );
10305   }
10306 }
10307 inline void _GLMaterialfvCached( GLenum face, GLenum pname, const GLfloat * params, GLfloat * cache, bool colorMaterial )
10308 {
10309   if ( colorMaterial )
10310   {
10311     _GLMaterialfv( face, pname, params );
10312   }
10313   else
10314   {
10315     _GLMaterialfvCached( face, pname, params, cache );
10316   }
10317 }
10318 inline void _GLMaterialfvCached( GLenum pname, const GLfloat * params, GLfloat * cacheFront, GLfloat * cacheBack )
10319 {
10320   if ( !equal4fv( params, cacheFront ) || !equal4fv( params, cacheBack ) )
10321   {
10322 #if !defined(NDEBUG)
10323     GLfloat p0[4], p1[4];
10324     glGetMaterialfv( GL_FRONT, pname, p0 );
10325     glGetMaterialfv( GL_BACK, pname, p1 );
10326     NVSG_ASSERT( equal4fv( cacheFront, p0 ) && equal4fv( cacheBack, p1 ) );
10327 #endif
10328     _GLMaterialfv( GL_FRONT_AND_BACK, pname, params );
10329     memcpy( cacheFront, params, 4*sizeof(float) );
10330     memcpy( cacheBack, params, 4*sizeof(float) );
10331   }
10332 }
10333 inline void _GLMaterialfvCached( GLenum pname, const GLfloat * params, GLfloat * cacheFront, GLfloat * cacheBack, bool colorMaterial )
10334 {
10335   if ( colorMaterial )
10336   {
10337     _GLMaterialfv( GL_FRONT_AND_BACK, pname, params );
10338   }
10339   else
10340   {
10341     _GLMaterialfvCached( pname, params, cacheFront, cacheBack );
10342   }
10343 }
10344 # if defined(GL_SUPPORT_RESET)
10345 inline void _GLMaterialfCachedR( GLenum face, GLenum pname, GLfloat param, GLfloat * cache, GLfloat * prev )
10346 {
10347   *prev = *cache;
10348   _GLMaterialfCached( face, pname, param, cache );
10349 }
10350 inline void _GLMaterialfCachedR( GLenum pname, GLfloat param, GLfloat * cacheFront, GLfloat * cacheBack, GLfloat * prevFront, GLfloat * prevBack )
10351 {
10352   *prevFront = *cacheFront;
10353   *prevBack = *cacheBack;
10354   _GLMaterialfCached( pname, param, cacheFront, cacheBack );
10355 }
10356 inline void _GLMaterialfvCachedR( GLenum face, GLenum pname, const GLfloat * params, GLfloat * cache, GLfloat * prev )
10357 {
10358   memcpy( prev, cache, 4*sizeof(GLfloat) );
10359   _GLMaterialfvCached( face, pname, params, cache );
10360 }
10361 inline void _GLMaterialfvCachedR( GLenum face, GLenum pname, const GLfloat * params, GLfloat * cache, GLfloat * prev, bool colorMaterial )
10362 {
10363   memcpy( prev, cache, 4*sizeof(GLfloat) );
10364   _GLMaterialfvCached( face, pname, params, cache, colorMaterial );
10365 }
10366 inline void _GLMaterialfvCachedR( GLenum pname, const GLfloat * params, GLfloat * cacheFront, GLfloat * cacheBack, GLfloat * prevFront, GLfloat * prevBack )
10367 {
10368   memcpy( prevFront, cacheFront, 4*sizeof(GLfloat) );
10369   memcpy( prevBack, cacheBack, 4*sizeof(GLfloat) );
10370   _GLMaterialfvCached( pname, params, cacheFront, cacheBack );
10371 }
10372 inline void _GLMaterialfvCachedR( GLenum pname, const GLfloat * params, GLfloat * cacheFront, GLfloat * cacheBack, GLfloat * prevFront, GLfloat * prevBack, bool colorMaterial )
10373 {
10374   memcpy( prevFront, cacheFront, 4*sizeof(GLfloat) );
10375   memcpy( prevBack, cacheBack, 4*sizeof(GLfloat) );
10376   _GLMaterialfvCached( pname, params, cacheFront, cacheBack, colorMaterial );
10377 }
10378 #  define GL_MATERIAL_F( face, pname, param, cache, prev )                                    _GLMaterialfCachedR( face, pname, param, cache, prev )
10379 #  define GL_MATERIAL_F2( pname, param, cacheFront, cacheBack, prevFront, prevBack )          _GLMaterialfCachedR( pname, param, cacheFront, cacheBack, prevFront, prevBack )
10380 #  define GL_MATERIAL_FV( face, pname, params, cache, prev )                                  _GLMaterialfvCachedR( face, pname, params, cache, prev )
10381 #  define GL_MATERIAL_FV2( pname, params, cacheFront, cacheBack, prevFront, prevBack )        _GLMaterialfvCachedR( pname, params, cacheFront, cacheBack, prevFront, prevBack )
10382 #  define GL_MATERIAL_FV_CM( face, pname, params, cache, prev, cm )                           _GLMaterialfvCachedR( face, pname, params, cache, prev, cm )
10383 #  define GL_MATERIAL_FV2_CM( pname, params, cacheFront, cacheBack, prevFront, prevBack, cm ) _GLMaterialfvCachedR( pname, params, cacheFront, cacheBack, prevFront, prevBack, cm )
10384 # else
10385 #  define GL_MATERIAL_F( face, pname, param, cache, prev )                                    _GLMaterialfCached( face, pname, param, cache )
10386 #  define GL_MATERIAL_F2( pname, param, cacheFront, cacheBack, prevFront, prevBack )          _GLMaterialfCached( pname, param, cacheFront, cacheBack )
10387 #  define GL_MATERIAL_FV( face, pname, params, cache, prev )                                  _GLMaterialfvCached( face, pname, params, cache )
10388 #  define GL_MATERIAL_FV2( pname, params, cacheFront, cacheBack, prevFront, prevBack )        _GLMaterialfvCached( pname, params, cacheFront, cacheBack )
10389 #  define GL_MATERIAL_FV_CM( face, pname, params, cache, prev, cm )                           _GLMaterialfvCached( face, pname, params, cache, cm )
10390 #  define GL_MATERIAL_FV2_CM( pname, params, cacheFront, cacheBack, prevFront, prevBack, cm ) _GLMaterialfvCached( pname, params, cacheFront, cacheBack, cm )
10391 # endif
10392 #else
10393 # define GL_MATERIAL_F( face, pname, param, cache, prevFront )                                _GLMaterialf( face, pname, param )
10394 # define GL_MATERIAL_F2( pname, param, cacheFront, cacheBack, prevFront, prevBack )           _GLMaterialf( GL_FRONT_AND_BACK, pname, param )
10395 # define GL_MATERIAL_FV( face, pname, params, cache, prev )                                   _GLMaterialfv( face, pname, params )
10396 # define GL_MATERIAL_FV2( pname, params, cacheFront, cacheBack, prevFront, prevBack )         _GLMaterialfv( GL_FRONT_AND_BACK, pname, params )
10397 # define GL_MATERIAL_FV_CM( face, pname, params, cache, prev, cm )                            _GLMaterialfv( face, pname, params )
10398 # define GL_MATERIAL_FV2_CM( pname, params, cacheFront, cacheBack, prevFront, prevBack, cm )  _GLMaterialfv( GL_FRONT_AND_BACK, pname, params )
10399 #endif
10400
10401 #if defined(GL_SUPPORT_RESET)
10402 inline void _GLResetMaterialf( GLenum pname, GLfloat defParam, GLfloat * cacheFront, GLfloat * cacheBack, GLfloat * prevFront, GLfloat * prevBack )
10403 {
10404   if ( *prevFront == *prevBack )
10405   {
10406     _GLMaterialfCachedR( pname, *prevFront, cacheFront, cacheBack, prevFront, prevBack );
10407   }
10408   else
10409   {
10410     _GLMaterialfCachedR( GL_FRONT, pname, *prevFront, cacheFront, prevFront );
10411     _GLMaterialfCachedR( GL_BACK, pname, *prevBack, cacheBack, prevBack );
10412   }
10413 }
10414 inline void _GLResetMaterialfv( GLenum face, GLenum pname, GLfloat * cache, GLfloat * prev )
10415 {
10416   GLfloat tmp[4];
10417   memcpy( &tmp[0], prev, 4*sizeof(GLfloat) );
10418   _GLMaterialfvCachedR( face, pname, tmp, cache, prev );
10419 }
10420 inline void _GLResetMaterialfv( GLenum pname, GLfloat * cacheFront, GLfloat * cacheBack, GLfloat * prevFront, GLfloat * prevBack )
10421 {
10422   if ( equal4fv( prevFront, prevBack ) )
10423   {
10424     GLfloat tmp[4];
10425     memcpy( &tmp[0], prevFront, 4*sizeof(GLfloat) );
10426     _GLMaterialfvCachedR( pname, tmp, cacheFront, cacheBack, prevFront, prevBack );
10427   }
10428   else
10429   {
10430     _GLResetMaterialfv( GL_FRONT, pname, cacheFront, prevFront );
10431     _GLResetMaterialfv( GL_BACK, pname, cacheBack, prevBack );
10432   }
10433 }
10434 inline void _GLResetMaterialfv( GLenum face, GLenum pname, const GLfloat * defParams, GLfloat * cache, GLfloat * prev, bool colorMaterial )
10435 {
10436   if ( colorMaterial )
10437   {
10438     _GLMaterialfv( face, pname, defParams );
10439   }
10440   else
10441   {
10442     _GLResetMaterialfv( face, pname, cache, prev );
10443   }
10444 }
10445 inline void _GLResetMaterialfv( GLenum pname, const GLfloat * defParams, GLfloat * cacheFront, GLfloat * cacheBack, GLfloat * prevFront, GLfloat * prevBack, bool colorMaterial )
10446 {
10447   if ( colorMaterial )
10448   {
10449     _GLMaterialfv( GL_FRONT_AND_BACK, pname, defParams );
10450   }
10451   else
10452   {
10453     _GLResetMaterialfv( pname, cacheFront, cacheBack, prevFront, prevBack );
10454   }
10455 }
10456 # define GL_RESET_MATERIAL_F( face, pname, defParam, cache, prev )                                    _GLMaterialfCachedR( face, pname, *prev, cache, prev )
10457 # define GL_RESET_MATERIAL_F2( pname, defParam, cacheFront, cacheBack, prevFront, prevBack )          _GLResetMaterialf( pname, defParam, cacheFront, cacheBack, prevFront, prevBack )
10458 # define GL_RESET_MATERIAL_FV( face, pname, defParams, cache, prev )                                  _GLResetMaterialfv( face, pname, cache, prev )
10459 # define GL_RESET_MATERIAL_FV2( pname, defParams, cacheFront, cacheBack, prevFront, prevBack )        _GLResetMaterialfv( pname, cacheFront, cacheBack, prevFront, prevBack )
10460 # define GL_RESET_MATERIAL_FV_CM( face, pname, defParams, cache, prev, cm )                           _GLResetMaterialfv( face, pname, defParams, cache, prev, cm )
10461 # define GL_RESET_MATERIAL_FV2_CM( pname, defParams, cacheFront, cacheBack, prevFront, prevBack, cm ) _GLResetMaterialfv( pname, defParams, cacheFront, cacheBack, prevFront, prevBack, cm )
10462 #else
10463 # define GL_RESET_MATERIAL_F( face, pname, defParam, cache, prev )                                    _GLMaterialf( face, pname, defParam )
10464 # define GL_RESET_MATERIAL_F2( pname, defParam, cacheFront, cacheBack, prevFront, prevBack )          _GLMaterialf( GL_FRONT_AND_BACK, pname, defParam )
10465 # define GL_RESET_MATERIAL_FV( face, pname, defParams, cache, prev )                                  _GLMaterialfv( face, pname, defParams )
10466 # define GL_RESET_MATERIAL_FV2( pname, defParams, cacheFront, cacheBack, prevFront, prevBack )        _GLMaterialfv( GL_FRONT_AND_BACK, pname, defParams )
10467 # define GL_RESET_MATERIAL_FV_CM( face, pname, defParams, cache, prev, cm )                           _GLMaterialfv( face, pname, defParams )
10468 # define GL_RESET_MATERIAL_FV2_CM( pname, defParams, cacheFront, cacheBack, prevFront, prevBack, cm ) _GLMaterialfv( GL_FRONT_AND_BACK, pname, defParams )
10469 #endif
10470 #endif // DOXYGEN_IGNORE
10471
10473
10475 inline  void  GLMaterialShininessBack( GLfloat param )
10476 {
10477   GL_MATERIAL_F( GL_BACK, GL_SHININESS, param
10478                , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_BACK]
10479                , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_BACK] );
10480 }
10481
10486 inline void GLResetMaterialShininessBack()
10487 {
10488   GL_RESET_MATERIAL_F( GL_BACK, GL_SHININESS, 0.0f
10489                      , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_BACK]
10490                      , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_BACK] );
10491 }
10492
10494
10496 inline  void  GLMaterialShininessFront( GLfloat param )
10497 {
10498   GL_MATERIAL_F( GL_FRONT, GL_SHININESS, param
10499                , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_FRONT]
10500                , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_FRONT] );
10501 }
10502
10507 inline void GLResetMaterialShininessFront()
10508 {
10509   GL_RESET_MATERIAL_F( GL_FRONT, GL_SHININESS, 0.0f
10510                      , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_FRONT]
10511                      , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_FRONT] );
10512 }
10513
10515
10517 inline  void  GLMaterialShininessFrontAndBack( GLfloat param )
10518 {
10519   GL_MATERIAL_F2( GL_SHININESS, param
10520                 , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_FRONT]
10521                 , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_BACK]
10522                 , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_FRONT]
10523                 , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_BACK] );
10524 }
10525
10530 inline void GLResetMaterialShininessFrontAndBack()
10531 {
10532   GL_RESET_MATERIAL_F2( GL_SHININESS, 0.0f
10533                       , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_FRONT]
10534                       , &glContext()->m_lightingAttributes.m_materialShininess[NVSG_CACHE_BACK]
10535                       , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_FRONT]
10536                       , &glContext()->m_previousAttributes.m_materialShininess[NVSG_CACHE_BACK] );
10537 }
10538
10540
10542 inline  void  GLMaterialShininess( GLenum face, GLfloat param )
10543 {
10544 #if defined( GL_CACHING )
10545   switch( face )
10546   {
10547     case GL_BACK :
10548       GLMaterialShininessBack( param );
10549       break;
10550     case GL_FRONT :
10551       GLMaterialShininessFront( param );
10552       break;
10553     case GL_FRONT_AND_BACK :
10554       GLMaterialShininessFrontAndBack( param );
10555       break;
10556     default :
10557       NVSG_ASSERT( false );
10558       break;
10559   }
10560 #else
10561   GLMaterialf( face, GL_SHININESS, param );
10562 #endif
10563 }
10564
10566
10568 inline  void  GLMaterialAmbientBack( const GLfloat *params )
10569 {
10570   GL_MATERIAL_FV_CM( GL_BACK, GL_AMBIENT, params
10571                    , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10572                    , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10573                    , !!glContext()->m_lightingAttributes.m_colorMaterial );
10574 }
10575
10580 inline void GLResetMaterialAmbientBack()
10581 {
10582   static nvmath::Vec4f ma(0.2f,0.2f,0.2f,1.0f);
10583   GL_RESET_MATERIAL_FV_CM( GL_BACK, GL_AMBIENT, &ma[0]
10584                          , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10585                          , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10586                          , !!glContext()->m_lightingAttributes.m_colorMaterial );
10587 }
10588
10590
10592 inline  void  GLMaterialAmbientFront( const GLfloat *params )
10593 {
10594   GL_MATERIAL_FV_CM( GL_FRONT, GL_AMBIENT, params
10595                    , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10596                    , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10597                    , !!glContext()->m_lightingAttributes.m_colorMaterial );
10598 }
10599
10604 inline void GLResetMaterialAmbientFront()
10605 {
10606   static nvmath::Vec4f ma(0.2f,0.2f,0.2f,1.0f);
10607   GL_RESET_MATERIAL_FV_CM( GL_FRONT, GL_AMBIENT, &ma[0]
10608                          , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10609                          , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10610                          , !!glContext()->m_lightingAttributes.m_colorMaterial );
10611 }
10612
10614
10616 inline  void  GLMaterialAmbientFrontAndBack( const GLfloat *params )
10617 {
10618   GL_MATERIAL_FV2_CM( GL_AMBIENT, params
10619                     , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10620                     , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10621                     , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10622                     , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10623                     , !!glContext()->m_lightingAttributes.m_colorMaterial );
10624 }
10625
10631 inline void GLResetMaterialAmbientFrontAndBack()
10632 {
10633   static nvmath::Vec4f ma(0.2f,0.2f,0.2f,1.0f);
10634   GL_RESET_MATERIAL_FV2_CM( GL_AMBIENT, &ma[0]
10635                           , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10636                           , &glContext()->m_lightingAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10637                           , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_FRONT][0]
10638                           , &glContext()->m_previousAttributes.m_materialAmbient[NVSG_CACHE_BACK][0]
10639                           , !!glContext()->m_lightingAttributes.m_colorMaterial );
10640 }
10641
10643
10645 inline  void  GLMaterialAmbient( GLenum face, const GLfloat *params )
10646 {
10647 #if defined( GL_CACHING )
10648   switch( face )
10649   {
10650     case GL_BACK :
10651       GLMaterialAmbientBack( params );
10652       break;
10653     case GL_FRONT :
10654       GLMaterialAmbientFront( params );
10655       break;
10656     case GL_FRONT_AND_BACK :
10657       GLMaterialAmbientFrontAndBack( params );
10658       break;
10659     default :
10660       NVSG_ASSERT( false );
10661       break;
10662   }
10663 #else
10664   GLMaterialfv( face, GL_AMBIENT, params );
10665 #endif
10666 }
10667
10669
10671 inline  void  GLMaterialDiffuseBack( const GLfloat *params )
10672 {
10673   GL_MATERIAL_FV_CM( GL_BACK, GL_DIFFUSE, params
10674                    , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10675                    , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10676                    , !!glContext()->m_lightingAttributes.m_colorMaterial );
10677 }
10678
10683 inline void GLResetMaterialDiffuseBack()
10684 {
10685   static nvmath::Vec4f md(0.8f,0.8f,0.8f,1.0f);
10686   GL_RESET_MATERIAL_FV_CM( GL_BACK, GL_DIFFUSE, &md[0]
10687                           , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10688                           , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10689                           , !!glContext()->m_lightingAttributes.m_colorMaterial );
10690 }
10691
10693
10695 inline  void  GLMaterialDiffuseFront( const GLfloat *params )
10696 {
10697   GL_MATERIAL_FV_CM( GL_FRONT, GL_DIFFUSE, params
10698                    , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10699                    , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10700                    , !!glContext()->m_lightingAttributes.m_colorMaterial );
10701 }
10702
10707 inline void GLResetMaterialDiffuseFront()
10708 {
10709   static nvmath::Vec4f md(0.8f,0.8f,0.8f,1.0f);
10710   GL_RESET_MATERIAL_FV_CM( GL_FRONT, GL_DIFFUSE, &md[0]
10711                          , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10712                          , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10713                          , !!glContext()->m_lightingAttributes.m_colorMaterial );
10714 }
10715
10717
10719 inline  void  GLMaterialDiffuseFrontAndBack( const GLfloat *params )
10720 {
10721   GL_MATERIAL_FV2_CM( GL_DIFFUSE, params
10722                     , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10723                     , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10724                     , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10725                     , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10726                     , !!glContext()->m_lightingAttributes.m_colorMaterial );
10727 }
10728
10734 inline void GLResetMaterialDiffuseFrontAndBack()
10735 {
10736   static nvmath::Vec4f md(0.8f,0.8f,0.8f,1.0f);
10737   GL_RESET_MATERIAL_FV2_CM( GL_DIFFUSE, &md[0]
10738                           , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10739                           , &glContext()->m_lightingAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10740                           , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_FRONT][0]
10741                           , &glContext()->m_previousAttributes.m_materialDiffuse[NVSG_CACHE_BACK][0]
10742                           , !!glContext()->m_lightingAttributes.m_colorMaterial );
10743 }
10744
10746
10748 inline  void  GLMaterialDiffuse( GLenum face, const GLfloat *params )
10749 {
10750 #if defined( GL_CACHING )
10751   switch( face )
10752   {
10753     case GL_BACK :
10754       GLMaterialDiffuseBack( params );
10755       break;
10756     case GL_FRONT :
10757       GLMaterialDiffuseFront( params );
10758       break;
10759     case GL_FRONT_AND_BACK :
10760       GLMaterialDiffuseFrontAndBack( params );
10761       break;
10762     default :
10763       NVSG_ASSERT( false );
10764       break;
10765   }
10766 #else
10767   GLMaterialfv( face, GL_DIFFUSE, params );
10768 #endif
10769 }
10770
10772
10774 inline  void  GLMaterialEmissionBack( const GLfloat *params )
10775 {
10776   GL_MATERIAL_FV( GL_BACK, GL_EMISSION, params
10777                 , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_BACK][0]
10778                 , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_BACK][0] );
10779 }
10780
10785 inline void GLResetMaterialEmissionBack()
10786 {
10787   static nvmath::Vec4f me(0.0f,0.0f,0.0f,1.0f);
10788   GL_RESET_MATERIAL_FV( GL_BACK, GL_EMISSION, &me[0]
10789                       , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_BACK][0]
10790                       , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_BACK][0] );
10791 }
10792
10794
10796 inline  void  GLMaterialEmissionFront( const GLfloat *params )
10797 {
10798   GL_MATERIAL_FV( GL_FRONT, GL_EMISSION, params
10799                 , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_FRONT][0]
10800                 , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_FRONT][0] );
10801 }
10802
10807 inline void GLResetMaterialEmissionFront()
10808 {
10809   static nvmath::Vec4f me(0.0f,0.0f,0.0f,1.0f);
10810   GL_RESET_MATERIAL_FV( GL_FRONT, GL_EMISSION, &me[0]
10811                       , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_FRONT][0]
10812                       , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_FRONT][0] );
10813 }
10814
10816
10818 inline  void  GLMaterialEmissionFrontAndBack( const GLfloat *params )
10819 {
10820   GL_MATERIAL_FV2( GL_EMISSION, params
10821                  , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_FRONT][0]
10822                  , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_BACK][0]
10823                  , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_FRONT][0]
10824                  , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_BACK][0] );
10825 }
10826
10831 inline void GLResetMaterialEmissionFrontAndBack()
10832 {
10833   static nvmath::Vec4f me(0.0f,0.0f,0.0f,1.0f);
10834   GL_RESET_MATERIAL_FV2( GL_EMISSION, &me[0]
10835                        , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_FRONT][0]
10836                        , &glContext()->m_lightingAttributes.m_materialEmission[NVSG_CACHE_BACK][0]
10837                        , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_FRONT][0]
10838                        , &glContext()->m_previousAttributes.m_materialEmission[NVSG_CACHE_BACK][0] );
10839 }
10840
10842
10844 inline  void  GLMaterialEmission( GLenum face, const GLfloat *params )
10845 {
10846 #if defined( GL_CACHING )
10847   switch( face )
10848   {
10849     case GL_BACK :
10850       GLMaterialEmissionBack( params );
10851       break;
10852     case GL_FRONT :
10853       GLMaterialEmissionFront( params );
10854       break;
10855     case GL_FRONT_AND_BACK :
10856       GLMaterialEmissionFrontAndBack( params );
10857       break;
10858     default :
10859       NVSG_ASSERT( false );
10860       break;
10861   }
10862 #else
10863   GLMaterialfv( face, GL_EMISSION, params );
10864 #endif
10865 }
10866
10868
10870 inline  void  GLMaterialSpecularBack( const GLfloat *params )
10871 {
10872   GL_MATERIAL_FV( GL_BACK, GL_SPECULAR, params
10873                 , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_BACK][0]
10874                 , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_BACK][0] );
10875 }
10876
10881 inline void GLResetMaterialSpecularBack()
10882 {
10883   static nvmath::Vec4f ms(0.0f,0.0f,0.0f,1.0f);
10884   GL_RESET_MATERIAL_FV( GL_BACK, GL_SPECULAR, &ms[0]
10885                       , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_BACK][0]
10886                       , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_BACK][0] );
10887 }
10888
10890
10892 inline  void  GLMaterialSpecularFront( const GLfloat *params )
10893 {
10894   GL_MATERIAL_FV( GL_FRONT, GL_SPECULAR, params
10895                 , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0]
10896                 , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0] );
10897 }
10898
10903 inline void GLResetMaterialSpecularFront()
10904 {
10905   static nvmath::Vec4f ms(0.0f,0.0f,0.0f,1.0f);
10906   GL_RESET_MATERIAL_FV( GL_FRONT, GL_SPECULAR, &ms[0]
10907                       , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0]
10908                       , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0] );
10909 }
10910
10912
10914 inline  void  GLMaterialSpecularFrontAndBack( const GLfloat *params )
10915 {
10916   GL_MATERIAL_FV2( GL_SPECULAR, params
10917                  , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0]
10918                  , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_BACK][0]
10919                  , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0]
10920                  , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_BACK][0] );
10921 }
10922
10927 inline void GLResetMaterialSpecularFrontAndBack()
10928 {
10929   static nvmath::Vec4f ms(0.0f,0.0f,0.0f,1.0f);
10930   GL_RESET_MATERIAL_FV2( GL_SPECULAR, &ms[0]
10931                        , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0]
10932                        , &glContext()->m_lightingAttributes.m_materialSpecular[NVSG_CACHE_BACK][0]
10933                        , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_FRONT][0]
10934                        , &glContext()->m_previousAttributes.m_materialSpecular[NVSG_CACHE_BACK][0] );
10935 }
10936
10938
10940 inline  void  GLMaterialSpecular( GLenum face, const GLfloat *params )
10941 {
10942 #if defined( GL_CACHING )
10943   switch( face )
10944   {
10945     case GL_BACK :
10946       GLMaterialSpecularBack( params );
10947       break;
10948     case GL_FRONT :
10949       GLMaterialSpecularFront( params );
10950       break;
10951     case GL_FRONT_AND_BACK :
10952       GLMaterialSpecularFrontAndBack( params );
10953       break;
10954     default :
10955       NVSG_ASSERT( false );
10956       break;
10957   }
10958 #else
10959   GLMaterialfv( face, GL_SPECULAR, params );
10960 #endif
10961 }
10962
10964
10965 inline  void  GLMaterialf( GLenum face, GLenum pname, GLfloat param )
10966 {
10967 #if defined( GL_CACHING )
10968   switch( pname )
10969   {
10970     case GL_SHININESS :
10971       GLMaterialShininess( face, param );
10972       break;
10973     default :
10974       _GLMaterialf( face, pname, param );
10975       break;
10976   }
10977 #else
10978   _GLMaterialf( face, pname, param );
10979 #endif
10980 }
10981
10983
10984 inline  void  GLMaterialfv( GLenum face, GLenum pname, const GLfloat *params )
10985 {
10986 #if defined( GL_CACHING )
10987   switch( pname )
10988   {
10989     case GL_AMBIENT :
10990       GLMaterialAmbient( face, params );
10991       break;
10992     case GL_DIFFUSE :
10993       GLMaterialDiffuse( face, params );
10994       break;
10995     case GL_EMISSION :
10996       GLMaterialEmission( face, params );
10997       break;
10998     case GL_SPECULAR :
10999       GLMaterialSpecular( face, params );
11000       break;
11001     case GL_SHININESS :
11002       GLMaterialShininess( face, params[0] );
11003       break;
11004     default :
11005       _GLMaterialfv( face, pname, params );
11006       break;
11007   }
11008 #else
11009   _GLMaterialfv( face, pname, params );
11010 #endif
11011 }
11012
11014
11015 inline  void  GLMateriali( GLenum face, GLenum pname, GLint param )
11016 {
11017 #if defined( GL_CACHING )
11018   switch( pname )
11019   {
11020     case GL_SHININESS :
11021       GLMaterialShininess( face, (GLfloat)param );
11022       break;
11023     default :
11024       _GLMateriali( face, pname, param );
11025       break;
11026   }
11027 #else
11028   _GLMateriali( face, pname, param );
11029 #endif
11030 }
11031
11033
11034 inline  void  GLMaterialiv( GLenum face, GLenum pname, const GLint *params )
11035 {
11036 #if defined( GL_CACHING )
11037   GLfloat fParams[4];
11038   switch( pname )
11039   {
11040     case GL_AMBIENT :
11041       GLintToGLfloat( params, fParams );
11042       GLMaterialAmbient( face, fParams );
11043       break;
11044     case GL_DIFFUSE :
11045       GLintToGLfloat( params, fParams );
11046       GLMaterialDiffuse( face, fParams );
11047       break;
11048     case GL_EMISSION :
11049       GLintToGLfloat( params, fParams );
11050       GLMaterialEmission( face, fParams );
11051       break;
11052     case GL_SPECULAR :
11053       GLintToGLfloat( params, fParams );
11054       GLMaterialSpecular( face, fParams );
11055       break;
11056     case GL_SHININESS :
11057       GLMaterialShininess( face, (GLfloat)params[0] );
11058       break;
11059     default :
11060       _GLMaterialiv( face, pname, params );
11061       break;
11062   }
11063 #else
11064   _GLMaterialiv( face, pname, params );
11065 #endif
11066 }
11067
11069
11070 inline  void  GLMatrixMode( GLenum mode )
11071 {
11072 #if defined( GL_CACHING )
11073   GLContext * ctx = glContext();
11074   if ( ctx->m_transformAttributes.m_matrixMode != mode )
11075 #endif
11076   {
11077     NVSG_GL_STATS_MATRIX_MODE( mode );
11078     glMatrixMode( mode );
11079     ASSERT_GL_NO_ERROR;
11080 #if defined( GL_CACHING )
11081     ctx->m_transformAttributes.m_matrixMode = mode;
11082 #endif
11083   }
11084 }
11085
11087
11088 inline  void  GLMinmax( GLenum target, GLenum internalformat, GLboolean sink )
11089 {
11090   NVSG_GL_STATS_FCT_COUNT();
11091   NVSG_ASSERT( glContext()->m_glFunctions );
11092   glContext()->m_glFunctions->glMinmax( target, internalformat, sink );
11093   ASSERT_GL_NO_ERROR;
11094 }
11095
11097
11098 inline  void  GLMultiTexCoord1d( GLenum target, GLdouble s )
11099 {
11100   NVSG_GL_STATS_FCT_COUNT();
11101   NVSG_ASSERT( glContext()->m_glFunctions );
11102   glContext()->m_glFunctions->glMultiTexCoord1d( target, s );
11103   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11104 }
11105
11107
11108 inline  void  GLMultiTexCoord1dv( GLenum target, const GLdouble *v )
11109 {
11110   NVSG_GL_STATS_FCT_COUNT();
11111   NVSG_ASSERT( glContext()->m_glFunctions );
11112   glContext()->m_glFunctions->glMultiTexCoord1dv( target, v );
11113   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11114 }
11115
11117
11118 inline  void  GLMultiTexCoord1f( GLenum target, GLfloat s )
11119 {
11120   NVSG_GL_STATS_FCT_COUNT();
11121   NVSG_ASSERT( glContext()->m_glFunctions );
11122   glContext()->m_glFunctions->glMultiTexCoord1f( target, s );
11123   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11124 }
11125
11127
11128 inline  void  GLMultiTexCoord1fv( GLenum target, const GLfloat *v )
11129 {
11130   NVSG_GL_STATS_FCT_COUNT();
11131   NVSG_ASSERT( glContext()->m_glFunctions );
11132   glContext()->m_glFunctions->glMultiTexCoord1fv( target, v );
11133   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11134 }
11135
11137
11138 inline  void  GLMultiTexCoord1h( GLenum target, GLhalf s )
11139 {
11140   NVSG_GL_STATS_FCT_COUNT();
11141   NVSG_ASSERT( glContext()->m_glFunctions );
11142   glContext()->m_glFunctions->glMultiTexCoord1h( target, s );
11143   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11144 }
11145
11147
11148 inline  void  GLMultiTexCoord1hv( GLenum target, const GLhalf *v )
11149 {
11150   NVSG_GL_STATS_FCT_COUNT();
11151   NVSG_ASSERT( glContext()->m_glFunctions );
11152   glContext()->m_glFunctions->glMultiTexCoord1hv( target, v );
11153   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11154 }
11155
11157
11158 inline  void  GLMultiTexCoord1i( GLenum target, GLint s )
11159 {
11160   NVSG_GL_STATS_FCT_COUNT();
11161   NVSG_ASSERT( glContext()->m_glFunctions );
11162   glContext()->m_glFunctions->glMultiTexCoord1i( target, s );
11163   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11164 }
11165
11167
11168 inline  void  GLMultiTexCoord1iv( GLenum target, const GLint *v )
11169 {
11170   NVSG_GL_STATS_FCT_COUNT();
11171   NVSG_ASSERT( glContext()->m_glFunctions );
11172   glContext()->m_glFunctions->glMultiTexCoord1iv( target, v );
11173   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11174 }
11175
11177
11178 inline  void  GLMultiTexCoord1s( GLenum target, GLshort s )
11179 {
11180   NVSG_GL_STATS_FCT_COUNT();
11181   NVSG_ASSERT( glContext()->m_glFunctions );
11182   glContext()->m_glFunctions->glMultiTexCoord1s( target, s );
11183   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11184 }
11185
11187
11188 inline  void  GLMultiTexCoord1sv( GLenum target, const GLshort *v )
11189 {
11190   NVSG_GL_STATS_FCT_COUNT();
11191   NVSG_ASSERT( glContext()->m_glFunctions );
11192   glContext()->m_glFunctions->glMultiTexCoord1sv( target, v );
11193   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11194 }
11195
11197
11198 inline  void  GLMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t )
11199 {
11200   NVSG_GL_STATS_FCT_COUNT();
11201   NVSG_ASSERT( glContext()->m_glFunctions );
11202   glContext()->m_glFunctions->glMultiTexCoord2d( target, s, t );
11203   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11204 }
11205
11207
11208 inline  void  GLMultiTexCoord2dv( GLenum target, const GLdouble *v )
11209 {
11210   NVSG_GL_STATS_FCT_COUNT();
11211   NVSG_ASSERT( glContext()->m_glFunctions );
11212   glContext()->m_glFunctions->glMultiTexCoord2dv( target, v );
11213   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11214 }
11215
11217
11218 inline  void  GLMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t )
11219 {
11220   NVSG_GL_STATS_FCT_COUNT();
11221   NVSG_ASSERT( glContext()->m_glFunctions );
11222   glContext()->m_glFunctions->glMultiTexCoord2f( target, s, t );
11223   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11224 }
11225
11227
11228 inline  void  GLMultiTexCoord2fv( GLenum target, const GLfloat *v )
11229 {
11230   NVSG_GL_STATS_FCT_COUNT();
11231   NVSG_ASSERT( glContext()->m_glFunctions );
11232   glContext()->m_glFunctions->glMultiTexCoord2fv( target, v );
11233   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11234 }
11235
11237
11238 inline  void  GLMultiTexCoord2h( GLenum target, GLhalf s, GLhalf t )
11239 {
11240   NVSG_GL_STATS_FCT_COUNT();
11241   NVSG_ASSERT( glContext()->m_glFunctions );
11242   glContext()->m_glFunctions->glMultiTexCoord2h( target, s, t );
11243   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11244 }
11245
11247
11248 inline  void  GLMultiTexCoord2hv( GLenum target, const GLhalf *v )
11249 {
11250   NVSG_GL_STATS_FCT_COUNT();
11251   NVSG_ASSERT( glContext()->m_glFunctions );
11252   glContext()->m_glFunctions->glMultiTexCoord2hv( target, v );
11253   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11254 }
11255
11257
11258 inline  void  GLMultiTexCoord2i( GLenum target, GLint s, GLint t )
11259 {
11260   NVSG_GL_STATS_FCT_COUNT();
11261   NVSG_ASSERT( glContext()->m_glFunctions );
11262   glContext()->m_glFunctions->glMultiTexCoord2i( target, s, t );
11263   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11264 }
11265
11267
11268 inline  void  GLMultiTexCoord2iv( GLenum target, const GLint *v )
11269 {
11270   NVSG_GL_STATS_FCT_COUNT();
11271   NVSG_ASSERT( glContext()->m_glFunctions );
11272   glContext()->m_glFunctions->glMultiTexCoord2iv( target, v );
11273   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11274 }
11275
11277
11278 inline  void  GLMultiTexCoord2s( GLenum target, GLshort s, GLshort t )
11279 {
11280   NVSG_GL_STATS_FCT_COUNT();
11281   NVSG_ASSERT( glContext()->m_glFunctions );
11282   glContext()->m_glFunctions->glMultiTexCoord2s( target, s, t );
11283   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11284 }
11285
11287
11288 inline  void  GLMultiTexCoord2sv( GLenum target, const GLshort *v )
11289 {
11290   NVSG_GL_STATS_FCT_COUNT();
11291   NVSG_ASSERT( glContext()->m_glFunctions );
11292   glContext()->m_glFunctions->glMultiTexCoord2sv( target, v );
11293   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11294 }
11295
11297
11298 inline  void  GLMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r )
11299 {
11300   NVSG_GL_STATS_FCT_COUNT();
11301   NVSG_ASSERT( glContext()->m_glFunctions );
11302   glContext()->m_glFunctions->glMultiTexCoord3d( target, s, t, r );
11303   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11304 }
11305
11307
11308 inline  void  GLMultiTexCoord3dv( GLenum target, const GLdouble *v )
11309 {
11310   NVSG_GL_STATS_FCT_COUNT();
11311   NVSG_ASSERT( glContext()->m_glFunctions );
11312   glContext()->m_glFunctions->glMultiTexCoord3dv( target, v );
11313   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11314 }
11315
11317
11318 inline  void  GLMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r )
11319 {
11320   NVSG_GL_STATS_FCT_COUNT();
11321   NVSG_ASSERT( glContext()->m_glFunctions );
11322   glContext()->m_glFunctions->glMultiTexCoord3f( target, s, t, r );
11323   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11324 }
11325
11327
11328 inline  void  GLMultiTexCoord3fv( GLenum target, const GLfloat *v )
11329 {
11330   NVSG_GL_STATS_FCT_COUNT();
11331   NVSG_ASSERT( glContext()->m_glFunctions );
11332   glContext()->m_glFunctions->glMultiTexCoord3fv( target, v );
11333   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11334 }
11335
11337
11338 inline  void  GLMultiTexCoord3h( GLenum target, GLhalf s, GLhalf t, GLhalf r )
11339 {
11340   NVSG_GL_STATS_FCT_COUNT();
11341   NVSG_ASSERT( glContext()->m_glFunctions );
11342   glContext()->m_glFunctions->glMultiTexCoord3h( target, s, t, r );
11343   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11344 }
11345
11347
11348 inline  void  GLMultiTexCoord3hv( GLenum target, const GLhalf *v )
11349 {
11350   NVSG_GL_STATS_FCT_COUNT();
11351   NVSG_ASSERT( glContext()->m_glFunctions );
11352   glContext()->m_glFunctions->glMultiTexCoord3hv( target, v );
11353   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11354 }
11355
11357
11358 inline  void  GLMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r )
11359 {
11360   NVSG_GL_STATS_FCT_COUNT();
11361   NVSG_ASSERT( glContext()->m_glFunctions );
11362   glContext()->m_glFunctions->glMultiTexCoord3i( target, s, t, r );
11363   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11364 }
11365
11367
11368 inline  void  GLMultiTexCoord3iv( GLenum target, const GLint *v )
11369 {
11370   NVSG_GL_STATS_FCT_COUNT();
11371   NVSG_ASSERT( glContext()->m_glFunctions );
11372   glContext()->m_glFunctions->glMultiTexCoord3iv( target, v );
11373   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11374 }
11375
11377
11378 inline  void  GLMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r )
11379 {
11380   NVSG_GL_STATS_FCT_COUNT();
11381   NVSG_ASSERT( glContext()->m_glFunctions );
11382   glContext()->m_glFunctions->glMultiTexCoord3s( target, s, t, r );
11383   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11384 }
11385
11387
11388 inline  void  GLMultiTexCoord3sv( GLenum target, const GLshort *v )
11389 {
11390   NVSG_GL_STATS_FCT_COUNT();
11391   NVSG_ASSERT( glContext()->m_glFunctions );
11392   glContext()->m_glFunctions->glMultiTexCoord3sv( target, v );
11393   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11394 }
11395
11397
11398 inline  void  GLMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q )
11399 {
11400   NVSG_GL_STATS_FCT_COUNT();
11401   NVSG_ASSERT( glContext()->m_glFunctions );
11402   glContext()->m_glFunctions->glMultiTexCoord4d( target, s, t, r, q );
11403   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11404 }
11405
11407
11408 inline  void  GLMultiTexCoord4dv( GLenum target, const GLdouble *v )
11409 {
11410   NVSG_GL_STATS_FCT_COUNT();
11411   NVSG_ASSERT( glContext()->m_glFunctions );
11412   glContext()->m_glFunctions->glMultiTexCoord4dv( target, v );
11413   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11414 }
11415
11417
11418 inline  void  GLMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q )
11419 {
11420   NVSG_GL_STATS_FCT_COUNT();
11421   NVSG_ASSERT( glContext()->m_glFunctions );
11422   glContext()->m_glFunctions->glMultiTexCoord4f( target, s, t, r, q );
11423   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11424 }
11425
11427
11428 inline  void  GLMultiTexCoord4fv( GLenum target, const GLfloat *v )
11429 {
11430   NVSG_GL_STATS_FCT_COUNT();
11431   NVSG_ASSERT( glContext()->m_glFunctions );
11432   glContext()->m_glFunctions->glMultiTexCoord4fv( target, v );
11433   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11434 }
11435
11437
11438 inline  void  GLMultiTexCoord4h( GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q )
11439 {
11440   NVSG_GL_STATS_FCT_COUNT();
11441   NVSG_ASSERT( glContext()->m_glFunctions );
11442   glContext()->m_glFunctions->glMultiTexCoord4h( target, s, t, r, q );
11443   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11444 }
11445
11447
11448 inline  void  GLMultiTexCoord4hv( GLenum target, const GLhalf *v )
11449 {
11450   NVSG_GL_STATS_FCT_COUNT();
11451   NVSG_ASSERT( glContext()->m_glFunctions );
11452   glContext()->m_glFunctions->glMultiTexCoord4hv( target, v );
11453   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11454 }
11455
11457
11458 inline  void  GLMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q )
11459 {
11460   NVSG_GL_STATS_FCT_COUNT();
11461   NVSG_ASSERT( glContext()->m_glFunctions );
11462   glContext()->m_glFunctions->glMultiTexCoord4i( target, s, t, r, q );
11463   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11464 }
11465
11467
11468 inline  void  GLMultiTexCoord4iv( GLenum target, const GLint *v )
11469 {
11470   NVSG_GL_STATS_FCT_COUNT();
11471   NVSG_ASSERT( glContext()->m_glFunctions );
11472   glContext()->m_glFunctions->glMultiTexCoord4iv( target, v );
11473   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11474 }
11475
11477
11478 inline  void  GLMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q )
11479 {
11480   NVSG_GL_STATS_FCT_COUNT();
11481   NVSG_ASSERT( glContext()->m_glFunctions );
11482   glContext()->m_glFunctions->glMultiTexCoord4s( target, s, t, r, q );
11483   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11484 }
11485
11487
11488 inline  void  GLMultiTexCoord4sv( GLenum target, const GLshort *v )
11489 {
11490   NVSG_GL_STATS_FCT_COUNT();
11491   NVSG_ASSERT( glContext()->m_glFunctions );
11492   glContext()->m_glFunctions->glMultiTexCoord4sv( target, v );
11493   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11494 }
11495
11497
11498 inline  void  GLMultMatrixd( const GLdouble *m )
11499 {
11500   NVSG_GL_STATS_MULT_MATRIXD( m );
11501 #if defined( GL_CACHING )
11502   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
11503   { // note: we have a texture matrix stack per unit
11504     _GLUpdateActiveTexture();
11505   }
11506 #endif
11507   glMultMatrixd( m );
11508   ASSERT_GL_NO_ERROR;
11509 }
11510
11512
11513 inline  void  GLMultMatrixf( const GLfloat *m )
11514 {
11515   NVSG_GL_STATS_MULT_MATRIXF( m );
11516 #if defined( GL_CACHING )
11517   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
11518   { // note: we have a texture matrix stack per unit
11519     _GLUpdateActiveTexture();
11520   }
11521 #endif
11522   glMultMatrixf( m );
11523   ASSERT_GL_NO_ERROR;
11524 }
11525
11527
11528 inline  void  GLMultTransposeMatrixd( const GLdouble *m )
11529 {
11530   NVSG_GL_STATS_MULT_MATRIXD( m );
11531 #if defined( GL_CACHING )
11532   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
11533   { // note: we have a texture matrix stack per unit
11534     _GLUpdateActiveTexture();
11535   }
11536 #endif
11537   NVSG_ASSERT( glContext()->m_glFunctions );
11538   glContext()->m_glFunctions->glMultTransposeMatrixd( m );
11539   ASSERT_GL_NO_ERROR;
11540 }
11541
11543
11544 inline  void  GLMultTransposeMatrixf( const GLfloat *m )
11545 {
11546   NVSG_GL_STATS_MULT_MATRIXF( m );
11547 #if defined( GL_CACHING )
11548   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
11549   { // note: we have a texture matrix stack per unit
11550     _GLUpdateActiveTexture();
11551   }
11552 #endif
11553   NVSG_ASSERT( glContext()->m_glFunctions );
11554   glContext()->m_glFunctions->glMultTransposeMatrixf( m );
11555   ASSERT_GL_NO_ERROR;
11556 }
11557
11559
11560 inline  void  GLNewList( GLuint list, GLenum mode )
11561 {
11562   NVSG_GL_STATS_NEW_LIST( list, mode );
11563   glNewList( list, mode );
11564   ASSERT_GL_NO_ERROR;
11565 }
11566
11568
11569 inline  void  GLNormal3b( GLbyte nx, GLbyte ny, GLbyte nz )
11570 {
11571   NVSG_GL_STATS_FCT_COUNT();
11572   glNormal3b( nx, ny, nz );
11573   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11574 }
11575
11577
11578 inline  void  GLNormal3bv( const GLbyte *v )
11579 {
11580   NVSG_GL_STATS_FCT_COUNT();
11581   glNormal3bv( v );
11582   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11583 }
11584
11586
11587 inline  void  GLNormal3d( GLdouble nx, GLdouble ny, GLdouble nz )
11588 {
11589   NVSG_GL_STATS_FCT_COUNT();
11590   glNormal3d( nx, ny, nz );
11591   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11592 }
11593
11595
11596 inline  void  GLNormal3dv( const GLdouble *v )
11597 {
11598   NVSG_GL_STATS_FCT_COUNT();
11599   glNormal3dv( v );
11600   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11601 }
11602
11604
11605 inline  void  GLNormal3f( GLfloat nx, GLfloat ny, GLfloat nz )
11606 {
11607   NVSG_GL_STATS_FCT_COUNT();
11608   glNormal3f( nx, ny, nz );
11609   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11610 }
11611
11613
11614 inline  void  GLNormal3fv( const GLfloat *v )
11615 {
11616   NVSG_GL_STATS_FCT_COUNT();
11617   glNormal3fv( v );
11618   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11619 }
11620
11622
11623 inline  void  GLNormal3h( GLhalf nx, GLhalf ny, GLhalf nz )
11624 {
11625   NVSG_GL_STATS_FCT_COUNT();
11626   NVSG_ASSERT( glContext()->m_glFunctions );
11627   glContext()->m_glFunctions->glNormal3h( nx, ny, nz );
11628   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11629 }
11630
11632
11633 inline  void  GLNormal3hv( const GLhalf *v )
11634 {
11635   NVSG_GL_STATS_FCT_COUNT();
11636   NVSG_ASSERT( glContext()->m_glFunctions );
11637   glContext()->m_glFunctions->glNormal3hv( v );
11638   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11639 }
11640
11642
11643 inline  void  GLNormal3i( GLint nx, GLint ny, GLint nz )
11644 {
11645   NVSG_GL_STATS_FCT_COUNT();
11646   glNormal3i( nx, ny, nz );
11647   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11648 }
11649
11651
11652 inline  void  GLNormal3iv( const GLint *v )
11653 {
11654   NVSG_GL_STATS_FCT_COUNT();
11655   glNormal3iv( v );
11656   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11657 }
11658
11660
11661 inline  void  GLNormal3s( GLshort nx, GLshort ny, GLshort nz )
11662 {
11663   NVSG_GL_STATS_FCT_COUNT();
11664   glNormal3s( nx, ny, nz );
11665   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11666 }
11667
11669
11670 inline  void  GLNormal3sv( const GLshort *v )
11671 {
11672   NVSG_GL_STATS_FCT_COUNT();
11673   glNormal3sv( v );
11674   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
11675 }
11676
11678
11679 inline  void  GLNormalPointer( GLenum type, GLsizei stride, const GLvoid *pointer )
11680 {
11681   NVSG_GL_STATS_NORMAL_POINTER( type, stride, pointer );
11682   glNormalPointer( type, stride, pointer );
11683   ASSERT_GL_NO_ERROR;
11684 }
11685
11687
11688 inline  void  GLOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar )
11689 {
11690   NVSG_GL_STATS_ORTHO( left, right, bottom, top, zNear, zFar );
11691   glOrtho( left, right, bottom, top, zNear, zFar );
11692   ASSERT_GL_NO_ERROR;
11693 }
11694
11696
11697 inline  void  GLPassThrough( GLfloat token )
11698 {
11699   NVSG_GL_STATS_FCT_COUNT();
11700   glPassThrough( token );
11701   ASSERT_GL_NO_ERROR;
11702 }
11703
11705
11706 inline  void  GLPixelDataRange( GLenum target, GLsizei size, GLvoid *pointer )
11707 {
11708   NVSG_GL_STATS_FCT_COUNT();
11709   NVSG_ASSERT( glContext()->m_glFunctions );
11710   glContext()->m_glFunctions->glPixelDataRange( target, size, pointer );
11711   ASSERT_GL_NO_ERROR;
11712 }
11713
11715
11716 inline  void  GLPixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
11717 {
11718   NVSG_GL_STATS_FCT_COUNT();
11719   glPixelMapfv( map, mapsize, values );
11720   ASSERT_GL_NO_ERROR;
11721 }
11722
11724
11725 inline  void  GLPixelMapuiv( GLenum map, GLsizei mapsize, const GLuint *values )
11726 {
11727   NVSG_GL_STATS_FCT_COUNT();
11728   glPixelMapuiv( map, mapsize, values );
11729   ASSERT_GL_NO_ERROR;
11730 }
11731
11733
11734 inline  void  GLPixelMapusv( GLenum map, GLsizei mapsize, const GLushort *values )
11735 {
11736   NVSG_GL_STATS_FCT_COUNT();
11737   glPixelMapusv( map, mapsize, values );
11738   ASSERT_GL_NO_ERROR;
11739 }
11740
11742
11743 inline  void  GLPixelStoref( GLenum pname, GLfloat param )
11744 {
11745   NVSG_GL_STATS_FCT_COUNT();
11746   glPixelStoref( pname, param );
11747   ASSERT_GL_NO_ERROR;
11748 }
11749
11751
11752 inline  void  GLPixelStorei( GLenum pname, GLint param )
11753 {
11754   NVSG_GL_STATS_FCT_COUNT();
11755   glPixelStorei( pname, param );
11756   ASSERT_GL_NO_ERROR;
11757 }
11758
11760
11761 inline  void  GLPixelTransferf( GLenum pname, GLfloat param )
11762 {
11763   NVSG_GL_STATS_FCT_COUNT();
11764   glPixelTransferf( pname, param );
11765   ASSERT_GL_NO_ERROR;
11766 }
11767
11769
11770 inline  void  GLPixelTransferi( GLenum pname, GLint param )
11771 {
11772   NVSG_GL_STATS_FCT_COUNT();
11773   glPixelTransferi( pname, param );
11774   ASSERT_GL_NO_ERROR;
11775 }
11776
11778
11779 inline  void  GLPixelZoom( GLfloat xfactor, GLfloat yfactor )
11780 {
11781   NVSG_GL_STATS_FCT_COUNT();
11782   glPixelZoom( xfactor, yfactor );
11783   ASSERT_GL_NO_ERROR;
11784 }
11785
11787
11788 inline  void  GLPointParameterf( GLenum pname, GLfloat param )
11789 {
11790   NVSG_GL_STATS_FCT_COUNT();
11791   NVSG_ASSERT( glContext()->m_glFunctions );
11792   glContext()->m_glFunctions->glPointParameterf( pname, param );
11793   ASSERT_GL_NO_ERROR;
11794 }
11795
11797
11798 inline  void  GLPointParameterfv( GLenum pname, const GLfloat *params )
11799 {
11800   NVSG_GL_STATS_FCT_COUNT();
11801   NVSG_ASSERT( glContext()->m_glFunctions );
11802   glContext()->m_glFunctions->glPointParameterfv( pname, params );
11803   ASSERT_GL_NO_ERROR;
11804 }
11805
11807
11808 inline  void  GLPointParameteri( GLenum pname, GLint param )
11809 {
11810   NVSG_GL_STATS_FCT_COUNT();
11811   NVSG_ASSERT( glContext()->m_glFunctions );
11812   glContext()->m_glFunctions->glPointParameteri( pname, param );
11813   ASSERT_GL_NO_ERROR;
11814 }
11815
11817
11818 inline  void  GLPointParameteriv( GLenum pname, const GLint *params )
11819 {
11820   NVSG_GL_STATS_FCT_COUNT();
11821   NVSG_ASSERT( glContext()->m_glFunctions );
11822   glContext()->m_glFunctions->glPointParameteriv( pname, params );
11823   ASSERT_GL_NO_ERROR;
11824 }
11825
11827
11828 inline  void  GLPointSize( GLfloat size )
11829 {
11830 #if defined( GL_CACHING )
11831   GLContext * ctx = glContext();
11832 # if defined(GL_SUPPORT_RESET)
11833   ctx->m_previousAttributes.m_pointSize = ctx->m_pointAttributes.m_size;
11834 # endif
11835   if ( !equalf(ctx->m_pointAttributes.m_size, size) )
11836   {
11837 # if !defined(NDEBUG)
11838     GLfloat f;
11839     glGetFloatv( GL_POINT_SIZE, &f );
11840     NVSG_ASSERT( equalf(ctx->m_pointAttributes.m_size, f) );
11841 # endif
11842 #endif
11843     NVSG_GL_STATS_POINT_SIZE( size );
11844     glPointSize( size );
11845     ASSERT_GL_NO_ERROR;
11846 #if defined( GL_CACHING )
11847     ctx->m_pointAttributes.m_size = size;
11848   }
11849 #endif
11850 }
11851
11856 inline void GLResetPointSize()
11857 {
11858 #if defined(GL_SUPPORT_RESET)
11859   GLPointSize( glContext()->m_previousAttributes.m_pointSize );
11860 #else
11861   GLPointSize( 1.0f );
11862 #endif
11863 }
11864
11866
11868 inline  void  GLPolygonModeBack( GLenum mode )
11869 {
11870   GLContext * ctx = glContext();
11871 #if defined( GL_CACHING )
11872 # if defined(GL_SUPPORT_RESET)
11873   ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_BACK] = ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK];
11874 # endif
11875   if ( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK] != mode )
11876 #endif
11877   {
11878     if ( ! ctx->m_locks.m_polygonMode )
11879     {
11880 #if defined( GL_CACHING) && !defined( NDEBUG )
11881       GLint p[2];
11882       glGetIntegerv( GL_POLYGON_MODE, p );
11883       NVSG_ASSERT( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK] == p[1] );
11884 #endif
11885       _GLPolygonMode( GL_BACK, mode );
11886 #if defined( GL_CACHING )
11887       ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK] = mode;
11888 #endif
11889     }
11890   }
11891 }
11892
11897 inline void GLResetPolygonModeBack()
11898 {
11899 #if defined(GL_SUPPORT_RESET)
11900   GLPolygonModeBack( glContext()->m_previousAttributes.m_rasterMode[NVSG_CACHE_BACK] );
11901 #else
11902   GLPolygonModeBack( GL_FILL );
11903 #endif
11904 }
11905
11907
11909 inline  void  GLPolygonModeFront( GLenum mode )
11910 {
11911   GLContext * ctx = glContext();
11912 #if defined( GL_CACHING )
11913 # if defined(GL_SUPPORT_RESET)
11914   ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_FRONT] = ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT];
11915 # endif
11916   if ( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT] != mode )
11917 #endif
11918   {
11919     if ( ! ctx->m_locks.m_polygonMode )
11920     {
11921 #if defined( GL_CACHING ) && !defined( NDEBUG )
11922       GLint p[2];
11923       glGetIntegerv( GL_POLYGON_MODE, p );
11924       NVSG_ASSERT( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT] == p[0] );
11925 #endif
11926       _GLPolygonMode( GL_FRONT, mode );
11927 #if defined( GL_CACHING )
11928       ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT] = mode;
11929 #endif
11930     }
11931   }
11932 }
11933
11938 inline void GLResetPolygonModeFront()
11939 {
11940 #if defined(GL_SUPPORT_RESET)
11941   GLPolygonModeFront( glContext()->m_previousAttributes.m_rasterMode[NVSG_CACHE_FRONT] );
11942 #else
11943   GLPolygonModeFront( GL_FILL );
11944 #endif
11945 }
11946
11948
11950 inline  void  GLPolygonModeFrontAndBack( GLenum mode )
11951 {
11952   GLContext * ctx = glContext();
11953 #if defined( GL_CACHING )
11954 # if defined(GL_SUPPORT_RESET)
11955   ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_FRONT] = ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT];
11956   ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_BACK] = ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK];
11957 # endif
11958   if (    ( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT] != mode )
11959       ||  ( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK] != mode ) )
11960 #endif
11961   {
11962     if ( ! ctx->m_locks.m_polygonMode )
11963     {
11964 #if defined( GL_CACHING ) && !defined( NDEBUG )
11965       GLint p[2];
11966       glGetIntegerv( GL_POLYGON_MODE, p );
11967       NVSG_ASSERT(    ( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK] == p[NVSG_CACHE_BACK] )
11968                   &&  ( ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT] == p[NVSG_CACHE_FRONT] ) );
11969 #endif
11970       _GLPolygonMode( GL_FRONT_AND_BACK, mode );
11971 #if defined( GL_CACHING )
11972       ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_BACK] = mode;
11973       ctx->m_polygonAttributes.m_rasterMode[NVSG_CACHE_FRONT] = mode;
11974 #endif
11975     }
11976   }
11977 }
11978
11983 inline void GLResetPolygonModeFrontAndBack()
11984 {
11985 #if defined(GL_SUPPORT_RESET)
11986   GLContext * ctx = glContext();
11987   if ( ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_FRONT] == ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_BACK] )
11988   {
11989     GLPolygonModeFrontAndBack( ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_FRONT] );
11990   }
11991   else
11992   {
11993     GLPolygonModeFront( ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_FRONT] );
11994     GLPolygonModeBack( ctx->m_previousAttributes.m_rasterMode[NVSG_CACHE_BACK] );
11995   }
11996 #else
11997   GLPolygonModeFrontAndBack( GL_FILL );
11998 #endif
11999 }
12000
12002
12003 inline  void  GLPolygonMode( GLenum face, GLenum mode )
12004 {
12005 #if defined( GL_CACHING )
12006   switch( face )
12007   {
12008     case GL_BACK :
12009       GLPolygonModeBack( mode );
12010       break;
12011     case GL_FRONT :
12012       GLPolygonModeFront( mode );
12013       break;
12014     case GL_FRONT_AND_BACK :
12015       GLPolygonModeFrontAndBack( mode );
12016       break;
12017     default :
12018       NVSG_ASSERT( false );
12019       break;
12020   }
12021 #else
12022   _GLPolygonMode( face, mode );
12023 #endif
12024 }
12025
12033 inline void GLPolygonModeLock( GLenum face, GLenum mode )
12034 {
12035   NVSG_ASSERT( ! glContext()->m_locks.m_polygonMode );
12036   GLPolygonMode( face, mode );
12037   glContext()->m_locks.m_polygonMode = true;
12038 }
12039
12045 inline void GLPolygonModeUnlock( GLenum face, GLenum mode )
12046 {
12047   glContext()->m_locks.m_polygonMode = false;
12048   GLPolygonMode( face, mode );
12049 }
12050
12052
12053 inline  void  GLPolygonOffset( GLfloat factor, GLfloat units )
12054 {
12055 #if defined( GL_CACHING )
12056   GLContext * ctx = glContext();
12057 # if defined(GL_SUPPORT_RESET)
12058   ctx->m_previousAttributes.m_polygonOffsetFactor = ctx->m_polygonAttributes.m_offsetFactor;
12059   ctx->m_previousAttributes.m_polygonOffsetBias   = ctx->m_polygonAttributes.m_offsetBias;
12060 # endif
12061   if (  !equalf(ctx->m_polygonAttributes.m_offsetFactor, factor)
12062      || !equalf(ctx->m_polygonAttributes.m_offsetBias, units) )
12063 #endif
12064   {
12065     NVSG_GL_STATS_POLYGON_OFFSET( factor, units );
12066     glPolygonOffset( factor, units );
12067     ASSERT_GL_NO_ERROR;
12068 #if defined( GL_CACHING )
12069     ctx->m_polygonAttributes.m_offsetFactor  = factor;
12070     ctx->m_polygonAttributes.m_offsetBias   = units;
12071 #endif
12072   }
12073 }
12074
12079 inline void GLResetPolygonOffset()
12080 {
12081 #if defined(GL_SUPPORT_RESET)
12082   GLContext * ctx = glContext();
12083   GLPolygonOffset( ctx->m_previousAttributes.m_polygonOffsetFactor
12084                  , ctx->m_previousAttributes.m_polygonOffsetBias );
12085 #else
12086   GLPolygonOffset( 0.0f, 0.0f );
12087 #endif
12088 }
12089
12091
12092 inline  void  GLPolygonStipple( const GLubyte *mask )
12093 {
12094   NVSG_GL_STATS_FCT_COUNT();
12095   glPolygonStipple( mask );
12096   ASSERT_GL_NO_ERROR;
12097 }
12098
12100
12104 inline  void  GLPopAttrib( void )
12105 {
12106   NVSG_GL_STATS_POP_ATTRIB();
12107   glPopAttrib();
12108   ASSERT_GL_NO_ERROR;
12109 #if defined( GL_CACHING )
12110   GLContext * ctx = glContext();
12111   GLbitfield mask = ctx->m_pushMasks.top();
12112   if ( mask == GL_ALL_ATTRIB_BITS )
12113   {
12114     ctx->m_colorBufferAttributes = ctx->m_colorBufferAttributesStack.top();
12115     ctx->m_colorBufferAttributesStack.pop();
12116     ctx->m_colorBufferEnableAttributes = ctx->m_colorBufferEnableAttributesStack.top();
12117     ctx->m_colorBufferEnableAttributesStack.pop();
12118     ctx->m_depthBufferAttributes = ctx->m_depthBufferAttributesStack.top();
12119     ctx->m_depthBufferAttributesStack.pop();
12120     ctx->m_depthBufferEnableAttributes = ctx->m_depthBufferEnableAttributesStack.top();
12121     ctx->m_depthBufferEnableAttributesStack.pop();
12122     ctx->m_evalAttributes = ctx->m_evalAttributesStack.top();
12123     ctx->m_evalAttributesStack.pop();
12124     ctx->m_fogAttributes = ctx->m_fogAttributesStack.top();
12125     ctx->m_fogAttributesStack.pop();
12126     ctx->m_fogEnableAttributes = ctx->m_fogEnableAttributesStack.top();
12127     ctx->m_fogEnableAttributesStack.pop();
12128     ctx->m_lightingAttributes = ctx->m_lightingAttributesStack.top();
12129     ctx->m_lightingAttributesStack.pop();
12130     ctx->m_lightingEnableAttributes = ctx->m_lightingEnableAttributesStack.top();
12131     ctx->m_lightingEnableAttributesStack.pop();
12132     ctx->m_lineAttributes = ctx->m_lineAttributesStack.top();
12133     ctx->m_lineAttributesStack.pop();
12134     ctx->m_lineEnableAttributes = ctx->m_lineEnableAttributesStack.top();
12135     ctx->m_lineEnableAttributesStack.pop();
12136     ctx->m_pointAttributes = ctx->m_pointAttributesStack.top();
12137     ctx->m_pointAttributesStack.pop();
12138     ctx->m_pointEnableAttributes = ctx->m_pointEnableAttributesStack.top();
12139     ctx->m_pointEnableAttributesStack.pop();
12140     ctx->m_polygonAttributes = ctx->m_polygonAttributesStack.top();
12141     ctx->m_polygonAttributesStack.pop();
12142     ctx->m_polygonEnableAttributes = ctx->m_polygonEnableAttributesStack.top();
12143     ctx->m_polygonEnableAttributesStack.pop();
12144     ctx->m_scissorAttributes = ctx->m_scissorAttributesStack.top();
12145     ctx->m_scissorAttributesStack.pop();
12146     ctx->m_scissorEnableAttributes = ctx->m_scissorEnableAttributesStack.top();
12147     ctx->m_scissorEnableAttributesStack.pop();
12148     ctx->m_stencilBufferAttributes = ctx->m_stencilBufferAttributesStack.top();
12149     ctx->m_stencilBufferAttributesStack.pop();
12150     ctx->m_stencilBufferEnableAttributes = ctx->m_stencilBufferEnableAttributesStack.top();
12151     ctx->m_stencilBufferEnableAttributesStack.pop();
12152     ctx->m_textureAttributes = ctx->m_textureAttributesStack.top();
12153     ctx->m_textureAttributesStack.pop();
12154     ctx->m_textureEnableAttributes = ctx->m_textureEnableAttributesStack.top();
12155     ctx->m_textureEnableAttributesStack.pop();
12156     ctx->m_transformAttributes = ctx->m_transformAttributesStack.top();
12157     ctx->m_transformAttributesStack.pop();
12158     ctx->m_transformEnableAttributes = ctx->m_transformEnableAttributesStack.top();
12159     ctx->m_transformEnableAttributesStack.pop();
12160     ctx->m_viewportAttributes = ctx->m_viewportAttributesStack.top();
12161     ctx->m_viewportAttributesStack.pop();
12162   }
12163   else
12164   {
12165     if ( mask & GL_COLOR_BUFFER_BIT )
12166     {
12167       ctx->m_colorBufferAttributes = ctx->m_colorBufferAttributesStack.top();
12168       ctx->m_colorBufferAttributesStack.pop();
12169     }
12170     if ( mask & GL_DEPTH_BUFFER_BIT )
12171     {
12172       ctx->m_depthBufferAttributes = ctx->m_depthBufferAttributesStack.top();
12173       ctx->m_depthBufferAttributesStack.pop();
12174     }
12175     if ( mask & ( GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT ) )
12176     {
12177       ctx->m_colorBufferEnableAttributes = ctx->m_colorBufferEnableAttributesStack.top();
12178       ctx->m_colorBufferEnableAttributesStack.pop();
12179     }
12180     if ( mask & ( GL_ENABLE_BIT | GL_DEPTH_BUFFER_BIT ) )
12181     {
12182       ctx->m_depthBufferEnableAttributes = ctx->m_depthBufferEnableAttributesStack.top();
12183       ctx->m_depthBufferEnableAttributesStack.pop();
12184     }
12185     if ( mask & ( GL_ENABLE_BIT | GL_FOG_BIT ) )
12186     {
12187       ctx->m_fogEnableAttributes = ctx->m_fogEnableAttributesStack.top();
12188       ctx->m_fogEnableAttributesStack.pop();
12189     }
12190     if ( mask & ( GL_ENABLE_BIT | GL_LIGHTING_BIT ) )
12191     {
12192       ctx->m_lightingEnableAttributes = ctx->m_lightingEnableAttributesStack.top();
12193       ctx->m_lightingEnableAttributesStack.pop();
12194     }
12195     if ( mask & ( GL_ENABLE_BIT | GL_LINE_BIT ) )
12196     {
12197       ctx->m_lineEnableAttributes = ctx->m_lineEnableAttributesStack.top();
12198       ctx->m_lineEnableAttributesStack.pop();
12199     }
12200     if ( mask & ( GL_ENABLE_BIT | GL_POINT_BIT ) )
12201     {
12202       ctx->m_pointEnableAttributes = ctx->m_pointEnableAttributesStack.top();
12203       ctx->m_pointEnableAttributesStack.pop();
12204     }
12205     if ( mask & ( GL_ENABLE_BIT | GL_POLYGON_BIT ) )
12206     {
12207       ctx->m_polygonEnableAttributes = ctx->m_polygonEnableAttributesStack.top();
12208       ctx->m_polygonEnableAttributesStack.pop();
12209     }
12210     if ( mask & ( GL_ENABLE_BIT | GL_SCISSOR_BIT ) )
12211     {
12212       ctx->m_scissorEnableAttributes = ctx->m_scissorEnableAttributesStack.top();
12213       ctx->m_scissorEnableAttributesStack.pop();
12214     }
12215     if ( mask & ( GL_ENABLE_BIT | GL_STENCIL_BUFFER_BIT ) )
12216     {
12217       ctx->m_stencilBufferEnableAttributes = ctx->m_stencilBufferEnableAttributesStack.top();
12218       ctx->m_stencilBufferEnableAttributesStack.pop();
12219     }
12220     if ( mask & ( GL_ENABLE_BIT | GL_TEXTURE_BIT ) )
12221     {
12222       ctx->m_textureEnableAttributes = ctx->m_textureEnableAttributesStack.top();
12223       ctx->m_textureEnableAttributesStack.pop();
12224     }
12225     if ( mask & ( GL_ENABLE_BIT | GL_TRANSFORM_BIT ) )
12226     {
12227       ctx->m_transformEnableAttributes = ctx->m_transformEnableAttributesStack.top();
12228       ctx->m_transformEnableAttributesStack.pop();
12229     }
12230     if ( mask & GL_EVAL_BIT )
12231     {
12232       ctx->m_evalAttributes = ctx->m_evalAttributesStack.top();
12233       ctx->m_evalAttributesStack.pop();
12234     }
12235     if ( mask & GL_FOG_BIT )
12236     {
12237       ctx->m_fogAttributes = ctx->m_fogAttributesStack.top();
12238       ctx->m_fogAttributesStack.pop();
12239     }
12240     if ( mask & GL_LIGHTING_BIT )
12241     {
12242       ctx->m_lightingAttributes = ctx->m_lightingAttributesStack.top();
12243       ctx->m_lightingAttributesStack.pop();
12244     }
12245     if ( mask & GL_LINE_BIT )
12246     {
12247       ctx->m_lineAttributes = ctx->m_lineAttributesStack.top();
12248       ctx->m_lineAttributesStack.pop();
12249     }
12250     if ( mask & GL_POINT_BIT )
12251     {
12252       ctx->m_pointAttributes = ctx->m_pointAttributesStack.top();
12253       ctx->m_pointAttributesStack.pop();
12254     }
12255     if ( mask & GL_POLYGON_BIT )
12256     {
12257       ctx->m_polygonAttributes = ctx->m_polygonAttributesStack.top();
12258       ctx->m_polygonAttributesStack.pop();
12259     }
12260     if ( mask & GL_SCISSOR_BIT )
12261     {
12262       ctx->m_scissorAttributes = ctx->m_scissorAttributesStack.top();
12263       ctx->m_scissorAttributesStack.pop();
12264     }
12265     if ( mask & GL_STENCIL_BUFFER_BIT )
12266     {
12267       ctx->m_stencilBufferAttributes = ctx->m_stencilBufferAttributesStack.top();
12268       ctx->m_stencilBufferAttributesStack.pop();
12269     }
12270     if ( mask & GL_TEXTURE_BIT )
12271     {
12272       ctx->m_textureAttributes = ctx->m_textureAttributesStack.top();
12273       ctx->m_textureAttributesStack.pop();
12274     }
12275     if ( mask & GL_TRANSFORM_BIT )
12276     {
12277       ctx->m_transformAttributes = ctx->m_transformAttributesStack.top();
12278       ctx->m_transformAttributesStack.pop();
12279     }
12280     if ( mask & GL_VIEWPORT_BIT )
12281     {
12282       ctx->m_viewportAttributes = ctx->m_viewportAttributesStack.top();
12283       ctx->m_viewportAttributesStack.pop();
12284     }
12285   }
12286   ctx->m_pushMasks.pop();
12287 #endif
12288 }
12289
12291
12295 inline  void  GLPopClientAttrib( void )
12296 {
12297   NVSG_GL_STATS_FCT_COUNT();
12298   glPopClientAttrib();
12299   ASSERT_GL_NO_ERROR;
12300 #if defined( GL_CACHING )
12301   GLContext * ctx = glContext();
12302   GLbitfield mask = ctx->m_clientPushMasks.top();
12303   if ( mask & GL_CLIENT_VERTEX_ARRAY_BIT )
12304   {
12305     ctx->m_vertexArrayAttributes = ctx->m_vertexArrayAttributesStack.top();
12306     ctx->m_vertexArrayAttributesStack.pop();
12307   }
12308
12309   ctx->m_clientPushMasks.pop();
12310 #endif
12311 }
12312
12314
12315 inline  void  GLPopMatrix( void )
12316 {
12317   NVSG_GL_STATS_POP_MATRIX();
12318 #if defined( GL_CACHING )
12319   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
12320   { // note: we have a texture matrix stack per unit
12321     _GLUpdateActiveTexture();
12322   }
12323 #endif
12324   glPopMatrix();
12325   ASSERT_GL_NO_ERROR;
12326 }
12327
12329
12330 inline  void  GLPopName( void )
12331 {
12332   NVSG_GL_STATS_FCT_COUNT();
12333   glPopName();
12334   ASSERT_GL_NO_ERROR;
12335 }
12336
12338
12339 inline  void  GLPrimitiveRestart()
12340 {
12341   NVSG_GL_STATS_FCT_COUNT();
12342   NVSG_ASSERT( glContext()->m_glFunctions );
12343   glContext()->m_glFunctions->glPrimitiveRestart();
12344   ASSERT_GL_NO_ERROR;
12345 }
12346
12348
12349 inline  void  GLPrimitiveRestartIndex( GLuint index )
12350 {
12351   NVSG_ASSERT( glContext()->m_glFunctions );
12352   GLContext * ctx = glContext();
12353 #if defined( GL_CACHING )
12354   if ( ctx->m_vertexArrayAttributes.m_primitiveRestartIndex != index )
12355 #endif
12356   {
12357     NVSG_GL_STATS_PRIMITIVE_RESTART_INDEX( index );
12358     ctx->m_glFunctions->glPrimitiveRestartIndex( index );
12359     ASSERT_GL_NO_ERROR;
12360 #if defined( GL_CACHING )
12361     ctx->m_vertexArrayAttributes.m_primitiveRestartIndex = index;
12362 #endif
12363   }
12364 }
12365
12367
12368 inline  void  GLPrioritizeTextures( GLsizei n, const GLuint *textures, const GLclampf *priorities )
12369 {
12370   NVSG_GL_STATS_FCT_COUNT();
12371   glPrioritizeTextures( n, textures, priorities );
12372   ASSERT_GL_NO_ERROR;
12373 }
12374
12376
12377 inline  void  GLProgramBufferParametersfv( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params )
12378 {
12379   NVSG_GL_STATS_FCT_COUNT();
12380   NVSG_ASSERT( glContext()->m_glFunctions );
12381   glContext()->m_glFunctions->glProgramBufferParametersfv( target, buffer, index, count, params );
12382   ASSERT_GL_NO_ERROR;
12383 }
12384
12386
12387 inline  void  GLProgramBufferParametersIiv( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params )
12388 {
12389   NVSG_GL_STATS_FCT_COUNT();
12390   NVSG_ASSERT( glContext()->m_glFunctions );
12391   glContext()->m_glFunctions->glProgramBufferParametersIiv( target, buffer, index, count, params );
12392   ASSERT_GL_NO_ERROR;
12393 }
12394
12396
12397 inline  void  GLProgramBufferParametersIuiv( GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params )
12398 {
12399   NVSG_GL_STATS_FCT_COUNT();
12400   NVSG_ASSERT( glContext()->m_glFunctions );
12401   glContext()->m_glFunctions->glProgramBufferParametersIuiv( target, buffer, index, count, params );
12402   ASSERT_GL_NO_ERROR;
12403 }
12404
12406
12407 inline  void  GLProgramEnvParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
12408 {
12409   NVSG_GL_STATS_FCT_COUNT();
12410   NVSG_ASSERT( glContext()->m_glFunctions );
12411   glContext()->m_glFunctions->glProgramEnvParameter4dARB( target, index, x, y, z, w );
12412   ASSERT_GL_NO_ERROR;
12413 }
12414
12416
12417 inline  void  GLProgramEnvParameter4dv(GLenum target, GLuint index, const GLdouble *params)
12418 {
12419   NVSG_GL_STATS_FCT_COUNT();
12420   NVSG_ASSERT( glContext()->m_glFunctions );
12421   glContext()->m_glFunctions->glProgramEnvParameter4dvARB( target, index, params );
12422   ASSERT_GL_NO_ERROR;
12423 }
12424
12426
12427 inline  void  GLProgramEnvParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
12428 {
12429   NVSG_GL_STATS_FCT_COUNT();
12430   NVSG_ASSERT( glContext()->m_glFunctions );
12431   glContext()->m_glFunctions->glProgramEnvParameter4fARB( target, index, x, y, z, w );
12432   ASSERT_GL_NO_ERROR;
12433 }
12434
12436
12437 inline  void  GLProgramEnvParameter4fv(GLenum target, GLuint index, const GLfloat *params)
12438 {
12439   NVSG_GL_STATS_FCT_COUNT();
12440   NVSG_ASSERT( glContext()->m_glFunctions );
12441   glContext()->m_glFunctions->glProgramEnvParameter4fvARB( target, index, params );
12442   ASSERT_GL_NO_ERROR;
12443 }
12444
12445
12447
12448 inline  void  GLProgramEnvParametersI4iv( GLenum target, GLuint index, GLsizei count, const GLint *params )
12449 {
12450   NVSG_GL_STATS_FCT_COUNT();
12451   NVSG_ASSERT( glContext()->m_glFunctions );
12452   glContext()->m_glFunctions->glProgramEnvParametersI4iv( target, index, count, params );
12453   ASSERT_GL_NO_ERROR;
12454 }
12455
12457
12458 inline  void  GLProgramEnvParametersI4uiv( GLenum target, GLuint index, GLsizei count, const GLuint *params )
12459 {
12460   NVSG_GL_STATS_FCT_COUNT();
12461   NVSG_ASSERT( glContext()->m_glFunctions );
12462   glContext()->m_glFunctions->glProgramEnvParametersI4uiv( target, index, count, params );
12463   ASSERT_GL_NO_ERROR;
12464 }
12465
12467
12468 inline  void  GLProgramEnvParameterI4i( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w )
12469 {
12470   NVSG_GL_STATS_FCT_COUNT();
12471   NVSG_ASSERT( glContext()->m_glFunctions );
12472   glContext()->m_glFunctions->glProgramEnvParameterI4i( target, index, x, y, z, w );
12473   ASSERT_GL_NO_ERROR;
12474 }
12475
12477
12478 inline  void  GLProgramEnvParameterI4iv( GLenum target, GLuint index, const GLint *params )
12479 {
12480   NVSG_GL_STATS_FCT_COUNT();
12481   NVSG_ASSERT( glContext()->m_glFunctions );
12482   glContext()->m_glFunctions->glProgramEnvParameterI4iv( target, index, params );
12483   ASSERT_GL_NO_ERROR;
12484 }
12485
12487
12488 inline  void  GLProgramEnvParameterI4ui( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w )
12489 {
12490   NVSG_GL_STATS_FCT_COUNT();
12491   NVSG_ASSERT( glContext()->m_glFunctions );
12492   glContext()->m_glFunctions->glProgramEnvParameterI4ui( target, index, x, y, z, w );
12493   ASSERT_GL_NO_ERROR;
12494 }
12495
12497
12498 inline  void  GLProgramEnvParameterI4uiv( GLenum target, GLuint index, const GLuint *params )
12499 {
12500   NVSG_GL_STATS_FCT_COUNT();
12501   NVSG_ASSERT( glContext()->m_glFunctions );
12502   glContext()->m_glFunctions->glProgramEnvParameterI4uiv( target, index, params );
12503   ASSERT_GL_NO_ERROR;
12504 }
12505
12507
12508 inline  void  GLProgramEnvParameters4fv( GLenum target, GLuint index, GLsizei count, const GLfloat *params )
12509 {
12510   NVSG_GL_STATS_FCT_COUNT();
12511   NVSG_ASSERT( glContext()->m_glFunctions );
12512   glContext()->m_glFunctions->glProgramEnvParameters4fv( target, index, count, params );
12513   ASSERT_GL_NO_ERROR;
12514 }
12515
12517
12518 inline  void  GLProgramLocalParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
12519 {
12520   NVSG_GL_STATS_FCT_COUNT();
12521   NVSG_ASSERT( glContext()->m_glFunctions );
12522   glContext()->m_glFunctions->glProgramLocalParameter4dARB( target, index, x, y, z, w );
12523   ASSERT_GL_NO_ERROR;
12524 }
12525
12527
12528 inline  void  GLProgramLocalParameter4dv(GLenum target, GLuint index, const GLdouble *params)
12529 {
12530   NVSG_GL_STATS_FCT_COUNT();
12531   NVSG_ASSERT( glContext()->m_glFunctions );
12532   glContext()->m_glFunctions->glProgramLocalParameter4dvARB( target, index, params );
12533   ASSERT_GL_NO_ERROR;
12534 }
12535
12537
12538 inline  void  GLProgramLocalParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
12539 {
12540   NVSG_GL_STATS_FCT_COUNT();
12541   NVSG_ASSERT( glContext()->m_glFunctions );
12542   glContext()->m_glFunctions->glProgramLocalParameter4fARB( target, index, x, y, z, w );
12543   ASSERT_GL_NO_ERROR;
12544 }
12545
12547
12548 inline  void  GLProgramLocalParameter4fv(GLenum target, GLuint index, const GLfloat *params)
12549 {
12550   NVSG_GL_STATS_FCT_COUNT();
12551   NVSG_ASSERT( glContext()->m_glFunctions );
12552   glContext()->m_glFunctions->glProgramLocalParameter4fvARB( target, index, params );
12553   ASSERT_GL_NO_ERROR;
12554 }
12555
12557
12558 inline  void  GLProgramLocalParametersI4iv( GLenum target, GLuint index, GLsizei count, const GLint *params )
12559 {
12560   NVSG_GL_STATS_FCT_COUNT();
12561   NVSG_ASSERT( glContext()->m_glFunctions );
12562   glContext()->m_glFunctions->glProgramLocalParametersI4iv( target, index, count, params );
12563   ASSERT_GL_NO_ERROR;
12564 }
12565
12567
12568 inline  void  GLProgramLocalParametersI4uiv( GLenum target, GLuint index, GLsizei count, const GLuint *params )
12569 {
12570   NVSG_GL_STATS_FCT_COUNT();
12571   NVSG_ASSERT( glContext()->m_glFunctions );
12572   glContext()->m_glFunctions->glProgramLocalParametersI4uiv( target, index, count, params );
12573   ASSERT_GL_NO_ERROR;
12574 }
12575
12577
12578 inline  void  GLProgramLocalParameterI4i( GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w )
12579 {
12580   NVSG_GL_STATS_FCT_COUNT();
12581   NVSG_ASSERT( glContext()->m_glFunctions );
12582   glContext()->m_glFunctions->glProgramLocalParameterI4i( target, index, x, y, z, w );
12583   ASSERT_GL_NO_ERROR;
12584 }
12585
12587
12588 inline  void  GLProgramLocalParameterI4iv( GLenum target, GLuint index, const GLint *params )
12589 {
12590   NVSG_GL_STATS_FCT_COUNT();
12591   NVSG_ASSERT( glContext()->m_glFunctions );
12592   glContext()->m_glFunctions->glProgramLocalParameterI4iv( target, index, params );
12593   ASSERT_GL_NO_ERROR;
12594 }
12595
12597
12598 inline  void  GLProgramLocalParameterI4ui( GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w )
12599 {
12600   NVSG_GL_STATS_FCT_COUNT();
12601   NVSG_ASSERT( glContext()->m_glFunctions );
12602   glContext()->m_glFunctions->glProgramLocalParameterI4ui( target, index, x, y, z, w );
12603   ASSERT_GL_NO_ERROR;
12604 }
12605
12607
12608 inline  void  GLProgramLocalParameterI4uiv( GLenum target, GLuint index, const GLuint *params )
12609 {
12610   NVSG_GL_STATS_FCT_COUNT();
12611   NVSG_ASSERT( glContext()->m_glFunctions );
12612   glContext()->m_glFunctions->glProgramLocalParameterI4uiv( target, index, params );
12613   ASSERT_GL_NO_ERROR;
12614 }
12615
12617
12618 inline  void  GLProgramLocalParameters4fv( GLenum target, GLuint index, GLsizei count, const GLfloat *params )
12619 {
12620   NVSG_GL_STATS_FCT_COUNT();
12621   NVSG_ASSERT( glContext()->m_glFunctions );
12622   glContext()->m_glFunctions->glProgramLocalParameters4fv( target, index, count, params );
12623   ASSERT_GL_NO_ERROR;
12624 }
12625
12627
12628 inline  void  GLProgramNamedParameter4d( GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w )
12629 {
12630   NVSG_GL_STATS_FCT_COUNT();
12631   NVSG_ASSERT( glContext()->m_glFunctions );
12632   glContext()->m_glFunctions->glProgramNamedParameter4d( id, len, name, x, y, z, w );
12633   ASSERT_GL_NO_ERROR;
12634 }
12635
12637
12638 inline  void  GLProgramNamedParameter4dv( GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v )
12639 {
12640   NVSG_GL_STATS_FCT_COUNT();
12641   NVSG_ASSERT( glContext()->m_glFunctions );
12642   glContext()->m_glFunctions->glProgramNamedParameter4dv( id, len, name, v );
12643   ASSERT_GL_NO_ERROR;
12644 }
12645
12647
12648 inline  void  GLProgramNamedParameter4f( GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
12649 {
12650   NVSG_GL_STATS_FCT_COUNT();
12651   NVSG_ASSERT( glContext()->m_glFunctions );
12652   glContext()->m_glFunctions->glProgramNamedParameter4f( id, len, name, x, y, z, w );
12653   ASSERT_GL_NO_ERROR;
12654 }
12655
12657
12658 inline  void  GLProgramNamedParameter4fv( GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v )
12659 {
12660   NVSG_GL_STATS_FCT_COUNT();
12661   NVSG_ASSERT( glContext()->m_glFunctions );
12662   glContext()->m_glFunctions->glProgramNamedParameter4fv( id, len, name, v );
12663   ASSERT_GL_NO_ERROR;
12664 }
12665
12667
12668 inline  void  GLProgramParameter4d( GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w )
12669 {
12670   NVSG_GL_STATS_FCT_COUNT();
12671   NVSG_ASSERT( glContext()->m_glFunctions );
12672   glContext()->m_glFunctions->glProgramParameter4dNV( target, index, x, y, z, w );
12673   ASSERT_GL_NO_ERROR;
12674 }
12675
12677
12678 inline  void  GLProgramParameter4dv( GLenum target, GLuint index, const GLdouble *v )
12679 {
12680   NVSG_GL_STATS_FCT_COUNT();
12681   NVSG_ASSERT( glContext()->m_glFunctions );
12682   glContext()->m_glFunctions->glProgramParameter4dvNV( target, index, v );
12683   ASSERT_GL_NO_ERROR;
12684 }
12685
12687
12688 inline  void  GLProgramParameter4f( GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
12689 {
12690   NVSG_GL_STATS_FCT_COUNT();
12691   NVSG_ASSERT( glContext()->m_glFunctions );
12692   glContext()->m_glFunctions->glProgramParameter4fNV( target, index, x, y, z, w );
12693   ASSERT_GL_NO_ERROR;
12694 }
12695
12697
12698 inline  void  GLProgramParameter4fv( GLenum target, GLuint index, const GLfloat *v )
12699 {
12700   NVSG_GL_STATS_FCT_COUNT();
12701   NVSG_ASSERT( glContext()->m_glFunctions );
12702   glContext()->m_glFunctions->glProgramParameter4fvNV( target, index, v );
12703   ASSERT_GL_NO_ERROR;
12704 }
12705
12707
12708 inline  void  GLProgramParameteri( GLuint program, GLenum pname, GLint value )
12709 {
12710   NVSG_GL_STATS_FCT_COUNT();
12711   NVSG_ASSERT( glContext()->m_glFunctions );
12712   glContext()->m_glFunctions->glProgramParameteri( program, pname, value );
12713   ASSERT_GL_NO_ERROR;
12714 }
12715
12717
12718 inline  void  GLProgramParameters4dv( GLenum target, GLuint index, GLsizei count, const GLdouble *v )
12719 {
12720   NVSG_GL_STATS_FCT_COUNT();
12721   NVSG_ASSERT( glContext()->m_glFunctions );
12722   glContext()->m_glFunctions->glProgramParameters4dvNV( target, index, count, v );
12723   ASSERT_GL_NO_ERROR;
12724 }
12725
12727
12728 inline  void  GLProgramParameters4fv( GLenum target, GLuint index, GLsizei count, const GLfloat *v )
12729 {
12730   NVSG_GL_STATS_FCT_COUNT();
12731   NVSG_ASSERT( glContext()->m_glFunctions );
12732   glContext()->m_glFunctions->glProgramParameters4fvNV( target, index, count, v );
12733   ASSERT_GL_NO_ERROR;
12734 }
12735
12737
12738 inline  void  GLProgramString( GLenum target, GLenum format, GLsizei len, const GLvoid *string )
12739 {
12740   NVSG_GL_STATS_FCT_COUNT();
12741   NVSG_ASSERT( glContext()->m_glFunctions );
12742   glContext()->m_glFunctions->glProgramStringARB( target, format, len, string );
12743   ASSERT_GL_NO_ERROR;
12744 }
12745
12747
12748 inline  void  GLProgramVertexLimit( GLenum target, GLint limit )
12749 {
12750   NVSG_GL_STATS_FCT_COUNT();
12751   NVSG_ASSERT( glContext()->m_glFunctions );
12752   glContext()->m_glFunctions->glProgramVertexLimit( target, limit );
12753   ASSERT_GL_NO_ERROR;
12754 }
12755
12757
12761 inline  void  GLPushAttrib( GLbitfield mask )
12762 {
12763   NVSG_GL_STATS_PUSH_ATTRIB( mask );
12764   glPushAttrib( mask );
12765   ASSERT_GL_NO_ERROR;
12766 #if defined( GL_CACHING )
12767   GLContext * ctx = glContext();
12768   ctx->m_pushMasks.push( mask );
12769   if ( mask == GL_ALL_ATTRIB_BITS )
12770   {
12771     ctx->m_colorBufferAttributesStack.push( ctx->m_colorBufferAttributes );
12772     ctx->m_colorBufferEnableAttributesStack.push( ctx->m_colorBufferEnableAttributes );
12773     ctx->m_depthBufferAttributesStack.push( ctx->m_depthBufferAttributes );
12774     ctx->m_depthBufferEnableAttributesStack.push( ctx->m_depthBufferEnableAttributes );
12775     ctx->m_evalAttributesStack.push( ctx->m_evalAttributes );
12776     ctx->m_fogAttributesStack.push( ctx->m_fogAttributes );
12777     ctx->m_fogEnableAttributesStack.push( ctx->m_fogEnableAttributes );
12778     ctx->m_lightingAttributesStack.push( ctx->m_lightingAttributes );
12779     ctx->m_lightingEnableAttributesStack.push( ctx->m_lightingEnableAttributes );
12780     ctx->m_lineAttributesStack.push( ctx->m_lineAttributes );
12781     ctx->m_lineEnableAttributesStack.push( ctx->m_lineEnableAttributes );
12782     ctx->m_pointAttributesStack.push( ctx->m_pointAttributes );
12783     ctx->m_pointEnableAttributesStack.push( ctx->m_pointEnableAttributes );
12784     ctx->m_polygonAttributesStack.push( ctx->m_polygonAttributes );
12785     ctx->m_polygonEnableAttributesStack.push( ctx->m_polygonEnableAttributes );
12786     ctx->m_scissorAttributesStack.push( ctx->m_scissorAttributes );
12787     ctx->m_scissorEnableAttributesStack.push( ctx->m_scissorEnableAttributes );
12788     ctx->m_stencilBufferAttributesStack.push( ctx->m_stencilBufferAttributes );
12789     ctx->m_stencilBufferEnableAttributesStack.push( ctx->m_stencilBufferEnableAttributes );
12790     ctx->m_textureAttributesStack.push( ctx->m_textureAttributes );
12791     ctx->m_textureEnableAttributesStack.push( ctx->m_textureEnableAttributes );
12792     ctx->m_transformAttributesStack.push( ctx->m_transformAttributes );
12793     ctx->m_transformEnableAttributesStack.push( ctx->m_transformEnableAttributes );
12794     ctx->m_viewportAttributesStack.push( ctx->m_viewportAttributes );
12795   }
12796   else
12797   {
12798     if ( mask & GL_COLOR_BUFFER_BIT )
12799     {
12800       ctx->m_colorBufferAttributesStack.push( ctx->m_colorBufferAttributes );
12801     }
12802     if ( mask & GL_DEPTH_BUFFER_BIT )
12803     {
12804       ctx->m_depthBufferAttributesStack.push( ctx->m_depthBufferAttributes );
12805     }
12806     if ( mask & ( GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT ) )
12807     {
12808       ctx->m_colorBufferEnableAttributesStack.push( ctx->m_colorBufferEnableAttributes );
12809     }
12810     if ( mask & ( GL_ENABLE_BIT | GL_DEPTH_BUFFER_BIT ) )
12811     {
12812       ctx->m_depthBufferEnableAttributesStack.push( ctx->m_depthBufferEnableAttributes );
12813     }
12814     if ( mask & ( GL_ENABLE_BIT | GL_FOG_BIT ) )
12815     {
12816       ctx->m_fogEnableAttributesStack.push( ctx->m_fogEnableAttributes );
12817     }
12818     if ( mask & ( GL_ENABLE_BIT | GL_LIGHTING_BIT ) )
12819     {
12820       ctx->m_lightingEnableAttributesStack.push( ctx->m_lightingEnableAttributes );
12821     }
12822     if ( mask & ( GL_ENABLE_BIT | GL_LINE_BIT ) )
12823     {
12824       ctx->m_lineEnableAttributesStack.push( ctx->m_lineEnableAttributes );
12825     }
12826     if ( mask & ( GL_ENABLE_BIT | GL_POINT_BIT ) )
12827     {
12828       ctx->m_pointEnableAttributesStack.push( ctx->m_pointEnableAttributes );
12829     }
12830     if ( mask & ( GL_ENABLE_BIT | GL_POLYGON_BIT ) )
12831     {
12832       ctx->m_polygonEnableAttributesStack.push( ctx->m_polygonEnableAttributes );
12833     }
12834     if ( mask & ( GL_ENABLE_BIT | GL_SCISSOR_BIT ) )
12835     {
12836       ctx->m_scissorEnableAttributesStack.push( ctx->m_scissorEnableAttributes );
12837     }
12838     if ( mask & ( GL_ENABLE_BIT | GL_STENCIL_BUFFER_BIT ) )
12839     {
12840       ctx->m_stencilBufferEnableAttributesStack.push( ctx->m_stencilBufferEnableAttributes );
12841     }
12842     if ( mask & ( GL_ENABLE_BIT | GL_TEXTURE_BIT ) )
12843     {
12844       ctx->m_textureEnableAttributesStack.push( ctx->m_textureEnableAttributes );
12845     }
12846     if ( mask & ( GL_ENABLE_BIT | GL_TRANSFORM_BIT ) )
12847     {
12848       ctx->m_transformEnableAttributesStack.push( ctx->m_transformEnableAttributes );
12849     }
12850     if ( mask & GL_EVAL_BIT )
12851     {
12852       ctx->m_evalAttributesStack.push( ctx->m_evalAttributes );
12853     }
12854     if ( mask & GL_FOG_BIT )
12855     {
12856       ctx->m_fogAttributesStack.push( ctx->m_fogAttributes );
12857     }
12858     if ( mask & GL_LIGHTING_BIT )
12859     {
12860       ctx->m_lightingAttributesStack.push( ctx->m_lightingAttributes );
12861     }
12862     if ( mask & GL_LINE_BIT )
12863     {
12864       ctx->m_lineAttributesStack.push( ctx->m_lineAttributes );
12865     }
12866     if ( mask & GL_POINT_BIT )
12867     {
12868       ctx->m_pointAttributesStack.push( ctx->m_pointAttributes );
12869     }
12870     if ( mask & GL_POLYGON_BIT )
12871     {
12872       ctx->m_polygonAttributesStack.push( ctx->m_polygonAttributes );
12873     }
12874     if ( mask & GL_SCISSOR_BIT )
12875     {
12876       ctx->m_scissorAttributesStack.push( ctx->m_scissorAttributes );
12877     }
12878     if ( mask & GL_STENCIL_BUFFER_BIT )
12879     {
12880       ctx->m_stencilBufferAttributesStack.push( ctx->m_stencilBufferAttributes );
12881     }
12882     if ( mask & GL_TEXTURE_BIT )
12883     {
12884       ctx->m_textureAttributesStack.push( ctx->m_textureAttributes );
12885     }
12886     if ( mask & GL_TRANSFORM_BIT )
12887     {
12888       ctx->m_transformAttributesStack.push( ctx->m_transformAttributes );
12889     }
12890     if ( mask & GL_VIEWPORT_BIT )
12891     {
12892       ctx->m_viewportAttributesStack.push( ctx->m_viewportAttributes );
12893     }
12894   }
12895 #endif
12896 }
12897
12899
12903 inline  void  GLPushClientAttrib( GLbitfield mask )
12904 {
12905   NVSG_GL_STATS_FCT_COUNT();
12906   glPushClientAttrib( mask );
12907   ASSERT_GL_NO_ERROR;
12908 #if defined( GL_CACHING )
12909   GLContext * ctx = glContext();
12910   ctx->m_clientPushMasks.push( mask );
12911   if ( mask & GL_CLIENT_VERTEX_ARRAY_BIT )
12912   {
12913     ctx->m_vertexArrayAttributesStack.push( ctx->m_vertexArrayAttributes );
12914   }
12915 #endif
12916 }
12917
12919
12920 inline  void  GLPushMatrix( void )
12921 {
12922   NVSG_GL_STATS_PUSH_MATRIX();
12923 #if defined( GL_CACHING )
12924   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
12925   { // note: we have a texture matrix stack per unit
12926     _GLUpdateActiveTexture();
12927   }
12928 #endif
12929   glPushMatrix();
12930   ASSERT_GL_NO_ERROR;
12931 }
12932
12934
12935 inline  void  GLPushName( GLuint name )
12936 {
12937   NVSG_GL_STATS_FCT_COUNT();
12938   glPushName( name );
12939   ASSERT_GL_NO_ERROR;
12940 }
12941
12943
12944 inline  void  GLRasterPos2d( GLdouble x, GLdouble y )
12945 {
12946   NVSG_GL_STATS_FCT_COUNT();
12947   glRasterPos2d( x, y );
12948   ASSERT_GL_NO_ERROR;
12949 }
12950
12952
12953 inline  void  GLRasterPos2f( GLfloat x, GLfloat y )
12954 {
12955   NVSG_GL_STATS_FCT_COUNT();
12956   glRasterPos2f( x, y );
12957   ASSERT_GL_NO_ERROR;
12958 }
12959
12961
12962 inline  void  GLRasterPos2i( GLint x, GLint y )
12963 {
12964   NVSG_GL_STATS_FCT_COUNT();
12965   glRasterPos2i( x, y );
12966   ASSERT_GL_NO_ERROR;
12967 }
12968
12970
12971 inline  void  GLRasterPos2s( GLshort x, GLshort y )
12972 {
12973   NVSG_GL_STATS_FCT_COUNT();
12974   glRasterPos2s( x, y );
12975   ASSERT_GL_NO_ERROR;
12976 }
12977
12979
12980 inline  void  GLRasterPos3d( GLdouble x, GLdouble y, GLdouble z )
12981 {
12982   NVSG_GL_STATS_FCT_COUNT();
12983   glRasterPos3d( x, y, z );
12984   ASSERT_GL_NO_ERROR;
12985 }
12986
12988
12989 inline  void  GLRasterPos3f( GLfloat x, GLfloat y, GLfloat z )
12990 {
12991   NVSG_GL_STATS_FCT_COUNT();
12992   glRasterPos3f( x, y, z );
12993   ASSERT_GL_NO_ERROR;
12994 }
12995
12997
12998 inline  void  GLRasterPos3i( GLint x, GLint y, GLint z )
12999 {
13000   NVSG_GL_STATS_FCT_COUNT();
13001   glRasterPos3i( x, y, z );
13002   ASSERT_GL_NO_ERROR;
13003 }
13004
13006
13007 inline  void  GLRasterPos3s( GLshort x, GLshort y, GLshort z )
13008 {
13009   NVSG_GL_STATS_FCT_COUNT();
13010   glRasterPos3s( x, y, z );
13011   ASSERT_GL_NO_ERROR;
13012 }
13013
13015
13016 inline  void  GLRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
13017 {
13018   NVSG_GL_STATS_FCT_COUNT();
13019   glRasterPos4d( x, y, z, w );
13020   ASSERT_GL_NO_ERROR;
13021 }
13022
13024
13025 inline  void  GLRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
13026 {
13027   NVSG_GL_STATS_FCT_COUNT();
13028   glRasterPos4f( x, y, z, w );
13029   ASSERT_GL_NO_ERROR;
13030 }
13031
13033
13034 inline  void  GLRasterPos4i( GLint x, GLint y, GLint z, GLint w )
13035 {
13036   NVSG_GL_STATS_FCT_COUNT();
13037   glRasterPos4i( x, y, z, w );
13038   ASSERT_GL_NO_ERROR;
13039 }
13040
13042
13043 inline  void  GLRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w )
13044 {
13045   NVSG_GL_STATS_FCT_COUNT();
13046   glRasterPos4s( x, y, z, w );
13047   ASSERT_GL_NO_ERROR;
13048 }
13049
13051
13052 inline  void  GLRasterPos2dv( const GLdouble *v )
13053 {
13054   NVSG_GL_STATS_FCT_COUNT();
13055   glRasterPos2dv( v );
13056   ASSERT_GL_NO_ERROR;
13057 }
13058
13060
13061 inline  void  GLRasterPos2fv( const GLfloat *v )
13062 {
13063   NVSG_GL_STATS_FCT_COUNT();
13064   glRasterPos2fv( v );
13065   ASSERT_GL_NO_ERROR;
13066 }
13067
13069
13070 inline  void  GLRasterPos2iv( const GLint *v )
13071 {
13072   NVSG_GL_STATS_FCT_COUNT();
13073   glRasterPos2iv( v );
13074   ASSERT_GL_NO_ERROR;
13075 }
13076
13078
13079 inline  void  GLRasterPos2sv( const GLshort *v )
13080 {
13081   NVSG_GL_STATS_FCT_COUNT();
13082   glRasterPos2sv( v );
13083   ASSERT_GL_NO_ERROR;
13084 }
13085
13087
13088 inline  void  GLRasterPos3dv( const GLdouble *v )
13089 {
13090   NVSG_GL_STATS_FCT_COUNT();
13091   glRasterPos3dv( v );
13092   ASSERT_GL_NO_ERROR;
13093 }
13094
13096
13097 inline  void  GLRasterPos3fv( const GLfloat *v )
13098 {
13099   NVSG_GL_STATS_FCT_COUNT();
13100   glRasterPos3fv( v );
13101   ASSERT_GL_NO_ERROR;
13102 }
13103
13105
13106 inline  void  GLRasterPos3iv( const GLint *v )
13107 {
13108   NVSG_GL_STATS_FCT_COUNT();
13109   glRasterPos3iv( v );
13110   ASSERT_GL_NO_ERROR;
13111 }
13112
13114
13115 inline  void  GLRasterPos3sv( const GLshort *v )
13116 {
13117   NVSG_GL_STATS_FCT_COUNT();
13118   glRasterPos3sv( v );
13119   ASSERT_GL_NO_ERROR;
13120 }
13121
13123
13124 inline  void  GLRasterPos4dv( const GLdouble *v )
13125 {
13126   NVSG_GL_STATS_FCT_COUNT();
13127   glRasterPos4dv( v );
13128   ASSERT_GL_NO_ERROR;
13129 }
13130
13132
13133 inline  void  GLRasterPos4fv( const GLfloat *v )
13134 {
13135   NVSG_GL_STATS_FCT_COUNT();
13136   glRasterPos4fv( v );
13137   ASSERT_GL_NO_ERROR;
13138 }
13139
13141
13142 inline  void  GLRasterPos4iv( const GLint *v )
13143 {
13144   NVSG_GL_STATS_FCT_COUNT();
13145   glRasterPos4iv( v );
13146   ASSERT_GL_NO_ERROR;
13147 }
13148
13150
13151 inline  void  GLRasterPos4sv( const GLshort *v )
13152 {
13153   NVSG_GL_STATS_FCT_COUNT();
13154   glRasterPos4sv( v );
13155   ASSERT_GL_NO_ERROR;
13156 }
13157
13159
13160 inline  void  GLReadBuffer( GLenum mode )
13161 {
13162   NVSG_GL_STATS_FCT_COUNT();
13163   glReadBuffer( mode );
13164   ASSERT_GL_NO_ERROR;
13165 }
13166
13168
13169 inline  void  GLReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels )
13170 {
13171   NVSG_GL_STATS_FCT_COUNT();
13172   glReadPixels( x, y, width, height, format, type, pixels );
13173   ASSERT_GL_NO_ERROR;
13174 }
13175
13177
13178 inline  void  GLRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 )
13179 {
13180   NVSG_GL_STATS_FCT_COUNT();
13181   glRectd( x1, y1, x2, y2 );
13182   ASSERT_GL_NO_ERROR;
13183 }
13184
13186
13187 inline  void  GLRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
13188 {
13189   NVSG_GL_STATS_FCT_COUNT();
13190   glRectf( x1, y1, x2, y2 );
13191   ASSERT_GL_NO_ERROR;
13192 }
13193
13195
13196 inline  void  GLRecti( GLint x1, GLint y1, GLint x2, GLint y2 )
13197 {
13198   NVSG_GL_STATS_FCT_COUNT();
13199   glRecti( x1, y1, x2, y2 );
13200   ASSERT_GL_NO_ERROR;
13201 }
13202
13204
13205 inline  void  GLRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 )
13206 {
13207   NVSG_GL_STATS_FCT_COUNT();
13208   glRects( x1, y1, x2, y2 );
13209   ASSERT_GL_NO_ERROR;
13210 }
13211
13213
13214 inline  void  GLRenderMode( GLenum mode )
13215 {
13216   NVSG_GL_STATS_FCT_COUNT();
13217   glRenderMode( mode );
13218   ASSERT_GL_NO_ERROR;
13219 }
13220
13222
13223 inline  void  GLRequestResidentPrograms( GLsizei n, const GLuint *programs )
13224 {
13225   NVSG_GL_STATS_FCT_COUNT();
13226   NVSG_ASSERT( glContext()->m_glFunctions );
13227   glContext()->m_glFunctions->glRequestResidentProgramsNV( n, programs );
13228   ASSERT_GL_NO_ERROR;
13229 }
13230
13232
13233 inline  void  GLResetHistogram( GLenum target )
13234 {
13235   NVSG_GL_STATS_FCT_COUNT();
13236   NVSG_ASSERT( glContext()->m_glFunctions );
13237   glContext()->m_glFunctions->glResetHistogram( target );
13238   ASSERT_GL_NO_ERROR;
13239 }
13240
13242
13243 inline  void  GLResetMinmax( GLenum target )
13244 {
13245   NVSG_GL_STATS_FCT_COUNT();
13246   NVSG_ASSERT( glContext()->m_glFunctions );
13247   glContext()->m_glFunctions->glResetMinmax( target );
13248   ASSERT_GL_NO_ERROR;
13249 }
13250
13252
13253 inline  void  GLRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z )
13254 {
13255   NVSG_GL_STATS_ROTATED( angle, x, y, z );
13256 #if defined( GL_CACHING )
13257   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
13258   { // note: we have a texture matrix stack per unit
13259     _GLUpdateActiveTexture();
13260   }
13261 #endif
13262   glRotated( angle, x, y, z );
13263   ASSERT_GL_NO_ERROR;
13264 }
13265
13267
13268 inline  void  GLRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
13269 {
13270   NVSG_GL_STATS_ROTATEF( angle, x, y, z );
13271 #if defined( GL_CACHING )
13272   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
13273   { // note: we have a texture matrix stack per unit
13274     _GLUpdateActiveTexture();
13275   }
13276 #endif
13277   glRotatef( angle, x, y, z );
13278   ASSERT_GL_NO_ERROR;
13279 }
13280
13282
13283 inline  void  GLScaled( GLdouble x, GLdouble y, GLdouble z )
13284 {
13285   NVSG_GL_STATS_SCALED( x, y, z );
13286 #if defined( GL_CACHING )
13287   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
13288   { // note: we have a texture matrix stack per unit
13289     _GLUpdateActiveTexture();
13290   }
13291 #endif
13292   glScaled( x, y, z );
13293   ASSERT_GL_NO_ERROR;
13294 }
13295
13297
13298 inline  void  GLScalef( GLfloat x, GLfloat y, GLfloat z )
13299 {
13300   NVSG_GL_STATS_SCALEF( x, y, z );
13301 #if defined( GL_CACHING )
13302   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
13303   { // note: we have a texture matrix stack per unit
13304     _GLUpdateActiveTexture();
13305   }
13306 #endif
13307   glScalef( x, y, z );
13308   ASSERT_GL_NO_ERROR;
13309 }
13310
13312
13313 inline  void  GLSampleCoverage( GLclampf value, GLboolean invert )
13314 {
13315   NVSG_GL_STATS_FCT_COUNT();
13316   NVSG_ASSERT( glContext()->m_glFunctions );
13317   glContext()->m_glFunctions->glSampleCoverage( value, invert );
13318   ASSERT_GL_NO_ERROR;
13319 }
13320
13322
13323 inline  void  GLScissor( GLint x, GLint y, GLsizei width, GLsizei height )
13324 {
13325 #if defined( GL_CACHING )
13326   GLContext * ctx = glContext();
13327 # if defined(GL_SUPPORT_RESET)
13328   ctx->m_previousAttributes.m_scissorX      = ctx->m_scissorAttributes.m_x;
13329   ctx->m_previousAttributes.m_scissorY      = ctx->m_scissorAttributes.m_y;
13330   ctx->m_previousAttributes.m_scissorWidth  = ctx->m_scissorAttributes.m_width;
13331   ctx->m_previousAttributes.m_scissorHeight = ctx->m_scissorAttributes.m_height;
13332 # endif
13333   if (    ( ctx->m_scissorAttributes.m_x != x )
13334       ||  ( ctx->m_scissorAttributes.m_y != y )
13335       ||  ( ctx->m_scissorAttributes.m_width != width )
13336       ||  ( ctx->m_scissorAttributes.m_height != height ) )
13337 #endif
13338   {
13339     NVSG_GL_STATS_FCT_COUNT();
13340     glScissor( x, y, width, height );
13341     ASSERT_GL_NO_ERROR;
13342 #if defined( GL_CACHING )
13343     ctx->m_scissorAttributes.m_x = x;
13344     ctx->m_scissorAttributes.m_y = y;
13345     ctx->m_scissorAttributes.m_width = width;
13346     ctx->m_scissorAttributes.m_height = height;
13347 #endif
13348   }
13349 }
13350
13355 inline void GLResetScissor()
13356 {
13357 #if defined(GL_SUPPORT_RESET)
13358   GLContext * ctx = glContext();
13359   GLScissor( ctx->m_previousAttributes.m_scissorX, ctx->m_previousAttributes.m_scissorY
13360            , ctx->m_previousAttributes.m_scissorWidth, ctx->m_previousAttributes.m_scissorHeight );
13361 #else
13362 #endif
13363 }
13364
13366
13367 inline  void  GLSecondaryColor3b( GLbyte red, GLbyte green, GLbyte blue )
13368 {
13369   NVSG_GL_STATS_FCT_COUNT();
13370   NVSG_ASSERT( glContext()->m_glFunctions );
13371   glContext()->m_glFunctions->glSecondaryColor3b( red, green, blue );
13372   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13373 }
13374
13376
13377 inline  void  GLSecondaryColor3bv( const GLbyte *v )
13378 {
13379   NVSG_GL_STATS_FCT_COUNT();
13380   NVSG_ASSERT( glContext()->m_glFunctions );
13381   glContext()->m_glFunctions->glSecondaryColor3bv( v );
13382   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13383 }
13384
13386
13387 inline  void  GLSecondaryColor3d( GLdouble red, GLdouble green, GLdouble blue )
13388 {
13389   NVSG_GL_STATS_FCT_COUNT();
13390   NVSG_ASSERT( glContext()->m_glFunctions );
13391   glContext()->m_glFunctions->glSecondaryColor3d( red, green, blue );
13392   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13393 }
13394
13396
13397 inline  void  GLSecondaryColor3dv( const GLdouble *v )
13398 {
13399   NVSG_GL_STATS_FCT_COUNT();
13400   NVSG_ASSERT( glContext()->m_glFunctions );
13401   glContext()->m_glFunctions->glSecondaryColor3dv( v );
13402   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13403 }
13404
13406
13407 inline  void  GLSecondaryColor3f( GLfloat red, GLfloat green, GLfloat blue )
13408 {
13409   NVSG_GL_STATS_FCT_COUNT();
13410   NVSG_ASSERT( glContext()->m_glFunctions );
13411   glContext()->m_glFunctions->glSecondaryColor3f( red, green, blue );
13412   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13413 }
13414
13416
13417 inline  void  GLSecondaryColor3fv( const GLfloat *v )
13418 {
13419   NVSG_GL_STATS_FCT_COUNT();
13420   NVSG_ASSERT( glContext()->m_glFunctions );
13421   glContext()->m_glFunctions->glSecondaryColor3fv( v );
13422   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13423 }
13424
13426
13427 inline  void  GLSecondaryColor3h( GLhalf red, GLhalf green, GLhalf blue )
13428 {
13429   NVSG_GL_STATS_FCT_COUNT();
13430   NVSG_ASSERT( glContext()->m_glFunctions );
13431   glContext()->m_glFunctions->glSecondaryColor3h( red, green, blue );
13432   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13433 }
13434
13436
13437 inline  void  GLSecondaryColor3hv( const GLhalf *v )
13438 {
13439   NVSG_GL_STATS_FCT_COUNT();
13440   NVSG_ASSERT( glContext()->m_glFunctions );
13441   glContext()->m_glFunctions->glSecondaryColor3hv( v );
13442   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13443 }
13444
13446
13447 inline  void  GLSecondaryColor3i( GLint red, GLint green, GLint blue )
13448 {
13449   NVSG_GL_STATS_FCT_COUNT();
13450   NVSG_ASSERT( glContext()->m_glFunctions );
13451   glContext()->m_glFunctions->glSecondaryColor3i( red, green, blue );
13452   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13453 }
13454
13456
13457 inline  void  GLSecondaryColor3iv( const GLint *v )
13458 {
13459   NVSG_GL_STATS_FCT_COUNT();
13460   NVSG_ASSERT( glContext()->m_glFunctions );
13461   glContext()->m_glFunctions->glSecondaryColor3iv( v );
13462   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13463 }
13464
13466
13467 inline  void  GLSecondaryColor3s( GLshort red, GLshort green, GLshort blue )
13468 {
13469   NVSG_GL_STATS_FCT_COUNT();
13470   NVSG_ASSERT( glContext()->m_glFunctions );
13471   glContext()->m_glFunctions->glSecondaryColor3s( red, green, blue );
13472   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13473 }
13474
13476
13477 inline  void  GLSecondaryColor3sv( const GLshort *v )
13478 {
13479   NVSG_GL_STATS_FCT_COUNT();
13480   NVSG_ASSERT( glContext()->m_glFunctions );
13481   glContext()->m_glFunctions->glSecondaryColor3sv( v );
13482   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13483 }
13484
13486
13487 inline  void  GLSecondaryColor3ub( GLubyte red, GLubyte green, GLubyte blue )
13488 {
13489   NVSG_GL_STATS_FCT_COUNT();
13490   NVSG_ASSERT( glContext()->m_glFunctions );
13491   glContext()->m_glFunctions->glSecondaryColor3ub( red, green, blue );
13492   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13493 }
13494
13496
13497 inline  void  GLSecondaryColor3ubv( const GLubyte *v )
13498 {
13499   NVSG_GL_STATS_FCT_COUNT();
13500   NVSG_ASSERT( glContext()->m_glFunctions );
13501   glContext()->m_glFunctions->glSecondaryColor3ubv( v );
13502   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13503 }
13504
13506
13507 inline  void  GLSecondaryColor3ui( GLuint red, GLuint green, GLuint blue )
13508 {
13509   NVSG_GL_STATS_FCT_COUNT();
13510   NVSG_ASSERT( glContext()->m_glFunctions );
13511   glContext()->m_glFunctions->glSecondaryColor3ui( red, green, blue );
13512   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13513 }
13514
13516
13517 inline  void  GLSecondaryColor3uiv( const GLuint *v )
13518 {
13519   NVSG_GL_STATS_FCT_COUNT();
13520   NVSG_ASSERT( glContext()->m_glFunctions );
13521   glContext()->m_glFunctions->glSecondaryColor3uiv( v );
13522   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13523 }
13524
13526
13527 inline  void  GLSecondaryColor3us( GLushort red, GLushort green, GLushort blue )
13528 {
13529   NVSG_GL_STATS_FCT_COUNT();
13530   NVSG_ASSERT( glContext()->m_glFunctions );
13531   glContext()->m_glFunctions->glSecondaryColor3us( red, green, blue );
13532   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13533 }
13534
13536
13537 inline  void  GLSecondaryColor3usv( const GLushort *v )
13538 {
13539   NVSG_GL_STATS_FCT_COUNT();
13540   NVSG_ASSERT( glContext()->m_glFunctions );
13541   glContext()->m_glFunctions->glSecondaryColor3usv( v );
13542   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13543 }
13544
13546
13547 inline  void  GLSecondaryColorPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
13548 {
13549   NVSG_GL_STATS_FCT_COUNT();
13550   NVSG_ASSERT( glContext()->m_glFunctions );
13551   glContext()->m_glFunctions->glSecondaryColorPointer( size, type, stride, pointer );
13552   ASSERT_GL_NO_ERROR;
13553 }
13554
13556
13557 inline  void  GLSelectBuffer( GLsizei size, GLuint *buffer )
13558 {
13559   NVSG_GL_STATS_FCT_COUNT();
13560   glSelectBuffer( size, buffer );
13561   ASSERT_GL_NO_ERROR;
13562 }
13563
13565
13566 inline  void  GLSelectTexture( GLenum target )
13567 {
13568   GLActiveTexture( target );
13569 }
13570
13572
13573 inline  void  GLSelectTextureCoordSet( GLenum target )
13574 {
13575   GLClientActiveTexture( target );
13576 }
13577
13579
13580 inline  void  GLSeparableFilter2D( GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column )
13581 {
13582   NVSG_GL_STATS_FCT_COUNT();
13583   NVSG_ASSERT( glContext()->m_glFunctions );
13584   glContext()->m_glFunctions->glSeparableFilter2D( target, internalformat, width, height, format, type, row, column );
13585   ASSERT_GL_NO_ERROR;
13586 }
13587
13589 inline  void  GLSetFence( GLuint fence, GLenum condition )
13590 {
13591   NVSG_GL_STATS_FCT_COUNT();
13592   NVSG_ASSERT( glContext()->m_glFunctions );
13593   glContext()->m_glFunctions->glSetFence( fence, condition );
13594   ASSERT_GL_NO_ERROR;
13595 }
13596
13598
13599 inline  void  GLShadeModel( GLenum mode )
13600 {
13601 #if defined( GL_CACHING )
13602   GLContext * ctx = glContext();
13603 # if defined(GL_SUPPORT_RESET)
13604   ctx->m_previousAttributes.m_shadeModel = ctx->m_lightingAttributes.m_shadeModel;
13605 # endif
13606   if ( ctx->m_lightingAttributes.m_shadeModel != mode )
13607 #endif
13608   {
13609     NVSG_GL_STATS_FCT_COUNT();
13610     glShadeModel( mode );
13611     ASSERT_GL_NO_ERROR;
13612 #if defined( GL_CACHING )
13613     ctx->m_lightingAttributes.m_shadeModel = mode;
13614 #endif
13615   }
13616 }
13617
13622 inline void GLResetShadeModel()
13623 {
13624 #if defined(GL_SUPPORT_RESET)
13625   GLShadeModel( glContext()->m_previousAttributes.m_shadeModel );
13626 #else
13627   GLShadeModel( GL_SMOOTH );
13628 #endif
13629 }
13630
13632 inline  void  GLShaderSource( GLuint shader, GLsizei count, const GLcharARB* *string, const GLint *length )
13633 {
13634   NVSG_GL_STATS_FCT_COUNT();
13635   NVSG_ASSERT( glContext()->m_glFunctions );
13636   glContext()->m_glFunctions->glShaderSource( shader, count, string, length );
13637   ASSERT_GL_NO_ERROR;
13638 }
13639
13641 inline  void  GLStencilClearTag( GLsizei tagBits, GLuint clearTag )
13642 {
13643   NVSG_GL_STATS_FCT_COUNT();
13644   NVSG_ASSERT( glContext()->m_glFunctions );
13645   glContext()->m_glFunctions->glStencilClearTag( tagBits, clearTag );
13646   ASSERT_GL_NO_ERROR;
13647 }
13648
13650
13651 inline  void  GLStencilFunc( GLenum func, GLint ref, GLuint mask )
13652 {
13653 #if defined( GL_CACHING )
13654   GLContext * ctx = glContext();
13655 # if defined(GL_SUPPORT_RESET)
13656   // store complete BFState<T>
13657   ctx->m_previousAttributes.m_stencilFunc      = ctx->m_stencilBufferAttributes.m_stencilFunc;
13658   ctx->m_previousAttributes.m_stencilRef       = ctx->m_stencilBufferAttributes.m_stencilRef;
13659   ctx->m_previousAttributes.m_stencilValueMask = ctx->m_stencilBufferAttributes.m_stencilValueMask;
13660 # endif
13661   // both back and front state in BFState have to be correct for caching to work
13662   if (    ( ctx->m_stencilBufferAttributes.m_stencilFunc != func )
13663       ||  ( ctx->m_stencilBufferAttributes.m_stencilRef != ref )
13664       ||  ( ctx->m_stencilBufferAttributes.m_stencilValueMask != mask ) )
13665 #endif
13666   {
13667     NVSG_GL_STATS_FCT_COUNT();
13668     glStencilFunc( func, ref, mask );
13669     ASSERT_GL_NO_ERROR;
13670 #if defined( GL_CACHING )
13671     // update complete BFState<T>
13672     ctx->m_stencilBufferAttributes.m_stencilFunc = func;
13673     ctx->m_stencilBufferAttributes.m_stencilRef = ref;
13674     ctx->m_stencilBufferAttributes.m_stencilValueMask = mask;
13675 #endif
13676   }
13677 }
13678
13680 inline  void  GLStencilFuncSeparate( GLenum face, GLenum func, GLint ref, GLuint mask )
13681 {
13682   NVSG_GL_STATS_FCT_COUNT();
13683 #if defined( GL_CACHING )
13684   GLContext * ctx = glContext();
13685 #if defined( GL_SUPPORT_RESET )
13686   // store complete BFState<T>
13687   ctx->m_previousAttributes.m_stencilFunc      = ctx->m_stencilBufferAttributes.m_stencilFunc;
13688   ctx->m_previousAttributes.m_stencilRef       = ctx->m_stencilBufferAttributes.m_stencilRef;
13689   ctx->m_previousAttributes.m_stencilValueMask = ctx->m_stencilBufferAttributes.m_stencilValueMask;
13690 #endif // GL_SUPPORT_RESET
13691   // compare corresponding BFState
13692   if ( !( ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilFunc,      func )
13693        && ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilRef,       ref  )
13694        && ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilValueMask, mask ) ) )
13695 #endif // GL_CACHING
13696   {
13697     NVSG_ASSERT( glContext()->m_glFunctions );
13698     glContext()->m_glFunctions->glStencilFuncSeparate( face, func, ref, mask );
13699     ASSERT_GL_NO_ERROR;
13700 #if defined( GL_CACHING )
13701     // update corresponding BFState<T>
13702     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilFunc, func );
13703     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilRef, ref );
13704     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilValueMask, mask );
13705 #endif // GL_CACHING
13706   }
13707 }
13708
13710 inline  void  GLStencilOpSeparate( GLenum face, GLenum fail, GLenum zfail, GLenum zpass )
13711 {
13712   NVSG_GL_STATS_FCT_COUNT();
13713 #if defined( GL_CACHING )
13714   GLContext * ctx = glContext();
13715 #if defined( GL_SUPPORT_RESET )
13716   // store complete BFState<T>
13717   ctx->m_previousAttributes.m_stencilFail          = ctx->m_stencilBufferAttributes.m_stencilFail;
13718   ctx->m_previousAttributes.m_stencilPassDepthFail = ctx->m_stencilBufferAttributes.m_stencilPassDepthFail;
13719   ctx->m_previousAttributes.m_stencilPassDepthPass = ctx->m_stencilBufferAttributes.m_stencilPassDepthPass;
13720 #endif // GL_SUPPORT_RESET
13721   // compare corresponding BFState
13722   if ( !( ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilFail, fail )
13723        && ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilPassDepthFail, zfail )
13724        && ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilPassDepthPass, zpass ) ) )
13725 #endif // GL_CACHING
13726   {
13727     NVSG_ASSERT( glContext()->m_glFunctions );
13728     glContext()->m_glFunctions->glStencilOpSeparate( face, fail, zfail, zpass );
13729     ASSERT_GL_NO_ERROR;
13730 #if defined( GL_CACHING )
13731     // update corresponding BFState<T>
13732     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilFail,          fail  );
13733     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilPassDepthFail, zfail );
13734     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilPassDepthPass, zpass );
13735 #endif // GL_CACHING
13736   }
13737 }
13738
13740 inline  void  GLStencilMaskSeparate( GLenum face, GLuint mask )
13741 {
13742   NVSG_GL_STATS_FCT_COUNT();
13743
13744 #if defined( GL_CACHING )
13745   GLContext * ctx = glContext();
13746 # if defined(GL_SUPPORT_RESET)
13747   // store complete BFState<T>
13748   ctx->m_previousAttributes.m_stencilWriteMask = ctx->m_stencilBufferAttributes.m_stencilWriteMask;
13749 # endif
13750   // compare corresponding BFState
13751   if ( !ctx->testBFState( face, ctx->m_stencilBufferAttributes.m_stencilWriteMask, mask ) )
13752 #endif
13753   {
13754     NVSG_GL_STATS_FCT_COUNT();
13755   NVSG_ASSERT( glContext()->m_glFunctions );
13756   glContext()->m_glFunctions->glStencilMaskSeparate( face, mask );
13757     ASSERT_GL_NO_ERROR;
13758 #if defined( GL_CACHING )
13759     // update corresponding BFState<T>
13760     ctx->assignBFState( face, ctx->m_stencilBufferAttributes.m_stencilWriteMask, mask );
13761 #endif
13762   }
13763 }
13764
13770 inline void GLResetStencilFunc()
13771 {
13772 #if defined(GL_SUPPORT_RESET)
13773   GLContext * ctx = glContext();
13774   GLStencilFuncSeparate( GL_BACK, ctx->m_previousAttributes.m_stencilFunc[GL_BACK]
13775                                 , ctx->m_previousAttributes.m_stencilRef[GL_BACK]
13776                                 , ctx->m_previousAttributes.m_stencilValueMask[GL_BACK] );
13777   GLStencilFuncSeparate( GL_FRONT, ctx->m_previousAttributes.m_stencilFunc[GL_FRONT]
13778                                 , ctx->m_previousAttributes.m_stencilRef[GL_FRONT]
13779                                 , ctx->m_previousAttributes.m_stencilValueMask[GL_FRONT] );
13780 #else
13781   GLStencilFunc( GL_ALWAYS, 0, ~0 );
13782 #endif
13783 }
13784
13786
13787 inline  void  GLStencilMask( GLuint mask )
13788 {
13789 #if defined( GL_CACHING )
13790   GLContext * ctx = glContext();
13791 # if defined(GL_SUPPORT_RESET)
13792   // store complete BFState<T>
13793   ctx->m_previousAttributes.m_stencilWriteMask = ctx->m_stencilBufferAttributes.m_stencilWriteMask;
13794 # endif
13795   // both back and front state in BFState have to be correct for caching to work
13796   if ( ctx->m_stencilBufferAttributes.m_stencilWriteMask != mask )
13797 #endif
13798   {
13799     NVSG_GL_STATS_FCT_COUNT();
13800     glStencilMask( mask );
13801     ASSERT_GL_NO_ERROR;
13802 #if defined( GL_CACHING )
13803     // update complete BFState<T>
13804     ctx->m_stencilBufferAttributes.m_stencilWriteMask = mask;
13805 #endif
13806   }
13807 }
13808
13813 inline void GLResetStencilMask()
13814 {
13815 #if defined(GL_SUPPORT_RESET)
13816   GLStencilMaskSeparate( GL_BACK, glContext()->m_previousAttributes.m_stencilWriteMask[GL_BACK] );
13817   GLStencilMaskSeparate( GL_FRONT, glContext()->m_previousAttributes.m_stencilWriteMask[GL_FRONT] );
13818 #else
13819   GLStencilMask( ~0 );
13820 #endif
13821 }
13822
13824
13825 inline  void  GLStencilOp( GLenum fail, GLenum zfail, GLenum zpass )
13826 {
13827 #if defined( GL_CACHING )
13828   GLContext * ctx = glContext();
13829 # if defined(GL_SUPPORT_RESET)
13830   // store complete BFState<T>
13831   ctx->m_previousAttributes.m_stencilFail          = ctx->m_stencilBufferAttributes.m_stencilFail;
13832   ctx->m_previousAttributes.m_stencilPassDepthFail = ctx->m_stencilBufferAttributes.m_stencilPassDepthFail;
13833   ctx->m_previousAttributes.m_stencilPassDepthPass = ctx->m_stencilBufferAttributes.m_stencilPassDepthPass;
13834 # endif
13835   // both back and front state in BFState have to be correct for caching to work
13836   if (    ( ctx->m_stencilBufferAttributes.m_stencilFail != fail )
13837       ||  ( ctx->m_stencilBufferAttributes.m_stencilPassDepthFail != zfail )
13838       ||  ( ctx->m_stencilBufferAttributes.m_stencilPassDepthPass != zpass ) )
13839 #endif
13840   {
13841     NVSG_GL_STATS_FCT_COUNT();
13842     glStencilOp( fail, zfail, zpass );
13843     ASSERT_GL_NO_ERROR;
13844 #if defined( GL_CACHING )
13845     // update complete BFState<T>
13846     ctx->m_stencilBufferAttributes.m_stencilFail = fail;
13847     ctx->m_stencilBufferAttributes.m_stencilPassDepthFail = zfail;
13848     ctx->m_stencilBufferAttributes.m_stencilPassDepthPass = zpass;
13849 #endif
13850   }
13851 }
13852
13858 inline void GLResetStencilOp()
13859 {
13860 #if defined(GL_SUPPORT_RESET)
13861   GLContext * ctx = glContext();
13862   GLStencilOpSeparate( GL_BACK, ctx->m_previousAttributes.m_stencilFail[GL_BACK]
13863                               , ctx->m_previousAttributes.m_stencilPassDepthFail[GL_BACK]
13864                               , ctx->m_previousAttributes.m_stencilPassDepthPass[GL_BACK] );
13865   GLStencilOpSeparate( GL_FRONT, ctx->m_previousAttributes.m_stencilFail[GL_FRONT]
13866                               , ctx->m_previousAttributes.m_stencilPassDepthFail[GL_FRONT]
13867                               , ctx->m_previousAttributes.m_stencilPassDepthPass[GL_FRONT] );
13868 #else
13869   GLStencilOp( GL_KEEP, GL_KEEP, GL_KEEP );
13870 #endif
13871 }
13872
13874
13875 inline void GLStringMarker( GLsizei len, const GLvoid * string )
13876 {
13877   if( glContext()->m_glFunctions && glContext()->m_glFunctions->glStringMarker )
13878   {
13879     glContext()->m_glFunctions->glStringMarker( len, string );
13880     ASSERT_GL_NO_ERROR;
13881   }
13882 }
13883
13885
13886 inline void GLFrameTerminator( void )
13887 {
13888   if( glContext()->m_glFunctions &&
13889                             glContext()->m_glFunctions->glFrameTerminator )
13890   {
13891     glContext()->m_glFunctions->glFrameTerminator();
13892     ASSERT_GL_NO_ERROR;
13893   }
13894 }
13895
13897
13898 inline  GLboolean GLTestFence( GLuint fence )
13899 {
13900   NVSG_GL_STATS_FCT_COUNT();
13901   NVSG_ASSERT( glContext()->m_glFunctions );
13902   GLboolean ok = glContext()->m_glFunctions->glTestFence( fence );
13903   ASSERT_GL_NO_ERROR;
13904   return( ok );
13905 }
13906
13908
13909 inline  void  GLTexBuffer( GLenum target, GLenum internalformat, GLuint buffer )
13910 {
13911   NVSG_GL_STATS_FCT_COUNT();
13912   NVSG_ASSERT( glContext()->m_glFunctions );
13913   glContext()->m_glFunctions->glTexBuffer( target, internalformat, buffer );
13914   ASSERT_GL_NO_ERROR;
13915 }
13916
13918
13919 inline  void  GLTexCoord1d( GLdouble s )
13920 {
13921   NVSG_GL_STATS_FCT_COUNT();
13922   glTexCoord1d( s );
13923   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13924 }
13925
13927
13928 inline  void  GLTexCoord1dv( const GLdouble *v )
13929 {
13930   NVSG_GL_STATS_FCT_COUNT();
13931   glTexCoord1dv( v );
13932   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13933 }
13934
13936
13937 inline  void  GLTexCoord1f( GLfloat s )
13938 {
13939   NVSG_GL_STATS_FCT_COUNT();
13940   glTexCoord1f( s );
13941   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13942 }
13943
13945
13946 inline  void  GLTexCoord1fv( const GLfloat *v )
13947 {
13948   NVSG_GL_STATS_FCT_COUNT();
13949   glTexCoord1fv( v );
13950   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13951 }
13952
13954
13955 inline  void  GLTexCoord1h( GLhalf s )
13956 {
13957   NVSG_GL_STATS_FCT_COUNT();
13958   NVSG_ASSERT( glContext()->m_glFunctions );
13959   glContext()->m_glFunctions->glTexCoord1h( s );
13960   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13961 }
13962
13964
13965 inline  void  GLTexCoord1hv( const GLhalf *v )
13966 {
13967   NVSG_GL_STATS_FCT_COUNT();
13968   NVSG_ASSERT( glContext()->m_glFunctions );
13969   glContext()->m_glFunctions->glTexCoord1hv( v );
13970   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13971 }
13972
13974
13975 inline  void  GLTexCoord1i( GLint s )
13976 {
13977   NVSG_GL_STATS_FCT_COUNT();
13978   glTexCoord1i( s );
13979   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13980 }
13981
13983
13984 inline  void  GLTexCoord1iv( const GLint *v )
13985 {
13986   NVSG_GL_STATS_FCT_COUNT();
13987   glTexCoord1iv( v );
13988   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13989 }
13990
13992
13993 inline  void  GLTexCoord1s( GLshort s )
13994 {
13995   NVSG_GL_STATS_FCT_COUNT();
13996   glTexCoord1s( s );
13997   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
13998 }
13999
14001
14002 inline  void  GLTexCoord1sv( const GLshort *v )
14003 {
14004   NVSG_GL_STATS_FCT_COUNT();
14005   glTexCoord1sv( v );
14006   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14007 }
14008
14010
14011 inline  void  GLTexCoord2d( GLdouble s, GLdouble t )
14012 {
14013   NVSG_GL_STATS_FCT_COUNT();
14014   glTexCoord2d( s, t );
14015   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14016 }
14017
14019
14020 inline  void  GLTexCoord2dv( const GLdouble *v )
14021 {
14022   NVSG_GL_STATS_FCT_COUNT();
14023   glTexCoord2dv( v );
14024   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14025 }
14026
14028
14029 inline  void  GLTexCoord2f( GLfloat s, GLfloat t )
14030 {
14031   NVSG_GL_STATS_FCT_COUNT();
14032   glTexCoord2f( s, t );
14033   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14034 }
14035
14037
14038 inline  void  GLTexCoord2fv( const GLfloat *v )
14039 {
14040   NVSG_GL_STATS_FCT_COUNT();
14041   glTexCoord2fv( v );
14042   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14043 }
14044
14046
14047 inline  void  GLTexCoord2h( GLhalf s, GLhalf t )
14048 {
14049   NVSG_GL_STATS_FCT_COUNT();
14050   NVSG_ASSERT( glContext()->m_glFunctions );
14051   glContext()->m_glFunctions->glTexCoord2h( s, t );
14052   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14053 }
14054
14056
14057 inline  void  GLTexCoord2hv( const GLhalf *v )
14058 {
14059   NVSG_GL_STATS_FCT_COUNT();
14060   NVSG_ASSERT( glContext()->m_glFunctions );
14061   glContext()->m_glFunctions->glTexCoord2hv( v );
14062   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14063 }
14064
14066
14067 inline  void  GLTexCoord2i( GLint s, GLint t )
14068 {
14069   NVSG_GL_STATS_FCT_COUNT();
14070   glTexCoord2i( s, t );
14071   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14072 }
14073
14075
14076 inline  void  GLTexCoord2iv( const GLint *v )
14077 {
14078   NVSG_GL_STATS_FCT_COUNT();
14079   glTexCoord2iv( v );
14080   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14081 }
14082
14084
14085 inline  void  GLTexCoord2s( GLshort s, GLshort t )
14086 {
14087   NVSG_GL_STATS_FCT_COUNT();
14088   glTexCoord2s( s, t );
14089   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14090 }
14091
14093
14094 inline  void  GLTexCoord2sv( const GLshort *v )
14095 {
14096   NVSG_GL_STATS_FCT_COUNT();
14097   glTexCoord2sv( v );
14098   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14099 }
14100
14102
14103 inline  void  GLTexCoord3d( GLdouble s, GLdouble t, GLdouble r )
14104 {
14105   NVSG_GL_STATS_FCT_COUNT();
14106   glTexCoord3d( s, t, r );
14107   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14108 }
14109
14111
14112 inline  void  GLTexCoord3dv( const GLdouble *v )
14113 {
14114   NVSG_GL_STATS_FCT_COUNT();
14115   glTexCoord3dv( v );
14116   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14117 }
14118
14120
14121 inline  void  GLTexCoord3f( GLfloat s, GLfloat t, GLfloat r )
14122 {
14123   NVSG_GL_STATS_FCT_COUNT();
14124   glTexCoord3f( s, t, r );
14125   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14126 }
14127
14129
14130 inline  void  GLTexCoord3fv( const GLfloat *v )
14131 {
14132   NVSG_GL_STATS_FCT_COUNT();
14133   glTexCoord3fv( v );
14134   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14135 }
14136
14138
14139 inline  void  GLTexCoord3h( GLhalf s, GLhalf t, GLhalf r )
14140 {
14141   NVSG_GL_STATS_FCT_COUNT();
14142   NVSG_ASSERT( glContext()->m_glFunctions );
14143   glContext()->m_glFunctions->glTexCoord3h( s, t, r );
14144   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14145 }
14146
14148
14149 inline  void  GLTexCoord3hv( const GLhalf *v )
14150 {
14151   NVSG_GL_STATS_FCT_COUNT();
14152   NVSG_ASSERT( glContext()->m_glFunctions );
14153   glContext()->m_glFunctions->glTexCoord3hv( v );
14154   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14155 }
14156
14158
14159 inline  void  GLTexCoord3i( GLint s, GLint t, GLint r )
14160 {
14161   NVSG_GL_STATS_FCT_COUNT();
14162   glTexCoord3i( s, t, r );
14163   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14164 }
14165
14167
14168 inline  void  GLTexCoord3iv( const GLint *v )
14169 {
14170   NVSG_GL_STATS_FCT_COUNT();
14171   glTexCoord3iv( v );
14172   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14173 }
14174
14176
14177 inline  void  GLTexCoord3s( GLshort s, GLshort t, GLshort r )
14178 {
14179   NVSG_GL_STATS_FCT_COUNT();
14180   glTexCoord3s( s, t, r );
14181   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14182 }
14183
14185
14186 inline  void  GLTexCoord3sv( const GLshort *v )
14187 {
14188   NVSG_GL_STATS_FCT_COUNT();
14189   glTexCoord3sv( v );
14190   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14191 }
14192
14194
14195 inline  void  GLTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q )
14196 {
14197   NVSG_GL_STATS_FCT_COUNT();
14198   glTexCoord4d( s, t, r, q );
14199   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14200 }
14201
14203
14204 inline  void  GLTexCoord4dv( const GLdouble *v )
14205 {
14206   NVSG_GL_STATS_FCT_COUNT();
14207   glTexCoord4dv( v );
14208   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14209 }
14210
14212
14213 inline  void  GLTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q )
14214 {
14215   NVSG_GL_STATS_FCT_COUNT();
14216   glTexCoord4f( s, t, r, q );
14217   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14218 }
14219
14221
14222 inline  void  GLTexCoord4fv( const GLfloat *v )
14223 {
14224   NVSG_GL_STATS_FCT_COUNT();
14225   glTexCoord4fv( v );
14226   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14227 }
14228
14230
14231 inline  void  GLTexCoord4h( GLhalf s, GLhalf t, GLhalf r, GLhalf q )
14232 {
14233   NVSG_GL_STATS_FCT_COUNT();
14234   NVSG_ASSERT( glContext()->m_glFunctions );
14235   glContext()->m_glFunctions->glTexCoord4h( s, t, r, q );
14236   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14237 }
14238
14240
14241 inline  void  GLTexCoord4hv( const GLhalf *v )
14242 {
14243   NVSG_GL_STATS_FCT_COUNT();
14244   NVSG_ASSERT( glContext()->m_glFunctions );
14245   glContext()->m_glFunctions->glTexCoord4hv( v );
14246   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14247 }
14248
14250
14251 inline  void  GLTexCoord4i( GLint s, GLint t, GLint r, GLint q )
14252 {
14253   NVSG_GL_STATS_FCT_COUNT();
14254   glTexCoord4i( s, t, r, q );
14255   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14256 }
14257
14259
14260 inline  void  GLTexCoord4iv( const GLint *v )
14261 {
14262   NVSG_GL_STATS_FCT_COUNT();
14263   glTexCoord4iv( v );
14264   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14265 }
14266
14268
14269 inline  void  GLTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q )
14270 {
14271   NVSG_GL_STATS_FCT_COUNT();
14272   glTexCoord4s( s, t, r, q );
14273   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14274 }
14275
14277
14278 inline  void  GLTexCoord4sv( const GLshort *v )
14279 {
14280   NVSG_GL_STATS_FCT_COUNT();
14281   glTexCoord4sv( v );
14282   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14283 }
14284
14286
14287 inline  void  GLTexCoordPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
14288 {
14289 #if defined( GL_CACHING )
14290   _GLUpdateClientActiveTexture();
14291 #endif
14292   NVSG_GL_STATS_TEX_COORD_POINTER( size, type, stride, pointer );
14293   glTexCoordPointer( size, type, stride, pointer );
14294   ASSERT_GL_NO_ERROR;
14295 }
14296
14298
14300 inline  void  GLTextureEnvColor( const GLfloat * params )
14301 {
14302 #if defined( GL_CACHING )
14303   if ( !equal4fv( &glContext()->m_textureAttributes.m_unit[glContext()->m_textureAttributes.m_toActivate].m_envColor[0], params ) )
14304   {
14305     _GLUpdateActiveTexture();
14306 # if !defined(NDEBUG)
14307     GLfloat tmp[4];
14308     glGetTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, tmp );
14309     NVSG_ASSERT( equal4fv(&glContext()->m_textureAttributes.m_unit[glContext()->m_textureAttributes.m_toActivate].m_envColor[0], tmp ) );
14310 # endif
14311 #endif
14312     _GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params );
14313 #if defined( GL_CACHING )
14314     memcpy( &glContext()->m_textureAttributes.m_unit[glContext()->m_textureAttributes.m_toActivate].m_envColor[0], params, 4*sizeof(float) );
14315   }
14316 #endif
14317 }
14318
14320
14322 inline  void  GLTextureEnvMode( GLint param )
14323 {
14324 #if defined( GL_CACHING )
14325   if ( glContext()->m_textureAttributes.m_unit[glContext()->m_textureAttributes.m_toActivate].m_envMode != param )
14326   {
14327     _GLUpdateActiveTexture();
14328 # if !defined(NDEBUG)
14329     GLint tem;
14330     glGetTexEnviv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, &tem );
14331     NVSG_ASSERT( glContext()->m_textureAttributes.m_unit[glContext()->m_textureAttributes.m_toActivate].m_envMode == tem );
14332 # endif
14333 #endif
14334     _GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param );
14335 #if defined( GL_CACHING )
14336     glContext()->m_textureAttributes.m_unit[glContext()->m_textureAttributes.m_toActivate].m_envMode = param;
14337   }
14338 #endif
14339 }
14340
14342
14343 inline  void  GLTexEnvf( GLenum target, GLenum pname, GLfloat param )
14344 {
14345 #if defined( GL_CACHING )
14346   switch( pname )
14347   {
14348     case GL_TEXTURE_ENV_MODE :
14349       NVSG_ASSERT ( target == GL_TEXTURE_ENV );
14350       GLTextureEnvMode( (GLint)param );
14351       break;
14352     default :
14353       _GLUpdateActiveTexture();
14354       _GLTexEnvf( target, pname, param );
14355       break;
14356   }
14357 #else
14358   _GLTexEnvf( target, pname, param );
14359 #endif
14360 }
14361
14363
14364 inline  void  GLTexEnvfv( GLenum target, GLenum pname, const GLfloat *params )
14365 {
14366 #if defined( GL_CACHING )
14367   switch( pname )
14368   {
14369     case GL_TEXTURE_ENV_COLOR :
14370       NVSG_ASSERT ( target == GL_TEXTURE_ENV );
14371       GLTextureEnvColor( params );
14372       break;
14373     case GL_TEXTURE_ENV_MODE :
14374       NVSG_ASSERT ( target == GL_TEXTURE_ENV );
14375       GLTextureEnvMode( (GLint)params[0] );
14376       break;
14377     default :
14378       _GLUpdateActiveTexture();
14379       _GLTexEnvfv( target, pname, params );
14380       break;
14381   }
14382 #else
14383   _GLTexEnvfv( target, pname, params );
14384 #endif
14385 }
14386
14388
14389 inline  void  GLTexEnvi( GLenum target, GLenum pname, GLint param )
14390 {
14391 #if defined( GL_CACHING )
14392   switch( pname )
14393   {
14394     case GL_TEXTURE_ENV_MODE :
14395       NVSG_ASSERT ( target == GL_TEXTURE_ENV );
14396       GLTextureEnvMode( param );
14397       break;
14398     default :
14399       _GLUpdateActiveTexture();
14400       _GLTexEnvi( target, pname, param );
14401       break;
14402   }
14403 #else
14404   _GLTexEnvi( target, pname, param );
14405 #endif
14406 }
14407
14409
14410 inline  void  GLTexEnviv( GLenum target, GLenum pname, const GLint *params )
14411 {
14412 #if defined( GL_CACHING )
14413   switch( pname )
14414   {
14415     case GL_TEXTURE_ENV_MODE :
14416       NVSG_ASSERT ( target == GL_TEXTURE_ENV );
14417       GLTextureEnvMode( params[0] );
14418       break;
14419     default :
14420       _GLUpdateActiveTexture();
14421       _GLTexEnviv( target, pname, params );
14422       break;
14423   }
14424 #else
14425   _GLTexEnviv( target, pname, params );
14426 #endif
14427 }
14428
14430
14431 inline  void  GLTexGend( GLenum coord, GLenum pname, GLdouble param )
14432 {
14433 #if defined(GL_CACHING)
14434   _GLUpdateActiveTexture();
14435 #endif
14436   NVSG_GL_STATS_FCT_COUNT();
14437   glTexGend( coord, pname, param );
14438   ASSERT_GL_NO_ERROR;
14439 }
14440
14442
14443 inline  void  GLTexGenf( GLenum coord, GLenum pname, GLfloat param )
14444 {
14445 #if defined(GL_CACHING)
14446   _GLUpdateActiveTexture();
14447 #endif
14448   NVSG_GL_STATS_FCT_COUNT();
14449   glTexGenf( coord, pname, param );
14450   ASSERT_GL_NO_ERROR;
14451 }
14452
14454
14455 inline  void  GLTexGenfv( GLenum coord, GLenum pname, const GLfloat *param )
14456 {
14457 #if defined(GL_CACHING)
14458   _GLUpdateActiveTexture();
14459 #endif
14460   NVSG_GL_STATS_FCT_COUNT();
14461   glTexGenfv( coord, pname, param );
14462   ASSERT_GL_NO_ERROR;
14463 }
14464
14466
14467 inline  void  GLTexGeni( GLenum coord, GLenum pname, GLint param )
14468 {
14469 #if defined(GL_CACHING)
14470   _GLUpdateActiveTexture();
14471 #endif
14472   NVSG_GL_STATS_FCT_COUNT();
14473   glTexGeni( coord, pname, param );
14474   ASSERT_GL_NO_ERROR;
14475 }
14476
14478
14479 inline  void  GLTexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
14480 {
14481 #if defined(GL_CACHING)
14482   _GLUpdateActiveTexture();
14483 #endif
14484   NVSG_GL_STATS_FCT_COUNT();
14485   glTexImage1D( target, level, internalformat, width, border, format, type, pixels );
14486   ASSERT_GL_NO_ERROR;
14487 }
14488
14490
14491 inline  void  GLTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border
14492                           , GLenum format, GLenum type, const GLvoid *pixels )
14493 {
14494 #if defined(GL_CACHING)
14495   _GLUpdateActiveTexture();
14496 #endif
14497   NVSG_GL_STATS_TEX_IMAGE2D( target, level, internalformat, width, height, border, format, type, pixels );
14498   glTexImage2D( target, level, internalformat, width, height, border, format, type, pixels );
14499   ASSERT_GL_NO_ERROR;
14500 }
14501
14503
14505 inline  void  GLTexImage3D( GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void* pixels)
14506 {
14507 #if defined(GL_CACHING)
14508   _GLUpdateActiveTexture();
14509 #endif
14510   NVSG_GL_STATS_FCT_COUNT();
14511   NVSG_ASSERT(GLGetVersion()>=12 || GLIsExtensionAvailable("GL_EXT_texture3D"));
14512   NVSG_ASSERT( glContext()->m_glFunctions );
14513   glContext()->m_glFunctions->glTexImage3D( target, level, internalformat, width, height, depth, border, format, type, pixels );
14514   ASSERT_GL_NO_ERROR;
14515 }
14516
14518
14520 inline  void  GLTextureBorderColor( GLenum target, const GLfloat *params )
14521 {
14522 #if defined( GL_CACHING )
14523   _GLUpdateActiveTexture();
14524 #endif
14525   _GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params );
14526 }
14527
14529
14531 inline  void  GLTextureMagFilter( GLenum target, GLint param )
14532 {
14533 #if defined( GL_CACHING )
14534   _GLUpdateActiveTexture();
14535 #endif
14536   _GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param );
14537 }
14538
14540
14542 inline  void  GLTextureMinFilter( GLenum target, GLint param )
14543 {
14544 #if defined( GL_CACHING )
14545   _GLUpdateActiveTexture();
14546 #endif
14547   _GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param );
14548 }
14549
14551
14553 inline  void  GLTextureWrapR( GLenum target, GLint param )
14554 {
14555 #if defined( GL_CACHING )
14556   _GLUpdateActiveTexture();
14557 #endif
14558   _GLTexParameteri( target, GL_TEXTURE_WRAP_R, param );
14559 }
14560
14562
14564 inline  void  GLTextureWrapS( GLenum target, GLint param )
14565 {
14566 #if defined( GL_CACHING )
14567   _GLUpdateActiveTexture();
14568 #endif
14569   _GLTexParameteri( target, GL_TEXTURE_WRAP_S, param );
14570 }
14571
14573
14575 inline  void  GLTextureWrapT( GLenum target, GLint param )
14576 {
14577 #if defined( GL_CACHING )
14578   _GLUpdateActiveTexture();
14579 #endif
14580   _GLTexParameteri( target, GL_TEXTURE_WRAP_T, param );
14581 }
14582
14584
14585 inline  void  GLTrackMatrix( GLenum target, GLuint address, GLenum matrix, GLenum transform )
14586 {
14587   NVSG_GL_STATS_FCT_COUNT();
14588   NVSG_ASSERT( glContext()->m_glFunctions );
14589   glContext()->m_glFunctions->glTrackMatrixNV( target, address, matrix, transform );
14590   ASSERT_GL_NO_ERROR;
14591 }
14592
14594
14595 inline  void  GLTransformFeedbackAttribsNV( GLuint count, const GLint *attribs, GLenum bufferMode )
14596 {
14597   NVSG_GL_STATS_FCT_COUNT();
14598   NVSG_ASSERT( glContext()->m_glFunctions );
14599   glContext()->m_glFunctions->glTransformFeedbackAttribsNV( count, attribs, bufferMode );
14600   ASSERT_GL_NO_ERROR;
14601 }
14602
14604
14605 inline  void  GLTransformFeedbackVaryingsNV( GLuint program, GLsizei count, const GLint* varyings, GLenum bufferMode )
14606 {
14607   NVSG_GL_STATS_FCT_COUNT();
14608   NVSG_ASSERT( glContext()->m_glFunctions );
14609   glContext()->m_glFunctions->glTransformFeedbackVaryingsNV( program, count, varyings, bufferMode );
14610   ASSERT_GL_NO_ERROR;
14611 }
14612
14614
14615 inline  void  GLTransformFeedbackVaryings( GLuint program, GLsizei count, const GLchar* *varyings, GLenum bufferMode )
14616 {
14617   NVSG_GL_STATS_FCT_COUNT();
14618   NVSG_ASSERT( glContext()->m_glFunctions );
14619   glContext()->m_glFunctions->glTransformFeedbackVaryings( program, count, varyings, bufferMode );
14620   ASSERT_GL_NO_ERROR;
14621 }
14622
14624
14625 inline  void  GLTexParameterf( GLenum target, GLenum pname, GLfloat param )
14626 {
14627 #if defined( GL_CACHING )
14628   switch( pname )
14629   {
14630     case GL_TEXTURE_BORDER_COLOR :
14631       NVSG_ASSERT( false );
14632       break;
14633     case GL_TEXTURE_MAG_FILTER :
14634       GLTextureMagFilter( target, (GLint)param );
14635       break;
14636     case GL_TEXTURE_MIN_FILTER :
14637       GLTextureMinFilter( target, (GLint)param );
14638       break;
14639     case GL_TEXTURE_WRAP_R :
14640       GLTextureWrapR( target, (GLint)param );
14641       break;
14642     case GL_TEXTURE_WRAP_S :
14643       GLTextureWrapS( target, (GLint)param );
14644       break;
14645     case GL_TEXTURE_WRAP_T :
14646       GLTextureWrapT( target, (GLint)param );
14647       break;
14648     default :
14649       _GLUpdateActiveTexture();
14650       _GLTexParameterf( target, pname, param );
14651       break;
14652   }
14653 #else
14654   _GLTexParameterf( target, pname, param );
14655 #endif
14656 }
14657
14659
14660 inline  void  GLTexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
14661 {
14662 #if defined( GL_CACHING )
14663   switch( pname )
14664   {
14665     case GL_TEXTURE_BORDER_COLOR :
14666       GLTextureBorderColor( target, params );
14667       break;
14668     case GL_TEXTURE_MAG_FILTER :
14669       GLTextureMagFilter( target, (GLint)params[0] );
14670       break;
14671     case GL_TEXTURE_MIN_FILTER :
14672       GLTextureMinFilter( target, (GLint)params[0] );
14673       break;
14674     case GL_TEXTURE_WRAP_R :
14675       GLTextureWrapR( target, (GLint)params[0] );
14676       break;
14677     case GL_TEXTURE_WRAP_S :
14678       GLTextureWrapS( target, (GLint)params[0] );
14679       break;
14680     case GL_TEXTURE_WRAP_T :
14681       GLTextureWrapT( target, (GLint)params[0] );
14682       break;
14683     default :
14684       _GLUpdateActiveTexture();
14685       _GLTexParameterfv( target, pname, params );
14686       break;
14687   }
14688 #else
14689   _GLTexParameterfv( target, pname, params );
14690 #endif
14691 }
14692
14694
14695 inline  void  GLTexParameteri( GLenum target, GLenum pname, GLint param )
14696 {
14697 #if defined( GL_CACHING )
14698   switch( pname )
14699   {
14700     case GL_TEXTURE_BORDER_COLOR :
14701       NVSG_ASSERT( false );
14702       break;
14703     case GL_TEXTURE_MAG_FILTER :
14704       GLTextureMagFilter( target, param );
14705       break;
14706     case GL_TEXTURE_MIN_FILTER :
14707       GLTextureMinFilter( target, param );
14708       break;
14709     case GL_TEXTURE_WRAP_R :
14710       GLTextureWrapR( target, param );
14711       break;
14712     case GL_TEXTURE_WRAP_S :
14713       GLTextureWrapS( target, param );
14714       break;
14715     case GL_TEXTURE_WRAP_T :
14716       GLTextureWrapT( target, param );
14717       break;
14718     default :
14719       _GLUpdateActiveTexture();
14720       _GLTexParameteri( target, pname, param );
14721       break;
14722   }
14723 #else
14724   _GLTexParameteri( target, pname, param );
14725 #endif
14726 }
14727
14729
14730 inline  void  GLTexParameterIiv( GLenum target, GLenum pname, const GLint *params )
14731 {
14732   NVSG_GL_STATS_FCT_COUNT();
14733   NVSG_ASSERT( glContext()->m_glFunctions );
14734   glContext()->m_glFunctions->glTexParameterIiv( target, pname, params );
14735   ASSERT_GL_NO_ERROR;
14736 }
14737
14739
14740 inline  void  GLTexParameterIuiv( GLenum target, GLenum pname, const GLuint *params )
14741 {
14742   NVSG_GL_STATS_FCT_COUNT();
14743   NVSG_ASSERT( glContext()->m_glFunctions );
14744   glContext()->m_glFunctions->glTexParameterIuiv( target, pname, params );
14745   ASSERT_GL_NO_ERROR;
14746 }
14747
14749
14750 inline  void  GLTexParameteriv( GLenum target, GLenum pname, const GLint *params )
14751 {
14752 #if defined( GL_CACHING )
14753   switch( pname )
14754   {
14755     case GL_TEXTURE_BORDER_COLOR :
14756       {
14757         GLfloat fParams[4];
14758         GLintToGLfloat( params, fParams );
14759         GLTextureBorderColor( target, fParams );
14760       }
14761       break;
14762     case GL_TEXTURE_MAG_FILTER :
14763       GLTextureMagFilter( target, params[0] );
14764       break;
14765     case GL_TEXTURE_MIN_FILTER :
14766       GLTextureMinFilter( target, params[0] );
14767       break;
14768     case GL_TEXTURE_WRAP_R :
14769       GLTextureWrapR( target, params[0] );
14770       break;
14771     case GL_TEXTURE_WRAP_S :
14772       GLTextureWrapS( target, params[0] );
14773       break;
14774     case GL_TEXTURE_WRAP_T :
14775       GLTextureWrapT( target, params[0] );
14776       break;
14777     default :
14778       _GLUpdateActiveTexture();
14779       _GLTexParameteriv( target, pname, params );
14780       break;
14781   }
14782 #else
14783   _GLTexParameteriv( target, pname, params );
14784 #endif
14785 }
14786
14788
14789 inline  void  GLTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels )
14790 {
14791 #if defined(GL_CACHING)
14792   _GLUpdateActiveTexture();
14793 #endif
14794   NVSG_GL_STATS_FCT_COUNT();
14795   glTexSubImage1D( target, level, xoffset, width, format, type, pixels );
14796   ASSERT_GL_NO_ERROR;
14797 }
14798
14800
14801 inline  void  GLTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
14802 {
14803 #if defined(GL_CACHING)
14804   _GLUpdateActiveTexture();
14805 #endif
14806   NVSG_GL_STATS_FCT_COUNT();
14807   glTexSubImage2D( target, level, xoffset, yoffset, width, height, format, type, pixels );
14808   ASSERT_GL_NO_ERROR;
14809 }
14810
14812
14813 inline  void  GLTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels )
14814 {
14815 #if defined(GL_CACHING)
14816   _GLUpdateActiveTexture();
14817 #endif
14818   NVSG_GL_STATS_FCT_COUNT();
14819   NVSG_ASSERT(GLGetVersion()>=12 || GLIsExtensionAvailable("GL_EXT_texture3D"));
14820   NVSG_ASSERT(glContext()->m_glFunctions && glContext()->m_glFunctions->glTexSubImage3D);
14821   glContext()->m_glFunctions->glTexSubImage3D( target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels );
14822   ASSERT_GL_NO_ERROR;
14823 }
14824
14826
14827 inline  void  GLTranslated( GLdouble x, GLdouble y, GLdouble z )
14828 {
14829   NVSG_GL_STATS_TRANSLATED( x, y, z );
14830 #if defined( GL_CACHING )
14831   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
14832   { // note: we have a texture matrix stack per unit
14833     _GLUpdateActiveTexture();
14834   }
14835 #endif
14836   glTranslated( x, y, z );
14837   ASSERT_GL_NO_ERROR;
14838 }
14839
14841
14842 inline  void  GLTranslatef( GLfloat x, GLfloat y, GLfloat z )
14843 {
14844   NVSG_GL_STATS_TRANSLATEF( x, y, z );
14845 #if defined( GL_CACHING )
14846   if ( GL_TEXTURE == glContext()->m_transformAttributes.m_matrixMode )
14847   { // note: we have a texture matrix stack per unit
14848     _GLUpdateActiveTexture();
14849   }
14850 #endif
14851   glTranslatef( x, y, z );
14852   ASSERT_GL_NO_ERROR;
14853 }
14854
14856
14857 inline  void  GLVertex2d( GLdouble x, GLdouble y )
14858 {
14859   NVSG_GL_STATS_FCT_COUNT();
14860   glVertex2d( x, y );
14861   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14862 }
14863
14865
14866 inline  void  GLVertex2dv( const GLdouble *v )
14867 {
14868   NVSG_GL_STATS_FCT_COUNT();
14869   glVertex2dv( v );
14870   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14871 }
14872
14874
14875 inline  void  GLVertex2f( GLfloat x, GLfloat y )
14876 {
14877   NVSG_GL_STATS_FCT_COUNT();
14878   glVertex2f( x, y );
14879   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14880 }
14881
14883
14884 inline  void  GLVertex2fv( const GLfloat *v )
14885 {
14886   NVSG_GL_STATS_FCT_COUNT();
14887   glVertex2fv( v );
14888   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14889 }
14890
14892
14893 inline  void  GLVertex2h( GLhalf x, GLhalf y )
14894 {
14895   NVSG_GL_STATS_FCT_COUNT();
14896   NVSG_ASSERT( glContext()->m_glFunctions );
14897   glContext()->m_glFunctions->glVertex2h( x, y );
14898   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14899 }
14900
14902
14903 inline  void  GLVertex2hv( const GLhalf *v )
14904 {
14905   NVSG_GL_STATS_FCT_COUNT();
14906   NVSG_ASSERT( glContext()->m_glFunctions );
14907   glContext()->m_glFunctions->glVertex2hv( v );
14908   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14909 }
14910
14912
14913 inline  void  GLVertex2i( GLint x, GLint y )
14914 {
14915   NVSG_GL_STATS_FCT_COUNT();
14916   glVertex2i( x, y );
14917   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14918 }
14919
14921
14922 inline  void  GLVertex2iv( const GLint *v )
14923 {
14924   NVSG_GL_STATS_FCT_COUNT();
14925   glVertex2iv( v );
14926   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14927 }
14928
14930
14931 inline  void  GLVertex2s( GLshort x, GLshort y )
14932 {
14933   NVSG_GL_STATS_FCT_COUNT();
14934   glVertex2s( x, y );
14935   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14936 }
14937
14939
14940 inline  void  GLVertex2sv( const GLshort *v )
14941 {
14942   NVSG_GL_STATS_FCT_COUNT();
14943   glVertex2sv( v );
14944   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14945 }
14946
14948
14949 inline  void  GLVertex3d( GLdouble x, GLdouble y, GLdouble z )
14950 {
14951   NVSG_GL_STATS_FCT_COUNT();
14952   glVertex3d( x, y, z );
14953   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14954 }
14955
14957
14958 inline  void  GLVertex3dv( const GLdouble *v )
14959 {
14960   NVSG_GL_STATS_FCT_COUNT();
14961   glVertex3dv( v );
14962   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14963 }
14964
14966
14967 inline  void  GLVertex3f( GLfloat x, GLfloat y, GLfloat z )
14968 {
14969   NVSG_GL_STATS_FCT_COUNT();
14970   glVertex3f( x, y, z );
14971   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14972 }
14973
14975
14976 inline  void  GLVertex3fv( const GLfloat *v )
14977 {
14978   NVSG_GL_STATS_FCT_COUNT();
14979   glVertex3fv( v );
14980   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14981 }
14982
14984
14985 inline  void  GLVertex3h( GLhalf x, GLhalf y, GLhalf z )
14986 {
14987   NVSG_GL_STATS_FCT_COUNT();
14988   NVSG_ASSERT( glContext()->m_glFunctions );
14989   glContext()->m_glFunctions->glVertex3h( x, y, z );
14990   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
14991 }
14992
14994
14995 inline  void  GLVertex3hv( const GLhalf *v )
14996 {
14997   NVSG_GL_STATS_FCT_COUNT();
14998   NVSG_ASSERT( glContext()->m_glFunctions );
14999   glContext()->m_glFunctions->glVertex3hv( v );
15000   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15001 }
15002
15004
15005 inline  void  GLVertex3i( GLint x, GLint y, GLint z )
15006 {
15007   NVSG_GL_STATS_FCT_COUNT();
15008   glVertex3i( x, y, z );
15009   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15010 }
15011
15013
15014 inline  void  GLVertex3iv( const GLint *v )
15015 {
15016   NVSG_GL_STATS_FCT_COUNT();
15017   glVertex3iv( v );
15018   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15019 }
15020
15022
15023 inline  void  GLVertex3s( GLshort x, GLshort y, GLshort z )
15024 {
15025   NVSG_GL_STATS_FCT_COUNT();
15026   glVertex3s( x, y, z );
15027   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15028 }
15029
15031
15032 inline  void  GLVertex3sv( const GLshort *v )
15033 {
15034   NVSG_GL_STATS_FCT_COUNT();
15035   glVertex3sv( v );
15036   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15037 }
15038
15040
15041 inline  void  GLVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w )
15042 {
15043   NVSG_GL_STATS_FCT_COUNT();
15044   glVertex4d( x, y, z, w );
15045   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15046 }
15047
15049
15050 inline  void  GLVertex4dv( const GLdouble *v )
15051 {
15052   NVSG_GL_STATS_FCT_COUNT();
15053   glVertex4dv( v );
15054   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15055 }
15056
15058
15059 inline  void  GLVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
15060 {
15061   NVSG_GL_STATS_FCT_COUNT();
15062   glVertex4f( x, y, z, w );
15063   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15064 }
15065
15067
15068 inline  void  GLVertex4fv( const GLfloat *v )
15069 {
15070   NVSG_GL_STATS_FCT_COUNT();
15071   glVertex4fv( v );
15072   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15073 }
15074
15076
15077 inline  void  GLVertex4h( GLhalf x, GLhalf y, GLhalf z, GLhalf w )
15078 {
15079   NVSG_GL_STATS_FCT_COUNT();
15080   NVSG_ASSERT( glContext()->m_glFunctions );
15081   glContext()->m_glFunctions->glVertex4h( x, y, z, w );
15082   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15083 }
15084
15086
15087 inline  void  GLVertex4hv( const GLhalf *v )
15088 {
15089   NVSG_GL_STATS_FCT_COUNT();
15090   NVSG_ASSERT( glContext()->m_glFunctions );
15091   glContext()->m_glFunctions->glVertex4hv( v );
15092   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15093 }
15094
15096
15097 inline  void  GLVertex4i( GLint x, GLint y, GLint z, GLint w )
15098 {
15099   NVSG_GL_STATS_FCT_COUNT();
15100   glVertex4i( x, y, z, w );
15101   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15102 }
15103
15105
15106 inline  void  GLVertex4iv( const GLint *v )
15107 {
15108   NVSG_GL_STATS_FCT_COUNT();
15109   glVertex4iv( v );
15110   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15111 }
15112
15114
15115 inline  void  GLVertex4s( GLshort x, GLshort y, GLshort z, GLshort w )
15116 {
15117   NVSG_GL_STATS_FCT_COUNT();
15118   glVertex4s( x, y, z, w );
15119   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15120 }
15121
15123
15124 inline  void  GLVertex4sv( const GLshort *v )
15125 {
15126   NVSG_GL_STATS_FCT_COUNT();
15127   glVertex4sv( v );
15128   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15129 }
15130
15132
15133 inline  void  GLVertexArrayRange( GLsizei size, const GLvoid *pointer )
15134 {
15135   NVSG_GL_STATS_FCT_COUNT();
15136   NVSG_ASSERT( glContext()->m_glFunctions );
15137   glContext()->m_glFunctions->glVertexArrayRange( size, pointer );
15138   ASSERT_GL_NO_ERROR;
15139 }
15140
15142 inline  void  GLVertexAttrib1d( GLuint index, GLdouble x )
15143 {
15144   NVSG_GL_STATS_FCT_COUNT();
15145   NVSG_ASSERT( glContext()->m_glFunctions );
15146   glContext()->m_glFunctions->glVertexAttrib1d( index, x );
15147   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15148 }
15149
15151 inline  void  GLVertexAttrib1dv( GLuint index, const GLdouble *v )
15152 {
15153   NVSG_GL_STATS_FCT_COUNT();
15154   NVSG_ASSERT( glContext()->m_glFunctions );
15155   glContext()->m_glFunctions->glVertexAttrib1dv( index, v );
15156   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15157 }
15158
15160 inline  void  GLVertexAttrib1f( GLuint index, GLfloat x )
15161 {
15162   NVSG_GL_STATS_FCT_COUNT();
15163   NVSG_ASSERT( glContext()->m_glFunctions );
15164   glContext()->m_glFunctions->glVertexAttrib1f( index, x );
15165   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15166 }
15167
15169 inline  void  GLVertexAttrib1fv( GLuint index, const GLfloat *v )
15170 {
15171   NVSG_GL_STATS_FCT_COUNT();
15172   NVSG_ASSERT( glContext()->m_glFunctions );
15173   glContext()->m_glFunctions->glVertexAttrib1fv( index, v );
15174   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15175 }
15176
15178 inline  void  GLVertexAttrib1h( GLuint index, GLhalf x )
15179 {
15180   NVSG_GL_STATS_FCT_COUNT();
15181   NVSG_ASSERT( glContext()->m_glFunctions );
15182   glContext()->m_glFunctions->glVertexAttrib1h( index, x );
15183   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15184 }
15185
15187 inline  void  GLVertexAttrib1hv( GLuint index, const GLhalf *v )
15188 {
15189   NVSG_GL_STATS_FCT_COUNT();
15190   NVSG_ASSERT( glContext()->m_glFunctions );
15191   glContext()->m_glFunctions->glVertexAttrib1hv( index, v );
15192   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15193 }
15194
15196 inline  void  GLVertexAttrib1s( GLuint index, GLshort x )
15197 {
15198   NVSG_GL_STATS_FCT_COUNT();
15199   NVSG_ASSERT( glContext()->m_glFunctions );
15200   glContext()->m_glFunctions->glVertexAttrib1s( index, x );
15201   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15202 }
15203
15205 inline  void  GLVertexAttrib1sv( GLuint index, const GLshort *v )
15206 {
15207   NVSG_GL_STATS_FCT_COUNT();
15208   NVSG_ASSERT( glContext()->m_glFunctions );
15209   glContext()->m_glFunctions->glVertexAttrib1sv( index, v );
15210   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15211 }
15212
15214 inline  void  GLVertexAttrib2d( GLuint index, GLdouble x, GLdouble y )
15215 {
15216   NVSG_GL_STATS_FCT_COUNT();
15217   NVSG_ASSERT( glContext()->m_glFunctions );
15218   glContext()->m_glFunctions->glVertexAttrib2d( index, x, y );
15219   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15220 }
15221
15223 inline  void  GLVertexAttrib2dv( GLuint index, const GLdouble *v )
15224 {
15225   NVSG_GL_STATS_FCT_COUNT();
15226   NVSG_ASSERT( glContext()->m_glFunctions );
15227   glContext()->m_glFunctions->glVertexAttrib2dv( index, v );
15228   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15229 }
15230
15232 inline  void  GLVertexAttrib2f( GLuint index, GLfloat x, GLfloat y )
15233 {
15234   NVSG_GL_STATS_FCT_COUNT();
15235   NVSG_ASSERT( glContext()->m_glFunctions );
15236   glContext()->m_glFunctions->glVertexAttrib2f( index, x, y );
15237   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15238 }
15239
15241 inline  void  GLVertexAttrib2fv( GLuint index, const GLfloat *v )
15242 {
15243   NVSG_GL_STATS_FCT_COUNT();
15244   NVSG_ASSERT( glContext()->m_glFunctions );
15245   glContext()->m_glFunctions->glVertexAttrib2fv( index, v );
15246   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15247 }
15248
15250 inline  void  GLVertexAttrib2h( GLuint index, GLhalf x, GLhalf y )
15251 {
15252   NVSG_GL_STATS_FCT_COUNT();
15253   NVSG_ASSERT( glContext()->m_glFunctions );
15254   glContext()->m_glFunctions->glVertexAttrib2h( index, x, y );
15255   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15256 }
15257
15259 inline  void  GLVertexAttrib2hv( GLuint index, const GLhalf *v )
15260 {
15261   NVSG_GL_STATS_FCT_COUNT();
15262   NVSG_ASSERT( glContext()->m_glFunctions );
15263   glContext()->m_glFunctions->glVertexAttrib2hv( index, v );
15264   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15265 }
15266
15268 inline  void  GLVertexAttrib2s( GLuint index, GLshort x, GLshort y )
15269 {
15270   NVSG_GL_STATS_FCT_COUNT();
15271   NVSG_ASSERT( glContext()->m_glFunctions );
15272   glContext()->m_glFunctions->glVertexAttrib2s( index, x, y );
15273   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15274 }
15275
15277 inline  void  GLVertexAttrib2sv( GLuint index, const GLshort *v )
15278 {
15279   NVSG_GL_STATS_FCT_COUNT();
15280   NVSG_ASSERT( glContext()->m_glFunctions );
15281   glContext()->m_glFunctions->glVertexAttrib2sv( index, v );
15282   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15283 }
15284
15286 inline  void  GLVertexAttrib3d( GLuint index, GLdouble x, GLdouble y, GLdouble z )
15287 {
15288   NVSG_GL_STATS_FCT_COUNT();
15289   NVSG_ASSERT( glContext()->m_glFunctions );
15290   glContext()->m_glFunctions->glVertexAttrib3d( index, x, y, z );
15291   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15292 }
15293
15295 inline  void  GLVertexAttrib3dv( GLuint index, const GLdouble *v )
15296 {
15297   NVSG_GL_STATS_FCT_COUNT();
15298   NVSG_ASSERT( glContext()->m_glFunctions );
15299   glContext()->m_glFunctions->glVertexAttrib3dv( index, v );
15300   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15301 }
15302
15304 inline  void  GLVertexAttrib3f( GLuint index, GLfloat x, GLfloat y, GLfloat z )
15305 {
15306   NVSG_GL_STATS_FCT_COUNT();
15307   NVSG_ASSERT( glContext()->m_glFunctions );
15308   glContext()->m_glFunctions->glVertexAttrib3f( index, x, y, z );
15309   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15310 }
15311
15313 inline  void  GLVertexAttrib3fv( GLuint index, const GLfloat *v )
15314 {
15315   NVSG_GL_STATS_FCT_COUNT();
15316   NVSG_ASSERT( glContext()->m_glFunctions );
15317   glContext()->m_glFunctions->glVertexAttrib3fv( index, v );
15318   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15319 }
15320
15322 inline  void  GLVertexAttrib3h( GLuint index, GLhalf x, GLhalf y, GLhalf z )
15323 {
15324   NVSG_GL_STATS_FCT_COUNT();
15325   NVSG_ASSERT( glContext()->m_glFunctions );
15326   glContext()->m_glFunctions->glVertexAttrib3h( index, x, y, z );
15327   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15328 }
15329
15331 inline  void  GLVertexAttrib3hv( GLuint index, const GLhalf *v )
15332 {
15333   NVSG_GL_STATS_FCT_COUNT();
15334   NVSG_ASSERT( glContext()->m_glFunctions );
15335   glContext()->m_glFunctions->glVertexAttrib3hv( index, v );
15336   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15337 }
15338
15340 inline  void  GLVertexAttrib3s( GLuint index, GLshort x, GLshort y, GLshort z )
15341 {
15342   NVSG_GL_STATS_FCT_COUNT();
15343   NVSG_ASSERT( glContext()->m_glFunctions );
15344   glContext()->m_glFunctions->glVertexAttrib3s( index, x, y, z );
15345   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15346 }
15347
15349 inline  void  GLVertexAttrib3sv( GLuint index, const GLshort *v )
15350 {
15351   NVSG_GL_STATS_FCT_COUNT();
15352   NVSG_ASSERT( glContext()->m_glFunctions );
15353   glContext()->m_glFunctions->glVertexAttrib3sv( index, v );
15354   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15355 }
15356
15358 inline  void  GLVertexAttrib4bv( GLuint index, const GLbyte *v )
15359 {
15360   NVSG_GL_STATS_FCT_COUNT();
15361   NVSG_ASSERT( glContext()->m_glFunctions );
15362   glContext()->m_glFunctions->glVertexAttrib4bv( index, v );
15363   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15364 }
15365
15367 inline  void  GLVertexAttrib4d( GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w )
15368 {
15369   NVSG_GL_STATS_FCT_COUNT();
15370   NVSG_ASSERT( glContext()->m_glFunctions );
15371   glContext()->m_glFunctions->glVertexAttrib4d( index, x, y, z, w );
15372   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15373 }
15374
15376 inline  void  GLVertexAttrib4dv( GLuint index, const GLdouble *v )
15377 {
15378   NVSG_GL_STATS_FCT_COUNT();
15379   NVSG_ASSERT( glContext()->m_glFunctions );
15380   glContext()->m_glFunctions->glVertexAttrib4dv( index, v );
15381   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15382 }
15383
15385 inline  void  GLVertexAttrib4f( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
15386 {
15387   NVSG_GL_STATS_FCT_COUNT();
15388   NVSG_ASSERT( glContext()->m_glFunctions );
15389   glContext()->m_glFunctions->glVertexAttrib4f( index, x, y, z, w );
15390   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15391 }
15392
15394 inline  void  GLVertexAttrib4fv( GLuint index, const GLfloat *v )
15395 {
15396   NVSG_GL_STATS_FCT_COUNT();
15397   NVSG_ASSERT( glContext()->m_glFunctions );
15398   glContext()->m_glFunctions->glVertexAttrib4fv( index, v );
15399   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15400 }
15401
15403 inline  void  GLVertexAttrib4h( GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w )
15404 {
15405   NVSG_GL_STATS_FCT_COUNT();
15406   NVSG_ASSERT( glContext()->m_glFunctions );
15407   glContext()->m_glFunctions->glVertexAttrib4h( index, x, y, z, w );
15408   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15409 }
15410
15412 inline  void  GLVertexAttrib4hv( GLuint index, const GLhalf *v )
15413 {
15414   NVSG_GL_STATS_FCT_COUNT();
15415   NVSG_ASSERT( glContext()->m_glFunctions );
15416   glContext()->m_glFunctions->glVertexAttrib4hv( index, v );
15417   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15418 }
15419
15421 inline  void  GLVertexAttrib4iv( GLuint index, const GLint *v )
15422 {
15423   NVSG_GL_STATS_FCT_COUNT();
15424   NVSG_ASSERT( glContext()->m_glFunctions );
15425   glContext()->m_glFunctions->glVertexAttrib4iv( index, v );
15426   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15427 }
15428
15430 inline  void  GLVertexAttrib4s( GLuint index, GLshort x, GLshort y, GLshort z, GLshort w )
15431 {
15432   NVSG_GL_STATS_FCT_COUNT();
15433   NVSG_ASSERT( glContext()->m_glFunctions );
15434   glContext()->m_glFunctions->glVertexAttrib4s( index, x, y, z, w );
15435   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15436 }
15437
15439 inline  void  GLVertexAttrib4sv( GLuint index, const GLshort *v )
15440 {
15441   NVSG_GL_STATS_FCT_COUNT();
15442   NVSG_ASSERT( glContext()->m_glFunctions );
15443   glContext()->m_glFunctions->glVertexAttrib4sv( index, v );
15444   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15445 }
15446
15448 inline  void  GLVertexAttrib4ub( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w )
15449 {
15450   NVSG_GL_STATS_FCT_COUNT();
15451   NVSG_ASSERT( glContext()->m_glFunctions );
15452   glContext()->m_glFunctions->glVertexAttrib4ubNV( index, x, y, z, w );
15453   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15454 }
15455
15457 inline  void  GLVertexAttrib4ubv( GLuint index, const GLubyte *v )
15458 {
15459   NVSG_GL_STATS_FCT_COUNT();
15460   NVSG_ASSERT( glContext()->m_glFunctions );
15461   glContext()->m_glFunctions->glVertexAttrib4ubv( index, v );
15462   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15463 }
15464
15466 inline  void  GLVertexAttrib4uiv( GLuint index, const GLuint *v )
15467 {
15468   NVSG_GL_STATS_FCT_COUNT();
15469   NVSG_ASSERT( glContext()->m_glFunctions );
15470   glContext()->m_glFunctions->glVertexAttrib4uiv( index, v );
15471   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15472 }
15473
15475 inline  void  GLVertexAttrib4usv( GLuint index, const GLushort *v )
15476 {
15477   NVSG_GL_STATS_FCT_COUNT();
15478   NVSG_ASSERT( glContext()->m_glFunctions );
15479   glContext()->m_glFunctions->glVertexAttrib4usv( index, v );
15480   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15481 }
15482
15484 inline  void  GLVertexAttrib4Nbv( GLuint index, const GLbyte *v )
15485 {
15486   NVSG_GL_STATS_FCT_COUNT();
15487   NVSG_ASSERT( glContext()->m_glFunctions );
15488   glContext()->m_glFunctions->glVertexAttrib4Nbv( index, v );
15489   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15490 }
15491
15493 inline  void  GLVertexAttrib4Niv( GLuint index, const GLint *v )
15494 {
15495   NVSG_GL_STATS_FCT_COUNT();
15496   NVSG_ASSERT( glContext()->m_glFunctions );
15497   glContext()->m_glFunctions->glVertexAttrib4Niv( index, v );
15498   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15499 }
15500
15502 inline  void  GLVertexAttrib4Nsv( GLuint index, const GLshort *v )
15503 {
15504   NVSG_GL_STATS_FCT_COUNT();
15505   NVSG_ASSERT( glContext()->m_glFunctions );
15506   glContext()->m_glFunctions->glVertexAttrib4Nsv( index, v );
15507   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15508 }
15509
15511 inline  void  GLVertexAttrib4Nub( GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w )
15512 {
15513   NVSG_GL_STATS_FCT_COUNT();
15514   NVSG_ASSERT( glContext()->m_glFunctions );
15515   glContext()->m_glFunctions->glVertexAttrib4Nub( index, x, y, z, w );
15516   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15517 }
15518
15520 inline  void  GLVertexAttrib4Nubv( GLuint index, const GLubyte *v )
15521 {
15522   NVSG_GL_STATS_FCT_COUNT();
15523   NVSG_ASSERT( glContext()->m_glFunctions );
15524   glContext()->m_glFunctions->glVertexAttrib4Nubv( index, v );
15525   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15526 }
15527
15529 inline  void  GLVertexAttrib4Nuiv( GLuint index, const GLuint *v )
15530 {
15531   NVSG_GL_STATS_FCT_COUNT();
15532   NVSG_ASSERT( glContext()->m_glFunctions );
15533   glContext()->m_glFunctions->glVertexAttrib4Nuiv( index, v );
15534   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15535 }
15536
15538 inline  void  GLVertexAttrib4Nusv( GLuint index, const GLushort *v )
15539 {
15540   NVSG_GL_STATS_FCT_COUNT();
15541   NVSG_ASSERT( glContext()->m_glFunctions );
15542   glContext()->m_glFunctions->glVertexAttrib4Nusv( index, v );
15543   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15544 }
15545
15547 inline void GLVertexAttribI1i( GLuint index, GLint x )
15548 {
15549   NVSG_GL_STATS_FCT_COUNT();
15550   NVSG_ASSERT( glContext()->m_glFunctions );
15551   glContext()->m_glFunctions->glVertexAttribI1i( index, x );
15552   ASSERT_GL_NO_ERROR;
15553 }
15554
15556 inline void GLVertexAttribI2i( GLuint index, GLint x, GLint y )
15557 {
15558   NVSG_GL_STATS_FCT_COUNT();
15559   NVSG_ASSERT( glContext()->m_glFunctions );
15560   glContext()->m_glFunctions->glVertexAttribI2i( index, x, y );
15561   ASSERT_GL_NO_ERROR;
15562 }
15563
15565 inline void GLVertexAttribI3i( GLuint index, GLint x, GLint y, GLint z )
15566 {
15567   NVSG_GL_STATS_FCT_COUNT();
15568   NVSG_ASSERT( glContext()->m_glFunctions );
15569   glContext()->m_glFunctions->glVertexAttribI3i( index, x, y, z );
15570   ASSERT_GL_NO_ERROR;
15571 }
15572
15574 inline void GLVertexAttribI4i( GLuint index, GLint x, GLint y, GLint z, GLint w )
15575 {
15576   NVSG_GL_STATS_FCT_COUNT();
15577   NVSG_ASSERT( glContext()->m_glFunctions );
15578   glContext()->m_glFunctions->glVertexAttribI4i( index, x, y, z, w );
15579   ASSERT_GL_NO_ERROR;
15580 }
15581
15583 inline void GLVertexAttribI1ui( GLuint index, GLuint x )
15584 {
15585   NVSG_GL_STATS_FCT_COUNT();
15586   NVSG_ASSERT( glContext()->m_glFunctions );
15587   glContext()->m_glFunctions->glVertexAttribI1ui( index, x );
15588   ASSERT_GL_NO_ERROR;
15589 }
15590
15592 inline void GLVertexAttribI2ui( GLuint index, GLuint x, GLuint y )
15593 {
15594   NVSG_GL_STATS_FCT_COUNT();
15595   NVSG_ASSERT( glContext()->m_glFunctions );
15596   glContext()->m_glFunctions->glVertexAttribI2ui( index, x, y );
15597   ASSERT_GL_NO_ERROR;
15598 }
15599
15601 inline void GLVertexAttribI3ui( GLuint index, GLuint x, GLuint y, GLuint z )
15602 {
15603   NVSG_GL_STATS_FCT_COUNT();
15604   NVSG_ASSERT( glContext()->m_glFunctions );
15605   glContext()->m_glFunctions->glVertexAttribI3ui( index, x, y, z );
15606   ASSERT_GL_NO_ERROR;
15607 }
15608
15610 inline void GLVertexAttribI4ui( GLuint index, GLuint x, GLuint y, GLuint z, GLuint w )
15611 {
15612   NVSG_GL_STATS_FCT_COUNT();
15613   NVSG_ASSERT( glContext()->m_glFunctions );
15614   glContext()->m_glFunctions->glVertexAttribI4ui( index, x, y, z, w );
15615   ASSERT_GL_NO_ERROR;
15616 }
15617
15619 inline void GLVertexAttribI1iv( GLuint index, const GLint *v )
15620 {
15621   NVSG_GL_STATS_FCT_COUNT();
15622   NVSG_ASSERT( glContext()->m_glFunctions );
15623   glContext()->m_glFunctions->glVertexAttribI1iv( index, v );
15624   ASSERT_GL_NO_ERROR;
15625 }
15626
15628 inline void GLVertexAttribI2iv( GLuint index, const GLint *v )
15629 {
15630   NVSG_GL_STATS_FCT_COUNT();
15631   NVSG_ASSERT( glContext()->m_glFunctions );
15632   glContext()->m_glFunctions->glVertexAttribI2iv( index, v );
15633   ASSERT_GL_NO_ERROR;
15634 }
15635
15637 inline void GLVertexAttribI3iv( GLuint index, const GLint *v )
15638 {
15639   NVSG_GL_STATS_FCT_COUNT();
15640   NVSG_ASSERT( glContext()->m_glFunctions );
15641   glContext()->m_glFunctions->glVertexAttribI3iv( index, v );
15642   ASSERT_GL_NO_ERROR;
15643 }
15644
15646 inline void GLVertexAttribI4iv( GLuint index, const GLint *v )
15647 {
15648   NVSG_GL_STATS_FCT_COUNT();
15649   NVSG_ASSERT( glContext()->m_glFunctions );
15650   glContext()->m_glFunctions->glVertexAttribI4iv( index, v );
15651   ASSERT_GL_NO_ERROR;
15652 }
15653
15655 inline void GLVertexAttribI1uiv( GLuint index, const GLuint *v )
15656 {
15657   NVSG_GL_STATS_FCT_COUNT();
15658   NVSG_ASSERT( glContext()->m_glFunctions );
15659   glContext()->m_glFunctions->glVertexAttribI1uiv( index, v );
15660   ASSERT_GL_NO_ERROR;
15661 }
15662
15664 inline void GLVertexAttribI2uiv( GLuint index, const GLuint *v )
15665 {
15666   NVSG_GL_STATS_FCT_COUNT();
15667   NVSG_ASSERT( glContext()->m_glFunctions );
15668   glContext()->m_glFunctions->glVertexAttribI2uiv( index, v );
15669   ASSERT_GL_NO_ERROR;
15670 }
15671
15673 inline void GLVertexAttribI3uiv( GLuint index, const GLuint *v )
15674 {
15675   NVSG_GL_STATS_FCT_COUNT();
15676   NVSG_ASSERT( glContext()->m_glFunctions );
15677   glContext()->m_glFunctions->glVertexAttribI3uiv( index, v );
15678   ASSERT_GL_NO_ERROR;
15679 }
15680
15682 inline void GLVertexAttribI4uiv( GLuint index, const GLuint *v )
15683 {
15684   NVSG_GL_STATS_FCT_COUNT();
15685   NVSG_ASSERT( glContext()->m_glFunctions );
15686   glContext()->m_glFunctions->glVertexAttribI4uiv( index, v );
15687   ASSERT_GL_NO_ERROR;
15688 }
15689
15691 inline void GLVertexAttribI4bv( GLuint index, const GLbyte *v )
15692 {
15693   NVSG_GL_STATS_FCT_COUNT();
15694   NVSG_ASSERT( glContext()->m_glFunctions );
15695   glContext()->m_glFunctions->glVertexAttribI4bv( index, v );
15696   ASSERT_GL_NO_ERROR;
15697 }
15698
15700 inline void GLVertexAttribI4ubv( GLuint index, const GLubyte *v )
15701 {
15702   NVSG_GL_STATS_FCT_COUNT();
15703   NVSG_ASSERT( glContext()->m_glFunctions );
15704   glContext()->m_glFunctions->glVertexAttribI4ubv( index, v );
15705   ASSERT_GL_NO_ERROR;
15706 }
15707
15709 inline void GLVertexAttribI4sv( GLuint index, const GLshort *v )
15710 {
15711   NVSG_GL_STATS_FCT_COUNT();
15712   NVSG_ASSERT( glContext()->m_glFunctions );
15713   glContext()->m_glFunctions->glVertexAttribI4sv( index, v );
15714   ASSERT_GL_NO_ERROR;
15715 }
15716
15718 inline void GLVertexAttribI4usv( GLuint index, const GLushort *v )
15719 {
15720   NVSG_GL_STATS_FCT_COUNT();
15721   NVSG_ASSERT( glContext()->m_glFunctions );
15722   glContext()->m_glFunctions->glVertexAttribI4usv( index, v );
15723   ASSERT_GL_NO_ERROR;
15724 }
15725
15727 inline void GLVertexAttribIPointer( GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
15728 {
15729   NVSG_GL_STATS_FCT_COUNT();
15730   NVSG_ASSERT( glContext()->m_glFunctions );
15731   glContext()->m_glFunctions->glVertexAttribIPointer( index, size, type, stride, pointer );
15732   ASSERT_GL_NO_ERROR;
15733 }
15734
15736 inline void GLVertexAttribPointer( GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid * pointer )
15737 {
15738   NVSG_GL_STATS_FCT_COUNT();
15739   NVSG_ASSERT( glContext()->m_glFunctions );
15740   glContext()->m_glFunctions->glVertexAttribPointer(index, size, type, normalize, stride, pointer);
15741   ASSERT_GL_NO_ERROR;
15742 }
15743
15745 inline  void  GLVertexAttribPointerNV( GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer )
15746 {
15747   NVSG_GL_STATS_FCT_COUNT();
15748   NVSG_ASSERT( glContext()->m_glFunctions );
15749   glContext()->m_glFunctions->glVertexAttribPointerNV( index, fsize, type, stride, pointer );
15750   ASSERT_GL_NO_ERROR;
15751 }
15752
15754 inline  void  GLVertexAttribs1dvNV( GLuint index, GLsizei count, const GLdouble *v )
15755 {
15756   NVSG_GL_STATS_FCT_COUNT();
15757   NVSG_ASSERT( glContext()->m_glFunctions );
15758   glContext()->m_glFunctions->glVertexAttribs1dvNV( index, count, v );
15759   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15760 }
15761
15763 inline  void  GLVertexAttribs1fvNV( GLuint index, GLsizei count, const GLfloat *v )
15764 {
15765   NVSG_GL_STATS_FCT_COUNT();
15766   NVSG_ASSERT( glContext()->m_glFunctions );
15767   glContext()->m_glFunctions->glVertexAttribs1fvNV( index, count, v );
15768   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15769 }
15770
15772 inline  void  GLVertexAttribs1hv( GLuint index, GLsizei count, const GLhalf *v )
15773 {
15774   NVSG_GL_STATS_FCT_COUNT();
15775   NVSG_ASSERT( glContext()->m_glFunctions );
15776   glContext()->m_glFunctions->glVertexAttribs1hv( index, count, v );
15777   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15778 }
15779
15781 inline  void  GLVertexAttribs1svNV( GLuint index, GLsizei count, const GLshort *v )
15782 {
15783   NVSG_GL_STATS_FCT_COUNT();
15784   NVSG_ASSERT( glContext()->m_glFunctions );
15785   glContext()->m_glFunctions->glVertexAttribs1svNV( index, count, v );
15786   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15787 }
15788
15790 inline  void  GLVertexAttribs2dvNV( GLuint index, GLsizei count, const GLdouble *v )
15791 {
15792   NVSG_GL_STATS_FCT_COUNT();
15793   NVSG_ASSERT( glContext()->m_glFunctions );
15794   glContext()->m_glFunctions->glVertexAttribs2dvNV( index, count, v );
15795   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15796 }
15797
15799 inline  void  GLVertexAttribs2fvNV( GLuint index, GLsizei count, const GLfloat *v )
15800 {
15801   NVSG_GL_STATS_FCT_COUNT();
15802   NVSG_ASSERT( glContext()->m_glFunctions );
15803   glContext()->m_glFunctions->glVertexAttribs2fvNV( index, count, v );
15804   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15805 }
15806
15808 inline  void  GLVertexAttribs2hv( GLuint index, GLsizei count, const GLhalf *v )
15809 {
15810   NVSG_GL_STATS_FCT_COUNT();
15811   NVSG_ASSERT( glContext()->m_glFunctions );
15812   glContext()->m_glFunctions->glVertexAttribs2hv( index, count, v );
15813   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15814 }
15815
15817 inline  void  GLVertexAttribs2svNV( GLuint index, GLsizei count, const GLshort *v )
15818 {
15819   NVSG_GL_STATS_FCT_COUNT();
15820   NVSG_ASSERT( glContext()->m_glFunctions );
15821   glContext()->m_glFunctions->glVertexAttribs2svNV( index, count, v );
15822   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15823 }
15824
15826 inline  void  GLVertexAttribs3dvNV( GLuint index, GLsizei count, const GLdouble *v )
15827 {
15828   NVSG_GL_STATS_FCT_COUNT();
15829   NVSG_ASSERT( glContext()->m_glFunctions );
15830   glContext()->m_glFunctions->glVertexAttribs3dvNV( index, count, v );
15831   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15832 }
15833
15835 inline  void  GLVertexAttribs3fvNV( GLuint index, GLsizei count, const GLfloat *v )
15836 {
15837   NVSG_GL_STATS_FCT_COUNT();
15838   NVSG_ASSERT( glContext()->m_glFunctions );
15839   glContext()->m_glFunctions->glVertexAttribs3fvNV( index, count, v );
15840   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15841 }
15842
15844 inline  void  GLVertexAttribs3hv( GLuint index, GLsizei count, const GLhalf *v )
15845 {
15846   NVSG_GL_STATS_FCT_COUNT();
15847   NVSG_ASSERT( glContext()->m_glFunctions );
15848   glContext()->m_glFunctions->glVertexAttribs3hv( index, count, v );
15849   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15850 }
15851
15853 inline  void  GLVertexAttribs3svNV( GLuint index, GLsizei count, const GLshort *v )
15854 {
15855   NVSG_GL_STATS_FCT_COUNT();
15856   NVSG_ASSERT( glContext()->m_glFunctions );
15857   glContext()->m_glFunctions->glVertexAttribs3svNV( index, count, v );
15858   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15859 }
15860
15862 inline  void  GLVertexAttribs4dvNV( GLuint index, GLsizei count, const GLdouble *v )
15863 {
15864   NVSG_GL_STATS_FCT_COUNT();
15865   NVSG_ASSERT( glContext()->m_glFunctions );
15866   glContext()->m_glFunctions->glVertexAttribs4dvNV( index, count, v );
15867   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15868 }
15869
15871 inline  void  GLVertexAttribs4fvNV( GLuint index, GLsizei count, const GLfloat *v )
15872 {
15873   NVSG_GL_STATS_FCT_COUNT();
15874   NVSG_ASSERT( glContext()->m_glFunctions );
15875   glContext()->m_glFunctions->glVertexAttribs4fvNV( index, count, v );
15876   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15877 }
15878
15880 inline  void  GLVertexAttribs4hv( GLuint index, GLsizei count, const GLhalf *v )
15881 {
15882   NVSG_GL_STATS_FCT_COUNT();
15883   NVSG_ASSERT( glContext()->m_glFunctions );
15884   glContext()->m_glFunctions->glVertexAttribs4hv( index, count, v );
15885   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15886 }
15887
15889 inline  void  GLVertexAttribs4svNV( GLuint index, GLsizei count, const GLshort *v )
15890 {
15891   NVSG_GL_STATS_FCT_COUNT();
15892   NVSG_ASSERT( glContext()->m_glFunctions );
15893   glContext()->m_glFunctions->glVertexAttribs4svNV( index, count, v );
15894   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15895 }
15896
15898 inline  void  GLVertexAttribs4ubvNV( GLuint index, GLsizei count, const GLubyte *v )
15899 {
15900   NVSG_GL_STATS_FCT_COUNT();
15901   NVSG_ASSERT( glContext()->m_glFunctions );
15902   glContext()->m_glFunctions->glVertexAttribs4ubvNV( index, count, v );
15903   ASSERT_GL_NO_ERROR_IN_BEGIN_END;
15904 }
15905
15907
15908 inline  void  GLVertexPointer( GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
15909 {
15910   NVSG_GL_STATS_VERTEX_POINTER( size, type, stride, pointer );
15911   glVertexPointer( size, type, stride, pointer );
15912   ASSERT_GL_NO_ERROR;
15913 }
15914
15916
15917 inline  void  GLViewport( GLint x, GLint y, GLsizei width, GLsizei height )
15918 {
15919   NVSG_GL_STATS_VIEWPORT( x, y, width, height );
15920   glViewport( x, y, width, height );
15921   ASSERT_GL_NO_ERROR;
15922 }
15923
15925
15926 inline  void  GLWindowPos2d( GLdouble x, GLdouble y )
15927 {
15928   NVSG_GL_STATS_FCT_COUNT();
15929   NVSG_ASSERT( glContext()->m_glFunctions );
15930   glContext()->m_glFunctions->glWindowPos2d( x, y );
15931   ASSERT_GL_NO_ERROR;
15932 }
15933
15935
15936 inline  void  GLWindowPos2dv( const GLdouble *p )
15937 {
15938   NVSG_GL_STATS_FCT_COUNT();
15939   NVSG_ASSERT( glContext()->m_glFunctions );
15940   glContext()->m_glFunctions->glWindowPos2dv( p );
15941   ASSERT_GL_NO_ERROR;
15942 }
15943
15945
15946 inline  void  GLWindowPos2f( GLfloat x, GLfloat y )
15947 {
15948   NVSG_GL_STATS_FCT_COUNT();
15949   NVSG_ASSERT( glContext()->m_glFunctions );
15950   glContext()->m_glFunctions->glWindowPos2f( x, y );
15951   ASSERT_GL_NO_ERROR;
15952 }
15953
15955
15956 inline  void  GLWindowPos2fv( const GLfloat *p )
15957 {
15958   NVSG_GL_STATS_FCT_COUNT();
15959   NVSG_ASSERT( glContext()->m_glFunctions );
15960   glContext()->m_glFunctions->glWindowPos2fv( p );
15961   ASSERT_GL_NO_ERROR;
15962 }
15963
15965
15966 inline  void  GLWindowPos2i( GLint x, GLint y )
15967 {
15968   NVSG_GL_STATS_FCT_COUNT();
15969   NVSG_ASSERT( glContext()->m_glFunctions );
15970   glContext()->m_glFunctions->glWindowPos2i( x, y );
15971   ASSERT_GL_NO_ERROR;
15972 }
15973
15975
15976 inline  void  GLWindowPos2iv( const GLint *p )
15977 {
15978   NVSG_GL_STATS_FCT_COUNT();
15979   NVSG_ASSERT( glContext()->m_glFunctions );
15980   glContext()->m_glFunctions->glWindowPos2iv( p );
15981   ASSERT_GL_NO_ERROR;
15982 }
15983
15985
15986 inline  void  GLWindowPos2s( GLshort x, GLshort y )
15987 {
15988   NVSG_GL_STATS_FCT_COUNT();
15989   NVSG_ASSERT( glContext()->m_glFunctions );
15990   glContext()->m_glFunctions->glWindowPos2s( x, y );
15991   ASSERT_GL_NO_ERROR;
15992 }
15993
15995
15996 inline  void  GLWindowPos2sv( const GLshort *p )
15997 {
15998   NVSG_GL_STATS_FCT_COUNT();
15999   NVSG_ASSERT( glContext()->m_glFunctions );
16000   glContext()->m_glFunctions->glWindowPos2sv( p );
16001   ASSERT_GL_NO_ERROR;
16002 }
16003
16005
16006 inline  void  GLWindowPos3d( GLdouble x, GLdouble y, GLdouble z )
16007 {
16008   NVSG_GL_STATS_FCT_COUNT();
16009   NVSG_ASSERT( glContext()->m_glFunctions );
16010   glContext()->m_glFunctions->glWindowPos3d( x, y, z );
16011   ASSERT_GL_NO_ERROR;
16012 }
16013
16015
16016 inline  void  GLWindowPos3dv( const GLdouble *p )
16017 {
16018   NVSG_GL_STATS_FCT_COUNT();
16019   NVSG_ASSERT( glContext()->m_glFunctions );
16020   glContext()->m_glFunctions->glWindowPos3dv( p );
16021   ASSERT_GL_NO_ERROR;
16022 }
16023
16025
16026 inline  void  GLWindowPos3f( GLfloat x, GLfloat y, GLfloat z )
16027 {
16028   NVSG_GL_STATS_FCT_COUNT();
16029   NVSG_ASSERT( glContext()->m_glFunctions );
16030   glContext()->m_glFunctions->glWindowPos3f( x, y, z );
16031   ASSERT_GL_NO_ERROR;
16032 }
16033
16035
16036 inline  void  GLWindowPos3fv( const GLfloat *p )
16037 {
16038   NVSG_GL_STATS_FCT_COUNT();
16039   NVSG_ASSERT( glContext()->m_glFunctions );
16040   glContext()->m_glFunctions->glWindowPos3fv( p );
16041   ASSERT_GL_NO_ERROR;
16042 }
16043
16045
16046 inline  void  GLWindowPos3i( GLint x, GLint y, GLint z )
16047 {
16048   NVSG_GL_STATS_FCT_COUNT();
16049   NVSG_ASSERT( glContext()->m_glFunctions );
16050   glContext()->m_glFunctions->glWindowPos3i( x, y, z );
16051   ASSERT_GL_NO_ERROR;
16052 }
16053
16055
16056 inline  void  GLWindowPos3iv( const GLint *p )
16057 {
16058   NVSG_GL_STATS_FCT_COUNT();
16059   NVSG_ASSERT( glContext()->m_glFunctions );
16060   glContext()->m_glFunctions->glWindowPos3iv( p );
16061   ASSERT_GL_NO_ERROR;
16062 }
16063
16065
16066 inline  void  GLWindowPos3s( GLshort x, GLshort y, GLshort z )
16067 {
16068   NVSG_GL_STATS_FCT_COUNT();
16069   NVSG_ASSERT( glContext()->m_glFunctions );
16070   glContext()->m_glFunctions->glWindowPos3s( x, y, z );
16071   ASSERT_GL_NO_ERROR;
16072 }
16073
16075
16076 inline  void  GLWindowPos3sv( const GLshort *p )
16077 {
16078   NVSG_GL_STATS_FCT_COUNT();
16079   NVSG_ASSERT( glContext()->m_glFunctions );
16080   glContext()->m_glFunctions->glWindowPos3sv( p );
16081   ASSERT_GL_NO_ERROR;
16082 }
16083
16084 // GL_ARB_map_buffer_range
16085
16095 inline GLvoid* GLMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
16096 {
16097   NVSG_GL_STATS_FCT_COUNT();
16098   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_map_buffer_range") );
16099   NVSG_ASSERT( glContext()->m_glFunctions );
16100
16101   GLvoid* ptr = glContext()->m_glFunctions->glMapBufferRange( target, offset, length, access );
16102   ASSERT_GL_NO_ERROR;
16103   return ptr;
16104 }
16105
16116 inline void GLFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
16117 {
16118   NVSG_GL_STATS_FCT_COUNT();
16119   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_map_buffer_range") );
16120   NVSG_ASSERT( glContext()->m_glFunctions );
16121
16122   glContext()->m_glFunctions->glFlushMappedBufferRange( target, offset, length );
16123   ASSERT_GL_NO_ERROR;
16124 }
16125
16126 // GL_ARB_copy_buffer
16127
16137 inline void GLCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
16138 {
16139   NVSG_GL_STATS_FCT_COUNT();
16140   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_map_buffer_range") );
16141   NVSG_ASSERT( glContext()->m_glFunctions );
16142
16143   glContext()->m_glFunctions->glCopyBufferSubData( readTarget, writeTarget, readOffset, writeOffset, size );
16144   ASSERT_GL_NO_ERROR;
16145 }
16146
16147 // GL_ARB_texture_multisample
16148
16159 inline void GLTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
16160 {
16161   NVSG_GL_STATS_FCT_COUNT();
16162   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_texture_multisample") );
16163   NVSG_ASSERT( glContext()->m_glFunctions );
16164
16165   glContext()->m_glFunctions->glTexImage2DMultisample( target, samples, internalformat, width, height, fixedsamplelocations );
16166   ASSERT_GL_NO_ERROR;
16167 }
16168
16180 inline void GLTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
16181 {
16182   NVSG_GL_STATS_FCT_COUNT();
16183   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_texture_multisample") );
16184   NVSG_ASSERT( glContext()->m_glFunctions );
16185
16186   glContext()->m_glFunctions->glTexImage3DMultisample( target, samples, internalformat, width, height, depth, fixedsamplelocations );
16187   ASSERT_GL_NO_ERROR;
16188 }
16189
16197 inline void GLGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val)
16198 {
16199   NVSG_GL_STATS_FCT_COUNT();
16200   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_texture_multisample") );
16201   NVSG_ASSERT( glContext()->m_glFunctions );
16202
16203   glContext()->m_glFunctions->glGetMultisamplefv( pname, index, val );
16204   ASSERT_GL_NO_ERROR;
16205 }
16206
16207 // GL_ARB_vertex_array_object
16208 inline void GLBindVertexArray( GLuint array )
16209 {
16210   NVSG_GL_STATS_FCT_COUNT();
16211   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_vertex_array_object") );
16212   NVSG_ASSERT( glContext()->m_glFunctions );
16213
16214   glContext()->m_glFunctions->glBindVertexArray( array );
16215   ASSERT_GL_NO_ERROR;
16216 }
16217
16218 inline void GLDeleteVertexArrays( GLsizei n, const GLuint* arrays )
16219 {
16220   NVSG_GL_STATS_FCT_COUNT();
16221   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_vertex_array_object") );
16222   NVSG_ASSERT( glContext()->m_glFunctions );
16223
16224   glContext()->m_glFunctions->glDeleteVertexArrays( n, arrays );
16225   ASSERT_GL_NO_ERROR;
16226 }
16227
16228 inline void GLGenVertexArrays( GLsizei n, GLuint *arrays )
16229 {
16230   NVSG_GL_STATS_FCT_COUNT();
16231   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_vertex_array_object") );
16232   NVSG_ASSERT( glContext()->m_glFunctions );
16233
16234   glContext()->m_glFunctions->glGenVertexArrays( n, arrays );
16235   ASSERT_GL_NO_ERROR;
16236 }
16237
16238 inline void GLIsVertexArray( GLuint array )
16239 {
16240   NVSG_GL_STATS_FCT_COUNT();
16241   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_vertex_array_object") );
16242   NVSG_ASSERT( glContext()->m_glFunctions );
16243
16244   glContext()->m_glFunctions->glIsVertexArray( array );
16245   ASSERT_GL_NO_ERROR;
16246 }
16247
16248 // GL_ARB_debug_output
16249 inline void GLDebugMessageControlARB( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled )
16250 {
16251   NVSG_GL_STATS_FCT_COUNT();
16252   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_debug_output") );
16253   NVSG_ASSERT( glContext()->m_glFunctions );
16254
16255   glContext()->m_glFunctions->glDebugMessageControl( source, type, severity, count, ids, enabled );
16256
16257   ASSERT_GL_NO_ERROR;
16258 }
16259
16260 inline void GLDebugMessageInsertARB( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf )
16261 {
16262   NVSG_GL_STATS_FCT_COUNT();
16263   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_debug_output") );
16264   NVSG_ASSERT( glContext()->m_glFunctions );
16265
16266   glContext()->m_glFunctions->glDebugMessageInsert( source, type, id, severity, length, buf );
16267
16268   ASSERT_GL_NO_ERROR;
16269 }
16270
16271 inline void GLDebugMessageCallbackARB( GLDEBUGPROCARB callback, const GLvoid *userParam )
16272 {
16273   NVSG_GL_STATS_FCT_COUNT();
16274   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_debug_output") );
16275   NVSG_ASSERT( glContext()->m_glFunctions );
16276
16277   glContext()->m_glFunctions->glDebugMessageCallback( callback, userParam );
16278
16279   ASSERT_GL_NO_ERROR;
16280 }
16281
16282 inline GLuint GLGetDebugMessageLogARB( GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog )
16283 {
16284   NVSG_GL_STATS_FCT_COUNT();
16285   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_debug_output") );
16286   NVSG_ASSERT( glContext()->m_glFunctions );
16287
16288   GLuint result = glContext()->m_glFunctions->glGetDebugMessageLog( count, bufsize, sources, types, ids, severities, lengths, messageLog );
16289
16290   ASSERT_GL_NO_ERROR;
16291   return result;
16292 }
16293
16300 inline void GLSampleMaski(GLuint maskNumber, GLbitfield maskBits)
16301 {
16302   NVSG_GL_STATS_FCT_COUNT();
16303   NVSG_ASSERT( GLIsExtensionAvailable("GL_ARB_texture_multisample") );
16304   NVSG_ASSERT( glContext()->m_glFunctions );
16305
16306   glContext()->m_glFunctions->glSampleMaski( maskNumber, maskBits );
16307   ASSERT_GL_NO_ERROR;
16308 }
16309
16310 // GL_EXT_framebuffer_object
16311
16319 inline GLboolean GLIsRenderbuffer(GLuint renderbuffer)
16320 {
16321   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16322   GLboolean isRenderBuffer = glContext()->m_glFunctions->glIsRenderbuffer(renderbuffer);
16323   ASSERT_GL_NO_ERROR;
16324   return isRenderBuffer;
16325 }
16326
16334 inline void GLBindRenderbuffer(GLenum target, GLuint renderbuffer)
16335 {
16336   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16337   glContext()->m_glFunctions->glBindRenderbuffer(target, renderbuffer);
16338   ASSERT_GL_NO_ERROR;
16339 }
16340
16348 inline void GLDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
16349 {
16350   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16351   glContext()->m_glFunctions->glDeleteRenderbuffers(n, renderbuffers);
16352   ASSERT_GL_NO_ERROR;
16353 }
16354
16362 inline void GLGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
16363 {
16364   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16365   glContext()->m_glFunctions->glGenRenderbuffers(n, renderbuffers);
16366   ASSERT_GL_NO_ERROR;
16367 }
16368
16378 inline void GLRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
16379 {
16380   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16381   glContext()->m_glFunctions->glRenderbufferStorage(target, internalformat, width, height);
16382   ASSERT_GL_NO_ERROR;
16383 }
16384
16396 inline void GLRenderbufferStorageMultisample( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height )
16397 {
16398   NVSG_GL_STATS_FCT_COUNT();
16399   NVSG_ASSERT( glContext()->m_glFunctions );
16400   glContext()->m_glFunctions->glRenderbufferStorageMultisample( target, samples, internalformat, width, height );
16401   ASSERT_GL_NO_ERROR;
16402 }
16403
16416 inline void GLRenderbufferStorageMultisampleCoverage(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
16417 {
16418   NVSG_GL_STATS_FCT_COUNT();
16419   NVSG_ASSERT( glContext()->m_glFunctions );
16420   glContext()->m_glFunctions->glRenderbufferStorageMultisampleCoverage( target, coverageSamples, colorSamples, internalformat, width, height );
16421   ASSERT_GL_NO_ERROR;
16422 }
16423
16432 inline void GLGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
16433 {
16434   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16435   glContext()->m_glFunctions->glGetRenderbufferParameteriv(target, pname, params);
16436   ASSERT_GL_NO_ERROR;
16437 }
16438
16447 inline GLboolean GLIsFramebuffer(GLuint framebuffer)
16448 {
16449   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16450   GLboolean isFramebuffer = glContext()->m_glFunctions->glIsFramebuffer(framebuffer);
16451   ASSERT_GL_NO_ERROR;
16452   return isFramebuffer;
16453 }
16454
16463 inline void GLBindFramebuffer(GLenum target, GLuint framebuffer)
16464 {
16465   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16466   glContext()->m_glFunctions->glBindFramebuffer(target, framebuffer);
16467   ASSERT_GL_NO_ERROR;
16468 }
16469
16478 inline void GLDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
16479 {
16480   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16481   glContext()->m_glFunctions->glDeleteFramebuffers(n, framebuffers);
16482   ASSERT_GL_NO_ERROR;
16483 }
16484
16493 inline void GLGenFramebuffers(GLsizei n, GLuint *framebuffers)
16494 {
16495   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16496   glContext()->m_glFunctions->glGenFramebuffers(n, framebuffers);
16497   ASSERT_GL_NO_ERROR;
16498 }
16499
16508 inline GLenum GLCheckFramebufferStatus(GLenum target)
16509 {
16510   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16511   GLenum status = glContext()->m_glFunctions->glCheckFramebufferStatus(target);
16512   ASSERT_GL_NO_ERROR;
16513   return status;
16514 }
16515
16527 inline void GLFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
16528 {
16529   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16530   glContext()->m_glFunctions->glFramebufferTexture1D(target, attachment, textarget, texture, level);
16531   ASSERT_GL_NO_ERROR;
16532 }
16533
16545 inline void GLFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
16546 {
16547   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16548   glContext()->m_glFunctions->glFramebufferTexture2D(target, attachment, textarget, texture, level);
16549   ASSERT_GL_NO_ERROR;
16550 }
16551
16564 inline void GLFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
16565 {
16566   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16567   glContext()->m_glFunctions->glFramebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
16568   ASSERT_GL_NO_ERROR;
16569 }
16570
16582 inline void GLFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
16583 {
16584   NVSG_GL_STATS_FCT_COUNT();
16585   NVSG_ASSERT( glContext()->m_glFunctions );
16586   glContext()->m_glFunctions->glFramebufferTextureLayer( target, attachment, texture, level, layer );
16587   ASSERT_GL_NO_ERROR;
16588 }
16589
16600 inline void GLFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
16601 {
16602   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16603   glContext()->m_glFunctions->glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
16604   ASSERT_GL_NO_ERROR;
16605 }
16606
16617 inline void GLGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params)
16618 {
16619   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16620   glContext()->m_glFunctions->glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
16621   ASSERT_GL_NO_ERROR;
16622 }
16623
16628 inline void GLGenerateMipmap(GLenum target)
16629 {
16630   NVSG_ASSERT(GLIsExtensionAvailable("GL_EXT_framebuffer_object"));
16631   glContext()->m_glFunctions->glGenerateMipmap(target);
16632   ASSERT_GL_NO_ERROR;
16633 }
16634
16635 // GL_NV_present_video
16636 inline void GLPresentFrameKeyedNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId,
16637                                   GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1)
16638 {
16639   NVSG_GL_STATS_FCT_COUNT();
16640   NVSG_ASSERT( glContext()->m_glFunctions );
16641   glContext()->m_glFunctions->glPresentFrameKeyedNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId,
16642                                                     type, target0, fill0, key0, target1, fill1, key1);
16643   ASSERT_GL_NO_ERROR;
16644 }
16645
16646 inline void GLPresentFrameDualFillNV(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId,
16647                                      GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3)
16648 {
16649   NVSG_GL_STATS_FCT_COUNT();
16650   NVSG_ASSERT( glContext()->m_glFunctions );
16651   glContext()->m_glFunctions->glPresentFrameDualFillNV(video_slot, minPresentTime, beginPresentTimeId, presentDurationId,
16652                                                        type, target0, fill0, target1, fill1, target2, fill2, target3, fill3);
16653   ASSERT_GL_NO_ERROR;
16654 }
16655
16656 inline void GLGetVideoivNV(GLuint video_slot, GLenum pname, GLint *params)
16657 {
16658   NVSG_GL_STATS_FCT_COUNT();
16659   NVSG_ASSERT( glContext()->m_glFunctions );
16660   glContext()->m_glFunctions->glGetVideoivNV(video_slot, pname, params);
16661   ASSERT_GL_NO_ERROR;
16662 }
16663
16664 inline void GLGetVideouivNV(GLuint video_slot, GLenum pname, GLuint *params)
16665 {
16666   NVSG_GL_STATS_FCT_COUNT();
16667   NVSG_ASSERT( glContext()->m_glFunctions );
16668   glContext()->m_glFunctions->glGetVideouivNV(video_slot, pname, params);
16669   ASSERT_GL_NO_ERROR;
16670 }
16671
16672 inline void GLGetVideoi64vNV(GLuint video_slot, GLenum pname, GLint64EXT *params)
16673 {
16674   NVSG_GL_STATS_FCT_COUNT();
16675   NVSG_ASSERT( glContext()->m_glFunctions );
16676   glContext()->m_glFunctions->glGetVideoi64vNV(video_slot, pname, params);
16677   ASSERT_GL_NO_ERROR;
16678 }
16679
16680 inline void GLGetVideoui64vNV(GLuint video_slot, GLenum pname, GLuint64EXT *params)
16681 {
16682   NVSG_GL_STATS_FCT_COUNT();
16683   NVSG_ASSERT( glContext()->m_glFunctions );
16684   glContext()->m_glFunctions->glGetVideoui64vNV(video_slot, pname, params);
16685   ASSERT_GL_NO_ERROR;
16686 }
16687
16688 // GL_NV_vertex_buffer_unified_memory
16689 inline void GLBufferAddressRangeNV(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length)
16690 {
16691   NVSG_GL_STATS_FCT_COUNT();
16692   NVSG_ASSERT( glContext()->m_glFunctions );
16693   glContext()->m_glFunctions->glBufferAddressRangeNV(pname, index, address, length);
16694   ASSERT_GL_NO_ERROR;
16695 }
16696
16697
16698 inline void GLVertexFormatNV(GLint size, GLenum type, GLsizei stride)
16699 {
16700   NVSG_GL_STATS_FCT_COUNT();
16701   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVertexFormatNV);
16702   glContext()->m_glFunctions->glVertexFormatNV(size, type, stride);
16703   ASSERT_GL_NO_ERROR;
16704 }
16705
16706 inline void GLNormalFormatNV(GLenum type, GLsizei stride)
16707 {
16708   NVSG_GL_STATS_FCT_COUNT();
16709   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNormalFormatNV);
16710   glContext()->m_glFunctions->glNormalFormatNV(type, stride);
16711   ASSERT_GL_NO_ERROR;
16712 }
16713
16714 inline void GLColorFormatNV(GLint size, GLenum type, GLsizei stride)
16715 {
16716   NVSG_GL_STATS_FCT_COUNT();
16717   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glColorFormatNV);
16718   glContext()->m_glFunctions->glColorFormatNV(size, type, stride);
16719   ASSERT_GL_NO_ERROR;
16720 }
16721
16722 inline void GLIndexFormatNV(GLenum type, GLsizei stride)
16723 {
16724   NVSG_GL_STATS_FCT_COUNT();
16725   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glIndexFormatNV);
16726   glContext()->m_glFunctions->glIndexFormatNV(type, stride);
16727   ASSERT_GL_NO_ERROR;
16728 }
16729
16730 inline void GLTexCoordFormatNV(GLint size, GLenum type, GLsizei stride)
16731 {
16732 #if defined(GL_CACHING)
16733   _GLUpdateClientActiveTexture();
16734 #endif
16735   NVSG_GL_STATS_FCT_COUNT();
16736   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTexCoordFormatNV);
16737   glContext()->m_glFunctions->glTexCoordFormatNV(size, type, stride);
16738   ASSERT_GL_NO_ERROR;
16739 }
16740
16741 inline void GLEdgeFlagFormatNV(GLsizei stride)
16742 {
16743   NVSG_GL_STATS_FCT_COUNT();
16744   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glEdgeFlagFormatNV);
16745   glContext()->m_glFunctions->glEdgeFlagFormatNV(stride);
16746   ASSERT_GL_NO_ERROR;
16747 }
16748
16749 inline void GLSecondaryColorFormatNV(GLint size, GLenum type, GLsizei stride)
16750 {
16751   NVSG_GL_STATS_FCT_COUNT();
16752   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glSecondaryColorFormatNV);
16753   glContext()->m_glFunctions->glSecondaryColorFormatNV(size, type, stride);
16754   ASSERT_GL_NO_ERROR;
16755 }
16756
16757 inline void GLFogCoordFormatNV(GLenum type, GLsizei stride)
16758 {
16759   NVSG_GL_STATS_FCT_COUNT();
16760   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glFogCoordFormatNV);
16761   glContext()->m_glFunctions->glFogCoordFormatNV(type, stride);
16762   ASSERT_GL_NO_ERROR;
16763 }
16764
16765 inline void GLVertexAttribFormatNV(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride)
16766 {
16767   NVSG_GL_STATS_FCT_COUNT();
16768   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVertexAttribFormatNV);
16769   glContext()->m_glFunctions->glVertexAttribFormatNV(index, size, type, normalized, stride);
16770   ASSERT_GL_NO_ERROR;
16771 }
16772
16773 inline void GLVertexAttribIFormatNV(GLuint index, GLint size, GLenum type, GLsizei stride)
16774 {
16775   NVSG_GL_STATS_FCT_COUNT();
16776   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVertexAttribIFormatNV);
16777   glContext()->m_glFunctions->glVertexAttribIFormatNV(index, size, type, stride);
16778   ASSERT_GL_NO_ERROR;
16779 }
16780
16781 inline void GLGetIntegerui64i_vNV(GLenum target, GLuint index, GLuint64EXT *data)
16782 {
16783   NVSG_GL_STATS_FCT_COUNT();
16784   NVSG_ASSERT( glContext()->m_glFunctions );
16785   glContext()->m_glFunctions->glGetIntegerui64i_vNV (target, index, data);
16786   ASSERT_GL_NO_ERROR;
16787 }
16788
16789 // GL_NV_shader_buffer_load
16790 inline void GLGetBufferParameterui64vNV(GLenum target, GLenum pname, GLuint64EXT *params)
16791 {
16792   NVSG_GL_STATS_FCT_COUNT();
16793   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetBufferParameterui64vNV);
16794   glContext()->m_glFunctions->glGetBufferParameterui64vNV(target, pname, params);
16795   ASSERT_GL_NO_ERROR;
16796 }
16797
16798 inline GLboolean GLIsBufferResidentNV(GLenum target)
16799 {
16800   NVSG_GL_STATS_FCT_COUNT();
16801   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glIsBufferResidentNV);
16802   GLboolean resident = glContext()->m_glFunctions->glIsBufferResidentNV(target);
16803   ASSERT_GL_NO_ERROR;
16804   return resident;
16805 }
16806
16807 inline void GLMakeBufferNonResidentNV(GLenum target)
16808 {
16809   NVSG_GL_STATS_FCT_COUNT();
16810   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMakeBufferNonResidentNV);
16811   glContext()->m_glFunctions->glMakeBufferNonResidentNV(target);
16812   ASSERT_GL_NO_ERROR;
16813 }
16814
16815 inline void GLMakeBufferResidentNV(GLenum target, GLenum access)
16816 {
16817   NVSG_GL_STATS_FCT_COUNT();
16818   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMakeBufferResidentNV);
16819   glContext()->m_glFunctions->glMakeBufferResidentNV(target, access);
16820   ASSERT_GL_NO_ERROR;
16821 }
16822
16823 inline void GLGetNamedBufferParameterui64vNV(GLuint buffer, GLenum pname, GLuint64EXT *params)
16824 {
16825   NVSG_GL_STATS_FCT_COUNT();
16826   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedBufferParameterui64vNV);
16827   glContext()->m_glFunctions->glGetNamedBufferParameterui64vNV(buffer, pname, params);
16828   ASSERT_GL_NO_ERROR;
16829 }
16830
16831 inline GLboolean GLIsNamedBufferResidentNV(GLuint buffer)
16832 {
16833   NVSG_GL_STATS_FCT_COUNT();
16834   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glIsNamedBufferResidentNV);
16835   GLboolean resident = glContext()->m_glFunctions->glIsNamedBufferResidentNV(buffer);
16836   ASSERT_GL_NO_ERROR;
16837   return resident;
16838 }
16839
16840 inline void GLMakeNamedBufferNonResidentNV(GLuint buffer)
16841 {
16842   NVSG_GL_STATS_FCT_COUNT();
16843   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMakeNamedBufferNonResidentNV);
16844   glContext()->m_glFunctions->glMakeNamedBufferNonResidentNV(buffer);
16845   ASSERT_GL_NO_ERROR;
16846 }
16847
16848 inline void GLMakeNamedBufferResidentNV(GLuint buffer, GLenum access)
16849 {
16850   NVSG_GL_STATS_FCT_COUNT();
16851   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMakeNamedBufferResidentNV);
16852   glContext()->m_glFunctions->glMakeNamedBufferResidentNV(buffer, access);
16853   ASSERT_GL_NO_ERROR;
16854 }
16855
16856 inline void GLGetIntegerui64vNV(GLenum target, GLuint64EXT *data)
16857 {
16858   NVSG_GL_STATS_FCT_COUNT();
16859   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetIntegerui64vNV);
16860   glContext()->m_glFunctions->glGetIntegerui64vNV(target, data);
16861   ASSERT_GL_NO_ERROR;
16862 }
16863
16864 inline void GLUniformui64NV(GLint location, GLuint64EXT v0)
16865 {
16866   NVSG_GL_STATS_FCT_COUNT();
16867   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glUniformui64NV);
16868   glContext()->m_glFunctions->glUniformui64NV(location, v0);
16869   ASSERT_GL_NO_ERROR;
16870 }
16871
16872 inline void GLUniformui64vNV(GLint location, GLsizei count, const GLuint64EXT *value)
16873 {
16874   NVSG_GL_STATS_FCT_COUNT();
16875   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glUniformui64vNV);
16876   glContext()->m_glFunctions->glUniformui64vNV(location, count, value);
16877   ASSERT_GL_NO_ERROR;
16878 }
16879
16880 inline void GLGetUniformui64vNV(GLuint program, GLint location, GLuint64EXT *params)
16881 {
16882   NVSG_GL_STATS_FCT_COUNT();
16883   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetUniformui64vNV);
16884   glContext()->m_glFunctions->glGetUniformui64vNV(program, location, params);
16885   ASSERT_GL_NO_ERROR;
16886 }
16887
16888 inline void GLProgramUniformui64NV(GLuint program, GLint location, GLuint64EXT v0)
16889 {
16890   NVSG_GL_STATS_FCT_COUNT();
16891   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformui64NV);
16892   glContext()->m_glFunctions->glProgramUniformui64NV(program, location, v0);
16893   ASSERT_GL_NO_ERROR;
16894 }
16895
16896 inline void GLProgramUniformui64vNV(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
16897 {
16898   NVSG_GL_STATS_FCT_COUNT();
16899   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformui64vNV);
16900   glContext()->m_glFunctions->glProgramUniformui64vNV(program, location, count, value);
16901   ASSERT_GL_NO_ERROR;
16902 }
16903
16904 // GL_NV_video_capture
16905 inline void GLBeginVideoCaptureNV (GLuint video_capture_slot)
16906 {
16907   NVSG_GL_STATS_FCT_COUNT();
16908   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glBeginVideoCaptureNV);
16909   glContext()->m_glFunctions->glBeginVideoCaptureNV(video_capture_slot);
16910   ASSERT_GL_NO_ERROR;
16911 }
16912
16913 inline void GLBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset)
16914 {
16915   NVSG_GL_STATS_FCT_COUNT();
16916   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glBindVideoCaptureStreamBufferNV);
16917   glContext()->m_glFunctions->glBindVideoCaptureStreamBufferNV(video_capture_slot, stream, frame_region, offset);
16918   ASSERT_GL_NO_ERROR;
16919 }
16920
16921 inline void GLBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture)
16922 {
16923   NVSG_GL_STATS_FCT_COUNT();
16924   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glBindVideoCaptureStreamTextureNV);
16925   glContext()->m_glFunctions->glBindVideoCaptureStreamTextureNV(video_capture_slot, stream, frame_region, target, texture);
16926   ASSERT_GL_NO_ERROR;
16927 }
16928
16929 inline void GLEndVideoCaptureNV (GLuint video_capture_slot)
16930 {
16931   NVSG_GL_STATS_FCT_COUNT();
16932   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glEndVideoCaptureNV);
16933   glContext()->m_glFunctions->glEndVideoCaptureNV(video_capture_slot);
16934   ASSERT_GL_NO_ERROR;
16935 }
16936
16937 inline void GLGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params)
16938 {
16939   NVSG_GL_STATS_FCT_COUNT();
16940   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetVideoCaptureivNV);
16941   glContext()->m_glFunctions->glGetVideoCaptureivNV(video_capture_slot, pname, params);
16942   ASSERT_GL_NO_ERROR;
16943 }
16944
16945 inline void GLGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params)
16946 {
16947   NVSG_GL_STATS_FCT_COUNT();
16948   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetVideoCaptureStreamivNV);
16949   glContext()->m_glFunctions->glGetVideoCaptureStreamivNV(video_capture_slot, stream, pname, params);
16950   ASSERT_GL_NO_ERROR;
16951 }
16952
16953 inline void GLGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params)
16954 {
16955   NVSG_GL_STATS_FCT_COUNT();
16956   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetVideoCaptureStreamfvNV);
16957   glContext()->m_glFunctions->glGetVideoCaptureStreamfvNV(video_capture_slot, stream, pname, params);
16958   ASSERT_GL_NO_ERROR;
16959 }
16960
16961 inline void GLGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params)
16962 {
16963   NVSG_GL_STATS_FCT_COUNT();
16964   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetVideoCaptureStreamdvNV);
16965   glContext()->m_glFunctions->glGetVideoCaptureStreamdvNV(video_capture_slot, stream, pname, params);
16966   ASSERT_GL_NO_ERROR;
16967 }
16968
16969 inline GLenum GLVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time)
16970 {
16971   NVSG_GL_STATS_FCT_COUNT();
16972   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVideoCaptureNV);
16973   GLenum ret = glContext()->m_glFunctions->glVideoCaptureNV(video_capture_slot, sequence_num, capture_time);
16974   ASSERT_GL_NO_ERROR;
16975   return ret;
16976 }
16977
16978 inline void GLVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params)
16979 {
16980   NVSG_GL_STATS_FCT_COUNT();
16981   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVideoCaptureStreamParameterivNV);
16982   glContext()->m_glFunctions->glVideoCaptureStreamParameterivNV(video_capture_slot, stream, pname, params);
16983   ASSERT_GL_NO_ERROR;
16984 }
16985
16986 inline void GLVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params)
16987 {
16988   NVSG_GL_STATS_FCT_COUNT();
16989   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVideoCaptureStreamParameterfvNV);
16990   glContext()->m_glFunctions->glVideoCaptureStreamParameterfvNV(video_capture_slot, stream, pname, params);
16991   ASSERT_GL_NO_ERROR;
16992 }
16993
16994 inline void GLVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params)
16995 {
16996   NVSG_GL_STATS_FCT_COUNT();
16997   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glVideoCaptureStreamParameterdvNV);
16998   glContext()->m_glFunctions->glVideoCaptureStreamParameterdvNV(video_capture_slot, stream, pname, params);
16999   ASSERT_GL_NO_ERROR;
17000 }
17001
17002
17003 // GL_EXT_direct_state_access
17004 inline void GLPushClientAttribDefaultEXT( GLbitfield mask )
17005 {
17006   NVSG_GL_STATS_FCT_COUNT();
17007   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glPushClientAttribDefaultEXT);
17008   glContext()->m_glFunctions->glPushClientAttribDefaultEXT(mask);
17009   ASSERT_GL_NO_ERROR;
17010 }
17011
17012 inline void GLClientAttribDefaultEXT( GLbitfield mask )
17013 {
17014   NVSG_GL_STATS_FCT_COUNT();
17015   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glClientAttribDefaultEXT);
17016   glContext()->m_glFunctions->glClientAttribDefaultEXT(mask);
17017   ASSERT_GL_NO_ERROR;
17018 }
17019
17020 inline void GLMatrixLoadfEXT( GLenum mode, const GLfloat *m )
17021 {
17022   NVSG_GL_STATS_FCT_COUNT();
17023   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixLoadfEXT);
17024   glContext()->m_glFunctions->glMatrixLoadfEXT(mode, m);
17025   ASSERT_GL_NO_ERROR;
17026 }
17027
17028 inline void GLMatrixLoaddEXT( GLenum mode, const GLdouble *m )
17029 {
17030   NVSG_GL_STATS_FCT_COUNT();
17031   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixLoaddEXT);
17032   glContext()->m_glFunctions->glMatrixLoaddEXT(mode, m);
17033   ASSERT_GL_NO_ERROR;
17034 }
17035
17036 inline void GLMatrixMultfEXT( GLenum mode, const GLfloat *m )
17037 {
17038   NVSG_GL_STATS_FCT_COUNT();
17039   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixMultfEXT);
17040   glContext()->m_glFunctions->glMatrixMultfEXT(mode, m);
17041   ASSERT_GL_NO_ERROR;
17042 }
17043
17044 inline void GLMatrixMultdEXT( GLenum mode, const GLdouble *m )
17045 {
17046   NVSG_GL_STATS_FCT_COUNT();
17047   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixMultdEXT);
17048   glContext()->m_glFunctions->glMatrixMultdEXT(mode, m);
17049   ASSERT_GL_NO_ERROR;
17050 }
17051
17052 inline void GLMatrixLoadIdentityEXT( GLenum mode )
17053 {
17054   NVSG_GL_STATS_FCT_COUNT();
17055   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixLoadIdentityEXT);
17056   glContext()->m_glFunctions->glMatrixLoadIdentityEXT(mode);
17057   ASSERT_GL_NO_ERROR;
17058 }
17059
17060 inline void GLMatrixRotatefEXT( GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
17061 {
17062   NVSG_GL_STATS_FCT_COUNT();
17063   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixRotatefEXT);
17064   glContext()->m_glFunctions->glMatrixRotatefEXT(mode, angle, x, y, z);
17065   ASSERT_GL_NO_ERROR;
17066 }
17067
17068 inline void GLMatrixRotatedEXT( GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z )
17069 {
17070   NVSG_GL_STATS_FCT_COUNT();
17071   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixRotatedEXT);
17072   glContext()->m_glFunctions->glMatrixRotatedEXT(mode, angle, x, y, z);
17073   ASSERT_GL_NO_ERROR;
17074 }
17075
17076 inline void GLMatrixScalefEXT( GLenum mode, GLfloat x, GLfloat y, GLfloat z )
17077 {
17078   NVSG_GL_STATS_FCT_COUNT();
17079   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixScalefEXT);
17080   glContext()->m_glFunctions->glMatrixScalefEXT(mode, x, y, z);
17081   ASSERT_GL_NO_ERROR;
17082 }
17083
17084 inline void GLMatrixScaledEXT( GLenum mode, GLdouble x, GLdouble y, GLdouble z )
17085 {
17086   NVSG_GL_STATS_FCT_COUNT();
17087   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixScaledEXT);
17088   glContext()->m_glFunctions->glMatrixScaledEXT(mode, x, y, z);
17089   ASSERT_GL_NO_ERROR;
17090 }
17091
17092 inline void GLMatrixTranslatefEXT( GLenum mode, GLfloat x, GLfloat y, GLfloat z )
17093 {
17094   NVSG_GL_STATS_FCT_COUNT();
17095   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixTranslatefEXT);
17096   glContext()->m_glFunctions->glMatrixTranslatefEXT(mode, x, y, z);
17097   ASSERT_GL_NO_ERROR;
17098 }
17099
17100 inline void GLMatrixTranslatedEXT( GLenum mode, GLdouble x, GLdouble y, GLdouble z )
17101 {
17102   NVSG_GL_STATS_FCT_COUNT();
17103   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixTranslatedEXT);
17104   glContext()->m_glFunctions->glMatrixTranslatedEXT(mode, x, y, z);
17105   ASSERT_GL_NO_ERROR;
17106 }
17107
17108 inline void GLMatrixFrustumEXT( GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar )
17109 {
17110   NVSG_GL_STATS_FCT_COUNT();
17111   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixFrustumEXT);
17112   glContext()->m_glFunctions->glMatrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar);
17113   ASSERT_GL_NO_ERROR;
17114 }
17115
17116 inline void GLMatrixOrthoEXT( GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar )
17117 {
17118   NVSG_GL_STATS_FCT_COUNT();
17119   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixOrthoEXT);
17120   glContext()->m_glFunctions->glMatrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar);
17121   ASSERT_GL_NO_ERROR;
17122 }
17123
17124 inline void GLMatrixPopEXT( GLenum mode )
17125 {
17126   NVSG_GL_STATS_FCT_COUNT();
17127   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixPopEXT);
17128   glContext()->m_glFunctions->glMatrixPopEXT(mode);
17129   ASSERT_GL_NO_ERROR;
17130 }
17131
17132 inline void GLMatrixPushEXT( GLenum mode )
17133 {
17134   NVSG_GL_STATS_FCT_COUNT();
17135   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixPushEXT);
17136   glContext()->m_glFunctions->glMatrixPushEXT(mode);
17137   ASSERT_GL_NO_ERROR;
17138 }
17139
17140 inline void GLMatrixLoadTransposefEXT( GLenum mode, const GLfloat *m )
17141 {
17142   NVSG_GL_STATS_FCT_COUNT();
17143   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixLoadTransposefEXT);
17144   glContext()->m_glFunctions->glMatrixLoadTransposefEXT(mode, m);
17145   ASSERT_GL_NO_ERROR;
17146 }
17147
17148 inline void GLMatrixLoadTransposedEXT( GLenum mode, const GLdouble *m )
17149 {
17150   NVSG_GL_STATS_FCT_COUNT();
17151   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixLoadTransposedEXT);
17152   glContext()->m_glFunctions->glMatrixLoadTransposedEXT(mode, m);
17153   ASSERT_GL_NO_ERROR;
17154 }
17155
17156 inline void GLMatrixMultTransposefEXT( GLenum mode, const GLfloat *m )
17157 {
17158   NVSG_GL_STATS_FCT_COUNT();
17159   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixMultTransposefEXT);
17160   glContext()->m_glFunctions->glMatrixMultTransposefEXT(mode, m);
17161   ASSERT_GL_NO_ERROR;
17162 }
17163
17164 inline void GLMatrixMultTransposedEXT( GLenum mode, const GLdouble *m )
17165 {
17166   NVSG_GL_STATS_FCT_COUNT();
17167   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMatrixMultTransposedEXT);
17168   glContext()->m_glFunctions->glMatrixMultTransposedEXT(mode, m);
17169   ASSERT_GL_NO_ERROR;
17170 }
17171
17172 inline void GLTextureParameterfEXT( GLuint texture, GLenum target, GLenum pname, GLfloat param )
17173 {
17174   NVSG_GL_STATS_FCT_COUNT();
17175   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureParameterfEXT);
17176   glContext()->m_glFunctions->glTextureParameterfEXT(texture, target, pname, param);
17177   ASSERT_GL_NO_ERROR;
17178 }
17179
17180 inline void GLTextureParameterfvEXT( GLuint texture, GLenum target, GLenum pname, const GLfloat *params )
17181 {
17182   NVSG_GL_STATS_FCT_COUNT();
17183   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureParameterfvEXT);
17184   glContext()->m_glFunctions->glTextureParameterfvEXT(texture, target, pname, params);
17185   ASSERT_GL_NO_ERROR;
17186 }
17187
17188 inline void GLTextureParameteriEXT( GLuint texture, GLenum target, GLenum pname, GLint param )
17189 {
17190   NVSG_GL_STATS_FCT_COUNT();
17191   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureParameteriEXT);
17192   glContext()->m_glFunctions->glTextureParameteriEXT(texture, target, pname, param);
17193   ASSERT_GL_NO_ERROR;
17194 }
17195
17196 inline void GLTextureParameterivEXT( GLuint texture, GLenum target, GLenum pname, const GLint *params )
17197 {
17198   NVSG_GL_STATS_FCT_COUNT();
17199   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureParameterivEXT);
17200   glContext()->m_glFunctions->glTextureParameterivEXT(texture, target, pname, params);
17201   ASSERT_GL_NO_ERROR;
17202 }
17203
17204 inline void GLTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
17205 {
17206   NVSG_GL_STATS_FCT_COUNT();
17207   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureImage1DEXT);
17208   glContext()->m_glFunctions->glTextureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels);
17209   ASSERT_GL_NO_ERROR;
17210 }
17211
17212 inline void GLTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
17213 {
17214   NVSG_GL_STATS_FCT_COUNT();
17215   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureImage2DEXT);
17216   glContext()->m_glFunctions->glTextureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels);
17217   ASSERT_GL_NO_ERROR;
17218 }
17219
17220 inline void GLTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels )
17221 {
17222   NVSG_GL_STATS_FCT_COUNT();
17223   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureSubImage1DEXT);
17224   glContext()->m_glFunctions->glTextureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels);
17225   ASSERT_GL_NO_ERROR;
17226 }
17227
17228 inline void GLTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
17229 {
17230   NVSG_GL_STATS_FCT_COUNT();
17231   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureSubImage2DEXT);
17232   glContext()->m_glFunctions->glTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels);
17233   ASSERT_GL_NO_ERROR;
17234 }
17235
17236 inline void GLCopyTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border )
17237 {
17238   NVSG_GL_STATS_FCT_COUNT();
17239   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyTextureImage1DEXT);
17240   glContext()->m_glFunctions->glCopyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border);
17241   ASSERT_GL_NO_ERROR;
17242 }
17243
17244 inline void GLCopyTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border )
17245 {
17246   NVSG_GL_STATS_FCT_COUNT();
17247   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyTextureImage2DEXT);
17248   glContext()->m_glFunctions->glCopyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border);
17249   ASSERT_GL_NO_ERROR;
17250 }
17251
17252 inline void GLCopyTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width )
17253 {
17254   NVSG_GL_STATS_FCT_COUNT();
17255   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyTextureSubImage1DEXT);
17256   glContext()->m_glFunctions->glCopyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width);
17257   ASSERT_GL_NO_ERROR;
17258 }
17259
17260 inline void GLCopyTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height )
17261 {
17262   NVSG_GL_STATS_FCT_COUNT();
17263   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyTextureSubImage2DEXT);
17264   glContext()->m_glFunctions->glCopyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height);
17265   ASSERT_GL_NO_ERROR;
17266 }
17267
17268 inline void GLGetTextureImageEXT( GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels )
17269 {
17270   NVSG_GL_STATS_FCT_COUNT();
17271   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureImageEXT);
17272   glContext()->m_glFunctions->glGetTextureImageEXT(texture, target, level, format, type, pixels);
17273   ASSERT_GL_NO_ERROR;
17274 }
17275
17276 inline void GLGetTextureParameterfvEXT( GLuint texture, GLenum target, GLenum pname, GLfloat *params )
17277 {
17278   NVSG_GL_STATS_FCT_COUNT();
17279   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureParameterfvEXT);
17280   glContext()->m_glFunctions->glGetTextureParameterfvEXT(texture, target, pname, params);
17281   ASSERT_GL_NO_ERROR;
17282 }
17283
17284 inline void GLGetTextureParameterivEXT( GLuint texture, GLenum target, GLenum pname, GLint *params )
17285 {
17286   NVSG_GL_STATS_FCT_COUNT();
17287   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureParameterivEXT);
17288   glContext()->m_glFunctions->glGetTextureParameterivEXT(texture, target, pname, params);
17289   ASSERT_GL_NO_ERROR;
17290 }
17291
17292 inline void GLGetTextureLevelParameterfvEXT( GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params )
17293 {
17294   NVSG_GL_STATS_FCT_COUNT();
17295   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureLevelParameterfvEXT);
17296   glContext()->m_glFunctions->glGetTextureLevelParameterfvEXT(texture, target, level, pname, params);
17297   ASSERT_GL_NO_ERROR;
17298 }
17299
17300 inline void GLGetTextureLevelParameterivEXT( GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params )
17301 {
17302   NVSG_GL_STATS_FCT_COUNT();
17303   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureLevelParameterivEXT);
17304   glContext()->m_glFunctions->glGetTextureLevelParameterivEXT(texture, target, level, pname, params);
17305   ASSERT_GL_NO_ERROR;
17306 }
17307
17308 inline void GLTextureImage3DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
17309 {
17310   NVSG_GL_STATS_FCT_COUNT();
17311   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureImage3DEXT);
17312   glContext()->m_glFunctions->glTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels);
17313   ASSERT_GL_NO_ERROR;
17314 }
17315
17316 inline void GLTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels )
17317 {
17318   NVSG_GL_STATS_FCT_COUNT();
17319   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureSubImage3DEXT);
17320   glContext()->m_glFunctions->glTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
17321   ASSERT_GL_NO_ERROR;
17322 }
17323
17324 inline void GLCopyTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height )
17325 {
17326   NVSG_GL_STATS_FCT_COUNT();
17327   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyTextureSubImage3DEXT);
17328   glContext()->m_glFunctions->glCopyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);
17329   ASSERT_GL_NO_ERROR;
17330 }
17331
17332 inline void GLMultiTexParameterfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param )
17333 {
17334   NVSG_GL_STATS_FCT_COUNT();
17335   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexParameterfEXT);
17336   glContext()->m_glFunctions->glMultiTexParameterfEXT(texunit, target, pname, param);
17337   ASSERT_GL_NO_ERROR;
17338 }
17339
17340 inline void GLMultiTexParameterfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat *params )
17341 {
17342   NVSG_GL_STATS_FCT_COUNT();
17343   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexParameterfvEXT);
17344   glContext()->m_glFunctions->glMultiTexParameterfvEXT(texunit, target, pname, params);
17345   ASSERT_GL_NO_ERROR;
17346 }
17347
17348 inline void GLMultiTexParameteriEXT( GLenum texunit, GLenum target, GLenum pname, GLint param )
17349 {
17350   NVSG_GL_STATS_FCT_COUNT();
17351   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexParameteriEXT);
17352   glContext()->m_glFunctions->glMultiTexParameteriEXT(texunit, target, pname, param);
17353   ASSERT_GL_NO_ERROR;
17354 }
17355
17356 inline void GLMultiTexParameterivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint *params )
17357 {
17358   NVSG_GL_STATS_FCT_COUNT();
17359   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexParameterivEXT);
17360   glContext()->m_glFunctions->glMultiTexParameterivEXT(texunit, target, pname, params);
17361   ASSERT_GL_NO_ERROR;
17362 }
17363
17364 inline void GLMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
17365 {
17366   NVSG_GL_STATS_FCT_COUNT();
17367   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexImage1DEXT);
17368   glContext()->m_glFunctions->glMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels);
17369   ASSERT_GL_NO_ERROR;
17370 }
17371
17372 inline void GLMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
17373 {
17374   NVSG_GL_STATS_FCT_COUNT();
17375   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexImage2DEXT);
17376   glContext()->m_glFunctions->glMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels);
17377   ASSERT_GL_NO_ERROR;
17378 }
17379
17380 inline void GLMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels )
17381 {
17382   NVSG_GL_STATS_FCT_COUNT();
17383   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexSubImage1DEXT);
17384   glContext()->m_glFunctions->glMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels);
17385   ASSERT_GL_NO_ERROR;
17386 }
17387
17388 inline void GLMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels )
17389 {
17390   NVSG_GL_STATS_FCT_COUNT();
17391   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexSubImage2DEXT);
17392   glContext()->m_glFunctions->glMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels);
17393   ASSERT_GL_NO_ERROR;
17394 }
17395
17396 inline void GLCopyMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border )
17397 {
17398   NVSG_GL_STATS_FCT_COUNT();
17399   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyMultiTexImage1DEXT);
17400   glContext()->m_glFunctions->glCopyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border);
17401   ASSERT_GL_NO_ERROR;
17402 }
17403
17404 inline void GLCopyMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border )
17405 {
17406   NVSG_GL_STATS_FCT_COUNT();
17407   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyMultiTexImage2DEXT);
17408   glContext()->m_glFunctions->glCopyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border);
17409   ASSERT_GL_NO_ERROR;
17410 }
17411
17412 inline void GLCopyMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width )
17413 {
17414   NVSG_GL_STATS_FCT_COUNT();
17415   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyMultiTexSubImage1DEXT);
17416   glContext()->m_glFunctions->glCopyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width);
17417   ASSERT_GL_NO_ERROR;
17418 }
17419
17420 inline void GLCopyMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height )
17421 {
17422   NVSG_GL_STATS_FCT_COUNT();
17423   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyMultiTexSubImage2DEXT);
17424   glContext()->m_glFunctions->glCopyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height);
17425   ASSERT_GL_NO_ERROR;
17426 }
17427
17428 inline void GLGetMultiTexImageEXT( GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels )
17429 {
17430   NVSG_GL_STATS_FCT_COUNT();
17431   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexImageEXT);
17432   glContext()->m_glFunctions->glGetMultiTexImageEXT(texunit, target, level, format, type, pixels);
17433   ASSERT_GL_NO_ERROR;
17434 }
17435
17436 inline void GLGetMultiTexParameterfvEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat *params )
17437 {
17438   NVSG_GL_STATS_FCT_COUNT();
17439   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexParameterfvEXT);
17440   glContext()->m_glFunctions->glGetMultiTexParameterfvEXT(texunit, target, pname, params);
17441   ASSERT_GL_NO_ERROR;
17442 }
17443
17444 inline void GLGetMultiTexParameterivEXT( GLenum texunit, GLenum target, GLenum pname, GLint *params )
17445 {
17446   NVSG_GL_STATS_FCT_COUNT();
17447   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexParameterivEXT);
17448   glContext()->m_glFunctions->glGetMultiTexParameterivEXT(texunit, target, pname, params);
17449   ASSERT_GL_NO_ERROR;
17450 }
17451
17452 inline void GLGetMultiTexLevelParameterfvEXT( GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params )
17453 {
17454   NVSG_GL_STATS_FCT_COUNT();
17455   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexLevelParameterfvEXT);
17456   glContext()->m_glFunctions->glGetMultiTexLevelParameterfvEXT(texunit, target, level, pname, params);
17457   ASSERT_GL_NO_ERROR;
17458 }
17459
17460 inline void GLGetMultiTexLevelParameterivEXT( GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params )
17461 {
17462   NVSG_GL_STATS_FCT_COUNT();
17463   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexLevelParameterivEXT);
17464   glContext()->m_glFunctions->glGetMultiTexLevelParameterivEXT(texunit, target, level, pname, params);
17465   ASSERT_GL_NO_ERROR;
17466 }
17467
17468 inline void GLMultiTexImage3DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels )
17469 {
17470   NVSG_GL_STATS_FCT_COUNT();
17471   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexImage3DEXT);
17472   glContext()->m_glFunctions->glMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels);
17473   ASSERT_GL_NO_ERROR;
17474 }
17475
17476 inline void GLMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels )
17477 {
17478   NVSG_GL_STATS_FCT_COUNT();
17479   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexSubImage3DEXT);
17480   glContext()->m_glFunctions->glMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
17481   ASSERT_GL_NO_ERROR;
17482 }
17483
17484 inline void GLCopyMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height )
17485 {
17486   NVSG_GL_STATS_FCT_COUNT();
17487   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCopyMultiTexSubImage3DEXT);
17488   glContext()->m_glFunctions->glCopyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);
17489   ASSERT_GL_NO_ERROR;
17490 }
17491
17492 inline void GLBindMultiTextureEXT( GLenum texunit, GLenum target, GLuint texture )
17493 {
17494   NVSG_GL_STATS_FCT_COUNT();
17495   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glBindMultiTextureEXT);
17496   glContext()->m_glFunctions->glBindMultiTextureEXT(texunit, target, texture);
17497   ASSERT_GL_NO_ERROR;
17498 }
17499
17500 inline void GLEnableClientStateIndexedEXT( GLenum array, GLuint index )
17501 {
17502   NVSG_GL_STATS_FCT_COUNT();
17503   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glEnableClientStateIndexedEXT);
17504   glContext()->m_glFunctions->glEnableClientStateIndexedEXT(array, index);
17505   ASSERT_GL_NO_ERROR;
17506 }
17507
17508 inline void GLDisableClientStateIndexedEXT( GLenum array, GLuint index )
17509 {
17510   NVSG_GL_STATS_FCT_COUNT();
17511   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glDisableClientStateIndexedEXT);
17512   glContext()->m_glFunctions->glDisableClientStateIndexedEXT(array, index);
17513   ASSERT_GL_NO_ERROR;
17514 }
17515
17516 inline void GLMultiTexCoordPointerEXT( GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer )
17517 {
17518   NVSG_GL_STATS_FCT_COUNT();
17519   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexCoordPointerEXT);
17520   glContext()->m_glFunctions->glMultiTexCoordPointerEXT(texunit, size, type, stride, pointer);
17521   ASSERT_GL_NO_ERROR;
17522 }
17523
17524 inline void GLMultiTexEnvfEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat param )
17525 {
17526   NVSG_GL_STATS_FCT_COUNT();
17527   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexEnvfEXT);
17528   glContext()->m_glFunctions->glMultiTexEnvfEXT(texunit, target, pname, param);
17529   ASSERT_GL_NO_ERROR;
17530 }
17531
17532 inline void GLMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, const GLfloat *params )
17533 {
17534   NVSG_GL_STATS_FCT_COUNT();
17535   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexEnvfvEXT);
17536   glContext()->m_glFunctions->glMultiTexEnvfvEXT(texunit, target, pname, params);
17537   ASSERT_GL_NO_ERROR;
17538 }
17539
17540 inline void GLMultiTexEnviEXT( GLenum texunit, GLenum target, GLenum pname, GLint param )
17541 {
17542   NVSG_GL_STATS_FCT_COUNT();
17543   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexEnviEXT);
17544   glContext()->m_glFunctions->glMultiTexEnviEXT(texunit, target, pname, param);
17545   ASSERT_GL_NO_ERROR;
17546 }
17547
17548 inline void GLMultiTexEnvivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint *params )
17549 {
17550   NVSG_GL_STATS_FCT_COUNT();
17551   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexEnvivEXT);
17552   glContext()->m_glFunctions->glMultiTexEnvivEXT(texunit, target, pname, params);
17553   ASSERT_GL_NO_ERROR;
17554 }
17555
17556 inline void GLMultiTexGendEXT( GLenum texunit, GLenum coord, GLenum pname, GLdouble param )
17557 {
17558   NVSG_GL_STATS_FCT_COUNT();
17559   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexGendEXT);
17560   glContext()->m_glFunctions->glMultiTexGendEXT(texunit, coord, pname, param);
17561   ASSERT_GL_NO_ERROR;
17562 }
17563
17564 inline void GLMultiTexGendvEXT( GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params )
17565 {
17566   NVSG_GL_STATS_FCT_COUNT();
17567   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexGendvEXT);
17568   glContext()->m_glFunctions->glMultiTexGendvEXT(texunit, coord, pname, params);
17569   ASSERT_GL_NO_ERROR;
17570 }
17571
17572 inline void GLMultiTexGenfEXT( GLenum texunit, GLenum coord, GLenum pname, GLfloat param )
17573 {
17574   NVSG_GL_STATS_FCT_COUNT();
17575   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexGenfEXT);
17576   glContext()->m_glFunctions->glMultiTexGenfEXT(texunit, coord, pname, param);
17577   ASSERT_GL_NO_ERROR;
17578 }
17579
17580 inline void GLMultiTexGenfvEXT( GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params )
17581 {
17582   NVSG_GL_STATS_FCT_COUNT();
17583   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexGenfvEXT);
17584   glContext()->m_glFunctions->glMultiTexGenfvEXT(texunit, coord, pname, params);
17585   ASSERT_GL_NO_ERROR;
17586 }
17587
17588 inline void GLMultiTexGeniEXT( GLenum texunit, GLenum coord, GLenum pname, GLint param )
17589 {
17590   NVSG_GL_STATS_FCT_COUNT();
17591   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexGeniEXT);
17592   glContext()->m_glFunctions->glMultiTexGeniEXT(texunit, coord, pname, param);
17593   ASSERT_GL_NO_ERROR;
17594 }
17595
17596 inline void GLMultiTexGenivEXT( GLenum texunit, GLenum coord, GLenum pname, const GLint *params )
17597 {
17598   NVSG_GL_STATS_FCT_COUNT();
17599   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexGenivEXT);
17600   glContext()->m_glFunctions->glMultiTexGenivEXT(texunit, coord, pname, params);
17601   ASSERT_GL_NO_ERROR;
17602 }
17603
17604 inline void GLGetMultiTexEnvfvEXT( GLenum texunit, GLenum target, GLenum pname, GLfloat *params )
17605 {
17606   NVSG_GL_STATS_FCT_COUNT();
17607   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexEnvfvEXT);
17608   glContext()->m_glFunctions->glGetMultiTexEnvfvEXT(texunit, target, pname, params);
17609   ASSERT_GL_NO_ERROR;
17610 }
17611
17612 inline void GLGetMultiTexEnvivEXT( GLenum texunit, GLenum target, GLenum pname, GLint *params )
17613 {
17614   NVSG_GL_STATS_FCT_COUNT();
17615   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexEnvivEXT);
17616   glContext()->m_glFunctions->glGetMultiTexEnvivEXT(texunit, target, pname, params);
17617   ASSERT_GL_NO_ERROR;
17618 }
17619
17620 inline void GLGetMultiTexGendvEXT( GLenum texunit, GLenum coord, GLenum pname, GLdouble *params )
17621 {
17622   NVSG_GL_STATS_FCT_COUNT();
17623   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexGendvEXT);
17624   glContext()->m_glFunctions->glGetMultiTexGendvEXT(texunit, coord, pname, params);
17625   ASSERT_GL_NO_ERROR;
17626 }
17627
17628 inline void GLGetMultiTexGenfvEXT( GLenum texunit, GLenum coord, GLenum pname, GLfloat *params )
17629 {
17630   NVSG_GL_STATS_FCT_COUNT();
17631   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexGenfvEXT);
17632   glContext()->m_glFunctions->glGetMultiTexGenfvEXT(texunit, coord, pname, params);
17633   ASSERT_GL_NO_ERROR;
17634 }
17635
17636 inline void GLGetMultiTexGenivEXT( GLenum texunit, GLenum coord, GLenum pname, GLint *params )
17637 {
17638   NVSG_GL_STATS_FCT_COUNT();
17639   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexGenivEXT);
17640   glContext()->m_glFunctions->glGetMultiTexGenivEXT(texunit, coord, pname, params);
17641   ASSERT_GL_NO_ERROR;
17642 }
17643
17644 inline void GLGetFloatIndexedvEXT( GLenum target, GLuint index, GLfloat *data )
17645 {
17646   NVSG_GL_STATS_FCT_COUNT();
17647   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetFloatIndexedvEXT);
17648   glContext()->m_glFunctions->glGetFloatIndexedvEXT(target, index, data);
17649   ASSERT_GL_NO_ERROR;
17650 }
17651
17652 inline void GLGetDoubleIndexedvEXT( GLenum target, GLuint index, GLdouble *data )
17653 {
17654   NVSG_GL_STATS_FCT_COUNT();
17655   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetDoubleIndexedvEXT);
17656   glContext()->m_glFunctions->glGetDoubleIndexedvEXT(target, index, data);
17657   ASSERT_GL_NO_ERROR;
17658 }
17659
17660 inline void GLGetPointerIndexedvEXT( GLenum target, GLuint index, GLvoid* *data )
17661 {
17662   NVSG_GL_STATS_FCT_COUNT();
17663   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetPointerIndexedvEXT);
17664   glContext()->m_glFunctions->glGetPointerIndexedvEXT(target, index, data);
17665   ASSERT_GL_NO_ERROR;
17666 }
17667
17668 inline void GLCompressedTextureImage3DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits )
17669 {
17670   NVSG_GL_STATS_FCT_COUNT();
17671   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedTextureImage3DEXT);
17672   glContext()->m_glFunctions->glCompressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits);
17673   ASSERT_GL_NO_ERROR;
17674 }
17675
17676 inline void GLCompressedTextureImage2DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits )
17677 {
17678   NVSG_GL_STATS_FCT_COUNT();
17679   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedTextureImage2DEXT);
17680   glContext()->m_glFunctions->glCompressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits);
17681   ASSERT_GL_NO_ERROR;
17682 }
17683
17684 inline void GLCompressedTextureImage1DEXT( GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits )
17685 {
17686   NVSG_GL_STATS_FCT_COUNT();
17687   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedTextureImage1DEXT);
17688   glContext()->m_glFunctions->glCompressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits);
17689   ASSERT_GL_NO_ERROR;
17690 }
17691
17692 inline void GLCompressedTextureSubImage3DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits )
17693 {
17694   NVSG_GL_STATS_FCT_COUNT();
17695   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedTextureSubImage3DEXT);
17696   glContext()->m_glFunctions->glCompressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
17697   ASSERT_GL_NO_ERROR;
17698 }
17699
17700 inline void GLCompressedTextureSubImage2DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits )
17701 {
17702   NVSG_GL_STATS_FCT_COUNT();
17703   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedTextureSubImage2DEXT);
17704   glContext()->m_glFunctions->glCompressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
17705   ASSERT_GL_NO_ERROR;
17706 }
17707
17708 inline void GLCompressedTextureSubImage1DEXT( GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits )
17709 {
17710   NVSG_GL_STATS_FCT_COUNT();
17711   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedTextureSubImage1DEXT);
17712   glContext()->m_glFunctions->glCompressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits);
17713   ASSERT_GL_NO_ERROR;
17714 }
17715
17716 inline void GLGetCompressedTextureImageEXT( GLuint texture, GLenum target, GLint lod, GLvoid *img )
17717 {
17718   NVSG_GL_STATS_FCT_COUNT();
17719   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetCompressedTextureImageEXT);
17720   glContext()->m_glFunctions->glGetCompressedTextureImageEXT(texture, target, lod, img);
17721   ASSERT_GL_NO_ERROR;
17722 }
17723
17724 inline void GLCompressedMultiTexImage3DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits )
17725 {
17726   NVSG_GL_STATS_FCT_COUNT();
17727   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedMultiTexImage3DEXT);
17728   glContext()->m_glFunctions->glCompressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);
17729   ASSERT_GL_NO_ERROR;
17730 }
17731
17732 inline void GLCompressedMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits )
17733 {
17734   NVSG_GL_STATS_FCT_COUNT();
17735   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedMultiTexImage2DEXT);
17736   glContext()->m_glFunctions->glCompressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits);
17737   ASSERT_GL_NO_ERROR;
17738 }
17739
17740 inline void GLCompressedMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits )
17741 {
17742   NVSG_GL_STATS_FCT_COUNT();
17743   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedMultiTexImage1DEXT);
17744   glContext()->m_glFunctions->glCompressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits);
17745   ASSERT_GL_NO_ERROR;
17746 }
17747
17748 inline void GLCompressedMultiTexSubImage3DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits )
17749 {
17750   NVSG_GL_STATS_FCT_COUNT();
17751   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedMultiTexSubImage3DEXT);
17752   glContext()->m_glFunctions->glCompressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
17753   ASSERT_GL_NO_ERROR;
17754 }
17755
17756 inline void GLCompressedMultiTexSubImage2DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits )
17757 {
17758   NVSG_GL_STATS_FCT_COUNT();
17759   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedMultiTexSubImage2DEXT);
17760   glContext()->m_glFunctions->glCompressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
17761   ASSERT_GL_NO_ERROR;
17762 }
17763
17764 inline void GLCompressedMultiTexSubImage1DEXT( GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits )
17765 {
17766   NVSG_GL_STATS_FCT_COUNT();
17767   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCompressedMultiTexSubImage1DEXT);
17768   glContext()->m_glFunctions->glCompressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits);
17769   ASSERT_GL_NO_ERROR;
17770 }
17771
17772 inline void GLGetCompressedMultiTexImageEXT( GLenum texunit, GLenum target, GLint lod, GLvoid *img )
17773 {
17774   NVSG_GL_STATS_FCT_COUNT();
17775   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetCompressedMultiTexImageEXT);
17776   glContext()->m_glFunctions->glGetCompressedMultiTexImageEXT(texunit, target, lod, img);
17777   ASSERT_GL_NO_ERROR;
17778 }
17779
17780 inline void GLNamedProgramStringEXT( GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string )
17781 {
17782   NVSG_GL_STATS_FCT_COUNT();
17783   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramStringEXT);
17784   glContext()->m_glFunctions->glNamedProgramStringEXT(program, target, format, len, string);
17785   ASSERT_GL_NO_ERROR;
17786 }
17787
17788 inline void GLNamedProgramLocalParameter4dEXT( GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w )
17789 {
17790   NVSG_GL_STATS_FCT_COUNT();
17791   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameter4dEXT);
17792   glContext()->m_glFunctions->glNamedProgramLocalParameter4dEXT(program, target, index, x, y, z, w);
17793   ASSERT_GL_NO_ERROR;
17794 }
17795
17796 inline void GLNamedProgramLocalParameter4dvEXT( GLuint program, GLenum target, GLuint index, const GLdouble *params )
17797 {
17798   NVSG_GL_STATS_FCT_COUNT();
17799   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameter4dvEXT);
17800   glContext()->m_glFunctions->glNamedProgramLocalParameter4dvEXT(program, target, index, params);
17801   ASSERT_GL_NO_ERROR;
17802 }
17803
17804 inline void GLNamedProgramLocalParameter4fEXT( GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
17805 {
17806   NVSG_GL_STATS_FCT_COUNT();
17807   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameter4fEXT);
17808   glContext()->m_glFunctions->glNamedProgramLocalParameter4fEXT(program, target, index, x, y, z, w);
17809   ASSERT_GL_NO_ERROR;
17810 }
17811
17812 inline void GLNamedProgramLocalParameter4fvEXT( GLuint program, GLenum target, GLuint index, const GLfloat *params )
17813 {
17814   NVSG_GL_STATS_FCT_COUNT();
17815   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameter4fvEXT);
17816   glContext()->m_glFunctions->glNamedProgramLocalParameter4fvEXT(program, target, index, params);
17817   ASSERT_GL_NO_ERROR;
17818 }
17819
17820 inline void GLGetNamedProgramLocalParameterdvEXT( GLuint program, GLenum target, GLuint index, GLdouble *params )
17821 {
17822   NVSG_GL_STATS_FCT_COUNT();
17823   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedProgramLocalParameterdvEXT);
17824   glContext()->m_glFunctions->glGetNamedProgramLocalParameterdvEXT(program, target, index, params);
17825   ASSERT_GL_NO_ERROR;
17826 }
17827
17828 inline void GLGetNamedProgramLocalParameterfvEXT( GLuint program, GLenum target, GLuint index, GLfloat *params )
17829 {
17830   NVSG_GL_STATS_FCT_COUNT();
17831   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedProgramLocalParameterfvEXT);
17832   glContext()->m_glFunctions->glGetNamedProgramLocalParameterfvEXT(program, target, index, params);
17833   ASSERT_GL_NO_ERROR;
17834 }
17835
17836 inline void GLGetNamedProgramivEXT( GLuint program, GLenum target, GLenum pname, GLint *params )
17837 {
17838   NVSG_GL_STATS_FCT_COUNT();
17839   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedProgramivEXT);
17840   glContext()->m_glFunctions->glGetNamedProgramivEXT(program, target, pname, params);
17841   ASSERT_GL_NO_ERROR;
17842 }
17843
17844 inline void GLGetNamedProgramStringEXT( GLuint program, GLenum target, GLenum pname, GLvoid *string )
17845 {
17846   NVSG_GL_STATS_FCT_COUNT();
17847   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedProgramStringEXT);
17848   glContext()->m_glFunctions->glGetNamedProgramStringEXT(program, target, pname, string);
17849   ASSERT_GL_NO_ERROR;
17850 }
17851
17852 inline void GLNamedProgramLocalParameters4fvEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params )
17853 {
17854   NVSG_GL_STATS_FCT_COUNT();
17855   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameters4fvEXT);
17856   glContext()->m_glFunctions->glNamedProgramLocalParameters4fvEXT(program, target, index, count, params);
17857   ASSERT_GL_NO_ERROR;
17858 }
17859
17860 inline void GLNamedProgramLocalParameterI4iEXT( GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w )
17861 {
17862   NVSG_GL_STATS_FCT_COUNT();
17863   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameterI4iEXT);
17864   glContext()->m_glFunctions->glNamedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w);
17865   ASSERT_GL_NO_ERROR;
17866 }
17867
17868 inline void GLNamedProgramLocalParameterI4ivEXT( GLuint program, GLenum target, GLuint index, const GLint *params )
17869 {
17870   NVSG_GL_STATS_FCT_COUNT();
17871   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameterI4ivEXT);
17872   glContext()->m_glFunctions->glNamedProgramLocalParameterI4ivEXT(program, target, index, params);
17873   ASSERT_GL_NO_ERROR;
17874 }
17875
17876 inline void GLNamedProgramLocalParametersI4ivEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params )
17877 {
17878   NVSG_GL_STATS_FCT_COUNT();
17879   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParametersI4ivEXT);
17880   glContext()->m_glFunctions->glNamedProgramLocalParametersI4ivEXT(program, target, index, count, params);
17881   ASSERT_GL_NO_ERROR;
17882 }
17883
17884 inline void GLNamedProgramLocalParameterI4uiEXT( GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w )
17885 {
17886   NVSG_GL_STATS_FCT_COUNT();
17887   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameterI4uiEXT);
17888   glContext()->m_glFunctions->glNamedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w);
17889   ASSERT_GL_NO_ERROR;
17890 }
17891
17892 inline void GLNamedProgramLocalParameterI4uivEXT( GLuint program, GLenum target, GLuint index, const GLuint *params )
17893 {
17894   NVSG_GL_STATS_FCT_COUNT();
17895   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParameterI4uivEXT);
17896   glContext()->m_glFunctions->glNamedProgramLocalParameterI4uivEXT(program, target, index, params);
17897   ASSERT_GL_NO_ERROR;
17898 }
17899
17900 inline void GLNamedProgramLocalParametersI4uivEXT( GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params )
17901 {
17902   NVSG_GL_STATS_FCT_COUNT();
17903   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedProgramLocalParametersI4uivEXT);
17904   glContext()->m_glFunctions->glNamedProgramLocalParametersI4uivEXT(program, target, index, count, params);
17905   ASSERT_GL_NO_ERROR;
17906 }
17907
17908 inline void GLGetNamedProgramLocalParameterIivEXT( GLuint program, GLenum target, GLuint index, GLint *params )
17909 {
17910   NVSG_GL_STATS_FCT_COUNT();
17911   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedProgramLocalParameterIivEXT);
17912   glContext()->m_glFunctions->glGetNamedProgramLocalParameterIivEXT(program, target, index, params);
17913   ASSERT_GL_NO_ERROR;
17914 }
17915
17916 inline void GLGetNamedProgramLocalParameterIuivEXT( GLuint program, GLenum target, GLuint index, GLuint *params )
17917 {
17918   NVSG_GL_STATS_FCT_COUNT();
17919   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedProgramLocalParameterIuivEXT);
17920   glContext()->m_glFunctions->glGetNamedProgramLocalParameterIuivEXT(program, target, index, params);
17921   ASSERT_GL_NO_ERROR;
17922 }
17923
17924 inline void GLTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, const GLint *params )
17925 {
17926   NVSG_GL_STATS_FCT_COUNT();
17927   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureParameterIivEXT);
17928   glContext()->m_glFunctions->glTextureParameterIivEXT(texture, target, pname, params);
17929   ASSERT_GL_NO_ERROR;
17930 }
17931
17932 inline void GLTextureParameterIuivEXT( GLuint texture, GLenum target, GLenum pname, const GLuint *params )
17933 {
17934   NVSG_GL_STATS_FCT_COUNT();
17935   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureParameterIuivEXT);
17936   glContext()->m_glFunctions->glTextureParameterIuivEXT(texture, target, pname, params);
17937   ASSERT_GL_NO_ERROR;
17938 }
17939
17940 inline void GLGetTextureParameterIivEXT( GLuint texture, GLenum target, GLenum pname, GLint *params )
17941 {
17942   NVSG_GL_STATS_FCT_COUNT();
17943   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureParameterIivEXT);
17944   glContext()->m_glFunctions->glGetTextureParameterIivEXT(texture, target, pname, params);
17945   ASSERT_GL_NO_ERROR;
17946 }
17947
17948 inline void GLGetTextureParameterIuivEXT( GLuint texture, GLenum target, GLenum pname, GLuint *params )
17949 {
17950   NVSG_GL_STATS_FCT_COUNT();
17951   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetTextureParameterIuivEXT);
17952   glContext()->m_glFunctions->glGetTextureParameterIuivEXT(texture, target, pname, params);
17953   ASSERT_GL_NO_ERROR;
17954 }
17955
17956 inline void GLMultiTexParameterIivEXT( GLenum texunit, GLenum target, GLenum pname, const GLint *params )
17957 {
17958   NVSG_GL_STATS_FCT_COUNT();
17959   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexParameterIivEXT);
17960   glContext()->m_glFunctions->glMultiTexParameterIivEXT(texunit, target, pname, params);
17961   ASSERT_GL_NO_ERROR;
17962 }
17963
17964 inline void GLMultiTexParameterIuivEXT( GLenum texunit, GLenum target, GLenum pname, const GLuint *params )
17965 {
17966   NVSG_GL_STATS_FCT_COUNT();
17967   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexParameterIuivEXT);
17968   glContext()->m_glFunctions->glMultiTexParameterIuivEXT(texunit, target, pname, params);
17969   ASSERT_GL_NO_ERROR;
17970 }
17971
17972 inline void GLGetMultiTexParameterIivEXT( GLenum texunit, GLenum target, GLenum pname, GLint *params )
17973 {
17974   NVSG_GL_STATS_FCT_COUNT();
17975   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexParameterIivEXT);
17976   glContext()->m_glFunctions->glGetMultiTexParameterIivEXT(texunit, target, pname, params);
17977   ASSERT_GL_NO_ERROR;
17978 }
17979
17980 inline void GLGetMultiTexParameterIuivEXT( GLenum texunit, GLenum target, GLenum pname, GLuint *params )
17981 {
17982   NVSG_GL_STATS_FCT_COUNT();
17983   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetMultiTexParameterIuivEXT);
17984   glContext()->m_glFunctions->glGetMultiTexParameterIuivEXT(texunit, target, pname, params);
17985   ASSERT_GL_NO_ERROR;
17986 }
17987
17988 inline void GLProgramUniform1fEXT( GLuint program, GLint location, GLfloat v0 )
17989 {
17990   NVSG_GL_STATS_FCT_COUNT();
17991   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform1fEXT);
17992   glContext()->m_glFunctions->glProgramUniform1fEXT(program, location, v0);
17993   ASSERT_GL_NO_ERROR;
17994 }
17995
17996 inline void GLProgramUniform2fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1 )
17997 {
17998   NVSG_GL_STATS_FCT_COUNT();
17999   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform2fEXT);
18000   glContext()->m_glFunctions->glProgramUniform2fEXT(program, location, v0, v1);
18001   ASSERT_GL_NO_ERROR;
18002 }
18003
18004 inline void GLProgramUniform3fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2 )
18005 {
18006   NVSG_GL_STATS_FCT_COUNT();
18007   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform3fEXT);
18008   glContext()->m_glFunctions->glProgramUniform3fEXT(program, location, v0, v1, v2);
18009   ASSERT_GL_NO_ERROR;
18010 }
18011
18012 inline void GLProgramUniform4fEXT( GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3 )
18013 {
18014   NVSG_GL_STATS_FCT_COUNT();
18015   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform4fEXT);
18016   glContext()->m_glFunctions->glProgramUniform4fEXT(program, location, v0, v1, v2, v3);
18017   ASSERT_GL_NO_ERROR;
18018 }
18019
18020 inline void GLProgramUniform1iEXT( GLuint program, GLint location, GLint v0 )
18021 {
18022   NVSG_GL_STATS_FCT_COUNT();
18023   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform1iEXT);
18024   glContext()->m_glFunctions->glProgramUniform1iEXT(program, location, v0);
18025   ASSERT_GL_NO_ERROR;
18026 }
18027
18028 inline void GLProgramUniform2iEXT( GLuint program, GLint location, GLint v0, GLint v1 )
18029 {
18030   NVSG_GL_STATS_FCT_COUNT();
18031   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform2iEXT);
18032   glContext()->m_glFunctions->glProgramUniform2iEXT(program, location, v0, v1);
18033   ASSERT_GL_NO_ERROR;
18034 }
18035
18036 inline void GLProgramUniform3iEXT( GLuint program, GLint location, GLint v0, GLint v1, GLint v2 )
18037 {
18038   NVSG_GL_STATS_FCT_COUNT();
18039   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform3iEXT);
18040   glContext()->m_glFunctions->glProgramUniform3iEXT(program, location, v0, v1, v2);
18041   ASSERT_GL_NO_ERROR;
18042 }
18043
18044 inline void GLProgramUniform4iEXT( GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3 )
18045 {
18046   NVSG_GL_STATS_FCT_COUNT();
18047   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform4iEXT);
18048   glContext()->m_glFunctions->glProgramUniform4iEXT(program, location, v0, v1, v2, v3);
18049   ASSERT_GL_NO_ERROR;
18050 }
18051
18052 inline void GLProgramUniform1fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value )
18053 {
18054   NVSG_GL_STATS_FCT_COUNT();
18055   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform1fvEXT);
18056   glContext()->m_glFunctions->glProgramUniform1fvEXT(program, location, count, value);
18057   ASSERT_GL_NO_ERROR;
18058 }
18059
18060 inline void GLProgramUniform2fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value )
18061 {
18062   NVSG_GL_STATS_FCT_COUNT();
18063   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform2fvEXT);
18064   glContext()->m_glFunctions->glProgramUniform2fvEXT(program, location, count, value);
18065   ASSERT_GL_NO_ERROR;
18066 }
18067
18068 inline void GLProgramUniform3fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value )
18069 {
18070   NVSG_GL_STATS_FCT_COUNT();
18071   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform3fvEXT);
18072   glContext()->m_glFunctions->glProgramUniform3fvEXT(program, location, count, value);
18073   ASSERT_GL_NO_ERROR;
18074 }
18075
18076 inline void GLProgramUniform4fvEXT( GLuint program, GLint location, GLsizei count, const GLfloat *value )
18077 {
18078   NVSG_GL_STATS_FCT_COUNT();
18079   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform4fvEXT);
18080   glContext()->m_glFunctions->glProgramUniform4fvEXT(program, location, count, value);
18081   ASSERT_GL_NO_ERROR;
18082 }
18083
18084 inline void GLProgramUniform1ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value )
18085 {
18086   NVSG_GL_STATS_FCT_COUNT();
18087   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform1ivEXT);
18088   glContext()->m_glFunctions->glProgramUniform1ivEXT(program, location, count, value);
18089   ASSERT_GL_NO_ERROR;
18090 }
18091
18092 inline void GLProgramUniform2ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value )
18093 {
18094   NVSG_GL_STATS_FCT_COUNT();
18095   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform2ivEXT);
18096   glContext()->m_glFunctions->glProgramUniform2ivEXT(program, location, count, value);
18097   ASSERT_GL_NO_ERROR;
18098 }
18099
18100 inline void GLProgramUniform3ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value )
18101 {
18102   NVSG_GL_STATS_FCT_COUNT();
18103   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform3ivEXT);
18104   glContext()->m_glFunctions->glProgramUniform3ivEXT(program, location, count, value);
18105   ASSERT_GL_NO_ERROR;
18106 }
18107
18108 inline void GLProgramUniform4ivEXT( GLuint program, GLint location, GLsizei count, const GLint *value )
18109 {
18110   NVSG_GL_STATS_FCT_COUNT();
18111   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform4ivEXT);
18112   glContext()->m_glFunctions->glProgramUniform4ivEXT(program, location, count, value);
18113   ASSERT_GL_NO_ERROR;
18114 }
18115
18116 inline void GLProgramUniformMatrix2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18117 {
18118   NVSG_GL_STATS_FCT_COUNT();
18119   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix2fvEXT);
18120   glContext()->m_glFunctions->glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);
18121   ASSERT_GL_NO_ERROR;
18122 }
18123
18124 inline void GLProgramUniformMatrix3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18125 {
18126   NVSG_GL_STATS_FCT_COUNT();
18127   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix3fvEXT);
18128   glContext()->m_glFunctions->glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);
18129   ASSERT_GL_NO_ERROR;
18130 }
18131
18132 inline void GLProgramUniformMatrix4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18133 {
18134   NVSG_GL_STATS_FCT_COUNT();
18135   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix4fvEXT);
18136   glContext()->m_glFunctions->glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);
18137   ASSERT_GL_NO_ERROR;
18138 }
18139
18140 inline void GLProgramUniformMatrix2x3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18141 {
18142   NVSG_GL_STATS_FCT_COUNT();
18143   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix2x3fvEXT);
18144   glContext()->m_glFunctions->glProgramUniformMatrix2x3fvEXT(program, location, count, transpose, value);
18145   ASSERT_GL_NO_ERROR;
18146 }
18147
18148 inline void GLProgramUniformMatrix3x2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18149 {
18150   NVSG_GL_STATS_FCT_COUNT();
18151   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix3x2fvEXT);
18152   glContext()->m_glFunctions->glProgramUniformMatrix3x2fvEXT(program, location, count, transpose, value);
18153   ASSERT_GL_NO_ERROR;
18154 }
18155
18156 inline void GLProgramUniformMatrix2x4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18157 {
18158   NVSG_GL_STATS_FCT_COUNT();
18159   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix2x4fvEXT);
18160   glContext()->m_glFunctions->glProgramUniformMatrix2x4fvEXT(program, location, count, transpose, value);
18161   ASSERT_GL_NO_ERROR;
18162 }
18163
18164 inline void GLProgramUniformMatrix4x2fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18165 {
18166   NVSG_GL_STATS_FCT_COUNT();
18167   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix4x2fvEXT);
18168   glContext()->m_glFunctions->glProgramUniformMatrix4x2fvEXT(program, location, count, transpose, value);
18169   ASSERT_GL_NO_ERROR;
18170 }
18171
18172 inline void GLProgramUniformMatrix3x4fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18173 {
18174   NVSG_GL_STATS_FCT_COUNT();
18175   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix3x4fvEXT);
18176   glContext()->m_glFunctions->glProgramUniformMatrix3x4fvEXT(program, location, count, transpose, value);
18177   ASSERT_GL_NO_ERROR;
18178 }
18179
18180 inline void GLProgramUniformMatrix4x3fvEXT( GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value )
18181 {
18182   NVSG_GL_STATS_FCT_COUNT();
18183   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniformMatrix4x3fvEXT);
18184   glContext()->m_glFunctions->glProgramUniformMatrix4x3fvEXT(program, location, count, transpose, value);
18185   ASSERT_GL_NO_ERROR;
18186 }
18187
18188 inline void GLProgramUniform1uiEXT( GLuint program, GLint location, GLuint v0 )
18189 {
18190   NVSG_GL_STATS_FCT_COUNT();
18191   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform1uiEXT);
18192   glContext()->m_glFunctions->glProgramUniform1uiEXT(program, location, v0);
18193   ASSERT_GL_NO_ERROR;
18194 }
18195
18196 inline void GLProgramUniform2uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1 )
18197 {
18198   NVSG_GL_STATS_FCT_COUNT();
18199   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform2uiEXT);
18200   glContext()->m_glFunctions->glProgramUniform2uiEXT(program, location, v0, v1);
18201   ASSERT_GL_NO_ERROR;
18202 }
18203
18204 inline void GLProgramUniform3uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2 )
18205 {
18206   NVSG_GL_STATS_FCT_COUNT();
18207   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform3uiEXT);
18208   glContext()->m_glFunctions->glProgramUniform3uiEXT(program, location, v0, v1, v2);
18209   ASSERT_GL_NO_ERROR;
18210 }
18211
18212 inline void GLProgramUniform4uiEXT( GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3 )
18213 {
18214   NVSG_GL_STATS_FCT_COUNT();
18215   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform4uiEXT);
18216   glContext()->m_glFunctions->glProgramUniform4uiEXT(program, location, v0, v1, v2, v3);
18217   ASSERT_GL_NO_ERROR;
18218 }
18219
18220 inline void GLProgramUniform1uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value )
18221 {
18222   NVSG_GL_STATS_FCT_COUNT();
18223   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform1uivEXT);
18224   glContext()->m_glFunctions->glProgramUniform1uivEXT(program, location, count, value);
18225   ASSERT_GL_NO_ERROR;
18226 }
18227
18228 inline void GLProgramUniform2uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value )
18229 {
18230   NVSG_GL_STATS_FCT_COUNT();
18231   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform2uivEXT);
18232   glContext()->m_glFunctions->glProgramUniform2uivEXT(program, location, count, value);
18233   ASSERT_GL_NO_ERROR;
18234 }
18235
18236 inline void GLProgramUniform3uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value )
18237 {
18238   NVSG_GL_STATS_FCT_COUNT();
18239   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform3uivEXT);
18240   glContext()->m_glFunctions->glProgramUniform3uivEXT(program, location, count, value);
18241   ASSERT_GL_NO_ERROR;
18242 }
18243
18244 inline void GLProgramUniform4uivEXT( GLuint program, GLint location, GLsizei count, const GLuint *value )
18245 {
18246   NVSG_GL_STATS_FCT_COUNT();
18247   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glProgramUniform4uivEXT);
18248   glContext()->m_glFunctions->glProgramUniform4uivEXT(program, location, count, value);
18249   ASSERT_GL_NO_ERROR;
18250 }
18251
18252 inline void GLNamedBufferDataEXT( GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage )
18253 {
18254   NVSG_GL_STATS_FCT_COUNT();
18255   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedBufferDataEXT);
18256   glContext()->m_glFunctions->glNamedBufferDataEXT(buffer, size, data, usage);
18257   ASSERT_GL_NO_ERROR;
18258 }
18259
18260 inline void GLNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data )
18261 {
18262   NVSG_GL_STATS_FCT_COUNT();
18263   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedBufferSubDataEXT);
18264   glContext()->m_glFunctions->glNamedBufferSubDataEXT(buffer, offset, size, data);
18265   ASSERT_GL_NO_ERROR;
18266 }
18267
18268 inline GLvoid* GLMapNamedBufferEXT( GLuint buffer, GLenum access )
18269 {
18270   NVSG_GL_STATS_FCT_COUNT();
18271   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMapNamedBufferEXT);
18272   GLvoid *result = glContext()->m_glFunctions->glMapNamedBufferEXT(buffer, access);
18273   ASSERT_GL_NO_ERROR;
18274   return result;
18275 }
18276
18277 inline GLboolean GLUnmapNamedBufferEXT( GLuint buffer )
18278 {
18279   NVSG_GL_STATS_FCT_COUNT();
18280   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glUnmapNamedBufferEXT);
18281   GLboolean result = glContext()->m_glFunctions->glUnmapNamedBufferEXT(buffer);
18282   ASSERT_GL_NO_ERROR;
18283   return result;
18284 }
18285
18286 inline void GLGetNamedBufferParameterivEXT( GLuint buffer, GLenum pname, GLint *params )
18287 {
18288   NVSG_GL_STATS_FCT_COUNT();
18289   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedBufferParameterivEXT);
18290   glContext()->m_glFunctions->glGetNamedBufferParameterivEXT(buffer, pname, params);
18291   ASSERT_GL_NO_ERROR;
18292 }
18293
18294 inline void GLGetNamedBufferPointervEXT( GLuint buffer, GLenum pname, GLvoid* *params )
18295 {
18296   NVSG_GL_STATS_FCT_COUNT();
18297   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedBufferPointervEXT);
18298   glContext()->m_glFunctions->glGetNamedBufferPointervEXT(buffer, pname, params);
18299   ASSERT_GL_NO_ERROR;
18300 }
18301
18302 inline void GLGetNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data )
18303 {
18304   NVSG_GL_STATS_FCT_COUNT();
18305   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedBufferSubDataEXT);
18306   glContext()->m_glFunctions->glGetNamedBufferSubDataEXT(buffer, offset, size, data);
18307   ASSERT_GL_NO_ERROR;
18308 }
18309
18310 inline void GLTextureBufferEXT( GLuint texture, GLenum target, GLenum internalformat, GLuint buffer )
18311 {
18312   NVSG_GL_STATS_FCT_COUNT();
18313   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureBufferEXT);
18314   glContext()->m_glFunctions->glTextureBufferEXT(texture, target, internalformat, buffer);
18315   ASSERT_GL_NO_ERROR;
18316 }
18317
18318 inline void GLMultiTexBufferEXT( GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer )
18319 {
18320   NVSG_GL_STATS_FCT_COUNT();
18321   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexBufferEXT);
18322   glContext()->m_glFunctions->glMultiTexBufferEXT(texunit, target, internalformat, buffer);
18323   ASSERT_GL_NO_ERROR;
18324 }
18325
18326 inline void GLNamedRenderbufferStorageEXT( GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height )
18327 {
18328   NVSG_GL_STATS_FCT_COUNT();
18329   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedRenderbufferStorageEXT);
18330   glContext()->m_glFunctions->glNamedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);
18331   ASSERT_GL_NO_ERROR;
18332 }
18333
18334 inline void GLGetNamedRenderbufferParameterivEXT( GLuint renderbuffer, GLenum pname, GLint *params )
18335 {
18336   NVSG_GL_STATS_FCT_COUNT();
18337   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedRenderbufferParameterivEXT);
18338   glContext()->m_glFunctions->glGetNamedRenderbufferParameterivEXT(renderbuffer, pname, params);
18339   ASSERT_GL_NO_ERROR;
18340 }
18341
18342 inline GLenum GLCheckNamedFramebufferStatusEXT( GLuint framebuffer, GLenum target )
18343 {
18344   NVSG_GL_STATS_FCT_COUNT();
18345   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glCheckNamedFramebufferStatusEXT);
18346   GLenum result = glContext()->m_glFunctions->glCheckNamedFramebufferStatusEXT(framebuffer, target);
18347   ASSERT_GL_NO_ERROR;
18348   return result;
18349 }
18350
18351 inline void GLNamedFramebufferTexture1DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level )
18352 {
18353   NVSG_GL_STATS_FCT_COUNT();
18354   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferTexture1DEXT);
18355   glContext()->m_glFunctions->glNamedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level);
18356   ASSERT_GL_NO_ERROR;
18357 }
18358
18359 inline void GLNamedFramebufferTexture2DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level )
18360 {
18361   NVSG_GL_STATS_FCT_COUNT();
18362   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferTexture2DEXT);
18363   glContext()->m_glFunctions->glNamedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level);
18364   ASSERT_GL_NO_ERROR;
18365 }
18366
18367 inline void GLNamedFramebufferTexture3DEXT( GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset )
18368 {
18369   NVSG_GL_STATS_FCT_COUNT();
18370   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferTexture3DEXT);
18371   glContext()->m_glFunctions->glNamedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);
18372   ASSERT_GL_NO_ERROR;
18373 }
18374
18375 inline void GLNamedFramebufferRenderbufferEXT( GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer )
18376 {
18377   NVSG_GL_STATS_FCT_COUNT();
18378   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferRenderbufferEXT);
18379   glContext()->m_glFunctions->glNamedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);
18380   ASSERT_GL_NO_ERROR;
18381 }
18382
18383 inline void GLGetNamedFramebufferAttachmentParameterivEXT( GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params )
18384 {
18385   NVSG_GL_STATS_FCT_COUNT();
18386   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetNamedFramebufferAttachmentParameterivEXT);
18387   glContext()->m_glFunctions->glGetNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);
18388   ASSERT_GL_NO_ERROR;
18389 }
18390
18391 inline void GLGenerateTextureMipmapEXT( GLuint texture, GLenum target )
18392 {
18393   NVSG_GL_STATS_FCT_COUNT();
18394   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGenerateTextureMipmapEXT);
18395   glContext()->m_glFunctions->glGenerateTextureMipmapEXT(texture, target);
18396   ASSERT_GL_NO_ERROR;
18397 }
18398
18399 inline void GLGenerateMultiTexMipmapEXT( GLenum texunit, GLenum target )
18400 {
18401   NVSG_GL_STATS_FCT_COUNT();
18402   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGenerateMultiTexMipmapEXT);
18403   glContext()->m_glFunctions->glGenerateMultiTexMipmapEXT(texunit, target);
18404   ASSERT_GL_NO_ERROR;
18405 }
18406
18407 inline void GLFramebufferDrawBufferEXT( GLuint framebuffer, GLenum mode )
18408 {
18409   NVSG_GL_STATS_FCT_COUNT();
18410   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glFramebufferDrawBufferEXT);
18411   glContext()->m_glFunctions->glFramebufferDrawBufferEXT(framebuffer, mode);
18412   ASSERT_GL_NO_ERROR;
18413 }
18414
18415 inline void GLFramebufferDrawBuffersEXT( GLuint framebuffer, GLsizei n, const GLenum *bufs )
18416 {
18417   NVSG_GL_STATS_FCT_COUNT();
18418   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glFramebufferDrawBuffersEXT);
18419   glContext()->m_glFunctions->glFramebufferDrawBuffersEXT(framebuffer, n, bufs);
18420   ASSERT_GL_NO_ERROR;
18421 }
18422
18423 inline void GLFramebufferReadBufferEXT( GLuint framebuffer, GLenum mode )
18424 {
18425   NVSG_GL_STATS_FCT_COUNT();
18426   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glFramebufferReadBufferEXT);
18427   glContext()->m_glFunctions->glFramebufferReadBufferEXT(framebuffer, mode);
18428   ASSERT_GL_NO_ERROR;
18429 }
18430
18431 inline void GLGetFramebufferParameterivEXT( GLuint framebuffer, GLenum pname, GLint *params )
18432 {
18433   NVSG_GL_STATS_FCT_COUNT();
18434   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glGetFramebufferParameterivEXT);
18435   glContext()->m_glFunctions->glGetFramebufferParameterivEXT(framebuffer, pname, params);
18436   ASSERT_GL_NO_ERROR;
18437 }
18438
18439 inline void GLNamedRenderbufferStorageMultisampleEXT( GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height )
18440 {
18441   NVSG_GL_STATS_FCT_COUNT();
18442   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedRenderbufferStorageMultisampleEXT);
18443   glContext()->m_glFunctions->glNamedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);
18444   ASSERT_GL_NO_ERROR;
18445 }
18446
18447 inline void GLNamedRenderbufferStorageMultisampleCoverageEXT( GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height )
18448 {
18449   NVSG_GL_STATS_FCT_COUNT();
18450   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedRenderbufferStorageMultisampleCoverageEXT);
18451   glContext()->m_glFunctions->glNamedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
18452   ASSERT_GL_NO_ERROR;
18453 }
18454
18455 inline void GLNamedFramebufferTextureEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level )
18456 {
18457   NVSG_GL_STATS_FCT_COUNT();
18458   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferTextureEXT);
18459   glContext()->m_glFunctions->glNamedFramebufferTextureEXT(framebuffer, attachment, texture, level);
18460   ASSERT_GL_NO_ERROR;
18461 }
18462
18463 inline void GLNamedFramebufferTextureLayerEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer )
18464 {
18465   NVSG_GL_STATS_FCT_COUNT();
18466   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferTextureLayerEXT);
18467   glContext()->m_glFunctions->glNamedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);
18468   ASSERT_GL_NO_ERROR;
18469 }
18470
18471 inline void GLNamedFramebufferTextureFaceEXT( GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face )
18472 {
18473   NVSG_GL_STATS_FCT_COUNT();
18474   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glNamedFramebufferTextureFaceEXT);
18475   glContext()->m_glFunctions->glNamedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face);
18476   ASSERT_GL_NO_ERROR;
18477 }
18478
18479 inline void GLTextureRenderbufferEXT( GLuint texture, GLenum target, GLuint renderbuffer )
18480 {
18481   NVSG_GL_STATS_FCT_COUNT();
18482   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glTextureRenderbufferEXT);
18483   glContext()->m_glFunctions->glTextureRenderbufferEXT(texture, target, renderbuffer);
18484   ASSERT_GL_NO_ERROR;
18485 }
18486
18487 inline void GLMultiTexRenderbufferEXT( GLenum texunit, GLenum target, GLuint renderbuffer )
18488 {
18489   NVSG_GL_STATS_FCT_COUNT();
18490   NVSG_ASSERT( glContext()->m_glFunctions && glContext()->m_glFunctions->glMultiTexRenderbufferEXT);
18491   glContext()->m_glFunctions->glMultiTexRenderbufferEXT(texunit, target, renderbuffer);
18492   ASSERT_GL_NO_ERROR;
18493 }
18494
18498 inline GLenum GLGetTexWrapMode( nvsg::TextureWrapMode twm )
18499 {
18500   NVSG_ASSERT( twm <= nvsg::TWM_MIRROR_CLAMP_TO_BORDER );
18501   return( glContext()->m_glTexWrapModes[twm] );
18502 }
18503
18504 #if defined(_WIN32)
18505
18513 inline bool WGLInitializeExtensions(void)
18514 {
18515   return theWGLFunctions::instance()->Init();
18516 }
18517
18531 inline bool WGLIsExtensionAvailable(const std::string& extstr)
18532 {
18533   return theWGLFunctions::instance()->isAvailable(extstr);
18534 }
18535
18547 inline bool WGLIsExtensionExported(const std::string& extstr)
18548 {
18549   return theWGLFunctions::instance()->isExported(extstr);
18550 }
18551
18553
18554 inline BOOL WGLBindTexImage( HPBUFFERARB hPbuffer, int iBuffer )
18555 {
18556   NVSG_GL_STATS_FCT_COUNT();
18557   NVSG_ASSERT( theWGLFunctions::instance()->wglBindTexImageARB );
18558   return theWGLFunctions::instance()->wglBindTexImageARB( hPbuffer, iBuffer );
18559 }
18560
18562
18563 inline BOOL WGLChoosePixelFormat( HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats )
18564 {
18565   NVSG_GL_STATS_FCT_COUNT();
18566   NVSG_ASSERT( theWGLFunctions::instance()->wglChoosePixelFormatARB );
18567   return theWGLFunctions::instance()->wglChoosePixelFormatARB( hdc, piAttribIList, pfAttribFList, nMaxFormats, piFormats, nNumFormats );
18568 }
18569
18571
18572 inline BOOL WGLGetPixelFormatAttribivARB(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues )
18573 {
18574   NVSG_GL_STATS_FCT_COUNT();
18575   NVSG_ASSERT( theWGLFunctions::instance()->wglGetPixelFormatAttribivARB );
18576   return theWGLFunctions::instance()->wglGetPixelFormatAttribivARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, piValues );
18577 }
18578
18580
18581 inline BOOL WGLGetPixelFormatAttribfv(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues )
18582 {
18583   NVSG_GL_STATS_FCT_COUNT();
18584   NVSG_ASSERT( theWGLFunctions::instance()->wglGetPixelFormatAttribfvARB );
18585   return theWGLFunctions::instance()->wglGetPixelFormatAttribfvARB(hdc, iPixelFormat, iLayerPlane, nAttributes, piAttributes, pfValues );
18586 }
18587
18588
18590
18593 inline  HGLRC WGLCreateContext( HDC hdc )
18594 {
18595   HGLRC hglrc = wglCreateContext( hdc );
18596   WGLAttachContext(hdc, hglrc);
18597   return hglrc;
18598 }
18599
18601
18604 inline  HPBUFFERARB WGLCreatePbuffer( HDC hdc, int pixelFormat, int width, int height, const int *attribList )
18605 {
18606   NVSG_GL_STATS_FCT_COUNT();
18607   NVSG_ASSERT( wglGetCurrentContext() != NULL );
18608   NVSG_ASSERT( theWGLFunctions::instance()->wglCreatePbufferARB );
18609   HPBUFFERARB hPbuffer = theWGLFunctions::instance()->wglCreatePbufferARB( hdc, pixelFormat, width, height, attribList );
18610   return( hPbuffer );
18611 }
18612
18614
18618 inline  BOOL  WGLDeleteContext( HGLRC hglrc )
18619 {
18620   NVSG_GL_STATS_FCT_COUNT();
18621   WGLDetachContext(hglrc);
18622   return wglDeleteContext(hglrc);
18623 }
18624
18626
18627 inline  BOOL  WGLDestroyPbuffer( HPBUFFERARB hPbuffer )
18628 {
18629   NVSG_GL_STATS_FCT_COUNT();
18630   NVSG_ASSERT(theWGLFunctions::instance()->wglDestroyPbufferARB);
18631   return theWGLFunctions::instance()->wglDestroyPbufferARB( hPbuffer );
18632 }
18633
18635
18639 inline  HGLRC  WGLGetCurrentContext(void)
18640 {
18641   // !! NOTE: no NVSG_GL_STATS_FCT_COUNT macro call here, because it relies on a valid glContext !!
18642   ASSERT_GL_CURRENT_CONTEXT_CONFORMITY();
18643   return wglGetCurrentContext();
18644 }
18645
18647
18652 inline  HDC  WGLGetCurrentDC(void)
18653 {
18654   NVSG_GL_STATS_FCT_COUNT();
18655   return wglGetCurrentDC();
18656 }
18657
18659
18660 inline  HDC WGLGetPbufferDC( HPBUFFERARB hPbuffer )
18661 {
18662   NVSG_GL_STATS_FCT_COUNT();
18663   NVSG_ASSERT( theWGLFunctions::instance()->wglGetPbufferDCARB );
18664   return theWGLFunctions::instance()->wglGetPbufferDCARB( hPbuffer );
18665 }
18666
18668
18669 inline  BOOL  WGLQueryPbuffer( HPBUFFERARB hPbuffer, int attribute, int *value )
18670 {
18671   NVSG_GL_STATS_FCT_COUNT();
18672   NVSG_ASSERT( theWGLFunctions::instance()->wglQueryPbufferARB );
18673   return theWGLFunctions::instance()->wglQueryPbufferARB( hPbuffer, attribute, value );
18674 }
18675
18677
18678 inline  int WGLReleasePbufferDC( HPBUFFERARB hPbuffer, HDC hdc )
18679 {
18680   NVSG_GL_STATS_FCT_COUNT();
18681   NVSG_ASSERT( theWGLFunctions::instance()->wglReleasePbufferDCARB );
18682   int i = theWGLFunctions::instance()->wglReleasePbufferDCARB( hPbuffer, hdc );
18683   NVSG_ASSERT( i == 1 );
18684   return( i );
18685 }
18686
18688
18689 inline  BOOL  WGLReleaseTexImage( HPBUFFERARB hPbuffer, int iBuffer )
18690 {
18691   NVSG_GL_STATS_FCT_COUNT();
18692   NVSG_ASSERT( theWGLFunctions::instance()->wglReleaseTexImageARB );
18693   return theWGLFunctions::instance()->wglReleaseTexImageARB( hPbuffer, iBuffer );
18694 }
18695
18697 inline BOOL WGLJoinSwapGroupNV(HDC hDC, GLuint group)
18698 {
18699   NVSG_GL_STATS_FCT_COUNT();
18700   return theWGLFunctions::instance()->wglJoinSwapGroupNV(hDC, group);
18701 }
18702
18704 inline BOOL WGLBindSwapBarrierNV(GLuint group, GLuint barrier)
18705 {
18706   NVSG_GL_STATS_FCT_COUNT();
18707   return theWGLFunctions::instance()->wglBindSwapBarrierNV(group, barrier);
18708 }
18709
18711 inline BOOL WGLQuerySwapGroupNV(HDC hDC, GLuint * group, GLuint * barrier)
18712 {
18713   NVSG_GL_STATS_FCT_COUNT();
18714   return theWGLFunctions::instance()->wglQuerySwapGroupNV(hDC, group, barrier);
18715 }
18716
18718 inline BOOL WGLQueryMaxSwapGroupsNV(HDC hDC, GLuint * maxGroups, GLuint * maxBarriers)
18719 {
18720   NVSG_GL_STATS_FCT_COUNT();
18721   return theWGLFunctions::instance()->wglQueryMaxSwapGroupsNV(hDC, maxGroups, maxBarriers);
18722 }
18723
18725 inline BOOL WGLQueryFrameCountNV(HDC hDC, GLuint * count)
18726 {
18727   NVSG_GL_STATS_FCT_COUNT();
18728   return theWGLFunctions::instance()->wglQueryFrameCountNV(hDC, count);
18729 }
18730
18732 inline BOOL WGLResetFrameCountNV(HDC hDC)
18733 {
18734   NVSG_GL_STATS_FCT_COUNT();
18735   return theWGLFunctions::instance()->wglResetFrameCountNV(hDC);
18736 }
18737
18739 inline BOOL WGLEnumGpus(UINT iIndex, HGPUNV *hGpu)
18740 {
18741   NVSG_GL_STATS_FCT_COUNT();
18742   NVSG_ASSERT( theWGLFunctions::instance()->wglEnumGpusNV );
18743   return theWGLFunctions::instance()->wglEnumGpusNV(iIndex, hGpu);
18744 }
18745
18747 inline BOOL WGLEnumGpuDevices(HGPUNV hGpu, UINT iIndex, PGPU_DEVICE pGpuDevice)
18748 {
18749   NVSG_GL_STATS_FCT_COUNT();
18750   NVSG_ASSERT( theWGLFunctions::instance()->wglEnumGpuDevicesNV );
18751   return theWGLFunctions::instance()->wglEnumGpuDevicesNV(hGpu, iIndex, pGpuDevice);
18752 }
18753
18755 inline HDC  WGLCreateAffinityDC(const HGPUNV *pGpuList)
18756 {
18757   NVSG_GL_STATS_FCT_COUNT();
18758   NVSG_ASSERT( theWGLFunctions::instance()->wglCreateAffinityDCNV );
18759   return theWGLFunctions::instance()->wglCreateAffinityDCNV(pGpuList);
18760 }
18761
18763 inline BOOL WGLEnumGpusFromAffinityDC(HDC hAffinityDC, UINT iIndex, HGPUNV *hGpu)
18764 {
18765   NVSG_GL_STATS_FCT_COUNT();
18766   NVSG_ASSERT( theWGLFunctions::instance()->wglEnumGpusFromAffinityDCNV );
18767   return theWGLFunctions::instance()->wglEnumGpusFromAffinityDCNV(hAffinityDC, iIndex, hGpu);
18768 }
18769
18771 inline BOOL WGLDeleteDC(HDC hAffinityDC)
18772 {
18773   NVSG_GL_STATS_FCT_COUNT();
18774   NVSG_ASSERT( theWGLFunctions::instance()->wglDeleteDCNV );
18775   return theWGLFunctions::instance()->wglDeleteDCNV(hAffinityDC);
18776 }
18777
18779 inline BOOL WGLSwapInterval(int interval)
18780 {
18781   NVSG_GL_STATS_FCT_COUNT();
18782   NVSG_ASSERT( theWGLFunctions::instance()->wglSwapIntervalEXT );
18783   return theWGLFunctions::instance()->wglSwapIntervalEXT(interval);
18784 }
18785
18787 inline int WGLGetSwapInterval(void)
18788 {
18789   NVSG_GL_STATS_FCT_COUNT();
18790   NVSG_ASSERT( theWGLFunctions::instance()->wglGetSwapIntervalEXT );
18791   return theWGLFunctions::instance()->wglGetSwapIntervalEXT();
18792 }
18793
18794 // WGL_NV_video_out functions:
18795
18797 inline BOOL WGLGetVideoDevice(HDC hDC, INT iVideoStreams, HPVIDEODEVICE* phpVideoDevice)
18798 {
18799   NVSG_GL_STATS_FCT_COUNT();
18800   NVSG_ASSERT( theWGLFunctions::instance()->wglGetVideoDeviceNV );
18801   return theWGLFunctions::instance()->wglGetVideoDeviceNV(hDC, iVideoStreams, phpVideoDevice);
18802 }
18803
18805 inline BOOL WGLReleaseVideoDevice(HPVIDEODEVICE hpVideoDevice)
18806 {
18807   NVSG_GL_STATS_FCT_COUNT();
18808   NVSG_ASSERT( theWGLFunctions::instance()->wglReleaseVideoDeviceNV );
18809   return theWGLFunctions::instance()->wglReleaseVideoDeviceNV(hpVideoDevice);
18810 }
18811
18813 inline BOOL WGLBindVideoImage(HPVIDEODEVICE hpVideoDevice, HPBUFFERARB hPbuffer, INT iVideoBuffer)
18814 {
18815   NVSG_GL_STATS_FCT_COUNT();
18816   NVSG_ASSERT( theWGLFunctions::instance()->wglBindVideoImageNV );
18817   return theWGLFunctions::instance()->wglBindVideoImageNV(hpVideoDevice, hPbuffer, iVideoBuffer);
18818 }
18819
18821 inline BOOL WGLReleaseVideoImage(HPBUFFERARB hPbuffer, INT iVideoBuffer)
18822 {
18823   NVSG_GL_STATS_FCT_COUNT();
18824   NVSG_ASSERT( theWGLFunctions::instance()->wglReleaseVideoImageNV );
18825   return theWGLFunctions::instance()->wglReleaseVideoImageNV(hPbuffer, iVideoBuffer);
18826 }
18827
18829 inline BOOL WGLSendPbufferToVideo(HPBUFFERARB hPbuffer, INT iBufferType, unsigned long * pulCounterPbuffer, BOOL bBlock)
18830 {
18831   NVSG_GL_STATS_FCT_COUNT();
18832   NVSG_ASSERT( theWGLFunctions::instance()->wglSendPbufferToVideoNV );
18833   return theWGLFunctions::instance()->wglSendPbufferToVideoNV(hPbuffer, iBufferType, pulCounterPbuffer, bBlock);
18834 }
18835
18837 inline BOOL WGLGetVideoInfo(HPVIDEODEVICE hpVideoDevice, unsigned long * pulCounterOutputVideo, unsigned long * pulCounterOutputPbuffer)
18838 {
18839   NVSG_GL_STATS_FCT_COUNT();
18840   NVSG_ASSERT( theWGLFunctions::instance()->wglGetVideoInfoNV );
18841   return theWGLFunctions::instance()->wglGetVideoInfoNV(hpVideoDevice, pulCounterOutputVideo, pulCounterOutputPbuffer);
18842 }
18843
18844 // WGL_NV_present_video
18846 inline int WGLEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList)
18847 {
18848   NVSG_GL_STATS_FCT_COUNT();
18849   NVSG_ASSERT( theWGLFunctions::instance()->wglEnumerateVideoDevicesNV );
18850   return theWGLFunctions::instance()->wglEnumerateVideoDevicesNV(hDC, phDeviceList);
18851 }
18852
18854 inline BOOL WGLBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList)
18855 {
18856   NVSG_GL_STATS_FCT_COUNT();
18857   NVSG_ASSERT( theWGLFunctions::instance()->wglBindVideoDeviceNV );
18858   return theWGLFunctions::instance()->wglBindVideoDeviceNV(hDC, uVideoSlot, hVideoDevice, piAttribList);
18859 }
18860
18862 inline BOOL WGLQueryCurrentContextNV(int iAttribute, int *piValue)
18863 {
18864   NVSG_GL_STATS_FCT_COUNT();
18865   NVSG_ASSERT( theWGLFunctions::instance()->wglQueryCurrentContextNV );
18866   return theWGLFunctions::instance()->wglQueryCurrentContextNV(iAttribute, piValue);
18867 }
18868
18869 // WGL_NV_video_capture
18870 inline BOOL WGLBindVideoCaptureDeviceNV(UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice)
18871 {
18872   NVSG_GL_STATS_FCT_COUNT();
18873   NVSG_ASSERT( theWGLFunctions::instance()->wglBindVideoCaptureDeviceNV );
18874   return theWGLFunctions::instance()->wglBindVideoCaptureDeviceNV(uVideoSlot, hDevice);
18875 }
18876
18877 inline UINT WGLEnumerateVideoCaptureDevicesNV(HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList)
18878 {
18879   NVSG_GL_STATS_FCT_COUNT();
18880   NVSG_ASSERT( theWGLFunctions::instance()->wglEnumerateVideoCaptureDevicesNV );
18881   return theWGLFunctions::instance()->wglEnumerateVideoCaptureDevicesNV(hDc, phDeviceList);
18882 }
18883
18884 inline BOOL WGLLockVideoCaptureDeviceNV(HDC hDc, HVIDEOINPUTDEVICENV hDevice)
18885 {
18886   NVSG_GL_STATS_FCT_COUNT();
18887   NVSG_ASSERT( theWGLFunctions::instance()->wglLockVideoCaptureDeviceNV );
18888   return theWGLFunctions::instance()->wglLockVideoCaptureDeviceNV(hDc, hDevice);
18889 }
18890
18891 inline BOOL WGLQueryVideoCaptureDeviceNV(HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue)
18892 {
18893   NVSG_GL_STATS_FCT_COUNT();
18894   NVSG_ASSERT( theWGLFunctions::instance()->wglQueryVideoCaptureDeviceNV );
18895   return theWGLFunctions::instance()->wglQueryVideoCaptureDeviceNV(hDc, hDevice, iAttribute, piValue);
18896 }
18897
18898 inline BOOL WGLReleaseVideoCaptureDeviceNV(HDC hDc, HVIDEOINPUTDEVICENV hDevice)
18899 {
18900   NVSG_GL_STATS_FCT_COUNT();
18901   NVSG_ASSERT( theWGLFunctions::instance()->wglReleaseVideoCaptureDeviceNV );
18902   return theWGLFunctions::instance()->wglReleaseVideoCaptureDeviceNV(hDc, hDevice);
18903 }
18904
18905 #endif // _WIN32
18906
18907 #if defined(LINUX)
18908
18916 inline bool GLXInitializeExtensions( Display * dpy )
18917 {
18918   if( dpy )
18919   {
18920     return theGLXFunctions::instance()->Init( dpy );
18921   }
18922   else
18923   {
18924     return false;
18925   }
18926 }
18927
18941 inline bool GLXIsExtensionAvailable(const std::string& extstr)
18942 {
18943   return theGLXFunctions::instance()->isAvailable(extstr);
18944 }
18945
18957 inline bool GLXIsExtensionExported(const std::string& extstr)
18958 {
18959   return theGLXFunctions::instance()->isExported(extstr);
18960 }
18961
18963 inline GLXContext GLXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
18964 {
18965   GLXContext ctx = glXCreateContext(dpy, vis, shareList, direct);
18966   GLXAttachContext(dpy, ctx);
18967   if (shareList)
18968   {
18969     GLXNotifyShared( shareList, ctx );
18970   }
18971   return ctx;
18972 }
18973
18975 inline void GLXDestroyContext(Display *dpy, GLXContext ctx)
18976 {
18977   NVSG_GL_STATS_FCT_COUNT();
18978   GLXDetachContext(ctx);
18979   return glXDestroyContext(dpy, ctx);
18980 }
18981
18983 inline GLXContext GLXGetCurrentContext()
18984 {
18985   ASSERT_GL_CURRENT_CONTEXT_CONFORMITY();
18986   return glXGetCurrentContext();
18987 }
18988
18990 inline GLXDrawable GLXGetCurrentDrawable()
18991 {
18992   NVSG_GL_STATS_FCT_COUNT();
18993   return glXGetCurrentDrawable();
18994 }
18995
18996 // GLX_SGI_swap_control
18997 inline NVSG_API int GLXSwapInterval (int value )
18998 {
18999   NVSG_GL_STATS_FCT_COUNT();
19000   NVSG_ASSERT( theGLXFunctions::instance()->glXSwapIntervalSGI );
19001   return theGLXFunctions::instance()->glXSwapIntervalSGI( value );
19002 }
19003
19004 // GLX_SGI_video_sync
19005
19006 inline int GLXGetVideoSync (unsigned int * value)
19007 {
19008   NVSG_GL_STATS_FCT_COUNT();
19009   NVSG_ASSERT( theGLXFunctions::instance()->glXGetVideoSyncSGI );
19010   return theGLXFunctions::instance()->glXGetVideoSyncSGI( value );
19011 }
19012
19013 inline int GLXWaitVideoSync (int divisor, int remainder, unsigned int * cnt)
19014 {
19015   NVSG_GL_STATS_FCT_COUNT();
19016   NVSG_ASSERT( theGLXFunctions::instance()->glXWaitVideoSyncSGI );
19017   return theGLXFunctions::instance()->glXWaitVideoSyncSGI( divisor, remainder,
19018                                                                         cnt );
19019 }
19020
19021 // GLX_NV_swap_group
19022 inline  Bool GLXJoinSwapGroup(Display *dpy, GLXDrawable drawable,
19023                              GLuint group)
19024 {
19025   NVSG_GL_STATS_FCT_COUNT();
19026   NVSG_ASSERT( theGLXFunctions::instance()->glXJoinSwapGroupNV );
19027   return theGLXFunctions::instance()->glXJoinSwapGroupNV(dpy,drawable,group);
19028 }
19029
19030 inline  Bool GLXBindSwapBarrier(Display *dpy, GLuint group,
19031                                                             GLuint barrier)
19032 {
19033   NVSG_GL_STATS_FCT_COUNT();
19034   NVSG_ASSERT( theGLXFunctions::instance()->glXBindSwapBarrierNV );
19035   return theGLXFunctions::instance()->glXBindSwapBarrierNV(dpy,group,barrier);
19036 }
19037
19038 inline  Bool GLXQuerySwapGroup(Display *dpy, GLXDrawable drawable,
19039                               GLuint *group, GLuint *barrier)
19040 {
19041   NVSG_GL_STATS_FCT_COUNT();
19042   NVSG_ASSERT( theGLXFunctions::instance()->glXQuerySwapGroupNV );
19043   return theGLXFunctions::instance()->glXQuerySwapGroupNV(dpy,drawable,group,
19044                                                                       barrier);
19045 }
19046
19047 inline  Bool GLXQueryMaxSwapGroups(Display *dpy, int screen,
19048                                   GLuint *maxGroups, GLuint *maxBarriers)
19049 {
19050   NVSG_GL_STATS_FCT_COUNT();
19051   NVSG_ASSERT( theGLXFunctions::instance()->glXQueryMaxSwapGroupsNV );
19052   return theGLXFunctions::instance()->glXQueryMaxSwapGroupsNV(dpy, screen,
19053                                                   maxGroups, maxBarriers );
19054 }
19055
19056 inline  Bool GLXQueryFrameCount(Display *dpy, int screen, GLuint *count)
19057 {
19058   NVSG_GL_STATS_FCT_COUNT();
19059   NVSG_ASSERT( theGLXFunctions::instance()->glXQueryFrameCountNV );
19060   return theGLXFunctions::instance()->glXQueryFrameCountNV(dpy, screen, count );
19061 }
19062
19063 inline  Bool GLXResetFrameCount(Display *dpy, int screen)
19064 {
19065   NVSG_GL_STATS_FCT_COUNT();
19066   NVSG_ASSERT( theGLXFunctions::instance()->glXResetFrameCountNV );
19067   return theGLXFunctions::instance()->glXResetFrameCountNV(dpy, screen );
19068 }
19069
19070
19071 // GLX_NV_video_out
19072 inline  int GLXGetVideoDevice(Display *dpy, int screen,
19073                               int numVideoDevices,
19074                              GLXVideoDeviceNV *pVideoDevice)
19075 {
19076   NVSG_GL_STATS_FCT_COUNT();
19077   NVSG_ASSERT( theGLXFunctions::instance()->glXGetVideoDeviceNV );
19078   return theGLXFunctions::instance()->glXGetVideoDeviceNV( dpy, screen,
19079                                               numVideoDevices, pVideoDevice );
19080 }
19081
19082 inline  int GLXReleaseVideoDevice(Display *dpy, int screen,
19083                                  GLXVideoDeviceNV VideoDevice)
19084 {
19085   NVSG_GL_STATS_FCT_COUNT();
19086   NVSG_ASSERT( theGLXFunctions::instance()->glXReleaseVideoDeviceNV );
19087   return theGLXFunctions::instance()->glXReleaseVideoDeviceNV(dpy,screen,
19088                                                                 VideoDevice);
19089 }
19090
19091 inline  int GLXBindVideoImage(Display *dpy,
19092                              GLXVideoDeviceNV VideoDevice,
19093                              GLXPbuffer pbuf, int iVideoBuffer)
19094 {
19095   NVSG_GL_STATS_FCT_COUNT();
19096   NVSG_ASSERT( theGLXFunctions::instance()->glXBindVideoImageNV );
19097   return theGLXFunctions::instance()->glXBindVideoImageNV(dpy, VideoDevice,pbuf,
19098                                                                 iVideoBuffer);
19099 }
19100
19101 inline  int GLXReleaseVideoImage(Display *dpy, GLXPbuffer pbuf)
19102 {
19103   NVSG_GL_STATS_FCT_COUNT();
19104   NVSG_ASSERT( theGLXFunctions::instance()->glXReleaseVideoImageNV );
19105   return theGLXFunctions::instance()->glXReleaseVideoImageNV(dpy,pbuf);
19106 }
19107
19108 inline  int GLXSendPbufferToVideo(Display *dpy, GLXPbuffer pbuf,
19109                                  int iBufferType,
19110                                  unsigned long *pulCounterPbuffer,
19111                                  GLboolean bBlock)
19112 {
19113   NVSG_GL_STATS_FCT_COUNT();
19114   NVSG_ASSERT( theGLXFunctions::instance()->glXSendPbufferToVideoNV );
19115   return theGLXFunctions::instance()->glXSendPbufferToVideoNV(dpy,pbuf,
19116                                     iBufferType, pulCounterPbuffer, bBlock );
19117 }
19118
19119 inline  int GLXGetVideoInfo(Display *dpy, int screen,
19120                            GLXVideoDeviceNV VideoDevice,
19121                            unsigned long *pulCounterOutputVideo,
19122                            unsigned long *pulCounterOutputPbuffer)
19123 {
19124   NVSG_GL_STATS_FCT_COUNT();
19125   NVSG_ASSERT( theGLXFunctions::instance()->glXGetVideoInfoNV );
19126   return theGLXFunctions::instance()->glXGetVideoInfoNV(dpy,screen,VideoDevice,
19127                               pulCounterOutputVideo, pulCounterOutputPbuffer );
19128 }
19129
19130 // GLX_EXT_texture_from_pixmap
19131 inline  void GLXBindTexImage (Display *dpy, GLXDrawable d, int buffer,
19132                                           const int * attrList)
19133 {
19134   NVSG_GL_STATS_FCT_COUNT();
19135   NVSG_ASSERT( theGLXFunctions::instance()->glXBindTexImageEXT );
19136   return theGLXFunctions::instance()->glXBindTexImageEXT( dpy, d, buffer,
19137                                                                     attrList );
19138 }
19139
19140 inline  void GLXReleaseTexImage (Display *dpy, GLXDrawable d, int buffer)
19141 {
19142   NVSG_GL_STATS_FCT_COUNT();
19143   NVSG_ASSERT( theGLXFunctions::instance()->glXReleaseTexImageEXT );
19144   return theGLXFunctions::instance()->glXReleaseTexImageEXT( dpy, d, buffer );
19145 }
19146
19147 // GLX_NV_present_video
19148 inline unsigned int *GLXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements)
19149 {
19150   NVSG_GL_STATS_FCT_COUNT();
19151   NVSG_ASSERT( theGLXFunctions::instance()->glXEnumerateVideoDevicesNV );
19152   return theGLXFunctions::instance()->glXEnumerateVideoDevicesNV(dpy, screen, nelements);
19153 }
19154
19155 inline int GLXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list)
19156 {
19157   NVSG_GL_STATS_FCT_COUNT();
19158   NVSG_ASSERT( theGLXFunctions::instance()->glXBindVideoDeviceNV );
19159   return theGLXFunctions::instance()->glXBindVideoDeviceNV(dpy, video_slot, video_device, attrib_list);
19160 }
19161
19162 // GLX_NV_video_capture
19163 inline int GLXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device)
19164 {
19165   NVSG_GL_STATS_FCT_COUNT();
19166   NVSG_ASSERT( theGLXFunctions::instance()->glXBindVideoCaptureDeviceNV );
19167   return theGLXFunctions::instance()->glXBindVideoCaptureDeviceNV(dpy, video_capture_slot, device);
19168 }
19169
19170 inline GLXVideoCaptureDeviceNV * GLXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements)
19171 {
19172   NVSG_GL_STATS_FCT_COUNT();
19173   NVSG_ASSERT( theGLXFunctions::instance()->glXEnumerateVideoCaptureDevicesNV );
19174   return theGLXFunctions::instance()->glXEnumerateVideoCaptureDevicesNV(dpy, screen, nelements);
19175 }
19176
19177 inline void GLXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
19178 {
19179   NVSG_GL_STATS_FCT_COUNT();
19180   NVSG_ASSERT( theGLXFunctions::instance()->glXLockVideoCaptureDeviceNV );
19181   theGLXFunctions::instance()->glXLockVideoCaptureDeviceNV(dpy, device);
19182 }
19183
19184 inline int GLXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value)
19185 {
19186   NVSG_GL_STATS_FCT_COUNT();
19187   NVSG_ASSERT( theGLXFunctions::instance()->glXQueryVideoCaptureDeviceNV );
19188   return theGLXFunctions::instance()->glXQueryVideoCaptureDeviceNV(dpy, device, attribute, value);
19189 }
19190
19191 inline void GLXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
19192 {
19193   NVSG_GL_STATS_FCT_COUNT();
19194   NVSG_ASSERT( theGLXFunctions::instance()->glXReleaseVideoCaptureDeviceNV );
19195   theGLXFunctions::instance()->glXReleaseVideoCaptureDeviceNV(dpy, device);
19196 }
19197
19198 #endif // LINUX
19199
19200 enum
19201 {
19202   GL_INVALID_BUFFER_TARGET = -1
19203   // specialized targets for vertex buffers
19204 , GL_VERTEX_BUFFER_INTERLEAVED_GENERIC = 0
19205 , GL_FEEDBACK_BUFFER_INTERLEAVED_GENERIC = 1
19206 , GL_VERTEX_BUFFER_FIRST = GL_VERTEX_BUFFER_INTERLEAVED_GENERIC
19207 , GL_VERTEX_BUFFER_LAST = GL_FEEDBACK_BUFFER_INTERLEAVED_GENERIC
19208 , GL_INDEX_BUFFER_UNSIGNED_BYTE
19209 , GL_INDEX_BUFFER_FIRST = GL_INDEX_BUFFER_UNSIGNED_BYTE
19210 , GL_INDEX_BUFFER_UNSIGNED_SHORT
19211 , GL_INDEX_BUFFER_UNSIGNED_INT
19212 , GL_INDEX_BUFFER_LAST = GL_INDEX_BUFFER_UNSIGNED_INT
19213 , GL_NUM_BUFFER_TARGETS
19214 };
19215
19217
19219 NVSG_API void GLGenVertexBuffer(GLenum target, GLsizeiptr size, GLuint * buffer);
19220
19222
19224 NVSG_API void GLGenIndexBuffer(GLenum target, GLsizeiptr size, GLuint * buffer);
19225
19227
19230 NVSG_API void GLDeleteVertexBuffer(GLuint buffer);
19231
19233
19236 NVSG_API void GLDeleteIndexBuffer(GLuint buffer);
19237
19239
19241 NVSG_API void GLBindVertexBuffer(GLuint buffer);
19242
19244
19247 NVSG_API void GLBindTransformFeedbackBuffer(GLuint index, GLuint buffer, GLuint offset);
19248
19250
19252 NVSG_API void GLBindIndexBuffer(GLuint buffer);
19253
19255
19261 NVSG_API void GLUploadBuffers();
19262
19264
19276 NVSG_API GLvoid * GLMapVertexBuffer(GLuint buffer);
19277
19279
19291 NVSG_API GLvoid * GLMapIndexBuffer(GLuint buffer);
19292
19294
19301 NVSG_API GLboolean GLUnmapVertexBuffer(GLuint buffer);
19302
19304
19311 NVSG_API GLboolean GLUnmapIndexBuffer(GLuint buffer);
19312
19314
19318 NVSG_API GLuint64EXT GLGetBufferAddress(GLuint buffer);
19319
19321
19325 NVSG_API GLsizeiptr GLGetBufferSize(GLuint buffer);
19326
19328
19331 NVSG_API GLsizeiptr GLGetVertexBufferOffset(GLuint buffer);
19332
19333
19335
19337 NVSG_API void GLBuildVertexBufferCache( nvgl::GLArrayBufferCache * vi,
19338                                    GLuint whichBuffer,
19339                                    const nvsg::VertexAttributeSet * vas );
19340 NVSG_API void GLFillVertexBufferCache( nvgl::GLArrayBufferCache * vi, GLuint whichBuffer
19341                                       , const nvsg::VertexAttributeSet * vas );
19342
19343 NVSG_API void GLBuildIndexBufferCache( nvgl::GLElementArrayBufferCache* vi,
19344       unsigned int numStrips, const nvsg::IndexList * strips,
19345       bool primitiveRestartSupport );
19346
19347 NVSG_API void GLBuildIndexBufferCache( nvgl::GLElementArrayBufferCache* vi,
19348       unsigned int numIndices, const unsigned int * indices );
19349
19350 NVSG_API void GLBuildIndexBufferCache( nvgl::GLElementArrayBufferCache* vi,
19351       unsigned int numIndices, const void * indices );
19352
19353
19355
19358 NVSG_API GLsizeiptr GLGetIndexBufferOffset(GLuint buffer);
19359
19361
19363 NVSG_API GLboolean GLIsVertexBuffer(GLuint buffer);
19364
19366
19368 NVSG_API GLboolean GLIsIndexBuffer(GLuint buffer);
19369
19370 #if !defined(DOXYGEN_IGNORE)
19371 inline void _GLDisable( GLenum cap )
19372 {
19373   NVSG_GL_STATS_STATE( cap, false );
19374   glDisable( cap );
19375   ASSERT_GL_NO_ERROR;
19376 }
19377
19378 inline void _GLDisableClientState( GLenum array )
19379 {
19380   NVSG_GL_STATS_CLIENT_STATE( array, false );
19381   glDisableClientState( array );
19382   ASSERT_GL_NO_ERROR;
19383 }
19384
19385 inline void _GLEnable( GLenum cap )
19386 {
19387   NVSG_GL_STATS_STATE( cap, true );
19388   glEnable( cap );
19389   ASSERT_GL_NO_ERROR;
19390 }
19391
19392 inline void _GLEnableClientState( GLenum array )
19393 {
19394   NVSG_GL_STATS_CLIENT_STATE( array, true );
19395   glEnableClientState( array );
19396   ASSERT_GL_NO_ERROR;
19397 }
19398
19399 inline  void  _GLFogf( GLenum pname, GLfloat param )
19400 {
19401   NVSG_GL_STATS_FCT_COUNT();
19402   glFogf( pname, param );
19403   ASSERT_GL_NO_ERROR;
19404 }
19405
19406 inline  void  _GLFogfv( GLenum pname, const GLfloat * params )
19407 {
19408   NVSG_GL_STATS_FCT_COUNT();
19409   glFogfv( pname, params );
19410   ASSERT_GL_NO_ERROR;
19411 }
19412
19413 inline  void  _GLFogi( GLenum pname, GLint param )
19414 {
19415   NVSG_GL_STATS_FCT_COUNT();
19416   glFogi(pname, param);
19417   ASSERT_GL_NO_ERROR;
19418 }
19419
19420 inline  void  _GLFogiv( GLenum pname, const GLint * params )
19421 {
19422   NVSG_GL_STATS_FCT_COUNT();
19423   glFogiv(pname, params);
19424   ASSERT_GL_NO_ERROR;
19425 }
19426
19427 inline GLboolean _GLIsEnabled( GLenum cap )
19428 {
19429   NVSG_GL_STATS_FCT_COUNT();
19430   GLboolean isEnabled = glIsEnabled( cap );
19431   ASSERT_GL_NO_ERROR;
19432   return( isEnabled );
19433 }
19434
19435 inline  void  _GLLightf( GLenum light, GLenum pname, GLfloat param )
19436 {
19437   NVSG_GL_STATS_LIGHTF( light, pname, param );
19438   glLightf( light, pname, param );
19439   ASSERT_GL_NO_ERROR;
19440 }
19441
19442 inline void _GLLightfv( GLenum light, GLenum pname, const GLfloat *params )
19443 {
19444   NVSG_GL_STATS_LIGHTFV( light, pname, params );
19445   glLightfv( light, pname, params );
19446   ASSERT_GL_NO_ERROR;
19447 }
19448
19449 inline void _GLLighti( GLenum light, GLenum pname, GLint param )
19450 {
19451   NVSG_GL_STATS_LIGHTI( light, pname, param );
19452   glLighti( light, pname, param );
19453   ASSERT_GL_NO_ERROR;
19454 }
19455
19456 inline void _GLLightiv( GLenum light, GLenum pname, GLint *params )
19457 {
19458   NVSG_GL_STATS_LIGHTIV( light, pname, params );
19459   glLightiv( light, pname, params );
19460   ASSERT_GL_NO_ERROR;
19461 }
19462
19463 inline void _GLLightModelf( GLenum pname, GLfloat param )
19464 {
19465   NVSG_GL_STATS_LIGHT_MODELF( pname, param );
19466   glLightModelf( pname, param );
19467   ASSERT_GL_NO_ERROR;
19468 }
19469
19470 inline void _GLLightModelfv( GLenum pname, const GLfloat *params )
19471 {
19472   NVSG_GL_STATS_LIGHT_MODELFV( pname, params );
19473   glLightModelfv( pname, params );
19474   ASSERT_GL_NO_ERROR;
19475 }
19476
19477 inline void _GLLightModeli( GLenum pname, GLint param )
19478 {
19479   NVSG_GL_STATS_LIGHT_MODELI( pname, param );
19480   glLightModeli( pname, param );
19481   ASSERT_GL_NO_ERROR;
19482 }
19483
19484 inline void _GLLightModeliv( GLenum pname, const GLint *params )
19485 {
19486   NVSG_GL_STATS_LIGHT_MODELIV( pname, params );
19487   glLightModeliv( pname, params );
19488   ASSERT_GL_NO_ERROR;
19489 }
19490
19491 inline  void  _GLMaterialf( GLenum face, GLenum pname, GLfloat param )
19492 {
19493   NVSG_GL_STATS_MATERIALF( face, pname, param );
19494   glMaterialf( face, pname, param );
19495   ASSERT_GL_NO_ERROR;
19496 }
19497
19498 inline void _GLMaterialfv( GLenum face, GLenum pname, const GLfloat *params )
19499 {
19500   NVSG_GL_STATS_MATERIALFV( face, pname, params );
19501   glMaterialfv( face, pname, params );
19502   ASSERT_GL_NO_ERROR;
19503 }
19504
19505 inline void _GLMateriali( GLenum face, GLenum pname, GLint param )
19506 {
19507   NVSG_GL_STATS_MATERIALI( face, pname, param );
19508   glMateriali( face, pname, param );
19509   ASSERT_GL_NO_ERROR;
19510 }
19511
19512 inline void _GLMaterialiv( GLenum face, GLenum pname, const GLint *params )
19513 {
19514   NVSG_GL_STATS_MATERIALIV( face, pname, params );
19515   glMaterialiv( face, pname, params );
19516   ASSERT_GL_NO_ERROR;
19517 }
19518
19519 inline void _GLPolygonMode( GLenum face, GLenum mode )
19520 {
19521   NVSG_GL_STATS_POLYGON_MODE( face, mode );
19522   glPolygonMode( face, mode );
19523   ASSERT_GL_NO_ERROR;
19524 }
19525
19526 inline  void  _GLTexEnvf( GLenum target, GLenum pname, GLfloat param )
19527 {
19528   NVSG_GL_STATS_TEX_ENVF( target, pname, param );
19529   glTexEnvf( target, pname, param );
19530   ASSERT_GL_NO_ERROR;
19531 }
19532
19533 inline void _GLTexEnvfv( GLenum target, GLenum pname, const GLfloat *params )
19534 {
19535   NVSG_GL_STATS_TEX_ENVFV( target, pname, params );
19536   glTexEnvfv( target, pname, params );
19537   ASSERT_GL_NO_ERROR;
19538 }
19539
19540 inline void _GLTexEnvi( GLenum target, GLenum pname, GLint param )
19541 {
19542   NVSG_GL_STATS_TEX_ENVI( target, pname, param );
19543   glTexEnvi( target, pname, param );
19544   ASSERT_GL_NO_ERROR;
19545 }
19546
19547 inline void _GLTexEnviv( GLenum target, GLenum pname, const GLint *params )
19548 {
19549   NVSG_GL_STATS_TEX_ENVIV( target, pname, params );
19550   glTexEnviv( target, pname, params );
19551   ASSERT_GL_NO_ERROR;
19552 }
19553
19554 inline  void  _GLTexParameterf( GLenum target, GLenum pname, GLfloat param )
19555 {
19556   NVSG_GL_STATS_TEX_PARAMETERF( target, pname, param );
19557   glTexParameterf( target, pname, param );
19558   ASSERT_GL_NO_ERROR;
19559 }
19560
19561 inline void _GLTexParameterfv( GLenum target, GLenum pname, const GLfloat *params )
19562 {
19563   NVSG_GL_STATS_TEX_PARAMETERFV( target, pname, params );
19564   glTexParameterfv( target, pname, params );
19565   ASSERT_GL_NO_ERROR;
19566 }
19567
19568 inline void _GLTexParameteri( GLenum target, GLenum pname, GLint param )
19569 {
19570   NVSG_GL_STATS_TEX_PARAMETERI( target, pname, param );
19571   glTexParameteri( target, pname, param );
19572   ASSERT_GL_NO_ERROR;
19573 }
19574
19575 inline void _GLTexParameteriv( GLenum target, GLenum pname, const GLint *params )
19576 {
19577   NVSG_GL_STATS_TEX_PARAMETERIV( target, pname, params );
19578   glTexParameteriv( target, pname, params );
19579   ASSERT_GL_NO_ERROR;
19580 }
19581
19582 #if defined( GL_CACHING )
19583
19584 inline  void  _GLUpdateActiveTexture( void )
19585 {
19586   GLContext * ctx = glContext();
19587   if ( ctx->m_textureAttributes.m_toActivate != ctx->m_textureAttributes.m_active )
19588   {
19589 #if !defined(NDEBUG)
19590     GLint at;
19591     glGetIntegerv( GL_ACTIVE_TEXTURE, &at );
19592     NVSG_ASSERT( at == GL_TEXTURE0 + ctx->m_textureAttributes.m_active );
19593 #endif
19594     ctx->m_textureAttributes.m_active = ctx->m_textureAttributes.m_toActivate;
19595     NVSG_GL_STATS_ACTIVE_TEXTURE( GL_TEXTURE0 + ctx->m_textureAttributes.m_active );
19596     ctx->m_glFunctions->glActiveTexture( GL_TEXTURE0 + ctx->m_textureAttributes.m_active );
19597   }
19598 }
19599
19600 inline  void  _GLUpdateClientActiveTexture( void )
19601 {
19602   GLContext * ctx = glContext();
19603   if ( ctx->m_vertexArrayAttributes.m_clientTextureToActivate != ctx->m_vertexArrayAttributes.m_clientTextureActive )
19604   {
19605 #if !defined(NDEBUG)
19606     GLint cat;
19607     glGetIntegerv( GL_CLIENT_ACTIVE_TEXTURE, &cat );
19608     NVSG_ASSERT( cat == GL_TEXTURE0 + ctx->m_vertexArrayAttributes.m_clientTextureActive );
19609 #endif
19610     ctx->m_vertexArrayAttributes.m_clientTextureActive = ctx->m_vertexArrayAttributes.m_clientTextureToActivate;
19611     NVSG_GL_STATS_CLIENT_ACTIVE_TEXTURE( GL_TEXTURE0 + ctx->m_vertexArrayAttributes.m_clientTextureActive );
19612     ctx->m_glFunctions->glClientActiveTexture( GL_TEXTURE0 + ctx->m_vertexArrayAttributes.m_clientTextureActive );
19613   }
19614 }
19615
19616 #endif
19617
19618 #endif // DOXYGEN_IGNORE
19619
19620 } // namespace nvgl
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLDALData.h File Reference

inc / nvsg / nvgl

GLDALData.h File Reference

#include "nvsg/DAL.h"
#include "nvgl/GLContext.h"
#include "nvsg/VertexAttributeSet.h"
#include <vector>
#include <set>

Include dependency graph for GLDALData.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvgl

Enumerations

enum | { GL_BUFFER = 0x00000001, GL_DL = 0x00000002, GL_TEX = 0x00000004 }

Detailed Description

Generated on Fri Jul 13 13:27:29 2012 for SceniX


SceniX: GLDALData.h Source File

inc / nvsg / nvgl

GLDALData.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/DAL.h"
00016 #include "nvgl/GLContext.h"
00017 #include "nvsg/VertexAttributeSet.h"
00018 #include <vector>
00019 #include <set>
00020
00021 namespace nvgl
00022 {
00023   // interface to provide lazy cleanup of dangling GL resources
00024   class GLResourceDeleter
00025   {
00026   public:
00027     GLResourceDeleter(GLsizei n, GLuint * names) : m_names(&names[0], &names[n]) {}
00028     virtual ~GLResourceDeleter() {}
00029     virtual void release() { m_names.clear(); delete this; }
00030   protected:
00031     std::vector<GLuint> m_names;
00032   };
00033
00034   // identifier for device abstraction layer data
00035   enum
00036   {
00037     GL_BUFFER = 0x00000001
00038     , GL_DL  = 0x00000002
00039     , GL_TEX = 0x00000004
00040   };
00041
00042   class GLDALDataCreator : public nvsg::DALDataCreator
00043   {
00044   public:
00045     NVSG_API ~GLDALDataCreator();
00046     NVSG_API void onReleaseDAL(nvsg::HDAL); // overrides DALDataCreator::onReleaseDAL
00047     NVSG_API void exit();  // performs cleanup on exit
00048
00049     // add/release lists
00050     NVSG_API void addDisplayList(nvsg::HDAL);
00051     NVSG_API void releaseDisplayLists();
00052     // add/release buffers
00053     NVSG_API void addBuffer(nvsg::HDAL);
00054     NVSG_API void releaseBuffers();
00055     // add/release textures
00056     NVSG_API void addTexture(nvsg::HDAL);
00057     NVSG_API void releaseTextures();
00058     // add/release dangling resources
00059     NVSG_API void addDanglingResource(GLResourceDeleter*);
00060     NVSG_API void releaseDanglingResources();
00061
00062   private:
00063
00064     // DAL resources
00065     std::set<nvsg::HDAL> m_lists;
00066     std::set<nvsg::HDAL> m_buffers;
00067     std::set<nvsg::HDAL> m_textures;
00068
00069     // dangling resource management
00070     nvutil::SWMRSync m_lock;
00071     void enterCS() { m_lock.lockExclusive(); }
00072     void leaveCS() { m_lock.unlockExclusive(); }
00073     std::vector<GLResourceDeleter*> m_danglingResources;
00074   };
00075
00076   struct GLDALData : public nvsg::DALData
00077   {
00078     NVSG_API GLDALData(GLDALDataCreator * _creator);
00079     NVSG_API virtual ~GLDALData();
00080
00081     virtual bool isTypeOf( int typeId ) const
00082     {
00083       return (typeId == DT_GLDALDATA) || DALData::isTypeOf( typeId );
00084     }
00085
00086     GLContext * context;
00087     GLDALDataCreator * creator;
00088   };
00089
00090   // DAL data carrying device dependent texture IDs
00091   struct GLTextureCache : public GLDALData
00092   {
00093     NVSG_API GLTextureCache(GLDALDataCreator * creator);
00094     NVSG_API GLTextureCache(GLDALDataCreator * creator, GLuint tex, GLenum tgt);
00095     NVSG_API ~GLTextureCache();
00096
00097     virtual bool isTypeOf( int typeId ) const
00098     {
00099       return (typeId == DT_GLDALDATA) || GLDALData::isTypeOf( typeId );
00100     }
00101
00102     struct Deleter : public GLResourceDeleter
00103     {
00104       Deleter(GLuint name) : GLResourceDeleter(1, &name) {}
00105       void release();
00106     };
00107
00108     struct GLImageFormat
00109     {
00110       GLImageFormat()
00111         : levels(~0)
00112         , width(0)
00113         , height(0)
00114         , depth(0)
00115         , format(~0)
00116         , intfmt(~0)
00117         , type(~0)
00118       {}
00119
00120       GLsizei levels; // # mipmap levels specfied
00121       GLsizei width;  // width of level 0 image in pixels
00122       GLsizei height; // height of level 0 image in pixels
00123       GLsizei depth;  // depth of level 0 image in pixels
00124       GLenum  format; // user format identifier
00125       GLenum  intfmt; // internal format
00126       GLenum  type;   // data type identifier
00127     };
00128
00129     GLuint  texture; // GL name of the texture object
00130     GLenum  target;  // texture target
00131     GLImageFormat imgFmt; // describes the image as specified by GLTexImage.
00132                           // this is going to be evaluated for re-use purposes
00133   };
00134
00135   struct GLDisplayListCache : public GLDALData
00136   {
00137     NVSG_API GLDisplayListCache(GLDALDataCreator * creator);
00138     NVSG_API ~GLDisplayListCache();
00139
00140     virtual bool isTypeOf( int typeId ) const
00141     {
00142       return (typeId == DT_GLDISPLAYLISTCACHE) || GLDALData::isTypeOf( typeId );
00143     }
00144
00145     struct Deleter : public GLResourceDeleter
00146     {
00147       Deleter(GLuint name) : GLResourceDeleter(1, &name) {}
00148       void release();
00149     };
00150
00151     GLuint listID;
00152   };
00153
00154   struct GLArrayBufferCache : public GLDALData
00155   {
00156     GLArrayBufferCache(GLDALDataCreator * creator);
00157     ~GLArrayBufferCache();
00158
00159     virtual bool isTypeOf( int typeId ) const
00160     {
00161       return (typeId == DT_GLARRAYBUFFERCACHE) || GLDALData::isTypeOf( typeId );
00162     }
00163
00164     struct Deleter : public GLResourceDeleter
00165     {
00166       // not sure how to fix this for the moment
00167       Deleter(GLuint * names) : GLResourceDeleter(2, names) {}
00168       void release();
00169     };
00170
00171     struct {
00172       GLuint vbo;         // vertex buffer identifier
00173       // how do we delete this?
00174       GLsizei stride;  // byte offset between consecutive vertex attribute data of same type
00175       GLsizeiptr size;    // buffer size
00176       struct AttrTraits {
00177         AttrTraits() : offs(0), addrRange(0), size(0), type(GL_INVALID_VALUE) {}
00178         GLsizeiptr offs; // offset inside buffer
00179         GLsizeiptr addrRange; // address range inside buffer (vertex_buffer_unified_memory related)
00180         GLint size; // attribute size (i.e. # components)
00181         GLenum type; // attribute type
00182       };
00183       AttrTraits attr[nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT]; // per vertex attribute traits
00184     } vbo[2];
00185
00186     GLuint target;
00187
00188     nvutil::Incarnation incarnation; // incarnation of VAS when creating this cache
00189   };
00190
00191   struct GLElementArrayBufferCache : public GLDALData
00192   {
00193     GLElementArrayBufferCache(GLDALDataCreator * creator);
00194     ~GLElementArrayBufferCache();
00195
00196     virtual bool isTypeOf( int typeId ) const
00197     {
00198       return (typeId == DT_GLELEMENTARRAYBUFFERCACHE) || GLDALData::isTypeOf( typeId );
00199     }
00200
00201     struct Deleter : public GLResourceDeleter
00202     {
00203       Deleter(GLuint name) : GLResourceDeleter(1, &name) {}
00204       void release();
00205     };
00206
00207     GLuint ibo;   // index buffer identifier
00208     GLsizeiptr size; // buffer size
00209     GLsizeiptr indexOffset; // offest into index buffer
00210     GLenum indexType;      // type used with indices (either GL_UNSIGNED_INT or GL_UNSIGNED_SHORT)
00211     GLsizei numIndices;     // total number of indices
00212     GLuint  startIndex;   // start - end range for glDrawRangeElements
00213     GLuint  endIndex;     // ...
00214     // multi draw elements related
00215     GLvoid ** primitiveOffsets;    // per primitive offset into index buffer
00216     GLsizei * primitiveIndexCount; // per primitive index count
00217   };
00218
00219   struct GLPixelBufferCache : public GLDALData
00220   {
00221     GLPixelBufferCache(GLDALDataCreator * creator);
00222     ~GLPixelBufferCache();
00223
00224     virtual bool isTypeOf( int typeId ) const
00225     {
00226       return (typeId == DT_GLPIXELBUFFERCACHE) || GLDALData::isTypeOf( typeId );
00227     }
00228
00229     struct Deleter : public GLResourceDeleter
00230     {
00231       Deleter(GLuint * names) : GLResourceDeleter(2, names) {}
00232       void release();
00233     };
00234
00235     GLuint pbo[2];
00236     GLint  target; // 0 or 1, toggling
00237   };
00238
00239 }
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLFunctions.h File Reference

inc / nvsg / nvgl

GLFunctions.h File Reference

#include "nvsgcommon.h"
#include "nvgl/nvgl.h"
#include <set>
#include <string>

Include dependency graph for GLFunctions.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvgl

Typedefs

typedef nvutil::Singleton<
WGLFunctions > 		theWGLFunctions
typedef nvutil::Singleton<
GLXFunctions > 		theGLXFunctions

Detailed Description

Generated on Fri Jul 13 13:27:30 2012 for SceniX


SceniX: GLFunctions.h Source File

inc / nvsg / nvgl

GLFunctions.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2012
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvgl/nvgl.h"
00017
00018 #include  <set>
00019 #include  <string>
00020
00021 namespace nvgl
00022 {
00023
00025
00030   class GLFunctions
00031   {
00032     public:
00034 #if defined(_WIN32)
00035       GLFunctions( void );
00036 #elif defined(LINUX)
00037       GLFunctions( Display* dpy );
00038 #endif
00039
00041       ~GLFunctions( void );
00042
00044
00048       bool  isAvailable( const std::string& extension
00049                        ) const;
00050
00052
00055       bool  isExported( const std::string& extension
00056                       ) const;
00057
00059
00062       void  disableAvailability( const std::string& extension );
00063
00065
00068       int getVersion() const;
00069
00070     public:
00071 //  Don't need to document all these wrapper functions !!!
00072 #if ! defined( DOXYGEN_IGNORE )
00073       //  version 1.2 functions
00074       //
00075       //
00076       //
00077       //
00078       PFNGLBLENDCOLORPROC                         glBlendColor;
00079       PFNGLBLENDEQUATIONPROC                      glBlendEquation;
00080       PFNGLCOLORTABLEPROC                         glColorTable;
00081       PFNGLCOLORTABLEPARAMETERFVPROC              glColorTableParameterfv;
00082       PFNGLCOLORTABLEPARAMETERIVPROC              glColorTableParameteriv;
00083       PFNGLCOPYCOLORTABLEPROC                     glCopyColorTable;
00084       PFNGLCOPYTEXSUBIMAGE3DPROC                  glCopyTexSubImage3D;
00085       PFNGLDRAWRANGEELEMENTSPROC                  glDrawRangeElements;
00086       PFNGLGETCOLORTABLEPROC                      glGetColorTable;
00087       PFNGLGETCOLORTABLEPARAMETERFVPROC           glGetColorTableParameterfv;
00088       PFNGLGETCOLORTABLEPARAMETERIVPROC           glGetColorTableParameteriv;
00089       PFNGLTEXIMAGE3DPROC                         glTexImage3D;
00090       PFNGLTEXSUBIMAGE3DPROC                      glTexSubImage3D;
00091
00092       //  version 1.3 functions
00093       PFNGLACTIVETEXTUREPROC                      glActiveTexture;
00094       PFNGLCLIENTACTIVETEXTUREPROC                glClientActiveTexture;
00095       PFNGLCOMPRESSEDTEXIMAGE3DPROC               glCompressedTexImage3D;
00096       PFNGLCOMPRESSEDTEXIMAGE2DPROC               glCompressedTexImage2D;
00097       PFNGLCOMPRESSEDTEXIMAGE1DPROC               glCompressedTexImage1D;
00098       PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC            glCompressedTexSubImage3D;
00099       PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC            glCompressedTexSubImage2D;
00100       PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC            glCompressedTexSubImage1D;
00101       PFNGLGETCOMPRESSEDTEXIMAGEPROC              glGetCompressedTexImage;
00102       PFNGLLOADTRANSPOSEMATRIXFPROC               glLoadTransposeMatrixf;
00103       PFNGLLOADTRANSPOSEMATRIXDPROC               glLoadTransposeMatrixd;
00104       PFNGLMULTITEXCOORD1DPROC                    glMultiTexCoord1d;
00105       PFNGLMULTITEXCOORD1DVPROC                   glMultiTexCoord1dv;
00106       PFNGLMULTITEXCOORD1FPROC                    glMultiTexCoord1f;
00107       PFNGLMULTITEXCOORD1FVPROC                   glMultiTexCoord1fv;
00108       PFNGLMULTITEXCOORD1IPROC                    glMultiTexCoord1i;
00109       PFNGLMULTITEXCOORD1IVPROC                   glMultiTexCoord1iv;
00110       PFNGLMULTITEXCOORD1SPROC                    glMultiTexCoord1s;
00111       PFNGLMULTITEXCOORD1SVPROC                   glMultiTexCoord1sv;
00112       PFNGLMULTITEXCOORD2DPROC                    glMultiTexCoord2d;
00113       PFNGLMULTITEXCOORD2DVPROC                   glMultiTexCoord2dv;
00114       PFNGLMULTITEXCOORD2FPROC                    glMultiTexCoord2f;
00115       PFNGLMULTITEXCOORD2FVPROC                   glMultiTexCoord2fv;
00116       PFNGLMULTITEXCOORD2IPROC                    glMultiTexCoord2i;
00117       PFNGLMULTITEXCOORD2IVPROC                   glMultiTexCoord2iv;
00118       PFNGLMULTITEXCOORD2SPROC                    glMultiTexCoord2s;
00119       PFNGLMULTITEXCOORD2SVPROC                   glMultiTexCoord2sv;
00120       PFNGLMULTITEXCOORD3DPROC                    glMultiTexCoord3d;
00121       PFNGLMULTITEXCOORD3DVPROC                   glMultiTexCoord3dv;
00122       PFNGLMULTITEXCOORD3FPROC                    glMultiTexCoord3f;
00123       PFNGLMULTITEXCOORD3FVPROC                   glMultiTexCoord3fv;
00124       PFNGLMULTITEXCOORD3IPROC                    glMultiTexCoord3i;
00125       PFNGLMULTITEXCOORD3IVPROC                   glMultiTexCoord3iv;
00126       PFNGLMULTITEXCOORD3SPROC                    glMultiTexCoord3s;
00127       PFNGLMULTITEXCOORD3SVPROC                   glMultiTexCoord3sv;
00128       PFNGLMULTITEXCOORD4DPROC                    glMultiTexCoord4d;
00129       PFNGLMULTITEXCOORD4DVPROC                   glMultiTexCoord4dv;
00130       PFNGLMULTITEXCOORD4FPROC                    glMultiTexCoord4f;
00131       PFNGLMULTITEXCOORD4FVPROC                   glMultiTexCoord4fv;
00132       PFNGLMULTITEXCOORD4IPROC                    glMultiTexCoord4i;
00133       PFNGLMULTITEXCOORD4IVPROC                   glMultiTexCoord4iv;
00134       PFNGLMULTITEXCOORD4SPROC                    glMultiTexCoord4s;
00135       PFNGLMULTITEXCOORD4SVPROC                   glMultiTexCoord4sv;
00136       PFNGLMULTTRANSPOSEMATRIXFPROC               glMultTransposeMatrixf;
00137       PFNGLMULTTRANSPOSEMATRIXDPROC               glMultTransposeMatrixd;
00138       PFNGLSAMPLECOVERAGEPROC                     glSampleCoverage;
00139
00140       //  version 1.4 functions
00141       PFNGLBLENDFUNCSEPARATEPROC                  glBlendFuncSeparate;
00142       PFNGLFOGCOORDDPROC                          glFogCoordd;
00143       PFNGLFOGCOORDDVPROC                         glFogCoorddv;
00144       PFNGLFOGCOORDFPROC                          glFogCoordf;
00145       PFNGLFOGCOORDFVPROC                         glFogCoordfv;
00146       PFNGLFOGCOORDPOINTERPROC                    glFogCoordPointer;
00147       PFNGLMULTIDRAWARRAYSPROC                    glMultiDrawArrays;
00148       PFNGLMULTIDRAWELEMENTSPROC                  glMultiDrawElements;
00149       PFNGLPOINTPARAMETERFPROC                    glPointParameterf;
00150       PFNGLPOINTPARAMETERFVPROC                   glPointParameterfv;
00151       PFNGLPOINTPARAMETERIPROC                    glPointParameteri;
00152       PFNGLPOINTPARAMETERIVPROC                   glPointParameteriv;
00153       PFNGLSECONDARYCOLOR3BPROC                   glSecondaryColor3b;
00154       PFNGLSECONDARYCOLOR3BVPROC                  glSecondaryColor3bv;
00155       PFNGLSECONDARYCOLOR3DPROC                   glSecondaryColor3d;
00156       PFNGLSECONDARYCOLOR3DVPROC                  glSecondaryColor3dv;
00157       PFNGLSECONDARYCOLOR3FPROC                   glSecondaryColor3f;
00158       PFNGLSECONDARYCOLOR3FVPROC                  glSecondaryColor3fv;
00159       PFNGLSECONDARYCOLOR3IPROC                   glSecondaryColor3i;
00160       PFNGLSECONDARYCOLOR3IVPROC                  glSecondaryColor3iv;
00161       PFNGLSECONDARYCOLOR3SPROC                   glSecondaryColor3s;
00162       PFNGLSECONDARYCOLOR3SVPROC                  glSecondaryColor3sv;
00163       PFNGLSECONDARYCOLOR3UBPROC                  glSecondaryColor3ub;
00164       PFNGLSECONDARYCOLOR3UBVPROC                 glSecondaryColor3ubv;
00165       PFNGLSECONDARYCOLOR3UIPROC                  glSecondaryColor3ui;
00166       PFNGLSECONDARYCOLOR3UIVPROC                 glSecondaryColor3uiv;
00167       PFNGLSECONDARYCOLOR3USPROC                  glSecondaryColor3us;
00168       PFNGLSECONDARYCOLOR3USVPROC                 glSecondaryColor3usv;
00169       PFNGLSECONDARYCOLORPOINTERPROC              glSecondaryColorPointer;
00170       PFNGLWINDOWPOS2DPROC                        glWindowPos2d;
00171       PFNGLWINDOWPOS2FPROC                        glWindowPos2f;
00172       PFNGLWINDOWPOS2IPROC                        glWindowPos2i;
00173       PFNGLWINDOWPOS2SPROC                        glWindowPos2s;
00174       PFNGLWINDOWPOS2DVPROC                       glWindowPos2dv;
00175       PFNGLWINDOWPOS2FVPROC                       glWindowPos2fv;
00176       PFNGLWINDOWPOS2IVPROC                       glWindowPos2iv;
00177       PFNGLWINDOWPOS2SVPROC                       glWindowPos2sv;
00178       PFNGLWINDOWPOS3DPROC                        glWindowPos3d;
00179       PFNGLWINDOWPOS3FPROC                        glWindowPos3f;
00180       PFNGLWINDOWPOS3IPROC                        glWindowPos3i;
00181       PFNGLWINDOWPOS3SPROC                        glWindowPos3s;
00182       PFNGLWINDOWPOS3DVPROC                       glWindowPos3dv;
00183       PFNGLWINDOWPOS3FVPROC                       glWindowPos3fv;
00184       PFNGLWINDOWPOS3IVPROC                       glWindowPos3iv;
00185       PFNGLWINDOWPOS3SVPROC                       glWindowPos3sv;
00186
00187       //  version 1.5 functions
00188       PFNGLBEGINQUERYPROC                         glBeginQuery;
00189       PFNGLBINDBUFFERPROC                         glBindBuffer;
00190       PFNGLBUFFERDATAPROC                         glBufferData;
00191       PFNGLBUFFERSUBDATAPROC                      glBufferSubData;
00192       PFNGLDELETEBUFFERSPROC                      glDeleteBuffers;
00193       PFNGLDELETEQUERIESPROC                      glDeleteQueries;
00194       PFNGLENDQUERYPROC                           glEndQuery;
00195       PFNGLGENBUFFERSPROC                         glGenBuffers;
00196       PFNGLGENQUERIESPROC                         glGenQueries;
00197       PFNGLGETBUFFERPARAMETERIVPROC               glGetBufferParameteriv;
00198       PFNGLGETBUFFERPOINTERVPROC                  glGetBufferPointerv;
00199       PFNGLGETBUFFERSUBDATAPROC                   glGetBufferSubData;
00200       PFNGLGETQUERYOBJECTIVPROC                   glGetQueryObjectiv;
00201       PFNGLGETQUERYOBJECTUIVPROC                  glGetQueryObjectuiv;
00202       PFNGLGETQUERYIVPROC                         glGetQueryiv;
00203       PFNGLISBUFFERPROC                           glIsBuffer;
00204       PFNGLISQUERYPROC                            glIsQuery;
00205       PFNGLMAPBUFFERPROC                          glMapBuffer;
00206       PFNGLUNMAPBUFFERPROC                        glUnmapBuffer;
00207
00208       //  version 2.0 functions
00209       PFNGLATTACHSHADERPROC                       glAttachShader;
00210       PFNGLBINDATTRIBLOCATIONPROC                 glBindAttribLocation;
00211       PFNGLBLENDEQUATIONSEPARATEPROC              glBlendEquationSeparate;
00212       PFNGLCOMPILESHADERPROC                      glCompileShader;
00213       PFNGLCREATEPROGRAMPROC                      glCreateProgram;
00214       PFNGLCREATESHADERPROC                       glCreateShader;
00215       PFNGLDELETEPROGRAMPROC                      glDeleteProgram;
00216       PFNGLDELETESHADERPROC                       glDeleteShader;
00217       PFNGLDETACHSHADERPROC                       glDetachShader;
00218       PFNGLDISABLEVERTEXATTRIBARRAYPROC           glDisableVertexAttribArray;
00219       PFNGLDRAWBUFFERSARBPROC                     glDrawBuffers;
00220       PFNGLENABLEVERTEXATTRIBARRAYPROC            glEnableVertexAttribArray;
00221       PFNGLLINKPROGRAMPROC                        glLinkProgram;
00222       PFNGLGETACTIVEATTRIBPROC                    glGetActiveAttrib;
00223       PFNGLGETACTIVEUNIFORMPROC                   glGetActiveUniform;
00224       PFNGLGETATTACHEDSHADERSPROC                 glGetAttachedShaders;
00225       PFNGLGETATTRIBLOCATIONPROC                  glGetAttribLocation;
00226       PFNGLGETPROGRAMIVPROC                       glGetProgramiv;
00227       PFNGLGETPROGRAMINFOLOGPROC                  glGetProgramInfoLog;
00228       PFNGLGETSHADERIVPROC                        glGetShaderiv;
00229       PFNGLGETSHADERINFOLOGPROC                   glGetShaderInfoLog;
00230       PFNGLGETSHADERSOURCEPROC                    glGetShaderSource;
00231       PFNGLGETUNIFORMFVPROC                       glGetUniformfv;
00232       PFNGLGETUNIFORMIVPROC                       glGetUniformiv;
00233       PFNGLGETUNIFORMLOCATIONPROC                 glGetUniformLocation;
00234       PFNGLGETVERTEXATTRIBDVPROC                  glGetVertexAttribdv;
00235       PFNGLGETVERTEXATTRIBFVPROC                  glGetVertexAttribfv;
00236       PFNGLGETVERTEXATTRIBIVPROC                  glGetVertexAttribiv;
00237       PFNGLGETVERTEXATTRIBPOINTERVPROC            glGetVertexAttribPointerv;
00238       PFNGLISPROGRAMPROC                          glIsProgram;
00239       PFNGLISSHADERPROC                           glIsShader;
00240       PFNGLSHADERSOURCEPROC                       glShaderSource;
00241       PFNGLSTENCILFUNCSEPARATEPROC                glStencilFuncSeparate;
00242       PFNGLSTENCILOPSEPARATEPROC                  glStencilOpSeparate;
00243       PFNGLSTENCILMASKSEPARATEPROC                glStencilMaskSeparate;
00244       PFNGLUNIFORM1FPROC                          glUniform1f;
00245       PFNGLUNIFORM1FVPROC                         glUniform1fv;
00246       PFNGLUNIFORM1IPROC                          glUniform1i;
00247       PFNGLUNIFORM1IVPROC                         glUniform1iv;
00248       PFNGLUNIFORM2FPROC                          glUniform2f;
00249       PFNGLUNIFORM2FVPROC                         glUniform2fv;
00250       PFNGLUNIFORM2IPROC                          glUniform2i;
00251       PFNGLUNIFORM2IVPROC                         glUniform2iv;
00252       PFNGLUNIFORM3FPROC                          glUniform3f;
00253       PFNGLUNIFORM3FVPROC                         glUniform3fv;
00254       PFNGLUNIFORM3IPROC                          glUniform3i;
00255       PFNGLUNIFORM3IVPROC                         glUniform3iv;
00256       PFNGLUNIFORM4FPROC                          glUniform4f;
00257       PFNGLUNIFORM4FVPROC                         glUniform4fv;
00258       PFNGLUNIFORM4IPROC                          glUniform4i;
00259       PFNGLUNIFORM4IVPROC                         glUniform4iv;
00260       PFNGLUNIFORMMATRIX2FVPROC                   glUniformMatrix2fv;
00261       PFNGLUNIFORMMATRIX3FVPROC                   glUniformMatrix3fv;
00262       PFNGLUNIFORMMATRIX4FVPROC                   glUniformMatrix4fv;
00263       PFNGLUSEPROGRAMPROC                         glUseProgram;
00264       PFNGLVALIDATEPROGRAMPROC                    glValidateProgram;
00265       PFNGLVERTEXATTRIB1DPROC                     glVertexAttrib1d;
00266       PFNGLVERTEXATTRIB1DVPROC                    glVertexAttrib1dv;
00267       PFNGLVERTEXATTRIB1FPROC                     glVertexAttrib1f;
00268       PFNGLVERTEXATTRIB1FVPROC                    glVertexAttrib1fv;
00269       PFNGLVERTEXATTRIB1SPROC                     glVertexAttrib1s;
00270       PFNGLVERTEXATTRIB1SVPROC                    glVertexAttrib1sv;
00271       PFNGLVERTEXATTRIB2DPROC                     glVertexAttrib2d;
00272       PFNGLVERTEXATTRIB2DVPROC                    glVertexAttrib2dv;
00273       PFNGLVERTEXATTRIB2FPROC                     glVertexAttrib2f;
00274       PFNGLVERTEXATTRIB2FVPROC                    glVertexAttrib2fv;
00275       PFNGLVERTEXATTRIB2SPROC                     glVertexAttrib2s;
00276       PFNGLVERTEXATTRIB2SVPROC                    glVertexAttrib2sv;
00277       PFNGLVERTEXATTRIB3DPROC                     glVertexAttrib3d;
00278       PFNGLVERTEXATTRIB3DVPROC                    glVertexAttrib3dv;
00279       PFNGLVERTEXATTRIB3FPROC                     glVertexAttrib3f;
00280       PFNGLVERTEXATTRIB3FVPROC                    glVertexAttrib3fv;
00281       PFNGLVERTEXATTRIB3SPROC                     glVertexAttrib3s;
00282       PFNGLVERTEXATTRIB3SVPROC                    glVertexAttrib3sv;
00283       PFNGLVERTEXATTRIB4NBVPROC                   glVertexAttrib4Nbv;
00284       PFNGLVERTEXATTRIB4NIVPROC                   glVertexAttrib4Niv;
00285       PFNGLVERTEXATTRIB4NSVPROC                   glVertexAttrib4Nsv;
00286       PFNGLVERTEXATTRIB4NUBPROC                   glVertexAttrib4Nub;
00287       PFNGLVERTEXATTRIB4NUBVPROC                  glVertexAttrib4Nubv;
00288       PFNGLVERTEXATTRIB4NUIVPROC                  glVertexAttrib4Nuiv;
00289       PFNGLVERTEXATTRIB4NUSVPROC                  glVertexAttrib4Nusv;
00290       PFNGLVERTEXATTRIB4BVPROC                    glVertexAttrib4bv;
00291       PFNGLVERTEXATTRIB4DPROC                     glVertexAttrib4d;
00292       PFNGLVERTEXATTRIB4DVPROC                    glVertexAttrib4dv;
00293       PFNGLVERTEXATTRIB4FPROC                     glVertexAttrib4f;
00294       PFNGLVERTEXATTRIB4FVPROC                    glVertexAttrib4fv;
00295       PFNGLVERTEXATTRIB4IVPROC                    glVertexAttrib4iv;
00296       PFNGLVERTEXATTRIB4SPROC                     glVertexAttrib4s;
00297       PFNGLVERTEXATTRIB4SVPROC                    glVertexAttrib4sv;
00298       PFNGLVERTEXATTRIB4UBVPROC                   glVertexAttrib4ubv;
00299       PFNGLVERTEXATTRIB4UIVPROC                   glVertexAttrib4uiv;
00300       PFNGLVERTEXATTRIB4USVPROC                   glVertexAttrib4usv;
00301       PFNGLVERTEXATTRIBPOINTERPROC                glVertexAttribPointer;
00302
00303       //  version 2.1 functions
00304       PFNGLUNIFORMMATRIX2X3FVPROC                 glUniformMatrix2x3fv;
00305       PFNGLUNIFORMMATRIX2X4FVPROC                 glUniformMatrix2x4fv;
00306       PFNGLUNIFORMMATRIX3X2FVPROC                 glUniformMatrix3x2fv;
00307       PFNGLUNIFORMMATRIX3X4FVPROC                 glUniformMatrix3x4fv;
00308       PFNGLUNIFORMMATRIX4X2FVPROC                 glUniformMatrix4x2fv;
00309       PFNGLUNIFORMMATRIX4X3FVPROC                 glUniformMatrix4x3fv;
00310
00311       //  version 3.0 functions
00312       PFNGLBEGINTRANSFORMFEEDBACKPROC             glBeginTransformFeedback;
00313       PFNGLBINDBUFFERBASEPROC                     glBindBufferBase;
00314       PFNGLBINDBUFFERRANGEPROC                    glBindBufferRange;
00315       PFNGLENDTRANSFORMFEEDBACKPROC               glEndTransformFeedback;
00316       PFNGLGETTRANSFORMFEEDBACKVARYINGPROC        glGetTransformFeedbackVarying;
00317       PFNGLTRANSFORMFEEDBACKVARYINGSPROC          glTransformFeedbackVaryings;
00318
00319       //  GL_ARB_color_buffer_float functions
00320       PFNGLCLAMPCOLORARBPROC                      glClampColor;
00321
00322       //  GL_ARB_fragment_program functions see GL_ARB_vertex_program
00323
00324       //  GL_ARB_imaging functions
00325       PFNGLCOLORSUBTABLEPROC                      glColorSubTable;
00326       PFNGLCOPYCOLORSUBTABLEPROC                  glCopyColorSubTable;
00327       PFNGLCONVOLUTIONFILTER1DPROC                glConvolutionFilter1D;
00328       PFNGLCONVOLUTIONFILTER2DPROC                glConvolutionFilter2D;
00329       PFNGLCONVOLUTIONPARAMETERFPROC              glConvolutionParameterf;
00330       PFNGLCONVOLUTIONPARAMETERFVPROC             glConvolutionParameterfv;
00331       PFNGLCONVOLUTIONPARAMETERIPROC              glConvolutionParameteri;
00332       PFNGLCONVOLUTIONPARAMETERIVPROC             glConvolutionParameteriv;
00333       PFNGLCOPYCONVOLUTIONFILTER1DPROC            glCopyConvolutionFilter1D;
00334       PFNGLCOPYCONVOLUTIONFILTER2DPROC            glCopyConvolutionFilter2D;
00335       PFNGLGETCONVOLUTIONFILTERPROC               glGetConvolutionFilter;
00336       PFNGLGETCONVOLUTIONPARAMETERFVPROC          glGetConvolutionParameterfv;
00337       PFNGLGETCONVOLUTIONPARAMETERIVPROC          glGetConvolutionParameteriv;
00338       PFNGLGETSEPARABLEFILTERPROC                 glGetSeparableFilter;
00339       PFNGLSEPARABLEFILTER2DPROC                  glSeparableFilter2D;
00340       PFNGLGETHISTOGRAMPROC                       glGetHistogram;
00341       PFNGLGETHISTOGRAMPARAMETERFVPROC            glGetHistogramParameterfv;
00342       PFNGLGETHISTOGRAMPARAMETERIVPROC            glGetHistogramParameteriv;
00343       PFNGLGETMINMAXPROC                          glGetMinmax;
00344       PFNGLGETMINMAXPARAMETERFVPROC               glGetMinmaxParameterfv;
00345       PFNGLGETMINMAXPARAMETERIVPROC               glGetMinmaxParameteriv;
00346       PFNGLHISTOGRAMPROC                          glHistogram;
00347       PFNGLMINMAXPROC                             glMinmax;
00348       PFNGLRESETHISTOGRAMPROC                     glResetHistogram;
00349       PFNGLRESETMINMAXPROC                        glResetMinmax;
00350
00351       //  GL_ARB_shader_objects functions
00352       PFNGLATTACHOBJECTARBPROC                    glAttachObjectARB;
00353       PFNGLCREATEPROGRAMOBJECTARBPROC             glCreateProgramObjectARB;
00354       PFNGLCREATESHADEROBJECTARBPROC              glCreateShaderObjectARB;
00355       PFNGLDELETEOBJECTARBPROC                    glDeleteObjectARB;
00356       PFNGLDETACHOBJECTARBPROC                    glDetachObjectARB;
00357       PFNGLGETATTACHEDOBJECTSARBPROC              glGetAttachedObjectsARB;
00358       PFNGLGETHANDLEARBPROC                       glGetHandleARB;
00359       PFNGLGETINFOLOGARBPROC                      glGetInfoLogARB;
00360       PFNGLGETOBJECTPARAMETERFVARBPROC            glGetObjectParameterfvARB;
00361       PFNGLGETOBJECTPARAMETERIVARBPROC            glGetObjectParameterivARB;
00362       PFNGLUSEPROGRAMOBJECTARBPROC                glUseProgramObjectARB;
00363
00364       //  GL_ARB_vertex_program functions
00365       PFNGLBINDPROGRAMARBPROC                     glBindProgramARB;
00366       PFNGLDELETEPROGRAMSARBPROC                  glDeleteProgramsARB;
00367       PFNGLGENPROGRAMSARBPROC                     glGenProgramsARB;
00368       PFNGLGETPROGRAMENVPARAMETERDVARBPROC        glGetProgramEnvParameterdvARB;
00369       PFNGLGETPROGRAMENVPARAMETERFVARBPROC        glGetProgramEnvParameterfvARB;
00370       PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC      glGetProgramLocalParameterdvARB;
00371       PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC      glGetProgramLocalParameterfvARB;
00372       PFNGLGETPROGRAMSTRINGARBPROC                glGetProgramStringARB;
00373       PFNGLPROGRAMENVPARAMETER4DARBPROC           glProgramEnvParameter4dARB;
00374       PFNGLPROGRAMENVPARAMETER4DVARBPROC          glProgramEnvParameter4dvARB;
00375       PFNGLPROGRAMENVPARAMETER4FARBPROC           glProgramEnvParameter4fARB;
00376       PFNGLPROGRAMENVPARAMETER4FVARBPROC          glProgramEnvParameter4fvARB;
00377       PFNGLPROGRAMLOCALPARAMETER4DARBPROC         glProgramLocalParameter4dARB;
00378       PFNGLPROGRAMLOCALPARAMETER4DVARBPROC        glProgramLocalParameter4dvARB;
00379       PFNGLPROGRAMLOCALPARAMETER4FARBPROC         glProgramLocalParameter4fARB;
00380       PFNGLPROGRAMLOCALPARAMETER4FVARBPROC        glProgramLocalParameter4fvARB;
00381       PFNGLPROGRAMSTRINGARBPROC                   glProgramStringARB;
00382
00383       //  GL_ARB_tessellation_shader
00384       PFNGLPATCHPARAMETERFVPROC                   glPatchParameterfv;
00385       PFNGLPATCHPARAMETERIPROC                    glPatchParameteri;
00386
00387       //  GL_ARB_map_buffer_range
00388       PFNGLMAPBUFFERRANGEPROC                     glMapBufferRange;
00389       PFNGLFLUSHMAPPEDBUFFERRANGEPROC             glFlushMappedBufferRange;
00390
00391       //  GL_ARB_copy_buffer
00392       PFNGLCOPYBUFFERSUBDATAPROC                  glCopyBufferSubData;
00393
00394       //  GL_ARB_texture_multisample
00395       PFNGLTEXIMAGE2DMULTISAMPLEPROC              glTexImage2DMultisample;
00396       PFNGLTEXIMAGE3DMULTISAMPLEPROC              glTexImage3DMultisample;
00397       PFNGLGETMULTISAMPLEFVPROC                   glGetMultisamplefv;
00398       PFNGLSAMPLEMASKIPROC                        glSampleMaski;
00399
00400       // GL_ARB_vertex_array_object
00401       PFNGLBINDVERTEXARRAYPROC                    glBindVertexArray;
00402       PFNGLDELETEVERTEXARRAYSPROC                 glDeleteVertexArrays;
00403       PFNGLGENVERTEXARRAYSPROC                    glGenVertexArrays;
00404       PFNGLISVERTEXARRAYPROC                      glIsVertexArray;
00405
00406       PFNGLDEBUGMESSAGECONTROLARBPROC             glDebugMessageControl;
00407       PFNGLDEBUGMESSAGEINSERTARBPROC              glDebugMessageInsert;
00408       PFNGLDEBUGMESSAGECALLBACKARBPROC            glDebugMessageCallback;
00409       PFNGLGETDEBUGMESSAGELOGARBPROC              glGetDebugMessageLog;
00410
00411       //  GL_EXT_bindable_uniform functions
00412       PFNGLGETUNIFORMBUFFERSIZEEXTPROC            glGetUniformBufferSize;
00413       PFNGLGETUNIFORMOFFSETEXTPROC                glGetUniformOffset;
00414       PFNGLUNIFORMBUFFEREXTPROC                   glUniformBuffer;
00415
00416       //  GL_EXT_compiled_vertex_array functions
00417       PFNGLLOCKARRAYSEXTPROC                      glLockArrays;
00418       PFNGLUNLOCKARRAYSEXTPROC                    glUnlockArrays;
00419
00420       //  GL_EXT_depth_bounds_test functions
00421       PFNGLDEPTHBOUNDSEXTPROC                     glDepthBounds;
00422
00423       //  GL_EXT_draw_buffers2 functions
00424       PFNGLCOLORMASKINDEXEDEXTPROC                glColorMaskIndexed;
00425       PFNGLDISABLEINDEXEDEXTPROC                  glDisableIndexed;
00426       PFNGLENABLEINDEXEDEXTPROC                   glEnableIndexed;
00427       PFNGLGETBOOLEANINDEXEDVEXTPROC              glGetBooleanIndexedv;
00428       PFNGLGETINTEGERINDEXEDVEXTPROC              glGetIntegerIndexedv;
00429       PFNGLISENABLEDINDEXEDEXTPROC                glIsEnabledIndexed;
00430
00431       //  GL_EXT_draw_instanced functions
00432       PFNGLDRAWARRAYSINSTANCEDEXTPROC             glDrawArraysInstanced;
00433       PFNGLDRAWELEMENTSINSTANCEDEXTPROC           glDrawElementsInstanced;
00434
00435       //  GL_EXT_framebuffer_blit functions
00436       PFNGLBLITFRAMEBUFFEREXTPROC                 glBlitFramebuffer;
00437
00438       //  GL_EXT_framebuffer_multisample functions
00439       PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC      glRenderbufferStorageMultisample;
00440
00441       // GL_EXT_framebuffer_object
00442       PFNGLISRENDERBUFFEREXTPROC                      glIsRenderbuffer;
00443       PFNGLBINDRENDERBUFFEREXTPROC                    glBindRenderbuffer;
00444       PFNGLDELETERENDERBUFFERSEXTPROC                 glDeleteRenderbuffers;
00445       PFNGLGENRENDERBUFFERSEXTPROC                    glGenRenderbuffers;
00446       PFNGLRENDERBUFFERSTORAGEEXTPROC                 glRenderbufferStorage;
00447       PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC          glGetRenderbufferParameteriv;
00448       PFNGLISFRAMEBUFFEREXTPROC                       glIsFramebuffer;
00449       PFNGLBINDFRAMEBUFFEREXTPROC                     glBindFramebuffer;
00450       PFNGLDELETEFRAMEBUFFERSEXTPROC                  glDeleteFramebuffers;
00451       PFNGLGENFRAMEBUFFERSEXTPROC                     glGenFramebuffers;
00452       PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC              glCheckFramebufferStatus;
00453       PFNGLFRAMEBUFFERTEXTURE1DEXTPROC                glFramebufferTexture1D;
00454       PFNGLFRAMEBUFFERTEXTURE2DEXTPROC                glFramebufferTexture2D;
00455       PFNGLFRAMEBUFFERTEXTURE3DEXTPROC                glFramebufferTexture3D;
00456       PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC             glFramebufferRenderbuffer;
00457       PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameteriv;
00458       PFNGLGENERATEMIPMAPEXTPROC                      glGenerateMipmap;
00459
00460       //  GL_EXT_geometry_shader4 functions
00461       PFNGLPROGRAMPARAMETERIEXTPROC               glProgramParameteri;
00462
00463       //  GL_EXT_gpu_program_parameters functions
00464       PFNGLPROGRAMENVPARAMETERS4FVEXTPROC         glProgramEnvParameters4fv;
00465       PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC       glProgramLocalParameters4fv;
00466
00467       //  GL_EXT_gpu_shader4 functions
00468       PFNGLBINDFRAGDATALOCATIONEXTPROC            glBindFragDataLocation;
00469       PFNGLGETFRAGDATALOCATIONEXTPROC             glGetFragDataLocation;
00470       PFNGLGETUNIFORMUIVEXTPROC                   glGetUniformuiv;
00471       PFNGLUNIFORM1UIEXTPROC                      glUniform1ui;
00472       PFNGLUNIFORM1UIVEXTPROC                     glUniform1uiv;
00473       PFNGLUNIFORM2UIEXTPROC                      glUniform2ui;
00474       PFNGLUNIFORM2UIVEXTPROC                     glUniform2uiv;
00475       PFNGLUNIFORM3UIEXTPROC                      glUniform3ui;
00476       PFNGLUNIFORM3UIVEXTPROC                     glUniform3uiv;
00477       PFNGLUNIFORM4UIEXTPROC                      glUniform4ui;
00478       PFNGLUNIFORM4UIVEXTPROC                     glUniform4uiv;
00479
00480       //  GL_EXT_point_parameters functions
00481       PFNGLPOINTPARAMETERFEXTPROC                 glPointParameterfEXT;
00482       PFNGLPOINTPARAMETERFVEXTPROC                glPointParameterfvEXT;
00483
00484       //  GL_EXT_stencil_clear_tag functions
00485       PFNGLSTENCILCLEARTAGEXTPROC                 glStencilClearTag;
00486
00487       //  GL_EXT_stencil_two_side functions
00488       PFNGLACTIVESTENCILFACEEXTPROC               glActiveStencilFaceEXT;
00489
00490       // GL_EXT_texture_array
00491       PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC         glFramebufferTextureLayer;
00492
00493       //  GL_EXT_texture_buffer_object functions
00494       PFNGLTEXBUFFEREXTPROC                       glTexBuffer;
00495
00496       //  GL_EXT_texture_integer functions
00497       PFNGLCLEARCOLORIIEXTPROC                    glClearColorIi;
00498       PFNGLCLEARCOLORIUIEXTPROC                   glClearColorIui;
00499       PFNGLGETTEXPARAMETERIIVEXTPROC              glGetTexParameterIiv;
00500       PFNGLGETTEXPARAMETERIUIVEXTPROC             glGetTexParameterIuiv;
00501       PFNGLTEXPARAMETERIIVEXTPROC                 glTexParameterIiv;
00502       PFNGLTEXPARAMETERIUIVEXTPROC                glTexParameterIuiv;
00503
00504       //  GL_EXT_timer_query
00505       PFNGLGETQUERYOBJECTI64VEXTPROC              glGetQueryObjecti64v;
00506       PFNGLGETQUERYOBJECTUI64VEXTPROC             glGetQueryObjectui64v;
00507
00508       //  GL_EXT_vertex_program4 functions
00509       PFNGLGETVERTEXATTRIBIIVEXTPROC              glGetVertexAttribIiv;
00510       PFNGLGETVERTEXATTRIBIUIVEXTPROC             glGetVertexAttribIuiv;
00511       PFNGLVERTEXATTRIBI1IEXTPROC                 glVertexAttribI1i;
00512       PFNGLVERTEXATTRIBI1IVEXTPROC                glVertexAttribI1iv;
00513       PFNGLVERTEXATTRIBI1UIEXTPROC                glVertexAttribI1ui;
00514       PFNGLVERTEXATTRIBI1UIVEXTPROC               glVertexAttribI1uiv;
00515       PFNGLVERTEXATTRIBI2IEXTPROC                 glVertexAttribI2i;
00516       PFNGLVERTEXATTRIBI2IVEXTPROC                glVertexAttribI2iv;
00517       PFNGLVERTEXATTRIBI2UIEXTPROC                glVertexAttribI2ui;
00518       PFNGLVERTEXATTRIBI2UIVEXTPROC               glVertexAttribI2uiv;
00519       PFNGLVERTEXATTRIBI3IEXTPROC                 glVertexAttribI3i;
00520       PFNGLVERTEXATTRIBI3IVEXTPROC                glVertexAttribI3iv;
00521       PFNGLVERTEXATTRIBI3UIEXTPROC                glVertexAttribI3ui;
00522       PFNGLVERTEXATTRIBI3UIVEXTPROC               glVertexAttribI3uiv;
00523       PFNGLVERTEXATTRIBI4BVEXTPROC                glVertexAttribI4bv;
00524       PFNGLVERTEXATTRIBI4IEXTPROC                 glVertexAttribI4i;
00525       PFNGLVERTEXATTRIBI4IVEXTPROC                glVertexAttribI4iv;
00526       PFNGLVERTEXATTRIBI4SVEXTPROC                glVertexAttribI4sv;
00527       PFNGLVERTEXATTRIBI4UBVEXTPROC               glVertexAttribI4ubv;
00528       PFNGLVERTEXATTRIBI4UIEXTPROC                glVertexAttribI4ui;
00529       PFNGLVERTEXATTRIBI4USVEXTPROC               glVertexAttribI4usv;
00530       PFNGLVERTEXATTRIBI4UIVEXTPROC               glVertexAttribI4uiv;
00531       PFNGLVERTEXATTRIBIPOINTEREXTPROC            glVertexAttribIPointer;
00532
00533       // GL_GREMEDY_string_marker
00534       PFNGLSTRINGMARKERGREMEDYPROC                glStringMarker;
00535
00536       // GL_GREMEDY_frame_terminator
00537       PFNGLFRAMETERMINATORGREMEDYPROC             glFrameTerminator;
00538
00539       //  GL_NV_depth_buffer_float
00540       PFNGLDEPTHRANGEDNVPROC                      glDepthRanged;
00541       PFNGLCLEARDEPTHDNVPROC                      glClearDepthd;
00542       PFNGLDEPTHBOUNDSDNVPROC                     glDepthBoundsd;
00543
00544       //  GL_NV_fence functions
00545       PFNGLDELETEFENCESNVPROC                     glDeleteFences;
00546       PFNGLFINISHFENCENVPROC                      glFinishFence;
00547       PFNGLGENFENCESNVPROC                        glGenFences;
00548       PFNGLGETFENCEIVNVPROC                       glGetFenceiv;
00549       PFNGLISFENCENVPROC                          glIsFence;
00550       PFNGLSETFENCENVPROC                         glSetFence;
00551       PFNGLTESTFENCENVPROC                        glTestFence;
00552
00553       //  GL_NV_fragment_program functions
00554       PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC       glGetProgramNamedParameterdv;
00555       PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC       glGetProgramNamedParameterfv;
00556       PFNGLPROGRAMNAMEDPARAMETER4DNVPROC          glProgramNamedParameter4d;
00557       PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC         glProgramNamedParameter4dv;
00558       PFNGLPROGRAMNAMEDPARAMETER4FNVPROC          glProgramNamedParameter4f;
00559       PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC         glProgramNamedParameter4fv;
00560
00561       //  GL_NV_framebuffer_multisample_coverage functions
00562       PFNGLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENVPROC glRenderbufferStorageMultisampleCoverage;
00563
00564       //  GL_NV_geometry_program4 functions
00565       PFNGLPROGRAMVERTEXLIMITNVPROC               glProgramVertexLimit;
00566       PFNGLFRAMEBUFFERTEXTUREEXTPROC              glFramebufferTexture;
00567       PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC          glFramebufferTextureFace;
00568
00569       //  GL_NV_gpu_program4 functions
00570       PFNGLGETPROGRAMENVPARAMETERIIVNVPROC        glGetProgramEnvParameterIiv;
00571       PFNGLGETPROGRAMENVPARAMETERIUIVNVPROC       glGetProgramEnvParameterIuiv;
00572       PFNGLGETPROGRAMLOCALPARAMETERIIVNVPROC      glGetProgramLocalParameterIiv;
00573       PFNGLGETPROGRAMLOCALPARAMETERIUIVNVPROC     glGetProgramLocalParameterIuiv;
00574       PFNGLPROGRAMENVPARAMETERSI4IVNVPROC         glProgramEnvParametersI4iv;
00575       PFNGLPROGRAMENVPARAMETERSI4UIVNVPROC        glProgramEnvParametersI4uiv;
00576       PFNGLPROGRAMENVPARAMETERI4INVPROC           glProgramEnvParameterI4i;
00577       PFNGLPROGRAMENVPARAMETERI4IVNVPROC          glProgramEnvParameterI4iv;
00578       PFNGLPROGRAMENVPARAMETERI4UINVPROC          glProgramEnvParameterI4ui;
00579       PFNGLPROGRAMENVPARAMETERI4UIVNVPROC         glProgramEnvParameterI4uiv;
00580       PFNGLPROGRAMLOCALPARAMETERSI4IVNVPROC       glProgramLocalParametersI4iv;
00581       PFNGLPROGRAMLOCALPARAMETERSI4UIVNVPROC      glProgramLocalParametersI4uiv;
00582       PFNGLPROGRAMLOCALPARAMETERI4INVPROC         glProgramLocalParameterI4i;
00583       PFNGLPROGRAMLOCALPARAMETERI4IVNVPROC        glProgramLocalParameterI4iv;
00584       PFNGLPROGRAMLOCALPARAMETERI4UINVPROC        glProgramLocalParameterI4ui;
00585       PFNGLPROGRAMLOCALPARAMETERI4UIVNVPROC       glProgramLocalParameterI4uiv;
00586
00587       //  GL_NV_half_float functions
00588       PFNGLCOLOR3HNVPROC                          glColor3h;
00589       PFNGLCOLOR3HVNVPROC                         glColor3hv;
00590       PFNGLCOLOR4HNVPROC                          glColor4h;
00591       PFNGLCOLOR4HVNVPROC                         glColor4hv;
00592       PFNGLFOGCOORDHNVPROC                        glFogCoordh;
00593       PFNGLFOGCOORDHVNVPROC                       glFogCoordhv;
00594       PFNGLMULTITEXCOORD1HNVPROC                  glMultiTexCoord1h;
00595       PFNGLMULTITEXCOORD1HVNVPROC                 glMultiTexCoord1hv;
00596       PFNGLMULTITEXCOORD2HNVPROC                  glMultiTexCoord2h;
00597       PFNGLMULTITEXCOORD2HVNVPROC                 glMultiTexCoord2hv;
00598       PFNGLMULTITEXCOORD3HNVPROC                  glMultiTexCoord3h;
00599       PFNGLMULTITEXCOORD3HVNVPROC                 glMultiTexCoord3hv;
00600       PFNGLMULTITEXCOORD4HNVPROC                  glMultiTexCoord4h;
00601       PFNGLMULTITEXCOORD4HVNVPROC                 glMultiTexCoord4hv;
00602       PFNGLNORMAL3HNVPROC                         glNormal3h;
00603       PFNGLNORMAL3HVNVPROC                        glNormal3hv;
00604       PFNGLSECONDARYCOLOR3HNVPROC                 glSecondaryColor3h;
00605       PFNGLSECONDARYCOLOR3HVNVPROC                glSecondaryColor3hv;
00606       PFNGLTEXCOORD1HNVPROC                       glTexCoord1h;
00607       PFNGLTEXCOORD1HVNVPROC                      glTexCoord1hv;
00608       PFNGLTEXCOORD2HNVPROC                       glTexCoord2h;
00609       PFNGLTEXCOORD2HVNVPROC                      glTexCoord2hv;
00610       PFNGLTEXCOORD3HNVPROC                       glTexCoord3h;
00611       PFNGLTEXCOORD3HVNVPROC                      glTexCoord3hv;
00612       PFNGLTEXCOORD4HNVPROC                       glTexCoord4h;
00613       PFNGLTEXCOORD4HVNVPROC                      glTexCoord4hv;
00614       PFNGLVERTEX2HNVPROC                         glVertex2h;
00615       PFNGLVERTEX2HVNVPROC                        glVertex2hv;
00616       PFNGLVERTEX3HNVPROC                         glVertex3h;
00617       PFNGLVERTEX3HVNVPROC                        glVertex3hv;
00618       PFNGLVERTEX4HNVPROC                         glVertex4h;
00619       PFNGLVERTEX4HVNVPROC                        glVertex4hv;
00620       PFNGLVERTEXATTRIB1HNVPROC                   glVertexAttrib1h;
00621       PFNGLVERTEXATTRIB1HVNVPROC                  glVertexAttrib1hv;
00622       PFNGLVERTEXATTRIB2HNVPROC                   glVertexAttrib2h;
00623       PFNGLVERTEXATTRIB2HVNVPROC                  glVertexAttrib2hv;
00624       PFNGLVERTEXATTRIB3HNVPROC                   glVertexAttrib3h;
00625       PFNGLVERTEXATTRIB3HVNVPROC                  glVertexAttrib3hv;
00626       PFNGLVERTEXATTRIB4HNVPROC                   glVertexAttrib4h;
00627       PFNGLVERTEXATTRIB4HVNVPROC                  glVertexAttrib4hv;
00628       PFNGLVERTEXATTRIBS1HVNVPROC                 glVertexAttribs1hv;
00629       PFNGLVERTEXATTRIBS2HVNVPROC                 glVertexAttribs2hv;
00630       PFNGLVERTEXATTRIBS3HVNVPROC                 glVertexAttribs3hv;
00631       PFNGLVERTEXATTRIBS4HVNVPROC                 glVertexAttribs4hv;
00632
00633       //  GL_NV_occlusion_query functions
00634       PFNGLBEGINOCCLUSIONQUERYNVPROC              glBeginOcclusionQueryNV;
00635       PFNGLDELETEOCCLUSIONQUERIESNVPROC           glDeleteOcclusionQueriesNV;
00636       PFNGLENDOCCLUSIONQUERYNVPROC                glEndOcclusionQueryNV;
00637       PFNGLGENOCCLUSIONQUERIESNVPROC              glGenOcclusionQueriesNV;
00638       PFNGLGETOCCLUSIONQUERYIVNVPROC              glGetOcclusionQueryivNV;
00639       PFNGLGETOCCLUSIONQUERYUIVNVPROC             glGetOcclusionQueryuivNV;
00640       PFNGLISOCCLUSIONQUERYNVPROC                 glIsOcclusionQueryNV;
00641
00642       //  GL_NV_parameter_buffer_object functions
00643       PFNGLPROGRAMBUFFERPARAMETERSFVNVPROC        glProgramBufferParametersfv;
00644       PFNGLPROGRAMBUFFERPARAMETERSIIVNVPROC       glProgramBufferParametersIiv;
00645       PFNGLPROGRAMBUFFERPARAMETERSIUIVNVPROC      glProgramBufferParametersIuiv;
00646
00647       //  GL_NV_pixel_data_range functions
00648       PFNGLFLUSHPIXELDATARANGENVPROC              glFlushPixelDataRange;
00649       PFNGLPIXELDATARANGENVPROC                   glPixelDataRange;
00650
00651       //  GL_NV_primitive_restart functions
00652       PFNGLPRIMITIVERESTARTNVPROC                 glPrimitiveRestart;
00653       PFNGLPRIMITIVERESTARTINDEXNVPROC            glPrimitiveRestartIndex;
00654
00655       //  GL_NV_register_combiners functions
00656       PFNGLCOMBINERPARAMETERFVNVPROC              glCombinerParameterfv;
00657       PFNGLCOMBINERPARAMETERFNVPROC               glCombinerParameterf;
00658       PFNGLCOMBINERPARAMETERIVNVPROC              glCombinerParameteriv;
00659       PFNGLCOMBINERPARAMETERINVPROC               glCombinerParameteri;
00660       PFNGLCOMBINERINPUTNVPROC                    glCombinerInput;
00661       PFNGLCOMBINEROUTPUTNVPROC                   glCombinerOutput;
00662       PFNGLFINALCOMBINERINPUTNVPROC               glFinalCombinerInput;
00663       PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC      glGetCombinerInputParameterfv;
00664       PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC      glGetCombinerInputParameteriv;
00665       PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC     glGetCombinerOutputParameterfv;
00666       PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC     glGetCombinerOutputParameteriv;
00667       PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC glGetFinalCombinerInputParameterfv;
00668       PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC glGetFinalCombinerInputParameteriv;
00669
00670       //  GL_NV_register_combiners2 functions
00671       PFNGLCOMBINERSTAGEPARAMETERFVNVPROC         glCombinerStageParameterfv;
00672       PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC      glGetCombinerStageParameterfv;
00673
00674       //  GL_NV_transform_feedback functions
00675       PFNGLACTIVEVARYINGNVPROC                    glActiveVaryingNV;
00676       PFNGLBEGINTRANSFORMFEEDBACKNVPROC           glBeginTransformFeedbackNV;
00677       PFNGLBINDBUFFERBASENVPROC                   glBindBufferBaseNV;
00678       PFNGLBINDBUFFEROFFSETNVPROC                 glBindBufferOffsetNV;
00679       PFNGLBINDBUFFERRANGENVPROC                  glBindBufferRangeNV;
00680       PFNGLENDTRANSFORMFEEDBACKNVPROC             glEndTransformFeedbackNV;
00681       PFNGLGETACTIVEVARYINGNVPROC                 glGetActiveVaryingNV;
00682       PFNGLGETTRANSFORMFEEDBACKVARYINGNVPROC      glGetTransformFeedbackVaryingNV;
00683       PFNGLGETVARYINGLOCATIONNVPROC               glGetVaryingLocationNV;
00684       PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC         glTransformFeedbackAttribsNV;
00685       PFNGLTRANSFORMFEEDBACKVARYINGSNVPROC        glTransformFeedbackVaryingsNV;
00686
00687       //  GL_NV_vertex_array_range functions
00688       PFNGLFLUSHVERTEXARRAYRANGENVPROC            glFlushVertexArrayRange;
00689       PFNGLVERTEXARRAYRANGENVPROC                 glVertexArrayRange;
00690
00691       //  GL_NV_vertex_program functions
00692       PFNGLAREPROGRAMSRESIDENTNVPROC              glAreProgramsResidentNV;
00693       PFNGLBINDPROGRAMNVPROC                      glBindProgramNV;
00694       PFNGLDELETEPROGRAMSNVPROC                   glDeleteProgramsNV;
00695       PFNGLEXECUTEPROGRAMNVPROC                   glExecuteProgramNV;
00696       PFNGLGENPROGRAMSNVPROC                      glGenProgramsNV;
00697       PFNGLGETPROGRAMPARAMETERDVNVPROC            glGetProgramParameterdvNV;
00698       PFNGLGETPROGRAMPARAMETERFVNVPROC            glGetProgramParameterfvNV;
00699       PFNGLGETPROGRAMIVNVPROC                     glGetProgramivNV;
00700       PFNGLGETPROGRAMSTRINGNVPROC                 glGetProgramStringNV;
00701       PFNGLGETTRACKMATRIXIVNVPROC                 glGetTrackMatrixivNV;
00702       PFNGLGETVERTEXATTRIBDVNVPROC                glGetVertexAttribdvNV;
00703       PFNGLGETVERTEXATTRIBFVNVPROC                glGetVertexAttribfvNV;
00704       PFNGLGETVERTEXATTRIBIVNVPROC                glGetVertexAttribivNV;
00705       PFNGLGETVERTEXATTRIBPOINTERVNVPROC          glGetVertexAttribPointervNV;
00706       PFNGLISPROGRAMNVPROC                        glIsProgramNV;
00707       PFNGLLOADPROGRAMNVPROC                      glLoadProgramNV;
00708       PFNGLPROGRAMPARAMETER4DNVPROC               glProgramParameter4dNV;
00709       PFNGLPROGRAMPARAMETER4DVNVPROC              glProgramParameter4dvNV;
00710       PFNGLPROGRAMPARAMETER4FNVPROC               glProgramParameter4fNV;
00711       PFNGLPROGRAMPARAMETER4FVNVPROC              glProgramParameter4fvNV;
00712       PFNGLPROGRAMPARAMETERS4DVNVPROC             glProgramParameters4dvNV;
00713       PFNGLPROGRAMPARAMETERS4FVNVPROC             glProgramParameters4fvNV;
00714       PFNGLREQUESTRESIDENTPROGRAMSNVPROC          glRequestResidentProgramsNV;
00715       PFNGLTRACKMATRIXNVPROC                      glTrackMatrixNV;
00716       PFNGLVERTEXATTRIBPOINTERNVPROC              glVertexAttribPointerNV;
00717       PFNGLVERTEXATTRIB1DNVPROC                   glVertexAttrib1dNV;
00718       PFNGLVERTEXATTRIB1DVNVPROC                  glVertexAttrib1dvNV;
00719       PFNGLVERTEXATTRIB1FNVPROC                   glVertexAttrib1fNV;
00720       PFNGLVERTEXATTRIB1FVNVPROC                  glVertexAttrib1fvNV;
00721       PFNGLVERTEXATTRIB1SNVPROC                   glVertexAttrib1sNV;
00722       PFNGLVERTEXATTRIB1SVNVPROC                  glVertexAttrib1svNV;
00723       PFNGLVERTEXATTRIB2DNVPROC                   glVertexAttrib2dNV;
00724       PFNGLVERTEXATTRIB2DVNVPROC                  glVertexAttrib2dvNV;
00725       PFNGLVERTEXATTRIB2FNVPROC                   glVertexAttrib2fNV;
00726       PFNGLVERTEXATTRIB2FVNVPROC                  glVertexAttrib2fvNV;
00727       PFNGLVERTEXATTRIB2SNVPROC                   glVertexAttrib2sNV;
00728       PFNGLVERTEXATTRIB2SVNVPROC                  glVertexAttrib2svNV;
00729       PFNGLVERTEXATTRIB3DNVPROC                   glVertexAttrib3dNV;
00730       PFNGLVERTEXATTRIB3DVNVPROC                  glVertexAttrib3dvNV;
00731       PFNGLVERTEXATTRIB3FNVPROC                   glVertexAttrib3fNV;
00732       PFNGLVERTEXATTRIB3FVNVPROC                  glVertexAttrib3fvNV;
00733       PFNGLVERTEXATTRIB3SNVPROC                   glVertexAttrib3sNV;
00734       PFNGLVERTEXATTRIB3SVNVPROC                  glVertexAttrib3svNV;
00735       PFNGLVERTEXATTRIB4DNVPROC                   glVertexAttrib4dNV;
00736       PFNGLVERTEXATTRIB4DVNVPROC                  glVertexAttrib4dvNV;
00737       PFNGLVERTEXATTRIB4FNVPROC                   glVertexAttrib4fNV;
00738       PFNGLVERTEXATTRIB4FVNVPROC                  glVertexAttrib4fvNV;
00739       PFNGLVERTEXATTRIB4SNVPROC                   glVertexAttrib4sNV;
00740       PFNGLVERTEXATTRIB4SVNVPROC                  glVertexAttrib4svNV;
00741       PFNGLVERTEXATTRIB4UBNVPROC                  glVertexAttrib4ubNV;
00742       PFNGLVERTEXATTRIB4UBVNVPROC                 glVertexAttrib4ubvNV;
00743       PFNGLVERTEXATTRIBS1DVNVPROC                 glVertexAttribs1dvNV;
00744       PFNGLVERTEXATTRIBS1FVNVPROC                 glVertexAttribs1fvNV;
00745       PFNGLVERTEXATTRIBS1SVNVPROC                 glVertexAttribs1svNV;
00746       PFNGLVERTEXATTRIBS2DVNVPROC                 glVertexAttribs2dvNV;
00747       PFNGLVERTEXATTRIBS2FVNVPROC                 glVertexAttribs2fvNV;
00748       PFNGLVERTEXATTRIBS2SVNVPROC                 glVertexAttribs2svNV;
00749       PFNGLVERTEXATTRIBS3DVNVPROC                 glVertexAttribs3dvNV;
00750       PFNGLVERTEXATTRIBS3FVNVPROC                 glVertexAttribs3fvNV;
00751       PFNGLVERTEXATTRIBS3SVNVPROC                 glVertexAttribs3svNV;
00752       PFNGLVERTEXATTRIBS4DVNVPROC                 glVertexAttribs4dvNV;
00753       PFNGLVERTEXATTRIBS4FVNVPROC                 glVertexAttribs4fvNV;
00754       PFNGLVERTEXATTRIBS4SVNVPROC                 glVertexAttribs4svNV;
00755       PFNGLVERTEXATTRIBS4UBVNVPROC                glVertexAttribs4ubvNV;
00756
00757       // GL_NV_conditional_render
00758       PFNGLBEGINCONDITIONALRENDERNVPROC           glBeginConditionalRenderNV;
00759       PFNGLENDCONDITIONALRENDERNVPROC             glEndConditionalRenderNV;
00760
00761       // GL_NV_present_video
00762       PFNGLPRESENTFRAMEKEYEDNVPROC                glPresentFrameKeyedNV;
00763       PFNGLPRESENTFRAMEDUALFILLNVPROC             glPresentFrameDualFillNV;
00764       PFNGLGETVIDEOIVNVPROC                       glGetVideoivNV;
00765       PFNGLGETVIDEOUIVNVPROC                      glGetVideouivNV;
00766       PFNGLGETVIDEOI64VNVPROC                     glGetVideoi64vNV;
00767       PFNGLGETVIDEOUI64VNVPROC                    glGetVideoui64vNV;
00768
00769       // GL_NV_vertex_buffer_unified_memory
00770       PFNGLBUFFERADDRESSRANGENVPROC               glBufferAddressRangeNV;
00771       PFNGLVERTEXFORMATNVPROC                     glVertexFormatNV;
00772       PFNGLNORMALFORMATNVPROC                     glNormalFormatNV;
00773       PFNGLCOLORFORMATNVPROC                      glColorFormatNV;
00774       PFNGLINDEXFORMATNVPROC                      glIndexFormatNV;
00775       PFNGLTEXCOORDFORMATNVPROC                   glTexCoordFormatNV;
00776       PFNGLEDGEFLAGFORMATNVPROC                   glEdgeFlagFormatNV;
00777       PFNGLSECONDARYCOLORFORMATNVPROC             glSecondaryColorFormatNV;
00778       PFNGLFOGCOORDFORMATNVPROC                   glFogCoordFormatNV;
00779       PFNGLVERTEXATTRIBFORMATNVPROC               glVertexAttribFormatNV;
00780       PFNGLVERTEXATTRIBIFORMATNVPROC              glVertexAttribIFormatNV;
00781       PFNGLGETINTEGERUI64I_VNVPROC                glGetIntegerui64i_vNV;
00782
00783       // GL_NV_shader_buffer_load
00784       PFNGLGETBUFFERPARAMETERUI64VNVPROC          glGetBufferParameterui64vNV;
00785       PFNGLISBUFFERRESIDENTNVPROC                 glIsBufferResidentNV;
00786       PFNGLMAKEBUFFERNONRESIDENTNVPROC            glMakeBufferNonResidentNV;
00787       PFNGLMAKEBUFFERRESIDENTNVPROC               glMakeBufferResidentNV;
00788       PFNGLGETNAMEDBUFFERPARAMETERUI64VNVPROC     glGetNamedBufferParameterui64vNV;
00789       PFNGLISNAMEDBUFFERRESIDENTNVPROC            glIsNamedBufferResidentNV;
00790       PFNGLMAKENAMEDBUFFERNONRESIDENTNVPROC       glMakeNamedBufferNonResidentNV;
00791       PFNGLMAKENAMEDBUFFERRESIDENTNVPROC          glMakeNamedBufferResidentNV;
00792       PFNGLGETINTEGERUI64VNVPROC                  glGetIntegerui64vNV;
00793       PFNGLUNIFORMUI64NVPROC                      glUniformui64NV;
00794       PFNGLUNIFORMUI64VNVPROC                     glUniformui64vNV;
00795       PFNGLGETUNIFORMUI64VNVPROC                  glGetUniformui64vNV;
00796       PFNGLPROGRAMUNIFORMUI64NVPROC               glProgramUniformui64NV;
00797       PFNGLPROGRAMUNIFORMUI64VNVPROC              glProgramUniformui64vNV;
00798
00799       // GL_NV_video_capture
00800       PFNGLBEGINVIDEOCAPTURENVPROC                glBeginVideoCaptureNV;
00801       PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC     glBindVideoCaptureStreamBufferNV;
00802       PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC    glBindVideoCaptureStreamTextureNV;
00803       PFNGLENDVIDEOCAPTURENVPROC                  glEndVideoCaptureNV;
00804       PFNGLGETVIDEOCAPTUREIVNVPROC                glGetVideoCaptureivNV;
00805       PFNGLGETVIDEOCAPTURESTREAMIVNVPROC          glGetVideoCaptureStreamivNV;
00806       PFNGLGETVIDEOCAPTURESTREAMFVNVPROC          glGetVideoCaptureStreamfvNV;
00807       PFNGLGETVIDEOCAPTURESTREAMDVNVPROC          glGetVideoCaptureStreamdvNV;
00808       PFNGLVIDEOCAPTURENVPROC                     glVideoCaptureNV;
00809       PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC    glVideoCaptureStreamParameterivNV;
00810       PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC    glVideoCaptureStreamParameterfvNV;
00811       PFNGLVIDEOCAPTURESTREAMPARAMETERDVNVPROC    glVideoCaptureStreamParameterdvNV;
00812
00813       // GL_EXT_direct_state_access
00814       PFNGLCLIENTATTRIBDEFAULTEXTPROC                         glClientAttribDefaultEXT;
00815       PFNGLPUSHCLIENTATTRIBDEFAULTEXTPROC                     glPushClientAttribDefaultEXT;
00816       PFNGLMATRIXLOADFEXTPROC                                 glMatrixLoadfEXT;
00817       PFNGLMATRIXLOADDEXTPROC                                 glMatrixLoaddEXT;
00818       PFNGLMATRIXMULTFEXTPROC                                 glMatrixMultfEXT;
00819       PFNGLMATRIXMULTDEXTPROC                                 glMatrixMultdEXT;
00820       PFNGLMATRIXLOADIDENTITYEXTPROC                          glMatrixLoadIdentityEXT;
00821       PFNGLMATRIXROTATEFEXTPROC                               glMatrixRotatefEXT;
00822       PFNGLMATRIXROTATEDEXTPROC                               glMatrixRotatedEXT;
00823       PFNGLMATRIXSCALEFEXTPROC                                glMatrixScalefEXT;
00824       PFNGLMATRIXSCALEDEXTPROC                                glMatrixScaledEXT;
00825       PFNGLMATRIXTRANSLATEFEXTPROC                            glMatrixTranslatefEXT;
00826       PFNGLMATRIXTRANSLATEDEXTPROC                            glMatrixTranslatedEXT;
00827       PFNGLMATRIXFRUSTUMEXTPROC                               glMatrixFrustumEXT;
00828       PFNGLMATRIXORTHOEXTPROC                                 glMatrixOrthoEXT;
00829       PFNGLMATRIXPOPEXTPROC                                   glMatrixPopEXT;
00830       PFNGLMATRIXPUSHEXTPROC                                  glMatrixPushEXT;
00831       PFNGLMATRIXLOADTRANSPOSEFEXTPROC                        glMatrixLoadTransposefEXT;
00832       PFNGLMATRIXLOADTRANSPOSEDEXTPROC                        glMatrixLoadTransposedEXT;
00833       PFNGLMATRIXMULTTRANSPOSEFEXTPROC                        glMatrixMultTransposefEXT;
00834       PFNGLMATRIXMULTTRANSPOSEDEXTPROC                        glMatrixMultTransposedEXT;
00835       PFNGLTEXTUREPARAMETERFEXTPROC                           glTextureParameterfEXT;
00836       PFNGLTEXTUREPARAMETERFVEXTPROC                          glTextureParameterfvEXT;
00837       PFNGLTEXTUREPARAMETERIEXTPROC                           glTextureParameteriEXT;
00838       PFNGLTEXTUREPARAMETERIVEXTPROC                          glTextureParameterivEXT;
00839       PFNGLTEXTUREIMAGE1DEXTPROC                              glTextureImage1DEXT;
00840       PFNGLTEXTUREIMAGE2DEXTPROC                              glTextureImage2DEXT;
00841       PFNGLTEXTURESUBIMAGE1DEXTPROC                           glTextureSubImage1DEXT;
00842       PFNGLTEXTURESUBIMAGE2DEXTPROC                           glTextureSubImage2DEXT;
00843       PFNGLCOPYTEXTUREIMAGE1DEXTPROC                          glCopyTextureImage1DEXT;
00844       PFNGLCOPYTEXTUREIMAGE2DEXTPROC                          glCopyTextureImage2DEXT;
00845       PFNGLCOPYTEXTURESUBIMAGE1DEXTPROC                       glCopyTextureSubImage1DEXT;
00846       PFNGLCOPYTEXTURESUBIMAGE2DEXTPROC                       glCopyTextureSubImage2DEXT;
00847       PFNGLGETTEXTUREIMAGEEXTPROC                             glGetTextureImageEXT;
00848       PFNGLGETTEXTUREPARAMETERFVEXTPROC                       glGetTextureParameterfvEXT;
00849       PFNGLGETTEXTUREPARAMETERIVEXTPROC                       glGetTextureParameterivEXT;
00850       PFNGLGETTEXTURELEVELPARAMETERFVEXTPROC                  glGetTextureLevelParameterfvEXT;
00851       PFNGLGETTEXTURELEVELPARAMETERIVEXTPROC                  glGetTextureLevelParameterivEXT;
00852       PFNGLTEXTUREIMAGE3DEXTPROC                              glTextureImage3DEXT;
00853       PFNGLTEXTURESUBIMAGE3DEXTPROC                           glTextureSubImage3DEXT;
00854       PFNGLCOPYTEXTURESUBIMAGE3DEXTPROC                       glCopyTextureSubImage3DEXT;
00855       PFNGLMULTITEXPARAMETERFEXTPROC                          glMultiTexParameterfEXT;
00856       PFNGLMULTITEXPARAMETERFVEXTPROC                         glMultiTexParameterfvEXT;
00857       PFNGLMULTITEXPARAMETERIEXTPROC                          glMultiTexParameteriEXT;
00858       PFNGLMULTITEXPARAMETERIVEXTPROC                         glMultiTexParameterivEXT;
00859       PFNGLMULTITEXIMAGE1DEXTPROC                             glMultiTexImage1DEXT;
00860       PFNGLMULTITEXIMAGE2DEXTPROC                             glMultiTexImage2DEXT;
00861       PFNGLMULTITEXSUBIMAGE1DEXTPROC                          glMultiTexSubImage1DEXT;
00862       PFNGLMULTITEXSUBIMAGE2DEXTPROC                          glMultiTexSubImage2DEXT;
00863       PFNGLCOPYMULTITEXIMAGE1DEXTPROC                         glCopyMultiTexImage1DEXT;
00864       PFNGLCOPYMULTITEXIMAGE2DEXTPROC                         glCopyMultiTexImage2DEXT;
00865       PFNGLCOPYMULTITEXSUBIMAGE1DEXTPROC                      glCopyMultiTexSubImage1DEXT;
00866       PFNGLCOPYMULTITEXSUBIMAGE2DEXTPROC                      glCopyMultiTexSubImage2DEXT;
00867       PFNGLGETMULTITEXIMAGEEXTPROC                            glGetMultiTexImageEXT;
00868       PFNGLGETMULTITEXPARAMETERFVEXTPROC                      glGetMultiTexParameterfvEXT;
00869       PFNGLGETMULTITEXPARAMETERIVEXTPROC                      glGetMultiTexParameterivEXT;
00870       PFNGLGETMULTITEXLEVELPARAMETERFVEXTPROC                 glGetMultiTexLevelParameterfvEXT;
00871       PFNGLGETMULTITEXLEVELPARAMETERIVEXTPROC                 glGetMultiTexLevelParameterivEXT;
00872       PFNGLMULTITEXIMAGE3DEXTPROC                             glMultiTexImage3DEXT;
00873       PFNGLMULTITEXSUBIMAGE3DEXTPROC                          glMultiTexSubImage3DEXT;
00874       PFNGLCOPYMULTITEXSUBIMAGE3DEXTPROC                      glCopyMultiTexSubImage3DEXT;
00875       PFNGLBINDMULTITEXTUREEXTPROC                            glBindMultiTextureEXT;
00876       PFNGLENABLECLIENTSTATEINDEXEDEXTPROC                    glEnableClientStateIndexedEXT;
00877       PFNGLDISABLECLIENTSTATEINDEXEDEXTPROC                   glDisableClientStateIndexedEXT;
00878       PFNGLMULTITEXCOORDPOINTEREXTPROC                        glMultiTexCoordPointerEXT;
00879       PFNGLMULTITEXENVFEXTPROC                                glMultiTexEnvfEXT;
00880       PFNGLMULTITEXENVFVEXTPROC                               glMultiTexEnvfvEXT;
00881       PFNGLMULTITEXENVIEXTPROC                                glMultiTexEnviEXT;
00882       PFNGLMULTITEXENVIVEXTPROC                               glMultiTexEnvivEXT;
00883       PFNGLMULTITEXGENDEXTPROC                                glMultiTexGendEXT;
00884       PFNGLMULTITEXGENDVEXTPROC                               glMultiTexGendvEXT;
00885       PFNGLMULTITEXGENFEXTPROC                                glMultiTexGenfEXT;
00886       PFNGLMULTITEXGENFVEXTPROC                               glMultiTexGenfvEXT;
00887       PFNGLMULTITEXGENIEXTPROC                                glMultiTexGeniEXT;
00888       PFNGLMULTITEXGENIVEXTPROC                               glMultiTexGenivEXT;
00889       PFNGLGETMULTITEXENVFVEXTPROC                            glGetMultiTexEnvfvEXT;
00890       PFNGLGETMULTITEXENVIVEXTPROC                            glGetMultiTexEnvivEXT;
00891       PFNGLGETMULTITEXGENDVEXTPROC                            glGetMultiTexGendvEXT;
00892       PFNGLGETMULTITEXGENFVEXTPROC                            glGetMultiTexGenfvEXT;
00893       PFNGLGETMULTITEXGENIVEXTPROC                            glGetMultiTexGenivEXT;
00894       PFNGLGETFLOATINDEXEDVEXTPROC                            glGetFloatIndexedvEXT;
00895       PFNGLGETDOUBLEINDEXEDVEXTPROC                           glGetDoubleIndexedvEXT;
00896       PFNGLGETPOINTERINDEXEDVEXTPROC                          glGetPointerIndexedvEXT;
00897       PFNGLCOMPRESSEDTEXTUREIMAGE3DEXTPROC                    glCompressedTextureImage3DEXT;
00898       PFNGLCOMPRESSEDTEXTUREIMAGE2DEXTPROC                    glCompressedTextureImage2DEXT;
00899       PFNGLCOMPRESSEDTEXTUREIMAGE1DEXTPROC                    glCompressedTextureImage1DEXT;
00900       PFNGLCOMPRESSEDTEXTURESUBIMAGE3DEXTPROC                 glCompressedTextureSubImage3DEXT;
00901       PFNGLCOMPRESSEDTEXTURESUBIMAGE2DEXTPROC                 glCompressedTextureSubImage2DEXT;
00902       PFNGLCOMPRESSEDTEXTURESUBIMAGE1DEXTPROC                 glCompressedTextureSubImage1DEXT;
00903       PFNGLGETCOMPRESSEDTEXTUREIMAGEEXTPROC                   glGetCompressedTextureImageEXT;
00904       PFNGLCOMPRESSEDMULTITEXIMAGE3DEXTPROC                   glCompressedMultiTexImage3DEXT;
00905       PFNGLCOMPRESSEDMULTITEXIMAGE2DEXTPROC                   glCompressedMultiTexImage2DEXT;
00906       PFNGLCOMPRESSEDMULTITEXIMAGE1DEXTPROC                   glCompressedMultiTexImage1DEXT;
00907       PFNGLCOMPRESSEDMULTITEXSUBIMAGE3DEXTPROC                glCompressedMultiTexSubImage3DEXT;
00908       PFNGLCOMPRESSEDMULTITEXSUBIMAGE2DEXTPROC                glCompressedMultiTexSubImage2DEXT;
00909       PFNGLCOMPRESSEDMULTITEXSUBIMAGE1DEXTPROC                glCompressedMultiTexSubImage1DEXT;
00910       PFNGLGETCOMPRESSEDMULTITEXIMAGEEXTPROC                  glGetCompressedMultiTexImageEXT;
00911       PFNGLNAMEDPROGRAMSTRINGEXTPROC                          glNamedProgramStringEXT;
00912       PFNGLNAMEDPROGRAMLOCALPARAMETER4DEXTPROC                glNamedProgramLocalParameter4dEXT;
00913       PFNGLNAMEDPROGRAMLOCALPARAMETER4DVEXTPROC               glNamedProgramLocalParameter4dvEXT;
00914       PFNGLNAMEDPROGRAMLOCALPARAMETER4FEXTPROC                glNamedProgramLocalParameter4fEXT;
00915       PFNGLNAMEDPROGRAMLOCALPARAMETER4FVEXTPROC               glNamedProgramLocalParameter4fvEXT;
00916       PFNGLGETNAMEDPROGRAMLOCALPARAMETERDVEXTPROC             glGetNamedProgramLocalParameterdvEXT;
00917       PFNGLGETNAMEDPROGRAMLOCALPARAMETERFVEXTPROC             glGetNamedProgramLocalParameterfvEXT;
00918       PFNGLGETNAMEDPROGRAMIVEXTPROC                           glGetNamedProgramivEXT;
00919       PFNGLGETNAMEDPROGRAMSTRINGEXTPROC                       glGetNamedProgramStringEXT;
00920       PFNGLNAMEDPROGRAMLOCALPARAMETERS4FVEXTPROC              glNamedProgramLocalParameters4fvEXT;
00921       PFNGLNAMEDPROGRAMLOCALPARAMETERI4IEXTPROC               glNamedProgramLocalParameterI4iEXT;
00922       PFNGLNAMEDPROGRAMLOCALPARAMETERI4IVEXTPROC              glNamedProgramLocalParameterI4ivEXT;
00923       PFNGLNAMEDPROGRAMLOCALPARAMETERSI4IVEXTPROC             glNamedProgramLocalParametersI4ivEXT;
00924       PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIEXTPROC              glNamedProgramLocalParameterI4uiEXT;
00925       PFNGLNAMEDPROGRAMLOCALPARAMETERI4UIVEXTPROC             glNamedProgramLocalParameterI4uivEXT;
00926       PFNGLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXTPROC            glNamedProgramLocalParametersI4uivEXT;
00927       PFNGLGETNAMEDPROGRAMLOCALPARAMETERIIVEXTPROC            glGetNamedProgramLocalParameterIivEXT;
00928       PFNGLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXTPROC           glGetNamedProgramLocalParameterIuivEXT;
00929       PFNGLTEXTUREPARAMETERIIVEXTPROC                         glTextureParameterIivEXT;
00930       PFNGLTEXTUREPARAMETERIUIVEXTPROC                        glTextureParameterIuivEXT;
00931       PFNGLGETTEXTUREPARAMETERIIVEXTPROC                      glGetTextureParameterIivEXT;
00932       PFNGLGETTEXTUREPARAMETERIUIVEXTPROC                     glGetTextureParameterIuivEXT;
00933       PFNGLMULTITEXPARAMETERIIVEXTPROC                        glMultiTexParameterIivEXT;
00934       PFNGLMULTITEXPARAMETERIUIVEXTPROC                       glMultiTexParameterIuivEXT;
00935       PFNGLGETMULTITEXPARAMETERIIVEXTPROC                     glGetMultiTexParameterIivEXT;
00936       PFNGLGETMULTITEXPARAMETERIUIVEXTPROC                    glGetMultiTexParameterIuivEXT;
00937       PFNGLPROGRAMUNIFORM1FEXTPROC                            glProgramUniform1fEXT;
00938       PFNGLPROGRAMUNIFORM2FEXTPROC                            glProgramUniform2fEXT;
00939       PFNGLPROGRAMUNIFORM3FEXTPROC                            glProgramUniform3fEXT;
00940       PFNGLPROGRAMUNIFORM4FEXTPROC                            glProgramUniform4fEXT;
00941       PFNGLPROGRAMUNIFORM1IEXTPROC                            glProgramUniform1iEXT;
00942       PFNGLPROGRAMUNIFORM2IEXTPROC                            glProgramUniform2iEXT;
00943       PFNGLPROGRAMUNIFORM3IEXTPROC                            glProgramUniform3iEXT;
00944       PFNGLPROGRAMUNIFORM4IEXTPROC                            glProgramUniform4iEXT;
00945       PFNGLPROGRAMUNIFORM1FVEXTPROC                           glProgramUniform1fvEXT;
00946       PFNGLPROGRAMUNIFORM2FVEXTPROC                           glProgramUniform2fvEXT;
00947       PFNGLPROGRAMUNIFORM3FVEXTPROC                           glProgramUniform3fvEXT;
00948       PFNGLPROGRAMUNIFORM4FVEXTPROC                           glProgramUniform4fvEXT;
00949       PFNGLPROGRAMUNIFORM1IVEXTPROC                           glProgramUniform1ivEXT;
00950       PFNGLPROGRAMUNIFORM2IVEXTPROC                           glProgramUniform2ivEXT;
00951       PFNGLPROGRAMUNIFORM3IVEXTPROC                           glProgramUniform3ivEXT;
00952       PFNGLPROGRAMUNIFORM4IVEXTPROC                           glProgramUniform4ivEXT;
00953       PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC                     glProgramUniformMatrix2fvEXT;
00954       PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC                     glProgramUniformMatrix3fvEXT;
00955       PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC                     glProgramUniformMatrix4fvEXT;
00956       PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC                   glProgramUniformMatrix2x3fvEXT;
00957       PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC                   glProgramUniformMatrix3x2fvEXT;
00958       PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC                   glProgramUniformMatrix2x4fvEXT;
00959       PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC                   glProgramUniformMatrix4x2fvEXT;
00960       PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC                   glProgramUniformMatrix3x4fvEXT;
00961       PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC                   glProgramUniformMatrix4x3fvEXT;
00962       PFNGLPROGRAMUNIFORM1UIEXTPROC                           glProgramUniform1uiEXT;
00963       PFNGLPROGRAMUNIFORM2UIEXTPROC                           glProgramUniform2uiEXT;
00964       PFNGLPROGRAMUNIFORM3UIEXTPROC                           glProgramUniform3uiEXT;
00965       PFNGLPROGRAMUNIFORM4UIEXTPROC                           glProgramUniform4uiEXT;
00966       PFNGLPROGRAMUNIFORM1UIVEXTPROC                          glProgramUniform1uivEXT;
00967       PFNGLPROGRAMUNIFORM2UIVEXTPROC                          glProgramUniform2uivEXT;
00968       PFNGLPROGRAMUNIFORM3UIVEXTPROC                          glProgramUniform3uivEXT;
00969       PFNGLPROGRAMUNIFORM4UIVEXTPROC                          glProgramUniform4uivEXT;
00970       PFNGLNAMEDBUFFERDATAEXTPROC                             glNamedBufferDataEXT;
00971       PFNGLNAMEDBUFFERSUBDATAEXTPROC                          glNamedBufferSubDataEXT;
00972       PFNGLMAPNAMEDBUFFEREXTPROC                              glMapNamedBufferEXT;
00973       PFNGLUNMAPNAMEDBUFFEREXTPROC                            glUnmapNamedBufferEXT;
00974       PFNGLGETNAMEDBUFFERPARAMETERIVEXTPROC                   glGetNamedBufferParameterivEXT;
00975       PFNGLGETNAMEDBUFFERPOINTERVEXTPROC                      glGetNamedBufferPointervEXT;
00976       PFNGLGETNAMEDBUFFERSUBDATAEXTPROC                       glGetNamedBufferSubDataEXT;
00977       PFNGLTEXTUREBUFFEREXTPROC                               glTextureBufferEXT;
00978       PFNGLMULTITEXBUFFEREXTPROC                              glMultiTexBufferEXT;
00979       PFNGLNAMEDRENDERBUFFERSTORAGEEXTPROC                    glNamedRenderbufferStorageEXT;
00980       PFNGLGETNAMEDRENDERBUFFERPARAMETERIVEXTPROC             glGetNamedRenderbufferParameterivEXT;
00981       PFNGLCHECKNAMEDFRAMEBUFFERSTATUSEXTPROC                 glCheckNamedFramebufferStatusEXT;
00982       PFNGLNAMEDFRAMEBUFFERTEXTURE1DEXTPROC                   glNamedFramebufferTexture1DEXT;
00983       PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC                   glNamedFramebufferTexture2DEXT;
00984       PFNGLNAMEDFRAMEBUFFERTEXTURE3DEXTPROC                   glNamedFramebufferTexture3DEXT;
00985       PFNGLNAMEDFRAMEBUFFERRENDERBUFFEREXTPROC                glNamedFramebufferRenderbufferEXT;
00986       PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC    glGetNamedFramebufferAttachmentParameterivEXT;
00987       PFNGLGENERATETEXTUREMIPMAPEXTPROC                       glGenerateTextureMipmapEXT;
00988       PFNGLGENERATEMULTITEXMIPMAPEXTPROC                      glGenerateMultiTexMipmapEXT;
00989       PFNGLFRAMEBUFFERDRAWBUFFEREXTPROC                       glFramebufferDrawBufferEXT;
00990       PFNGLFRAMEBUFFERDRAWBUFFERSEXTPROC                      glFramebufferDrawBuffersEXT;
00991       PFNGLFRAMEBUFFERREADBUFFEREXTPROC                       glFramebufferReadBufferEXT;
00992       PFNGLGETFRAMEBUFFERPARAMETERIVEXTPROC                   glGetFramebufferParameterivEXT;
00993       PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC         glNamedRenderbufferStorageMultisampleEXT;
00994       PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXTPROC glNamedRenderbufferStorageMultisampleCoverageEXT;
00995       PFNGLNAMEDFRAMEBUFFERTEXTUREEXTPROC                     glNamedFramebufferTextureEXT;
00996       PFNGLNAMEDFRAMEBUFFERTEXTURELAYEREXTPROC                glNamedFramebufferTextureLayerEXT;
00997       PFNGLNAMEDFRAMEBUFFERTEXTUREFACEEXTPROC                 glNamedFramebufferTextureFaceEXT;
00998       PFNGLTEXTURERENDERBUFFEREXTPROC                         glTextureRenderbufferEXT;
00999       PFNGLMULTITEXRENDERBUFFEREXTPROC                        glMultiTexRenderbufferEXT;
01000
01001 #endif  //  DOXYGEN_IGNORE
01002
01003     private:
01004       int         m_glVersion;
01005       std::set<std::string> m_available;
01006       std::set<std::string> m_exported;
01007   };
01008
01009   inline  void  GLFunctions::disableAvailability( const std::string& extension )
01010   {
01011      m_available.erase( extension );
01012   }
01013
01014   inline  bool  GLFunctions::isAvailable( const std::string& extension ) const
01015   {
01016     return( m_available.find( extension ) != m_available.end() );
01017   }
01018
01019   inline  bool   GLFunctions::isExported( const std::string& extension ) const
01020   {
01021     return( m_exported.find( extension ) != m_exported.end() );
01022   }
01023
01024   inline int GLFunctions::getVersion() const
01025   {
01026     return m_glVersion;
01027   }
01028
01029
01030
01031 #if defined(_WIN32)
01032
01033   class WGLFunctions
01034   {
01035     public:
01037       WGLFunctions( void );
01038
01040       ~WGLFunctions( void );
01041
01047       NVSG_API bool Init(void);
01048
01051       NVSG_API void Reset(void);
01052
01054
01058       NVSG_API bool isAvailable( const std::string& extension
01059                                ) const;
01060
01062
01065       NVSG_API bool isExported( const std::string& extension
01066                               ) const;
01067
01068     public:
01069
01070 //  Don't need to document all these wrapper functions !!!
01071 #if ! defined( DOXYGEN_IGNORE )
01072
01073       //  WGL_ARB_buffer_region functions
01074       PFNWGLCREATEBUFFERREGIONARBPROC             wglCreateBufferRegionARB;
01075       PFNWGLDELETEBUFFERREGIONARBPROC             wglDeleteBufferRegionARB;
01076       PFNWGLRESTOREBUFFERREGIONARBPROC            wglRestoreBufferRegionARB;
01077       PFNWGLSAVEBUFFERREGIONARBPROC               wglSaveBufferRegionARB;
01078
01079       //  WGL_ARB_extensions_string functions
01080       PFNWGLGETEXTENSIONSSTRINGARBPROC            wglGetExtensionsStringARB;
01081
01082       //  WGL_ARB_make_current_read functions
01083       PFNWGLMAKECONTEXTCURRENTARBPROC             wglMakeContextCurrentARB;
01084       PFNWGLGETCURRENTREADDCARBPROC               wglGetCurrentReadDCARB;
01085
01086       //  WGL_ARB_pbuffer functions
01087       PFNWGLCREATEPBUFFERARBPROC                  wglCreatePbufferARB;
01088       PFNWGLDESTROYPBUFFERARBPROC                 wglDestroyPbufferARB;
01089       PFNWGLGETPBUFFERDCARBPROC                   wglGetPbufferDCARB;
01090       PFNWGLQUERYPBUFFERARBPROC                   wglQueryPbufferARB;
01091       PFNWGLRELEASEPBUFFERDCARBPROC               wglReleasePbufferDCARB;
01092
01093       //  WGL_ARB_pixel_format functions
01094       PFNWGLCHOOSEPIXELFORMATARBPROC              wglChoosePixelFormatARB;
01095       PFNWGLGETPIXELFORMATATTRIBIVARBPROC         wglGetPixelFormatAttribivARB;
01096       PFNWGLGETPIXELFORMATATTRIBFVARBPROC         wglGetPixelFormatAttribfvARB;
01097
01098       //  WGL_ARB_render_texture functions
01099       PFNWGLBINDTEXIMAGEARBPROC                   wglBindTexImageARB;
01100       PFNWGLRELEASETEXIMAGEARBPROC                wglReleaseTexImageARB;
01101       PFNWGLSETPBUFFERATTRIBARBPROC               wglSetPbufferAttribARB;
01102
01103       //  WGL_EXT_extensions_string functions
01104       PFNWGLGETEXTENSIONSSTRINGEXTPROC            wglGetExtensionsStringEXT;
01105
01106       //  WGL_EXT_genlock functions
01107       PFNWGLENABLEGENLOCKEXTPROC                  wglEnableGenlockEXT;
01108       PFNWGLDISABLEGENLOCKEXTPROC                 wglDisableGenlockEXT;
01109       PFNWGLGENLOCKSOURCEEXTPROC                  wglGenlockSourceEXT;
01110       PFNWGLGENLOCKSAMPLERATEEXTPROC              wglGenlockSampleRateEXT;
01111       PFNWGLGENLOCKSOURCEDELAYEXTPROC             wglGenlockSourceDelayEXT;
01112       PFNWGLGENLOCKSOURCEEDGEEXTPROC              wglGenlockSourceEdgeEXT;
01113       PFNWGLGETGENLOCKSOURCEEXTPROC               wglGetGenlockSourceEXT;
01114       PFNWGLGETGENLOCKSAMPLERATEEXTPROC           wglGetGenlockSampleRateEXT;
01115       PFNWGLGETGENLOCKSOURCEDELAYEXTPROC          wglGetGenlockSourceDelayEXT;
01116       PFNWGLGETGENLOCKSOURCEEDGEEXTPROC           wglGetGenlockSourceEdgeEXT;
01117       PFNWGLISENABLEDGENLOCKEXTPROC               wglIsEnabledGenlockEXT;
01118       PFNWGLQUERYGENLOCKMAXSOURCEDELAYEXTPROC     wglQueryGenlockMaxSourceDelayEXT;
01119
01120       //  WGL_EXT_swap_control functions
01121       PFNWGLSWAPINTERVALEXTPROC                   wglSwapIntervalEXT;
01122       PFNWGLGETSWAPINTERVALEXTPROC                wglGetSwapIntervalEXT;
01123
01124       //  WGL_EXT_swap_frame_lock functions
01125       PFNWGLENABLEFRAMELOCKEXTPROC                wglEnableFrameLockEXT;
01126       PFNWGLDISABLEFRAMELOCKEXTPROC               wglDisableFrameLockEXT;
01127       PFNWGLISENABLEDFRAMELOCKEXTPROC             wglIsEnabledFrameLockEXT;
01128       PFNWGLQUERYFRAMELOCKMASTEREXTPROC           wglQueryFrameLockMasterEXT;
01129
01130       //  WGL_I3D_genlock functions
01131       PFNWGLENABLEGENLOCKI3DPROC                  wglEnableGenlockI3D;
01132       PFNWGLDISABLEGENLOCKI3DPROC                 wglDisableGenlockI3D;
01133       PFNWGLISENABLEDGENLOCKI3DPROC               wglIsEnabledGenlockI3D;
01134       PFNWGLGENLOCKSOURCEI3DPROC                  wglGenlockSourceI3D;
01135       PFNWGLGETGENLOCKSOURCEI3DPROC               wglGetGenlockSourceI3D;
01136       PFNWGLGENLOCKSOURCEEDGEI3DPROC              wglGenlockSourceEdgeI3D;
01137       PFNWGLGETGENLOCKSOURCEEDGEI3DPROC           wglGetGenlockSourceEdgeI3D;
01138       PFNWGLGENLOCKSAMPLERATEI3DPROC              wglGenlockSampleRateI3D;
01139       PFNWGLGETGENLOCKSAMPLERATEI3DPROC           wglGetGenlockSampleRateI3D;
01140       PFNWGLGENLOCKSOURCEDELAYI3DPROC             wglGenlockSourceDelayI3D;
01141       PFNWGLGETGENLOCKSOURCEDELAYI3DPROC          wglGetGenlockSourceDelayI3D;
01142       PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC     wglQueryGenlockMaxSourceDelayI3D;
01143
01144       //  WGL_KTX_buffer_region functions
01145       PFNWGLNEWBUFFERREGIONPROC                   wglNewBufferRegion;
01146       PFNWGLDELETEBUFFERREGIONPROC                wglDeleteBufferRegion;
01147       PFNWGLREADBUFFERREGIONPROC                  wglReadBufferRegion;
01148       PFNWGLDRAWBUFFERREGIONPROC                  wglDrawBufferRegion;
01149       PFNWGLBUFFERREGIONENABLEDPROC               wglBufferRegionEnabled;
01150
01151       //  WGL_NV_allocate_memory functions
01152       PFNWGLALLOCATEMEMORYNVPROC                  wglAllocateMemoryNV;
01153       PFNWGLFREEMEMORYNVPROC                      wglFreeMemoryNV;
01154
01155       //  WGL_NV_swap_group functions
01156       PFNWGLBINDSWAPBARRIERNVPROC                 wglBindSwapBarrierNV;
01157       PFNWGLJOINSWAPGROUPNVPROC                   wglJoinSwapGroupNV;
01158       PFNWGLQUERYSWAPGROUPNVPROC                  wglQuerySwapGroupNV;
01159       PFNWGLQUERYMAXSWAPGROUPSNVPROC              wglQueryMaxSwapGroupsNV;
01160       PFNWGLQUERYFRAMECOUNTNVPROC                 wglQueryFrameCountNV;
01161       PFNWGLRESETFRAMECOUNTNVPROC                 wglResetFrameCountNV;
01162
01163       // WGL_NV_gpu_affinity
01164       PFNWGLENUMGPUSNVPROC                        wglEnumGpusNV;
01165       PFNWGLENUMGPUDEVICESNVPROC                  wglEnumGpuDevicesNV;
01166       PFNWGLCREATEAFFINITYDCNVPROC                wglCreateAffinityDCNV;
01167       PFNWGLENUMGPUSFROMAFFINITYDCNVPROC          wglEnumGpusFromAffinityDCNV;
01168       PFNWGLDELETEDCNVPROC                        wglDeleteDCNV;
01169
01170       // WGL_NV_video_output
01171       PFNWGLGETVIDEODEVICENVPROC                  wglGetVideoDeviceNV;
01172       PFNWGLRELEASEVIDEODEVICENVPROC              wglReleaseVideoDeviceNV;
01173       PFNWGLBINDVIDEOIMAGENVPROC                  wglBindVideoImageNV;
01174       PFNWGLRELEASEVIDEOIMAGENVPROC               wglReleaseVideoImageNV;
01175       PFNWGLSENDPBUFFERTOVIDEONVPROC              wglSendPbufferToVideoNV;
01176       PFNWGLGETVIDEOINFONVPROC                    wglGetVideoInfoNV;
01177
01178       // WGL_NV_present_video
01179       PFNWGLENUMERATEVIDEODEVICESNVPROC           wglEnumerateVideoDevicesNV;
01180       PFNWGLBINDVIDEODEVICENVPROC                 wglBindVideoDeviceNV;
01181       PFNWGLQUERYCURRENTCONTEXTNVPROC             wglQueryCurrentContextNV;
01182
01183       // WGL_NV_video_capture
01184       PFNWGLBINDVIDEOCAPTUREDEVICENVPROC          wglBindVideoCaptureDeviceNV;
01185       PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC    wglEnumerateVideoCaptureDevicesNV;
01186       PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC          wglLockVideoCaptureDeviceNV;
01187       PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC         wglQueryVideoCaptureDeviceNV;
01188       PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC       wglReleaseVideoCaptureDeviceNV;
01189
01190
01191 #endif  //  DOXYGEN_IGNORE
01192
01193     private:
01194       std::set<std::string> m_available;
01195       std::set<std::string> m_exported;
01196       bool                  isInitialized;
01197   };
01198
01199   typedef nvutil::Singleton<WGLFunctions> theWGLFunctions;
01200   // Usage WGLFunctions * pfWGL = theWGLFunctions::instance();
01201
01202   inline  bool  WGLFunctions::isAvailable( const std::string& extension ) const
01203   {
01204     return( m_available.find( extension ) != m_available.end() );
01205   }
01206
01207   inline  bool  WGLFunctions::isExported( const std::string& extension ) const
01208   {
01209     return( m_exported.find( extension ) != m_exported.end() );
01210   }
01211
01212 #endif // _WIN32
01213
01214 #if defined(LINUX)
01215
01216   class GLXFunctions
01217   {
01218     public:
01220       GLXFunctions( void );
01221
01223       ~GLXFunctions( void );
01224
01230       NVSG_API bool Init(Display * display);
01231
01234       NVSG_API void Reset(void);
01235
01237
01241       NVSG_API bool isAvailable( const std::string& extension
01242                                ) const;
01243
01245
01248       NVSG_API bool isExported( const std::string& extension
01249                               ) const;
01250
01251     public:
01252
01253 //  Don't need to document all these wrapper functions !!!
01254 #if ! defined( DOXYGEN_IGNORE )
01255
01256   // GLX Version 1.3 - REQUIRED
01257   // GLX_SGI_make_current_read - rolled into 1.3
01258   // GLX_EXT_import_context - rolled into 1.3
01259   // GLX_SGIX_fbconfig - rolled into glx 1.3
01260   // GLX_SGIX_pbuffer - rolled into glx 1.3
01261   // no need to export these extensions
01262
01263   // GLX_ARB_get_proc_address - our code already assumes this is present
01264   // GLX Version 1.4 - added glXGetProcAddress - not exposed here
01265
01266   // GLX_SGI_swap_control
01267   PFNGLXSWAPINTERVALSGIPROC         glXSwapIntervalSGI;
01268
01269   // GLX_SGI_video_sync
01270   PFNGLXGETVIDEOSYNCSGIPROC         glXGetVideoSyncSGI;
01271   PFNGLXWAITVIDEOSYNCSGIPROC        glXWaitVideoSyncSGI;
01272
01273   // GLX_NV_swap_group
01274   PFNGLXJOINSWAPGROUPNVPROC         glXJoinSwapGroupNV;
01275   PFNGLXBINDSWAPBARRIERNVPROC       glXBindSwapBarrierNV;
01276   PFNGLXQUERYSWAPGROUPNVPROC        glXQuerySwapGroupNV;
01277   PFNGLXQUERYMAXSWAPGROUPSNVPROC    glXQueryMaxSwapGroupsNV;
01278   PFNGLXQUERYFRAMECOUNTNVPROC       glXQueryFrameCountNV;
01279   PFNGLXRESETFRAMECOUNTNVPROC       glXResetFrameCountNV;
01280
01281   // GLX_NV_video_out
01282   PFNGLXGETVIDEODEVICENVPROC        glXGetVideoDeviceNV;
01283   PFNGLXRELEASEVIDEODEVICENVPROC    glXReleaseVideoDeviceNV;
01284   PFNGLXBINDVIDEOIMAGENVPROC        glXBindVideoImageNV;
01285   PFNGLXRELEASEVIDEOIMAGENVPROC     glXReleaseVideoImageNV;
01286   PFNGLXSENDPBUFFERTOVIDEONVPROC    glXSendPbufferToVideoNV;
01287   PFNGLXGETVIDEOINFONVPROC          glXGetVideoInfoNV;
01288
01289   // GLX_EXT_texture_from_pixmap
01290   PFNGLXBINDTEXIMAGEEXTPROC         glXBindTexImageEXT;
01291   PFNGLXRELEASETEXIMAGEEXTPROC      glXReleaseTexImageEXT;
01292
01293   // GLX_NV_present_video
01294   PFNGLXENUMERATEVIDEODEVICESNVPROC glXEnumerateVideoDevicesNV;
01295   PFNGLXBINDVIDEODEVICENVPROC       glXBindVideoDeviceNV;
01296
01297   // GLX_NV_video_capture
01298   PFNGLXBINDVIDEOCAPTUREDEVICENVPROC       glXBindVideoCaptureDeviceNV;
01299   PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC glXEnumerateVideoCaptureDevicesNV;
01300   PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC       glXLockVideoCaptureDeviceNV;
01301   PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC      glXQueryVideoCaptureDeviceNV;
01302   PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC    glXReleaseVideoCaptureDeviceNV;
01303
01304 #endif  //  DOXYGEN_IGNORE
01305
01306     private:
01307       std::set<std::string> m_available;
01308       std::set<std::string> m_exported;
01309       bool                  isInitialized;
01310   };
01311
01312   typedef nvutil::Singleton<GLXFunctions> theGLXFunctions;
01313   // Usage GLXFunctions * pfGLX = theGLXFunctions::instance();
01314
01315   inline  bool  GLXFunctions::isAvailable( const std::string& extension ) const
01316   {
01317     return( m_available.find( extension ) != m_available.end() );
01318   }
01319
01320   inline  bool  GLXFunctions::isExported( const std::string& extension ) const
01321   {
01322     return( m_exported.find( extension ) != m_exported.end() );
01323   }
01324
01325 #endif // LINUX
01326
01327
01328 } // namespace nvgl
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLObjectRenderer.h File Reference

inc / nvsg / nvgl

GLObjectRenderer.h File Reference

#include <Cg/cgGL.h>
#include <nvsg/ObjectRenderer.h>
#include <nvgl/BufferGL.h>
#include <nvgl/TextureGL.h>
#include <nvgl/RenderContextGL.h>
#include <nvgl/DisplayListGL.h>
#include <nvsg/FaceAttribute.h>
#include <nvsg/Material.h>
#include <nvsg/Primitive.h>
#include <nvsg/RenderList2.h>
#include <nvmath/Vecnt.h>
#include <nvmath/Matnnt.h>
#include <nvui/RendererOptions.h>

Include dependency graph for GLObjectRenderer.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvgl
namespace | nvutil

Typedefs

typedef DIResource * | DIResourceWeakPtr

Enumerations

enum | { RES_VERTEX_BUFFER, RES_INDEX_BUFFER, RES_DISPLAY_LIST, RES_TEXTURE }
enum | { NVSG_MAX_TEXTURE_IMAGES = 32 }

Functions

class | CORE_TYPES (GLObjectRendererTextureCache, nvutil::Observer)

Variables

const unsigned int | MAX_CACHED_TEXTUREATTRIBUTE_ITEMS = 4
typedef nvutil::SmartPtr<
GLObjectRenderer > 		GLObjectRendererSharedPtr
typedef nvutil::SmartPtr<
RLResource > 		RLResourceSharedPtr
typedef nvutil::SmartPtr<
RMGResource > 		RMGResourceSharedPtr
typedef nvutil::SmartPtr<
TextureInfo > 		TextureInfoSharedPtr
typedef nvutil::SmartPtr<
MGResource > 		MGResourceSharedPtr
typedef nvutil::SmartPtr<
TGResource > 		TGResourceSharedPtr
typedef nvutil::SmartPtr<
VertexDeclaration > 		VertexDeclarationSharedPtr
typedef nvutil::SmartPtr<
VertexBufferInfo > 		VertexBufferInfoSharedPtr
typedef nvutil::SmartPtr<
IndexBufferInfo > 		IndexBufferInfoSharedPtr
typedef nvutil::SmartPtr<
DisplayListInfo > 		DisplayListInfoSharedPtr
typedef nvutil::SmartPtr<
DIResource > 		DIResourceSharedPtr

Detailed Description

Generated on Fri Jul 13 13:27:32 2012 for SceniX


SceniX: GLObjectRenderer.h Source File

inc / nvsg / nvgl

GLObjectRenderer.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <Cg/cgGL.h>
00016
00017 #include <nvsg/ObjectRenderer.h>
00018
00019 #include <nvgl/BufferGL.h>
00020 #include <nvgl/TextureGL.h>
00021 #include <nvgl/RenderContextGL.h>
00022 #include <nvgl/DisplayListGL.h>
00023
00024 #include <nvsg/FaceAttribute.h>
00025 #include <nvsg/Material.h>
00026 #include <nvsg/Primitive.h>
00027 #include <nvsg/RenderList2.h>
00028 #include <nvmath/Vecnt.h>
00029 #include <nvmath/Matnnt.h>
00030
00031 #include <nvui/RendererOptions.h>
00032
00033 namespace nvgl
00034 {
00035   enum
00036   {
00037     RES_VERTEX_BUFFER,
00038     RES_INDEX_BUFFER,
00039     RES_DISPLAY_LIST,
00040     RES_TEXTURE
00041   };
00042
00043   enum
00044   {
00045     NVSG_MAX_TEXTURE_IMAGES = 32
00046   };
00047
00048   const unsigned int MAX_CACHED_TEXTUREATTRIBUTE_ITEMS = 4;
00049
00050   class GLObjectRenderer;
00051   typedef nvutil::SmartPtr< GLObjectRenderer > GLObjectRendererSharedPtr;
00052
00053   /* \brief The GLObjectRendererGLStateCache manages some OpenGL states in an abstract way. It reduces the number of
00054             OpenGL calls as much as possible.
00055   **/
00056   class GLObjectRendererGLStateCache
00057   {
00058   public:
00059     GLObjectRendererGLStateCache();
00060
00061     /* \brief Reset all cached values to defaults. */
00062     NVSG_API void reset();
00063
00064     /* \brief Flag all cached values as invalid. The next call to a set function then performs a reset(). */
00065     NVSG_API void invalidate();
00066
00067     // TODO Support caching including VAO state.
00068     /* \brief Enable or disable all attribute arrays corresponding to the given mask.
00069        \param clientAttribState A bitmask specifiying which attributes should be enabled.
00070               Bits 0-15 enable fixed function attributes and bits 16-31 enable the generic attributes.
00071     **/
00072     NVSG_API void setClientAttribState( unsigned int clientAttribState );
00073
00074     NVSG_API void setPrimitiveRestartState( bool enabled, GLuint restartIndex );
00075
00076   private:
00077     bool m_cacheValid;
00078
00079     GLuint m_currentClientAttribState;
00080
00081     bool   m_primitiveRestartEnabled;
00082     GLuint m_primitiveRestartIndex;
00083   };
00084
00085   class GLObjectRendererTextureCache;
00086   CORE_TYPES(GLObjectRendererTextureCache, nvutil::Observer );
00087   class GLObjectRendererTextureCache : public nvutil::Observer
00088   {
00089     friend struct nvutil::Holder<GLObjectRendererTextureCache>;
00090
00091   public:
00092     class Payload : public Subject::Payload
00093     {
00094     public:
00095       Payload( nvsg::TextureWeakPtr tex )
00096         : m_tex( tex )
00097       {
00098       }
00099
00100       nvsg::TextureWeakPtr m_tex;
00101     };
00102     typedef nvutil::SmartPtr<Payload> SmartPayload;
00103
00104   protected:
00105     NVSG_API GLObjectRendererTextureCache();
00106     NVSG_API ~GLObjectRendererTextureCache();
00107
00108   public:
00109     NVSG_API static GLObjectRendererTextureCacheSharedPtr create();
00110
00111     NVSG_API nvgl::TextureGLSharedPtr getGLTexture( nvsg::TextureSharedPtr tex );
00112
00113     NVSG_API virtual void onDestroyed( const nvutil::Subject* subject, const nvutil::Subject::SmartPayload &payload );
00114
00115   private:
00116     typedef std::map< nvsg::TextureWeakPtr, std::pair<nvgl::TextureGLSharedPtr, SmartPayload> > Textures;
00117     Textures m_textures;
00118   };
00119
00120   class RLResource;
00121   typedef nvutil::SmartPtr< RLResource > RLResourceSharedPtr;
00122   class RLResource : public nvsg::Resource
00123   {
00124   protected:
00125     RLResource() {}
00126
00127   public:
00128     static RLResourceSharedPtr create() { return new RLResource; }
00129   };
00130
00131   class RMGResource;
00132   typedef nvutil::SmartPtr< RMGResource > RMGResourceSharedPtr;
00133   class RMGResource : public nvsg::Resource
00134   {
00135   protected:
00136     RMGResource() {}
00137
00138   public:
00139     static RMGResourceSharedPtr create() { return new RMGResource; }
00140   };
00141
00142   class TextureInfo;
00143   typedef nvutil::SmartPtr< TextureInfo > TextureInfoSharedPtr;
00144   class TextureInfo : public nvutil::RCObject
00145   {
00146   protected:
00147     TextureInfo()
00148     {}
00149     TextureInfo(const TextureInfo& rhs) {} // prevent copy by accident
00150
00151   public:
00152     static TextureInfoSharedPtr create() { return new TextureInfo; }
00153
00154   public:
00155     nvgl::TextureGLSharedPtr texture;
00156     GLuint                   textureID;
00157     GLenum                   textureTarget;
00158     bool                     originIsHost;
00159   };
00160
00161   class MGResource;
00162   typedef nvutil::SmartPtr< MGResource > MGResourceSharedPtr;
00163   class MGResource : public nvsg::Resource
00164   {
00165   protected:
00166     MGResource()
00167     {}
00168
00169   public:
00170     static MGResourceSharedPtr create() { return new MGResource; }
00171
00172     struct TexInfo
00173     {
00174       TextureInfoSharedPtr info;
00175       SmartShareGroupGLResource resource;
00176     };
00177
00178     typedef std::vector< std::pair<nvsg::StateAttributeSharedPtr, unsigned int> > StateAttributeVector;
00179
00180     struct PassInfo
00181     {
00182       nvsg::StatePassSharedPtr m_statePass;
00183       StateAttributeVector m_statePassAttributes;
00184
00185       // reserve for NVSG_MAX_TEXTURE_IMAGES texture images
00186       TexInfo m_texture[NVSG_MAX_TEXTURE_IMAGES];
00187       std::map<CGparameter, TexInfo> m_sampler;
00188
00189       // CgFx
00190       nvsg::CgFxSharedPtr m_cgfx;
00191
00192       // storage for fixed function material
00193       nvmath::Vec4f m_backAmbientColor;
00194       nvmath::Vec4f m_backDiffuseColor;
00195       nvmath::Vec4f m_backEmissiveColor;
00196       nvmath::Vec4f m_backSpecularColor;
00197       float         m_backShininess;
00198
00199       nvmath::Vec4f m_frontAmbientColor;
00200       nvmath::Vec4f m_frontDiffuseColor;
00201       nvmath::Vec4f m_frontEmissiveColor;
00202       nvmath::Vec4f m_frontSpecularColor;
00203       float         m_frontShininess;
00204
00205       nvmath::Vec4f m_unlitColor;
00206       bool m_lightingAttribute;
00207       bool m_isLightingAttributeEnabled;
00208
00209       // storage for stencil attribute
00210       bool m_isStencilEnabled;
00211       bool m_isStencilSeparateEnabled;
00212
00213       unsigned int m_stencilFrontWriteMask;       // indicates which bit planes to write to
00214       GLenum       m_stencilFrontFunction;        // stencil function
00215       GLint        m_stencilFrontReferenceValue;  // reference value
00216       GLuint       m_stencilFrontValueMask;       // apply reference value comparison only to those bits set in this mask
00217       GLenum       m_stencilFrontFail;            // operation performed if fragment fails the stencil test
00218       GLenum       m_stencilFrontZFail;           // operation performed if fragment passes the test, and fails the depth test
00219       GLenum       m_stencilFrontZPass;           // operation performed if fragment passes the test, and passes the depth test
00220
00221       unsigned int m_stencilBackWriteMask;       // indicates which bit planes to write to
00222       GLenum       m_stencilBackFunction;        // stencil function
00223       GLint        m_stencilBackReferenceValue;  // reference value
00224       GLuint       m_stencilBackValueMask;       // apply reference value comparison only to those bits set in this mask
00225       GLenum       m_stencilBackFail;            // operation performed if fragment fails the stencil test
00226       GLenum       m_stencilBackZFail;           // operation performed if fragment passes the test, and fails the depth test
00227       GLenum       m_stencilBackZPass;           // operation performed if fragment passes the test, and passes the depth test
00228
00229       // storage for point attribute
00230       bool  m_isPointAttributeEnabled;
00231
00232       bool  m_pointAttributeAntiAliasing;
00233       float m_pointAttributeSize;
00234
00235       // storage for blend attribute
00236       bool  m_isBlendAttributeEnabled;
00237
00238       GLenum m_blendSourceFunction;
00239       GLenum m_blendDestinationFunction;
00240
00241       // storage for texture attribute
00242       unsigned char                       m_textureAttributeItemCount; // 4 bits are enough here
00243       unsigned int                        m_textureAttributeItemUnits[MAX_CACHED_TEXTUREATTRIBUTE_ITEMS];
00244       nvsg::TextureAttributeItemSharedPtr m_textureAttributeItems[MAX_CACHED_TEXTUREATTRIBUTE_ITEMS];
00245     };
00246
00247     std::vector<PassInfo> m_info;
00248   };
00249
00250   class TGResource;
00251   typedef nvutil::SmartPtr< TGResource > TGResourceSharedPtr;
00252   class TGResource : public nvsg::Resource
00253   {
00254   protected:
00255     TGResource() {}
00256   public:
00257     static TGResourceSharedPtr create() { return new TGResource; }
00258
00259   public:
00260     nvsg::RenderObjectSharedPtr m_renderObject;
00261   };
00262
00263   struct VertexAttributeFormat
00264   {
00265     enum
00266     {
00267       IS_NORMALIZED = BIT0,
00268       IS_INTEGER    = BIT1
00269     };
00270
00271     VertexAttributeFormat()
00272       : numComponents(0)
00273       , type(GL_INVALID_VALUE)
00274       , offset(0)
00275       , stride(0)
00276       , formatFlags(0)
00277     {}
00278
00279     bool operator==( const VertexAttributeFormat& rhs ) const
00280     {
00281       return numComponents == rhs.numComponents
00282           && type == rhs.type
00283           && offset == rhs.offset
00284           && stride == rhs.stride
00285           && formatFlags == rhs.formatFlags;
00286     }
00287     bool operator!=( const VertexAttributeFormat& rhs ) const
00288     {
00289        return !(*this==rhs);
00290     }
00291
00292     GLint        numComponents; // attribute size (i.e. # components)
00293     GLenum       type;          // attribute type in GL land
00294     GLsizeiptr   offset;        // offset inside buffer
00295     unsigned int stride;        // attribute stride
00296     unsigned int formatFlags;   // attribute format flags
00297   };
00298
00299   class VertexDeclaration;
00300   typedef nvutil::SmartPtr< VertexDeclaration > VertexDeclarationSharedPtr;
00301   class VertexDeclaration : public nvutil::RCObject
00302   {
00303   protected:
00304     VertexDeclaration()
00305       : size(0)
00306       , containsUserBuffers(false)
00307       , enabledMask(0)
00308     {};
00309   public:
00310     static VertexDeclarationSharedPtr create() { return new VertexDeclaration; }
00311
00312     bool operator==( const VertexDeclaration& rhs )
00313     {
00314       for( unsigned int i=0; i < nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT; ++i )
00315       {
00316         if( attributes[i] != rhs.attributes[i] )
00317         {
00318           return false;
00319         }
00320       }
00321       return true;
00322     }
00323
00324     bool operator!=( const VertexDeclaration& rhs )
00325     {
00326       return !(*this==rhs);
00327     }
00328
00329   public:
00330     VertexAttributeFormat     attributes[nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT];
00331     BufferGLSharedPtr         bufferGLs[nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT];
00332     GLuint                    bufferGLIds[nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT];
00333     GLint                     size;
00334
00335     bool                      containsUserBuffers;  // true if buffers may not be reused during upload
00336     unsigned int              enabledMask;          // enabled mask for attributes
00337     std::vector<unsigned int> enabledAttributes;    // list of enabled attributes
00338   };
00339
00340   class VertexBufferInfo;
00341   typedef nvutil::SmartPtr< VertexBufferInfo > VertexBufferInfoSharedPtr;
00342   class VertexBufferInfo : public nvutil::RCObject
00343   {
00344   protected:
00345     VertexBufferInfo()
00346       : vertexAttribOffset( 0 )
00347       , vertexCount( 0 )
00348     {}
00349     VertexBufferInfo(const VertexBufferInfo& rhs) {} // prevent copy by accident
00350
00351   public:
00352     static VertexBufferInfoSharedPtr create() { return new VertexBufferInfo; }
00353
00354   public:
00355     VertexDeclarationSharedPtr vertexDeclaration;
00356     GLsizeiptr                 vertexAttribOffset;
00357     unsigned int               vertexCount;
00358     nvutil::Incarnation        vasIncarnation; // incarnation count of the underlying vertex attribute set
00359   };
00360
00361   class IndexBufferInfo;
00362   typedef nvutil::SmartPtr< IndexBufferInfo > IndexBufferInfoSharedPtr;
00363   class IndexBufferInfo : public nvutil::RCObject
00364   {
00365   protected:
00366     IndexBufferInfo()
00367       : indexBufferID( 0 )
00368       , indexBufferDataType( 0 )
00369       , primitiveRestartIndex( 0 )
00370       , indexCount( 0 )
00371     {}
00372     IndexBufferInfo(const IndexBufferInfo& rhs) {} // prevent copy by accident
00373
00374   public:
00375     static IndexBufferInfoSharedPtr create() { return new IndexBufferInfo; }
00376
00377   public:
00378     nvgl::BufferGLSharedPtr    indexBuffer;
00379     GLuint                     indexBufferID;
00380     unsigned int               indexBufferDataType;
00381     unsigned int               primitiveRestartIndex;
00382     unsigned int               indexCount;
00383     nvutil::Incarnation        indexSetIncarnation; // incarnation of indexset for gl buffer
00384   };
00385
00386   class DisplayListInfo;
00387   typedef nvutil::SmartPtr< DisplayListInfo > DisplayListInfoSharedPtr;
00388   class DisplayListInfo : public nvutil::RCObject
00389   {
00390   protected:
00391     DisplayListInfo( ) {}
00392     DisplayListInfo(const DisplayListInfo& rhs) {} // prevent copy by accident
00393
00394   public:
00395     static DisplayListInfoSharedPtr create( ) { return new DisplayListInfo( ); }
00396
00397   public:
00398     DisplayListGLSharedPtr displayList;
00399     nvutil::Incarnation    primitiveIncarnation; // incarnation of primitive used to create this DL
00400   };
00401
00402   class DIResource;
00403   typedef nvutil::SmartPtr< DIResource > DIResourceSharedPtr;
00404   typedef DIResource* DIResourceWeakPtr;
00405   class DIResource : public nvsg::Resource
00406   {
00407   protected:
00408     DIResource();
00409     ~DIResource();
00410
00411   public:
00412     static DIResourceSharedPtr create();
00413
00414     class SetupFunction : public nvutil::IAllocator
00415     {
00416     public:
00417       NVSG_API virtual ~SetupFunction() {};
00418       NVSG_API virtual void operator()() const = 0;
00419     };
00420
00421     // Nullary function which setups the VAS state
00422     SetupFunction             *bufferSetup; // setup VAS and Indices
00423
00424     // Primitive Information
00425     GLenum                    glMode;
00426     unsigned int              numberOfVerticesPerPatch;
00427     unsigned int              elementCount;
00428     unsigned int              elementOffset;
00429     unsigned int              indexBufferDataType; // copy from IndexBuffer for faster access
00430     unsigned int              renderFlags;
00431     bool                      hasDrawCallback;
00432     bool                      hasVertexColors;
00433     unsigned int              instanceCount;
00434
00435     // Vertex Attrib Buffer
00436     VertexBufferInfoSharedPtr vertexBufferInfo;
00437     SmartShareGroupGLResource vertexBufferResource;
00438
00439     // Index Buffer
00440     IndexBufferInfoSharedPtr  indexBufferInfo;
00441     SmartShareGroupGLResource indexBufferResource;
00442     nvutil::STLVector<unsigned int> indexStripCount; // number of elements per strip in indexbuffer.
00443
00444     // Display List
00445     DisplayListInfoSharedPtr  displayListInfo;
00446     DisplayListGL*            displayList;
00447     SmartShareGroupGLResource displayListResource;
00448
00449     unsigned int m_enableFlags[nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT];
00450     unsigned int m_isNormalized[nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT];
00451
00452     nvutil::Incarnation       primitiveIncarnation;
00453   };
00454
00455   class GLObjectRenderer : public nvsg::ObjectRenderer
00456   {
00457   public:
00458     enum CacheMode
00459     {
00460       CACHEMODE_UNCACHED,
00461       CACHEMODE_DL,
00462       CACHEMODE_VBO,
00463       CACHEMODE_NUM_CACHEMODES
00464     };
00465
00466     // RendererOptions related defines and functions
00467     enum FaceCullMode
00468     {
00469       CULLMODE_FRONT,
00470       CULLMODE_BACK,
00471       CULLMODE_FRONT_AND_BACK,
00472       CULLMODE_NONE
00473     };
00474
00475     NVSG_API static const std::string& getOptionStringCacheMode()
00476     {
00477       static std::string s("nvgl::GLObjectRenderer::CacheMode");
00478       return s;
00479     }
00480     NVSG_API static const std::string& getOptionStringFaceCullMode()
00481     {
00482       static std::string s( "nvgl::GLObjectRenderer::FaceCullMode" );
00483       return( s );
00484     }
00485     NVSG_API static const std::string& getOptionStringLightModelLocalViewer()
00486     {
00487       static std::string s("nvgl::GLObjectRenderer::LightModelLocalViewer");
00488       return( s );
00489     }
00490     NVSG_API static const std::string& getOptionStringLightModelTwoSide()
00491     {
00492       static std::string s("nvgl::GLObjectRenderer::LightModelTwoSide");
00493       return( s );
00494     }
00495     NVSG_API static const std::string& getOptionStringSeparateSpecularColor()
00496     {
00497       static std::string s("nvgl::GLObjectRenderer::SeparateSpecularColor");
00498       return( s );
00499     }
00500     NVSG_API static const std::string& getOptionStringTransparencyDepthMask()
00501     {
00502       static std::string s( "nvgl::GLObjectRenderer::TransparencyDepthMask" );
00503       return( s );
00504     }
00505
00506   protected:
00507     NVSG_API GLObjectRenderer();
00508
00509   public:
00510     NVSG_API virtual ~GLObjectRenderer();
00511
00512     static GLObjectRendererSharedPtr create()
00513     {
00514       return new GLObjectRenderer;
00515     }
00516
00517   public:
00518     NVSG_API virtual void doAddRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00519     NVSG_API virtual void doSetRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00520
00521     NVSG_API virtual void doBeginRenderFrame();
00522     NVSG_API virtual void doEndRenderFrame();
00523
00524     NVSG_API virtual void doBeginRenderMode( unsigned int mode );
00525     NVSG_API virtual void doEndRenderMode( unsigned int mode );
00526
00527     NVSG_API virtual void doEnableClipPlanes();
00528     NVSG_API virtual void doDisableClipPlanes();
00529
00530     NVSG_API virtual void beginRenderAlphaTestAttribute( const nvsg::AlphaTestAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00531     NVSG_API virtual void beginRenderCgFx( const nvsg::CgFxSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00532     NVSG_API virtual void beginRenderClipPlane( const nvsg::ClipPlaneSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00533     NVSG_API virtual void beginRenderDepthAttribute( const nvsg::DepthAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00534     NVSG_API virtual void beginRenderDirectedLight( const nvsg::DirectedLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00535     NVSG_API virtual void beginRenderFaceAttribute( const nvsg::FaceAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00536     NVSG_API virtual void beginRenderLightingAttribute( const nvsg::LightingAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00537     NVSG_API virtual void beginRenderLineAttribute( const nvsg::LineAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00538     NVSG_API virtual void beginRenderMatrixCamera( const nvsg::MatrixCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00539     NVSG_API virtual void beginRenderParallelCamera( const nvsg::ParallelCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00540     NVSG_API virtual void beginRenderPerspectiveCamera( const nvsg::PerspectiveCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00541     NVSG_API virtual void beginRenderPointLight( const nvsg::PointLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00542     NVSG_API virtual void beginRenderPrimitive( const nvsg::PrimitiveSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00543     NVSG_API virtual void beginRenderSpotLight( const nvsg::SpotLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00544     NVSG_API virtual void beginRenderStatePass( const nvsg::StatePassSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00545     NVSG_API virtual void beginRenderTextureAttributeItem( const nvsg::TextureAttributeItemSharedPtr &p , const unsigned int& tu, const nvsg::ResourceSharedPtr& res );
00546
00547     NVSG_API virtual void endRenderAlphaTestAttribute( const nvsg::AlphaTestAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00548     NVSG_API virtual void endRenderCgFx( const nvsg::CgFxSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00549     NVSG_API virtual void endRenderClipPlane( const nvsg::ClipPlaneSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00550     NVSG_API virtual void endRenderDepthAttribute( const nvsg::DepthAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00551     NVSG_API virtual void endRenderDirectedLight( const nvsg::DirectedLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00552     NVSG_API virtual void endRenderFaceAttribute( const nvsg::FaceAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00553     NVSG_API virtual void endRenderLightingAttribute( const nvsg::LightingAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00554     NVSG_API virtual void endRenderLineAttribute( const nvsg::LineAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00555     NVSG_API virtual void endRenderMatrixCamera( const nvsg::MatrixCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00556     NVSG_API virtual void endRenderParallelCamera( const nvsg::ParallelCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00557     NVSG_API virtual void endRenderPerspectiveCamera( const nvsg::PerspectiveCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00558     NVSG_API virtual void endRenderPointLight( const nvsg::PointLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00559     NVSG_API virtual void endRenderPrimitive( const nvsg::PrimitiveSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00560     NVSG_API virtual void endRenderSpotLight( const nvsg::SpotLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00561     NVSG_API virtual void endRenderTextureAttributeItem( const nvsg::TextureAttributeItemSharedPtr &p , const unsigned int& tu, const nvsg::ResourceSharedPtr& res );
00562
00563     NVSG_API virtual void updateRenderPrimitive( const nvsg::PrimitiveSharedPtr &p, nvsg::ResourceSharedPtr& res );
00564   protected:
00565     // primitive rendering helper functions
00566     NVSG_API void uploadVertexData( const nvsg::VertexAttributeSet* p, VertexBufferInfoSharedPtr &vboBufInfo );
00567     NVSG_API VertexBufferInfoSharedPtr useGLBuffer( const nvsg::VertexAttributeSet* p );
00568     NVSG_API void buildVertexBufferCache( const DIResourceSharedPtr& resource, const nvsg::VertexAttributeSet * p);
00569     NVSG_API void buildIndexBufferCache( const DIResourceSharedPtr& resource, const nvsg::IndexSet *indices );
00570     NVSG_API void beginRenderPrimitiveUncached( const nvsg::PrimitiveSharedPtr &p, const DIResourceSharedPtr& res );
00571     NVSG_API void beginRenderPrimitiveDL( const nvsg::PrimitiveSharedPtr &p, const DIResourceSharedPtr& res );
00572     NVSG_API void beginRenderPrimitiveVBO( const nvsg::PrimitiveSharedPtr &p, const DIResourceSharedPtr& res );
00573     NVSG_API void updateRenderPrimitiveDL( const nvsg::PrimitiveSharedPtr &p, const DIResourceSharedPtr& diRes );
00574     NVSG_API void updateRenderPrimitiveVBO( const nvsg::PrimitiveSharedPtr &p, const DIResourceSharedPtr& diRes );
00575
00576     // camera rendering helper functions
00577     NVSG_API void beginRenderCamera( const nvsg::CameraSharedPtr &p );
00578     NVSG_API void endRenderCamera( const nvsg::CameraSharedPtr &p );
00579
00580     NVSG_API void setConstantFramerate( bool on );
00581
00582   protected:
00583     // property ids of needed renderer options, pointing to the current ObjectRenderer::m_rendererOptions
00584     nvutil::PropertyId m_cacheMode;
00585     nvutil::PropertyId m_faceCullMode;
00586     nvutil::PropertyId m_lightModelLocalViewer;
00587     nvutil::PropertyId m_lightModelTwoSide;
00588     nvutil::PropertyId m_separateSpecularColor;
00589     nvutil::PropertyId m_transparencyDepthMask;
00590
00591     // property caches for renderer options
00592     CacheMode     m_currentCacheMode;
00593     FaceCullMode  m_currentDefaultFaceCullMode;
00594     bool          m_currentLightModelLocalViewer;
00595     bool          m_currentLightModelTwoSide;
00596     bool          m_currentSeparateSpecularColor;
00597     bool          m_currentTransparencyDepthMask;
00598
00599     // derived caches for easier access
00600     bool m_currentFrontFaceCulling;
00601     bool m_currentBackFaceCulling;
00602
00603     // cache for gl states
00604     GLObjectRendererGLStateCache m_glStateCache;
00605
00606     // cache for TextureGL objects
00607     GLObjectRendererTextureCacheSharedPtr m_textureCache; // shared ptr so observer is instantiated correctly
00608
00609   private:
00610     bool addGLLight( const nvsg::LightSourceSharedPtr& lightHdl, GLenum &lightId );
00611     void removeGLLight( const nvsg::LightSourceSharedPtr& lightHdl );
00612
00613     bool addGLClipPlane( const nvsg::ClipPlaneSharedPtr& clipPlaneHdl, GLenum &clipPlaneId );
00614     void removeGLClipPlane( const nvsg::ClipPlaneSharedPtr& clipPlaneHdl );
00615
00616     void setPolygonMode( GLenum face, nvsg::FaceMode mode, const nvsg::FaceAttributeSharedPtr &p = nullptr );
00617
00618     nvsg::PrimitiveSharedPtr triPatchFallback( const nvsg::PatchesBase * p, unsigned int size );
00619     nvsg::PrimitiveSharedPtr rectPatchFallback( const nvsg::PatchesBase * p, unsigned int width, unsigned int height );
00620
00621     void updateTextureInfo( const nvsg::TextureHostSharedPtr &tex, const nvgl::TextureInfoSharedPtr &textureInfo);
00622     void checkTextureInfoForUpdate(const nvsg::TextureSharedPtr &tex, const nvgl::TextureInfoSharedPtr &textureInfo);
00623     void createTextureInfo(const nvsg::TextureSharedPtr &texturePtr, SmartShareGroupGLResource &res, TextureInfoSharedPtr &info);
00624
00625     unsigned int calculateEnabledMask( const nvsg::VertexAttributeSet *vas );
00626
00627   private:
00628     size_t m_maxGLLights;
00629     size_t m_numGLLights;
00630     std::vector< nvsg::LightSourceSharedPtr > m_GLLights;
00631
00632     size_t m_maxGLClipPlanes;
00633     size_t m_numGLClipPlanes;
00634     std::vector< nvsg::ClipPlaneSharedPtr > m_GLClipPlanes;
00635
00636     nvutil::TransformStack m_transformStack;
00637
00638     unsigned int m_currentEnabledMask;
00639     unsigned int m_currentUniformVertexAttributeFormat[ nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT ]; // id for current vertex attribute format;
00640     bool m_anisotropyAvailable;
00641     bool m_tessellationAvailable;
00642     bool m_renderTesselated;  // enabled if tesselation is supported by hw and shader
00643     bool m_bindlessAvailable;
00644     bool m_bindlessActive;
00645     bool m_primitiveRestartAvailable;
00646
00647     bool m_VAOAvailable;  // VAOs will be used for VertexAttributeSetup.
00648   };
00649
00650 } // namespace nvgl
00651
00652 namespace nvutil
00653 {
00654   template <> struct TypedPropertyEnum<nvgl::GLObjectRenderer::CacheMode>
00655   {
00656     enum { type = Property::TYPE_INT };
00657   };
00658
00659   template <> struct TypedPropertyEnum<nvgl::GLObjectRenderer::FaceCullMode>
00660   {
00661     enum { type = Property::TYPE_INT };
00662   };
00663 } // namespace nvutil
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLObjects.h File Reference

inc / nvsg / nvgl

GLObjects.h File Reference

#include "nvsgcommon.h"
#include <set>
#include "nvgl/nvgl.h"
#include "nvutil/RCObject.h"
#include "nvutil/SmartPtr.h"

Include dependency graph for GLObjects.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvgl

Detailed Description

Generated on Fri Jul 13 13:27:32 2012 for SceniX


SceniX: GLObjects.h Source File

inc / nvsg / nvgl

GLObjects.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include <set>
00018 #include "nvgl/nvgl.h"
00019 #include "nvutil/RCObject.h"
00020 #include "nvutil/SmartPtr.h"
00021
00022 namespace nvgl
00023 {
00024   struct VBOCachingState;
00025   class GLDALDataCreator;
00026
00028
00031   class GLObjects
00032   {
00033     friend class GLContext;
00034
00035   public:
00037       GLObjects();
00039       ~GLObjects();
00040
00041   private:
00042     // Collection of shareable objects
00043     struct GLShareables : public nvutil::RCObject
00044     {
00045       GLShareables();
00046       ~GLShareables(); // for cleanup purposes
00047       void exit(); // cleanup
00048
00049       NameSet m_buffers;
00050       NameSet m_lists;
00051       NameSet m_programs;
00052       NameSet m_textures;
00053
00054       VBOCachingState  * m_VBOState;
00055
00056       GLDALDataCreator * m_DALDataCreator;
00057     };
00058
00059     // shareable objects
00060     nvutil::SmartPtr<GLShareables> m_shareables;
00061     // non-shareable objects
00062     NameSet m_queries;
00063   };
00064 } //  namespace nvgl
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLStatistics.h File Reference

inc / nvsg / nvgl

GLStatistics.h File Reference

#include "nvsgcommon.h"

Include dependency graph for GLStatistics.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Detailed Description

Generated on Fri Jul 13 13:27:32 2012 for SceniX


SceniX: GLStatistics.h Source File

inc / nvsg / nvgl

GLStatistics.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #if ! defined( DOXYGEN_IGNORE )   // no need to document this
00018 //#if !defined(NDEBUG)
00019 //# define GL_STATISTICS
00020 //#endif
00021
00022 #if defined( GL_STATISTICS )
00023
00024 #include "nvgl/nvgl.h"
00025 #include "nvmath/Mat44f.h"
00026 #include "nvmath/Vecnt.h"
00027 #include <stack>
00028
00029 # define  NVSG_GL_STATS_FCT_COUNT()                                      glContext()->m_glStats->m_fctCount[__FUNCTION__]++
00030 # define  NVSG_GL_STATS_ACTIVE_TEXTURE( texture )                        glContext()->m_glStats->activeTexture( __FUNCTION__, texture )
00031 # define  NVSG_GL_STATS_BIND_BUFFER( target, id )                        glContext()->m_glStats->bindBuffer( __FUNCTION__, target, id )
00032 # define  NVSG_GL_STATS_BIND_TEXTURE( target, texture )                  glContext()->m_glStats->bindTexture( __FUNCTION__, target, texture )
00033 # define  NVSG_GL_STATS_BLEND_FUNC( sfactor, dfactor )                   glContext()->m_glStats->blendFunc( __FUNCTION__, sfactor, dfactor )
00034 # define  NVSG_GL_STATS_BUFFER_DATA( target, size, data, usage )         glContext()->m_glStats->bufferData( __FUNCTION__, target, size, data, usage )
00035 # define  NVSG_GL_STATS_CALL_LIST( list )                                glContext()->m_glStats->callList( __FUNCTION__, list )
00036 # define  NVSG_GL_STATS_CLEAR( mask )                                    glContext()->m_glStats->clear( __FUNCTION__, mask )
00037 # define  NVSG_GL_STATS_CLEAR_COLOR( red, green, blue, alpha )           glContext()->m_glStats->clearColor( __FUNCTION__, red, green, blue, alpha );
00038 # define  NVSG_GL_STATS_CLIENT_ACTIVE_TEXTURE( texture )                 glContext()->m_glStats->clientActiveTexture( __FUNCTION__, texture )
00039 # define  NVSG_GL_STATS_CLIENT_STATE( array, on )                        glContext()->m_glStats->clientState( __FUNCTION__, array, on )
00040 # define  NVSG_GL_STATS_COLOR3B( red, green, blue )                      glContext()->m_glStats->color3b( __FUNCTION__, red, green, blue )
00041 # define  NVSG_GL_STATS_COLOR3BV( v )                                    glContext()->m_glStats->color3bv( __FUNCTION__, v )
00042 # define  NVSG_GL_STATS_COLOR3D( red, green, blue )                      glContext()->m_glStats->color3d( __FUNCTION__, red, green, blue )
00043 # define  NVSG_GL_STATS_COLOR3DV( v )                                    glContext()->m_glStats->color3dv( __FUNCTION__, v )
00044 # define  NVSG_GL_STATS_COLOR3F( red, green, blue )                      glContext()->m_glStats->color3f( __FUNCTION__, red, green, blue )
00045 # define  NVSG_GL_STATS_COLOR3FV( v )                                    glContext()->m_glStats->color3fv( __FUNCTION__, v )
00046 # define  NVSG_GL_STATS_COLOR3I( red, green, blue )                      glContext()->m_glStats->color3i( __FUNCTION__, red, green, blue )
00047 # define  NVSG_GL_STATS_COLOR3IV( v )                                    glContext()->m_glStats->color3iv( __FUNCTION__, v )
00048 # define  NVSG_GL_STATS_COLOR3S( red, green, blue )                      glContext()->m_glStats->color3s( __FUNCTION__, red, green, blue )
00049 # define  NVSG_GL_STATS_COLOR3SV( v )                                    glContext()->m_glStats->color3sv( __FUNCTION__, v )
00050 # define  NVSG_GL_STATS_COLOR3UB( red, green, blue )                     glContext()->m_glStats->color3ub( __FUNCTION__, red, green, blue )
00051 # define  NVSG_GL_STATS_COLOR3UBV( v )                                   glContext()->m_glStats->color3ubv( __FUNCTION__, v )
00052 # define  NVSG_GL_STATS_COLOR3UI( red, green, blue )                     glContext()->m_glStats->color3ui( __FUNCTION__, red, green, blue )
00053 # define  NVSG_GL_STATS_COLOR3UIV( v )                                   glContext()->m_glStats->color3uiv( __FUNCTION__, v )
00054 # define  NVSG_GL_STATS_COLOR3US( red, green, blue )                     glContext()->m_glStats->color3us( __FUNCTION__, red, green, blue )
00055 # define  NVSG_GL_STATS_COLOR3USV( v )                                   glContext()->m_glStats->color3usv( __FUNCTION__, v )
00056 # define  NVSG_GL_STATS_COLOR4B( red, green, blue, alpha )               glContext()->m_glStats->color4b( __FUNCTION__, red, green, blue, alpha )
00057 # define  NVSG_GL_STATS_COLOR4BV( v )                                    glContext()->m_glStats->color4bv( __FUNCTION__, v )
00058 # define  NVSG_GL_STATS_COLOR4D( red, green, blue, alpha )               glContext()->m_glStats->color4d( __FUNCTION__, red, green, blue, alpha )
00059 # define  NVSG_GL_STATS_COLOR4DV( v )                                    glContext()->m_glStats->color4dv( __FUNCTION__, v )
00060 # define  NVSG_GL_STATS_COLOR4F( red, green, blue, alpha )               glContext()->m_glStats->color4f( __FUNCTION__, red, green, blue, alpha )
00061 # define  NVSG_GL_STATS_COLOR4FV( v )                                    glContext()->m_glStats->color4fv( __FUNCTION__, v )
00062 # define  NVSG_GL_STATS_COLOR4I( red, green, blue, alpha )               glContext()->m_glStats->color4i( __FUNCTION__, red, green, blue, alpha )
00063 # define  NVSG_GL_STATS_COLOR4IV( v )                                    glContext()->m_glStats->color4iv( __FUNCTION__, v )
00064 # define  NVSG_GL_STATS_COLOR4S( red, green, blue, alpha )               glContext()->m_glStats->color4s( __FUNCTION__, red, green, blue, alpha )
00065 # define  NVSG_GL_STATS_COLOR4SV( v )                                    glContext()->m_glStats->color4sv( __FUNCTION__, v )
00066 # define  NVSG_GL_STATS_COLOR4UB( red, green, blue, alpha )              glContext()->m_glStats->color4ub( __FUNCTION__, red, green, blue, alpha )
00067 # define  NVSG_GL_STATS_COLOR4UBV( v )                                   glContext()->m_glStats->color4ubv( __FUNCTION__, v )
00068 # define  NVSG_GL_STATS_COLOR4UI( red, green, blue, alpha )              glContext()->m_glStats->color4ui( __FUNCTION__, red, green, blue, alpha )
00069 # define  NVSG_GL_STATS_COLOR4UIV( v )                                   glContext()->m_glStats->color4uiv( __FUNCTION__, v )
00070 # define  NVSG_GL_STATS_COLOR4US( red, green, blue, alpha )              glContext()->m_glStats->color4us( __FUNCTION__, red, green, blue, alpha )
00071 # define  NVSG_GL_STATS_COLOR4USV( v )                                   glContext()->m_glStats->color4usv( __FUNCTION__, v )
00072 # define  NVSG_GL_STATS_DELETE_BUFFERS( n, buffers )                     glContext()->m_glStats->deleteBuffers( __FUNCTION__, n, buffers )
00073 # define  NVSG_GL_STATS_DELETE_LISTS( list, range )                      glContext()->m_glStats->deleteLists( __FUNCTION__, list, range )
00074 # define  NVSG_GL_STATS_DELETE_TEXTURES( n, textures )                   glContext()->m_glStats->deleteTextures( __FUNCTION__, n, textures )
00075 # define  NVSG_GL_STATS_DEPTH_FUNC( func )                               glContext()->m_glStats->depthFunc( __FUNCTION__, func )
00076 # define  NVSG_GL_STATS_DEPTH_MASK( flag )                               glContext()->m_glStats->depthMask( __FUNCTION__, flag )
00077 # define  NVSG_GL_STATS_DRAW_ELEMENTS( mode, count, type, indices )      glContext()->m_glStats->drawElements( __FUNCTION__, mode, count, type, indices )
00078 # define  NVSG_GL_STATS_DRAW_RANGE_ELEMENTS( mode, start, end, count, type, indices )  \
00079                                                                          glContext()->m_glStats->drawRangeElements( __FUNCTION__, mode, start, end, count, type, indices )
00080 # define  NVSG_GL_STATS_END_LIST()                                       glContext()->m_glStats->endList( __FUNCTION__ );
00081 # define  NVSG_GL_STATS_FRUSTUM( left, right, bottom, top, zNear, zFar ) glContext()->m_glStats->frustum( __FUNCTION__, left, right, bottom, top, zNear, zFar )
00082 # define  NVSG_GL_STATS_GEN_BUFFERS( n, buffers )                        glContext()->m_glStats->genBuffers( __FUNCTION__, n, buffers )
00083 # define  NVSG_GL_STATS_GEN_LISTS( range )                               glContext()->m_glStats->genLists( __FUNCTION__, range )
00084 # define  NVSG_GL_STATS_GEN_TEXTURES( n, textures )                      glContext()->m_glStats->genTextures( __FUNCTION__, n, textures )
00085 # define  NVSG_GL_STATS_GET_INTEGERV( pname, params )                    glContext()->m_glStats->getIntegerv( __FUNCTION__, pname, params )
00086 # define  NVSG_GL_STATS_IS_TEXTURE( texture )                            glContext()->m_glStats->isTexture( __FUNCTION__, texture )
00087 # define  NVSG_GL_STATS_LIGHTF( light, pname, param )                    glContext()->m_glStats->lightf( __FUNCTION__, light, pname, param )
00088 # define  NVSG_GL_STATS_LIGHTFV( light, pname, params )                  glContext()->m_glStats->lightfv( __FUNCTION__, light, pname, params )
00089 # define  NVSG_GL_STATS_LIGHTI( light, pname, param )                    glContext()->m_glStats->lighti( __FUNCTION__, light, pname, param )
00090 # define  NVSG_GL_STATS_LIGHTIV( light, pname, params )                  glContext()->m_glStats->lightiv( __FUNCTION__, light, pname, params )
00091 # define  NVSG_GL_STATS_LIGHT_MODELF( pname, param )                     glContext()->m_glStats->lightModelf( __FUNCTION__, pname, param )
00092 # define  NVSG_GL_STATS_LIGHT_MODELFV( pname, params )                   glContext()->m_glStats->lightModelfv( __FUNCTION__, pname, params )
00093 # define  NVSG_GL_STATS_LIGHT_MODELI( pname, param )                     glContext()->m_glStats->lightModeli( __FUNCTION__, pname, param )
00094 # define  NVSG_GL_STATS_LIGHT_MODELIV( pname, params )                   glContext()->m_glStats->lightModeliv( __FUNCTION__, pname, params )
00095 # define  NVSG_GL_STATS_LINE_WIDTH( width )                              glContext()->m_glStats->lineWidth( __FUNCTION__, width )
00096 # define  NVSG_GL_STATS_LOAD_IDENTITY()                                  glContext()->m_glStats->loadIdentity( __FUNCTION__ )
00097 # define  NVSG_GL_STATS_LOAD_MATRIXD( m )                                glContext()->m_glStats->loadMatrixd( __FUNCTION__, m )
00098 # define  NVSG_GL_STATS_LOAD_MATRIXF( m )                                glContext()->m_glStats->loadMatrixf( __FUNCTION__, m )
00099 # define  NVSG_GL_STATS_MATERIALF( face, pname, param )                  glContext()->m_glStats->materialf( __FUNCTION__, face, pname, param )
00100 # define  NVSG_GL_STATS_MATERIALFV( face, pname, params )                glContext()->m_glStats->materialfv( __FUNCTION__, face, pname, params )
00101 # define  NVSG_GL_STATS_MATERIALI( face, pname, param )                  glContext()->m_glStats->materiali( __FUNCTION__, face, pname, param )
00102 # define  NVSG_GL_STATS_MATERIALIV( face, pname, params )                glContext()->m_glStats->materialiv( __FUNCTION__, face, pname, params )
00103 # define  NVSG_GL_STATS_MATRIX_MODE( mode )                              glContext()->m_glStats->matrixMode( __FUNCTION__, mode )
00104 # define  NVSG_GL_STATS_MULT_MATRIXD( m )                                glContext()->m_glStats->multMatrixd( __FUNCTION__, m )
00105 # define  NVSG_GL_STATS_MULT_MATRIXF( m )                                glContext()->m_glStats->multMatrixf( __FUNCTION__, m )
00106 # define  NVSG_GL_STATS_NEW_LIST( list, mode )                           glContext()->m_glStats->newList( __FUNCTION__, list, mode )
00107 # define  NVSG_GL_STATS_NORMAL_POINTER( type, stride, pointer )          glContext()->m_glStats->normalPointer( __FUNCTION__, type, stride, pointer )
00108 # define  NVSG_GL_STATS_ORTHO( left, right, bottom, top, zNear, zFar )   glContext()->m_glStats->ortho( __FUNCTION__, left, right, bottom, top, zNear, zFar )
00109 # define  NVSG_GL_STATS_POINT_SIZE( size )                               glContext()->m_glStats->pointSize( __FUNCTION__, size )
00110 # define  NVSG_GL_STATS_POLYGON_MODE( face, mode )                       glContext()->m_glStats->polygonMode( __FUNCTION__, face, mode )
00111 # define  NVSG_GL_STATS_POLYGON_OFFSET( factor, units )                  glContext()->m_glStats->polygonOffset( __FUNCTION__, factor, units )
00112 # define  NVSG_GL_STATS_POP_ATTRIB()                                     glContext()->m_glStats->popAttrib( __FUNCTION__ )
00113 # define  NVSG_GL_STATS_POP_MATRIX()                                     glContext()->m_glStats->popMatrix( __FUNCTION__ )
00114 # define  NVSG_GL_STATS_PRIMITIVE_RESTART_INDEX( index )                 glContext()->m_glStats->primitiveRestartIndex( __FUNCTION__, index )
00115 # define  NVSG_GL_STATS_PUSH_ATTRIB( mask )                              glContext()->m_glStats->pushAttrib( __FUNCTION__, mask )
00116 # define  NVSG_GL_STATS_PUSH_MATRIX()                                    glContext()->m_glStats->pushMatrix( __FUNCTION__ )
00117 # define  NVSG_GL_STATS_ROTATED( angle, x, y, z )                        glContext()->m_glStats->rotated( __FUNCTION__, angle, x, y, z )
00118 # define  NVSG_GL_STATS_ROTATEF( angle, x, y, z )                        glContext()->m_glStats->rotatef( __FUNCTION__, angle, x, y, z )
00119 # define  NVSG_GL_STATS_SCALED( x, y, z )                                glContext()->m_glStats->scaled( __FUNCTION__, x, y, z )
00120 # define  NVSG_GL_STATS_SCALEF( x, y, z )                                glContext()->m_glStats->scalef( __FUNCTION__, x, y, z )
00121 # define  NVSG_GL_STATS_STATE( cap, on )                                 glContext()->m_glStats->state( __FUNCTION__, cap, on )
00122 # define  NVSG_GL_STATS_TEX_COORD_POINTER( size, type, stride, pointer ) glContext()->m_glStats->texCoordPointer( __FUNCTION__, size, type, stride, pointer )
00123 # define  NVSG_GL_STATS_TEX_ENVF( target, pname, param )                 glContext()->m_glStats->texEnvf( __FUNCTION__, target, pname, param )
00124 # define  NVSG_GL_STATS_TEX_ENVFV( target, pname, params )               glContext()->m_glStats->texEnvfv( __FUNCTION__, target, pname, params )
00125 # define  NVSG_GL_STATS_TEX_ENVI( target, pname, param )                 glContext()->m_glStats->texEnvi( __FUNCTION__, target, pname, param )
00126 # define  NVSG_GL_STATS_TEX_ENVIV( target, pname, params )               glContext()->m_glStats->texEnviv( __FUNCTION__, target, pname, params )
00127 # define  NVSG_GL_STATS_TEX_IMAGE2D( target, level, internalformat, width, height, border, format, type, pixels )  \
00128                                                                          glContext()->m_glStats->texImage2d( __FUNCTION__, target, level, internalformat, width, height, border, format, type, pixel
00129 s )
00130 # define  NVSG_GL_STATS_TEX_PARAMETERF( target, pname, param )           glContext()->m_glStats->texParameterf( __FUNCTION__, target, pname, param )
00131 # define  NVSG_GL_STATS_TEX_PARAMETERFV( target, pname, params )         glContext()->m_glStats->texParameterfv( __FUNCTION__, target, pname, params )
00132 # define  NVSG_GL_STATS_TEX_PARAMETERI( target, pname, param )           glContext()->m_glStats->texParameteri( __FUNCTION__, target, pname, param )
00133 # define  NVSG_GL_STATS_TEX_PARAMETERIV( target, pname, params )         glContext()->m_glStats->texParameteriv( __FUNCTION__, target, pname, params )
00134 # define  NVSG_GL_STATS_TRANSLATED( x, y, z )                            glContext()->m_glStats->translated( __FUNCTION__, x, y, z )
00135 # define  NVSG_GL_STATS_TRANSLATEF( x, y, z )                            glContext()->m_glStats->translatef( __FUNCTION__, x, y, z )
00136 # define  NVSG_GL_STATS_VERTEX_POINTER( size, type, stride, pointer )    glContext()->m_glStats->vertexPointer( __FUNCTION__, size, type, stride, pointer )
00137 # define  NVSG_GL_STATS_VIEWPORT( x, y, width, height )                  glContext()->m_glStats->viewport( __FUNCTION__, x, y, width, height )
00138
00139
00140 class GLStatsEnable
00141 {
00142 public:
00143   GLStatsEnable( void )
00144     : enableState(false)
00145     , enableCalls(0)
00146     , disableCalls(0)
00147     , redundantEnables(0)
00148     , redundantDisables(0)
00149   {
00150   }
00151
00152 public:
00153   bool    enableState;
00154   size_t  enableCalls;
00155   size_t  disableCalls;
00156   size_t  redundantEnables;
00157   size_t  redundantDisables;
00158 };
00159
00160 class GLStatsCount
00161 {
00162 public:
00163   GLStatsCount( void )
00164     : calls(0)
00165     , redundantCalls(0)
00166   {
00167   }
00168
00169 public:
00170   size_t  calls;
00171   size_t  redundantCalls;
00172 };
00173
00174 class GLStatsFloat : public GLStatsCount
00175 {
00176 public:
00177   GLStatsFloat( void )
00178     : value(-1.0f)
00179   {
00180   }
00181
00182 public:
00183   float   value;
00184 };
00185
00186 class GLStatsVec3f : public GLStatsCount
00187 {
00188 public:
00189   GLStatsVec3f( void )
00190     : value( -1.0f, -1.0f, -1.0f )
00191   {
00192   }
00193
00194 public:
00195   nvmath::Vec3f value;
00196 };
00197
00198 class GLStatsVec4f : public GLStatsCount
00199 {
00200 public:
00201   GLStatsVec4f( void )
00202     : value( -1.0f, -1.0f, -1.0f, -1.0f )
00203   {
00204   }
00205
00206 public:
00207   nvmath::Vec4f value;
00208 };
00209
00210 class GLStatistics
00211 {
00212 public:
00213   GLStatistics( void );
00214
00215   void  dump( void );
00216   void  dumpHistogram( FILE *fh, const std::map<size_t,size_t> &hist, char *prefix );
00217   void  activeTexture( const char *fctName, GLenum texture );
00218   void  bindBuffer( const char *fctName, GLenum target, GLuint id );
00219   void  bindTexture( const char *fctName, GLenum target, GLuint texture );
00220   void  blendFunc( const char *fctName, GLenum sfactor, GLenum dfactor );
00221   void  bufferData( const char *fctName, GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage );
00222   void  callList( const char *fctName, GLuint list );
00223   void  clear( const char *fctName, GLbitfield mask );
00224   void  clearColor( const char *fctName, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
00225   void  clientActiveTexture( const char *fctName, GLenum texture );
00226   void  clientState( const char *fctName, GLenum array, bool enable );
00227   void  color3b( const char *fctName, GLbyte red, GLbyte green, GLbyte blue );
00228   void  color3bv( const char *fctName, const GLbyte *v );
00229   void  color3d( const char *fctName, GLdouble red, GLdouble green, GLdouble blue );
00230   void  color3dv( const char *fctName, const GLdouble *v );
00231   void  color3f( const char *fctName, GLfloat red, GLfloat green, GLfloat blue );
00232   void  color3fv( const char *fctName, const GLfloat *v );
00233   void  color3i( const char *fctName, GLint red, GLint green, GLint blue );
00234   void  color3iv( const char *fctName, const GLint *v );
00235   void  color3s( const char *fctName, GLshort red, GLshort green, GLshort blue );
00236   void  color3sv( const char *fctName, const GLshort *v );
00237   void  color3ub( const char *fctName, GLubyte red, GLubyte green, GLubyte blue );
00238   void  color3ubv( const char *fctName, const GLubyte *v );
00239   void  color3ui( const char *fctName, GLuint red, GLuint green, GLuint blue );
00240   void  color3uiv( const char *fctName, const GLuint *v );
00241   void  color3us( const char *fctName, GLushort red, GLushort green, GLushort blue );
00242   void  color3usv( const char *fctName, const GLushort *v );
00243   void  color4b( const char *fctName, GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
00244   void  color4bv( const char *fctName, const GLbyte *v );
00245   void  color4d( const char *fctName, GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
00246   void  color4dv( const char *fctName, const GLdouble *v );
00247   void  color4f( const char *fctName, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
00248   void  color4fv( const char *fctName, const GLfloat *v );
00249   void  color4i( const char *fctName, GLint red, GLint green, GLint blue, GLint alpha );
00250   void  color4iv( const char *fctName, const GLint *v );
00251   void  color4s( const char *fctName, GLshort red, GLshort green, GLshort blue, GLshort alpha );
00252   void  color4sv( const char *fctName, const GLshort *v );
00253   void  color4ub( const char *fctName, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
00254   void  color4ubv( const char *fctName, const GLubyte *v );
00255   void  color4ui( const char *fctName, GLuint red, GLuint green, GLuint blue, GLuint alpha );
00256   void  color4uiv( const char *fctName, const GLuint *v );
00257   void  color4us( const char *fctName, GLushort red, GLushort green, GLushort blue, GLushort alpha );
00258   void  color4usv( const char *fctName, const GLushort *v );
00259   void  deleteBuffers( const char *fctName, GLsizei n, const GLuint *buffers );
00260   void  deleteLists( const char *fctName, GLuint list, GLsizei range );
00261   void  deleteTextures( const char *fctName, GLsizei n, const GLuint *textures );
00262   void  depthFunc( const char *fctName, GLenum func );
00263   void  depthMask( const char *fctName, GLboolean flag );
00264   void  drawElements( const char *fctName, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices );
00265   void  drawRangeElements( const char *fctName, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
00266   void  endList( const char *fctName );
00267   void  frustum( const char *fctName, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
00268   void  initLightDefault( GLenum light, GLenum pname );
00269   void  initLightModelDefault( GLenum pname );
00270   void  initMaterialDefault( GLenum face, GLenum pname );
00271   void  initMatrixDefault( void );
00272   void  initPolygonMode( GLenum face );
00273   void  initStateDefault( GLenum cap );
00274   void  initTexEnv( GLenum target, GLenum pname );
00275   void  initTexParameter( GLenum target, GLenum pname );
00276   void  genBuffers( const char *fctName, GLsizei n, GLuint *buffers );
00277   void  genLists( const char *fctName, GLsizei range );
00278   void  genTextures( const char *fctName, GLsizei n, GLuint *textures );
00279   void  getIntegerv( const char *fctName, GLenum pname, GLint *params );
00280   void  isTexture( const char *fctName, GLuint texture );
00281   void  lightf( const char *fctName, GLenum light, GLenum pname, GLfloat param );
00282   void  lightfv( const char *fctName, GLenum light, GLenum pname, const GLfloat *params );
00283   void  lighti( const char *fctName, GLenum light, GLenum pname, GLint param );
00284   void  lightiv( const char *fctName, GLenum light, GLenum pname, const GLint *params );
00285   void  lightModelf( const char *fctName, GLenum pname, GLfloat param );
00286   void  lightModelfv( const char *fctName, GLenum pname, const GLfloat *params );
00287   void  lightModeli( const char *fctName, GLenum pname, GLint param );
00288   void  lightModeliv( const char *fctName, GLenum pname, const GLint *params );
00289   void  lineWidth( const char *fctName, GLfloat width );
00290   void  loadIdentity( const char *fctName );
00291   void  loadMatrixd( const char *fctName, const GLdouble *m );
00292   void  loadMatrixf( const char *fctName, const GLfloat *m );
00293   void  materialf( const char *fctName, GLenum face, GLenum pname, GLfloat param );
00294   void  materialfv( const char *fctName, GLenum face, GLenum pname, const GLfloat *params );
00295   void  materiali( const char *fctName, GLenum face, GLenum pname, GLint param );
00296   void  materialiv( const char *fctName, GLenum face, GLenum pname, const GLint *params );
00297   void  matrixMode( const char *fctName, GLenum mode );
00298   void  multMatrixd( const char *fctName, const GLdouble *m );
00299   void  multMatrixf( const char *fctName, const GLfloat *m );
00300   void  newList( const char *fctName, GLuint list, GLenum mode );
00301   void  normalPointer( const char *fctName, GLenum type, GLsizei stride, const GLvoid *pointer );
00302   void  ortho( const char *fctName, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear
00303              , GLdouble zFar );
00304   void  pointSize( const char *fctName, GLfloat size );
00305   void  polygonMode( const char *fctName, GLenum face, GLenum mode );
00306   void  polygonOffset( const char *fctName, GLfloat factor, GLfloat units );
00307   void  popAttrib( const char *fctName );
00308   void  popMatrix( const char *fctName );
00309   void  primitiveRestartIndex( const char *fctName, GLuint index );
00310   void  pushAttrib( const char *fctName, GLbitfield mask );
00311   void  pushMatrix( const char *fctName );
00312   void  rotated( const char *fctName , GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
00313   void  rotatef( const char *fctName , GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
00314   void  scaled( const char *fctName, GLdouble x, GLdouble y, GLdouble z );
00315   void  scalef( const char *fctName, GLfloat x, GLfloat y, GLfloat z );
00316   void  state( const char *fctName, GLenum cap, bool on );
00317   void  texCoordPointer( const char *fctName, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00318   void  texEnvf( const char *fctName, GLenum target, GLenum pname, GLfloat param );
00319   void  texEnvfv( const char *fctName, GLenum target, GLenum pname, const GLfloat *params );
00320   void  texEnvi( const char *fctName, GLenum target, GLenum pname, GLint param );
00321   void  texEnviv( const char *fctName, GLenum target, GLenum pname, const GLint *params );
00322   void  texImage2d( const char *fctName, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height
00323                   , GLint border, GLenum format, GLenum type, const GLvoid *pixels );
00324   void  texParameterf( const char *fctName, GLenum target, GLenum pname, GLfloat param );
00325   void  texParameterfv( const char *fctName, GLenum target, GLenum pname, const GLfloat *params );
00326   void  texParameteri( const char *fctName, GLenum target, GLenum pname, GLint param );
00327   void  texParameteriv( const char *fctName, GLenum target, GLenum pname, const GLint *params );
00328   void  translated( const char *fctName, GLdouble x, GLdouble y, GLdouble z );
00329   void  translatef( const char *fctName, GLfloat x, GLfloat y, GLfloat z );
00330   void  vertexPointer( const char *fctName, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer );
00331   void  viewport( const char *fctName, GLint x, GLint y, GLsizei width, GLsizei height );
00332
00333 public:
00334   std::map<std::string,size_t>                        m_fctCount;
00335   std::map<std::string,GLStatsCount>                  m_fctStats;
00336   GLenum                                              m_activeTexture;
00337   GLenum                                              m_blendFuncDFactor;
00338   GLenum                                              m_blendFuncSFactor;
00339   std::map<GLenum,GLuint>                             m_boundBuffer;
00340   std::vector<std::map<GLenum,GLuint> >               m_boundTexture;
00341   std::map<GLuint,std::vector<char> >                 m_bufferData;
00342   std::map<GLuint,GLenum>                             m_bufferDataUsage;
00343   nvmath::Vec4f                                       m_clearColor;
00344   GLenum                                              m_clientActiveTexture;
00345   nvmath::Vec4f                                       m_color;
00346   GLenum                                              m_depthFunc;
00347   GLboolean                                           m_depthMask;
00348   std::map<size_t,size_t>                             m_drawElementsHistogram;
00349   std::map<size_t,size_t>                             m_drawElementsIndexDistanceHistogram;
00350   std::map<GLenum,std::map<GLenum,GLfloat> >          m_lightf;
00351   std::map<GLenum,std::map<GLenum,nvmath::Vec3f> >    m_light3f;
00352   std::map<GLenum,std::map<GLenum,nvmath::Vec4f> >    m_light4f;
00353   std::map<GLenum,nvmath::Vec4f>                      m_lightModel4f;
00354   std::map<GLenum,GLint>                              m_lightModeli;
00355   GLfloat                                             m_lineWidth;
00356   std::map<GLenum,std::map<GLenum,GLfloat> >          m_materialf;
00357   std::map<GLenum,std::map<GLenum,nvmath::Vec4f> >    m_material4f;
00358   std::map<GLenum,std::stack<nvmath::Mat44f> >        m_matrixf;
00359   GLenum                                              m_matrixMode;
00360   GLfloat                                             m_pointSize;
00361   std::map<GLenum,GLenum>                             m_polygonMode;
00362   GLfloat                                             m_polygonOffsetFactor;
00363   GLfloat                                             m_polygonOffsetUnits;
00364   GLuint                                              m_primitiveRestartIndex;
00365   std::map<GLenum,bool>                               m_state;
00366   std::map<GLuint,std::map<GLint,GLint> >             m_texImage2dInternalFormat;
00367   std::map<GLuint,std::map<GLenum,GLint> >            m_texParameter;
00368   std::map<GLuint,nvmath::Vec4f>                      m_textureBorderColor;
00369   std::map<GLenum,bool>                               m_textureCoordArrayState;
00370   std::map<GLenum,nvmath::Vec4f>                      m_textureEnvColor;
00371   std::map<GLenum,GLint>                              m_textureEnvMode;
00372   std::map<GLuint,GLfloat>                            m_texturePriority;
00373   GLsizei                                             m_viewportHeight;
00374   GLsizei                                             m_viewportWidth;
00375   GLint                                               m_viewportX;
00376   GLint                                               m_viewportY;
00377 };
00378
00379 #else
00380
00381 # define  NVSG_GL_STATS_FCT_COUNT()
00382 # define  NVSG_GL_STATS_ACTIVE_TEXTURE( texture )
00383 # define  NVSG_GL_STATS_BIND_BUFFER( target, id )
00384 # define  NVSG_GL_STATS_BIND_TEXTURE( target, texture )
00385 # define  NVSG_GL_STATS_BLEND_FUNC( sfactor, dfactor )
00386 # define  NVSG_GL_STATS_BUFFER_DATA( target, size, data, usage )
00387 # define  NVSG_GL_STATS_CALL_LIST( list )
00388 # define  NVSG_GL_STATS_CLEAR( mask )
00389 # define  NVSG_GL_STATS_CLEAR_COLOR( red, green, blue, alpha )
00390 # define  NVSG_GL_STATS_CLIENT_ACTIVE_TEXTURE( texture )
00391 # define  NVSG_GL_STATS_CLIENT_STATE( array, on )
00392 # define  NVSG_GL_STATS_COLOR3B( red, green, blue )
00393 # define  NVSG_GL_STATS_COLOR3BV( v )
00394 # define  NVSG_GL_STATS_COLOR3D( red, green, blue )
00395 # define  NVSG_GL_STATS_COLOR3DV( v )
00396 # define  NVSG_GL_STATS_COLOR3F( red, green, blue )
00397 # define  NVSG_GL_STATS_COLOR3FV( v )
00398 # define  NVSG_GL_STATS_COLOR3I( red, green, blue )
00399 # define  NVSG_GL_STATS_COLOR3IV( v )
00400 # define  NVSG_GL_STATS_COLOR3S( red, green, blue )
00401 # define  NVSG_GL_STATS_COLOR3SV( v )
00402 # define  NVSG_GL_STATS_COLOR3UB( red, green, blue )
00403 # define  NVSG_GL_STATS_COLOR3UBV( v )
00404 # define  NVSG_GL_STATS_COLOR3UI( red, green, blue )
00405 # define  NVSG_GL_STATS_COLOR3UIV( v )
00406 # define  NVSG_GL_STATS_COLOR3US( red, green, blue )
00407 # define  NVSG_GL_STATS_COLOR3USV( v )
00408 # define  NVSG_GL_STATS_COLOR4B( red, green, blue, alpha )
00409 # define  NVSG_GL_STATS_COLOR4BV( v )
00410 # define  NVSG_GL_STATS_COLOR4D( red, green, blue, alpha )
00411 # define  NVSG_GL_STATS_COLOR4DV( v )
00412 # define  NVSG_GL_STATS_COLOR4F( red, green, blue, alpha )
00413 # define  NVSG_GL_STATS_COLOR4FV( v )
00414 # define  NVSG_GL_STATS_COLOR4I( red, green, blue, alpha )
00415 # define  NVSG_GL_STATS_COLOR4IV( v )
00416 # define  NVSG_GL_STATS_COLOR4S( red, green, blue, alpha )
00417 # define  NVSG_GL_STATS_COLOR4SV( v )
00418 # define  NVSG_GL_STATS_COLOR4UB( red, green, blue, alpha )
00419 # define  NVSG_GL_STATS_COLOR4UBV( v )
00420 # define  NVSG_GL_STATS_COLOR4UI( red, green, blue, alpha )
00421 # define  NVSG_GL_STATS_COLOR4UIV( v )
00422 # define  NVSG_GL_STATS_COLOR4US( red, green, blue, alpha )
00423 # define  NVSG_GL_STATS_COLOR4USV( v )
00424 # define  NVSG_GL_STATS_DELETE_BUFFERS( n, buffers )
00425 # define  NVSG_GL_STATS_DELETE_LISTS( list, range )
00426 # define  NVSG_GL_STATS_DELETE_TEXTURES( n, textures )
00427 # define  NVSG_GL_STATS_DEPTH_FUNC( func )
00428 # define  NVSG_GL_STATS_DEPTH_MASK( flag )
00429 # define  NVSG_GL_STATS_DRAW_ELEMENTS( mode, count, type, indices )
00430 # define  NVSG_GL_STATS_DRAW_RANGE_ELEMENTS( mode, start, end, count, type, indices )
00431 # define  NVSG_GL_STATS_END_LIST()
00432 # define  NVSG_GL_STATS_FRUSTUM( left, right, bottom, top, zNear, zFar )
00433 # define  NVSG_GL_STATS_GEN_BUFFERS( n, buffers )
00434 # define  NVSG_GL_STATS_GEN_LISTS( range )
00435 # define  NVSG_GL_STATS_GEN_TEXTURES( n, textures )
00436 # define  NVSG_GL_STATS_GET_INTEGERV( pname, params )
00437 # define  NVSG_GL_STATS_IS_TEXTURE( texture )
00438 # define  NVSG_GL_STATS_LIGHTF( light, pname, param )
00439 # define  NVSG_GL_STATS_LIGHTFV( light, pname, params )
00440 # define  NVSG_GL_STATS_LIGHTI( light, pname, param )
00441 # define  NVSG_GL_STATS_LIGHTIV( light, pname, params )
00442 # define  NVSG_GL_STATS_LIGHT_MODELF( pname, param )
00443 # define  NVSG_GL_STATS_LIGHT_MODELFV( pname, params )
00444 # define  NVSG_GL_STATS_LIGHT_MODELI( pname, param )
00445 # define  NVSG_GL_STATS_LIGHT_MODELIV( pname, params )
00446 # define  NVSG_GL_STATS_LINE_WIDTH( width )
00447 # define  NVSG_GL_STATS_LOAD_IDENTITY()
00448 # define  NVSG_GL_STATS_LOAD_MATRIXD( m )
00449 # define  NVSG_GL_STATS_LOAD_MATRIXF( m )
00450 # define  NVSG_GL_STATS_MATERIALF( face, pname, param )
00451 # define  NVSG_GL_STATS_MATERIALFV( face, pname, params )
00452 # define  NVSG_GL_STATS_MATERIALI( face, pname, param )
00453 # define  NVSG_GL_STATS_MATERIALIV( face, pname, params )
00454 # define  NVSG_GL_STATS_MATRIX_MODE( mode )
00455 # define  NVSG_GL_STATS_MULT_MATRIXD( m )
00456 # define  NVSG_GL_STATS_MULT_MATRIXF( m )
00457 # define  NVSG_GL_STATS_NEW_LIST( list, mode )
00458 # define  NVSG_GL_STATS_NORMAL_POINTER( type, stride, pointer )
00459 # define  NVSG_GL_STATS_ORTHO( left, right, bottom, top, zNear, zFar )
00460 # define  NVSG_GL_STATS_POINT_SIZE( size )
00461 # define  NVSG_GL_STATS_POLYGON_MODE( face, mode )
00462 # define  NVSG_GL_STATS_POLYGON_OFFSET( factor, units )
00463 # define  NVSG_GL_STATS_POP_ATTRIB()
00464 # define  NVSG_GL_STATS_POP_MATRIX()
00465 # define  NVSG_GL_STATS_PRIMITIVE_RESTART_INDEX( index )
00466 # define  NVSG_GL_STATS_PUSH_ATTRIB( mask )
00467 # define  NVSG_GL_STATS_PUSH_MATRIX()
00468 # define  NVSG_GL_STATS_ROTATED( angle, x, y, z )
00469 # define  NVSG_GL_STATS_ROTATEF( angle, x, y, z )
00470 # define  NVSG_GL_STATS_SCALED( x, y, z )
00471 # define  NVSG_GL_STATS_SCALEF( x, y, z )
00472 # define  NVSG_GL_STATS_STATE( cap, on )
00473 # define  NVSG_GL_STATS_TEX_COORD_POINTER( size, type, stride, pointer )
00474 # define  NVSG_GL_STATS_TEX_ENVF( target, pname, param )
00475 # define  NVSG_GL_STATS_TEX_ENVFV( target, pname, params )
00476 # define  NVSG_GL_STATS_TEX_ENVI( target, pname, param )
00477 # define  NVSG_GL_STATS_TEX_ENVIV( target, pname, params )
00478 # define  NVSG_GL_STATS_TEX_IMAGE2D( target, level, internalformat, width, height, border, format, type, pixels )
00479 # define  NVSG_GL_STATS_TEX_PARAMETERF( target, pname, param )
00480 # define  NVSG_GL_STATS_TEX_PARAMETERFV( target, pname, params )
00481 # define  NVSG_GL_STATS_TEX_PARAMETERI( target, pname, param )
00482 # define  NVSG_GL_STATS_TEX_PARAMETERIV( target, pname, params )
00483 # define  NVSG_GL_STATS_TRANSLATED( x, y, z )
00484 # define  NVSG_GL_STATS_TRANSLATEF( x, y, z )
00485 # define  NVSG_GL_STATS_VERTEX_POINTER( size, type, stride, pointer )
00486 # define  NVSG_GL_STATS_VIEWPORT( x, y, width, height )
00487
00488 #endif
00489
00490 #endif  // DOXYGON_IGNORE
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLUploadTraverser.h File Reference

inc / nvsg / nvtraverser

GLUploadTraverser.h File Reference

#include <list>
#include "nvsgcommon.h"
#include "nvtraverser/GLTraverser.h"

Include dependency graph for GLUploadTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:32 2012 for SceniX


SceniX: GLUploadTraverser.h Source File

inc / nvsg / nvtraverser

GLUploadTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <list>
00016 #include "nvsgcommon.h" // common used stuff
00017 #include "nvtraverser/GLTraverser.h" // base class definition
00018
00019 namespace nvtraverser
00020 {
00022
00027   class GLUploadTraverser : public GLTraverser
00028   {
00029     public:
00031
00035       NVSG_API GLUploadTraverser( bool display );
00036
00037     protected:
00039       NVSG_API virtual ~GLUploadTraverser(void);
00040
00041       // the three methods we override
00042       NVSG_API virtual void handleLOD( const nvsg::LOD * lod );
00043       NVSG_API virtual void handleSwitch( const nvsg::Switch * swtch );
00044
00046       NVSG_API virtual void doRender( const nvsg::NodeSharedPtr & root );
00047
00048     private:
00049
00050       bool  m_display;
00051   };
00052 }
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GPUSkinningProcessor.h File Reference

inc / nvsg / nvtraverser

GPUSkinningProcessor.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CoreTypes.h"
#include "nvtraverser/AppTraverser.h"
#include "nvmath/Matnnt.h"
#include <map>
#include <vector>
#include <string>
#include "Cg/cg.h"
#include "Cg/cgGL.h"

Include dependency graph for GPUSkinningProcessor.h:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvgl
namespace | nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:33 2012 for SceniX


SceniX: GPUSkinningProcessor.h Source File

inc / nvsg / nvtraverser

GPUSkinningProcessor.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/CoreTypes.h"
00017 #include "nvtraverser/AppTraverser.h"
00018 #include "nvmath/Matnnt.h"
00019 #include <map>
00020 #include <vector>
00021 #include <string>
00022 #include "Cg/cg.h"
00023 #include "Cg/cgGL.h"
00024
00025 namespace nvsg
00026 {
00027   class Group;
00028   class DALHost;
00029 }
00030
00031 namespace nvgl
00032 {
00033   struct GLArrayBufferCache;
00034 }
00035
00036 namespace nvtraverser {
00037
00039
00041 class GPUSkinningProcessor : public AppTraverser::SkinningProcessor
00042 {
00043 public:
00045   NVSG_API GPUSkinningProcessor();
00046
00048   NVSG_API virtual void process( bool process );
00049   NVSG_API virtual AppTraverser::SkinningProcessorType getType();
00050
00052   static NVSG_API bool isSupported( void );
00053
00054 protected:
00056   NVSG_API virtual ~GPUSkinningProcessor();
00057
00058 private:
00059   static void cgErrorCallback( void );
00060
00061   void pushErrorCallback();
00062   void popErrorCallback();
00063   CGerrorCallbackFunc m_oldErrCallback;
00064
00065   struct GPUInfo
00066   {
00067     CGprogram vertexProgram;
00068     CGprogram geometryProgram;
00069
00070     GLuint dataBufferTexture;
00071     GLuint skeletonTexture;
00072
00073     int attribs[ 16 * 3 ];
00074     int numAttribs;
00075   };
00076
00077   void initCg();
00078   void initTransformFeedback();
00079   GLuint createSkeletonTexture( int numMatrices );
00080   unsigned char * getWritableBuffer( unsigned int size, bool pbo );
00081   void releaseBuffer( bool pbo );
00082   unsigned char * bufferOffset( unsigned char *, bool pbo );
00083   void updateSkinTexture( GLuint texture
00084                         , std::vector<std::pair<nvmath::Mat44f,nvmath::Mat44f> > & jointMatrices );
00085   void processSkin( const nvsg::SkinSharedPtr & skin, GLuint texture );
00086   GPUInfo * createGPUInfo();
00087   void processSkinnedPrimitives();
00088   void processPrimitives( const nvsg::VertexAttributeSet *vas,
00089                           nvgl::BufferGLSharedPtr bindPoseBuffer );
00090   static bool isArrayBufferCacheValid( const nvgl::GLArrayBufferCache * info );
00091   nvgl::GLArrayBufferCache * getArrayBufferCache( const nvsg::DALHost * host );
00092   nvgl::BufferGLSharedPtr reallocateBufferGL( const nvsg::VertexAttributeSetSharedPtr& vassp );
00093   void drawVAS( const nvsg::VertexAttributeSet * vas, const nvsg::SkinSharedPtr & skin,
00094                 nvgl::BufferGLSharedPtr bindPoseBuffer );
00095   void beginFrame( int numValues );
00096   void endFrame();
00097   void renderFeedback( const nvsg::VertexAttributeSet * vas,
00098                        const nvsg::SkinSharedPtr & skin,
00099                        nvgl::BufferGLSharedPtr bindPoseBuffer, nvgl::BufferGLSharedPtr feedbackBuffer, GPUInfo * gpuInfo );
00100   void processSkinnedEntity( const nvsg::VertexAttributeSetSharedPtr & vassp, const nvsg::SkinSharedPtr & skin, GPUInfo * info );
00101   GLint createDataBufferTexture( const nvsg::SkinSharedPtr & sh, unsigned int & maxCount );
00102   bool buildShaders( const nvsg::VertexAttributeSet * vas, const nvsg::Skin * skin, GPUInfo * info, unsigned int maxCount );
00103
00104   enum
00105   {
00106     SUPPORT_BINDLESS_GRAPHICS = BIT0
00107   };
00108
00109   unsigned int m_supportFlags;
00110
00111   std::map<nvsg::DrawableSharedPtr,GPUInfo*>  m_drawableToInfo;
00112
00113   CGcontext m_cgContext;
00114   static CGcontext s_cgContext;
00115   CGprofile m_cgVprofile, m_cgGprofile, m_cgFprofile;
00116
00117   GLuint        m_writableBuffer[2];
00118   unsigned int  m_writableBufferPBOSize[2];
00119   unsigned int  m_whichPBO;
00120   unsigned char * m_writableBufferB;
00121   unsigned int  m_writableBufferSize;
00122   GLuint        m_maxTextureDimension;
00123   bool          m_initialized;
00124 };
00125
00126 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: Group.h File Reference

inc / nvsg / nvsg

Group.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Planent.h"
#include "nvsg/ClipPlane.h"
#include "nvsg/Node.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/SceniXIterator.h"

Include dependency graph for Group.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:34 2012 for SceniX


SceniX: Group.h Source File

inc / nvsg / nvsg

Group.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Planent.h"
00017 #include "nvsg/ClipPlane.h"
00018 #include "nvsg/Node.h"
00019 #include "nvutil/HashGenerator.h"
00020 #include "nvutil/SceniXIterator.h"
00021
00022 namespace nvsg
00023 {
00030   class Group : public Node
00031   {
00032     public:
00033       NVSG_API static GroupSharedPtr create();
00034
00035     public:
00037       typedef nvutil::STLVector<NodeSharedPtr>                                    ChildrenContainer;
00038
00040       typedef nvutil::SceniXIterator<Group,ChildrenContainer::iterator>           ChildrenIterator;
00041
00043       typedef nvutil::SceniXIterator<Group,ChildrenContainer::const_iterator>     ChildrenConstIterator;
00044
00046       typedef nvutil::STLVector<ClipPlaneSharedPtr>                               ClipPlaneContainer;
00047
00049       typedef nvutil::SceniXIterator<Group,ClipPlaneContainer::iterator>          ClipPlaneIterator;
00050
00052       typedef nvutil::SceniXIterator<Group,ClipPlaneContainer::const_iterator>    ClipPlaneConstIterator;
00053
00055       typedef nvutil::STLVector<LightSourceSharedPtr>                             LightSourceContainer;
00056
00058       typedef nvutil::SceniXIterator<Group,LightSourceContainer::iterator>        LightSourceIterator;
00059
00061       typedef nvutil::SceniXIterator<Group,LightSourceContainer::const_iterator>  LightSourceConstIterator;
00062
00063     public:
00067       NVSG_API unsigned int getNumberOfChildren() const;
00068
00072       NVSG_API ChildrenConstIterator beginChildren() const;
00073
00077       NVSG_API ChildrenIterator beginChildren();
00078
00082       NVSG_API ChildrenConstIterator endChildren() const;
00083
00087       NVSG_API ChildrenIterator endChildren();
00088
00093       NVSG_API ChildrenIterator addChild( const NodeSharedPtr & child );
00094
00100       NVSG_API ChildrenIterator insertChild( const ChildrenIterator & gci, const NodeSharedPtr & child );
00101
00107       NVSG_API bool removeChild( const NodeSharedPtr & child );
00108
00114       NVSG_API ChildrenIterator removeChild( const ChildrenIterator & childIterator );
00115
00121       NVSG_API bool replaceChild( const NodeSharedPtr & newChild, const NodeSharedPtr & oldChild );
00122
00128       NVSG_API bool replaceChild( const NodeSharedPtr & newChild, ChildrenIterator & oldChildIterator );
00129
00132       NVSG_API void clearChildren();
00133
00149       NVSG_API ChildrenConstIterator findChild( const ChildrenConstIterator & start, const NodeSharedPtr & node ) const;
00150
00166       NVSG_API ChildrenIterator findChild( const ChildrenIterator & start, const NodeSharedPtr & node );
00167
00171       NVSG_API unsigned int getNumberOfClipPlanes() const;
00172
00176       NVSG_API unsigned int getNumberOfActiveClipPlanes() const;
00177
00181       NVSG_API ClipPlaneConstIterator beginClipPlanes() const;
00182
00186       NVSG_API ClipPlaneIterator beginClipPlanes();
00187
00191       NVSG_API ClipPlaneConstIterator endClipPlanes() const;
00192
00196       NVSG_API ClipPlaneIterator endClipPlanes();
00197
00202       NVSG_API ClipPlaneIterator addClipPlane( const ClipPlaneSharedPtr & plane );
00203
00208       NVSG_API bool removeClipPlane( const ClipPlaneSharedPtr & plane );
00209
00215       NVSG_API ClipPlaneIterator removeClipPlane( const ClipPlaneIterator & cpi );
00216
00219       NVSG_API void clearClipPlanes();
00220
00221       /*  \brief Find a specified clip plane in this Group.
00222        *  \param plane The clip plane to find.
00223        *  \return A const iterator to the found clip plane in this Group.
00224        *  \sa getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes */
00225       NVSG_API ClipPlaneConstIterator findClipPlane( const ClipPlaneSharedPtr & plane ) const;
00226
00227       /*  \brief Find a specified clip plane in this Group.
00228        *  \param plane The clip plane to find.
00229        *  \return An iterator to the found clip plane in this Group.
00230        *  \sa getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes */
00231       NVSG_API ClipPlaneIterator findClipPlane( const ClipPlaneSharedPtr & plane );
00232
00233
00237       NVSG_API unsigned int getNumberOfLightSources() const;
00238
00242       NVSG_API LightSourceConstIterator beginLightSources() const;
00243
00247       NVSG_API LightSourceIterator beginLightSources();
00248
00252       NVSG_API LightSourceConstIterator endLightSources() const;
00253
00257       NVSG_API LightSourceIterator endLightSources();
00258
00263       NVSG_API LightSourceIterator addLightSource( const LightSourceSharedPtr & lightSource );
00264
00269       NVSG_API bool removeLightSource( const LightSourceSharedPtr & lightSource );
00270
00276       NVSG_API LightSourceIterator removeLightSource( const LightSourceIterator & lsi );
00277
00280       NVSG_API void clearLightSources();
00281
00282       /*  \brief Find a specified light source in this Group.
00283        *  \param lightSource The light source to find.
00284        *  \return A const iterator to the found light source in this Group.
00285        *  \sa getNumberOfLightSources, beginLightSources, endLightSources, addLightSource, removeLightSource, clearLightSources */
00286       NVSG_API LightSourceConstIterator findLightSource( const LightSourceSharedPtr & lightSource ) const;
00287
00288       /*  \brief Find a specified light source in this Group.
00289        *  \param lightSource The light source to find.
00290        *  \return An iterator to the found lightSource in this Group.
00291        *  \sa getNumberOfLightSources, beginLightSources, endLightSources, addLightSource, removeLightSource, clearLightSources */
00292       NVSG_API LightSourceIterator findLightSource( const LightSourceSharedPtr & lightSource );
00293
00310       NVSG_API virtual bool isEquivalent(const Object * p, bool ignoreNames, bool deepCompare) const;
00311
00322       NVSG_API Group & operator=(const Group & rhs);
00323
00324       REFLECTION_INFO_API( NVSG_API, Group );
00325     protected:
00326       friend struct nvutil::Holder<Group>;
00327
00330       NVSG_API Group();
00331
00336       NVSG_API Group( const Group& rhs );
00337
00340       NVSG_API virtual ~Group();
00341
00354       NVSG_API virtual void preRemoveChild(unsigned int position);
00355
00369       NVSG_API virtual void postRemoveChild(unsigned int position);
00370
00384       NVSG_API virtual void preAddChild(unsigned int position);
00385
00398       NVSG_API virtual void postAddChild(unsigned int position);
00399
00411       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00412
00425       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00426
00438       NVSG_API virtual unsigned int determineHintsContainment( unsigned int hints ) const;
00439
00440       NVSG_API virtual bool determineTransparencyContainment() const;
00441       NVSG_API virtual bool determineShaderContainment() const;
00442       NVSG_API virtual bool determineLightContainment() const;
00443       NVSG_API virtual bool determineLODContainment() const;
00444       NVSG_API virtual bool determineAnimationContainment() const;
00445       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00446
00450       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00451
00452       NVSG_API virtual void incrementSwitchIncarnation() const;
00453       NVSG_API virtual const nvutil::Incarnation & querySwitchIncarnation() const;
00454
00455     private:
00456       // The following copy* and remove* functions do not notify observers about changes
00457       // Functions calling these functions must ensure that the events are being passed up.
00458       void copyChildren( const ChildrenContainer & children );
00459       void copyClipPlanes( const ClipPlaneContainer & clipPlanes );
00460       void copyLightSources( const LightSourceContainer & lightSources );
00461
00462       void removeChildren();
00463       void removeClipPlanes();
00464       void removeLights();
00465
00466     private:
00467       NVSG_API ChildrenContainer::iterator doInsertChild( const ChildrenContainer::iterator & gcci, const NodeSharedPtr & child );
00468       NVSG_API ChildrenContainer::iterator doRemoveChild( const ChildrenContainer::iterator & cci );
00469       NVSG_API ChildrenContainer::iterator doReplaceChild( ChildrenContainer::iterator & cci, const NodeSharedPtr & newChild );
00470       NVSG_API ClipPlaneContainer::iterator doRemoveClipPlane( const ClipPlaneContainer::iterator & cpci );
00471       NVSG_API LightSourceContainer::iterator doRemoveLightSource( const LightSourceContainer::iterator & lsci );
00472
00473     private:
00474       ChildrenContainer     m_children;
00475       ClipPlaneContainer    m_clipPlanes;
00476       LightSourceContainer  m_lightSources;
00477
00478       mutable nvutil::Incarnation m_switchIncarnation; // tracks switch changes
00479   };
00480
00481   inline unsigned int Group::getNumberOfChildren() const
00482   {
00483     NVSG_TRACE();
00484     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00485     return( checked_cast<unsigned int>(m_children.size()) );
00486   }
00487
00488   inline Group::ChildrenConstIterator Group::beginChildren() const
00489   {
00490     NVSG_TRACE();
00491     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00492     return( ChildrenConstIterator( m_children.begin() ) );
00493   }
00494
00495   inline Group::ChildrenIterator Group::beginChildren()
00496   {
00497     NVSG_TRACE();
00498     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00499     return( ChildrenIterator( m_children.begin() ) );
00500   }
00501
00502   inline Group::ChildrenConstIterator Group::endChildren() const
00503   {
00504     NVSG_TRACE();
00505     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00506     return( ChildrenConstIterator( m_children.end() ) );
00507   }
00508
00509   inline Group::ChildrenIterator Group::endChildren()
00510   {
00511     NVSG_TRACE();
00512     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00513     return( ChildrenIterator( m_children.end() ) );
00514   }
00515
00516   inline Group::ChildrenIterator Group::addChild( const NodeSharedPtr & child )
00517   {
00518     NVSG_TRACE();
00519     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00520     return( ChildrenIterator( doInsertChild( m_children.end(), child ) ) );
00521   }
00522
00523   inline Group::ChildrenConstIterator Group::findChild( const ChildrenConstIterator & start, const NodeSharedPtr & node ) const
00524   {
00525     NVSG_TRACE();
00526     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00527
00528     return( ChildrenConstIterator( find( start.m_iter, m_children.end(), node ) ) );
00529   }
00530
00531   inline Group::ChildrenIterator Group::findChild( const ChildrenIterator & start, const NodeSharedPtr & node )
00532   {
00533     NVSG_TRACE();
00534     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00535
00536     return( ChildrenIterator( find( start.m_iter, m_children.end(), node ) ) );
00537   }
00538
00539   inline unsigned int Group::getNumberOfClipPlanes() const
00540   {
00541     NVSG_TRACE();
00542     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00543     return( checked_cast<unsigned int>(m_clipPlanes.size()) );
00544   }
00545
00546   inline Group::ClipPlaneConstIterator Group::beginClipPlanes() const
00547   {
00548     NVSG_TRACE();
00549     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00550     return( ClipPlaneConstIterator( m_clipPlanes.begin() ) );
00551   }
00552
00553   inline Group::ClipPlaneIterator Group::beginClipPlanes()
00554   {
00555     NVSG_TRACE();
00556     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00557     return( ClipPlaneIterator( m_clipPlanes.begin() ) );
00558   }
00559
00560   inline Group::ClipPlaneConstIterator Group::endClipPlanes() const
00561   {
00562     NVSG_TRACE();
00563     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00564     return( ClipPlaneConstIterator( m_clipPlanes.end() ) );
00565   }
00566
00567   inline Group::ClipPlaneIterator Group::endClipPlanes()
00568   {
00569     NVSG_TRACE();
00570     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00571     return( ClipPlaneIterator( m_clipPlanes.end() ) );
00572   }
00573
00574   inline Group::ClipPlaneConstIterator Group::findClipPlane( const ClipPlaneSharedPtr & plane ) const
00575   {
00576     NVSG_TRACE();
00577     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00578
00579     return( ClipPlaneConstIterator( find( m_clipPlanes.begin(), m_clipPlanes.end(), plane ) ) );
00580   }
00581
00582   inline Group::ClipPlaneIterator Group::findClipPlane( const ClipPlaneSharedPtr & plane )
00583   {
00584     NVSG_TRACE();
00585     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00586
00587     return( ClipPlaneIterator( find( m_clipPlanes.begin(), m_clipPlanes.end(), plane ) ) );
00588   }
00589
00590   inline unsigned int Group::getNumberOfLightSources() const
00591   {
00592     NVSG_TRACE();
00593     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00594     return( checked_cast<unsigned int>(m_lightSources.size()) );
00595   }
00596
00597   inline Group::LightSourceConstIterator Group::beginLightSources() const
00598   {
00599     NVSG_TRACE();
00600     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00601     return( LightSourceConstIterator( m_lightSources.begin() ) );
00602   }
00603
00604   inline Group::LightSourceIterator Group::beginLightSources()
00605   {
00606     NVSG_TRACE();
00607     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00608     return( LightSourceIterator( m_lightSources.begin() ) );
00609   }
00610
00611   inline Group::LightSourceConstIterator Group::endLightSources() const
00612   {
00613     NVSG_TRACE();
00614     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00615     return( LightSourceConstIterator( m_lightSources.end() ) );
00616   }
00617
00618   inline Group::LightSourceIterator Group::endLightSources()
00619   {
00620     NVSG_TRACE();
00621     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00622     return( LightSourceIterator( m_lightSources.end() ) );
00623   }
00624
00625   inline Group::LightSourceConstIterator Group::findLightSource( const LightSourceSharedPtr & lightSource ) const
00626   {
00627     NVSG_TRACE();
00628     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00629
00630     return( LightSourceConstIterator( find( m_lightSources.begin(), m_lightSources.end(), lightSource ) ) );
00631   }
00632
00633   inline Group::LightSourceIterator Group::findLightSource( const LightSourceSharedPtr & lightSource )
00634   {
00635     NVSG_TRACE();
00636     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00637
00638     return( LightSourceIterator( find( m_lightSources.begin(), m_lightSources.end(), lightSource ) ) );
00639   }
00640
00641   inline void Group::incrementSwitchIncarnation() const
00642   {
00643     NVSG_TRACE();
00644     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00645     nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00646     m_switchIncarnation++;
00647   }
00648
00649   inline const nvutil::Incarnation & Group::querySwitchIncarnation() const
00650   {
00651     return( m_switchIncarnation );
00652   }
00653
00654 } //  namespace nvsg
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: Handle.h File Reference

inc / nvsg / nvutil

Handle.h File Reference

#include <basetsd.h>
#include <stdint.h>
#include "nvutil/Allocator.h"
#include "nvutil/Assert.h"
#include "nvutil/Conversion.h"
#include "nvutil/RCObject.h"
#include "nvutil/SmartPtr.h"
#include "nvutil/SWMRSync.h"

Include dependency graph for Handle.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | CORE_TYPES_BASE(T)
Macro to define the five standard types for a base type T.
#define | CORE_TYPES(T, BT)
Macro to define the five standard types for a type T, whose base type is BT.
#define | OBJECT_TRAITS_BASE(T)
Macro to define ObjectType and our five standard types of a base type T as part of a templated struct.
#define | OBJECT_TRAITS(T, BT)
Macro to define ObjectType and our five standard types of a type T, with base type BT, as part of a templated struct.

Typedefs

typedef uintptr_t | UINT_PTR
Linux specific type definition for UINT_PTR, as it's known from MSVC.

Functions

template<typename T, typename USharedPtr>
const ObjectTraits< T >::SharedPtr & | sharedPtr_cast (const USharedPtr &rhs)
Special casting operator for const SharedPtr.
template<typename T, typename USharedPtr>
ObjectTraits< T >::SharedPtr & | sharedPtr_cast (USharedPtr &rhs)
Special casting operator for SharedPtr.
template<typename T, typename UWeakPtr>
const ObjectTraits< T >::WeakPtr & | weakPtr_cast (const UWeakPtr &rhs)
Special casting operator for const WeakPtr.
template<typename T, typename UWeakPtr>
ObjectTraits< T >::WeakPtr & | weakPtr_cast (UWeakPtr &rhs)
Special casting operator for WeakPtr.
class class | CORE_TYPES_BASE (HandledObject)
Type definitions for HandledObject.
CORE_TYPES (Observer, HandledObject)
Type definitions for Observer.
CORE_TYPES (BackLinkObserver, Observer)
Type definitions for BackLinkObserver.
OBJECT_TRAITS_BASE (HandledObject)
Trait definitions for HandledObject.
OBJECT_TRAITS (Observer, HandledObject)
Trait definitions for Observer.
OBJECT_TRAITS (BackLinkObserver, Observer)
Trait definitions for BackLinkObserver.

Detailed Description

Define Documentation

#define CORE_TYPES_BASE ( T )

Value:

typedef nvutil::Handle<T>           T##Handle;      \
  typedef nvutil::SmartPtr<T##Handle> T##SharedPtr;   \
  typedef T##Handle *                 T##WeakPtr;     \
  typedef nvutil::ReadableObject<T>   T##ReadLock;    \
  typedef nvutil::WritableObject<T>   T##WriteLock
Macro to define the five standard types for a base type T.

Remarks:
For convenience, for each class T, we define the types THandle, TSharedPtr, TWeakPtr, TReadLock and TWriteLock.

#define CORE_TYPES | ( | T,
 |  | BT | )

Value:

typedef nvutil::Handle<T,BT##Handle>  T##Handle;    \
  typedef nvutil::SmartPtr<T##Handle>   T##SharedPtr; \
  typedef T##Handle *                   T##WeakPtr;   \
  typedef nvutil::ReadableObject<T>     T##ReadLock;  \
  typedef nvutil::WritableObject<T>     T##WriteLock
Macro to define the five standard types for a type T, whose base type is BT.

Remarks:
For convenience, for each class T, we define the types THandle, TSharedPtr, TWeakPtr, TReadLock, and TWriteLock.

#define OBJECT_TRAITS_BASE ( T )

Value:

template <> struct ObjectTraits<T>                    \
{                                                     \
  typedef T                               ObjectType; \
  typedef nvutil::Handle<T>               Handle;     \
  typedef nvutil::SmartPtr<T##Handle>     SharedPtr;  \
  typedef T##Handle *                     WeakPtr;    \
  typedef nvutil::ReadableObject<T>       ReadLock;   \
  typedef nvutil::WritableObject<T>       WriteLock;  \
}
Macro to define ObjectType and our five standard types of a base type T as part of a templated struct.

Remarks:
Using this struct, the standard types Handle, SharedPtr, WeakPtr, ReadLock, and WriteLock, as well as the ObjectType itself, are easily available within a template context.

#define OBJECT_TRAITS | ( | T,
 |  | BT | )

Value:

template <> struct ObjectTraits<T>                    \
{                                                     \
  typedef T                               ObjectType; \
  typedef BT                              Base;       \
  typedef nvutil::Handle<T,BT##Handle>    Handle;     \
  typedef nvutil::SmartPtr<T##Handle>     SharedPtr;  \
  typedef T##Handle *                     WeakPtr;    \
  typedef nvutil::ReadableObject<T>       ReadLock;   \
  typedef nvutil::WritableObject<T>       WriteLock;  \
}
Macro to define ObjectType and our five standard types of a type T, with base type BT, as part of a templated struct.

Remarks:
Using this struct, the standard types Handle, SharedPtr, WeakPtr, ReadLock, and WriteLock, as well as the ObjectType itself, are easily available within a template context.

Typedef Documentation

typedef uintptr_t UINT_PTR

Linux specific type definition for UINT_PTR, as it's known from MSVC.

Function Documentation

const ObjectTraits<T>::SharedPtr& sharedPtr_cast ( const USharedPtr & rhs ) [inline]

Special casting operator for const SharedPtr.

Parameters:
rhs The const SharedPtr to cast.
Returns:
rhs casted from type const USharedPtr to type const SharedPtr<T>.
Remarks:
A sharedPtr_cast can be used to do a downcast a SharedPtr. In debug builds, it is checked whether that downcast is allowed.

ObjectTraits<T>::SharedPtr& sharedPtr_cast ( USharedPtr & rhs ) [inline]

Special casting operator for SharedPtr.

Parameters:
rhs The SharedPtr to cast.
Returns:
rhs casted from type USharedPtr to type SharedPtr<T>.
Remarks:
A sharedPtr_cast can be used to do a downcast of a SharedPtr. In debug builds, it is checked whether that downcast is allowed.

const ObjectTraits<T>::WeakPtr& weakPtr_cast ( const UWeakPtr & rhs ) [inline]

Special casting operator for const WeakPtr.

Parameters:
rhs The const WeakPtr to cast.
Returns:
rhs casted from type const UWeakPtr to type const WeakPtr<T>.
Remarks:
A weakPtr_cast can be used to do a downcast a WeakPtr. In debug builds, it is checked whether that downcast is allowed.

ObjectTraits<T>::WeakPtr& weakPtr_cast ( UWeakPtr & rhs ) [inline]

Special casting operator for WeakPtr.

Parameters:
rhs The WeakPtr to cast.
Returns:
rhs casted from type UWeakPtr to type WeakPtr<T>.
Remarks:
A weakPtr_cast can be used to do a downcast a WeakPtr. In debug builds, it is checked whether that downcast is allowed.

class CORE_TYPES_BASE ( HandledObject )

Type definitions for HandledObject.

CORE_TYPES | ( | Observer | ,
 |  | HandledObject |
 | ) |

Type definitions for Observer.

CORE_TYPES | ( | BackLinkObserver | ,
 |  | Observer |
 | ) |

Type definitions for BackLinkObserver.

OBJECT_TRAITS_BASE ( HandledObject )

Trait definitions for HandledObject.

OBJECT_TRAITS | ( | Observer | ,
 |  | HandledObject |
 | ) |

Trait definitions for Observer.

OBJECT_TRAITS | ( | BackLinkObserver | ,
 |  | Observer |
 | ) |

Trait definitions for BackLinkObserver.

Generated on Fri Jul 13 13:27:35 2012 for SceniX


SceniX: Handle.h Source File

inc / nvsg / nvutil

Handle.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00013 #pragma once
00014
00015 #if defined(_WIN32)
00016 # include <basetsd.h>
00017 #endif
00018 #if defined(LINUX)
00019 # include <stdint.h>
00020 typedef uintptr_t UINT_PTR;
00021 #endif
00022
00023 #include "nvutil/Allocator.h"
00024 #include "nvutil/Assert.h"
00025 #include "nvutil/Conversion.h"
00026 #include "nvutil/RCObject.h"
00027 #include "nvutil/SmartPtr.h"
00028 #include "nvutil/SWMRSync.h"
00029
00030 namespace nvutil
00031 {
00032
00033 #if !defined(DOXYGEN_IGNORE)
00034 # define _new_ new
00035
00036 #if defined(_MSC_VER)
00037   // the ms compilers are less compliant to the C++ standard than other compilers
00038 # define TEMPLATE
00039 #else
00040   // C++ standard compliant
00041 # define TEMPLATE  template
00042 #endif
00043
00044 // special 'null' type used to build Handle class hierarchy
00045 class NullType;
00046
00047 // will be friends to access [begin|end][Read|Edit]
00048 template<typename T> class ReadableObject;
00049 template<typename T> class WritableObject;
00050
00051 // enables back-referencing an object to its handle
00052 // and serves locking purposes
00053 template <typename T>
00054 struct Holder : public nvutil::IAllocator
00055 {
00056   // both, the default constructor and the copy constructor use the placement new
00057   // to create an object of type T at &rawmem[0]
00058   Holder(UINT_PTR hdl)
00059   {
00060     // early assign the handle!
00061     // note:
00062     // need to early assign handle and signature here because some object
00063     // constructors require a valid handle available at construction-time
00064     ptr = (T*)&rawmem[0];
00065     ptr->m_signature = SIGNATURE;
00066     ptr->m_handle = hdl;
00067     // construct the object at specified memory
00068     // note:
00069     // the following does not override already assigned handle and signature!
00070     // see HandleObject constructor for more details
00071     ptr = new(&rawmem[0]) T();
00072   }
00073
00074   // construct with one parameter
00075   template <typename P1>
00076   Holder( UINT_PTR hdl, P1 p1 )
00077   {
00078     // early assign the handle!
00079     // note:
00080     // need to early assign handle and signature here because some object
00081     // constructors require a valid handle available at construction-time
00082     ptr = (T*)&rawmem[0];
00083     ptr->m_signature = SIGNATURE;
00084     ptr->m_handle = hdl;
00085     // construct the object at specified memory
00086     // note:
00087     // the following does not override already assigned handle and signature!
00088     // see HandleObject constructor for more details
00089     ptr = new(&rawmem[0]) T( p1 );
00090   }
00091
00092   Holder(const Holder<T>& rhs, UINT_PTR hdl)
00093   {
00094     // early assign the handle!
00095     // note:
00096     // need to early assign handle and signature here because some object
00097     // constructors require a valid handle available at construction-time
00098     ptr = (T*)&rawmem[0];
00099     ptr->m_signature = SIGNATURE;
00100     ptr->m_handle = hdl;
00101     // copy-construct the object at specified memory
00102     // note:
00103     // the following does not override already assigned handle and signature!
00104     // see HandleObject constructor for more details
00105     ptr = new(&rawmem[0]) T(*rhs.ptr);
00106   }
00107
00108   template <typename U>
00109   Holder(const Holder<U>& rhs, UINT_PTR hdl)
00110   {
00111     // early assign the handle!
00112     // note:
00113     // need to early assign handle and signature here because some object
00114     // constructors require a valid handle available at construction-time
00115     ptr = (T*)&rawmem[0];
00116     ptr->m_signature = SIGNATURE;
00117     ptr->m_handle = hdl;
00118     // copy-construct the object at specified memory
00119     // note:
00120     // the following does not override already assigned handle and signature!
00121     // see HandleObject constructor for more details
00122     ptr = new(&rawmem[0]) T(*rhs.ptr);
00123   }
00124   // the destructor explicitely calls T's destructor
00125   ~Holder() { ptr->~T(); }
00126
00127   nvutil::SWMRSync lock; // handles exclusive and shared locking
00128   T * ptr; // points to the object created at &rawmem[sizeof(UINT_PTR)]
00129
00130   // note: this array must reside at the very end of this structure
00131   // as its size varies for different types T and hence would alter
00132   // offsets for subsequent members!
00133   char rawmem[sizeof(T)];
00134 };
00135 #endif  // DOXYGEN_IGNORE
00136
00137 // general definition helps to limit certain hierarchies, that is -
00138 // (1) a Handle must either be a stand-alone class (not derived from any other class) or
00139 // (2) must be derived from another Handle class
00140
00182 template <typename T, typename U=NullType>
00183 class Handle;
00184 class HandledObject;
00185
00193 template <typename T>
00194 class Handle<T, NullType> : public nvutil::RCObject
00195 {
00196   template<typename S> friend class ReadableObject;
00197   template<typename S> friend class WritableObject;
00198
00199 public:
00200   typedef T ObjectType;
00201
00202 public:
00203   // deep copy
00204   // NOTE: For this function to work as expected, it needs to be 'virtual'
00205   // However, declaring it virtual disables lazy instantiation for this function.
00206   // That is - the compiler would fully instantiate the definition and not only
00207   // as much as is really needed. For a generated class hierarchy for which the wrapped
00208   // type is part of a class hierarchy with an abstract base class, for example, this would
00209   // end up in a compiler error, because abstract base classes cannot be instantiated.
00210   // A workaround for this is to implement a pseudo-virtual call mechanism for the clone
00211   // function via a function pointer which will be overridden for each 'real' Handle instance.
00212
00220   Handle * clone() const;
00221
00224   bool isNotifyAllowed();
00225
00226 #if !defined(DOXYGEN_IGNORE)
00227
00228 public:
00229   static Handle * create();
00230
00231 #if !defined(NDEBUG)
00232   void assertWriteLocked() const;
00233   void assertReadLocked() const;
00234 #endif
00235
00236 protected:
00237   // default constructor will be invoked from derived class's constructors only
00238   Handle();
00239   virtual ~Handle();
00240
00254   T * beginEdit();
00255
00261   void endEdit();
00262
00276   const T * beginRead();
00277
00287   void endRead();
00288
00289 public:
00290   // helper to turn the type-less pointed-to holder into an object
00291   // of type Holder<U>
00292
00293   // NOTE: from a derived, that is - dependent Handle, this
00294   // function must be called using the template keyword as follows:
00295   //
00296   // Handle<T, U> h;
00297   // // h.holder<T>(); // this throws a compile error!
00298   // h.TEMPLATE holder<T>(); // correct syntax!
00299   //
00300   // since h is dependent, the compiler is not expecting holder to be
00301   // a template and so parses holder as a non-template if the template
00302   // keyword was not specified as shown above!
00303   template <typename U>
00304   const Holder<U>& holder() const;
00305
00306 protected:
00307   // function pointer through which to call the pseudo-virtual clone function.
00308   Handle * (Handle::*m_pfnVirtualClone)(void) const;
00309
00310   // type-less pointer to a Holder<T>
00311   //
00312   // use a Holder<HandledObject>* here to avoid violation of strict-aliasing
00313   // rules, where the compiler can assume that objects of different types
00314   // never reside at the same memory address.
00315   //
00316   // since the type of the pointed-to object changes per derived Handle, the
00317   // usage of Holder<T>* instead would violate strict-aliasing rules, which
00318   // in turn can result in unexpected runtime behavior!
00319   Holder<HandledObject> * m_holder;
00320   bool                    m_notifyAllowed;
00321
00322 #if !defined(NDEBUG)
00323   SWMRSync m_dbgLock;
00324   int m_dbgWriteCount;
00325   int m_dbgReadCount;
00326   bool m_dbgInsideConstructor;
00327   bool m_dbgInsideDestructor;
00328 #endif
00329
00330 private:
00331   // copy constructor will be invoked by clone
00332   Handle(const Handle& rhs);
00333   // init on default construction; will be invoked by create
00334   void default_init();
00335   // init on construction with one parameter; will be invoked by create
00336   template <typename P1> void default_init( P1 p1 );
00337   // implementation of clone, called through m_pfnVirtualClone
00338   Handle * clone_impl() const;
00339
00340   // not permitted ...
00341   // ... assignment
00342   Handle& operator=(const Handle& rhs);
00343   // ... comparison
00344   bool operator==(const Handle& rhs) const;
00345   bool operator!=(const Handle& rhs) const;
00346
00347 #endif // DOXYGEN_IGNORE
00348 };
00349
00356 template <typename T, typename U, typename V>
00357 class Handle<T, Handle<U,V> > : public Handle<U,V>
00358 {
00359   template<typename S> friend class ReadableObject;
00360   template<typename S> friend class WritableObject;
00361
00362 public:
00363   typedef T ObjectType;
00364
00365 public:
00373   Handle * clone() const; // hides! base class implementation
00374
00375 #if !defined(DOXYGEN_IGNORE)
00376 public:
00377   // instantiation
00378   static Handle * create();
00379   template <typename P1> static Handle * create( P1 p1 );
00380   static Handle * createFromBase(const Handle<U,V>& base);
00381 #if !defined(NDEBUG)
00382   static Handle * create(const char * file, unsigned int line);
00383   static Handle * createFromBase(const char * file, unsigned int line, const Handle<U,V>& base);
00384 #endif
00385
00386 protected:
00387   Handle();
00388   virtual ~Handle();
00389
00390   // accessors
00391   T * beginEdit();       // hides! base class implementation
00392   const T * beginRead(); // hides! base class implementation
00393   // no need to implement end[Edit/Read] functions
00394
00395 private:
00396   // private typedef used in private constructors below
00397   typedef Handle* (Handle::*PFNVIRTUALCLONE) (void) const;
00398   // copy constructor, called through clone
00399   Handle(const Handle& rhs);
00400   // construct from a base Handle
00401   explicit Handle(const Handle<U,V>& base);
00402   // init on default construction; will be invoked by create
00403   void default_init();
00404   // init on construction with one parameter; will be invoked by create
00405   template <typename P1> void default_init( P1 p1 );
00406   // implementation of clone, called via m_pfnVirtualClone
00407   Handle * clone_impl() const;
00408
00409   // not permitted ...
00410   // ... assignment
00411   Handle& operator=(const Handle& rhs);
00412   // ... comparison
00413   bool operator==(const Handle& rhs) const;
00414   bool operator!=(const Handle& rhs) const;
00415
00416 #endif // DOXYGEN_IGNORE
00417 };
00418
00419 //
00420 // implementation of member functions
00421 //
00422
00423 #if !defined(DOXYGEN_IGNORE)
00424 template <typename T>
00425 inline Handle<T, NullType> * Handle<T, NullType>::create()
00426 {
00427   Handle<T, NullType> * hdl = new Handle<T, NullType>();
00428   hdl->default_init();
00429   return hdl;
00430 }
00431
00432 template <typename T>
00433 inline Handle<T, NullType>::Handle()
00434 : m_notifyAllowed(false)
00435 #if !defined(NDEBUG)
00436 , m_dbgWriteCount(0)
00437 , m_dbgReadCount(0)
00438 , m_dbgInsideConstructor(true)
00439 , m_dbgInsideDestructor(false)
00440 #endif
00441 {
00442 }
00443
00444 template <typename T>
00445 inline Handle<T, NullType>::Handle(const Handle<T,NullType>& rhs)
00446 : m_pfnVirtualClone(&Handle<T, NullType>::clone_impl)
00447 , m_notifyAllowed(false)
00448 #if !defined(NDEBUG)
00449 , m_dbgWriteCount(0)
00450 , m_dbgReadCount(0)
00451 , m_dbgInsideConstructor(true)
00452 , m_dbgInsideDestructor(false)
00453 #endif
00454 {
00455   // read-lock source while being copied
00456   Handle<T,NullType> * prhs = const_cast<Handle<T,NullType>*>(&rhs);
00457   prhs->beginRead();
00458   m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>(rhs.holder<T>(), (UINT_PTR)this));
00459   prhs->endRead();
00460
00461   // Allow notification again now the wrapped object has been fully constructed.
00462   m_notifyAllowed = true;
00463 #if !defined(NDEBUG)
00464   m_dbgInsideConstructor = false;
00465 #endif
00466 }
00467
00468 template <typename T>
00469 inline Handle<T, NullType>::~Handle()
00470 {
00471 #if !defined(NDEBUG)
00472   NVSG_ASSERT(m_dbgWriteCount==0); // somebody still writing the object ->undefined behavior
00473   NVSG_ASSERT(m_dbgReadCount==0); // somebody still reading the object ->undefined behavior
00474   m_dbgInsideDestructor = true;
00475 #endif
00476   m_notifyAllowed = false;
00477   delete (Holder<T>*)m_holder;
00478 }
00479
00480 template <typename T>
00481 inline void Handle<T, NullType>::default_init()
00482 {
00483   NVSG_ASSERT(m_dbgInsideConstructor);
00484   m_pfnVirtualClone = &Handle<T, NullType>::clone_impl;
00485   m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>((UINT_PTR)this));
00486
00487   m_notifyAllowed = true;
00488 #if !defined(NDEBUG)
00489   m_dbgInsideConstructor = false;
00490 #endif
00491 }
00492
00493 template <typename T>
00494 template <typename P1>
00495 inline void Handle<T, NullType>::default_init( P1 p1 )
00496 {
00497   NVSG_ASSERT(m_dbgInsideConstructor);
00498   m_pfnVirtualClone = &Handle<T, NullType>::clone_impl;
00499   m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>((UINT_PTR)this, p1));
00500
00501   m_notifyAllowed = true;
00502 #if !defined(NDEBUG)
00503   m_dbgInsideConstructor = false;
00504 #endif
00505 }
00506 #endif // DOXYGEN_IGNORE
00507
00508 template <typename T>
00509 inline Handle<T, NullType> * Handle<T, NullType>::clone() const
00510 { // pseudo-virtual call via member function pointer solves problems with
00511   // the compiler's instantiation policy for virtual functions
00512   return (this->*m_pfnVirtualClone)();
00513 }
00514
00515 #if !defined(DOXYGEN_IGNORE)
00516 template <typename T>
00517 inline Handle<T, NullType> * Handle<T, NullType>::clone_impl() const
00518 {
00519   return _new_ Handle<T, NullType>(*this);
00520 }
00521
00522 template <typename T>
00523 inline T * Handle<T, NullType>::beginEdit()
00524 {
00525   // the following waits until exclusive access was given
00526   holder<T>().lock.lockExclusive();
00527 #if !defined(NDEBUG)
00528   m_dbgWriteCount++;
00529 #endif
00530   return holder<T>().ptr;
00531 }
00532
00533 template <typename T>
00534 inline void Handle<T, NullType>::endEdit()
00535 {
00536   // release exclusive access
00537 #if !defined(NDEBUG)
00538   // catch endEdit without prior beginEdit
00539   NVSG_ASSERT(m_dbgWriteCount>0);
00540   m_dbgWriteCount--;
00541 #endif
00542   holder<T>().lock.unlockExclusive();
00543 }
00544
00545 template <typename T>
00546 inline const T * Handle<T, NullType>::beginRead()
00547 {
00548   // the following waits until shared access was given
00549   holder<T>().lock.lockShared();
00550 #if !defined(NDEBUG)
00551   {
00552     // we need exclusive access to increment this debug counter
00553     // note: this is not given by the previous shared lock
00554     AutoLock dbgLock(m_dbgLock);
00555     m_dbgReadCount++;
00556   }
00557 #endif
00558   return holder<T>().ptr;
00559 }
00560
00561 template <typename T>
00562 inline void Handle<T, NullType>::endRead()
00563 {
00564   // release shared access
00565 #if !defined(NDEBUG)
00566   {
00567     AutoLock dbgLock(m_dbgLock);
00568     // catch endRead without prior beginRead
00569     NVSG_ASSERT(m_dbgReadCount>0);
00570     m_dbgReadCount--;
00571   }
00572 #endif
00573   holder<T>().lock.unlockShared();
00574 }
00575 #endif // DOXYGEN_IGNORE
00576
00577 template <typename T>
00578 inline bool Handle<T,NullType>::isNotifyAllowed()
00579 {
00580   return( m_notifyAllowed );
00581 }
00582
00583 #if !defined(DOXYGEN_IGNORE)
00584 template <typename T>
00585 template <typename U>
00586 inline const Holder<U>& Handle<T, NullType>::holder() const
00587 {
00588   return *((Holder<U>*)m_holder);
00589 }
00590
00591 #if !defined(NDEBUG)
00592 template <typename T>
00593 inline void Handle<T, NullType>::assertWriteLocked() const
00594 {
00595   // NOTE: Actually, this needs additional thread info.
00596   // That is - this is not 100% correct, for example,
00597   // when the object is write-locked from thread A and
00598   // a write access without locking is performed from
00599   // thread B!
00600   NVSG_ASSERT(  m_dbgInsideConstructor
00601              || m_dbgInsideDestructor
00602              || m_dbgWriteCount>0 );
00603 }
00604 template <typename T>
00605 inline void Handle<T, NullType>::assertReadLocked() const
00606 {
00607   // NOTE: Actually, this needs additional thread info!
00608   NVSG_ASSERT(  m_dbgInsideConstructor
00609              || m_dbgInsideDestructor
00610              || m_dbgReadCount>0
00611              || m_dbgWriteCount>0 );
00612 }
00613 #endif
00614
00615 template <typename T, typename U, typename V>
00616 inline Handle<T, Handle<U,V> > * Handle<T, Handle<U,V> >::create()
00617 {
00618   Handle<T,Handle<U,V> > * hdl = new Handle<T,Handle<U,V> >();
00619   hdl->default_init();
00620   return hdl;
00621 }
00622
00623 template <typename T, typename U, typename V>
00624 template <typename P1>
00625 inline Handle<T, Handle<U,V> > * Handle<T, Handle<U,V> >::create( P1 p1 )
00626 {
00627   Handle<T,Handle<U,V> > * hdl = new Handle<T,Handle<U,V> >();
00628   hdl->default_init( p1 );
00629   return hdl;
00630 }
00631
00632 template <typename T, typename U, typename V>
00633 inline Handle<T, Handle<U,V> > * Handle<T, Handle<U,V> >::createFromBase(const Handle<U,V>& base)
00634 {
00635   return new Handle<T,Handle<U,V> >(base);
00636 }
00637
00638 #if !defined(NDEBUG)
00639 template <typename T, typename U, typename V>
00640 inline Handle<T, Handle<U,V> > * Handle<T, Handle<U,V> >::create(const char* file, unsigned int line)
00641 {
00642   Handle<T,Handle<U,V> > * hdl = new(file, line) Handle<T,Handle<U,V> >();
00643   hdl->default_init();
00644   return hdl;
00645 }
00646
00647 template <typename T, typename U, typename V>
00648 inline Handle<T, Handle<U,V> > * Handle<T, Handle<U,V> >::createFromBase(const char* file, unsigned int line, const Handle<U,V>& base)
00649 {
00650   return new(file, line) Handle<T,Handle<U,V> >(base);
00651 }
00652 #endif
00653
00654 template <typename T, typename U, typename V>
00655 inline Handle<T,Handle<U,V> >::Handle()
00656 {
00657   NVSG_ASSERT((Handle<U,V>::m_dbgInsideConstructor));
00658   /* do nothing ! */
00659 }
00660
00661 template <typename T, typename U, typename V>
00662 inline Handle<T,Handle<U,V> >::Handle(const Handle<T,Handle<U,V> >& rhs)
00663 // note: must not call base classes copy constructor here!!
00664 {
00665   NVSG_ASSERT((Handle<U,V>::m_dbgInsideConstructor));
00666   // override function pointer!
00667   *((PFNVIRTUALCLONE*)&this->m_pfnVirtualClone) = &Handle<T,Handle<U,V> >::clone_impl;
00668   // read-lock source while being copied
00669   Handle<T,Handle<U,V> > * prhs = const_cast<Handle<T,Handle<U,V> >*>(&rhs);
00670   prhs->beginRead();
00671   this->m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>(rhs.TEMPLATE holder<T>(), (UINT_PTR)this));
00672   prhs->endRead();
00673
00674   // Allow notification again now the wrapped object has been fully constructed.
00675   this->m_notifyAllowed = true;
00676 #if !defined(NDEBUG)
00677   Handle<U,V>::m_dbgInsideConstructor = false;
00678 #endif
00679 }
00680
00681 template <typename T, typename U, typename V>
00682 inline Handle<T,Handle<U,V> >::Handle(const Handle<U,V>& base)
00683 // note: must not call base classes copy constructor here!!
00684 {
00685   NVSG_ASSERT((Handle<U,V>::m_dbgInsideConstructor));
00686   // override function pointer!
00687   *((PFNVIRTUALCLONE*)&this->m_pfnVirtualClone) = &Handle<T,Handle<U,V> >::clone_impl;
00688   this->m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>(base.TEMPLATE holder<U>(), (UINT_PTR)this));
00689
00690   // Allow notification again now the wrapped object has been fully constructed.
00691   this->m_notifyAllowed = true;
00692 #if !defined(NDEBUG)
00693   Handle<U,V>::m_dbgInsideConstructor = false;
00694 #endif
00695 }
00696
00697 template <typename T, typename U, typename V>
00698 inline Handle<T,Handle<U,V> >::~Handle()
00699 {
00700   // cleanup will be managed by uppermost base class!
00701 }
00702
00703 template <typename T, typename U, typename V>
00704 inline void Handle<T,Handle<U,V> >::default_init()
00705 {
00706   NVSG_ASSERT((Handle<U,V>::m_dbgInsideConstructor));
00707   // override function pointer!
00708   *((PFNVIRTUALCLONE*)&this->m_pfnVirtualClone) = &Handle<T,Handle<U,V> >::clone_impl;
00709   this->m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>((UINT_PTR)this));
00710   this->m_notifyAllowed = true;
00711 #if !defined(NDEBUG)
00712   Handle<U,V>::m_dbgInsideConstructor = false;
00713 #endif
00714 }
00715
00716 template <typename T, typename U, typename V>
00717 template <typename P1>
00718 inline void Handle<T,Handle<U,V> >::default_init( P1 p1 )
00719 {
00720   NVSG_ASSERT((Handle<U,V>::m_dbgInsideConstructor));
00721   // override function pointer!
00722   *((PFNVIRTUALCLONE*)&this->m_pfnVirtualClone) = &Handle<T,Handle<U,V> >::clone_impl;
00723   this->m_holder = reinterpret_cast<Holder<HandledObject>*>(_new_ Holder<T>((UINT_PTR)this, p1));
00724   this->m_notifyAllowed = true;
00725 #if !defined(NDEBUG)
00726   Handle<U,V>::m_dbgInsideConstructor = false;
00727 #endif
00728 }
00729 #endif // DOXYGEN_IGNORE
00730
00731 template <typename T, typename U, typename V>
00732 inline Handle<T,Handle<U,V> > * Handle<T,Handle<U,V> >::clone() const
00733 { // pseudo-virtual call via member function pointer solves problems with
00734   // the compiler's instantiation policy for virtual functions
00735   return (Handle<T,Handle<U,V> >*)(this->*Handle::m_pfnVirtualClone)();
00736 }
00737
00738 #if !defined(DOXYGEN_IGNORE)
00739 template <typename T, typename U, typename V>
00740 inline Handle<T,Handle<U,V> > * Handle<T,Handle<U,V> >::clone_impl() const
00741 {
00742   return _new_ Handle<T,Handle<U,V> >(*this);
00743 }
00744
00745 template <typename T, typename U, typename V>
00746 inline T * Handle<T,Handle<U,V> >::beginEdit()
00747 {
00748   // the following waits until exclusive access was given
00749   this->TEMPLATE holder<T>().lock.lockExclusive();
00750 #if !defined(NDEBUG)
00751   Handle<U,V>::m_dbgWriteCount++;
00752 #endif
00753   return this->TEMPLATE holder<T>().ptr;
00754 }
00755
00756 template <typename T, typename U, typename V>
00757 inline const T * Handle<T,Handle<U,V> >::beginRead()
00758 {
00759   // the following waits until exclusive access was given
00760   this->TEMPLATE holder<T>().lock.lockShared();
00761 #if !defined(NDEBUG)
00762   {
00763     AutoLock dbgLock(Handle<U,V>::m_dbgLock);
00764     Handle<U,V>::m_dbgReadCount++;
00765   }
00766 #endif
00767   return this->TEMPLATE holder<T>().ptr;
00768 }
00769 #endif // DOXYGEN_IGNORE
00770
00771 //
00772 // implementation of convenient helper functions and structs
00773 //
00774
00778 struct CloneObject
00779 {
00783   template<typename T>
00784   SmartPtr<T> operator()( const SmartPtr<T> & src )
00785   {
00786     return( SmartPtr<T>(src.get()->clone()) );
00787   }
00788 };
00789
00790 #undef TEMPLATE
00791 #undef _new_
00792
00801 template <typename ObjectType> struct ObjectTraits {};
00802
00808 template<typename T, typename USharedPtr>
00809 inline const typename ObjectTraits<T>::SharedPtr & sharedPtr_cast( const USharedPtr & rhs )
00810 {
00811   NVSG_ASSERT( !rhs || isSmartPtrOf<typename ObjectTraits<T>::Handle>(rhs) );
00812   return( *reinterpret_cast<const typename ObjectTraits<T>::SharedPtr *>(&rhs) );
00813 }
00814
00820 template<typename T, typename USharedPtr>
00821 inline typename ObjectTraits<T>::SharedPtr & sharedPtr_cast( USharedPtr & rhs )
00822 {
00823   NVSG_ASSERT( !rhs || isSmartPtrOf<typename ObjectTraits<T>::Handle>(rhs) );
00824   return( *reinterpret_cast<typename ObjectTraits<T>::SharedPtr *>(&rhs) );
00825 }
00826
00832 template<typename T, typename UWeakPtr>
00833 inline const typename ObjectTraits<T>::WeakPtr & weakPtr_cast( const UWeakPtr & rhs )
00834 {
00835   NVSG_ASSERT( !rhs || dynamic_cast<typename ObjectTraits<T>::WeakPtr>(rhs) );
00836   return( *reinterpret_cast<const typename ObjectTraits<T>::WeakPtr *>(&rhs) );
00837 }
00838
00844 template<typename T, typename UWeakPtr>
00845 inline typename ObjectTraits<T>::WeakPtr & weakPtr_cast( UWeakPtr & rhs )
00846 {
00847   NVSG_ASSERT( !rhs || dynamic_cast<typename ObjectTraits<T>::WeakPtr>(rhs) );
00848   return( *reinterpret_cast<typename ObjectTraits<T>::WeakPtr *>(&rhs) );
00849 }
00850
00851 } // namespace nvutil
00852
00853
00857 #define CORE_TYPES_BASE(T)                            \
00858   typedef nvutil::Handle<T>           T##Handle;      \
00859   typedef nvutil::SmartPtr<T##Handle> T##SharedPtr;   \
00860   typedef T##Handle *                 T##WeakPtr;     \
00861   typedef nvutil::ReadableObject<T>   T##ReadLock;    \
00862   typedef nvutil::WritableObject<T>   T##WriteLock
00863
00867 #define CORE_TYPES(T,BT)                              \
00868   typedef nvutil::Handle<T,BT##Handle>  T##Handle;    \
00869   typedef nvutil::SmartPtr<T##Handle>   T##SharedPtr; \
00870   typedef T##Handle *                   T##WeakPtr;   \
00871   typedef nvutil::ReadableObject<T>     T##ReadLock;  \
00872   typedef nvutil::WritableObject<T>     T##WriteLock
00873
00877 #define OBJECT_TRAITS_BASE(T)                         \
00878 template <> struct ObjectTraits<T>                    \
00879 {                                                     \
00880   typedef T                               ObjectType; \
00881   typedef nvutil::Handle<T>               Handle;     \
00882   typedef nvutil::SmartPtr<T##Handle>     SharedPtr;  \
00883   typedef T##Handle *                     WeakPtr;    \
00884   typedef nvutil::ReadableObject<T>       ReadLock;   \
00885   typedef nvutil::WritableObject<T>       WriteLock;  \
00886 }
00887
00891 #define OBJECT_TRAITS(T, BT)                          \
00892 template <> struct ObjectTraits<T>                    \
00893 {                                                     \
00894   typedef T                               ObjectType; \
00895   typedef BT                              Base;       \
00896   typedef nvutil::Handle<T,BT##Handle>    Handle;     \
00897   typedef nvutil::SmartPtr<T##Handle>     SharedPtr;  \
00898   typedef T##Handle *                     WeakPtr;    \
00899   typedef nvutil::ReadableObject<T>       ReadLock;   \
00900   typedef nvutil::WritableObject<T>       WriteLock;  \
00901 }
00902
00903 namespace nvutil
00904 {
00905   class HandledObject;
00906   class Observer;
00907   class BackLinkObserver;
00908
00909   CORE_TYPES_BASE( HandledObject );
00910   CORE_TYPES( Observer, HandledObject );
00911   CORE_TYPES( BackLinkObserver, Observer );
00912
00913   OBJECT_TRAITS_BASE( HandledObject );
00914   OBJECT_TRAITS( Observer, HandledObject );
00915   OBJECT_TRAITS( BackLinkObserver, Observer );
00916 }
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: HandledObject.h File Reference

inc / nvsg / nvutil

HandledObject.h File Reference

#include <nvutil/Reflection.h>

Include dependency graph for HandledObject.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Functions

template<typename T>
ObjectTraits< T >::WeakPtr | getWeakPtr (const HandledObject *obj)

Detailed Description

Generated on Fri Jul 13 13:27:36 2012 for SceniX


SceniX: HandledObject.h Source File

inc / nvsg / nvutil

HandledObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00013 #pragma once
00014
00015 #include <nvutil/Reflection.h>
00016
00017 namespace nvutil
00018 {
00019   // serves as base class for 'handled' objects
00020   class HandledObject : public Reflection
00021   {
00022     public:
00023       NVSG_API virtual unsigned int onUpdate( const Subject *subject, unsigned int oldState, unsigned int updateState, const nvutil::Subject::SmartPayload &payload ) const;
00024       NVSG_API virtual void onUpdate( const Subject *subject, PropertyId property, const nvutil::Subject::SmartPayload &payload ) const;
00025
00026       HandledObject& operator=(const HandledObject & rhs);
00027
00028     protected:
00029       HandledObject();
00030       HandledObject( const HandledObject & );
00031       virtual ~HandledObject();
00032
00033       bool isHandled() const;
00034
00035   private:
00036       template <typename T> friend struct Holder;
00037       template <typename T> friend typename ObjectTraits<T>::WeakPtr getWeakPtr( const HandledObject * obj );
00038       int m_signature; // initialized with SIGNATURE if the object is handled
00039       UINT_PTR m_handle; // holds the address of the corresponding handle
00040   };
00041
00042   inline HandledObject::HandledObject()
00043   {
00044     /* do nothing! */
00045   }
00046
00047   inline HandledObject::HandledObject( const HandledObject &rhs )
00048     : Reflection( rhs )
00049   {
00050     /* do nothing! */
00051   }
00052
00053   inline unsigned int HandledObject::onUpdate( const Subject *subject, unsigned int oldState, unsigned int updateState, const nvutil::Subject::SmartPayload &payload ) const
00054   {
00055     notify( this, updateState );
00056     return oldState | updateState;
00057   }
00058
00059   inline void HandledObject::onUpdate( const Subject *subject, PropertyId property, const nvutil::Subject::SmartPayload &payload ) const
00060   {
00061     notify( property );
00062   }
00063
00064   inline HandledObject::~HandledObject()
00065   {
00066 #if !defined(NDEBUG)
00067     m_signature = 0xDEADF00D;
00068     m_handle = 0xDEADF00D;
00069 #endif
00070   }
00071
00072   inline bool HandledObject::isHandled() const
00073   {
00074     return SIGNATURE == m_signature;
00075   }
00076
00077   inline HandledObject& HandledObject::operator=( const HandledObject &rhs )
00078   {
00079     NVSG_TRACE();
00080     Reflection::operator=( rhs );
00081     return( *this );
00082   }
00083
00084   // returns the object's corresponding handle
00085   template <typename T>
00086   inline typename ObjectTraits<T>::WeakPtr getWeakPtr( const HandledObject * obj )
00087   {
00088     NVSG_ASSERT( obj->isHandled() );
00089     return( reinterpret_cast<typename ObjectTraits<T>::WeakPtr>(obj->m_handle) );
00090   }
00091
00092 } // namespace nvutil
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: HashGenerator.h File Reference

inc / nvsg / nvutil

HashGenerator.h File Reference

#include "nvsg/nvsgapi.h"
#include <string>

Include dependency graph for HashGenerator.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:27:38 2012 for SceniX


SceniX: HashGenerator.h Source File

inc / nvsg / nvutil

HashGenerator.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2008
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR a PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"
00016 #include <string>
00017
00018 namespace nvutil
00019 {
00022   class HashGenerator
00023   {
00024     public:
00032       NVSG_API virtual void update( const unsigned char * input, unsigned int byteCount ) = 0;
00033
00043       NVSG_API void update( const unsigned char * input, unsigned int elementSize, unsigned int stride, unsigned int elementCount );
00044
00051       NVSG_API virtual unsigned int getSizeOfHash() const = 0;
00052
00060       NVSG_API virtual void finalize( void * hash ) = 0;
00061
00068       NVSG_API virtual std::string finalize() = 0;
00069   };
00070
00071   inline void HashGenerator::update( const unsigned char * input, unsigned int elementSize, unsigned int stride, unsigned int elementCount )
00072   {
00073     if (stride != elementSize)
00074     {
00075       for ( unsigned int element = 0;element < elementCount;++element)
00076       {
00077         update( input, elementSize );
00078         input += stride;
00079       }
00080     }
00081     else
00082     {
00083       update( input, elementCount * elementSize );
00084     }
00085   }
00086
00087 }
00088
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: HashGeneratorMD5.h File Reference

inc / nvsg / nvutil

HashGeneratorMD5.h File Reference

#include <string>
#include <nvutil/HashGenerator.h>
#include <nvutil/Assert.h>

Include dependency graph for HashGeneratorMD5.h:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:27:38 2012 for SceniX


SceniX: HashGeneratorMD5.h Source File

inc / nvsg / nvutil

HashGeneratorMD5.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2008
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR a PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <string>
00016 #include <nvutil/HashGenerator.h>
00017 #include <nvutil/Assert.h>
00018
00019 namespace nvutil
00020 {
00022   class HashGeneratorMD5 : public HashGenerator
00023   {
00024     public:
00025       NVSG_API HashGeneratorMD5();
00026       NVSG_API virtual ~HashGeneratorMD5() {};
00027
00028       // import non-virtual update signature
00029       using HashGenerator::update;
00030
00031       // update the hash with the input
00032       NVSG_API void update( const unsigned char * input, unsigned int byteCount );
00033
00034       // get the size of the hash value
00035       NVSG_API virtual unsigned int getSizeOfHash() const;
00036
00037       // do the final hash calculation and get the hash value
00038       NVSG_API virtual void finalize( void * hash );
00039
00040       // do the final hash calculation and get the hash value as a string
00041       NVSG_API virtual std::string finalize();
00042
00043     private:
00044       void doFinalize();
00045       void init();
00046       inline void step1( unsigned int & a, unsigned int b, unsigned int c, unsigned int d
00047                        , unsigned int x, unsigned int s, unsigned int t );
00048       inline void step2( unsigned int & a, unsigned int b, unsigned int c, unsigned int d
00049                        , unsigned int x, unsigned int s, unsigned int t );
00050       inline void step3( unsigned int & a, unsigned int b, unsigned int c, unsigned int d
00051                        , unsigned int x, unsigned int s, unsigned int t );
00052       inline void step4( unsigned int & a, unsigned int b, unsigned int c, unsigned int d
00053                        , unsigned int x, unsigned int s, unsigned int t );
00054       void transform( const unsigned char block[64] );
00055
00056     private:
00057       unsigned char m_inputBuffer[64];  // input buffer
00058       unsigned int m_bitCount[2];      // number of bits, modulo 2^64 (lsb first)
00059       unsigned int m_hash[4];          // MD5 hash
00060   };
00061
00062 }
00063
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: IdentityToGroupTraverser.h File Reference

inc / nvsg / nvtraverser

IdentityToGroupTraverser.h File Reference

#include <map>
#include "nvsgcommon.h"
#include "nvtraverser/OptimizeTraverser.h"

Include dependency graph for IdentityToGroupTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:39 2012 for SceniX


SceniX: IdentityToGroupTraverser.h Source File

inc / nvsg / nvtraverser

IdentityToGroupTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <map>
00016 #include "nvsgcommon.h"
00017 #include "nvtraverser/OptimizeTraverser.h"
00018
00019 namespace nvtraverser
00020 {
00022   class IdentityToGroupTraverser : public OptimizeTraverser
00023   {
00024     public:
00026       NVSG_API IdentityToGroupTraverser( void );
00027
00028     protected:
00030       NVSG_API virtual ~IdentityToGroupTraverser( void );
00031
00033       NVSG_API virtual void postApply( const nvsg::NodeSharedPtr & root );
00034
00036
00037       NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform * p );
00038
00040       NVSG_API virtual void handleBillboard( nvsg::Billboard *p );
00041
00043       NVSG_API virtual void handleGroup( nvsg::Group *p );
00044
00046       NVSG_API virtual void handleLOD( nvsg::LOD *p );
00047
00049       NVSG_API virtual void handleSwitch( nvsg::Switch *p );
00050
00052       NVSG_API virtual void handleTransform( nvsg::Transform *p );
00053
00054     private:
00055       nvsg::GroupSharedPtr  createGroupFromTransform( const nvsg::TransformSharedPtr & th );
00056       bool                  isTransformToReplace( const nvsg::NodeSharedPtr & nh );
00057       void                  replaceTransforms( nvsg::Group *p );
00058   };
00059 }
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: IndependentPrimitiveSet.h File Reference

inc / nvsg / nvsg

IndependentPrimitiveSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/PrimitiveSet.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for IndependentPrimitiveSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:40 2012 for SceniX


SceniX: IndependentPrimitiveSet.h Source File

inc / nvsg / nvsg

IndependentPrimitiveSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/nvsg.h"
00017 #include "nvsg/PrimitiveSet.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00029   class IndependentPrimitiveSet : public PrimitiveSet
00030   {
00031     public:
00033       NVSG_API virtual ~IndependentPrimitiveSet();
00034
00038       NVSG_API virtual bool isDataShared() const;
00039
00043       NVSG_API virtual DataID getDataID() const;
00044
00048       NVSG_API bool hasIndices() const;
00049
00053       NVSG_API unsigned int getNumberOfIndices() const;
00054
00058       NVSG_API const unsigned int * getIndices() const;
00059
00067       NVSG_API void setIndices( const unsigned int * indices, unsigned int numIndices );
00068
00085       NVSG_API void setIndices( unsigned int pos, const unsigned int * indices, unsigned int numIndices );
00086
00100       NVSG_API virtual bool isEquivalent( const Object *p
00101                                         , bool ignoreNames
00102                                         , bool deepCompare ) const;
00103
00104       REFLECTION_INFO_API( NVSG_API, IndependentPrimitiveSet );
00105     protected:
00110       NVSG_API IndependentPrimitiveSet();
00111
00117       NVSG_API IndependentPrimitiveSet( const IndependentPrimitiveSet& rhs );
00118
00123       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00124
00129       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00130
00136       NVSG_API IndependentPrimitiveSet & operator=(const IndependentPrimitiveSet & rhs);
00137
00141       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00142
00143     private:
00144       nvutil::SmartPtr<nvutil::RCVector<unsigned int> > m_indices;
00145   };
00146
00147
00148   // - - - - - - - - - - - - - - - - - - - - - - - - -
00149   // inlines
00150   // - - - - - - - - - - - - - - - - - - - - - - - - -
00151
00152   inline bool IndependentPrimitiveSet::hasIndices()  const
00153   {
00154     NVSG_TRACE();
00155     return( !m_indices->empty() );
00156   }
00157
00158   inline unsigned int IndependentPrimitiveSet::getNumberOfIndices()  const
00159   {
00160     NVSG_TRACE();
00161     return( checked_cast<unsigned int>(m_indices->size()) );
00162   }
00163
00164   inline const unsigned int * IndependentPrimitiveSet::getIndices() const
00165   {
00166     NVSG_TRACE();
00167     return( &(*m_indices)[0] );
00168   }
00169 }
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: IndexSet.h File Reference

inc / nvsg / nvsg

IndexSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/Types.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/RCObject.h"
#include "nvsg/Buffer.h"
#include "nvsg/Primitive.h"

Include dependency graph for IndexSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:40 2012 for SceniX


SceniX: IndexSet.h Source File

inc / nvsg / nvsg

IndexSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/CoreTypes.h"
00017 #include "nvsg/Types.h"
00018 #include "nvutil/HashGenerator.h"
00019 #include "nvutil/RCObject.h" // base class definition
00020 #include "nvsg/Buffer.h"
00021 #include "nvsg/Primitive.h"
00022
00023 namespace nvsg
00024 {
00027   class IndexSet : public OwnedObject<Primitive>
00028   {
00029     public:
00031       static NVSG_API IndexSetSharedPtr create();
00032
00034       NVSG_API IndexSet();
00035
00037       NVSG_API ~IndexSet();
00038
00042       NVSG_API IndexSet( const IndexSet& rhs );
00043
00059       NVSG_API void setData( const unsigned int   * indices, unsigned int count, unsigned int primitiveRestartIndex = ~0 );
00060       NVSG_API void setData( const unsigned short * indices, unsigned int count, unsigned int primitiveRestartIndex = ~0 );
00061       NVSG_API void setData( const unsigned char  * indices, unsigned int count, unsigned int primitiveRestartIndex = ~0 );
00062       NVSG_API void setData( const void * indices, unsigned int count, unsigned int type = nvsg::NVSG_UNSIGNED_INT,
00063                                                                        unsigned int primitiveRestartIndex = ~0 );
00064
00076       NVSG_API void setBuffer( const BufferSharedPtr &buffer, unsigned int count,
00077                                                               unsigned int type = nvsg::NVSG_UNSIGNED_INT,
00078                                                               unsigned int primitiveRestartIndex = ~0 );
00079
00083       NVSG_API const BufferSharedPtr & getBuffer() const;
00084
00095       NVSG_API bool getData( void * destination ) const;
00096
00100       NVSG_API unsigned int getNumberOfIndices() const;
00101
00113       NVSG_API void setPrimitiveRestartIndex( unsigned int index );
00114       NVSG_API unsigned int getPrimitiveRestartIndex() const;
00115
00116       /* Set index data type
00117        *  \param type Specifies the data type of each index in the input data array.  Valid values are  NVSG_UNSIGNED_BYTE,
00118        *  NVSG_UNSIGNED_SHORT, or NVSG_UNSIGNED_INT.
00119        *  \note The default format is NVSG_UNSIGNED_INT
00120        *  \sa setPrimitiveRestartIndex, getPrimitiveRestartIndex
00121        */
00122       NVSG_API void setIndexDataType( unsigned int type );
00123       NVSG_API unsigned int getIndexDataType() const;
00124
00129       NVSG_API IndexSet & operator=( const IndexSet & rhs );
00130
00138       NVSG_API bool isEquivalent( const IndexSet *p, bool deepCompare ) const;
00139
00140       NVSG_API virtual void notifyChange( const Subject * originator, unsigned int state = 0 ) const;
00141
00144       template <typename T>
00145       class ConstIterator
00146       {
00147         public:
00148           ConstIterator( const nvsg::IndexSetSharedPtr & iset, unsigned int offset = 0 );
00149           ConstIterator( const ConstIterator& rhs );
00150           ConstIterator& operator=( const ConstIterator& rhs );
00151           ~ConstIterator() {}
00152
00153           T operator*() const;
00154           T operator[](size_t index) const;
00155           ConstIterator& operator++();   // pre-increment
00156           ConstIterator  operator++(int) const; // post-increment
00157           ConstIterator  operator+(int offset) const;
00158
00159         protected:
00160           Buffer::DataReadLock  m_readlock;
00161           const void          * m_basePtr;
00162           unsigned int          m_type;
00163           unsigned int          m_offset;
00164       };
00165
00166       REFLECTION_INFO_API( NVSG_API, IndexSet );
00167     protected:
00168       NVSG_API void copyDataToBuffer( const void * ptr, unsigned int count );
00169
00173       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00174
00175       NVSG_API virtual void incrementIndexSetIncarnation() const;
00176       NVSG_API virtual const nvutil::Incarnation & queryIndexSetIncarnation() const;
00177
00178     private:
00179       unsigned int    m_dataType;
00180       unsigned int    m_primitiveRestartIndex;
00181       unsigned int    m_numberOfIndices;
00182       BufferSharedPtr m_buffer;
00183       const Subject  *m_bufferSubject;
00184
00185       mutable nvutil::Incarnation m_indexSetIncarnation; // tracks unspecified indexset changes
00186   };
00187
00188   inline unsigned int IndexSet::getNumberOfIndices() const
00189   {
00190     NVSG_TRACE();
00191     return m_numberOfIndices;
00192   }
00193
00194   inline unsigned int IndexSet::getIndexDataType() const
00195   {
00196     NVSG_TRACE();
00197     return m_dataType;
00198   }
00199
00200   inline unsigned int IndexSet::getPrimitiveRestartIndex() const
00201   {
00202     NVSG_TRACE();
00203     return m_primitiveRestartIndex;
00204   }
00205
00206   inline const BufferSharedPtr & IndexSet::getBuffer() const
00207   {
00208     NVSG_TRACE();
00209     return m_buffer;
00210   }
00211
00212   template< typename T >
00213   inline IndexSet::ConstIterator<T>::ConstIterator( const IndexSetSharedPtr & iset, unsigned int offset )
00214     : m_readlock( IndexSetReadLock(iset)->getBuffer() )
00215     , m_type( IndexSetReadLock(iset)->getIndexDataType() )
00216   {
00217     // compute offset from base - no reason to store the offset
00218     m_basePtr = m_readlock.getPtr<unsigned char>() + (offset * nvsg::sizeOfType( m_type ));
00219   }
00220
00221   template< typename T >
00222   inline IndexSet::ConstIterator<T>::ConstIterator( const IndexSet::ConstIterator<T> & rhs )
00223     : m_readlock( rhs.m_readlock )
00224     , m_type( rhs.m_type )
00225     , m_basePtr( rhs.m_basePtr )
00226   {
00227   }
00228
00229   template< typename T >
00230   inline IndexSet::ConstIterator<T>& IndexSet::ConstIterator<T>::operator=( const IndexSet::ConstIterator<T> & rhs )
00231   {
00232     m_readlock = rhs.m_readlock;
00233     m_type     = rhs.m_type;
00234     m_basePtr  = rhs.m_basePtr;
00235     m_offset   = rhs.m_offset;
00236
00237     return *this;
00238   }
00239
00240   template< typename T >
00241   inline IndexSet::ConstIterator<T> IndexSet::ConstIterator<T>::operator+( int offset ) const
00242   {
00243     ConstIterator<T> tn( *this );
00244
00245     tn.m_basePtr = reinterpret_cast< const unsigned char * >( m_basePtr ) + (offset * nvsg::sizeOfType( m_type ));
00246
00247     return tn;
00248   }
00249
00250   template< typename T >
00251   inline IndexSet::ConstIterator<T> IndexSet::ConstIterator<T>::operator++(int) const
00252   {
00253     return *this + 1;
00254   }
00255
00256   template< typename T >
00257   inline IndexSet::ConstIterator<T>& IndexSet::ConstIterator<T>::operator++()
00258   {
00259     m_basePtr = reinterpret_cast< const unsigned char * >( m_basePtr ) + nvsg::sizeOfType( m_type );
00260
00261     return *this;
00262   }
00263
00264   template< typename T >
00265   inline T IndexSet::ConstIterator<T>::operator*() const
00266   {
00267     switch( m_type )
00268     {
00269       case NVSG_UNSIGNED_INT:
00270         return checked_cast<T>( *reinterpret_cast<const unsigned int *>(m_basePtr) );
00271       case NVSG_UNSIGNED_SHORT:
00272         return checked_cast<T>( *reinterpret_cast<const unsigned short *>(m_basePtr) );
00273       case NVSG_UNSIGNED_BYTE:
00274         return checked_cast<T>( *reinterpret_cast<const unsigned char *>(m_basePtr) );
00275       default:
00276         NVSG_ASSERT(0);
00277         return (T)(~0);
00278     }
00279   }
00280
00281   template< typename T >
00282   inline T IndexSet::ConstIterator<T>::operator[]( size_t index ) const
00283   {
00284     switch( m_type )
00285     {
00286       case NVSG_UNSIGNED_INT:
00287         return checked_cast<T>( reinterpret_cast<const unsigned int *>(m_basePtr)[index] );
00288       case NVSG_UNSIGNED_SHORT:
00289         return checked_cast<T>( reinterpret_cast<const unsigned short *>(m_basePtr)[index] );
00290       case NVSG_UNSIGNED_BYTE:
00291         return checked_cast<T>( reinterpret_cast<const unsigned char *>(m_basePtr)[index] );
00292       default:
00293         NVSG_ASSERT(0);
00294         return (T)(~0);
00295     }
00296   }
00297
00298   inline void IndexSet::incrementIndexSetIncarnation() const
00299   {
00300     NVSG_TRACE();
00301     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00302     nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00303     m_indexSetIncarnation++;
00304   }
00305
00306   inline const nvutil::Incarnation & IndexSet::queryIndexSetIncarnation() const
00307   {
00308     return( m_indexSetIncarnation );
00309   }
00310
00311 } //  namespace nvsg
00312
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: IOLayer.h File Reference

inc / nvsg / nvutil

IOLayer.h File Reference

#include <string>
#include "nvsgcommon.h"

Include dependency graph for IOLayer.h:

Go to the source code of this file.

Namespaces

namespace | nvutil
namespace | nvutil::IO

Functions

NVSG_API void | errorMessage (const std::string &caption, const std::string &msg, bool resume)
Pop up an error message.

Detailed Description

Function Documentation

NVSG_API void errorMessage | ( | const std::string & | caption,
 |  | const std::string & | msg,
 |  | bool | resume
 | ) |

Pop up an error message.

This function pops up a dialog showing the error message msg. The dialog box will show \ a caption as caption. The boolean parameter resume forces a visual feedback for whether subsequent code will be resumed or not.

Note:
This function is only implemented for win32 and win64 systems by now.
Parameters:
caption | The dialog's caption string
msg | The error message string.
resume | true if subsequent code will be resumed, false otherwise.

Generated on Fri Jul 13 13:27:40 2012 for SceniX


SceniX: IOLayer.h Source File

inc / nvsg / nvutil

IOLayer.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <string>
00016
00017 #include "nvsgcommon.h"
00018
00019 namespace nvutil
00020 {
00022
00025   namespace IO
00026   {
00028
00033     NVSG_API void errorMessage( const std::string& caption
00034                               , const std::string& msg
00035                               , bool resume
00036                               );
00037   }
00038 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: KeyFramedAnimation.h File Reference

inc / nvsg / nvsg

KeyFramedAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/AnimationDescription.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for KeyFramedAnimation.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:41 2012 for SceniX


SceniX: KeyFramedAnimation.h Source File

inc / nvsg / nvsg

KeyFramedAnimation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/AnimationDescription.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00029   template<typename T> class KeyFramedAnimationDescription : public AnimationDescription<T>
00030   {
00031     public:
00032       static typename nvutil::ObjectTraits<KeyFramedAnimationDescription<T> >::SharedPtr create();
00033
00034     public:
00036       virtual ~KeyFramedAnimationDescription( void );
00037
00042       virtual unsigned int getNumberOfSteps() const;
00043
00050       void addKey( unsigned int step, const T & value );
00051
00060       void addKeys( unsigned int numberOfKeys, const unsigned int * steps, const T * values );
00061
00072       void insertKey( unsigned int key, unsigned int step, const T & value );
00073
00080       unsigned int getKeyStep( unsigned int key ) const;
00081
00085       const unsigned int * getKeySteps() const;
00086
00093       const T & getKeyValue( unsigned int key ) const;
00094
00098       const T * getKeyValues() const;
00099
00105       unsigned int getNumberOfKeys( void ) const;
00106
00115       virtual T getStepValue( unsigned int step ) const;
00116
00125       void replaceKey( unsigned int key, unsigned int step, const T & value );
00126
00137       void replaceKeys( unsigned int key, unsigned int numberOfKeys, const unsigned int * steps, const T * values );
00138
00143       void removeKey( unsigned int key );
00144
00151       void removeKeys( unsigned int key, unsigned int numberOfKeys );
00152
00156       void reserveKeys( unsigned int numberOfKeys );
00157
00164       virtual void replaceStep( unsigned int step, const T & value );
00165
00173       virtual void removeStep( unsigned int step );
00174
00188       virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00189
00190     protected:
00195       KeyFramedAnimationDescription( void );
00196
00201       KeyFramedAnimationDescription( const KeyFramedAnimationDescription &rhs );
00202
00210       unsigned int getKey( unsigned int frame ) const;
00211
00218       KeyFramedAnimationDescription<T> & operator=(const KeyFramedAnimationDescription<T> & rhs);
00219
00223       virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00224
00225     private:
00226       std::vector<unsigned int> m_keys;
00227       std::vector<T>            m_values;
00228   };
00229
00230   template<typename T>
00231   inline typename nvutil::ObjectTraits<KeyFramedAnimationDescription<T> >::SharedPtr KeyFramedAnimationDescription<T>::create()
00232   {
00233     return( nvutil::ObjectTraits<KeyFramedAnimationDescription<T> >::Handle::create() );
00234   }
00235
00236   template<typename T>
00237   inline KeyFramedAnimationDescription<T>::KeyFramedAnimationDescription( void )
00238   : AnimationDescription<T>()
00239   {
00240     NVSG_TRACE();
00241   }
00242
00243   template<typename T>
00244   inline KeyFramedAnimationDescription<T>::KeyFramedAnimationDescription( const KeyFramedAnimationDescription &rhs )
00245   : AnimationDescription<T>(rhs)
00246   , m_keys( rhs.m_keys )
00247   , m_values( rhs.m_values )
00248   {
00249     NVSG_TRACE();
00250   }
00251
00252   template<typename T>
00253   inline KeyFramedAnimationDescription<T>::~KeyFramedAnimationDescription(void)
00254   {
00255     NVSG_TRACE();
00256   }
00257
00258   template<typename T>
00259   unsigned int KeyFramedAnimationDescription<T>::getNumberOfSteps() const
00260   {
00261     NVSG_TRACE();
00262     return( m_keys.empty() ? 0 : m_keys.back() + 1 );
00263   }
00264
00265   template<typename T>
00266   inline void KeyFramedAnimationDescription<T>::addKey( unsigned int step, const T & value )
00267   {
00268     NVSG_TRACE();
00269     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00270     NVSG_ASSERT( m_keys.empty() || ( m_keys.back() < step ) );
00271     m_keys.push_back( step );
00272     m_values.push_back( value );
00273     this->invalidate();
00274   }
00275
00276   template<typename T>
00277   inline void KeyFramedAnimationDescription<T>::addKeys( unsigned int numberOfKeys, const unsigned int * steps, const T * values )
00278   {
00279     NVSG_TRACE();
00280     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00281     NVSG_ASSERT( numberOfKeys && steps && values );
00282     NVSG_ASSERT( m_keys.empty() || ( m_keys.back() < steps[0] ) );
00283 #if !defined(NDEBUG)
00284     for ( unsigned int i=1 ; i<numberOfKeys ; i++ )
00285     {
00286       NVSG_ASSERT( steps[i-1] < steps[i] );
00287     }
00288 #endif
00289     m_keys.insert( m_keys.end(), steps, steps + numberOfKeys );
00290     m_values.insert( m_values.end(), values, values + numberOfKeys );
00291     this->invalidate();
00292   }
00293
00294   template<typename T>
00295   inline void KeyFramedAnimationDescription<T>::insertKey( unsigned int key, unsigned int step, const T & value )
00296   {
00297     NVSG_TRACE();
00298     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00299     if ( getKeyStep( key ) == step )
00300     {
00301       replaceKey( key, step, value );   // invalidates incarnation
00302     }
00303     else
00304     {
00305       NVSG_ASSERT( ( key == 0 ) || ( m_keys[key-1] < step ) );
00306       NVSG_ASSERT( ( key == m_keys.size() ) || ( step < m_keys[key] ) );
00307       m_keys.insert( m_keys.begin() + key, step );
00308       m_values.insert( m_values.begin() + key, value );
00309       this->invalidate();
00310     }
00311   }
00312
00313   template<typename T>
00314   inline unsigned int KeyFramedAnimationDescription<T>::getKeyStep( unsigned int key ) const
00315   {
00316     NVSG_TRACE();
00317     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00318     NVSG_ASSERT( key < m_keys.size() );
00319     return( m_keys[key] );
00320   }
00321
00322   template<typename T>
00323   inline const unsigned int * KeyFramedAnimationDescription<T>::getKeySteps() const
00324   {
00325     NVSG_TRACE();
00326     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00327     return( m_keys.empty() ? NULL : &m_keys[0] );
00328   }
00329
00330   template<typename T>
00331   inline const T & KeyFramedAnimationDescription<T>::getKeyValue( unsigned int key ) const
00332   {
00333     NVSG_TRACE();
00334     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00335     NVSG_ASSERT( key < m_values.size() );
00336     return( m_values[key] );
00337   }
00338
00339   template<typename T>
00340   inline const T * KeyFramedAnimationDescription<T>::getKeyValues() const
00341   {
00342     NVSG_TRACE();
00343     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00344     return( m_values.empty() ? NULL : &m_values[0] );
00345   }
00346
00347   template<typename T>
00348   inline unsigned int KeyFramedAnimationDescription<T>::getNumberOfKeys( void ) const
00349   {
00350     NVSG_TRACE();
00351     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00352     return( checked_cast<unsigned int>(m_keys.size()) );
00353   }
00354
00355   template<typename T>
00356   inline T KeyFramedAnimationDescription<T>::getStepValue( unsigned int step ) const
00357   {
00358     NVSG_TRACE();
00359     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00360     NVSG_ASSERT( step < this->getNumberOfSteps() );
00361     return( getKeyValue( getKey( step ) ) );
00362   }
00363
00364   template<typename T>
00365   inline void KeyFramedAnimationDescription<T>::replaceKey( unsigned int key, unsigned int step, const T & value )
00366   {
00367     NVSG_TRACE();
00368     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00369     NVSG_ASSERT( key < m_keys.size() );
00370     NVSG_ASSERT( ( key == 0 ) || ( m_keys[key-1] < step ) );
00371     NVSG_ASSERT( ( key == m_keys.size()-1 ) || ( step < m_keys[key+1] ) );
00372     m_keys[key] = step;
00373     m_values[key] = value;
00374     this->invalidate();
00375   }
00376
00377   template<typename T>
00378   inline void KeyFramedAnimationDescription<T>::replaceKeys( unsigned int key, unsigned int numberOfKeys
00379                                                 , const unsigned int * steps, const T * values )
00380   {
00381     NVSG_TRACE();
00382     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00383     NVSG_ASSERT( numberOfKeys && steps && values );
00384     NVSG_ASSERT( key + numberOfKeys <= m_keys.size() );
00385     NVSG_ASSERT( ( key == 0 ) || ( m_keys[key-1] < steps[0] ) );
00386 #if !defined(NDEBUG)
00387     for ( unsigned int i=1 ; i<numberOfKeys ; i++ )
00388     {
00389       NVSG_ASSERT( steps[i-1] < steps[i] );
00390     }
00391 #endif
00392     NVSG_ASSERT(    ( key + numberOfKeys == m_keys.size() )
00393                 ||  ( steps[numberOfKeys-1] < m_keys[key+numberOfKeys] ) );
00394     for ( unsigned int i=0, j=key ; i<numberOfKeys ; i++, j++ )
00395     {
00396       m_keys[j] = steps[i];
00397       m_values[j] = values[i];
00398     }
00399     this->invalidate();
00400   }
00401
00402   template<typename T>
00403   inline void KeyFramedAnimationDescription<T>::removeKey( unsigned int key )
00404   {
00405     NVSG_TRACE();
00406     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00407     NVSG_ASSERT( key < m_keys.size() );
00408     m_keys.erase( m_keys.begin() + key );
00409     m_values.erase( m_values.begin() + key );
00410     this->invalidate();
00411   }
00412
00413   template<typename T>
00414   inline void KeyFramedAnimationDescription<T>::removeKeys( unsigned int key, unsigned int numberOfKeys )
00415   {
00416     NVSG_TRACE();
00417     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00418     NVSG_ASSERT( key + numberOfKeys <= m_keys.size() );
00419     m_keys.erase( m_keys.begin() + key, m_keys.begin() + key + numberOfKeys );
00420     m_values.erase( m_values.begin() + key, m_values.begin() + key + numberOfKeys );
00421     this->invalidate();
00422   }
00423
00424   template<typename T>
00425   inline void KeyFramedAnimationDescription<T>::reserveKeys( unsigned int numberOfKeys )
00426   {
00427     NVSG_TRACE();
00428     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00429     m_keys.reserve( numberOfKeys );
00430     m_values.reserve( numberOfKeys );
00431   }
00432
00433   template<typename T>
00434   inline void KeyFramedAnimationDescription<T>::replaceStep( unsigned int step, const T & value )
00435   {
00436     NVSG_TRACE();
00437     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00438     NVSG_ASSERT( step < this->getNumberOfSteps() );
00439     insertKey( getKey( step ), step, value );   // invalidates incarnation
00440   }
00441
00442   template<typename T>
00443   inline void KeyFramedAnimationDescription<T>::removeStep( unsigned int step )
00444   {
00445     NVSG_TRACE();
00446     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00447     NVSG_ASSERT( step < this->getNumberOfSteps() );
00448     unsigned int key = getKey(step);
00449
00450     // if the key just before 'step' is more than one step away -> introduce a new key at 'step'-1
00451     if ( key && ( m_keys[key-1] < step-1 ) )
00452     {
00453       NVSG_ASSERT( step );
00454       insertKey( key, step-1, getStepValue(step-1) );
00455       key++;  // now 'key' again is the key index at or to the right of 'step'
00456     }
00457
00458     // if the key just after 'step' is more than one step away -> introduce a new key at 'step'+1
00459     if ( step < this->getNumberOfSteps()-1 )
00460     {
00461       unsigned int nextStepKey = getKey(step+1);
00462       if ( step+1 < m_keys[nextStepKey] )
00463       {
00464         insertKey( nextStepKey, step+1, getStepValue(step+1) );
00465       }
00466     }
00467
00468     // if 'step' is at a key position -> remove it
00469     NVSG_ASSERT( getKey(step) == key );
00470     if ( getKeyStep(key) == step )
00471     {
00472       removeKey( key );
00473     }
00474
00475     // now reduce each key by one step -> 'step' is removed and the animation is one step shorter
00476     // incarnation is already invalidated above!
00477     for ( unsigned int i=key ; i<m_keys.size() ; i++ )
00478     {
00479       m_keys[i]--;
00480     }
00481   }
00482
00483   template<typename T>
00484   inline unsigned int KeyFramedAnimationDescription<T>::getKey( unsigned int frame ) const
00485   {
00486     NVSG_TRACE();
00487     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00488     NVSG_ASSERT( frame < this->getNumberOfSteps() );
00489     std::vector<unsigned int>::const_iterator it = std::lower_bound( m_keys.begin(), m_keys.end(), frame );
00490     NVSG_ASSERT( it != m_keys.end() );
00491     return( checked_cast<unsigned int>(it - m_keys.begin()) );
00492   }
00493
00494   template<typename T>
00495   KeyFramedAnimationDescription<T> & KeyFramedAnimationDescription<T>::operator=(const KeyFramedAnimationDescription<T> & rhs)
00496   {
00497     NVSG_TRACE();
00498     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00499     if (&rhs != this)
00500     {
00501       Animation<T>::operator=(rhs);   // invalidates incarnation
00502       m_keys    = rhs.m_keys;
00503       m_values  = rhs.m_values;
00504     }
00505     return *this;
00506   }
00507
00508   template<typename T>
00509   inline bool KeyFramedAnimationDescription<T>::isEquivalent( const Object * p, bool ignoreNames, bool deepCompare) const
00510   {
00511     NVSG_TRACE();
00512     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00513     bool equi =     ( dynamic_cast<const KeyFramedAnimationDescription<T>*>(p) != NULL )
00514                 &&  AnimationDescription<T>::isEquivalent( p, ignoreNames, deepCompare );
00515     if ( equi )
00516     {
00517       NVSG_ASSERT( dynamic_cast<const KeyFramedAnimationDescription<T>*>(p) );
00518       const KeyFramedAnimationDescription<T> * iat = static_cast<const KeyFramedAnimationDescription<T>*>(p);
00519       equi = ( m_keys == iat->m_keys ) && ( m_values == iat->m_values );
00520     }
00521     return( equi );
00522   }
00523
00524   template<typename T>
00525     inline void KeyFramedAnimationDescription<T>::feedHashGenerator( nvutil::HashGenerator & hg ) const
00526   {
00527     AnimationDescription<T>::feedHashGenerator( hg );
00528     hg.update( reinterpret_cast<const unsigned char *>(&m_keys[0]), checked_cast<unsigned int>(m_keys.size() * sizeof(unsigned int)) );
00529     hg.update( reinterpret_cast<const unsigned char *>(&m_values[0]), checked_cast<unsigned int>(m_values.size() * sizeof(T)) );
00530   }
00531 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LightingAttribute.h File Reference

inc / nvsg / nvsg

LightingAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for LightingAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:41 2012 for SceniX


SceniX: LightingAttribute.h Source File

inc / nvsg / nvsg

LightingAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StateAttribute.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00031   class LightingAttribute : public StateAttribute
00032   {
00033     public:
00034       NVSG_API static LightingAttributeSharedPtr create();
00035
00036     public:
00040       NVSG_API void setEnabled( bool state );
00041
00045       NVSG_API bool getEnabled() const;
00046
00056       NVSG_API virtual bool isEquivalent( const Object *p
00057                                         , bool ignoreNames
00058                                         , bool deepCompare ) const;
00059
00066       NVSG_API LightingAttribute & operator=(const LightingAttribute & rhs);
00067
00068       REFLECTION_INFO_API( NVSG_API, LightingAttribute );
00069     protected:
00070       friend struct nvutil::Holder<LightingAttribute>;
00071
00075       NVSG_API LightingAttribute();
00076
00079       NVSG_API LightingAttribute( const LightingAttribute &rhs );
00080
00082       NVSG_API virtual ~LightingAttribute();
00083
00087       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00088
00089     private:
00090       bool  m_enabled;
00091   };
00092
00093   inline bool LightingAttribute::getEnabled() const
00094   {
00095     return( m_enabled );
00096   }
00097
00098 } // namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LightSource.h File Reference

inc / nvsg / nvsg

LightSource.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/Animation.h"
#include "nvsg/CgFx.h"
#include "nvmath/Matnnt.h"
#include "nvmath/Trafo.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/Conversion.h"

Include dependency graph for LightSource.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:41 2012 for SceniX


SceniX: LightSource.h Source File

inc / nvsg / nvsg

LightSource.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h" // commonly used stuff
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/Animation.h"
00018 #include "nvsg/CgFx.h"
00019 #include "nvmath/Matnnt.h"
00020 #include "nvmath/Trafo.h"
00021 #include "nvutil/HashGenerator.h"
00022 #if !defined(NDEBUG)
00023 #include "nvutil/Conversion.h"
00024 #endif
00025
00026 namespace nvsg
00027 {
00037   class LightSource : public OwnedObject<Group>
00038   {
00039     friend class Group;
00040
00041     public:
00044       NVSG_API virtual ~LightSource();
00045
00046       NVSG_API virtual void syncEffectLight(CgFxEffect * fx, CgFxParameter fxLight, const nvmath::Mat44f& modelToWorld) const {}
00047       NVSG_API virtual void syncMetaSLLightParameters(CgFxEffect * fx, unsigned int light, const nvmath::Mat44f& world, const nvmath::Mat44f& view) const {}
00048
00055       NVSG_API const nvmath::Vec3f& getAmbientColor() const;
00056
00063       NVSG_API void setAmbientColor( const nvmath::Vec3f &color );
00064
00071       NVSG_API const nvmath::Vec3f& getDiffuseColor() const;
00072
00079       NVSG_API void setDiffuseColor( const nvmath::Vec3f &color );
00080
00087       NVSG_API const nvmath::Vec3f& getSpecularColor() const;
00088
00095       NVSG_API void setSpecularColor( const nvmath::Vec3f &color );
00096
00102       NVSG_API float getIntensity() const;
00103
00109       NVSG_API void setIntensity( float intensity );
00110
00114       NVSG_API bool isEnabled() const;
00115
00121       NVSG_API bool isShadowCasting() const;
00122
00126       NVSG_API void setEnabled( bool enable );
00127
00133       NVSG_API void setShadowCasting( bool cast );
00134
00140       NVSG_API const TrafoAnimationSharedPtr & getAnimation() const;
00141
00147       NVSG_API void setAnimation( const TrafoAnimationSharedPtr & animation );
00148
00152       NVSG_API nvmath::Mat44f getTransformationMatrix() const;
00153
00158       NVSG_API nvmath::Mat44f getInverse() const;
00159
00173       NVSG_API virtual bool isEquivalent( const Object * p
00174                                         , bool ignoreNames
00175                                         , bool deepCompare ) const;
00176
00177       REFLECTION_INFO_API( NVSG_API, LightSource );
00178       BEGIN_DECLARE_STATIC_PROPERTIES
00179           NVSG_API DECLARE_STATIC_PROPERTY( AmbientColor );
00180           NVSG_API DECLARE_STATIC_PROPERTY( DiffuseColor );
00181           NVSG_API DECLARE_STATIC_PROPERTY( SpecularColor );
00182           NVSG_API DECLARE_STATIC_PROPERTY( Intensity );
00183           NVSG_API DECLARE_STATIC_PROPERTY( Enabled );
00184           NVSG_API DECLARE_STATIC_PROPERTY( ShadowCasting );
00185       END_DECLARE_STATIC_PROPERTIES
00186
00187     protected:
00199       NVSG_API LightSource();
00200
00206       NVSG_API LightSource( const LightSource& rhs );
00207
00214       NVSG_API LightSource & operator=(const LightSource & rhs);
00215
00224       NVSG_API void determineMetaSLLightParameterSpace( CgFxEffect * fx,
00225                                                         CgFxParameter param,
00226                                                         const nvmath::Mat44f& world,
00227                                                         const nvmath::Mat44f& view,
00228                                                         nvmath::Mat44f& transform ) const;
00229
00230       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00231
00235       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00236
00237     protected:
00238       nvmath::Trafo m_trafo;
00239
00240     private:
00241       nvmath::Vec3f           m_ambientColor;
00242       TrafoAnimationSharedPtr m_animation; // animation working on a Trafo
00243       nvmath::Vec3f           m_diffuseColor;
00244       float                   m_intensity;
00245       bool                    m_shadowCasting;
00246       bool                    m_enabled;
00247       nvmath::Vec3f           m_specularColor;
00248   };
00249
00250   inline const nvmath::Vec3f& LightSource::getAmbientColor() const
00251   {
00252     NVSG_TRACE();
00253     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00254     return( m_ambientColor );
00255   }
00256
00257   inline const TrafoAnimationSharedPtr & LightSource::getAnimation() const
00258   {
00259     NVSG_TRACE();
00260     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00261     return( m_animation );
00262   }
00263
00264   inline const nvmath::Vec3f& LightSource::getDiffuseColor() const
00265   {
00266     NVSG_TRACE();
00267     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00268     return( m_diffuseColor );
00269   }
00270
00271   inline float LightSource::getIntensity() const
00272   {
00273     NVSG_TRACE();
00274     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00275     return( m_intensity );
00276   }
00277
00278   inline nvmath::Mat44f LightSource::getInverse() const
00279   {
00280     NVSG_TRACE();
00281     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00282     return( (m_animation ? TrafoAnimationReadLock(m_animation)->getCurrentValue() : m_trafo).getInverse() );
00283   }
00284
00285   inline const nvmath::Vec3f& LightSource::getSpecularColor() const
00286   {
00287     NVSG_TRACE();
00288     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00289     return( m_specularColor );
00290   }
00291
00292   inline nvmath::Mat44f LightSource::getTransformationMatrix() const
00293   {
00294     NVSG_TRACE();
00295     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00296     return( (m_animation ? TrafoAnimationReadLock(m_animation)->getCurrentValue() : m_trafo).getMatrix() );
00297   }
00298
00299   inline bool LightSource::isEnabled() const
00300   {
00301     NVSG_TRACE();
00302     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00303     return( m_enabled );
00304   }
00305
00306   inline bool LightSource::isShadowCasting() const
00307   {
00308     NVSG_TRACE();
00309     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00310     return( m_shadowCasting );
00311   }
00312
00313   inline void LightSource::setAmbientColor( const nvmath::Vec3f &c )
00314   {
00315     NVSG_TRACE();
00316     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00317     if ( m_ambientColor != c )
00318     {
00319       m_ambientColor = c;
00320       notifyChange( this );
00321       notify( PID_AmbientColor );
00322     }
00323   }
00324
00325   inline void LightSource::setDiffuseColor( const nvmath::Vec3f &c )
00326   {
00327     NVSG_TRACE();
00328     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00329     if ( m_diffuseColor != c )
00330     {
00331       m_diffuseColor = c;
00332       notifyChange( this );
00333       notify( PID_DiffuseColor );
00334     }
00335   }
00336
00337   inline void LightSource::setEnabled( bool enable )
00338   {
00339     NVSG_TRACE();
00340     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00341     if ( m_enabled != enable )
00342     {
00343       m_enabled = enable;
00344       notifyChange( this );
00345     }
00346   }
00347
00348   inline void LightSource::setIntensity( float i )
00349   {
00350     NVSG_TRACE();
00351     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00352     if ( m_intensity != i )
00353     {
00354       m_intensity = i;
00355       notifyChange( this );
00356       notify( PID_Enabled );
00357     }
00358   }
00359
00360   inline void LightSource::setSpecularColor( const nvmath::Vec3f &c )
00361   {
00362     NVSG_TRACE();
00363     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00364     if ( m_specularColor != c )
00365     {
00366       m_specularColor = c;
00367       notifyChange( this );
00368       notify( PID_SpecularColor );
00369     }
00370   }
00371
00372   inline void LightSource::setShadowCasting( bool cast )
00373   {
00374     NVSG_TRACE();
00375     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00376     if ( m_shadowCasting != cast )
00377     {
00378       m_shadowCasting = cast;
00379       notifyChange( this );
00380       notify( PID_ShadowCasting );
00381     }
00382   }
00383
00384 } //  namespace nvsg
00385
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LinearInterpolatedAnimation.h File Reference

inc / nvsg / nvsg

LinearInterpolatedAnimation.h File Reference

#include "nvsgcommon.h"
#include "nvsg/KeyFramedAnimation.h"
#include "nvsg/VertexAttribute.h"
#include "nvmath/Quatt.h"

Include dependency graph for LinearInterpolatedAnimation.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:42 2012 for SceniX


SceniX: LinearInterpolatedAnimation.h Source File

inc / nvsg / nvsg

LinearInterpolatedAnimation.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2n005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/KeyFramedAnimation.h"
00017 #include "nvsg/VertexAttribute.h"
00018 #include "nvmath/Quatt.h"
00019
00020 namespace nvsg
00021 {
00022
00024     template <typename T>
00025     struct LinearInterpolatedAnimationDescriptionObjectCode; // Generates compile time error for unsupported types in Animation
00026
00027     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Trafo>    { enum { ObjectCode = OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION  }; };
00028     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<VertexAttribute>  { enum { ObjectCode = OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION  }; };
00029     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<float>            { enum { ObjectCode = OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION  }; };
00030     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Vec2f>    { enum { ObjectCode = OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION  }; };
00031     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Vec3f>    { enum { ObjectCode = OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION  }; };
00032     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Vec4f>    { enum { ObjectCode = OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION  }; };
00033     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Mat33f>   { enum { ObjectCode = OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION }; };
00034     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Mat44f>   { enum { ObjectCode = OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION }; };
00035     template <> struct LinearInterpolatedAnimationDescriptionObjectCode<nvmath::Quatf>    { enum { ObjectCode = OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION  }; };
00043   template<typename T>
00044   class LinearInterpolatedAnimationDescription : public KeyFramedAnimationDescription<T>
00045   {
00046     public:
00047       static typename nvutil::ObjectTraits<LinearInterpolatedAnimationDescription<T> >::SharedPtr create();
00048
00049     public:
00051       LinearInterpolatedAnimationDescription();
00052
00055       LinearInterpolatedAnimationDescription( const LinearInterpolatedAnimationDescription &rhs );
00056
00058       virtual ~LinearInterpolatedAnimationDescription();
00059
00066       virtual T getStepValue( unsigned int step ) const;
00067
00074       LinearInterpolatedAnimationDescription<T> & operator=(const LinearInterpolatedAnimationDescription<T> & rhs);
00075   };
00076
00077   template<typename T>
00078   inline typename nvutil::ObjectTraits<LinearInterpolatedAnimationDescription<T> >::SharedPtr LinearInterpolatedAnimationDescription<T>::create()
00079   {
00080     return( nvutil::ObjectTraits<LinearInterpolatedAnimationDescription<T> >::Handle::create() );
00081   }
00082
00083   template<typename T>
00084   inline LinearInterpolatedAnimationDescription<T>::LinearInterpolatedAnimationDescription()
00085   {
00086     NVSG_TRACE();
00087     this->m_objectCode = LinearInterpolatedAnimationDescriptionObjectCode<T>::ObjectCode;
00088   }
00089
00090   template<typename T>
00091   inline LinearInterpolatedAnimationDescription<T>::LinearInterpolatedAnimationDescription( const LinearInterpolatedAnimationDescription<T> &rhs )
00092     : KeyFramedAnimationDescription<T>(rhs)
00093   {
00094     NVSG_TRACE();
00095     this->m_objectCode = LinearInterpolatedAnimationDescriptionObjectCode<T>::ObjectCode;
00096   }
00097
00098   template<typename T>
00099   inline LinearInterpolatedAnimationDescription<T>::~LinearInterpolatedAnimationDescription()
00100   {
00101     NVSG_TRACE();
00102   }
00103
00104   template<typename T>
00105   inline T LinearInterpolatedAnimationDescription<T>::getStepValue( unsigned int step ) const
00106   {
00107     NVSG_TRACE();
00108
00109     unsigned int key = this->getKey( step );
00110     if ( this->getKeyStep( key ) == step ) //  step is on a key => use this key step
00111     {
00112       return( this->getKeyValue( key ) );
00113     }
00114     else    //  step is between key-1 and key
00115     {
00116       NVSG_ASSERT( key != 0 );
00117       T stepValue;
00118       nvmath::lerp( (float)( step - this->getKeyStep(key-1) ) / ( this->getKeyStep(key) - this->getKeyStep(key-1) )
00119                   , this->getKeyValue( key-1 ), this->getKeyValue( key ), stepValue );
00120       return( stepValue );
00121     }
00122   }
00123
00124   template<typename T>
00125   inline LinearInterpolatedAnimationDescription<T> & LinearInterpolatedAnimationDescription<T>::operator=(const LinearInterpolatedAnimationDescription<T> & rhs)
00126   {
00127     NVSG_TRACE();
00128     return( KeyFramedAnimationDescription<T>::operator=(rhs) );    // invalidates incarnation
00129   }
00130 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LineAttribute.h File Reference

inc / nvsg / nvsg

LineAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/PrimitiveAttribute.h"
#include "nvutil/HashGenerator.h"
#include <float.h>

Include dependency graph for LineAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:42 2012 for SceniX


SceniX: LineAttribute.h Source File

inc / nvsg / nvsg

LineAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/PrimitiveAttribute.h"
00017 #include "nvutil/HashGenerator.h"
00018 #include <float.h>
00019
00020 namespace nvsg
00021 {
00027   class LineAttribute : public PrimitiveAttribute
00028   {
00029     public:
00030       NVSG_API static LineAttributeSharedPtr create();
00031
00032     public:
00041       NVSG_API unsigned short getStipplePattern() const;
00042
00051       NVSG_API void setStipplePattern( unsigned short pattern );
00052
00060       NVSG_API unsigned short getStippleFactor() const;
00061
00069       NVSG_API void setStippleFactor( unsigned short factor );
00070
00076       NVSG_API float getWidth() const;
00077
00083       NVSG_API void setWidth( float width );
00084
00088       NVSG_API bool isAntiAliased() const;
00089
00093       NVSG_API void setAntiAliasing( bool aa );
00094
00103       NVSG_API virtual bool isEquivalent( const Object * p
00104                                         , bool ignoreNames
00105                                         , bool deepCompare ) const;
00106
00113       NVSG_API LineAttribute & operator=(const LineAttribute & rhs);
00114
00115       REFLECTION_INFO_API( NVSG_API, LineAttribute );
00116     protected:
00117       friend struct nvutil::Holder<LineAttribute>;
00118
00122       NVSG_API LineAttribute();
00123
00125       NVSG_API LineAttribute( const LineAttribute &rhs );
00126
00128       NVSG_API virtual ~LineAttribute();
00129
00133       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00134
00135     private:
00136       bool            m_antiAliasing;
00137       unsigned short  m_stippleFactor;
00138       unsigned short  m_stipplePattern;
00139       float           m_width;
00140   };
00141
00142   inline unsigned short LineAttribute::getStippleFactor() const
00143   {
00144     NVSG_TRACE();
00145     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00146     return( m_stippleFactor );
00147   }
00148
00149   inline unsigned short LineAttribute::getStipplePattern() const
00150   {
00151     NVSG_TRACE();
00152     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00153     return( m_stipplePattern );
00154   }
00155
00156   inline float LineAttribute::getWidth() const
00157   {
00158     NVSG_TRACE();
00159     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00160     return( m_width );
00161   }
00162
00163   inline bool LineAttribute::isAntiAliased() const
00164   {
00165     NVSG_TRACE();
00166     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00167     return( m_antiAliasing );
00168   }
00169
00170   inline void LineAttribute::setAntiAliasing( bool aa )
00171   {
00172     NVSG_TRACE();
00173     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00174     if ( m_antiAliasing != aa )
00175     {
00176       m_antiAliasing = aa;
00177       notifyChange( this );
00178     }
00179   }
00180
00181   inline void LineAttribute::setStippleFactor( unsigned short factor )
00182   {
00183     NVSG_TRACE();
00184     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00185     NVSG_ASSERT( ( 0 < factor ) && ( factor < 256 ) );
00186     if ( m_stippleFactor != factor )
00187     {
00188       m_stippleFactor = factor;
00189       notifyChange( this );
00190     }
00191   }
00192
00193   inline void LineAttribute::setStipplePattern( unsigned short pattern )
00194   {
00195     NVSG_TRACE();
00196     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00197     if ( m_stipplePattern != pattern )
00198     {
00199       m_stipplePattern = pattern;
00200       notifyChange( this );
00201     }
00202   }
00203
00204   inline void LineAttribute::setWidth( float width )
00205   {
00206     NVSG_TRACE();
00207     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00208     NVSG_ASSERT( FLT_EPSILON < width );
00209     if ( m_width != width )
00210     {
00211       m_width = width;
00212       notifyChange( this );
00213     }
00214   }
00215
00216 } // namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Lines.h File Reference

inc / nvsg / nvsg

Lines.h File Reference

#include "nvsgcommon.h"
#include "nvsg/IndependentPrimitiveSet.h"
#include "nvsg/Face.h"

Include dependency graph for Lines.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:42 2012 for SceniX


SceniX: Lines.h Source File

inc / nvsg / nvsg

Lines.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/IndependentPrimitiveSet.h" // base class definition
00017 #include "nvsg/Face.h" // definition of Segment
00018
00019 namespace nvsg
00020 {
00027   class Lines : public IndependentPrimitiveSet
00028   {
00029     public:
00030       NVSG_API static LinesSharedPtr create();
00031
00032     public:
00037       NVSG_API bool hasSegments() const;
00038
00043       NVSG_API unsigned int getNumberOfSegments() const;
00044
00049       NVSG_API const Segment * getSegments() const;
00050
00059       NVSG_API void setSegments( const Segment * segments, unsigned int numSegments );
00060
00077       NVSG_API void setSegments( unsigned int pos, const Segment * segments, unsigned int numSegments );
00078
00084       NVSG_API Lines & operator=(const Lines & rhs);
00085
00086       REFLECTION_INFO_API( NVSG_API, Lines );
00087     protected:
00088       friend struct nvutil::Holder<Lines>;
00089
00091       NVSG_API Lines();
00092
00094       NVSG_API Lines( const Lines &rhs );
00095
00097       NVSG_API virtual ~Lines();
00098   };
00099
00100   // - - - - - - - - - - - - - - - - - - - - - - - - -
00101   // inlines
00102   // - - - - - - - - - - - - - - - - - - - - - - - - -
00103
00104   inline bool Lines::hasSegments()  const
00105   {
00106     NVSG_TRACE();
00107     return( 2 <= getNumberOfIndices() );
00108   }
00109
00110   inline unsigned int Lines::getNumberOfSegments()  const
00111   {
00112     NVSG_TRACE();
00113     return( getNumberOfIndices()/2 );
00114   }
00115
00116   inline const Segment * Lines::getSegments() const
00117   {
00118     NVSG_TRACE();
00119     return( (const Segment *) getIndices() );
00120   }
00121
00122   inline void Lines::setSegments( const Segment* pSegments, unsigned int numSegments )
00123   {
00124     NVSG_TRACE();
00125     setIndices( (const unsigned int *) pSegments, 2 * numSegments );
00126   }
00127
00128   inline void Lines::setSegments( unsigned int pos, const Segment* pSegments, unsigned int numSegments )
00129   {
00130     NVSG_TRACE();
00131     if ( pos != ~0 )
00132     {
00133       pos *= 2;
00134     }
00135     setIndices( pos, (const unsigned int *) pSegments, 2 * numSegments );
00136   }
00137
00138   inline Lines & Lines::operator=(const Lines & rhs)
00139   {
00140     NVSG_TRACE();
00141     IndependentPrimitiveSet::operator=(rhs);
00142     return( *this );
00143   }
00144 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LineStrips.h File Reference

inc / nvsg / nvsg

LineStrips.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StrippedPrimitiveSet.h"
#include "nvsg/nvsg.h"

Include dependency graph for LineStrips.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:43 2012 for SceniX


SceniX: LineStrips.h Source File

inc / nvsg / nvsg

LineStrips.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StrippedPrimitiveSet.h"
00017 #include "nvsg/nvsg.h"
00018
00019 namespace nvsg
00020 {
00027   class LineStrips : public StrippedPrimitiveSet
00028   {
00029     public:
00030       NVSG_API static LineStripsSharedPtr create();
00031
00032     public:
00037       NVSG_API LineStrips & operator=( const LineStrips & rhs );
00038
00039       REFLECTION_INFO_API( NVSG_API, LineStrips );
00040     protected:
00041       friend struct nvutil::Holder<LineStrips>;
00042
00044       NVSG_API LineStrips();
00045
00047       NVSG_API explicit LineStrips( const LineStrips &rhs );
00048
00050       NVSG_API virtual ~LineStrips();
00051   };
00052
00053 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LOD.h File Reference

inc / nvsg / nvsg

LOD.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Matnnt.h"
#include "nvsg/Group.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/SmartPtr.h"

Include dependency graph for LOD.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:43 2012 for SceniX


SceniX: LOD.h Source File

inc / nvsg / nvsg

LOD.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Matnnt.h"
00017 #include "nvsg/Group.h"
00018 #include "nvutil/HashGenerator.h"
00019 #include "nvutil/SmartPtr.h"
00020
00021 namespace nvsg
00022 {
00051   class LOD : public Group
00052   {
00053     public:
00054       NVSG_API static LODSharedPtr create();
00055
00056     public:
00072       NVSG_API void setRanges(const float * ranges, unsigned int count);
00073
00081       NVSG_API const float * getRanges() const;
00082
00086       NVSG_API unsigned int getNumberOfRanges() const;
00087
00096       NVSG_API void setCenter(const nvmath::Vec3f & center);
00097
00102       NVSG_API const nvmath::Vec3f & getCenter() const;
00103
00120       NVSG_API virtual unsigned int getLODToUse(const nvmath::Mat44f & modelViewMatrix, float scaleFactor) const;
00121
00151       NVSG_API void setRangeLock(bool on, unsigned int rangeNumber);
00152
00157       NVSG_API unsigned int getRangeLock() const;
00158
00162       NVSG_API bool isRangeLockEnabled() const;
00163
00170       NVSG_API LOD & operator=(const LOD & rhs);
00171
00180       NVSG_API virtual bool isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const;
00181
00182     // reflected properties
00183     public:
00184
00185       REFLECTION_INFO_API( NVSG_API, LOD );
00186       BEGIN_DECLARE_STATIC_PROPERTIES
00187           NVSG_API DECLARE_STATIC_PROPERTY( Center );
00188       END_DECLARE_STATIC_PROPERTIES
00189
00190     protected:
00191       friend struct nvutil::Holder<LOD>;
00192
00195       NVSG_API LOD( void );
00196
00199       NVSG_API LOD( const LOD &rhs );
00200
00203       NVSG_API virtual ~LOD( void );
00204
00208       NVSG_API virtual bool determineLODContainment() const;
00209
00213       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00214
00215     private:
00216       nvmath::Vec3f        m_center;
00217       std::vector<float>   m_ranges;
00218       unsigned int         m_rangeLock;
00219       bool                 m_isRangeLocked;
00220   };
00221
00225   struct LODLessThan
00226   {
00233     bool operator()( const LODSharedPtr& lhs, const LODSharedPtr& rhs) const;
00234   };
00235 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Log.h File Reference

inc / nvsg / nvutil

Log.h File Reference

#include "nvsg/nvsgapi.h"
#include <stdio.h>
#include <stdarg.h>
#include <string>
#include "nvutil/Singleton.h"

Include dependency graph for Log.h:

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | NVSG_LOG_TEST_INIT(TM) nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)
Initialize general test logging.
#define | NVSG_LOG_TEST(s) { if ( nvutil::LogTest::instance()->isEnabled() ) { nvutil::LogTest::instance()->format s; } }
Output test relevant format string s if output is enabled.
#define | NVSG_LOG_TEST_ENABLED() nvutil::LogTest::instance()->isEnabled()
Query if any test is enabled.

Typedefs

typedef void | LOG_OUTPUT_FUNCTION (const char *)
Type of output function to use with Log class objects.
typedef Singleton< Log< TM_TEST,
logFileOutput > > 		LogTest
Dedicated type for general test logging.

Enumerations

enum | TESTMODE { TM_NONE = 0, TM_TEST }
Test modes available for logging. More...

Variables

NVSG_API std::string | NVSG_LOG_FILE
Global string containing the name of the log file.
NVSG_API LOG_OUTPUT_FUNCTION | logFileOutput
Function to log into a file.

Detailed Description

Variable Documentation

NVSG_API std::string NVSG_LOG_FILE

Global string containing the name of the log file.

Generated on Fri Jul 13 13:27:43 2012 for SceniX


SceniX: Log.h Source File

inc / nvsg / nvutil

Log.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 #include <stdio.h>
00018 #include <stdarg.h>
00019 #include <string>
00020
00021 #include "nvutil/Singleton.h"
00022
00024 extern NVSG_API std::string NVSG_LOG_FILE;
00025
00026 namespace nvutil {
00027
00032
00033 typedef enum
00034 {
00035   TM_NONE = 0
00036 , TM_TEST
00037 } TESTMODE;
00038
00040 typedef void LOG_OUTPUT_FUNCTION(const char *);
00041 NVSG_API LOG_OUTPUT_FUNCTION logFileOutput;
00042
00043
00045
00048 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00049 class Log
00050 {
00051 public:
00052
00054
00057   Log() : m_enabled(false) {}
00059
00061   void init( bool enable
00062            );
00064
00066   void format( const char * fmt
00067              , ...
00068              ) const;
00070
00072   bool isEnabled() const;
00073
00074 private:
00075   bool m_enabled;
00076 };
00077
00078 // inline implementations
00079
00080 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00081 inline void Log<TestMode, OutputFn>::init(bool enable)
00082 {
00083   m_enabled = enable;
00084 }
00085
00086 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00087 inline void Log<TestMode, OutputFn>::format(const char * fmt, ...) const
00088 {
00089   if ( !m_enabled )
00090   {
00091     return;
00092   }
00093   // walk the parameter list and perform output
00094   const int bufSize = 1024;
00095   char outBuf[bufSize];
00096
00097   va_list ap;
00098   va_start(ap, fmt);
00099   vsnprintf(outBuf, bufSize-1, fmt, ap);
00100   va_end(ap);
00101
00102   OutputFn(outBuf);
00103 }
00104
00105 template <TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
00106 inline bool Log<TestMode, OutputFn>::isEnabled() const
00107 {
00108   return m_enabled;
00109 }
00110
00111 typedef Singleton< Log<TM_TEST,        logFileOutput> > LogTest;
00112 // ... more similar typedefs for additional tests to log
00113
00114 // NVSG_LOG macro defines
00115
00125
00126
00128 #define NVSG_LOG_TEST_INIT(TM)         nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)
00129
00142
00143 #define NVSG_LOG_TEST(s)        { if ( nvutil::LogTest::instance()->isEnabled()       ) { nvutil::LogTest::instance()->format s; }       }
00144
00157
00158 #define NVSG_LOG_TEST_ENABLED()        nvutil::LogTest::instance()->isEnabled()
00159
00162 } // namespace nvutil
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Map.h File Reference

inc / nvsg / nvsg

Map.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Map.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:44 2012 for SceniX


SceniX: Map.h Source File

inc / nvsg / nvsg

Map.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Object.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00029   class Map : public Object
00030   {
00031     public:
00033       NVSG_API virtual ~Map();
00034
00038       NVSG_API size_t getWidth() const;
00039
00043       NVSG_API size_t getHeight() const;
00044
00050       NVSG_API const unsigned char * getData() const;
00051
00052       REFLECTION_INFO_API( NVSG_API, Map );
00053
00054     protected:
00056       NVSG_API Map();
00057
00060       NVSG_API Map( const Map &rhs );
00061
00069       NVSG_API void setMapData( size_t width
00070                               , size_t height
00071                               , size_t bitsPerPixel
00072                               , unsigned char * data );
00073
00077       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00078
00079     private:
00080       size_t          m_width, m_height;
00081       size_t          m_bpp;  // bits per pixel
00082       unsigned char * m_data;
00083   };
00084
00085   inline size_t Map::getWidth() const
00086   {
00087     NVSG_TRACE();
00088     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00089     return( m_width );
00090   }
00091
00092   inline size_t Map::getHeight() const
00093   {
00094     NVSG_TRACE();
00095     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00096     return( m_height );
00097   }
00098
00099   inline const unsigned char * Map::getData() const
00100   {
00101     NVSG_TRACE();
00102     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00103     return( m_data );
00104   }
00105 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MapArray.h File Reference

inc / nvsg / nvsg

MapArray.h File Reference

#include "nvsgcommon.h"
#include "nvsg/MapObject.h"
#include "nvsg/TextureHost.h"
#include "nvutil/HashGenerator.h"
#include <vector>

Include dependency graph for MapArray.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:44 2012 for SceniX


SceniX: MapArray.h Source File

inc / nvsg / nvsg

MapArray.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/MapObject.h"
00017 #include "nvsg/TextureHost.h"
00018 #include "nvutil/HashGenerator.h"
00019 #include <vector>
00020
00021 namespace nvsg
00022 {
00030   class MapArray : public MapObject
00031   {
00032     public:
00033       NVSG_API static MapArraySharedPtr create();
00034
00035     public:
00049       NVSG_API MapAlignment getAlignment() const;
00050
00064       NVSG_API void setAlignment( MapAlignment alignment );
00065
00072       NVSG_API MapOrientation getOrientation() const;
00073
00080       NVSG_API void setOrientation( MapOrientation orientation );
00081
00087       NVSG_API unsigned int getSpacing() const;
00088
00094       NVSG_API void setSpacing( unsigned int spacing );
00095
00106       NVSG_API MapTraversalDirection getTraversalDirection() const;
00107
00118       NVSG_API void setTraversalDirection( MapTraversalDirection direction );
00119
00123       NVSG_API unsigned int getNumberOfMaps() const;
00124
00131       NVSG_API const TextureHostSharedPtr & getMap( unsigned int index ) const;
00132
00138       NVSG_API unsigned int getIndexOfMap( const TextureHostSharedPtr & img ) const;
00139
00144       NVSG_API void addMap( const TextureHostSharedPtr & img );
00145
00153       NVSG_API void insertMap( unsigned int index, const TextureHostSharedPtr & img );
00154
00163       NVSG_API void replaceMap( unsigned int index, const TextureHostSharedPtr & img );
00164
00171       NVSG_API void removeMap( unsigned int index );
00172
00177       NVSG_API void clear( void );
00178
00185       NVSG_API void getEntrySize( unsigned int &width
00186                                 , unsigned int &height ) const;
00187
00201       NVSG_API virtual void getSize( unsigned int &width, unsigned int &height ) const;
00202
00214       NVSG_API virtual const TextureHostSharedPtr & pickMap( int x, int y ) const;
00215
00216       REFLECTION_INFO_API( NVSG_API, MapArray );
00217     protected:
00218       friend struct nvutil::Holder<MapArray>;
00219
00224       NVSG_API MapArray();
00225
00227       NVSG_API MapArray( const MapArray &rhs );
00228
00230       NVSG_API virtual ~MapArray();
00231
00235       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00236
00237     private:
00238       typedef std::vector<TextureHostSharedPtr>  TextureHostContainer;
00239
00240     private:
00241       MapAlignment          m_alignment;
00242       MapTraversalDirection m_direction;
00243       MapOrientation        m_orientation;
00244       TextureHostContainer m_maps;
00245       unsigned int          m_spacing;
00246   };
00247
00248   inline MapAlignment MapArray::getAlignment() const
00249   {
00250     NVSG_TRACE();
00251     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00252     return( m_alignment );
00253   }
00254
00255   inline void MapArray::setAlignment( MapAlignment alignment )
00256   {
00257     NVSG_TRACE();
00258     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00259     if ( m_alignment != alignment )
00260     {
00261       m_alignment = alignment;
00262       notifyChange( this );
00263     }
00264   }
00265
00266   inline MapTraversalDirection MapArray::getTraversalDirection() const
00267   {
00268     NVSG_TRACE();
00269     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00270     return( m_direction );
00271   }
00272
00273   inline void MapArray::setTraversalDirection( MapTraversalDirection direction )
00274   {
00275     NVSG_TRACE();
00276     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00277     if ( m_direction != direction )
00278     {
00279       m_direction = direction;
00280       notifyChange( this );
00281     }
00282   }
00283
00284   inline MapOrientation MapArray::getOrientation() const
00285   {
00286     NVSG_TRACE();
00287     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00288     return( m_orientation );
00289   }
00290
00291   inline void MapArray::setOrientation( MapOrientation orientation )
00292   {
00293     NVSG_TRACE();
00294     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00295     if ( m_orientation != orientation )
00296     {
00297       m_orientation = orientation;
00298       notifyChange( this );
00299     }
00300   }
00301
00302   inline unsigned int MapArray::getSpacing() const
00303   {
00304     NVSG_TRACE();
00305     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00306     return( m_spacing );
00307   }
00308
00309   inline void MapArray::setSpacing( unsigned int spacing )
00310   {
00311     NVSG_TRACE();
00312     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00313     if ( m_spacing != spacing )
00314     {
00315       m_spacing = spacing;
00316       notifyChange( this );
00317     }
00318   }
00319
00320   inline void MapArray::addMap( const TextureHostSharedPtr & img )
00321   {
00322     NVSG_TRACE();
00323     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00324     m_maps.push_back( img );
00325     notifyChange( this );
00326   }
00327
00328   inline void MapArray::insertMap( unsigned int index, const TextureHostSharedPtr & img )
00329   {
00330     NVSG_TRACE();
00331     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00332     NVSG_ASSERT( img && ( index < m_maps.size() ) );
00333     m_maps.insert( m_maps.begin() + index, img );
00334     notifyChange( this );
00335   }
00336
00337   inline void MapArray::replaceMap( unsigned int index, const TextureHostSharedPtr & img )
00338   {
00339     NVSG_TRACE();
00340     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00341     NVSG_ASSERT( img && ( index < m_maps.size() ) );
00342     if ( m_maps[index] != img )
00343     {
00344       m_maps[index] = img;
00345       notifyChange( this );
00346     }
00347   }
00348
00349   inline void MapArray::removeMap( unsigned int index )
00350   {
00351     NVSG_TRACE();
00352     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00353     NVSG_ASSERT( index < m_maps.size() );
00354     m_maps.erase( m_maps.begin() + index );
00355     notifyChange( this );
00356   }
00357
00358   inline unsigned int MapArray::getNumberOfMaps() const
00359   {
00360     NVSG_TRACE();
00361     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00362     return( checked_cast<unsigned int>(m_maps.size()) );
00363   }
00364
00365   inline const TextureHostSharedPtr & MapArray::getMap( unsigned int index ) const
00366   {
00367     NVSG_TRACE();
00368     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00369     NVSG_ASSERT( index < m_maps.size() );
00370     return( m_maps[index] );
00371   }
00372
00373   inline unsigned int MapArray::getIndexOfMap( const TextureHostSharedPtr & img ) const
00374   {
00375     NVSG_TRACE();
00376     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00377     TextureHostContainer::const_iterator it = std::find( m_maps.begin(), m_maps.end(), img );
00378     return( ( it != m_maps.end() ) ? checked_cast<unsigned int>(it - m_maps.begin()) : ~0 );
00379   }
00380 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MapElement.h File Reference

inc / nvsg / nvsg

MapElement.h File Reference

#include "nvsgcommon.h"
#include "nvsg/MapObject.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for MapElement.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:45 2012 for SceniX


SceniX: MapElement.h Source File

inc / nvsg / nvsg

MapElement.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/MapObject.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00025   class MapElement : public MapObject
00026   {
00027     public:
00028       NVSG_API static MapElementSharedPtr create();
00029
00030     public:
00034       NVSG_API const TextureHostSharedPtr & getMap() const;
00035
00044       NVSG_API virtual const TextureHostSharedPtr & pickMap( int x, int y ) const;
00045
00048       NVSG_API void setMap( const TextureHostSharedPtr & img );
00049
00054       NVSG_API virtual void getSize( unsigned int &width, unsigned int &height ) const;
00055
00056       REFLECTION_INFO_API( NVSG_API, MapElement );
00057     protected:
00058       friend struct nvutil::Holder<MapElement>;
00059
00063       NVSG_API MapElement();
00064
00067       NVSG_API MapElement( const MapElement &rhs );
00068
00070       NVSG_API virtual ~MapElement();
00071
00075       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00076     private:
00077       TextureHostSharedPtr m_map;
00078   };
00079
00080   inline const TextureHostSharedPtr & MapElement::getMap() const
00081   {
00082     NVSG_TRACE();
00083     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00084     return( m_map );
00085   }
00086 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MapList.h File Reference

inc / nvsg / nvsg

MapList.h File Reference

#include "nvsgcommon.h"
#include "nvsg/MapObject.h"
#include "nvsg/Object.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for MapList.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:45 2012 for SceniX


SceniX: MapList.h Source File

inc / nvsg / nvsg

MapList.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/MapObject.h"
00017 #include "nvsg/Object.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00032   class MapList : public Object
00033   {
00034     public:
00035       NVSG_API static MapListSharedPtr create();
00036
00037     public:
00041       NVSG_API unsigned int getNumberOfMapObjects( void ) const;
00042
00049       NVSG_API const MapObjectSharedPtr & getMapObject( unsigned int index ) const;
00050
00055       NVSG_API void addMapObject( const MapObjectSharedPtr & mo );
00056
00064       NVSG_API void insertMapObject( unsigned int index, const MapObjectSharedPtr & mo );
00065
00074       NVSG_API void replaceMapObject( unsigned int index, const MapObjectSharedPtr & mo );
00075
00082       NVSG_API void removeMapObject( unsigned int index );
00083
00088       NVSG_API void clear( void );
00089
00101       NVSG_API const TextureHostSharedPtr & pickMap( int x, int y, unsigned int * index = NULL ) const;
00102
00103       REFLECTION_INFO_API( NVSG_API, MapList );
00104     protected:
00105       friend struct nvutil::Holder<MapList>;
00106
00108       NVSG_API MapList();
00109
00111       NVSG_API MapList( const MapList &rhs );
00112
00114       NVSG_API virtual ~MapList(void);
00115
00116       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00117
00121       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00122
00123     private:
00124       typedef std::vector<MapObjectSharedPtr>::const_iterator ConstMapObjectIterator;
00125       typedef std::vector<MapObjectSharedPtr>::iterator MapObjectIterator;
00126       std::vector<MapObjectSharedPtr>  m_list;
00127   };
00128
00129   inline void MapList::addMapObject( const MapObjectSharedPtr & mo )
00130   {
00131     NVSG_TRACE();
00132     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00133     NVSG_ASSERT( mo );
00134     m_list.push_back( mo );
00135     notifyChange( this );
00136   }
00137
00138   inline const MapObjectSharedPtr & MapList::getMapObject( unsigned int index ) const
00139   {
00140     NVSG_TRACE();
00141     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00142     NVSG_ASSERT( index < m_list.size() );
00143     return( m_list[index] );
00144   }
00145
00146   inline unsigned int MapList::getNumberOfMapObjects( void ) const
00147   {
00148     NVSG_TRACE();
00149     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00150     return( checked_cast<unsigned int>(m_list.size()) );
00151   }
00152
00153   inline void MapList::insertMapObject( unsigned int index, const MapObjectSharedPtr & mo )
00154   {
00155     NVSG_TRACE();
00156     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00157     NVSG_ASSERT( mo && ( index < m_list.size() ) );
00158     m_list.insert( m_list.begin() + index, mo );
00159     notifyChange( this );
00160   }
00161
00162   inline void MapList::removeMapObject( unsigned int index )
00163   {
00164     NVSG_TRACE();
00165     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00166     NVSG_ASSERT( index < m_list.size() );
00167     m_list.erase( m_list.begin() + index );
00168     notifyChange( this );
00169   }
00170
00171   inline void MapList::replaceMapObject( unsigned int index, const MapObjectSharedPtr & mo )
00172   {
00173     NVSG_TRACE();
00174     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00175     NVSG_ASSERT( mo && ( index < m_list.size() ) );
00176     if ( m_list[index] != mo )
00177     {
00178       m_list[index] = mo;
00179       notifyChange( this );
00180     }
00181   }
00182 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MapMatrix.h File Reference

inc / nvsg / nvsg

MapMatrix.h File Reference

#include "nvsgcommon.h"
#include "nvsg/MapObject.h"
#include "nvutil/HashGenerator.h"
#include <vector>

Include dependency graph for MapMatrix.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:45 2012 for SceniX


SceniX: MapMatrix.h Source File

inc / nvsg / nvsg

MapMatrix.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/MapObject.h"
00017 #include "nvutil/HashGenerator.h"
00018 #include <vector>
00019
00020 namespace nvsg
00021 {
00032   class MapMatrix : public MapObject
00033   {
00034     public:
00035       NVSG_API static MapMatrixSharedPtr create();
00036
00037     public:
00050       NVSG_API MapAlignment getAlignment( MapOrientation orientation ) const;
00051
00065       NVSG_API void setAlignment( MapOrientation orientation
00066                                 , MapAlignment alignment );
00067
00075       NVSG_API unsigned int getSpacing( MapOrientation orientation ) const;
00076
00084       NVSG_API void setSpacing( MapOrientation orientation, unsigned int spacing );
00085
00097       NVSG_API MapTraversalDirection getTraversalDirection( MapOrientation orientation ) const;
00098
00111       NVSG_API void setTraversalDirection( MapOrientation orientation
00112                                          , MapTraversalDirection direction );
00113
00117       NVSG_API unsigned int getNumberOfColumns( void ) const;
00118
00121       NVSG_API void addEmptyColumn( void );
00122
00128       NVSG_API void insertEmptyColumn( unsigned int col );
00129
00135       NVSG_API void removeColumn( unsigned int col );
00136
00141       NVSG_API unsigned int getNumberOfMaps( unsigned int col ) const;
00142
00150       NVSG_API const TextureHostSharedPtr & getMap( unsigned int col, unsigned int row ) const;
00151
00158       NVSG_API bool getIndexOfMap( const TextureHostSharedPtr & img, unsigned int & col, unsigned int & row ) const;
00159
00167       NVSG_API void addMap( unsigned int col, const TextureHostSharedPtr & img );
00168
00177       NVSG_API void insertMap( unsigned int col, unsigned int row, const TextureHostSharedPtr & map );
00178
00188       NVSG_API void replaceMap( unsigned int col, unsigned int row, const TextureHostSharedPtr & img );
00189
00197       NVSG_API void removeMap( unsigned int col, unsigned int row );
00198
00205       NVSG_API void getEntrySize( unsigned int &width, unsigned int &height ) const;
00206
00216       NVSG_API virtual void getSize( unsigned int &width, unsigned int &height ) const;
00217
00229       NVSG_API virtual const TextureHostSharedPtr & pickMap( int x, int y ) const;
00230
00231       REFLECTION_INFO_API( NVSG_API, MapMatrix );
00232     protected:
00233       friend struct nvutil::Holder<MapMatrix>;
00234
00239       NVSG_API MapMatrix( void );
00240
00243       NVSG_API MapMatrix( const MapMatrix &rhs );
00244
00246       NVSG_API virtual ~MapMatrix(void);
00247
00251       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00252
00253     private:
00254       typedef std::vector<TextureHostSharedPtr>  TextureHostSubContainer;
00255       typedef std::vector<TextureHostSubContainer> TextureHostContainer;
00256
00257     private:
00258       TextureHostContainer m_maps;
00259       MapAlignment          m_alignment[2];
00260       MapTraversalDirection m_direction[2];
00261       unsigned int          m_spacing[2];
00262   };
00263
00264   inline MapAlignment MapMatrix::getAlignment( MapOrientation orientation ) const
00265   {
00266     NVSG_TRACE();
00267     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00268     return( m_alignment[orientation] );
00269   }
00270
00271   inline void MapMatrix::setAlignment( MapOrientation orientation, MapAlignment alignment )
00272   {
00273     NVSG_TRACE();
00274     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00275     if ( m_alignment[orientation] != alignment )
00276     {
00277       m_alignment[orientation] = alignment;
00278       notifyChange( this );
00279     }
00280   }
00281
00282   inline MapTraversalDirection MapMatrix::getTraversalDirection( MapOrientation orientation ) const
00283   {
00284     NVSG_TRACE();
00285     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00286     return( m_direction[orientation] );
00287   }
00288
00289   inline void MapMatrix::setTraversalDirection( MapOrientation orientation, MapTraversalDirection direction )
00290   {
00291     NVSG_TRACE();
00292     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00293     if ( m_direction[orientation] != direction )
00294     {
00295       m_direction[orientation] = direction;
00296       notifyChange( this );
00297     }
00298   }
00299
00300   inline unsigned int MapMatrix::getSpacing( MapOrientation orientation ) const
00301   {
00302     NVSG_TRACE();
00303     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00304     return( m_spacing[orientation] );
00305   }
00306
00307   inline void MapMatrix::setSpacing( MapOrientation orientation, unsigned int spacing )
00308   {
00309     NVSG_TRACE();
00310     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00311     if ( m_spacing[orientation] != spacing )
00312     {
00313       m_spacing[orientation] = spacing;
00314       notifyChange( this );
00315     }
00316   }
00317
00318   inline void MapMatrix::addEmptyColumn( void )
00319   {
00320     NVSG_TRACE();
00321     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00322     m_maps.resize( m_maps.size() + 1 );
00323     notifyChange( this );
00324   }
00325
00326   inline void MapMatrix::insertEmptyColumn( unsigned int col )
00327   {
00328     NVSG_TRACE();
00329     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00330     NVSG_ASSERT( col < m_maps.size() );
00331     m_maps.insert( m_maps.begin() + col, TextureHostSubContainer() );
00332     notifyChange( this );
00333   }
00334
00335   inline void MapMatrix::addMap( unsigned int col, const TextureHostSharedPtr & img )
00336   {
00337     NVSG_TRACE();
00338     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00339     NVSG_ASSERT( img && ( col < m_maps.size() ) );
00340     m_maps[col].push_back( img );
00341     notifyChange( this );
00342   }
00343
00344   inline void MapMatrix::insertMap( unsigned int col, unsigned int row, const TextureHostSharedPtr & img )
00345   {
00346     NVSG_TRACE();
00347     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00348     NVSG_ASSERT( img && ( col < m_maps.size() ) && ( row < m_maps[col].size() ) );
00349     m_maps[col].insert( m_maps[col].begin() + row, img );
00350     notifyChange( this );
00351   }
00352
00353   inline void MapMatrix::replaceMap( unsigned int col, unsigned int row, const TextureHostSharedPtr & img )
00354   {
00355     NVSG_TRACE();
00356     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00357     NVSG_ASSERT( img && ( col < m_maps.size() ) && ( row < m_maps[col].size() ) );
00358     if ( m_maps[col][row] != img )
00359     {
00360       m_maps[col][row] = img;
00361       notifyChange( this );
00362     }
00363   }
00364
00365   inline void MapMatrix::removeMap( unsigned int col, unsigned int row )
00366   {
00367     NVSG_TRACE();
00368     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00369     NVSG_ASSERT( ( col < m_maps.size() ) && ( row < m_maps[col].size() ) );
00370     m_maps[col].erase( m_maps[col].begin() + row );
00371     notifyChange( this );
00372   }
00373
00374   inline unsigned int MapMatrix::getNumberOfColumns( void ) const
00375   {
00376     NVSG_TRACE();
00377     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00378     return( checked_cast<unsigned int>(m_maps.size() ));
00379   }
00380
00381   inline unsigned int MapMatrix::getNumberOfMaps( unsigned int col ) const
00382   {
00383     NVSG_TRACE();
00384     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00385     NVSG_ASSERT( col < m_maps.size() );
00386     return( checked_cast<unsigned int>(m_maps[col].size()) );
00387   }
00388
00389   inline const TextureHostSharedPtr & MapMatrix::getMap( unsigned int col, unsigned int row ) const
00390   {
00391     NVSG_TRACE();
00392     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00393     NVSG_ASSERT( ( col < m_maps.size() ) && ( row < m_maps[col].size() ) );
00394     return( m_maps[col][row] );
00395   }
00396 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MapObject.h File Reference

inc / nvsg / nvsg

MapObject.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Object.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for MapObject.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum | MapAlignment { MA_LOWER, MA_CENTER, MA_UPPER }
Enumeration to define the alignment of a MapObject holding more than one Map. More...
enum | MapOrientation { MO_HORIZONTAL, MO_VERTICAL }
Enumeration to determine the horizontal or vertical orientation of a MapObject. More...
enum MapRelation {
MR_LOWER_LEFT, MR_LOWER_CENTER, MR_LOWER_RIGHT, MR_CENTER_LEFT,
MR_CENTER, MR_CENTER_RIGHT, MR_UPPER_LEFT, MR_UPPER_CENTER,
MR_UPPER_RIGHT
}
Enumeration to define the anchor relation of the MapObject position. More...
enum | MapTraversalDirection { MTD_LOW_TO_HIGH, MTD_HIGH_TO_LOW }
Enumeration to define the traversal direction of a MapObject holding more than one Map. More...

Detailed Description

Enumeration Type Documentation

enum MapAlignment

Enumeration to define the alignment of a MapObject holding more than one Map.

Namespace: nvsg
Remarks:
In a MapArray and a MapMatrix, the Map objects can be aligned along the lower base line (bottom or left), the center line, or the upper base line (top or right).
See also:
MapArray, MapMatrix
Enumeration values:
MA_LOWER | draw Map objects aligned at the lower coordinate
MA_CENTER | draw Map objects aligned at the center coordinate
MA_UPPER | draw Map objects aligned at the upper coordinate

enum MapOrientation

Enumeration to determine the horizontal or vertical orientation of a MapObject.

Namespace: nvsg
Remarks:
A MapArray can either be oriented horizontally or vertically. A MapMatrix has settings like alignment or spacing, independently in both orientations.
See also:
MapArray, MapMatrix
Enumeration values:
MO_HORIZONTAL | use the horizontal orientation
MO_VERTICAL | use the vertical orientation

enum MapRelation

Enumeration to define the anchor relation of the MapObject position.

Namespace: nvsg
Remarks:
The position of a MapObject describes one of nine possible relative positions, such as the lower left, the center, or the upper right.
See also:
MapObject
Enumeration values:
MR_LOWER_LEFT | position is lower left of MapObject
MR_LOWER_CENTER | position is lower center of MapObject
MR_LOWER_RIGHT | position is lower right of MapObject
MR_CENTER_LEFT | position is center left of MapObject
MR_CENTER | position is center of MapObject
MR_CENTER_RIGHT | position is center right of MapObject
MR_UPPER_LEFT | position is upper left of MapObject
MR_UPPER_CENTER | position is upper center of MapObject
MR_UPPER_RIGHT | position is upper right of MapObject

enum MapTraversalDirection

Enumeration to define the traversal direction of a MapObject holding more than one Map.

Namespace: nvsg
Remarks:
A MapArray can be traversed from the lower to the higher index, or vice versa.
A columns of a MapMatrix can also be traversed from the lower to the higher index, or vice versa; each column of a MapMatrix in turn can be traversed from the lower to the higher index, or vice versa, but all columns of a MapMatrix must be traversed in the same way.
See also:
MapArray, MapMatrix
Enumeration values:
MTD_LOW_TO_HIGH | traverse from lowest to highest index
MTD_HIGH_TO_LOW | traverse from highest to lowest index

Generated on Fri Jul 13 13:27:46 2012 for SceniX


SceniX: MapObject.h Source File

inc / nvsg / nvsg

MapObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Object.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00026   typedef enum
00027   {
00028     MA_LOWER,
00029     MA_CENTER,
00030     MA_UPPER
00031   } MapAlignment;
00032
00038   typedef enum
00039   {
00040     MO_HORIZONTAL,
00041     MO_VERTICAL
00042   } MapOrientation;
00043
00049   typedef enum
00050   {
00051     MR_LOWER_LEFT,
00052     MR_LOWER_CENTER,
00053     MR_LOWER_RIGHT,
00054     MR_CENTER_LEFT,
00055     MR_CENTER,
00056     MR_CENTER_RIGHT,
00057     MR_UPPER_LEFT,
00058     MR_UPPER_CENTER,
00059     MR_UPPER_RIGHT
00060   } MapRelation;
00061
00069   typedef enum
00070   {
00071     MTD_LOW_TO_HIGH,
00072     MTD_HIGH_TO_LOW
00073   } MapTraversalDirection;
00074
00082   class MapObject : public Object
00083   {
00084     public:
00086       NVSG_API virtual ~MapObject(void);
00087
00096       NVSG_API void getPosition( int & x
00097                                , int & y ) const;
00098
00107       NVSG_API void setPosition( int x
00108                                , int y );
00109
00121       NVSG_API MapRelation getRelation( void ) const;
00122
00134       NVSG_API void setRelation( MapRelation relation );
00135
00148       NVSG_API void getLowerLeft( int & x
00149                                 , int & y ) const;
00150
00159       NVSG_API virtual void getSize( unsigned int & width
00160                                    , unsigned int & height ) const = 0;
00161
00166       NVSG_API virtual const TextureHostSharedPtr & pickMap( int x, int y ) const = 0;
00167
00168       REFLECTION_INFO_API( NVSG_API, MapObject );
00169     protected:
00174       NVSG_API MapObject(void);
00175
00178       NVSG_API MapObject( const MapObject &rhs );
00179
00183       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00184
00185     private:
00186       MapRelation m_relation; // relation of position
00187       int         m_x, m_y;   // raster position
00188   };
00189
00190   inline void MapObject::getPosition( int & x, int & y ) const
00191   {
00192     NVSG_TRACE();
00193     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00194     x = m_x;
00195     y = m_y;
00196   }
00197
00198   inline void MapObject::setPosition( int x, int y )
00199   {
00200     NVSG_TRACE();
00201     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00202     if ( ( m_x != x ) || ( m_y != y ) )
00203     {
00204       m_x = x;
00205       m_y = y;
00206       notifyChange( this );
00207     }
00208   }
00209
00210   inline MapRelation MapObject::getRelation( void ) const
00211   {
00212     NVSG_TRACE();
00213     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00214     return( m_relation );
00215   }
00216
00217   inline void MapObject::setRelation( MapRelation relation )
00218   {
00219     NVSG_TRACE();
00220     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00221     if ( m_relation != relation )
00222     {
00223       m_relation = relation;
00224       notifyChange( this );
00225     }
00226   }
00227
00228 #if ! defined( DOXYGEN_IGNORE )
00229   //  no need to document these tiny helpers
00230   inline bool pointInRect( int x, int y, int llx, int lly, unsigned int w, unsigned int h )
00231   {
00232     return( ( llx <= x ) && ( lly <= y ) && ( x <= (int)(llx+w) ) && ( y <= (int)(lly+h) ) );
00233   }
00234
00235   inline bool pointInInterval( int x, int l, unsigned int s )
00236   {
00237     return( ( l <= x ) && ( x <= (int)(l+s) ) );
00238   }
00239 #endif
00240
00241 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Material.h File Reference

inc / nvsg / nvsg

Material.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnt.h"
#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Material.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum | MaterialFace { MF_FRONT = 0x01, MF_BACK = 0x02, MF_FRONT_AND_BACK = MF_FRONT | MF_BACK }
ID to identify the front and back face properties of a Material. More...

Detailed Description

Enumeration Type Documentation

enum MaterialFace

ID to identify the front and back face properties of a Material.

Namespace: nvsg
Remarks:
All the properties of a Material can be independently set for the front and the back faces.
See also:
Material
Enumeration values:
MF_FRONT | used for front material
MF_BACK | used for back material
MF_FRONT_AND_BACK | used for both front and back material

Generated on Fri Jul 13 13:27:46 2012 for SceniX


SceniX: Material.h Source File

inc / nvsg / nvsg

Material.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Vecnt.h"
00017 #include "nvsg/StateAttribute.h" // base class definition
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00022   class Material;
00023
00029   typedef enum
00030   {
00031     MF_FRONT = 0x01,
00032     MF_BACK  = 0x02,
00033     MF_FRONT_AND_BACK = MF_FRONT | MF_BACK
00034   } MaterialFace;
00035
00036 //  ignore private member class on documentation
00037 # if ! defined( DOXYGEN_IGNORE )
00038   class MaterialData : public nvutil::RCObject
00039   {
00040     friend class Material;
00041
00042     public:
00044
00046       NVSG_API MaterialData(const MaterialData& rhs);
00047
00048     protected:
00052       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00053
00054     private:
00055       // instantiation on stack is not permitted
00056       MaterialData();
00057       ~MaterialData();
00058       // assignment also not permitted
00059       MaterialData& operator=(const MaterialData& rhs);
00060
00061       nvmath::Vec3f m_backAmbientColor;
00062       nvmath::Vec3f m_backDiffuseColor;
00063       nvmath::Vec3f m_backEmissiveColor;
00064       float         m_backIOR;
00065       float         m_backOpacity;
00066       nvmath::Vec3f m_backOpacityColor;
00067       float         m_backReflectivity;
00068       nvmath::Vec3f m_backReflectivityColor;
00069       nvmath::Vec3f m_backSpecularColor;
00070       float         m_backSpecularExponent;
00071
00072       nvmath::Vec3f m_frontAmbientColor;
00073       nvmath::Vec3f m_frontDiffuseColor;
00074       nvmath::Vec3f m_frontEmissiveColor;
00075       float         m_frontIOR;
00076       float         m_frontOpacity;
00077       nvmath::Vec3f m_frontOpacityColor;
00078       float         m_frontReflectivity;
00079       nvmath::Vec3f m_frontReflectivityColor;
00080       nvmath::Vec3f m_frontSpecularColor;
00081       float         m_frontSpecularExponent;
00082   };
00083 #endif    //  DOXYGEN_IGNORE
00084
00101   class Material : public StateAttribute
00102   {
00103     public:
00104       NVSG_API static MaterialSharedPtr create();
00105
00106     public:
00115       NVSG_API virtual bool isDataShared() const;
00116
00124       NVSG_API virtual DataID getDataID() const;
00125
00137       NVSG_API const nvmath::Vec3f& getAmbientColor( MaterialFace mf = MF_FRONT ) const;
00138
00149       NVSG_API void setAmbientColor( const nvmath::Vec3f &ac, MaterialFace mf = MF_FRONT_AND_BACK );
00150
00166       NVSG_API const nvmath::Vec3f& getDiffuseColor( MaterialFace mf = MF_FRONT ) const;
00167
00181       NVSG_API void setDiffuseColor( const nvmath::Vec3f &dc, MaterialFace mf = MF_FRONT_AND_BACK );
00182
00198       NVSG_API const nvmath::Vec3f& getEmissiveColor( MaterialFace mf = MF_FRONT ) const;
00199
00213       NVSG_API void setEmissiveColor( const nvmath::Vec3f &ec , MaterialFace mf = MF_FRONT_AND_BACK );
00214
00226       NVSG_API float getOpacity( MaterialFace mf = MF_FRONT ) const;
00227
00239       NVSG_API void setOpacity( float o, MaterialFace mf = MF_FRONT_AND_BACK );
00240
00253       NVSG_API const nvmath::Vec3f& getSpecularColor( MaterialFace mf = MF_FRONT ) const;
00254
00265       NVSG_API void setSpecularColor( const nvmath::Vec3f &sc, MaterialFace mf = MF_FRONT_AND_BACK );
00266
00278       NVSG_API float getSpecularExponent( MaterialFace mf = MF_FRONT ) const;
00279
00290       NVSG_API void setSpecularExponent( float se, MaterialFace mf = MF_FRONT_AND_BACK );
00291
00303       NVSG_API float getReflectivity( MaterialFace mf = MF_FRONT ) const;
00304
00316       NVSG_API void setReflectivity( float r, MaterialFace mf = MF_FRONT_AND_BACK );
00317
00328       NVSG_API float getIndexOfRefraction( MaterialFace mf = MF_FRONT ) const;
00329
00339       NVSG_API void setIndexOfRefraction( float ior, MaterialFace mf = MF_FRONT_AND_BACK );
00340
00354       NVSG_API const nvmath::Vec3f& getReflectivityColor( MaterialFace mf = MF_FRONT ) const;
00355
00369       NVSG_API void setReflectivityColor( const nvmath::Vec3f &sc, MaterialFace mf = MF_FRONT_AND_BACK );
00370
00383       NVSG_API const nvmath::Vec3f& getOpacityColor( MaterialFace mf = MF_FRONT ) const;
00384
00398       NVSG_API void setOpacityColor( const nvmath::Vec3f &oc, MaterialFace mf = MF_FRONT_AND_BACK );
00399
00405       NVSG_API Material & operator=( const Material & rhs );
00406
00415       NVSG_API virtual bool isEquivalent( const Object * p , bool ignoreNames, bool deepCompare ) const;
00416
00417       REFLECTION_INFO_API( NVSG_API, Material );
00418       BEGIN_DECLARE_STATIC_PROPERTIES
00419           NVSG_API DECLARE_STATIC_PROPERTY( AmbientColorFront );
00420           NVSG_API DECLARE_STATIC_PROPERTY( DiffuseColorFront );
00421           NVSG_API DECLARE_STATIC_PROPERTY( EmissiveColorFront );
00422           NVSG_API DECLARE_STATIC_PROPERTY( SpecularColorFront );
00423           NVSG_API DECLARE_STATIC_PROPERTY( ReflectivityColorFront );
00424           NVSG_API DECLARE_STATIC_PROPERTY( OpacityColorFront );
00425
00426           NVSG_API DECLARE_STATIC_PROPERTY( OpacityFront );
00427           NVSG_API DECLARE_STATIC_PROPERTY( ReflectivityFront );
00428           NVSG_API DECLARE_STATIC_PROPERTY( SpecularExponentFront );
00429           NVSG_API DECLARE_STATIC_PROPERTY( IndexOfRefractionFront );
00430
00431           NVSG_API DECLARE_STATIC_PROPERTY( AmbientColorBack );
00432           NVSG_API DECLARE_STATIC_PROPERTY( DiffuseColorBack );
00433           NVSG_API DECLARE_STATIC_PROPERTY( EmissiveColorBack );
00434           NVSG_API DECLARE_STATIC_PROPERTY( SpecularColorBack );
00435           NVSG_API DECLARE_STATIC_PROPERTY( ReflectivityColorBack );
00436           NVSG_API DECLARE_STATIC_PROPERTY( OpacityColorBack );
00437
00438           NVSG_API DECLARE_STATIC_PROPERTY( OpacityBack );
00439           NVSG_API DECLARE_STATIC_PROPERTY( ReflectivityBack );
00440           NVSG_API DECLARE_STATIC_PROPERTY( SpecularExponentBack );
00441           NVSG_API DECLARE_STATIC_PROPERTY( IndexOfRefractionBack );
00442       END_DECLARE_STATIC_PROPERTIES
00443
00444     protected:
00445       friend struct nvutil::Holder<Material>;
00446
00448       NVSG_API Material();
00449
00451       NVSG_API Material( const Material &rhs );
00452
00454       NVSG_API virtual ~Material();
00455
00459       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00460
00461     private:
00462       // Property helper functions frontface
00463       const nvmath::Vec3f &getAmbientColorFront() const      { return getAmbientColor( MF_FRONT ); }
00464       const nvmath::Vec3f &getDiffuseColorFront() const      { return getDiffuseColor( MF_FRONT ); }
00465       const nvmath::Vec3f &getEmissiveColorFront() const     { return getEmissiveColor( MF_FRONT ); }
00466       const nvmath::Vec3f &getSpecularColorFront() const     { return getSpecularColor( MF_FRONT ); }
00467       const nvmath::Vec3f &getReflectivityColorFront() const { return getReflectivityColor( MF_FRONT ); }
00468       const nvmath::Vec3f &getOpacityColorFront() const      { return getOpacityColor( MF_FRONT ); }
00469
00470       void setAmbientColorFront( const nvmath::Vec3f &color )      { setAmbientColor( color, MF_FRONT ); }
00471       void setDiffuseColorFront( const nvmath::Vec3f &color )      { setDiffuseColor( color, MF_FRONT ); }
00472       void setEmissiveColorFront( const nvmath::Vec3f &color )     { setEmissiveColor( color, MF_FRONT ); }
00473       void setSpecularColorFront( const nvmath::Vec3f &color )     { setSpecularColor( color, MF_FRONT ); }
00474       void setReflectivityColorFront( const nvmath::Vec3f &color ) { setReflectivityColor( color, MF_FRONT ); }
00475       void setOpacityColorFront( const nvmath::Vec3f &color )      { setOpacityColor( color, MF_FRONT ); }
00476
00477       float getOpacityFront() const          { return getOpacity( MF_FRONT ); }
00478       float getReflectivityFront() const     { return getReflectivity( MF_FRONT ); }
00479       float getSpecularExponentFront() const { return getSpecularExponent( MF_FRONT ); }
00480       float getIndexOfRefractionFront() const{ return getIndexOfRefraction( MF_FRONT ); }
00481
00482       void setOpacityFront( float value )           { setOpacity( value, MF_FRONT ); }
00483       void setReflectivityFront( float value )      { setReflectivity( value, MF_FRONT ); }
00484       void setSpecularExponentFront( float value )  { setSpecularExponent( value, MF_FRONT ); }
00485       void setIndexOfRefractionFront( float value ) { setIndexOfRefraction( value, MF_FRONT ); }
00486
00487       // Property helper functions backface
00488       const nvmath::Vec3f &getAmbientColorBack() const      {  return getAmbientColor( MF_BACK ); }
00489       const nvmath::Vec3f &getDiffuseColorBack() const      { return getDiffuseColor( MF_BACK ); }
00490       const nvmath::Vec3f &getEmissiveColorBack() const     { return getEmissiveColor( MF_BACK ); }
00491       const nvmath::Vec3f &getSpecularColorBack() const     { return getSpecularColor( MF_BACK ); }
00492       const nvmath::Vec3f &getReflectivityColorBack() const { return getReflectivityColor( MF_BACK ); }
00493       const nvmath::Vec3f &getOpacityColorBack() const      { return getOpacityColor( MF_BACK ); }
00494
00495       void setAmbientColorBack( const nvmath::Vec3f &color )      { setAmbientColor( color, MF_BACK ); }
00496       void setDiffuseColorBack( const nvmath::Vec3f &color )      { setDiffuseColor( color, MF_BACK ); }
00497       void setEmissiveColorBack( const nvmath::Vec3f &color )     { setEmissiveColor( color, MF_BACK ); }
00498       void setSpecularColorBack( const nvmath::Vec3f &color )     { setSpecularColor( color, MF_BACK ); }
00499       void setReflectivityColorBack( const nvmath::Vec3f &color ) { setReflectivityColor( color, MF_BACK ); }
00500       void setOpacityColorBack( const nvmath::Vec3f &color )      { setOpacityColor( color, MF_BACK ); }
00501
00502       float getOpacityBack() const           { return getOpacity( MF_BACK ); }
00503       float getReflectivityBack() const      { return getReflectivity( MF_BACK ); }
00504       float getSpecularExponentBack() const  { return getSpecularExponent( MF_BACK ); }
00505       float getIndexOfRefractionBack() const { return getIndexOfRefraction( MF_BACK ); }
00506
00507       void setOpacityBack( float value )           { setOpacity( value, MF_BACK ); }
00508       void setReflectivityBack( float value )      { setReflectivity( value, MF_BACK ); }
00509       void setSpecularExponentBack( float value )  { setSpecularExponent( value, MF_BACK ); }
00510       void setIndexOfRefractionBack( float value ) { setIndexOfRefraction( value, MF_BACK ); }
00511
00512       // helper to determine whether a change should cause an invalidation
00513       void evalChange( int flags = 0 );
00514
00515   private:
00516       nvutil::SmartPtr<MaterialData>  m_material; // shareable material data
00517   };
00518
00519   inline const nvmath::Vec3f& Material::getAmbientColor( MaterialFace mf ) const
00520   {
00521     NVSG_TRACE();
00522     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00523     return( ( mf & MF_FRONT ) ? m_material->m_frontAmbientColor : m_material->m_backAmbientColor );
00524   }
00525
00526   inline const nvmath::Vec3f& Material::getDiffuseColor( MaterialFace mf ) const
00527   {
00528     NVSG_TRACE();
00529     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00530     return( ( mf & MF_FRONT ) ? m_material->m_frontDiffuseColor : m_material->m_backDiffuseColor );
00531   }
00532
00533   inline const nvmath::Vec3f& Material::getEmissiveColor( MaterialFace mf ) const
00534   {
00535     NVSG_TRACE();
00536     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00537     return( ( mf & MF_FRONT ) ? m_material->m_frontEmissiveColor : m_material->m_backEmissiveColor );
00538   }
00539
00540   inline float Material::getOpacity( MaterialFace mf ) const
00541   {
00542     NVSG_TRACE();
00543     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00544     return( ( mf & MF_FRONT ) ? m_material->m_frontOpacity : m_material->m_backOpacity );
00545   }
00546
00547   inline const nvmath::Vec3f& Material::getSpecularColor( MaterialFace mf ) const
00548   {
00549     NVSG_TRACE();
00550     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00551     return( ( mf & MF_FRONT ) ? m_material->m_frontSpecularColor : m_material->m_backSpecularColor );
00552   }
00553
00554   inline const nvmath::Vec3f& Material::getOpacityColor( MaterialFace mf ) const
00555   {
00556     NVSG_TRACE();
00557     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00558     return( ( mf & MF_FRONT ) ? m_material->m_frontOpacityColor : m_material->m_backOpacityColor );
00559   }
00560
00561   inline const nvmath::Vec3f& Material::getReflectivityColor( MaterialFace mf ) const
00562   {
00563     NVSG_TRACE();
00564     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00565     return( ( mf & MF_FRONT ) ? m_material->m_frontReflectivityColor : m_material->m_backReflectivityColor );
00566   }
00567
00568   inline float Material::getSpecularExponent( MaterialFace mf ) const
00569   {
00570     NVSG_TRACE();
00571     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00572     return( ( mf & MF_FRONT ) ? m_material->m_frontSpecularExponent : m_material->m_backSpecularExponent );
00573   }
00574
00575   inline float Material::getIndexOfRefraction( MaterialFace mf ) const
00576   {
00577     NVSG_TRACE();
00578     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00579     return( ( mf & MF_FRONT ) ? m_material->m_frontIOR : m_material->m_backIOR );
00580   }
00581
00582   inline float Material::getReflectivity( MaterialFace mf ) const
00583   {
00584     NVSG_TRACE();
00585     NVSG_ASSERT( mf != MF_FRONT_AND_BACK );
00586     return( ( mf & MF_FRONT ) ? m_material->m_frontReflectivity : m_material->m_backReflectivity );
00587   }
00588
00589 } //  namespace nvsg
00590
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Matnnt.h File Reference

inc / nvsg / nvmath

Matnnt.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Quatt.h"
#include "nvmath/Vecnt.h"

Include dependency graph for Matnnt.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Functions

template<unsigned int n, typename T>
T | determinant (const Matnnt< n, T > &m)
Determine the determinant of a matrix.
template<unsigned int n, typename T>
bool | invert (const Matnnt< n, T > &mIn, Matnnt< n, T > &mOut)
Invert a matrix.
template<unsigned int n, typename T>
bool | isIdentity (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is the identity.
template<unsigned int n, typename T>
bool | isNormalized (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is normalized.
template<unsigned int n, typename T>
bool | isNull (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is null.
template<unsigned int n, typename T>
bool | isOrthogonal (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is orthogonal.
template<unsigned int n, typename T>
bool | isSingular (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is singular.
template<unsigned int n, typename T>
T | maxElement (const Matnnt< n, T > &m)
Get the value of the maximal absolute element of a matrix.
template<unsigned int n, typename T>
T | minElement (const Matnnt< n, T > &m)
Get the value of the minimal absolute element of a matrix.
template<unsigned int n, typename T>
bool | operator== (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix equality operator.
template<unsigned int n, typename T>
bool | operator!= (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix inequality operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator~ (const Matnnt< n, T > &m)
Matrix transpose operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator+ (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix addition operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator- (const Matnnt< n, T > &m)
Matrix negation operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator- (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix subtraction operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator * (const Matnnt< n, T > &m, T s)
Scalar multiplication operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator * (T s, const Matnnt< n, T > &m)
Scalar multiplication operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator * (const Matnnt< n, T > &m, const Vecnt< n, T > &v)
Vector multiplication operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator * (const Vecnt< n, T > &v, const Matnnt< n, T > &m)
Vector multiplication operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator * (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix multiplication operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator/ (const Matnnt< n, T > &m, T s)
Scalar division operator.
template<unsigned int n, typename T>
void | setIdentity (Matnnt< n, T > &m)
Set a matrix to be the identity.
template<typename T>
bool | isRotation (const Matnnt< 3, T > &m, T eps=9 *std::numeric_limits< T >::epsilon())
Test if a 3 by 3 matrix represents a rotation.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)
Set the values of a 3 by 3 matrix by nine scalars.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1, const Vecnt< 3, T > &v2)
Set the values of a 3 by 3 matrix by three vectors.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, const Quatt< T > &q)
Set the values of a 3 by 3 matrix using a normalized quaternion.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, const Vecnt< 3, T > &axis, T angle)
Set the values of a 3 by 3 matrix using a normalized rotation axis and an angle.
NVSG_API void | decompose (const Matnnt< 3, float > &m, Quatt< float > &orientation, Vecnt< 3, float > &scaling, Quatt< float > &scaleOrientation)
Decompose a 3 by 3 matrix.
template<typename T>
Matnnt< 4, T > & | setMat (Matnnt< 4, T > &m, T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33)
Set the values of a 4 by 4 matrix by sixteen scalars.
template<typename T>
Matnnt< 4, T > & | setMat (Matnnt< 4, T > &m, const Vecnt< 4, T > &v0, const Vecnt< 4, T > &v1, const Vecnt< 4, T > &v2, const Vecnt< 4, T > &v3)
Set the values of a 4 by 4 matrix by four vectors.
template<typename T>
Matnnt< 4, T > & | setMat (Matnnt< 4, T > &m, const Quatt< T > &ori, const Vecnt< 3, T > &trans=Vecnt< 3, T >(0, 0, 0), const Vecnt< 3, T > &scale=Vecnt< 3, T >(1, 1, 1))
Set the values of a 4 by 4 matrix by the constituents of a transformation.
NVSG_API void | decompose (const Matnnt< 4, float > &m, Vecnt< 3, float > &translation, Quatt< float > &orientation, Vecnt< 3, float > &scaling, Quatt< float > &scaleOrientation)
Decompose a 4 by 4 matrix of floats.
template<unsigned int n, typename T, unsigned int k>
T | calculateDeterminant (const Matnnt< n, T > &m, const Vecnt< k, unsigned int > &first, const Vecnt< k, unsigned int > &second)
template<unsigned int n, typename T>
T | calculateDeterminant (const Matnnt< n, T > &m, const Vecnt< 1, unsigned int > &first, const Vecnt< 1, unsigned int > &second)
template<typename T>
T | determinant (const Matnnt< 3, T > &m)
template<typename T>
bool | invert (const Matnnt< 3, T > &mIn, Matnnt< 3, T > &mOut)
template<typename T>
T | determinant (const Matnnt< 4, T > &m)
template<typename T>
bool | invert (const Matnnt< 4, T > &mIn, Matnnt< 4, T > &mOut)
template<typename T>
Matnnt< 4, T > | makeLookAt (const Vecnt< 3, T > &eye, const Vecnt< 3, T > &center, const Vecnt< 3, T > &up)
makeLookAt defines a viewing transformation.
template<typename T>
Matnnt< 4, T > | makeOrtho (T left, T right, T bottom, T top, T znear, T zfar)
makeOrtho defines an orthographic projection matrix.
template<typename T>
Matnnt< 4, T > | makeFrustum (T left, T right, T bottom, T top, T znear, T zfar)
makeFrustum defines a perspective projection matrix.
template<typename T>
Matnnt< 4, T > | makePerspective (T fovy, T aspect, T znear, T zfar)
makePerspective builds a perspective projection matrix.
template<typename T>
Vecnt< 4, T > | operator * (const Vecnt< 4, T > &v, const Matnnt< 4, T > &m)
template<typename T>
Matnnt< 4, T > | operator * (const Matnnt< 4, T > &m0, const Matnnt< 4, T > &m1)

Variables

NVSG_API const Mat44f | cIdentity44f
global identity matrix.

Detailed Description

Function Documentation

T determinant ( const Matnnt< n, T > & m ) [inline]

Determine the determinant of a matrix.

Parameters:
m A constant reference to the matrix to determine the determinant from.
Returns:
The determinant of m.

bool invert | ( | const Matnnt< n, T > & | mIn,
 |  | Matnnt< n, T > & | mOut
 | ) | [inline]

Invert a matrix.

Parameters:
mIn | A constant reference to the matrix to invert.
mOut | A reference to the matrix to hold the inverse.
Returns:
true, if the matrix m was successfully inverted, otherwise false.
Note:
If the mIn was not successfully inverted, the values in mOut are undefined.

bool isIdentity | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is the identity.

Parameters:
m | A constant reference to the matrix to test for identity.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix is the identity, otherwise false.
Remarks:
A matrix is considered to be the identity, if each of the diagonal elements differ less than eps from one, and each of the other matrix elements differ less than eps from zero.
See also:
isNormalized, isNull, isOrthogonal, isSingular

bool isNormalized | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is normalized.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the matrix is normalized, otherwise false.
Remarks:
A matrix is considered to be normalized, if each row and each column is normalized.
See also:
isIdentity, isNull, isOrthogonal, isSingular

bool isNull | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is null.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the matrix is null, otherwise false.
Remarks:
A matrix is considered to be null, if each row is null.
See also:
isIdentity, isNormalized, isOrthogonal, isSingular

bool isOrthogonal | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is orthogonal.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix is orthogonal, otherwise false.
Remarks:
A matrix is considered to be orthogonal, if each pair of rows and each pair of columns are orthogonal to each other.
See also:
isIdentity, isNormalized, isNull, isSingular

bool isSingular | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is singular.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix is singular, otherwise false.
Remarks:
A matrix is considered to be singular, if its determinant is zero.
See also:
isIdentity, isNormalized, isNull, isOrthogonal

T maxElement ( const Matnnt< n, T > & m ) [inline]

Get the value of the maximal absolute element of a matrix.

Parameters:
m A constant reference to a matrix to get the maximal element from.
Returns:
The value of the maximal absolute element of m.
See also:
minElement

T minElement ( const Matnnt< n, T > & m ) [inline]

Get the value of the minimal absolute element of a matrix.

Parameters:
m A constant reference to a matrix to get the minimal element from.
Returns:
The value of the minimal absolute element of m.
See also:
maxElement

bool operator== | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix equality operator.

Parameters:
m0 | A constant reference to the first matrix to compare.
m1 | A constant reference to the second matrix to compare.
Returns:
true, if m0 and m1 are equal, otherwise false.
Remarks:
Two matrices are considered to be equal, if each element of m0 differs less than the type dependent epsilon from the the corresponding element of m1.

bool operator!= | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix inequality operator.

Parameters:
m0 | A constant reference to the first matrix to compare.
m1 | A constant reference to the second matrix to compare.
Returns:
true, if m0 and m1 are not equal, otherwise false.
Remarks:
Two matrices are considered to be not equal, if at least one element of m0 differs more than the type dependent epsilon from the the corresponding element of m1.

Matnnt< n, T > operator~ ( const Matnnt< n, T > & m ) [inline]

Matrix transpose operator.

Parameters:
m A constant reference to the matrix to transpose.
Returns:
The transposed version of m.

Matnnt< n, T > operator+ | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix addition operator.

Parameters:
m0 | A constant reference to the first matrix to add.
m1 | A constant reference to the second matrix to add.
Returns:
A matrix representing the sum of
 m0 + m1

Matnnt< n, T > operator- ( const Matnnt< n, T > & m ) [inline]

Matrix negation operator.

Parameters:
m A constant reference to the matrix to negate.
Returns:
A matrix representing the negation of m.

Matnnt< n, T > operator- | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix subtraction operator.

Parameters:
m0 | A constant reference to the first argument of the subtraction.
m1 | A constant reference to the second argument of the subtraction.
Returns:
A matrix representing the difference
 m0 - m1

Matnnt< n, T > operator * | ( | const Matnnt< n, T > & | m,
 |  | T | s
 | ) | [inline]

Scalar multiplication operator.

Parameters:
m | A constant reference to the matrix to multiply.
s | The scalar value to multiply with.
Returns:
A matrix representing the product
 m * s

Matnnt< n, T > operator * | ( | T | s,
 |  | const Matnnt< n, T > & | m
 | ) | [inline]

Scalar multiplication operator.

Parameters:
s | The scalar value to multiply with.
m | A constant reference to the matrix to multiply.
Returns:
A matrix representing the product
 s * m

Vecnt< n, T > operator * | ( | const Matnnt< n, T > & | m,
 |  | const Vecnt< n, T > & | v
 | ) | [inline]

Vector multiplication operator.

Parameters:
m | A constant reference to the matrix to multiply.
v | A constant reference to the vector to multiply with.
Returns:
A vector representing the product
 m * v

Vecnt< n, T > operator * | ( | const Vecnt< n, T > & | v,
 |  | const Matnnt< n, T > & | m
 | ) | [inline]

Vector multiplication operator.

Parameters:
v | A constant reference to the vector to multiply with.
m | A constant reference to the matrix to multiply.
Returns:
A vector representing the product
 v * m

Matnnt< n, T > operator * | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix multiplication operator.

Parameters:
m0 | A constant reference to the first operand of the multiplication.
m1 | A constant reference to the second operand of the multiplication.
Returns:
A matrix representing the product
 m0 * m1

Matnnt< n, T > operator/ | ( | const Matnnt< n, T > & | m,
 |  | T | s
 | ) | [inline]

Scalar division operator.

Parameters:
m | A constant reference to the matrix to divide.
s | The scalar value to divide by.
Returns:
A matrix representing the matrix m divided by s.

void setIdentity ( Matnnt< n, T > & m )

Set a matrix to be the identity.

Parameters:
m The matrix to set to identity.
Remarks:
Each diagonal element of m is set to one, each other element is set to zero.

bool isRotation | ( | const Matnnt< 3, T > & | m,
 |  | T | eps = 9 * std::numeric_limits<T>::epsilon()
 | ) |

Test if a 3 by 3 matrix represents a rotation.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix represents a rotation, otherwise false.
Remarks:
A 3 by 3 matrix is considered to be a rotation, if it is normalized, orthogonal, and its determinant is one.
See also:
isIdentity, isNull, isNormalized, isOrthogonal

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | T | m00,
 |  | T | m01,
 |  | T | m02,
 |  | T | m10,
 |  | T | m11,
 |  | T | m12,
 |  | T | m20,
 |  | T | m21,
 |  | T | m22
 | ) | [inline]

Set the values of a 3 by 3 matrix by nine scalars.

Parameters:
m | A reference to the matrix to set with the nine values.
m00 | The scalar for the first value in the first row.
m01 | The scalar for the second value in the first row.
m02 | The scalar for the third value in the first row.
m10 | The scalar for the first value in the second row.
m11 | The scalar for the second value in the second row.
m12 | The scalar for the third value in the second row.
m20 | The scalar for the first value in the third row.
m21 | The scalar for the second value in the third row.
m22 | The scalar for the third value in the third row.
Returns:
A reference to m.

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1,
 |  | const Vecnt< 3, T > & | v2
 | ) | [inline]

Set the values of a 3 by 3 matrix by three vectors.

Parameters:
m | A reference to the matrix to set with the three vectors.
v0 | A constant reference to the vector to set as the first row of m.
v1 | A constant reference to the vector to set as the second row of m.
v2 | A constant reference to the vector to set as the third row of m.
Returns:
A reference to m.

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | const Quatt< T > & | q
 | ) | [inline]

Set the values of a 3 by 3 matrix using a normalized quaternion.

Parameters:
m | A reference to the matrix to set.
q | A constant reference to the normalized quaternion to use.
Returns:
A reference to m.
Remarks:
The matrix is set to represent the same rotation as the normalized quaternion q.
Note:
The behavior is undefined if q is not normalized.

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | const Vecnt< 3, T > & | axis,
 |  | T | angle
 | ) |

Set the values of a 3 by 3 matrix using a normalized rotation axis and an angle.

Parameters:
m | A reference to the matrix to set.
axis | A constant reference to the normalized rotation axis.
angle | The angle in radians to rotate around axis.
Returns:
A reference to m.
Remarks:
The matrix is set to represent the rotation by angle around axis.
Note:
The behavior is undefined if axis is not normalized.

NVSG_API void decompose | ( | const Matnnt< 3, float > & | m,
 |  | Quatt< float > & | orientation,
 |  | Vecnt< 3, float > & | scaling,
 |  | Quatt< float > & | scaleOrientation
 | ) |

Decompose a 3 by 3 matrix.

Parameters:
m | A constant reference to the matrix to decompose.
orientation | A reference to the quaternion getting the rotational part of the matrix.
scaling | A reference to the vector getting the scaling part of the matrix.
scaleOrientation | A reference to the quaternion getting the orientation of the scaling.
Note:
The behavior is undefined, if the determinant of m is too small, or the rank of m is less than three.

Matnnt< 4, T > & setMat | ( | Matnnt< 4, T > & | m,
 |  | T | m00,
 |  | T | m01,
 |  | T | m02,
 |  | T | m03,
 |  | T | m10,
 |  | T | m11,
 |  | T | m12,
 |  | T | m13,
 |  | T | m20,
 |  | T | m21,
 |  | T | m22,
 |  | T | m23,
 |  | T | m30,
 |  | T | m31,
 |  | T | m32,
 |  | T | m33
 | ) | [inline]

Set the values of a 4 by 4 matrix by sixteen scalars.

Parameters:
m | A reference to the matrix to set with the sixteen values.
m00 | The scalar for the first value in the first row.
m01 | The scalar for the second value in the first row.
m02 | The scalar for the third value in the first row.
m03 | The scalar for the fourth value in the first row.
m10 | The scalar for the first value in the second row.
m11 | The scalar for the second value in the second row.
m12 | The scalar for the third value in the second row.
m13 | The scalar for the fourth value in the second row.
m20 | The scalar for the first value in the third row.
m21 | The scalar for the second value in the third row.
m22 | The scalar for the third value in the third row.
m23 | The scalar for the fourth value in the third row.
m30 | The scalar for the first value in the fourth row.
m31 | The scalar for the second value in the fourth row.
m32 | The scalar for the third value in the fourth row.
m33 | The scalar for the fourth value in the fourth row.
Returns:
A reference to m.

Matnnt< 4, T > & setMat | ( | Matnnt< 4, T > & | m,
 |  | const Vecnt< 4, T > & | v0,
 |  | const Vecnt< 4, T > & | v1,
 |  | const Vecnt< 4, T > & | v2,
 |  | const Vecnt< 4, T > & | v3
 | ) | [inline]

Set the values of a 4 by 4 matrix by four vectors.

Parameters:
m | A reference to the matrix to set with the four vectors.
v0 | A constant reference to the vector to set as the first row of m.
v1 | A constant reference to the vector to set as the second row of m.
v2 | A constant reference to the vector to set as the third row of m.
v3 | A constant reference to the vector to set as the fourth row of m.
Returns:
A reference to m.

Matnnt<4,T>& setMat | ( | Matnnt< 4, T > & | m,
 |  | const Quatt< T > & | ori,
 |  | const Vecnt< 3, T > & | trans = Vecnt<3,T>(0,0,0),
 |  | const Vecnt< 3, T > & | scale = Vecnt<3,T>(1,1,1)
 | ) |

Set the values of a 4 by 4 matrix by the constituents of a transformation.

Parameters:
m | A reference to the matrix to set.
ori | A constant reference of the rotation part of the transformation.
trans | An optional constant reference to the translational part of the transformation. The default is a null vector.
scale | An optional constant reference to the scaling part of the transformation. The default is the identity scaling.
Returns:
A reference to m.

void decompose | ( | const Matnnt< 4, float > & | m,
 |  | Vecnt< 3, float > & | translation,
 |  | Quatt< float > & | orientation,
 |  | Vecnt< 3, float > & | scaling,
 |  | Quatt< float > & | scaleOrientation
 | ) | [inline]

Decompose a 4 by 4 matrix of floats.

Parameters:
m | A constant reference to the matrix to decompose.
translation | A reference to the vector getting the translational part of the matrix.
orientation | A reference to the quaternion getting the rotational part of the matrix.
scaling | A reference to the vector getting the scaling part of the matrix.
scaleOrientation | A reference to the quaternion getting the orientation of the scaling.
Note:
The behavior is undefined, if the determinant of m is too small.

Currently, the behavior is undefined, if the rank of m is less than three.

Matnnt<4,T> makeLookAt | ( | const Vecnt< 3, T > & | eye,
 |  | const Vecnt< 3, T > & | center,
 |  | const Vecnt< 3, T > & | up
 | ) | [inline]

makeLookAt defines a viewing transformation.

Parameters:
eye | The position of the eye point.
center | The position of the reference point.
up | The direction of the up vector.
Remarks:
The makeLookAt function creates a viewing matrix derived from an eye point, a reference point indicating the center of the scene, and an up vector. The matrix maps the reference point to the negative z-axis and the eye point to the origin, so that when you use a typical projection matrix, the center of the scene maps to the center of the viewport. Similarly, the direction described by the up vector projected onto the viewing plane is mapped to the positive y-axis so that it points upward in the viewport. The up vector must not be parallel to the line of sight from the eye to the reference point.
Note:
This documentation is adapted from gluLookAt, and is courtesy of SGI.

Matnnt<4,T> makeOrtho | ( | T | left,
 |  | T | right,
 |  | T | bottom,
 |  | T | top,
 |  | T | znear,
 |  | T | zfar
 | ) | [inline]

makeOrtho defines an orthographic projection matrix.

Parameters:
left | Coordinate for the left vertical clipping plane.
right | Coordinate for the right vertical clipping plane.
bottom | Coordinate for the bottom horizontal clipping plane.
top | Coordinate for the top horizontal clipping plane.
znear | The distance to the near clipping plane. This distance is negative if the plane is behind the viewer.
zfar | The distance to the far clipping plane. This distance is negative if the plane is behind the viewer.
Remarks:
The makeOrtho function describes a perspective matrix that produces a parallel projection. Assuming this function will be used to build a camera's Projection matrix, the (left, bottom, znear) and (right, top, znear) parameters specify the points on the near clipping plane that are mapped to the lower-left and upper-right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). The far parameter specifies the location of the far clipping plane. Both znear and zfar can be either positive or negative.
Note:
This documentation is adapted from glOrtho, and is courtesy of SGI.

Matnnt<4,T> makeFrustum | ( | T | left,
 |  | T | right,
 |  | T | bottom,
 |  | T | top,
 |  | T | znear,
 |  | T | zfar
 | ) | [inline]

makeFrustum defines a perspective projection matrix.

Parameters:
left | Coordinate for the left vertical clipping plane.
right | Coordinate for the right vertical clipping plane.
bottom | Coordinate for the bottom horizontal clipping plane.
top | Coordinate for the top horizontal clipping plane.
znear | The distance to the near clipping plane. The value must be greater than zero.
zfar | The distance to the far clipping plane. The value must be greater than znear.
Remarks:
The makeFrustum function describes a perspective matrix that produces a perspective projection. Assuming this function will be used to build a camera's Projection matrix, the (left, bottom, znear) and (right, top, znear) parameters specify the points on the near clipping plane that are mapped to the lower-left and upper-right corners of the window, respectively, assuming that the eye is located at (0,0,0). The zfar parameter specifies the location of the far clipping plane. Both znear and zfar must be positive.
Note:
This documentation is adapted from glFrustum, and is courtesy of SGI.

Matnnt<4,T> makePerspective | ( | T | fovy,
 |  | T | aspect,
 |  | T | znear,
 |  | T | zfar
 | ) | [inline]

makePerspective builds a perspective projection matrix.

Parameters:
fovy | The vertical field of view, in degrees.
aspect | The ratio of the viewport width / height.
znear | The distance to the near clipping plane. The value must be greater than zero.
zfar | The distance to the far clipping plane. The value must be greater than znear.
Remarks:
Assuming makePerspective will be used to build a camera's Projection matrix, it specifies a viewing frustum into the world coordinate system. In general, the aspect ratio in makePerspective should match the aspect ratio of the associated viewport. For example, aspect = 2.0 means the viewer's angle of view is twice as wide in x as it is in y. If the viewport is twice as wide as it is tall, it displays the image without distortion.
Note:
This documentation is adapted from gluPerspective, and is courtesy of SGI.

Variable Documentation

NVSG_API const Mat44f cIdentity44f

global identity matrix.

Generated on Fri Jul 13 13:27:47 2012 for SceniX


SceniX: Matnnt.h Source File

inc / nvsg / nvmath

Matnnt.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Quatt.h"
00017 #include "nvmath/Vecnt.h"
00018
00019 namespace nvmath
00020 {
00021   template<typename T> class Quatt;
00022
00027   template<unsigned int n, typename T> class Matnnt
00028   {
00029     public:
00032       Matnnt(bool idmat = false);
00033
00040       template<unsigned int m, typename S>
00041         explicit Matnnt( const Matnnt<m,S> & rhs );
00042
00058       Matnnt( T m00, T m01, T m02
00059             , T m10, T m11, T m12
00060             , T m20, T m21, T m22 );
00061
00071       Matnnt( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1, const Vecnt<n,T> & v2 );
00072
00098       Matnnt( T m00, T m01, T m02, T m03
00099             , T m10, T m11, T m12, T m13
00100             , T m20, T m21, T m22, T m23
00101             , T m30, T m31, T m32, T m33 );
00102
00116       Matnnt( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1, const Vecnt<n,T> & v2, const Vecnt<n,T> & v3 );
00117
00127       Matnnt( const Vecnt<n,T> & axis, T angle );
00128
00133       explicit Matnnt( const Quatt<T> & ori );
00134
00139       Matnnt( const Quatt<T> & ori, const Vecnt<n-1,T> & trans );
00140
00147       Matnnt( const Quatt<T> & ori, const Vecnt<n-1,T> & trans, const Vecnt<n-1,T> & scale );
00148
00149     public:
00158       const T * getPtr() const;
00159
00162       bool invert();
00163
00167       template<typename S>
00168         Vecnt<n,T> & operator[]( S i );
00169
00173       template<typename S>
00174         const Vecnt<n,T> & operator[]( S i ) const;
00175
00182       template<typename S>
00183         Matnnt<n,T> & operator+=( const Matnnt<n,S> & m );
00184
00191       template<typename S>
00192         Matnnt<n,T> & operator-=( const Matnnt<n,S> & m );
00193
00199       template<typename S>
00200         Matnnt<n,T> & operator*=( S s );
00201
00207       Matnnt<n,T> & operator*=( const Matnnt<n,T> & m );
00208
00215       template<typename S>
00216         Matnnt<n,T> & operator/=( S s );
00217
00218     private:
00219       Vecnt<n,T>  m_mat[n];
00220   };
00221
00222
00223   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00224   // non-member functions
00225   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00226
00230   template<unsigned int n, typename T>
00231     T determinant( const Matnnt<n,T> & m );
00232
00238   template<unsigned int n, typename T>
00239     bool invert( const Matnnt<n,T> & mIn, Matnnt<n,T> & mOut );
00240
00249   template<unsigned int n, typename T>
00250     bool isIdentity( const Matnnt<n,T> & m, T eps = std::numeric_limits<T>::epsilon() )
00251   {
00252     bool identity = true;
00253     for ( unsigned int i=0 ; identity && i<n ; ++i )
00254     {
00255       for ( unsigned int j=0 ; identity && j<i ; ++j )
00256       {
00257         identity = ( abs( m[i][j] ) <= eps );
00258       }
00259       if ( identity )
00260       {
00261         identity = ( abs( m[i][i] - 1 ) <= eps );
00262       }
00263       for ( unsigned int j=i+1 ; identity && j<n ; ++j )
00264       {
00265         identity = ( abs( m[i][j] ) <= eps );
00266       }
00267     }
00268     return( identity );
00269   }
00270
00277   template<unsigned int n, typename T>
00278     bool isNormalized( const Matnnt<n,T> & m, T eps = std::numeric_limits<T>::epsilon() )
00279   {
00280     bool normalized = true;
00281     for ( unsigned int i=0 ; normalized && i<n ; ++i )
00282     {
00283       normalized = isNormalized( m[i], eps );
00284     }
00285     for ( unsigned int i=0 ; normalized && i<n ; ++i )
00286     {
00287       Vecnt<n,T> v;
00288       for ( unsigned int j=0 ; j<n ; j++ )
00289       {
00290         v[j] = m[j][i];
00291       }
00292       normalized = isNormalized( v, eps );
00293     }
00294     return( normalized );
00295   }
00296
00303   template<unsigned int n, typename T>
00304     bool isNull( const Matnnt<n,T> & m, T eps = std::numeric_limits<T>::epsilon() )
00305   {
00306     bool null = true;
00307     for ( unsigned int i=0 ; null && i<n ; ++i )
00308     {
00309       null = isNull( m[i], eps );
00310     }
00311     return( null );
00312   }
00313
00321   template<unsigned int n, typename T>
00322     bool isOrthogonal( const Matnnt<n,T> & m, T eps = std::numeric_limits<T>::epsilon() )
00323   {
00324     bool orthogonal = true;
00325     for ( unsigned int i=0 ; orthogonal && i+1<n ; ++i )
00326     {
00327       for ( unsigned int j=i+1 ; orthogonal && j<n ; ++j )
00328       {
00329         orthogonal = areOrthogonal( m[i], m[j], eps );
00330       }
00331     }
00332     if ( orthogonal )
00333     {
00334       Matnnt<n,T> tm = ~m;
00335       for ( unsigned int i=0 ; orthogonal && i+1<n ; ++i )
00336       {
00337         for ( unsigned int j=i+1 ; orthogonal && j<n ; ++j )
00338         {
00339           orthogonal = areOrthogonal( tm[i], tm[j], eps );
00340         }
00341       }
00342     }
00343     return( orthogonal );
00344   }
00345
00352   template<unsigned int n, typename T>
00353     bool isSingular( const Matnnt<n,T> & m, T eps = std::numeric_limits<T>::epsilon() )
00354   {
00355     return( abs( determinant( m ) ) <= eps );
00356   }
00357
00362   template<unsigned int n, typename T>
00363     T maxElement( const Matnnt<n,T> & m );
00364
00369   template<unsigned int n, typename T>
00370     T minElement( const Matnnt<n,T> & m );
00371
00378   template<unsigned int n, typename T>
00379     bool operator==( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 );
00380
00387   template<unsigned int n, typename T>
00388     bool operator!=( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 );
00389
00393   template<unsigned int n, typename T>
00394     Matnnt<n,T> operator~( const Matnnt<n,T> & m );
00395
00400   template<unsigned int n, typename T>
00401     Matnnt<n,T> operator+( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 );
00402
00406   template<unsigned int n, typename T>
00407     Matnnt<n,T> operator-( const Matnnt<n,T> & m );
00408
00413   template<unsigned int n, typename T>
00414     Matnnt<n,T> operator-( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 );
00415
00420   template<unsigned int n, typename T>
00421     Matnnt<n,T> operator*( const Matnnt<n,T> & m, T s );
00422
00427   template<unsigned int n, typename T>
00428     Matnnt<n,T> operator*( T s, const Matnnt<n,T> & m );
00429
00434   template<unsigned int n, typename T>
00435     Vecnt<n,T> operator*( const Matnnt<n,T> & m, const Vecnt<n,T> & v );
00436
00441   template<unsigned int n, typename T>
00442     Vecnt<n,T> operator*( const Vecnt<n,T> & v, const Matnnt<n,T> & m );
00443
00448   template<unsigned int n, typename T>
00449     Matnnt<n,T> operator*( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 );
00450
00455   template<unsigned int n, typename T>
00456     Matnnt<n,T> operator/( const Matnnt<n,T> & m, T s );
00457
00461   template<unsigned int n, typename T>
00462     void setIdentity( Matnnt<n,T> & m );
00463
00464
00465   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00466   // non-member functions, specialized for n == 3
00467   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00468
00476   template<typename T>
00477     bool isRotation( const Matnnt<3,T> & m, T eps = 9 * std::numeric_limits<T>::epsilon() )
00478   {
00479     return(   isNormalized( m, eps )
00480           &&  isOrthogonal( m, eps )
00481           && ( abs( determinant( m ) - 1 ) <= eps ) );
00482   }
00483
00496   template<typename T>
00497     Matnnt<3,T> & setMat( Matnnt<3,T> & m, T m00, T m01, T m02
00498                                          , T m10, T m11, T m12
00499                                          , T m20, T m21, T m22 );
00500
00507   template<typename T>
00508     Matnnt<3,T> & setMat( Matnnt<3,T> & m, const Vecnt<3,T> & v0
00509                                          , const Vecnt<3,T> & v1
00510                                          , const Vecnt<3,T> & v2 );
00511
00518   template<typename T>
00519     Matnnt<3,T> & setMat( Matnnt<3,T> & m, const Quatt<T> & q );
00520
00528   template<typename T>
00529     Matnnt<3,T> & setMat( Matnnt<3,T> & m, const Vecnt<3,T> & axis, T angle );
00530
00531
00532   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00533   // non-member functions, specialized for n == 3, T == float
00534   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00535
00543   NVSG_API void decompose( const Matnnt<3,float> &m, Quatt<float> &orientation
00544                          , Vecnt<3,float> &scaling, Quatt<float> &scaleOrientation );
00545
00546
00547   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00548   // non-member functions, specialized for n == 4
00549   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00550
00570   template<typename T>
00571     Matnnt<4,T> & setMat( Matnnt<4,T> & m, T m00, T m01, T m02, T m03
00572                                          , T m10, T m11, T m12, T m13
00573                                          , T m20, T m21, T m22, T m23
00574                                          , T m30, T m31, T m32, T m33 );
00575
00583   template<typename T>
00584     Matnnt<4,T> & setMat( Matnnt<4,T> & m, const Vecnt<4,T> & v0
00585                                          , const Vecnt<4,T> & v1
00586                                          , const Vecnt<4,T> & v2
00587                                          , const Vecnt<4,T> & v3 );
00588
00597   template<typename T>
00598     Matnnt<4,T> & setMat( Matnnt<4,T> & m, const Quatt<T> & ori
00599                                          , const Vecnt<3,T> & trans = Vecnt<3,T>(0,0,0)
00600                                          , const Vecnt<3,T> & scale = Vecnt<3,T>(1,1,1) )
00601   {
00602     Matnnt<3,T>  m3( ori );
00603     m[0] = Vecnt<4,T>( scale[0] * m3[0], 0 );
00604     m[1] = Vecnt<4,T>( scale[1] * m3[1], 0 );
00605     m[2] = Vecnt<4,T>( scale[2] * m3[2], 0 );
00606     m[3] = Vecnt<4,T>( trans, 1 );
00607     return( m );
00608   }
00609
00610
00611   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00612   // non-member functions, specialized for n == 4, T == float
00613   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00614
00623   NVSG_API void decompose( const Matnnt<4,float> &m, Vecnt<3,float> &translation
00624                          , Quatt<float> &orientation, Vecnt<3,float> &scaling
00625                          , Quatt<float> &scaleOrientation );
00626
00627
00628   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00629   // Convenience type definitions
00630   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00631   typedef Matnnt<3,float>   Mat33f;
00632   typedef Matnnt<3,double>  Mat33d;
00633   typedef Matnnt<4,float>   Mat44f;
00634   typedef Matnnt<4,double>  Mat44d;
00635
00636
00637   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00638   // inlined member functions
00639   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00640
00641   template<unsigned int n, typename T>
00642   inline Matnnt<n,T>::Matnnt(bool idmat)
00643   {
00644     if(idmat)
00645     {
00646       T zero = (T)0;
00647       T one = (T)1;
00648
00649       for ( unsigned int i=0; i<n ; ++i )
00650       {
00651         for( unsigned int j=0; j<i; ++j )
00652         {
00653           m_mat[i][j] = zero;
00654         }
00655         m_mat[i][i] = one;
00656         for( unsigned int j=i+1; j<n; ++j )
00657         {
00658           m_mat[i][j] = zero;
00659         }
00660       }
00661     }
00662   }
00663
00664   template<unsigned int n, typename T>
00665   inline Matnnt<n,T>::Matnnt( T m00, T m01, T m02
00666                             , T m10, T m11, T m12
00667                             , T m20, T m21, T m22 )
00668   {
00669     setMat( *this, m00, m01, m02
00670                  , m10, m11, m12
00671                  , m20, m21, m22 );
00672   }
00673
00674   template<unsigned int n, typename T>
00675   inline Matnnt<n,T>::Matnnt( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1, const Vecnt<n,T> & v2 )
00676   {
00677     setMat( *this, v0, v1, v2 );
00678   }
00679
00680   template<unsigned int n, typename T>
00681   inline Matnnt<n,T>::Matnnt( T m00, T m01, T m02, T m03
00682                             , T m10, T m11, T m12, T m13
00683                             , T m20, T m21, T m22, T m23
00684                             , T m30, T m31, T m32, T m33 )
00685   {
00686     setMat( *this, m00, m01, m02, m03
00687                  , m10, m11, m12, m13
00688                  , m20, m21, m22, m23
00689                  , m30, m31, m32, m33 );
00690   }
00691
00692   template<unsigned int n, typename T>
00693   template<unsigned int m, typename S>
00694   inline Matnnt<n,T>::Matnnt( const Matnnt<m,S> & rhs )
00695   {
00696     T zero = (T)0;
00697     T one = (T)1;
00698     unsigned int minn = std::min( n, m );
00699
00700     for( unsigned int i=0; i<minn; i++ )
00701     {
00702       m_mat[i] = Vecnt<n,T>(rhs[i]);
00703     }
00704     for( unsigned int i=minn; i<n; i++)
00705     {
00706       for(unsigned int j=0; j<i; j++)
00707       {
00708         m_mat[i][j] = zero;
00709       }
00710       m_mat[i][i] = one;
00711       for(unsigned int j=i+1; j<n; j++)
00712       {
00713         m_mat[i][j] = zero;
00714       }
00715     }
00716   }
00717
00718   template<unsigned int n, typename T>
00719   inline Matnnt<n,T>::Matnnt( const Vecnt<n,T> & v0
00720                             , const Vecnt<n,T> & v1
00721                             , const Vecnt<n,T> & v2
00722                             , const Vecnt<n,T> & v3 )
00723   {
00724     setMat( *this, v0, v1, v2, v3 );
00725   }
00726
00727   template<unsigned int n, typename T>
00728   inline Matnnt<n,T>::Matnnt( const Vecnt<n,T> & axis, T angle )
00729   {
00730     setMat( *this, axis, angle );
00731   }
00732
00733   template<unsigned int n, typename T>
00734   inline Matnnt<n,T>::Matnnt( const Quatt<T> & ori )
00735   {
00736     setMat( *this, ori );
00737   }
00738
00739   template<unsigned int n, typename T>
00740   inline Matnnt<n,T>::Matnnt( const Quatt<T> & ori, const Vecnt<n-1,T> & trans )
00741   {
00742     setMat( *this, ori, trans );
00743   }
00744
00745   template<unsigned int n, typename T>
00746   inline Matnnt<n,T>::Matnnt( const Quatt<T> & ori, const Vecnt<n-1,T> & trans, const Vecnt<n-1,T> & scale )
00747   {
00748     setMat( *this, ori, trans, scale );
00749   }
00750
00751   template<unsigned int n, typename T>
00752   inline const T * Matnnt<n,T>::getPtr() const
00753   {
00754     return( m_mat[0].getPtr() );
00755   }
00756
00757   template<unsigned int n, typename T>
00758   bool Matnnt<n,T>::invert()
00759   {
00760     Matnnt<n,T> tmp;
00761     bool ok = nvmath::invert( *this, tmp );
00762     if ( ok )
00763     {
00764       *this = tmp;
00765     }
00766     return( ok );
00767   }
00768
00769   template<unsigned int n, typename T>
00770   template<typename S>
00771   inline Vecnt<n,T> & Matnnt<n,T>::operator[]( S i )
00772   {
00773     NVSG_CTASSERT( std::numeric_limits<S>::is_integer );
00774     NVSG_ASSERT( i < n );
00775     return( m_mat[i] );
00776   }
00777
00778   template<unsigned int n, typename T>
00779   template<typename S>
00780   inline const Vecnt<n,T> & Matnnt<n,T>::operator[]( S i ) const
00781   {
00782     NVSG_CTASSERT( std::numeric_limits<S>::is_integer );
00783     NVSG_ASSERT( i < n );
00784     return( m_mat[i] );
00785   }
00786
00787   template<unsigned int n, typename T>
00788   template<typename S>
00789   inline Matnnt<n,T> & Matnnt<n,T>::operator+=( const Matnnt<n,S> & rhs )
00790   {
00791     for ( unsigned int i=0 ; i<n ; ++i )
00792     {
00793       m_mat[i] += rhs[i];
00794     }
00795     return( *this );
00796   }
00797
00798   template<unsigned int n, typename T>
00799   template<typename S>
00800   inline Matnnt<n,T> & Matnnt<n,T>::operator-=( const Matnnt<n,S> & rhs )
00801   {
00802     for ( unsigned int i=0 ; i<n ; ++i )
00803     {
00804       m_mat[i] -= rhs[i];
00805     }
00806     return( *this );
00807   }
00808
00809   template<unsigned int n, typename T>
00810   template<typename S>
00811   inline Matnnt<n,T> & Matnnt<n,T>::operator*=( S s )
00812   {
00813     for ( unsigned int i=0 ; i<n ; ++i )
00814     {
00815       m_mat[i] *= s;
00816     }
00817     return( *this );
00818   }
00819
00820   template<unsigned int n, typename T>
00821   inline Matnnt<n,T> & Matnnt<n,T>::operator*=( const Matnnt<n,T> & rhs )
00822   {
00823     *this = *this * rhs;
00824     return( *this );
00825   }
00826
00827   template<unsigned int n, typename T>
00828   template<typename S>
00829   inline Matnnt<n,T> & Matnnt<n,T>::operator/=( S s )
00830   {
00831     for ( unsigned int i=0 ; i<n ; ++i )
00832     {
00833       m_mat[i] /= s;
00834     }
00835     return( *this );
00836   }
00837
00838
00839   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00840   // inlined non-member functions
00841   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00842   template<unsigned int n, typename T, unsigned int k>
00843   inline T calculateDeterminant( const Matnnt<n,T> & m, const Vecnt<k,unsigned int> & first, const Vecnt<k,unsigned int> & second )
00844   {
00845     Vecnt<k-1,unsigned int> subFirst, subSecond;
00846     for ( unsigned int i=1 ; i<k ; i++ )
00847     {
00848       subFirst[i-1] = first[i];
00849       subSecond[i-1] = second[i];
00850     }
00851     T sum(0);
00852     T sign(1);
00853     for ( unsigned int i=0 ; i<k ; i++ )
00854     {
00855       sum += sign * m[first[0]][second[i]] * calculateDeterminant( m, subFirst, subSecond );
00856       sign = - sign;
00857       if ( i < k-1 )
00858       {
00859         subSecond[i] = second[i];
00860       }
00861     }
00862     return( sum );
00863   }
00864
00865   template<unsigned int n, typename T>
00866   inline T calculateDeterminant( const Matnnt<n,T> & m, const Vecnt<1,unsigned int> & first, const Vecnt<1,unsigned int> & second )
00867   {
00868     return( m[first[0]][second[0]] );
00869   }
00870
00871   template<unsigned n, typename T>
00872   inline T determinant( const Matnnt<n,T> & m )
00873   {
00874     Vecnt<n,unsigned int> first, second;
00875     for ( unsigned int i=0 ; i<n ; i++)
00876     {
00877       first[i] = i;
00878       second[i] = i;
00879     }
00880     return( calculateDeterminant( m, first, second ) );
00881   }
00882
00883   template<unsigned int n, typename T>
00884   inline bool invert( const Matnnt<n,T> & mIn, Matnnt<n,T> & mOut )
00885   {
00886     mOut = mIn;
00887
00888     unsigned int p[n];
00889
00890     bool ok = true;
00891     for ( unsigned int k=0 ; ok && k<n ; ++k )
00892     {
00893       T max(0);
00894       p[k] = 0;
00895       for ( unsigned int i=k ; ok && i<n ; ++i )
00896       {
00897         T s(0);
00898         for ( unsigned int j=k ; j<n ; ++j )
00899         {
00900           s += abs( mOut[i][j] );
00901         }
00902         ok = ( std::numeric_limits<T>::epsilon() < abs(s) );
00903         if ( ok )
00904         {
00905           T q = abs( mOut[i][k] ) / s;
00906           if ( q > max )
00907           {
00908             max = q;
00909             p[k] = i;
00910           }
00911         }
00912       }
00913
00914       ok = ( std::numeric_limits<T>::epsilon() < max );
00915       if ( ok )
00916       {
00917         if ( p[k] != k )
00918         {
00919           for ( unsigned int j=0 ; j<n ; ++j )
00920           {
00921             std::swap( mOut[k][j], mOut[p[k]][j] );
00922           }
00923         }
00924
00925         T pivot = mOut[k][k];
00926         ok = ( std::numeric_limits<T>::epsilon() < abs( pivot ) );
00927         if ( ok )
00928         {
00929           for ( unsigned int j=0 ; j<n ; ++j )
00930           {
00931             if ( j != k )
00932             {
00933               mOut[k][j] /= - pivot;
00934               for ( unsigned int i=0 ; i<n ; ++i )
00935               {
00936                 if ( i != k )
00937                 {
00938                   mOut[i][j] += mOut[i][k] * mOut[k][j];
00939                 }
00940               }
00941             }
00942           }
00943
00944           for ( unsigned int i=0 ; i<n ; ++i )
00945           {
00946             mOut[i][k] /= pivot;
00947           }
00948           mOut[k][k] = 1.0f / pivot;
00949         }
00950       }
00951     }
00952
00953     if ( ok )
00954     {
00955       for ( unsigned int k=n-2 ; k<n ; --k )  //  NOTE: ( unsigned int k < n ) <=> ( int k >= 0 )
00956       {
00957         if ( p[k] != k )
00958         {
00959           for ( unsigned int i=0 ; i<n ; ++i )
00960           {
00961             std::swap( mOut[i][k], mOut[i][p[k]] );
00962           }
00963         }
00964       }
00965     }
00966
00967     return( ok );
00968   }
00969
00970   template<unsigned int n, typename T>
00971   inline T maxElement( const Matnnt<n,T> & m )
00972   {
00973     T me = maxElement( m[0] );
00974     for ( unsigned int i=1 ; i<n ; ++i )
00975     {
00976       T t = maxElement( m[i] );
00977       if ( me < t )
00978       {
00979         me = t;
00980       }
00981     }
00982     return( me );
00983   }
00984
00985   template<unsigned int n, typename T>
00986   inline T minElement( const Matnnt<n,T> & m )
00987   {
00988     T me = minElement( m[0] );
00989     for ( unsigned int i=1 ; i<n ; ++i )
00990     {
00991       T t = minElement( m[i] );
00992       if ( t < me )
00993       {
00994         me = t;
00995       }
00996     }
00997     return( me );
00998   }
00999
01000   template<unsigned int n, typename T>
01001   inline bool operator==( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 )
01002   {
01003     bool eq = true;
01004     for ( unsigned int i=0 ; i<n && eq ; ++i )
01005     {
01006       eq = ( m0[i] == m1[i] );
01007     }
01008     return( eq );
01009   }
01010
01011   template<unsigned int n, typename T>
01012   inline bool operator!=( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 )
01013   {
01014     return( ! ( m0 == m1 ) );
01015   }
01016
01017   template<unsigned int n, typename T>
01018   inline Matnnt<n,T> operator~( const Matnnt<n,T> & m )
01019   {
01020     Matnnt<n,T> ret;
01021     for ( unsigned int i=0 ; i<n ; ++i )
01022     {
01023       for ( unsigned int j=0 ; j<n ; ++j )
01024       {
01025         ret[i][j] = m[j][i];
01026       }
01027     }
01028     return( ret );
01029   }
01030
01031   template<unsigned int n, typename T>
01032   inline Matnnt<n,T> operator+( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 )
01033   {
01034     Matnnt<n,T> ret(m0);
01035     ret += m1;
01036     return( ret );
01037   }
01038
01039   template<unsigned int n, typename T>
01040   inline Matnnt<n,T> operator-( const Matnnt<n,T> & m )
01041   {
01042     Matnnt<n,T> ret;
01043     for ( unsigned int i=0 ; i<n ; ++i )
01044     {
01045       ret[i] = -m[i];
01046     }
01047     return( ret );
01048   }
01049
01050   template<unsigned int n, typename T>
01051   inline Matnnt<n,T> operator-( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 )
01052   {
01053     Matnnt<n,T> ret(m0);
01054     ret -= m1;
01055     return( ret );
01056   }
01057
01058   template<unsigned int n, typename T>
01059   inline Matnnt<n,T> operator*( const Matnnt<n,T> & m, T s )
01060   {
01061     Matnnt<n,T> ret(m);
01062     ret *= s;
01063     return( ret );
01064   }
01065
01066   template<unsigned int n, typename T>
01067   inline Matnnt<n,T> operator*( T s, const Matnnt<n,T> & m )
01068   {
01069     return( m * s );
01070   }
01071
01072   template<unsigned int n, typename T>
01073   inline Vecnt<n,T> operator*( const Matnnt<n,T> & m, const Vecnt<n,T> & v )
01074   {
01075     Vecnt<n,T> ret;
01076     for ( unsigned int i=0 ; i<n ; ++i )
01077     {
01078       ret[i] = m[i] * v;
01079     }
01080     return( ret );
01081   }
01082
01083   template<unsigned int n, typename T>
01084   inline Vecnt<n,T> operator*( const Vecnt<n,T> & v, const Matnnt<n,T> & m )
01085   {
01086     Vecnt<n,T> ret;
01087     for ( unsigned int i=0 ; i<n ; ++i )
01088     {
01089       ret[i] = 0;
01090       for ( unsigned int j=0 ; j<n ; ++j )
01091       {
01092         ret[i] += v[j] * m[j][i];
01093       }
01094     }
01095     return( ret );
01096   }
01097
01098   template<unsigned int n, typename T>
01099   inline Matnnt<n,T> operator*( const Matnnt<n,T> & m0, const Matnnt<n,T> & m1 )
01100   {
01101     Matnnt<n,T> ret;
01102     for ( unsigned int i=0 ; i<n ; ++i )
01103     {
01104       for ( unsigned int j=0 ; j<n ; ++j )
01105       {
01106         ret[i][j] = 0;
01107         for ( unsigned int k=0 ; k<n ; ++k )
01108         {
01109           ret[i][j] += m0[i][k] * m1[k][j];
01110         }
01111       }
01112     }
01113     return( ret );
01114   }
01115
01116   template<unsigned int n, typename T>
01117   inline Matnnt<n,T> operator/( const Matnnt<n,T> & m, T s )
01118   {
01119     Matnnt<n,T> ret(m);
01120     ret /= s;
01121     return( ret );
01122   }
01123
01124   template<unsigned int n, typename T>
01125   void setIdentity( Matnnt<n,T> & m )
01126   {
01127     for ( unsigned int i=0 ; i<n ; ++i )
01128     {
01129       for ( unsigned int j=0 ; j<i ; ++j )
01130       {
01131         m[i][j] = T(0);
01132       }
01133       m[i][i] = T(1);
01134       for ( unsigned int j=i+1 ; j<n ; ++j )
01135       {
01136         m[i][j] = T(0);
01137       }
01138     }
01139   }
01140
01141
01142   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01143   // inlined non-member functions, specialized for n == 3
01144   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01145   template<typename T>
01146   inline T determinant( const Matnnt<3,T> & m )
01147   {
01148     return( m[0] * ( m[1] ^ m[2] ) );
01149   }
01150
01151   template<typename T>
01152   inline bool invert( const Matnnt<3,T> & mIn, Matnnt<3,T> & mOut )
01153   {
01154     double adj00 =   ( mIn[1][1] * mIn[2][2] - mIn[1][2] * mIn[2][1] );
01155     double adj10 = - ( mIn[1][0] * mIn[2][2] - mIn[1][2] * mIn[2][0] );
01156     double adj20 =   ( mIn[1][0] * mIn[2][1] - mIn[1][1] * mIn[2][0] );
01157     double det = mIn[0][0] * adj00 + mIn[0][1] * adj10 + mIn[0][2] * adj20;
01158     bool ok = ( std::numeric_limits<double>::epsilon() < abs( det ) );
01159     if ( ok )
01160     {
01161       double invDet = 1.0 / det;
01162       mOut[0][0] = T(   adj00 * invDet );
01163       mOut[0][1] = T( - ( mIn[0][1] * mIn[2][2] - mIn[0][2] * mIn[2][1] ) * invDet );
01164       mOut[0][2] = T(   ( mIn[0][1] * mIn[1][2] - mIn[0][2] * mIn[1][1] ) * invDet );
01165       mOut[1][0] = T(   adj10 * invDet );
01166       mOut[1][1] = T(   ( mIn[0][0] * mIn[2][2] - mIn[0][2] * mIn[2][0] ) * invDet );
01167       mOut[1][2] = T( - ( mIn[0][0] * mIn[1][2] - mIn[0][2] * mIn[1][0] ) * invDet );
01168       mOut[2][0] = T(   adj20 * invDet );
01169       mOut[2][1] = T( - ( mIn[0][0] * mIn[2][1] - mIn[0][1] * mIn[2][0] ) * invDet );
01170       mOut[2][2] = T(   ( mIn[0][0] * mIn[1][1] - mIn[0][1] * mIn[1][0] ) * invDet );
01171     }
01172     return( ok );
01173   }
01174
01175   template<typename T>
01176   inline Matnnt<3,T> & setMat( Matnnt<3,T> & m, T m00, T m01, T m02
01177                                               , T m10, T m11, T m12
01178                                               , T m20, T m21, T m22 )
01179   {
01180     m[0][0] = m00;  m[0][1] = m01;  m[0][2] = m02;
01181     m[1][0] = m10;  m[1][1] = m11;  m[1][2] = m12;
01182     m[2][0] = m20;  m[2][1] = m21;  m[2][2] = m22;
01183     return( m );
01184   }
01185
01186   template<typename T>
01187   inline Matnnt<3,T> & setMat( Matnnt<3,T> & m, const Vecnt<3,T> & v0
01188                                               , const Vecnt<3,T> & v1
01189                                               , const Vecnt<3,T> & v2 )
01190   {
01191     m[0] = v0;  m[1] = v1;  m[2] = v2;
01192     return( m );
01193   }
01194
01195   template<typename T>
01196   Matnnt<3,T> & setMat( Matnnt<3,T> & m, const Vecnt<3,T> & axis, T angle )
01197   {
01198     NVSG_PRIVATE_ASSERT( isNormalized( axis ) );
01199     T c = cos( angle );
01200     T s = sin( angle );
01201     NVSG_PRIVATE_ASSERT( abs( s * s + c * c - 1 ) <= std::numeric_limits<T>::epsilon() );
01202     T t = 1 - c;
01203     T x = axis[0];
01204     T y = axis[1];
01205     T z = axis[2];
01206
01207     m[0] = Vecnt<3,T>( t * x * x + c,     t * x * y + s * z, t * x * z - s * y );
01208     m[1] = Vecnt<3,T>( t * x * y - s * z, t * y * y + c,     t * y * z + s * x );
01209     m[2] = Vecnt<3,T>( t * x * z + s * y, t * y * z - s * x, t * z * z + c     );
01210
01211     NVSG_PRIVATE_ASSERT( isRotation( m ) );
01212     return( m );
01213   }
01214
01215   template<typename T>
01216   inline Matnnt<3,T> & setMat( Matnnt<3,T> & m, const Quatt<T> & q )
01217   {
01218     NVSG_PRIVATE_ASSERT( isNormalized( q ) );
01219
01220     T x = q[0];
01221     T y = q[1];
01222     T z = q[2];
01223     T w = q[3];
01224
01225     m[0] = Vecnt<3,T>( 1 - 2 * ( y * y + z * z ), 2 * ( x * y + z * w ),     2 * ( x * z - y * w )     );
01226     m[1] = Vecnt<3,T>( 2 * ( x * y - z * w ),     1 - 2 * ( x * x + z * z ), 2 * ( y * z + x * w )     );
01227     m[2] = Vecnt<3,T>( 2 * ( x * z + y * w ),     2 * ( y * z - x * w ),     1 - 2 * ( x * x + y * y ) );
01228
01229     NVSG_PRIVATE_ASSERT( isRotation( m ) );
01230     return( m );
01231   }
01232
01233
01234   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01235   // inlined non-member functions, specialized for n == 4
01236   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01237   template<typename T>
01238   inline T determinant( const Matnnt<4,T> & m )
01239   {
01240     const T a0 = m[0][0]*m[1][1] - m[0][1]*m[1][0];
01241     const T a1 = m[0][0]*m[1][2] - m[0][2]*m[1][0];
01242     const T a2 = m[0][0]*m[1][3] - m[0][3]*m[1][0];
01243     const T a3 = m[0][1]*m[1][2] - m[0][2]*m[1][1];
01244     const T a4 = m[0][1]*m[1][3] - m[0][3]*m[1][1];
01245     const T a5 = m[0][2]*m[1][3] - m[0][3]*m[1][2];
01246     const T b0 = m[2][0]*m[3][1] - m[2][1]*m[3][0];
01247     const T b1 = m[2][0]*m[3][2] - m[2][2]*m[3][0];
01248     const T b2 = m[2][0]*m[3][3] - m[2][3]*m[3][0];
01249     const T b3 = m[2][1]*m[3][2] - m[2][2]*m[3][1];
01250     const T b4 = m[2][1]*m[3][3] - m[2][3]*m[3][1];
01251     const T b5 = m[2][2]*m[3][3] - m[2][3]*m[3][2];
01252     return( a0*b5 - a1*b4 + a2*b3 + a3*b2 - a4*b1 + a5*b0 );
01253   }
01254
01255   template<typename T>
01256   inline bool invert( const Matnnt<4,T> & mIn, Matnnt<4,T> & mOut )
01257   {
01258     double s0 = mIn[0][0] * mIn[1][1] - mIn[0][1] * mIn[1][0];   double c5 = mIn[2][2] * mIn[3][3] - mIn[2][3] * mIn[3][2];
01259     double s1 = mIn[0][0] * mIn[1][2] - mIn[0][2] * mIn[1][0];   double c4 = mIn[2][1] * mIn[3][3] - mIn[2][3] * mIn[3][1];
01260     double s2 = mIn[0][0] * mIn[1][3] - mIn[0][3] * mIn[1][0];   double c3 = mIn[2][1] * mIn[3][2] - mIn[2][2] * mIn[3][1];
01261     double s3 = mIn[0][1] * mIn[1][2] - mIn[0][2] * mIn[1][1];   double c2 = mIn[2][0] * mIn[3][3] - mIn[2][3] * mIn[3][0];
01262     double s4 = mIn[0][1] * mIn[1][3] - mIn[0][3] * mIn[1][1];   double c1 = mIn[2][0] * mIn[3][2] - mIn[2][2] * mIn[3][0];
01263     double s5 = mIn[0][2] * mIn[1][3] - mIn[0][3] * mIn[1][2];   double c0 = mIn[2][0] * mIn[3][1] - mIn[2][1] * mIn[3][0];
01264     double det = s0 * c5 - s1 * c4 + s2 * c3 + s3 * c2 - s4 * c1 + s5 * c0;
01265     bool ok = ( std::numeric_limits<double>::epsilon() < abs( det ) );
01266     if ( ok )
01267     {
01268       double invDet = 1.0 / det;
01269       mOut[0][0] = T( (   mIn[1][1] * c5 - mIn[1][2] * c4 + mIn[1][3] * c3 ) * invDet );
01270       mOut[0][1] = T( ( - mIn[0][1] * c5 + mIn[0][2] * c4 - mIn[0][3] * c3 ) * invDet );
01271       mOut[0][2] = T( (   mIn[3][1] * s5 - mIn[3][2] * s4 + mIn[3][3] * s3 ) * invDet );
01272       mOut[0][3] = T( ( - mIn[2][1] * s5 + mIn[2][2] * s4 - mIn[2][3] * s3 ) * invDet );
01273       mOut[1][0] = T( ( - mIn[1][0] * c5 + mIn[1][2] * c2 - mIn[1][3] * c1 ) * invDet );
01274       mOut[1][1] = T( (   mIn[0][0] * c5 - mIn[0][2] * c2 + mIn[0][3] * c1 ) * invDet );
01275       mOut[1][2] = T( ( - mIn[3][0] * s5 + mIn[3][2] * s2 - mIn[3][3] * s1 ) * invDet );
01276       mOut[1][3] = T( (   mIn[2][0] * s5 - mIn[2][2] * s2 + mIn[2][3] * s1 ) * invDet );
01277       mOut[2][0] = T( (   mIn[1][0] * c4 - mIn[1][1] * c2 + mIn[1][3] * c0 ) * invDet );
01278       mOut[2][1] = T( ( - mIn[0][0] * c4 + mIn[0][1] * c2 - mIn[0][3] * c0 ) * invDet );
01279       mOut[2][2] = T( (   mIn[3][0] * s4 - mIn[3][1] * s2 + mIn[3][3] * s0 ) * invDet );
01280       mOut[2][3] = T( ( - mIn[2][0] * s4 + mIn[2][1] * s2 - mIn[2][3] * s0 ) * invDet );
01281       mOut[3][0] = T( ( - mIn[1][0] * c3 + mIn[1][1] * c1 - mIn[1][2] * c0 ) * invDet );
01282       mOut[3][1] = T( (   mIn[0][0] * c3 - mIn[0][1] * c1 + mIn[0][2] * c0 ) * invDet );
01283       mOut[3][2] = T( ( - mIn[3][0] * s3 + mIn[3][1] * s1 - mIn[3][2] * s0 ) * invDet );
01284       mOut[3][3] = T( (   mIn[2][0] * s3 - mIn[2][1] * s1 + mIn[2][2] * s0 ) * invDet );
01285     }
01286     return( ok );
01287   }
01288
01300   template <typename T>
01301   inline Matnnt<4,T> makeLookAt( const Vecnt<3,T> & eye, const Vecnt<3,T> & center, const Vecnt<3,T> & up )
01302   {
01303     Vecnt<3,T> f = center - eye;
01304     normalize( f );
01305
01306 #ifndef NDEBUG
01307     // assure up is not parallel to vector from eye to center
01308     Vecnt<3,T> nup = up;
01309     normalize( nup );
01310     T dot = f * nup;
01311     NVSG_PRIVATE_ASSERT( dot != T(1) && dot != T(-1) );
01312 #endif
01313
01314     Vecnt<3,T> s = f ^ up;
01315     normalize( s );
01316     Vecnt<3,T> u = s ^ f;
01317
01318     Matnnt<4,T> transmat( T(1),      T(0),     T(0),    T(0),
01319                           T(0),      T(1),     T(0),    T(0),
01320                           T(0),      T(0),     T(1),    T(0),
01321                          -eye[0],   -eye[1],  -eye[2],  T(1) );
01322
01323     Matnnt<4,T> orimat( s[0],    u[0],  -f[0],   T(0),
01324                         s[1],    u[1],  -f[1],   T(0),
01325                         s[2],    u[2],  -f[2],   T(0),
01326                         T(0),    T(0),   T(0),   T(1) );
01327
01328     // must premultiply translation
01329     return transmat * orimat;
01330   }
01331
01346   template <typename T>
01347   inline Matnnt<4,T> makeOrtho( T left,    T right,
01348                                 T bottom,  T top,
01349                                 T znear,   T zfar )
01350   {
01351     NVSG_ASSERT( (left != right) && (bottom != top) && (znear != zfar) && (zfar > znear) );
01352
01353     return Matnnt<4,T>( T(2)/(right-left),           T(0),                            T(0),                     T(0),
01354                         T(0),                        T(2)/(top-bottom),               T(0),                     T(0),
01355                         T(0),                        T(0),                           T(-2)/(zfar-znear),        T(0),
01356                        -(right+left)/(right-left),  -(top+bottom)/(top-bottom),    -(zfar+znear)/(zfar-znear),  T(1) );
01357   }
01358
01373   template <typename T>
01374   inline Matnnt<4,T> makeFrustum( T left,    T right,
01375                                   T bottom,  T top,
01376                                   T znear,   T zfar )
01377   {
01378     // near and far must be greater than zero
01379     NVSG_ASSERT( (znear > T(0)) && (zfar > T(0)) && (zfar > znear) );
01380     NVSG_ASSERT( (left != right) && (bottom != top) && (znear != zfar) );
01381
01382     T v0 =  (right+left)/(right-left);
01383     T v1 =  (top+bottom)/(top-bottom);
01384     T v2 = -(zfar+znear)/(zfar-znear);
01385     T v3 = T(-2)*zfar*znear/(zfar-znear);
01386     T v4 =  T(2)*znear/(right-left);
01387     T v5 =  T(2)*znear/(top-bottom);
01388
01389     return Matnnt<4,T>( v4,    T(0),  T(0),  T(0),
01390                         T(0),  v5,    T(0),  T(0),
01391                         v0,    v1,    v2,    T(-1),
01392                         T(0),  T(0),  v3,    T(0)  );
01393   }
01394
01406   template <typename T>
01407   inline Matnnt<4,T> makePerspective( T fovy, T aspect, T znear, T zfar )
01408   {
01409     NVSG_ASSERT( (znear > (T)0) && (zfar > (T)0) );
01410
01411     T tanfov = tan( nvmath::degToRad( fovy ) * (T)0.5 );
01412     T r      = tanfov * aspect * znear;
01413     T l      = -r;
01414     T t      = tanfov * znear;
01415     T b      = -t;
01416
01417     return makeFrustum<T>( l, r, b, t, znear, zfar );
01418   }
01419
01420   template<typename T>
01421   inline Vecnt<4,T> operator*( const Vecnt<4,T>& v, const Matnnt<4,T>& m)
01422   {
01423     return Vecnt<4,T> (
01424       v[0] * m[0][0] + v[1]*m[1][0] + v[2]*m[2][0] + v[3]*m[3][0],
01425       v[0] * m[0][1] + v[1]*m[1][1] + v[2]*m[2][1] + v[3]*m[3][1],
01426       v[0] * m[0][2] + v[1]*m[1][2] + v[2]*m[2][2] + v[3]*m[3][2],
01427       v[0] * m[0][3] + v[1]*m[1][3] + v[2]*m[2][3] + v[3]*m[3][3] );
01428   }
01429
01430   template<typename T>
01431   inline Matnnt<4, T> operator*(const Matnnt<4,T> & m0, const Matnnt<4,T> & m1)
01432   {
01433     return Matnnt<4,T> (
01434       m0[0][0]*m1[0][0] + m0[0][1]*m1[1][0] + m0[0][2]*m1[2][0] + m0[0][3]*m1[3][0],
01435       m0[0][0]*m1[0][1] + m0[0][1]*m1[1][1] + m0[0][2]*m1[2][1] + m0[0][3]*m1[3][1],
01436       m0[0][0]*m1[0][2] + m0[0][1]*m1[1][2] + m0[0][2]*m1[2][2] + m0[0][3]*m1[3][2],
01437       m0[0][0]*m1[0][3] + m0[0][1]*m1[1][3] + m0[0][2]*m1[2][3] + m0[0][3]*m1[3][3],
01438
01439       m0[1][0]*m1[0][0] + m0[1][1]*m1[1][0] + m0[1][2]*m1[2][0] + m0[1][3]*m1[3][0],
01440       m0[1][0]*m1[0][1] + m0[1][1]*m1[1][1] + m0[1][2]*m1[2][1] + m0[1][3]*m1[3][1],
01441       m0[1][0]*m1[0][2] + m0[1][1]*m1[1][2] + m0[1][2]*m1[2][2] + m0[1][3]*m1[3][2],
01442       m0[1][0]*m1[0][3] + m0[1][1]*m1[1][3] + m0[1][2]*m1[2][3] + m0[1][3]*m1[3][3],
01443
01444       m0[2][0]*m1[0][0] + m0[2][1]*m1[1][0] + m0[2][2]*m1[2][0] + m0[2][3]*m1[3][0],
01445       m0[2][0]*m1[0][1] + m0[2][1]*m1[1][1] + m0[2][2]*m1[2][1] + m0[2][3]*m1[3][1],
01446       m0[2][0]*m1[0][2] + m0[2][1]*m1[1][2] + m0[2][2]*m1[2][2] + m0[2][3]*m1[3][2],
01447       m0[2][0]*m1[0][3] + m0[2][1]*m1[1][3] + m0[2][2]*m1[2][3] + m0[2][3]*m1[3][3],
01448
01449       m0[3][0]*m1[0][0] + m0[3][1]*m1[1][0] + m0[3][2]*m1[2][0] + m0[3][3]*m1[3][0],
01450       m0[3][0]*m1[0][1] + m0[3][1]*m1[1][1] + m0[3][2]*m1[2][1] + m0[3][3]*m1[3][1],
01451       m0[3][0]*m1[0][2] + m0[3][1]*m1[1][2] + m0[3][2]*m1[2][2] + m0[3][3]*m1[3][2],
01452       m0[3][0]*m1[0][3] + m0[3][1]*m1[1][3] + m0[3][2]*m1[2][3] + m0[3][3]*m1[3][3]
01453     );
01454   }
01455
01456   template<typename T>
01457   inline Matnnt<4,T> & setMat( Matnnt<4,T> & m, T m00, T m01, T m02, T m03
01458                                               , T m10, T m11, T m12, T m13
01459                                               , T m20, T m21, T m22, T m23
01460                                               , T m30, T m31, T m32, T m33 )
01461   {
01462     m[0][0] = m00;  m[0][1] = m01;  m[0][2] = m02;  m[0][3] = m03;
01463     m[1][0] = m10;  m[1][1] = m11;  m[1][2] = m12;  m[1][3] = m13;
01464     m[2][0] = m20;  m[2][1] = m21;  m[2][2] = m22;  m[2][3] = m23;
01465     m[3][0] = m30;  m[3][1] = m31;  m[3][2] = m32;  m[3][3] = m33;
01466     return( m );
01467   }
01468
01469   template<typename T>
01470   inline Matnnt<4,T> & setMat( Matnnt<4,T> & m, const Vecnt<4,T> & v0
01471                                               , const Vecnt<4,T> & v1
01472                                               , const Vecnt<4,T> & v2
01473                                               , const Vecnt<4,T> & v3 )
01474   {
01475     m[0] = v0;  m[1] = v1;  m[2] = v2;  m[3] = v3;
01476     return( m );
01477   }
01478
01479   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01480   // inlined non-member functions, specialized for n == 4, T == float
01481   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01482   inline void decompose( const Matnnt<4,float> &m, Vecnt<3,float> &translation
01483                        , Quatt<float> &orientation, Vecnt<3,float> &scaling
01484                        , Quatt<float> &scaleOrientation )
01485   {
01486     translation = Vecnt<3,float>( m[3] );
01487     Matnnt<3,float> m33( m );
01488     decompose( m33, orientation, scaling, scaleOrientation );
01489   }
01490
01491
01492
01494   extern NVSG_API const Mat44f  cIdentity44f;
01495
01496 } // namespace nvmath
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MatrixCamera.h File Reference

inc / nvsg / nvsg

MatrixCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Camera.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for MatrixCamera.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:48 2012 for SceniX


SceniX: MatrixCamera.h Source File

inc / nvsg / nvsg

MatrixCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Camera.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00025   class MatrixCamera : public Camera
00026   {
00027     public:
00028       NVSG_API static MatrixCameraSharedPtr create();
00029
00030     public:
00031       NVSG_API void setMatrices( const nvmath::Mat44f & projection, const nvmath::Mat44f & inverse );
00032
00036       NVSG_API virtual nvmath::Mat44f getProjection() const;
00037
00041       NVSG_API virtual nvmath::Mat44f getInverseProjection()  const;
00042
00043       NVSG_API void virtual zoom( float factor );
00044
00049       NVSG_API MatrixCamera & operator=(const MatrixCamera & rhs);
00050
00055       NVSG_API virtual CullCode determineCullCode( const nvmath::Sphere3f &sphere ) const;
00056
00057       REFLECTION_INFO_API( NVSG_API, MatrixCamera );
00058     protected:
00059       friend struct nvutil::Holder<MatrixCamera>;
00060
00064       NVSG_API MatrixCamera();
00065
00067       NVSG_API MatrixCamera( const MatrixCamera &rhs );
00068
00070       NVSG_API virtual ~MatrixCamera();
00071
00075       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00076     private:
00077       nvmath::Mat44f  m_projection;
00078       nvmath::Mat44f  m_inverse;
00079   };
00080
00081 } // namespace
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: MeshedPrimitiveSet.h File Reference

inc / nvsg / nvsg

MeshedPrimitiveSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/PrimitiveSet.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for MeshedPrimitiveSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:27:48 2012 for SceniX


SceniX: MeshedPrimitiveSet.h Source File

inc / nvsg / nvsg

MeshedPrimitiveSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/nvsg.h"
00017 #include "nvsg/PrimitiveSet.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00025   class IndexMesh : public IndexList
00026   {
00027     public:
00028       IndexMesh( void );
00029       IndexMesh( unsigned int width, unsigned int height );
00030       unsigned int getWidth( void ) const;
00031       unsigned int getHeight( void ) const;
00032       void setDimensions( unsigned int width, unsigned int height );
00033
00034     private :
00035       unsigned int  m_width;
00036       unsigned int  m_height;
00037   };
00038
00046   class MeshedPrimitiveSet : public PrimitiveSet
00047   {
00048     public:
00050       NVSG_API MeshedPrimitiveSet();
00051
00055       NVSG_API virtual ~MeshedPrimitiveSet();
00056
00066       NVSG_API virtual bool isDataShared() const;
00067
00075       NVSG_API virtual DataID getDataID() const;
00076
00080       NVSG_API bool hasMeshes()  const;
00081
00085       NVSG_API unsigned int getNumberOfMeshes() const;
00086
00090       NVSG_API const IndexMesh * getMeshes() const;
00091
00099       NVSG_API void setMeshes( const IndexMesh * meshes, unsigned int numMeshes );
00100
00117       NVSG_API void setMeshes( unsigned int pos, const IndexMesh * meshes, unsigned int numMeshes );
00118
00128       NVSG_API virtual bool isEquivalent( const Object * p
00129                                         , bool ignoreNames
00130                                         , bool deepCompare ) const;
00131
00132       REFLECTION_INFO_API( NVSG_API, MeshedPrimitiveSet );
00133     protected:
00139       NVSG_API MeshedPrimitiveSet( const MeshedPrimitiveSet& rhs );
00140
00145       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00146
00151       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00152
00158       NVSG_API MeshedPrimitiveSet & operator=(const MeshedPrimitiveSet & rhs);
00159
00163       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00164
00165     private:
00166       nvutil::SmartPtr<nvutil::RCVector<IndexMesh> > m_meshes;
00167   };
00168
00169
00170   // - - - - - - - - - - - - - - - - - - - - - - - - -
00171   // inlines
00172   // - - - - - - - - - - - - - - - - - - - - - - - - -
00173
00174   inline bool MeshedPrimitiveSet::hasMeshes()  const
00175   {
00176     NVSG_TRACE();
00177     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00178     return( !m_meshes->empty() );
00179   }
00180
00181   inline unsigned int MeshedPrimitiveSet::getNumberOfMeshes()  const
00182   {
00183     NVSG_TRACE();
00184     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00185     return( checked_cast<unsigned int>(m_meshes->size()) );
00186   }
00187
00188   inline const IndexMesh * MeshedPrimitiveSet::getMeshes() const
00189   {
00190     NVSG_TRACE();
00191     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00192     return( &(*m_meshes)[0] );
00193   }
00194   inline IndexMesh::IndexMesh( void )
00195     : m_width(0)
00196     , m_height(0)
00197   {
00198   }
00199
00200   inline IndexMesh::IndexMesh( unsigned int width, unsigned int height )
00201     : std::vector<unsigned int>(width*height)
00202     , m_width(width)
00203     , m_height(height)
00204   {
00205   }
00206
00207   inline unsigned int IndexMesh::getWidth( void ) const
00208   {
00209     return( m_width );
00210   }
00211
00212   inline void IndexMesh::setDimensions( unsigned int width, unsigned int height )
00213   {
00214     m_width = width;
00215     m_height = height;
00216     resize( m_width * m_height );
00217   }
00218
00219   inline unsigned int IndexMesh::getHeight( void ) const
00220   {
00221     return( m_height );
00222   }
00223 } // namespace nvsg
00224
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ModelViewTraverser.h File Reference

inc / nvsg / nvtraverser

ModelViewTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"
#include "nvutil/TransformStack.h"

Include dependency graph for ModelViewTraverser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:49 2012 for SceniX


SceniX: ModelViewTraverser.h Source File

inc / nvsg / nvtraverser

ModelViewTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvtraverser/Traverser.h"
00017 #include "nvutil/TransformStack.h"
00018
00019
00020 namespace nvtraverser
00021 {
00022
00024
00029   class SharedModelViewTraverser : public SharedTraverser
00030   {
00031     protected:
00033
00035       NVSG_API SharedModelViewTraverser();
00036
00038       NVSG_API virtual ~SharedModelViewTraverser();
00039
00041
00042       NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p
00043                                                   );
00044
00046
00048       NVSG_API virtual void handleBillboard( const nvsg::Billboard *p
00049                                            );
00050
00052
00054       NVSG_API virtual void handleTransform( const nvsg::Transform *p
00055                                           );
00056
00058
00059       NVSG_API virtual bool preTraverseTransform( const nvmath::Trafo *p
00060                                                 );
00061
00063
00065       NVSG_API virtual void postTraverseTransform( const nvmath::Trafo *p
00066                                                 );
00067
00075       NVSG_API virtual void traverseCamera(const nvsg::Camera * camera);
00076
00077     protected:
00078       nvutil::TransformStack    m_transformStack;
00079   };
00080
00082
00087   class ExclusiveModelViewTraverser : public ExclusiveTraverser
00088   {
00089   protected:
00091
00093     NVSG_API ExclusiveModelViewTraverser();
00094
00096     NVSG_API virtual ~ExclusiveModelViewTraverser();
00097
00099
00100     NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform *p
00101       );
00102
00104
00106     NVSG_API virtual void handleBillboard( nvsg::Billboard *p
00107       );
00108
00110
00112     NVSG_API virtual void handleTransform( nvsg::Transform *p
00113       );
00114
00116
00117     NVSG_API virtual bool preTraverseTransform( const nvmath::Trafo *p
00118       );
00119
00121
00123     NVSG_API virtual void postTraverseTransform( const nvmath::Trafo *p
00124       );
00125
00133     NVSG_API virtual void traverseCamera(nvsg::Camera * camera);
00134
00135   protected:
00136     nvutil::TransformStack    m_transformStack;
00137   };
00138 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NBF.h File Reference

inc / nvsg / nvsg

NBF.h File Reference

#include "nvsgcommon.h"
#include "nvutil/BitMask.h"

Include dependency graph for NBF.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | PADDING(n) PADDING_i(n,__LINE__)
Convenient macro to add padding bits, part one of three.
#define | PADDING_i(n, l) PADDING_ii(n,l)
Convenient macro to add padding bits, part two of three.
#define | PADDING_ii(n, l) ubyte_t padding##l[n]
Convenient macro to add padding bits, part three of three.

Typedefs

typedef char | byte_t
Specifies an 8-bit signed type.
typedef unsigned char | ubyte_t
Specifies an 8-bit unsigned type.
typedef short | short_t
Specifies a 16-bit signed integer type.
typedef unsigned short | ushort_t
Specifies a 16-bit unsigned integer type.
typedef int | int_t
Specifies a 32-bit signed integer type.
typedef unsigned int | uint_t
Specifies a 32-bit unsigned integer type.
typedef unsigned long long | uint64_t
Specifies a 64-bit unsigned integer type.
typedef float | float2_t [2]
Specifies a 2-component float vector.
typedef float | float3_t [3]
Specifies a 3-component float vector.
typedef float | float4_t [4]
Specifies a 4-component float vector.
typedef float | float44_t [4][4]
Specifies a 4x4-component float matrix.
typedef NBFRTFx | NBFRTFxSceneAttribute
The NBFRTFxSceneAttribute structure represents the effect scene attribute.

Enumerations

enum {
NBF_UNKNOWN = 0x00000000, NBF_TRAFO_ANIMATION = 0x00000100, NBF_VNVECTOR_ANIMATION, NBF_VERTEX_ATTRIBUTE_ANIMATION,
NBF_INDEX_ANIMATION, NBF_FRAMED_ANIMATION = 0x00000120, NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION, NBF_FRAMED_VNVECTOR_ANIMATION,
NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION, NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION, NBF_INTERPOLATED_ANIMATION = 0x00000140, NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION,
NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION, NBF_LINEAR_INTERPOLATED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION, NBF_CAMERA = 0x00000200, NBF_MONO_CAMERA,
NBF_JITTER_CAMERA, NBF_SIMPLE_CAMERA, NBF_PARALLEL_CAMERA, NBF_PERSPECTIVE_CAMERA,
NBF_STEREO_CAMERA, NBF_MATRIX_CAMERA, NBF_DRAWABLE = 0x00000300, NBF_VERTEX_ATTRIBUTE_SET,
NBF_TRIANGLES, NBF_ANIMATED_TRIANGLES, NBF_SKINNED_TRIANGLES, NBF_TRISTRIPS,
NBF_QUADS, NBF_ANIMATED_QUADS, NBF_QUADSTRIPS, NBF_LINES,
NBF_LINESTRIPS, NBF_TRIFANS, NBF_POINTS, NBF_QUADMESHES,
NBF_ANIMATED_VERTEX_ATTRIBUTE_SET, NBF_SKIN, NBF_PATCHES, NBF_QUAD_PATCHES,
NBF_QUAD_PATCHES_4X4, NBF_RECT_PATCHES, NBF_TRI_PATCHES, NBF_TRI_PATCHES_4,
NBF_PRIMITIVE, NBF_NODE = 0x00000400, NBF_GEO_NODE, NBF_GROUP,
NBF_LOD, NBF_SWITCH, NBF_TRANSFORM, NBF_ANIMATED_TRANSFORM,
NBF_LIGHT_SOURCE, NBF_DIRECTED_LIGHT, NBF_POINT_LIGHT, NBF_SPOT_LIGHT,
NBF_BILLBOARD, NBF_VOLUME_NODE, NBF_FLIPBOOK_ANIMATION, NBF_STATE_SET = 0x00000500,
NBF_STATE_VARIANT, NBF_STATE_PASS, NBF_STATE_ATTRIBUTE = 0x00000600, NBF_CGFX,
NBF_MATERIAL, NBF_FACE_ATTRIBUTE, NBF_TEXTURE_ATTRIBUTE, NBF_TEXTURE_ATTRIBUTE_ITEM,
NBF_LINE_ATTRIBUTE, NBF_POINT_ATTRIBUTE, NBF_BLEND_ATTRIBUTE, NBF_DEPTH_ATTRIBUTE,
NBF_ALPHA_TEST_ATTRIBUTE, NBF_LIGHTING_ATTRIBUTE, NBF_UNLIT_COLOR_ATTRIBUTE, NBF_STENCIL_ATTRIBUTE,
NBF_RTFX, NBF_RTBUFFER_ATTRIBUTE, NBF_RTFX_SCENE_ATTRIBUTE, NBF_RTFX_PROGRAM,
NBF_CUSTOM_OBJECT = 0x00000700
}
Unique NBF Object Codes. More...

Functions

NVSG_CTASSERT_MODULO_BYTESIZE (str_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (vertexAttrib_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (indexSet_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (texCoordSet_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (geometrySet_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (indexList_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (meshSet_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (texBinding_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (texImage_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (trafo_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (tweak_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (texture_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (domain_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (parameter_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (bone_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (skin_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (keyVariant_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (plane_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (switchMask_t, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFHeader, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFScene, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFViewState, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFObject, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFIndexAnimation, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFTrafoAnimation, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFVertexAttributeAnimation, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFAnimationState, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFramedAnimationDescription, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFramedIndexAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFramedTrafoAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFramedVertexAttributeAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFKeyFramedAnimationDescription, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFKeyFramedTrafoAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLinearInterpolatedTrafoAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFKeyFramedVertexAttributeAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLinearInterpolatedVertexAttributeAnimationDescription, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFCamera, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFrustumCamera, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFParallelCamera, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFPerspectiveCamera, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFMatrixCamera, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFDrawable, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFVertexAttributeSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFAnimatedVertexAttributeSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFSkin, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFPrimitiveSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFIndependentPrimitiveSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFMeshedPrimitiveSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFStrippedPrimitiveSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFNode, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFGeoNode, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFGroup, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLOD, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFSwitch, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFBillboard, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFTransform, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFlipbookAnimation, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFAnimatedTransform, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLightSource, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFDirectedLight, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFPointLight, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFSpotLight, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFStateSet, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFStateVariant, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFStatePass, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFStateAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFAlphaTestAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFBlendAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFCgFx, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFRTFxParameter, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFRTFxBase, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFRTFx, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFDepthAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFFaceAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLightingAttribute, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLineAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFMaterial, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFPointAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFRTBufferAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFTextureAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFUnlitColorAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFStencilAttribute, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFLink, 4)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFPatchesBase, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFQuadPatches, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFRectPatches, 8)
Compile-time assert on size of structure.
NVSG_CTASSERT_MODULO_BYTESIZE (NBFTriPatches, 8)
Compile-time assert on size of structure.

Variables

const ubyte_t | NBF_VER_MAJOR = 0x4D
NBF major version number.
const ubyte_t | NBF_VER_MINOR = 0x03
NBF version compatibility level.
const ubyte_t | NBF_VER_BUGFIX = 0x00
NBF version bugfix level.
const ubyte_t | NBF_LITTLE_ENDIAN = 0x00
Specifies little endian byte order.
const ubyte_t | NBF_BIG_ENDIAN = 0x01
Specifies big endian byte order.

Detailed Description

Define Documentation

#define PADDING ( n ) PADDING_i(n,__LINE__)

Convenient macro to add padding bits, part one of three.

#define PADDING_i | ( | n,
 |  | l | ) | PADDING_ii(n,l)

Convenient macro to add padding bits, part two of three.

#define PADDING_ii | ( | n,
 |  | l | ) | ubyte_t padding##l[n]

Convenient macro to add padding bits, part three of three.

Typedef Documentation

typedef char byte_t

Specifies an 8-bit signed type.

typedef unsigned char ubyte_t

Specifies an 8-bit unsigned type.

typedef short short_t

Specifies a 16-bit signed integer type.

typedef unsigned short ushort_t

Specifies a 16-bit unsigned integer type.

typedef int int_t

Specifies a 32-bit signed integer type.

typedef unsigned int uint_t

Specifies a 32-bit unsigned integer type.

typedef unsigned long long uint64_t

Specifies a 64-bit unsigned integer type.

typedef float float2_t[2]

Specifies a 2-component float vector.

typedef float float3_t[3]

Specifies a 3-component float vector.

typedef float float4_t[4]

Specifies a 4-component float vector.

typedef float float44_t[4][4]

Specifies a 4x4-component float matrix.

typedef struct NBFRTFx NBFRTFxSceneAttribute

The NBFRTFxSceneAttribute structure represents the effect scene attribute.

The object code for a NBFRTFxSceneAttribute is NBF_RTFX_SCENE_ATTRIBUTE.

Enumeration Type Documentation

anonymous enum

Unique NBF Object Codes.

Each concrete NBFObject type is assigned to a unique NBF object code. This code is a 32-bit unsigned integer value, stored at offset 0, of each concrete NBFObject. The purpose of the unique 'per-object' code is to provide a Load-Time Type Information (LTTI) to resolve concrete NBFObjects while loading NBF files.

Enumeration values:
NBF_UNKNOWN | Unknown, and hence, invalid object code.
NBF_TRAFO_ANIMATION | Identifies an NBFTrafoAnimation object.
NBF_VNVECTOR_ANIMATION | obsolete
NBF_VERTEX_ATTRIBUTE_ANIMATION | Identifies an NBFVertexAttributeAnimation object.
NBF_INDEX_ANIMATION | Identifies an NBFIndexAnimation object.
NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION | Identifies an NBFFramedTrafoAnimationDescription object.
NBF_FRAMED_VNVECTOR_ANIMATION | Obsolete.
NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION | Identifies an NBFFramedVertexAttributeAnimationDescription object.
NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION | Identifies an NBFFramedIndexAnimationDescription.
NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION | Identifies an NBFKeyFramedTrafoAnimationDescription object.
NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION | Obsolete.
NBF_PARALLEL_CAMERA | Identifies an NBFParallelCamera object.
NBF_PERSPECTIVE_CAMERA | Identifies an NBFPerspectiveCamera object.
NBF_MATRIX_CAMERA | Identifies an NBFMatrixCamera object.
NBF_VERTEX_ATTRIBUTE_SET | Identifies an NBFVertexAttributeSet object.
NBF_TRIANGLES | Identifies an NBFIndependentPrimitiveSet object.
NBF_ANIMATED_TRIANGLES | Obsolete.
NBF_SKINNED_TRIANGLES | Identifies an NBFSkinnedTriangles object.
NBF_TRISTRIPS | Identifies an NBFStrippedPrimitiveSet object.
NBF_QUADS | Identifies an NBFIndependentPrimitiveSet object (support since v0.3).
NBF_ANIMATED_QUADS | Obsolete.
NBF_QUADSTRIPS | Identifies an NBFStrippedPrimitiveSet object (support since v0.4).
NBF_LINES | Identifies an NBFIndependentPrimitiveSet object (support since v0.5).
NBF_LINESTRIPS | Identifies an NBFStrippedPrimitiveSet object (support since v0.5).
NBF_TRIFANS | Identifies an NBFTriFans object (support since v0.6).
NBF_POINTS | Identifies an NBFPoints object (support since v0.6).
NBF_QUADMESHES | Identifies an NBFQuadMeshes object.
NBF_ANIMATED_VERTEX_ATTRIBUTE_SET | Identifies an NBFAnimatedVertexAttributeSet.
NBF_SKIN | Identifies an NBFSkin.
NBF_PATCHES | Identifies an NBFPatches.
NBF_QUAD_PATCHES | Identifies an NBFQuadPatches.
NBF_QUAD_PATCHES_4X4 | Identifies an NBFQuadPatches4x4.
NBF_RECT_PATCHES | Identifies an NBFRectPatches.
NBF_TRI_PATCHES | Identifies an NBFTriPatches.
NBF_TRI_PATCHES_4 | Identifies an NBFTriPatches4.
NBF_PRIMITIVE | Identifies an NBFPrimitive.
NBF_GEO_NODE | Identifies a NBFGeoNode object.
NBF_GROUP | Identifies a NBFGroup object.
NBF_LOD | Identifies a NBFLOD object.
NBF_SWITCH | Identifies a NBFSwitch object.
NBF_TRANSFORM | Identifies a NBFTransform object.
NBF_ANIMATED_TRANSFORM | Identifies a NBFAnimatedTransform object.
NBF_DIRECTED_LIGHT | Identifies an NBFDirectedLight object.
NBF_POINT_LIGHT | Identifies an NBFPointLight object.
NBF_SPOT_LIGHT | Identifies an NBFSpotLight object.
NBF_BILLBOARD | Identifies an NBFBillboard object.
NBF_VOLUME_NODE | Identifies an NBFVolumeNode object.
NBF_FLIPBOOK_ANIMATION | Identifies an NBFFlipbookAnimation object.
NBF_STATE_SET | Identifies an NBFStateSet object.
NBF_STATE_VARIANT | Identifies an NBFStateVariant object.
NBF_STATE_PASS | Identifies an NBFStatePass object.
NBF_CGFX | Identifies an NBFCgFx object.
NBF_MATERIAL | Identifies an NBFMaterial object.
NBF_FACE_ATTRIBUTE | Identifies an NBFFaceAttribute object.
NBF_TEXTURE_ATTRIBUTE | Identifies an NBFTextureAttribute object.
NBF_TEXTURE_ATTRIBUTE_ITEM | Identifies an NBFTextureAttributeItem object.
NBF_LINE_ATTRIBUTE | Identifies an NBFLineAttribute object.
NBF_POINT_ATTRIBUTE | Identifies an NBFPointAttribute object.
NBF_BLEND_ATTRIBUTE | Identifies an NBFBlendAttribute object.
NBF_DEPTH_ATTRIBUTE | Identifies an NBFDepthAttribute object.
NBF_ALPHA_TEST_ATTRIBUTE | Identifies an NBFAlphaTestAttribute object.
NBF_LIGHTING_ATTRIBUTE | Identifies an NBFLightingAttribute object.
NBF_UNLIT_COLOR_ATTRIBUTE | Identifies an NBFUnlitColorAttribute object.
NBF_STENCIL_ATTRIBUTE | Identifies an NBFStencilAttribute.
NBF_RTFX | Identifies an NBFRTFx object.
NBF_RTBUFFER_ATTRIBUTE | Identifies an NBFRTBufferAttribute object.
NBF_RTFX_SCENE_ATTRIBUTE | Identifies an NBFRTFxSceneAttribute object.
NBF_RTFX_PROGRAM | Identifies an NBFRTFxProgram object.
NBF_CUSTOM_OBJECT | Custom objects must not have codes lower than this.

Function Documentation

NVSG_CTASSERT_MODULO_BYTESIZE | ( | str_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | vertexAttrib_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | indexSet_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | texCoordSet_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | geometrySet_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | indexList_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | meshSet_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | texBinding_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | texImage_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | trafo_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | tweak_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | texture_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | domain_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | parameter_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | bone_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | skin_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | keyVariant_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | plane_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | switchMask_t | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFHeader | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFScene | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFViewState | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFObject | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFIndexAnimation | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFTrafoAnimation | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFVertexAttributeAnimation | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFAnimationState | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFramedAnimationDescription | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFramedIndexAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFramedTrafoAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFramedVertexAttributeAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFKeyFramedAnimationDescription | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFKeyFramedTrafoAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLinearInterpolatedTrafoAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFKeyFramedVertexAttributeAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLinearInterpolatedVertexAttributeAnimationDescription | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFCamera | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFrustumCamera | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFParallelCamera | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFPerspectiveCamera | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFMatrixCamera | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFDrawable | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFVertexAttributeSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFAnimatedVertexAttributeSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFSkin | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFPrimitiveSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFIndependentPrimitiveSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFMeshedPrimitiveSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFStrippedPrimitiveSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFNode | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFGeoNode | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFGroup | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLOD | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFSwitch | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFBillboard | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFTransform | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFlipbookAnimation | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFAnimatedTransform | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLightSource | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFDirectedLight | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFPointLight | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFSpotLight | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFStateSet | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFStateVariant | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFStatePass | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFStateAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFAlphaTestAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFBlendAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFCgFx | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFRTFxParameter | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFRTFxBase | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFRTFx | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFDepthAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFFaceAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLightingAttribute | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLineAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFMaterial | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFPointAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFRTBufferAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFTextureAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFUnlitColorAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFStencilAttribute | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFLink | ,
 |  | 4 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFPatchesBase | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFQuadPatches | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFRectPatches | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

NVSG_CTASSERT_MODULO_BYTESIZE | ( | NBFTriPatches | ,
 |  | 8 |
 | ) |

Compile-time assert on size of structure.

Variable Documentation

const ubyte_t NBF_VER_MAJOR = 0x4D

NBF major version number.

const ubyte_t NBF_VER_MINOR = 0x03

NBF version compatibility level.

const ubyte_t NBF_VER_BUGFIX = 0x00

NBF version bugfix level.

const ubyte_t NBF_LITTLE_ENDIAN = 0x00

Specifies little endian byte order.

const ubyte_t NBF_BIG_ENDIAN = 0x01

Specifies big endian byte order.

Generated on Fri Jul 13 13:27:50 2012 for SceniX


SceniX: NBF.h Source File

inc / nvsg / nvsg

NBF.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvutil/BitMask.h"
00017
00018 // NBF is independent of packing. However, this forces
00019 // the compile-time asserts below to fire on inconsistencies
00020 #pragma pack(push, 1)
00021
00022 // convenient aliases for used built-in types
00023 typedef char                    byte_t;
00024 typedef unsigned char           ubyte_t;
00025 typedef short                   short_t;
00026 typedef unsigned short          ushort_t;
00027 typedef int                     int_t;
00028 typedef unsigned int            uint_t;
00029 #ifdef LINUX
00030 # if __WORDSIZE == 64           // defined indirectly through stdint.h
00031 // avoid a conflict with GNU stdint.h on Linux64
00032 // note: long is a 64-bit type on Linux64, while it is 32bit on Win64
00033 // Linux64
00034 typedef unsigned long           uint64_t;
00035 # else
00036 // Linux32
00037 typedef unsigned long long      uint64_t;
00038 # endif
00039 #else
00040 // Win32 and Win64
00041 typedef unsigned long long      uint64_t;
00042 #endif
00043 typedef float                   float2_t[2];
00044 typedef float                   float3_t[3];
00045 typedef float                   float4_t[4];
00046 typedef float                   float44_t[4][4];
00047
00048 #define PADDING(n) PADDING_i(n,__LINE__)
00049 #define PADDING_i(n,l) PADDING_ii(n,l)
00050 #define PADDING_ii(n,l) ubyte_t padding##l[n]
00051
00052 // NBF version
00053 const ubyte_t NBF_VER_MAJOR  =  0x4D;
00054 const ubyte_t NBF_VER_MINOR  =  0x03;
00055 const ubyte_t NBF_VER_BUGFIX =  0x00;
00056
00057 // constants specifying a certain byte order
00058 const ubyte_t NBF_LITTLE_ENDIAN = 0x00;
00059 const ubyte_t NBF_BIG_ENDIAN    = 0x01;
00060
00061 // convenient helper types
00062
00064 struct byteArray_t
00065 {
00066   uint_t  numBytes;
00067   uint_t  bytes;
00068 };
00069
00071 struct str_t
00072 {
00073   uint_t      numChars;
00074
00075   uint_t      chars;
00076 };
00077 NVSG_CTASSERT_MODULO_BYTESIZE(str_t,4);
00078
00080
00081 struct sstr_t
00082 {
00083   ushort_t    numChars;
00084
00085   uint_t      chars;
00086 };
00087
00089
00090 struct vertexAttrib_t
00091 {
00092   uint_t      size;
00093   uint_t      type;
00094   uint_t      numVData;
00095   uint_t      vdata;
00096 };
00097 NVSG_CTASSERT_MODULO_BYTESIZE(vertexAttrib_t,4);
00098
00100
00101 struct indexSet_t
00102 {
00103   uint_t      dataType;
00104   uint_t      primitiveRestartIndex;
00105   uint_t      numberOfIndices;
00106   uint_t      idata;
00107 };
00108 NVSG_CTASSERT_MODULO_BYTESIZE(indexSet_t,4);
00109
00110
00112
00113 struct texCoordSet_t
00114 {
00115   uint_t      numTexCoords;
00116   uint_t      coordDim;
00117
00118   uint_t      texCoords;
00119 };
00120 NVSG_CTASSERT_MODULO_BYTESIZE(texCoordSet_t,4);
00121
00123
00124 struct geometrySet_t
00125 {
00126   uint_t      stateSet;
00127   uint_t      numDrawables;
00128   uint_t      drawables;
00129 };
00130 NVSG_CTASSERT_MODULO_BYTESIZE(geometrySet_t,4);
00131
00133
00134 struct indexList_t
00135 {
00136   uint_t      numIndices;
00137   uint_t      indices;
00138
00139 };
00140 NVSG_CTASSERT_MODULO_BYTESIZE(indexList_t,4);
00141
00143
00144 struct meshSet_t
00145 {
00146   uint_t      width;
00147   uint_t      height;
00148   uint_t      indices;
00149
00150 };
00151 NVSG_CTASSERT_MODULO_BYTESIZE(meshSet_t,4);
00152
00154
00156 struct texBinding_t
00157 {
00158   uint_t      texUnit;
00159   uint_t      texAttribItem;
00160 };
00161 NVSG_CTASSERT_MODULO_BYTESIZE(texBinding_t,4);
00162
00164
00165 struct texImage_t
00166 {
00167   uint_t      flags;
00168   str_t       file;
00169   // the following are only relevant in case the image is not from a file but from a image data lump.
00170   uint_t      width;
00171   uint_t      height;
00172   uint_t      depth;
00173   uint_t      target;
00174   PADDING(8);
00175   uint_t      pixelFormat;
00176   uint_t      dataType;
00177   uint_t      pixels;
00178 };
00179 NVSG_CTASSERT_MODULO_BYTESIZE(texImage_t,4);
00180
00182 struct trafo_t
00183 {
00184   float4_t    orientation;
00185   float3_t    scaling;
00186   float3_t    translation;
00187   float3_t    center;
00188   float4_t    scaleOrientation;
00189 };
00190 NVSG_CTASSERT_MODULO_BYTESIZE(trafo_t,4);
00191
00193
00194 struct tweak_t
00195 {
00196   str_t       name;
00197
00198   // type flags
00199   enum {
00200     TYPE_STRUCT = BIT0
00201   , TYPE_ARRAY  = BIT1
00202   , TYPE_FLOAT  = BIT2
00203   , TYPE_INT    = BIT3
00204   , TYPE_BOOL   = BIT4
00205   , TYPE_STRING = BIT5
00206   };
00207   uint_t      type;
00208   uint_t      numValues;
00209   union
00210   {
00211     uint_t    floats;
00212     str_t     str;
00213   };
00214
00215   // the following is relevant only for arrays and structs (nesting tweaks)
00216   uint_t   numTweaks;
00217   uint_t   tweaks;
00218 };
00219 NVSG_CTASSERT_MODULO_BYTESIZE(tweak_t,4);
00220
00222
00223 struct sampler_t
00224 {
00225   str_t       name;
00226   uint_t      texImg;
00227 };
00228
00230
00231 struct texture_t
00232 {
00233   str_t       file;
00234   str_t       bufferName;
00235   str_t       format;
00236   // MMM - do we need creation flags here?
00237   uint_t      texImg;
00238 };
00239 NVSG_CTASSERT_MODULO_BYTESIZE(texture_t,4);
00240
00242
00243 struct domain_t
00244 {
00245   str_t       name;
00246   str_t       entryPoint;
00247   uint_t      raytype;
00248   PADDING(4);
00249 };
00250 NVSG_CTASSERT_MODULO_BYTESIZE(domain_t,4);
00251
00253
00254 struct parameter_t
00255 {
00256   str_t       name;
00257
00258   // type flags
00259   enum {
00260     PTYPE_BUFFER  = BIT0
00261   , PTYPE_TEXTURE = BIT1
00262   , PTYPE_FLOAT   = BIT2
00263   , PTYPE_INT     = BIT3
00264   , PTYPE_UINT    = BIT4
00265   };
00266   uint_t type;
00267   uint_t numComponents;
00268   uint_t param;
00269 };
00270 NVSG_CTASSERT_MODULO_BYTESIZE(parameter_t,4);
00271
00273
00274 struct bone_t
00275 {
00276   float       weight;
00277
00278   uint_t      animation;
00279
00280 };
00281 NVSG_CTASSERT_MODULO_BYTESIZE(bone_t,4);
00282
00284
00285 struct skin_t
00286 {
00287   uint_t      numBones;
00288   uint_t      bones;
00289
00290   float3_t    vertex;
00291   float3_t    normal;
00292 };
00293 NVSG_CTASSERT_MODULO_BYTESIZE(skin_t,4);
00294
00296 struct keyVariant_t
00297 {
00298   uint_t      key;
00299   uint_t      variant;
00300 };
00301 NVSG_CTASSERT_MODULO_BYTESIZE(keyVariant_t,4);
00302
00304 struct plane_t
00305 {
00306   uint_t      active;
00307   float3_t    normal;
00308   float       offset;
00309 };
00310 NVSG_CTASSERT_MODULO_BYTESIZE(plane_t,4);
00311
00313 struct switchMask_t
00314 {
00315   uint_t        maskKey;
00316   uint_t        numChildren;
00317   uint_t        children;
00318 };
00319 NVSG_CTASSERT_MODULO_BYTESIZE(switchMask_t,4);
00320
00322
00326 enum
00327 {
00328   // scene object
00329   NBF_UNKNOWN                     = 0x00000000
00330   // animation objects (0x100 - 0x1FF)
00331 , NBF_TRAFO_ANIMATION           = 0x00000100
00332 , NBF_VNVECTOR_ANIMATION
00333 , NBF_VERTEX_ATTRIBUTE_ANIMATION
00334 , NBF_INDEX_ANIMATION
00335   // framed animation descriptions
00336 , NBF_FRAMED_ANIMATION          = 0x00000120
00337 , NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION
00338 , NBF_FRAMED_VNVECTOR_ANIMATION
00339 , NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION
00340 , NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION
00341   // interpolated animation descriptions
00342 , NBF_INTERPOLATED_ANIMATION    = 0x00000140
00343 , NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION
00344 , NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION
00345 , NBF_LINEAR_INTERPOLATED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION
00346   // camera objects (0x200 - 0x2FF)
00347 , NBF_CAMERA                    = 0x00000200
00348 , NBF_MONO_CAMERA
00349 , NBF_JITTER_CAMERA
00350 , NBF_SIMPLE_CAMERA
00351 , NBF_PARALLEL_CAMERA
00352 , NBF_PERSPECTIVE_CAMERA
00353 , NBF_STEREO_CAMERA
00354 , NBF_MATRIX_CAMERA
00355   // drawable objects (0x300 - 0x3FF)
00356 , NBF_DRAWABLE                  = 0x00000300
00357 , NBF_VERTEX_ATTRIBUTE_SET
00358 , NBF_TRIANGLES
00359 , NBF_ANIMATED_TRIANGLES
00360 , NBF_SKINNED_TRIANGLES
00361 , NBF_TRISTRIPS
00362 , NBF_QUADS
00363 , NBF_ANIMATED_QUADS
00364 , NBF_QUADSTRIPS
00365 , NBF_LINES
00366 , NBF_LINESTRIPS
00367 , NBF_TRIFANS
00368 , NBF_POINTS
00369 , NBF_QUADMESHES
00370 , NBF_ANIMATED_VERTEX_ATTRIBUTE_SET
00371 , NBF_SKIN
00372 , NBF_PATCHES
00373 , NBF_QUAD_PATCHES
00374 , NBF_QUAD_PATCHES_4X4
00375 , NBF_RECT_PATCHES
00376 , NBF_TRI_PATCHES
00377 , NBF_TRI_PATCHES_4
00378 , NBF_PRIMITIVE
00379   // node objects (0x400 - 0x4FF)
00380 , NBF_NODE                      = 0x00000400
00381 , NBF_GEO_NODE
00382 , NBF_GROUP
00383 , NBF_LOD
00384 , NBF_SWITCH
00385 , NBF_TRANSFORM
00386 , NBF_ANIMATED_TRANSFORM
00387 , NBF_LIGHT_SOURCE
00388 , NBF_DIRECTED_LIGHT
00389 , NBF_POINT_LIGHT
00390 , NBF_SPOT_LIGHT
00391 , NBF_BILLBOARD
00392 , NBF_VOLUME_NODE
00393 , NBF_FLIPBOOK_ANIMATION
00394   // state set objects (0x500 - 0x5FF)
00395 , NBF_STATE_SET                 = 0x00000500
00396 , NBF_STATE_VARIANT
00397 , NBF_STATE_PASS
00398   // state attribute objects (0x600 - 0x6FF)
00399 , NBF_STATE_ATTRIBUTE           = 0x00000600
00400 , NBF_CGFX
00401 , NBF_MATERIAL
00402 , NBF_FACE_ATTRIBUTE
00403 , NBF_TEXTURE_ATTRIBUTE
00404 , NBF_TEXTURE_ATTRIBUTE_ITEM
00405 , NBF_LINE_ATTRIBUTE
00406 , NBF_POINT_ATTRIBUTE
00407 , NBF_BLEND_ATTRIBUTE
00408 , NBF_DEPTH_ATTRIBUTE
00409 , NBF_ALPHA_TEST_ATTRIBUTE
00410 , NBF_LIGHTING_ATTRIBUTE
00411 , NBF_UNLIT_COLOR_ATTRIBUTE
00412 , NBF_STENCIL_ATTRIBUTE
00413 , NBF_RTFX
00414 , NBF_RTBUFFER_ATTRIBUTE
00415 , NBF_RTFX_SCENE_ATTRIBUTE
00416 , NBF_RTFX_PROGRAM
00417   // custom objects (>=0x700)
00418 , NBF_CUSTOM_OBJECT             = 0x00000700
00419 };
00420
00422
00428 struct NBFHeader
00429 {
00430   // signature
00431   byte_t      signature[4];
00432   // NBF version
00433   ubyte_t     nbfMajorVersion;
00434   ubyte_t     nbfMinorVersion;
00435   ubyte_t     nbfBugfixLevel;
00436
00437
00438   // SceniX version
00439   ubyte_t     nvsgMajorVersion;
00440   ubyte_t     nvsgMinorVersion;
00441   ubyte_t     nvsgBugfixLevel;
00442
00443
00444   // Reserved bytes
00445   ubyte_t     reserved[16];
00446   // Date
00447   ubyte_t     dayLastModified;
00448   ubyte_t     monthLastModified;
00449   ubyte_t     yearLastModified[2];
00450   // Time stamp
00451   ubyte_t     secondLastModified;
00452   ubyte_t     minuteLastModified;
00453   ubyte_t     hourLastModified;
00454   // endianess
00455   ubyte_t     byteOrder;
00456
00457
00458   PADDING(2);
00459   // scene object
00460   uint_t      scene;
00461   // optional view state
00462   uint_t      viewState;
00463
00464 };
00465 NVSG_CTASSERT_MODULO_BYTESIZE(NBFHeader,4);
00466
00468
00470 struct NBFScene
00471 {
00472   float3_t    ambientColor;
00473   float4_t    backColor;
00474   uint_t      backImg;
00475   uint_t      numCameras;
00476   uint_t      cameras;
00477   uint_t      numCameraAnimations;
00478   uint_t      cameraAnimations;
00479   uint_t      numberOfAnimationFrames;
00480   uint_t      root;
00481   uint_t      numObjectLinks;
00482   uint_t      objectLinks;
00483   uint_t      numAttributes;
00484   uint_t      attributes;
00485 };
00486 NVSG_CTASSERT_MODULO_BYTESIZE(NBFScene,4);
00487
00489
00490 struct NBFViewState
00491 {
00492   uint_t      objectCode;
00493   uint_t      camera;
00494   ubyte_t     isStereo;
00495   ubyte_t     isStereoAutomatic;
00496   ubyte_t     isAutoClipPlanes;
00497   PADDING(1);
00498   PADDING(20);
00499   float       stereoAutomaticFactor;
00500   float       stereoEyeDistance;
00501   float       targetDistance;
00502 };
00503 NVSG_CTASSERT_MODULO_BYTESIZE(NBFViewState,4);
00504
00506 struct NBFObject
00507 {
00508   uint_t      objectCode;
00509   ubyte_t     isShared;
00510
00511
00512
00513   PADDING(3);
00514
00515   uint64_t    objectDataID;
00516   uint_t      sourceObject;
00517
00518   uint_t       objectName;
00519
00520   uint_t       objectAnno;
00521
00522   uint_t       hints;
00523 };
00524 // NOTE: Because of the uint64_t member objectDataID above, which is 8-byte aligned,
00525 // we need to ensure the size of NBFObject is fixed - that is, independent of whatever
00526 // the compilers actual packing value might be! We achieve this by making the size of
00527 // NBFObject a multiple of 8 bytes (see compile time assert below).
00528 NVSG_CTASSERT_MODULO_BYTESIZE(NBFObject,8);
00529
00531
00535 struct NBFIndexAnimation
00536 {
00537   uint_t      indices;
00538
00539
00540   PADDING(4);
00541 };
00542 NVSG_CTASSERT_MODULO_BYTESIZE(NBFIndexAnimation,8);
00543
00545
00550 struct NBFTrafoAnimation
00551 {
00552   uint_t      trafos;
00553
00554
00555   PADDING(4);
00556 };
00557 NVSG_CTASSERT_MODULO_BYTESIZE(NBFTrafoAnimation,8);
00558
00560
00565 struct NBFVertexAttributeAnimation
00566 {
00567   uint_t      attribs;
00568
00569
00570   PADDING(4);
00571 };
00572 NVSG_CTASSERT_MODULO_BYTESIZE(NBFVertexAttributeAnimation,8);
00573
00575
00577 struct NBFAnimationState : public NBFObject
00578 {
00579   uint_t  loopCount;
00580   uint_t  speed;
00581   bool    forward;
00582   bool    swinging;
00583   PADDING(6);
00584 };
00585 NVSG_CTASSERT_MODULO_BYTESIZE(NBFAnimationState,8);
00586
00588 struct NBFAnimation : public NBFAnimationState
00589 {
00590   uint_t  description;
00591   PADDING(4);
00592 };
00593 NVSG_CTASSERT_MODULO_BYTESIZE(NBFAnimation,8);   // Compile-time assert on size of structure
00594
00596 struct NBFAnimationDescription : public NBFObject
00597 {
00598 };
00599 NVSG_CTASSERT_MODULO_BYTESIZE(NBFAnimationDescription,8);
00600
00602
00607 struct NBFFramedAnimationDescription
00608 {
00609   uint_t      numSteps;
00610
00611
00612
00613
00614
00615
00616   PADDING(4);
00617 };
00618 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFramedAnimationDescription,4);
00619
00621
00623 struct NBFFramedIndexAnimationDescription : public NBFAnimationDescription
00624                                           , public NBFFramedAnimationDescription
00625                                           , public NBFIndexAnimation
00626 {
00627 };
00628 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFramedIndexAnimationDescription,8);
00629
00631
00633 struct NBFFramedTrafoAnimationDescription : public NBFAnimationDescription
00634                                           , public NBFFramedAnimationDescription
00635                                           , public NBFTrafoAnimation
00636 {
00637 };
00638 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFramedTrafoAnimationDescription,8);
00639
00641
00643 struct NBFFramedVertexAttributeAnimationDescription : public NBFAnimationDescription
00644                                                     , public NBFFramedAnimationDescription
00645                                                     , public NBFVertexAttributeAnimation
00646 {
00647 };
00648 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFramedVertexAttributeAnimationDescription,8);
00649
00651
00657 struct NBFKeyFramedAnimationDescription
00658 {
00659   uint_t      numKeys;
00660   uint_t      keys;
00661
00662 };
00663 NVSG_CTASSERT_MODULO_BYTESIZE(NBFKeyFramedAnimationDescription,4);
00664
00666
00671 struct NBFKeyFramedTrafoAnimationDescription : public NBFAnimationDescription
00672                                              , public NBFKeyFramedAnimationDescription
00673                                              , public NBFTrafoAnimation
00674 {
00675 };
00676 NVSG_CTASSERT_MODULO_BYTESIZE(NBFKeyFramedTrafoAnimationDescription,8);
00677
00680 struct NBFLinearInterpolatedTrafoAnimationDescription : public NBFKeyFramedTrafoAnimationDescription
00681 {
00682 };
00683 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLinearInterpolatedTrafoAnimationDescription,8);
00684
00686
00690 struct NBFKeyFramedVertexAttributeAnimationDescription : public NBFAnimationDescription
00691                                                        , public NBFKeyFramedAnimationDescription
00692                                                        , public NBFVertexAttributeAnimation
00693 {
00694 };
00695 NVSG_CTASSERT_MODULO_BYTESIZE(NBFKeyFramedVertexAttributeAnimationDescription,8);
00696
00699 struct NBFLinearInterpolatedVertexAttributeAnimationDescription : public NBFKeyFramedVertexAttributeAnimationDescription
00700 {
00701 };
00702 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLinearInterpolatedVertexAttributeAnimationDescription,8);
00703
00705
00709 struct NBFCamera : public NBFObject
00710 {
00711   uint_t      numHeadLights;
00712   uint_t      headLights;
00713
00714   float3_t    upVector;
00715   float3_t    position;
00716   float3_t    direction;
00717   float       focusDist;
00718 };
00719 NVSG_CTASSERT_MODULO_BYTESIZE(NBFCamera,8);
00720
00722 struct NBFFrustumCamera : public NBFCamera
00723 {
00724   float       farDist;
00725   PADDING(4);
00726   float       nearDist;
00727   float2_t    windowOffset;
00728
00729   float2_t    windowSize;
00730
00731   PADDING(4);
00732 };
00733 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFrustumCamera,8);
00734
00736
00738 struct NBFParallelCamera : public NBFFrustumCamera
00739 {
00740 };
00741 NVSG_CTASSERT_MODULO_BYTESIZE(NBFParallelCamera,8);
00742
00744
00746 struct NBFPerspectiveCamera : public NBFFrustumCamera
00747 {
00748 };
00749 NVSG_CTASSERT_MODULO_BYTESIZE(NBFPerspectiveCamera,8);
00750
00753 struct NBFMatrixCamera : public NBFCamera
00754 {
00755   float44_t   projection;
00756   float44_t   inverseProjection;
00757 };
00758 NVSG_CTASSERT_MODULO_BYTESIZE(NBFMatrixCamera,8);
00759
00761
00765 struct NBFDrawable : public NBFObject
00766 {
00767 };
00768 NVSG_CTASSERT_MODULO_BYTESIZE(NBFDrawable,8);
00769
00771
00773 struct NBFVertexAttributeSet : public NBFObject
00774 {
00775   uint_t      enableFlags;
00776   uint_t      normalizeEnableFlags;
00777   vertexAttrib_t  vattribs[16];
00778 };
00779 NVSG_CTASSERT_MODULO_BYTESIZE(NBFVertexAttributeSet,8);
00780
00786 struct NBFAnimatedVertexAttributeSet : public NBFVertexAttributeSet
00787 {
00788   uint_t      animations[16];
00789
00790   uint_t      normalizeFlags;
00791
00792   PADDING(4);
00793 };
00794 NVSG_CTASSERT_MODULO_BYTESIZE(NBFAnimatedVertexAttributeSet,8);
00795
00801 struct NBFSkin : public NBFObject
00802 {
00803   float44_t   bindShapeMatrix;
00804   uint_t      numCounts;
00805   uint_t      counts;
00806   uint_t      indices;
00807   uint_t      weights;
00808   ubyte_t     skinningType[16];
00809   uint_t      numJoints;
00810   uint_t      inverseBindMatrices;
00811   uint_t      joints;
00812   uint_t      bindPose;
00813 };
00814 NVSG_CTASSERT_MODULO_BYTESIZE(NBFSkin,8);
00815
00817
00818 struct NBFPrimitiveSet : public NBFDrawable
00819 {
00820   uint_t      vertexAttributeSet;
00821   uint_t      skin;
00822 };
00823 NVSG_CTASSERT_MODULO_BYTESIZE(NBFPrimitiveSet,8);
00824
00826
00827 struct NBFPrimitive : public NBFDrawable
00828 {
00829   uint_t      primitiveType;
00830   uint_t      elementOffset;
00831   uint_t      elementCount;
00832   uint_t      instanceCount;
00833   uint_t      verticesPerPatch;
00834   uint_t      renderFlags;
00835   uint_t      vertexAttributeSet;
00836   indexSet_t  indexSet;
00837   uint_t      skin;
00838 };
00839 NVSG_CTASSERT_MODULO_BYTESIZE(NBFPrimitive,8);   // Compile-time assert on size of structure
00840
00842
00844 struct NBFIndependentPrimitiveSet : public NBFPrimitiveSet
00845 {
00846   uint_t      numIndices;
00847   uint_t      indices;
00848 };
00849 NVSG_CTASSERT_MODULO_BYTESIZE(NBFIndependentPrimitiveSet,8);
00850
00852
00854 struct NBFMeshedPrimitiveSet : public NBFPrimitiveSet
00855 {
00856   uint_t      numMeshes;
00857   uint_t      meshes;
00858
00859 };
00860 NVSG_CTASSERT_MODULO_BYTESIZE(NBFMeshedPrimitiveSet,8);
00861
00863
00865 struct NBFStrippedPrimitiveSet : public NBFPrimitiveSet
00866 {
00867   uint_t      numStrips;
00868   uint_t      strips;
00869
00870 };
00871 NVSG_CTASSERT_MODULO_BYTESIZE(NBFStrippedPrimitiveSet,8);
00872
00874
00876 struct NBFSkinnedTriangles : public NBFIndependentPrimitiveSet
00877 {
00878   uint_t      numSkins;
00879   uint_t      skins;
00880 };
00881 NVSG_CTASSERT_MODULO_BYTESIZE(NBFSkinnedTriangles,8);
00882
00884
00888 struct NBFNode : public NBFObject
00889 {
00890   str_t       annotation;
00891   PADDING(6);
00892   PADDING(2);
00893 };
00894 NVSG_CTASSERT_MODULO_BYTESIZE(NBFNode,8);
00895
00897
00898 struct NBFGeoNode : public NBFNode
00899 {
00900   uint_t      numStateSets;
00901   uint_t      geometrySets;
00902 };
00903 NVSG_CTASSERT_MODULO_BYTESIZE(NBFGeoNode,8);
00904
00906
00909 struct NBFGroup : public NBFNode
00910 {
00911   uint_t      numChildren;
00912   uint_t      children;
00913
00914   uint_t      numClipPlanes;
00915   uint_t      clipPlanes;
00916   uint_t      numLightSource;
00917   uint_t      lightSources;
00918 };
00919 NVSG_CTASSERT_MODULO_BYTESIZE(NBFGroup,8);
00920
00922
00923 struct NBFLOD : public NBFGroup
00924 {
00925   float3_t    center;
00926   uint_t      numRanges;
00927   uint_t      ranges;
00928
00929   PADDING(4);
00930 };
00931 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLOD,8);
00932
00934
00935 struct NBFSwitch : public NBFGroup
00936 {
00937   uint_t      activeMaskKey;
00938   uint_t      numMasks;
00939   uint_t      masks;
00940   PADDING(4);
00941 };
00942 NVSG_CTASSERT_MODULO_BYTESIZE(NBFSwitch,8);
00943
00945
00946 struct NBFBillboard: public NBFGroup
00947 {
00948   float3_t  rotationAxis;
00949   ubyte_t   alignment;
00950   PADDING(3);
00951 };
00952 NVSG_CTASSERT_MODULO_BYTESIZE(NBFBillboard,8);
00953
00955
00956 struct NBFTransform : public NBFGroup
00957 {
00958   trafo_t             trafo;
00959   PADDING(4);
00960 };
00961 NVSG_CTASSERT_MODULO_BYTESIZE(NBFTransform,8);
00962
00964
00965 struct NBFFlipbookAnimation : public NBFGroup
00966 {
00967   uint_t      animation;
00968
00969   PADDING(4);
00970 };
00971 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFlipbookAnimation,8);
00972
00974
00975 struct NBFAnimatedTransform : public NBFTransform
00976 {
00977   uint_t      animation;
00978
00979   PADDING(4);
00980 };
00981 NVSG_CTASSERT_MODULO_BYTESIZE(NBFAnimatedTransform,8);
00982
00984
00986 struct NBFLightSource : public NBFObject
00987 {
00988   float       intensity;
00989   float3_t    ambientColor;
00990   float3_t    diffuseColor;
00991   float3_t    specularColor;
00992   ubyte_t     castShadow;
00993   ubyte_t     enabled;
00994   PADDING(2);
00995   uint_t      animation;
00996
00997 };
00998 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLightSource,8);
00999
01000 // The NBFDirectedLight structure represents a directed light source.
01002 struct NBFDirectedLight : public NBFLightSource
01003 {
01004   float3_t direction;
01005   PADDING(4);
01006 };
01007 NVSG_CTASSERT_MODULO_BYTESIZE(NBFDirectedLight,8);
01008
01009 // The NBFPointLight structure represents a point light source.
01011 struct NBFPointLight : public NBFLightSource
01012 {
01013   float3_t position;
01014   float3_t attenuation;
01015
01016
01017
01018 };
01019 NVSG_CTASSERT_MODULO_BYTESIZE(NBFPointLight,8);
01020
01021 // The NBFSpotLight structure represents a spot light.
01023 struct NBFSpotLight : public NBFLightSource
01024 {
01025   float3_t position;
01026   float3_t direction;
01027   float3_t attenuation;
01028
01029
01030
01031   float    cutoffAngle;
01032
01033   float    falloffExponent;
01034   PADDING(4);
01035 };
01036 NVSG_CTASSERT_MODULO_BYTESIZE(NBFSpotLight,8);
01037
01039
01040 struct NBFStateSet : public NBFObject
01041 {
01042   uint_t activeKey;
01043   uint_t numStateVariants;
01044   uint_t keyStateVariantPairs;
01045   PADDING(4);
01046 };
01047 NVSG_CTASSERT_MODULO_BYTESIZE(NBFStateSet,8);
01048
01050
01051 struct NBFStateVariant : public NBFObject
01052 {
01053   uint_t      numStatePasses;
01054   uint_t      statePasses;
01055 };
01056 NVSG_CTASSERT_MODULO_BYTESIZE(NBFStateVariant,8);
01057
01059
01060 struct NBFStatePass : public NBFObject
01061 {
01062   uint_t      numStateAttribs;
01063   uint_t      stateAttribs;
01064 };
01065 NVSG_CTASSERT_MODULO_BYTESIZE(NBFStatePass,8);
01066
01068
01070 struct NBFStateAttribute : public NBFObject
01071 {
01072 };
01073 NVSG_CTASSERT_MODULO_BYTESIZE(NBFStateAttribute,8);
01074
01076
01077 struct NBFAlphaTestAttribute : public NBFStateAttribute
01078 {
01079   ubyte_t     alphaFunction;
01080   ubyte_t     enabledMSAlpha;
01081   PADDING(2);
01082   float       threshold;
01083 };
01084 NVSG_CTASSERT_MODULO_BYTESIZE(NBFAlphaTestAttribute,8);
01085
01087
01088 struct NBFBlendAttribute : public NBFStateAttribute
01089 {
01090   ubyte_t     sourceFunction;
01091   ubyte_t     destinationFunction;
01092   PADDING(6);
01093 };
01094 NVSG_CTASSERT_MODULO_BYTESIZE(NBFBlendAttribute,8);
01095
01097
01098 struct NBFCgFx : public NBFStateAttribute
01099 {
01100   PADDING(3);
01101   ubyte_t     fromFile;
01102   str_t       source;
01103   uint_t      numTweaks;
01104   uint_t      tweaks;
01105   uint_t      numSamplers;
01106   uint_t      samplers;
01107   str_t       currTech;
01108   PADDING(4);
01109 };
01110 NVSG_CTASSERT_MODULO_BYTESIZE(NBFCgFx,8);
01111
01113 struct NBFRTFxParameter
01114 {
01115   str_t   name;
01116   PADDING(2);
01117   ubyte_t count;
01118   ubyte_t type;
01119   union
01120   {
01121     byteArray_t data;
01122     uint_t      buffer;
01123     uint_t      texture;
01124   };
01125 };
01126 NVSG_CTASSERT_MODULO_BYTESIZE(NBFRTFxParameter,4);
01127
01129 struct NBFRTFxBase
01130 {
01131   uint_t  numParameters;
01132   uint_t  parameters;
01133   //  NOTE: no need to store the textures! They're resolved by the associated RTFxProgram!
01134 };
01135 NVSG_CTASSERT_MODULO_BYTESIZE(NBFRTFxBase,4);
01136
01138
01139 struct NBFRTFx : public NBFStateAttribute, public NBFRTFxBase
01140 {
01141   uint_t  program;
01142   PADDING(4);
01143 };
01144 NVSG_CTASSERT_MODULO_BYTESIZE(NBFRTFx,8);
01145
01147
01148 typedef struct NBFRTFx NBFRTFxSceneAttribute;
01149
01151
01152 struct NBFRTFxProgram : public NBFObject
01153 {
01154   PADDING(3);
01155   ubyte_t fromFile;
01156   str_t   effect;
01157   PADDING(4);
01158 };
01159 NVSG_CTASSERT_MODULO_BYTESIZE(NBFRTFxProgram,8);   // Compile-time assert on size of structure
01160
01162
01163 struct NBFDepthAttribute : public NBFStateAttribute
01164 {
01165   ubyte_t     depthFunction;
01166   ubyte_t     depthTestingEnabled;
01167   ubyte_t     depthWritingEnabled;
01168   ubyte_t     depthClampingEnabled;
01169   PADDING(4);
01170 };
01171 NVSG_CTASSERT_MODULO_BYTESIZE(NBFDepthAttribute,8);
01172
01174
01175 struct NBFFaceAttribute : public NBFStateAttribute
01176 {
01177   ubyte_t     cullMode;
01178   ubyte_t     polygonOffsetEnabled;
01179   PADDING(2);
01180   float       polygonOffsetFactor;
01181
01182   float       polygonOffsetUnits;
01183
01184   ubyte_t     twoSidedLighting;
01185   ubyte_t     frontFaceMode;
01186   ubyte_t     backFaceMode;
01187   ubyte_t     faceWindingCCW;
01188 };
01189 NVSG_CTASSERT_MODULO_BYTESIZE(NBFFaceAttribute,8);
01190
01192
01193 struct NBFLightingAttribute : public NBFStateAttribute
01194 {
01195   ubyte_t     enabled;
01196   PADDING(3);
01197 };
01198 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLightingAttribute,4);
01199
01201
01202 struct NBFLineAttribute : public NBFStateAttribute
01203 {
01204   ubyte_t     antiAliasing;
01205   PADDING(3);
01206   uint_t      stippleFactor;
01207   uint_t      stipplePattern;
01208   float       width;
01209 };
01210 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLineAttribute,8);
01211
01213
01214 struct NBFMaterial : public NBFStateAttribute
01215 {
01216   float3_t    frontAmbientColor;
01217   float3_t    frontDiffuseColor;
01218   float3_t    frontEmissiveColor;
01219   float       frontIndexOfRefraction;
01220   float3_t    frontOpacityColor;
01221   float3_t    frontReflectivityColor;
01222   float3_t    frontSpecularColor;
01223   float       frontSpecularExponent;
01224   float3_t    backAmbientColor;
01225   float3_t    backDiffuseColor;
01226   float3_t    backEmissiveColor;
01227   float       backIndexOfRefraction;
01228   float3_t    backOpacityColor;
01229   float3_t    backReflectivityColor;
01230   float3_t    backSpecularColor;
01231   float       backSpecularExponent;
01232 };
01233 NVSG_CTASSERT_MODULO_BYTESIZE(NBFMaterial,8);
01234
01236
01237 struct NBFPointAttribute : public NBFStateAttribute
01238 {
01239   ubyte_t     antiAliasing;
01240   PADDING(3);
01241   float       size;
01242 };
01243 NVSG_CTASSERT_MODULO_BYTESIZE(NBFPointAttribute,8);
01244
01246
01247 struct NBFRTBufferAttribute : public NBFStateAttribute
01248 {
01249   str_t       variableName;
01250   uint_t      format;
01251   uint_t      width;
01252   uint_t      height;
01253   uint_t      depth;
01254   uint_t      elementSize;
01255   uint_t      buffer;
01256 };
01257 NVSG_CTASSERT_MODULO_BYTESIZE(NBFRTBufferAttribute,8);
01258
01260
01261 struct NBFTextureAttribute : public NBFStateAttribute
01262 {
01263   uint_t      numBindings;
01264   uint_t      bindings;
01265
01266 };
01267 NVSG_CTASSERT_MODULO_BYTESIZE(NBFTextureAttribute,8);
01268
01270
01273 struct NBFTextureAttributeItem : public NBFObject
01274 {
01275   uint_t        texImg;
01276   float4_t      texEnvColor;
01277   uint_t        texEnvMode;
01278
01279   uint_t        texEnvScale;
01280   uint_t        texWrapS;
01281   uint_t        texWrapT;
01282   uint_t        texWrapR;
01283   uint_t        minFilter;
01284
01285
01286   uint_t        magFilter;
01287
01288   float4_t      texBorderColor;
01289   trafo_t       trafo;
01290   uint_t        texGenMode[4];
01291   float4_t      texGenPlane[2][4];
01292   float         maxAnisotropy;
01293 };
01294 NVSG_CTASSERT_MODULO_BYTESIZE(NBFTextureAttributeItem,8);   // Compile-time assert on size of structure
01295
01298 struct NBFUnlitColorAttribute : public NBFStateAttribute
01299 {
01300   float4_t      color;
01301 };
01302 NVSG_CTASSERT_MODULO_BYTESIZE(NBFUnlitColorAttribute,8);
01303
01306 struct NBFStencilAttribute : public NBFStateAttribute
01307 {
01308   ubyte_t       testing;
01309   ubyte_t       separate;
01310   PADDING(2);
01311   uint_t        writeMaskFront;
01312   uint_t        failFront;
01313   uint_t        zfailFront;
01314   uint_t        zpassFront;
01315   uint_t        funcFront;
01316   int_t         refValueFront;
01317   uint_t        valMaskFront;
01318   uint_t        writeMaskBack;
01319   uint_t        failBack;
01320   uint_t        zfailBack;
01321   uint_t        zpassBack;
01322   uint_t        funcBack;
01323   int_t         refValueBack;
01324   uint_t        valMaskBack;
01325   PADDING(4);
01326 };
01327 NVSG_CTASSERT_MODULO_BYTESIZE(NBFStencilAttribute,8);
01328
01330 struct NBFLink
01331 {
01332   uint_t  linkID;
01333   uint_t  subject;
01334   uint_t  observer;
01335 };
01336 NVSG_CTASSERT_MODULO_BYTESIZE(NBFLink,4);
01337
01339 struct NBFPatchesBase : public NBFPrimitive
01340 {
01341   // nothing required here any more
01342 };
01343 NVSG_CTASSERT_MODULO_BYTESIZE(NBFPatchesBase,8);
01344
01347 struct NBFQuadPatches : public NBFPatchesBase
01348 {
01349   uint_t  size;
01350   PADDING(4);
01351 };
01352 NVSG_CTASSERT_MODULO_BYTESIZE(NBFQuadPatches,8);
01353
01356 struct NBFQuadPatches4x4 : public NBFPatchesBase
01357 {
01358 };
01359 NVSG_CTASSERT_MODULO_BYTESIZE(NBFQuadPatches4x4,8);     // Compile-time assert on size of structure
01360
01363 struct NBFRectPatches : public NBFPatchesBase
01364 {
01365   uint_t  width;
01366   uint_t  height;
01367 };
01368 NVSG_CTASSERT_MODULO_BYTESIZE(NBFRectPatches,8);
01369
01372 struct NBFTriPatches : public NBFPatchesBase
01373 {
01374   uint_t  size;
01375   PADDING(4);
01376 };
01377 NVSG_CTASSERT_MODULO_BYTESIZE(NBFTriPatches,8);
01378
01381 struct NBFTriPatches4 : public NBFPatchesBase
01382 {
01383 };
01384 NVSG_CTASSERT_MODULO_BYTESIZE(NBFTriPatches4,8);      // Compile-time assert on size of structure
01385
01386 #pragma pack(pop)
01387
01388 #undef __NVSG_CTASSERT_PREFIX
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Node.h File Reference

inc / nvsg / nvsg

Node.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/Drawable.h"
#include "nvsg/StateSet.h"
#include "nvmath/Boxnt.h"
#include "nvmath/Spherent.h"
#include "nvutil/BitMask.h"
#include <vector>

Include dependency graph for Node.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

bool | isValidBoundingSphere (const NodeSharedPtr &node)
Tests whether the bounding sphere of the specified Node is valid.
nvmath::Sphere3f | getBoundingSphere (const NodeSharedPtr &node)
Returns a copy of the specified Node's bounding sphere.

Detailed Description

Function Documentation

bool isValidBoundingSphere ( const NodeSharedPtr & node ) [inline]

Tests whether the bounding sphere of the specified Node is valid.

Parameters:
node The Node to check.
Returns:
true if the bounding sphere is valid, false otherwise.
Remarks:
The function temporary read-locks the passed Node to query its bounding sphere.

nvmath::Sphere3f getBoundingSphere ( const NodeSharedPtr & node ) [inline]

Returns a copy of the specified Node's bounding sphere.

Parameters:
node The Node to get the bounding sphere from.
Returns:
A copy of the node's bounding sphere.
Remarks:
The function temporary read-locks the passed Node to access its bounding sphere.

Generated on Fri Jul 13 13:27:50 2012 for SceniX


SceniX: Node.h Source File

inc / nvsg / nvsg

Node.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/Drawable.h"
00018 #include "nvsg/StateSet.h"
00019 #include "nvmath/Boxnt.h"
00020 #include "nvmath/Spherent.h"
00021 #include "nvutil/BitMask.h"
00022 #include <vector>
00023
00024 namespace nvsg
00025 {
00029 class Node : public OwnedObject<Group>
00030 {
00031   public:
00034     NVSG_API Node();
00035
00038     NVSG_API Node(const Node& rhs);
00039
00042     NVSG_API virtual ~Node();
00043
00044     using Object::getBoundingBox;
00045     using Object::getBoundingSphere;
00046
00049     NVSG_API size_t getNumberOfParents() const;
00050
00051     REFLECTION_INFO_API( NVSG_API, Node );
00052   protected:
00053     NVSG_API virtual const nvmath::Box3f & getBoundingBox( bool recalculate ) const;
00054     NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( bool recalculate ) const;
00055     NVSG_API virtual void incrementHintsIncarnation() const;
00056     NVSG_API virtual const nvutil::Incarnation & queryHintsIncarnation() const;
00057     NVSG_API virtual void incrementIndexSetIncarnation() const;
00058     NVSG_API virtual const nvutil::Incarnation & queryIndexSetIncarnation() const;
00059     NVSG_API virtual void incrementMaterialIncarnation() const;
00060     NVSG_API virtual const nvutil::Incarnation & queryMaterialIncarnation() const;
00061     NVSG_API virtual void incrementPrimitiveIncarnation() const;
00062     NVSG_API virtual const nvutil::Incarnation & queryPrimitiveIncarnation() const;
00063     NVSG_API virtual void incrementVertexAttributeSetIncarnation() const;
00064     NVSG_API virtual const nvutil::Incarnation & queryVertexAttributeSetIncarnation() const;
00065
00075     NVSG_API Node & operator=(const Node & rhs);
00076
00077   private:
00078     mutable nvmath::Box3f       m_boundingBox;
00079     mutable nvmath::Sphere3f    m_boundingSphere;
00080     mutable nvutil::Incarnation m_hintsIncarnation; // tracks unspecified hints changes
00081     mutable nvutil::Incarnation m_indexSetIncarnation; // tracks unspecified indexset changes
00082     mutable nvutil::Incarnation m_materialIncarnation; // tracks unspecified material changes
00083     mutable nvutil::Incarnation m_primitiveIncarnation; // tracks unspecified primitive changes
00084     mutable nvutil::Incarnation m_vertexAttributeSetIncarnation; // tracks unspecified vertexattributeset changes
00085 };
00086
00087 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
00088
00089 inline size_t Node::getNumberOfParents() const
00090 {
00091   NVSG_TRACE();
00092   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00093   return getNumberOfOwners();
00094 }
00095
00096 inline void Node::incrementIndexSetIncarnation() const
00097 {
00098   NVSG_TRACE();
00099   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00100   nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00101   m_indexSetIncarnation++;
00102 }
00103
00104 inline const nvutil::Incarnation & Node::queryHintsIncarnation() const
00105 {
00106   return( m_hintsIncarnation );
00107 }
00108
00109 inline void Node::incrementHintsIncarnation() const
00110 {
00111   NVSG_TRACE();
00112   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00113   nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00114   m_hintsIncarnation++;
00115 }
00116
00117 inline const nvutil::Incarnation & Node::queryIndexSetIncarnation() const
00118 {
00119   return( m_indexSetIncarnation );
00120 }
00121
00122 inline void Node::incrementMaterialIncarnation() const
00123 {
00124   NVSG_TRACE();
00125   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00126   nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00127   m_materialIncarnation++;
00128 }
00129
00130 inline const nvutil::Incarnation & Node::queryMaterialIncarnation() const
00131 {
00132   return( m_materialIncarnation );
00133 }
00134
00135 inline void Node::incrementPrimitiveIncarnation() const
00136 {
00137   NVSG_TRACE();
00138   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00139   nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00140   m_primitiveIncarnation++;
00141 }
00142
00143 inline const nvutil::Incarnation & Node::queryPrimitiveIncarnation() const
00144 {
00145   return( m_primitiveIncarnation );
00146 }
00147
00148 inline void Node::incrementVertexAttributeSetIncarnation() const
00149 {
00150   NVSG_TRACE();
00151   NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00152   nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
00153   m_vertexAttributeSetIncarnation++;
00154 }
00155
00156 inline const nvutil::Incarnation & Node::queryVertexAttributeSetIncarnation() const
00157 {
00158   return( m_vertexAttributeSetIncarnation );
00159 }
00160
00161
00162 // convenient helper
00163
00170 inline bool isValidBoundingSphere( const NodeSharedPtr & node )
00171 {
00172   NVSG_TRACE();
00173   return nvmath::isValid(NodeReadLock(node)->getBoundingSphere());
00174 }
00175
00182 inline nvmath::Sphere3f getBoundingSphere( const NodeSharedPtr & node )
00183 {
00184   NVSG_TRACE();
00185   return NodeReadLock(node)->getBoundingSphere();
00186 }
00187
00188 } // namespace
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NormalizeTraverser.h File Reference

inc / nvsg / nvtraverser

NormalizeTraverser.h File Reference

#include <set>
#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for NormalizeTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:51 2012 for SceniX


SceniX: NormalizeTraverser.h Source File

inc / nvsg / nvtraverser

NormalizeTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <set>
00016 #include "nvsgcommon.h"
00017 #include "nvtraverser/Traverser.h"
00018
00019 namespace nvtraverser
00020 {
00021
00023   class NormalizeTraverser : public ExclusiveTraverser
00024   {
00025     public:
00027       NVSG_API NormalizeTraverser(void);
00028
00030
00031       NVSG_API unsigned int getVertexAttributeIndex() const;
00032
00034
00035       NVSG_API void setVertexAttributeIndex( unsigned int attrib );
00036
00037       REFLECTION_INFO_API( NVSG_API, NormalizeTraverser );
00038       BEGIN_DECLARE_STATIC_PROPERTIES
00039           NVSG_API DECLARE_STATIC_PROPERTY( VertexAttributeIndex );
00040       END_DECLARE_STATIC_PROPERTIES
00041
00042     protected:
00044       NVSG_API virtual ~NormalizeTraverser(void);
00045
00047       NVSG_API virtual void  doApply( const nvsg::NodeSharedPtr & root );
00048
00050       NVSG_API virtual void handleVertexAttributeSet( nvsg::VertexAttributeSet * p );
00051
00053       NVSG_API virtual void handleAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * p );
00054
00056       NVSG_API virtual void handleFramedVertexAttributeAnimationDescription( nvsg::FramedAnimationDescription<nvsg::VertexAttribute> * p );
00057
00059       NVSG_API virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> * p );
00060
00061     private:
00062       template<unsigned char N, typename T>
00063         void  normalizeData( nvsg::VertexAttributeSet * p );
00064
00065     private:
00066       unsigned int                          m_attrib;
00067       std::set<nvsg::VertexAttributeSet *>  m_multiOwnedVAS;
00068   };
00069
00070   inline unsigned int NormalizeTraverser::getVertexAttributeIndex() const
00071   {
00072     return( m_attrib );
00073   }
00074
00075   inline void NormalizeTraverser::setVertexAttributeIndex( unsigned int attrib )
00076   {
00077     if ( attrib != m_attrib )
00078     {
00079       m_attrib = attrib;
00080       notify( PID_VertexAttributeIndex );
00081     }
00082   }
00083 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvmath.h File Reference

inc / nvsg / nvmath

nvmath.h File Reference

#include "nvsgcommon.h"
#include <math.h>
#include <algorithm>
#include <float.h>
#include <limits>

Include dependency graph for nvmath.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Functions

template<class T>
T | clamp (T v, T l, T u)
Template to clamp an object of type T to a lower and an upper limit.
template<typename T>
T | cube (const T &t)
Template to cube an object of Type T.
template<typename T>
T | degToRad (T angle)
Transform an angle in degrees to radians.
template<typename T>
int | highestBit (T i)
Returns the highest bit set for the specified positive input value.
template<typename T>
T | highestBitValue (T i)
Returns the highest bit value for the specified positive input value.
float | horizontalToVerticalFieldOfView (float hFoV, float aspectRatio)
Calculate the vertical field of view out of the horizontal field of view.
template<typename T>
bool | isPowerOfTwo (T n)
Determine if an integer is a power of two.
template<typename T>
T | lerp (float alpha, const T &v0, const T &v1)
Linear interpolation between two values v0 and v1.
template<typename T>
void | lerp (float alpha, const T &v0, const T &v1, T &vr)
template<typename T>
const T & | max (const T &a, const T &b, const T &c)
Determine the maximal value out of three.
template<typename T>
const T & | min (const T &a, const T &b, const T &c)
Determine the minimal value out of three.
template<typename T>
T | powerOfTwoAbove (T n)
Determine the smallest power of two equal to or larger than n.
template<typename T>
T | powerOfTwoBelow (T n)
Determine the largest power of two equal to or smaller than n.
template<typename T>
T | powerOfTwoNearest (T n)
Calculates the nearest power of two for the specified integer.
float | radToDeg (float angle)
Transform an angle in radian to degree.
template<typename T>
int | sign (const T &t)
Determine the sign of a scalar.
template<typename T>
unsigned int | solveQuadraticEquation (T a, T b, T c, T &x0, T &x1)
Solve the quadratic equation a*x^2 + b*x + c = 0.
template<typename T>
unsigned int | solveCubicEquation (T a, T b, T c, T d, T &x0, T &x1, T &x2)
Solve the cubic equation a*x^3 + b*x^2 + c*x + d = 0.
template<typename T>
T | square (const T &t)
Template to square an object of Type T.
float | verticalToHorizontalFieldOfView (float vFoV, float aspectRatio)
Calculate the horizontal field of view out of the vertical field of view.
template<typename T>
int | compare (T lhs, T rhs)
Compares two numerical values.
template<>
int | compare (float lhs, float rhs)
Compares two float values.
template<>
int | compare (double lhs, double rhs)
Compares two double values.

Variables

const float | PI = 3.14159265358979323846f
constant PI
const float | PI_HALF = 1.57079632679489661923f
constant PI half
const float | PI_QUARTER = 0.78539816339744830962f
constant PI quarter
const float | SQRT_TWO = 1.41421356237309504880f
constant square root two
const float | SQRT_TWO_HALF = 0.70710678118654752440f
constant square root two half
const float | SQRT_THREE = 1.73205080756887729353f
constant square root three
const float | SQRT_THREE_HALF = 0.86602540378443864676f
constant square root three

Detailed Description

Function Documentation

T clamp | ( | T | v,
 |  | T | l,
 |  | T | u
 | ) |

Template to clamp an object of type T to a lower and an upper limit.

Returns:
clamped value of v between l and u
Parameters:
v | value to clamp
l | lower limit
u | upper limit

T cube ( const T & t ) [inline]

Template to cube an object of Type T.

Parameters:
t value to cube
Returns:
triple product of t with itself

T degToRad ( T angle ) [inline]

Transform an angle in degrees to radians.

Returns:
angle in radians

int highestBit ( T i ) [inline]

Returns the highest bit set for the specified positive input value.

T highestBitValue ( T i ) [inline]

Returns the highest bit value for the specified positive input value.

float horizontalToVerticalFieldOfView | ( | float | hFoV,
 |  | float | aspectRatio
 | ) | [inline]

Calculate the vertical field of view out of the horizontal field of view.

bool isPowerOfTwo ( T n ) [inline]

Determine if an integer is a power of two.

Returns:
true if n is a power of two, otherwise false

T lerp | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1
 | ) | [inline]

Linear interpolation between two values v0 and v1.

v = ( 1 - alpha ) * v0 + alpha * v1

Parameters:
alpha | interpolation parameter
v0 | starting value
v1 | ending value

const T& max | ( | const T & | a,
 |  | const T & | b,
 |  | const T & | c
 | ) | [inline]

Determine the maximal value out of three.

Parameters:
a | A constant reference of the first value to consider.
b | A constant reference of the second value to consider.
c | A constant reference of the third value to consider.
Returns:
A constant reference to the maximal value out of a, b, and c.
See also:
min

const T& min | ( | const T & | a,
 |  | const T & | b,
 |  | const T & | c
 | ) | [inline]

Determine the minimal value out of three.

Parameters:
a | A constant reference of the first value to consider.
b | A constant reference of the second value to consider.
c | A constant reference of the third value to consider.
Returns:
A constant reference to the minimal value out of a, b, and c.
See also:
max

T powerOfTwoAbove ( T n ) [inline]

Determine the smallest power of two equal to or larger than n.

Parameters:
n The value to determine the nearest power of two above.
Returns:
n, if n is a power of two, otherwise the smallest power of two above n.
See also:
powerOfTowBelow

T powerOfTwoBelow ( T n ) [inline]

Determine the largest power of two equal to or smaller than n.

Parameters:
n The value to determine the nearest power of two below.
Returns:
n, if n is a power of two, otherwise the largest power of two below n.
See also:
powerOfTowAbove

T powerOfTwoNearest ( T n ) [inline]

Calculates the nearest power of two for the specified integer.

Parameters:
n Integer for which to calculate the nearest power of two.
Returns:
nearest power of two for integer n.

float radToDeg ( float angle ) [inline]

Transform an angle in radian to degree.

Parameters:
angle angle in radians
Returns:
angle in degrees

int sign ( const T & t ) [inline]

Determine the sign of a scalar.

Parameters:
t scalar value
Returns:
sign of t

unsigned int solveQuadraticEquation | ( | T | a,
 |  | T | b,
 |  | T | c,
 |  | T & | x0,
 |  | T & | x1
 | ) | [inline]

Solve the quadratic equation a*x^2 + b*x + c = 0.

Parameters:
a | Coefficient of the quadratic term.
b | Coefficient of the linear term.
c | Coefficient of the constant term.
x0 | Reference to hold the first of up to two solutions.
x1 | Reference to hold the second of up to two solutions.
Returns:
The number of real solutions (0, 1, or 2)
Remarks:
If 2 is returned, x0 and x1 hold those two solutions. If 1 is returned, it is a double solution (turning point), returned in x0. If 0 is returned, there are only two complex conjugated solution, that are not calculated here.

unsigned int solveCubicEquation | ( | T | a,
 |  | T | b,
 |  | T | c,
 |  | T | d,
 |  | T & | x0,
 |  | T & | x1,
 |  | T & | x2
 | ) | [inline]

Solve the cubic equation a*x^3 + b*x^2 + c*x + d = 0.

Parameters:
a | Coefficient of the cubic term.
b | Coefficient of the quadratic term.
c | Coefficient of the linear term.
d | Coefficient of the constant term.
x0 | Reference to hold the first of up to three solutions.
x1 | Reference to hold the second of up to three solutions.
x2 | Reference to hold the second of up to three solutions.
Returns:
The number of real solutions (0, 1, 2, or 3)
Remarks:
If the absolute value of a is less than the type specific epsilon, the cubic equation is handled as a quadratic only. If 3 is returned, x0, x1, and x2 hold those three solutions. If 2 is returned, the cubic equation in fact was a quadratic one, and x0 and x1 hold those two solutions. If 1 is returned, the cubic equation has two conjugate complex, and one real solution; as complex numbers are not treated by this function, it is just the real solution returned in x0. If 0 is returned, the cubic equationn again war in fact a quadratic one, and there are only two complex conjugated solution, that are not calculated here.

T square ( const T & t ) [inline]

Template to square an object of Type T.

Parameters:
t value to square
Returns:
product of t with itself

float verticalToHorizontalFieldOfView | ( | float | vFoV,
 |  | float | aspectRatio
 | ) | [inline]

Calculate the horizontal field of view out of the vertical field of view.

int compare | ( | T | lhs,
 |  | T | rhs
 | ) | [inline]

Compares two numerical values.

Returns:
-1 if lhs < rhs, 1 if lhs > rhs, and 0 if lhs == rhs.

int compare | ( | float | lhs,
 |  | float | rhs
 | ) | [inline]

Compares two float values.

Returns:
-1 if lhs < rhs, 1 if lhs > rhs, and 0 if lhs == rhs.

int compare | ( | double | lhs,
 |  | double | rhs
 | ) | [inline]

Compares two double values.

Returns:
-1 if lhs < rhs, 1 if lhs > rhs, and 0 if lhs == rhs.

Variable Documentation

const float PI = 3.14159265358979323846f

constant PI

const float PI_HALF = 1.57079632679489661923f

constant PI half

const float PI_QUARTER = 0.78539816339744830962f

constant PI quarter

const float SQRT_TWO = 1.41421356237309504880f

constant square root two

const float SQRT_TWO_HALF = 0.70710678118654752440f

constant square root two half

const float SQRT_THREE = 1.73205080756887729353f

constant square root three

const float SQRT_THREE_HALF = 0.86602540378443864676f

constant square root three

Generated on Fri Jul 13 13:27:52 2012 for SceniX


SceniX: nvmath.h Source File

inc / nvsg / nvmath

nvmath.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  <math.h>
00018 #include  <algorithm> // for std::max, std::min (_MAX, _MIN)
00019 #include  <float.h>
00020 #include  <limits>
00021
00023 namespace nvmath
00024 {
00025   // define the stand trig values
00026 #ifdef PI
00027 # undef PI
00028 # undef PI_HALF
00029 # undef PI_QUARTER
00030 #endif
00031
00032   const float PI            = 3.14159265358979323846f;
00034   const float PI_HALF       = 1.57079632679489661923f;
00036   const float PI_QUARTER    = 0.78539816339744830962f;
00038   const float SQRT_TWO      = 1.41421356237309504880f;
00040   const float SQRT_TWO_HALF = 0.70710678118654752440f;
00042   const float SQRT_THREE    = 1.73205080756887729353f;
00044   const float SQRT_THREE_HALF = 0.86602540378443864676f;
00045
00047
00048   template<class T> T     clamp( T v
00049                                , T l
00050                                , T u
00051                                )
00052   {
00053     return std::min(u, std::max(l,v));
00054   }
00055
00057
00059   template<typename T>
00060   inline T cube( const T& t )
00061   {
00062     return( t * t * t );
00063   }
00064
00066
00067   template<typename T>
00068   inline T degToRad( T angle )
00069   {
00070     return( angle*(PI/180) );
00071   }
00072
00074   template<typename T>
00075   inline int highestBit( T i )
00076   {
00077     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00078     NVSG_ASSERT( 0 <= i );
00079     int hb = -1;
00080     for ( T h = i ; h ; h>>=1, hb++ )
00081       ;
00082     return hb;
00083   }
00084
00086   template<typename T>
00087   inline T highestBitValue(T i)
00088   {
00089     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00090     NVSG_ASSERT( 0 <= i );
00091     T h = 0;
00092     while (i)
00093     {
00094       h = (i & (~i+1)); // grab lowest bit
00095       i &= ~h; // clear lowest bit
00096     }
00097     return h;
00098   }
00099
00101   inline float horizontalToVerticalFieldOfView( float hFoV, float aspectRatio )
00102   {
00103     return( 2.0f * atanf( tanf( 0.5f * hFoV ) / aspectRatio ) );
00104   }
00105
00107
00108   template<typename T>
00109   inline bool isPowerOfTwo( T n )
00110   {
00111     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00112     return (n && !(n & (n-1)));
00113   }
00114
00116
00117   template<typename T>
00118   inline T lerp( float alpha
00119                , const T &v0
00120                , const T &v1
00121                )
00122   {
00123     return( (T)( ( 1.0f - alpha ) * v0 + alpha * v1 ) );
00124   }
00125
00126   template<typename T>
00127   inline void lerp( float alpha, const T & v0, const T & v1, T & vr )
00128   {
00129     vr = (T)( ( 1.0f - alpha ) * v0 + alpha * v1 );
00130   }
00131
00138   template<typename T>
00139   inline const T & max( const T &a, const T &b, const T &c )
00140   {
00141     return( std::max( a, std::max( b, c ) ) );
00142   }
00143
00150   template<typename T>
00151   inline const T & min( const T &a, const T &b, const T &c )
00152   {
00153     return( std::min( a, std::min( b, c ) ) );
00154   }
00155
00160   template<typename T>
00161   inline T powerOfTwoAbove( T n )
00162   {
00163     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00164     if ( isPowerOfTwo( n ) )
00165     {
00166       return( n );
00167     }
00168     else
00169     {
00170       return highestBitValue(n) << 1;
00171     }
00172   }
00173
00178   template<typename T>
00179   inline T powerOfTwoBelow( T n )
00180   {
00181     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00182     if ( isPowerOfTwo( n ) )
00183     {
00184       return( n );
00185     }
00186     else
00187     {
00188       return highestBitValue(n);
00189     }
00190   }
00191
00195   template<typename T>
00196   inline T powerOfTwoNearest( T n)
00197   {
00198     NVSG_CTASSERT( std::numeric_limits<T>::is_integer );
00199     if ( isPowerOfTwo( n ) )
00200     {
00201       return n;
00202     }
00203
00204     T prev = highestBitValue(n); // POT below
00205     T next = prev<<1; // POT above
00206     return (next-n) < (n-prev) ? next : prev; // return nearest
00207   }
00208
00210
00212   inline float radToDeg( float angle )
00213   {
00214     return( angle*180.0f/PI );
00215   }
00216
00218
00220   template<typename T>
00221   inline int sign( const T &t )
00222   {
00223     return( ( t < 0 ) ? -1 : ( ( t > 0 ) ? 1 : 0 ) );
00224   }
00225
00227
00236   template<typename T>
00237   inline unsigned int solveQuadraticEquation( T a, T b, T c, T & x0, T & x1 )
00238   {
00239     if ( std::numeric_limits<T>::epsilon() < fabs( a ) )
00240     {
00241       T D = b * b - 4 * a * c;
00242       if ( 0 < D )
00243       {
00244         D = sqrt( D );
00245         x0 = 0.5f * ( - b + D ) / a;
00246         x1 = 0.5f * ( - b - D ) / a;
00247         return( 2 );
00248       }
00249       if ( D < 0 )
00250       {
00251         return( 0 );
00252       }
00253       x0 = - 0.5f * b / a;
00254       return( 1 );
00255     }
00256     if ( std::numeric_limits<T>::epsilon() < fabs( b ) )
00257     {
00258       x0 = - c / b;
00259       return( 1 );
00260     }
00261     return( 0 );
00262   }
00263
00265
00280   template<typename T>
00281   inline unsigned int solveCubicEquation( T a, T b, T c, T d, T & x0, T & x1, T & x2 )
00282   {
00283     if ( std::numeric_limits<T>::epsilon() < abs( a ) )
00284     {
00285       T bOverThreeA = b / ( 3 * a );
00286       T p = - square( bOverThreeA ) + c / ( 3 * a );
00287       T q = cube( bOverThreeA ) - T(0.5) * bOverThreeA * c / a + T(0.5) * d / a;
00288       T discriminant = square( q ) + cube( p );
00289       if ( discriminant < - std::numeric_limits<T>::epsilon() )    // < 0 ?
00290       {
00291         NVSG_ASSERT( p <= 0 );
00292         T f = 2 * sqrt( -p );
00293         T phi = acos( -q / sqrt( - cube( p ) ) );
00294         x0 = f * cos( phi / 3 ) - bOverThreeA;
00295         x1 = - f * cos( ( phi + PI ) / 3 ) - bOverThreeA;
00296         x2 = - f * cos( ( phi - PI ) / 3 ) - bOverThreeA;
00297         return( 3 );
00298       }
00299       else if ( std::numeric_limits<T>::epsilon() < discriminant )  // > 0 ?
00300       {
00301         T t = sqrt( discriminant );
00302         T u = sign( - q + t ) * pow( abs( - q + t ), 1 / T(3) );
00303         T v = sign( - q - t ) * pow( abs( - q - t ), 1 / T(3) );
00304         x0 = u + v - bOverThreeA;
00305         return( 1 );    // plus two complex solutions
00306       }
00307       else
00308       {
00309         T t = sign( - q ) * pow( abs( - q ), 1 / T(3) );
00310         x0 = 2 * t - bOverThreeA;
00311         x1 = -t - bOverThreeA;
00312         x2 = -t - bOverThreeA;
00313         return( 3 );
00314       }
00315     }
00316     else
00317     {
00318       return( solveQuadraticEquation( b, c, d, x0, x1 ) );
00319     }
00320   }
00321
00323
00325   template<typename T>
00326   inline T square( const T& t )
00327   {
00328     return( t * t );
00329   }
00330
00332   inline float verticalToHorizontalFieldOfView( float vFoV, float aspectRatio )
00333   {
00334     return( 2.0f * atanf( tanf( 0.5f * vFoV ) * aspectRatio ) );
00335   }
00336
00338
00339   template<typename T>
00340   inline int compare(T lhs, T rhs)
00341   {
00342     return (lhs == rhs) ? 0 : (lhs < rhs) ? -1 : 1;
00343   }
00344
00345   // specializations for float and double below
00346
00348
00349   template<>
00350   inline int compare(float lhs, float rhs)
00351   {
00352     return ((fabs(lhs-rhs) < FLT_EPSILON) ? 0 : (lhs < rhs) ? -1 : 1);
00353   }
00354
00356
00357   template<>
00358   inline int compare(double lhs, double rhs)
00359   {
00360     return ((fabs(lhs-rhs) < DBL_EPSILON) ? 0 : (lhs < rhs) ? -1 : 1);
00361   }
00362 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvsg.h File Reference

inc / nvsg / nvsg

nvsg.h File Reference

#include "nvsg/nvsgapi.h"
#include "nvutil/BitMask.h"
#include <string>
#include <cstring>
#include <vector>

Include dependency graph for nvsg.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Typedefs

typedef unsigned int | HashKey
type to use for nvsg::Object hashing

Enumerations

enum | { NVSG_DBG_ASSERT = BIT0, NVSG_DBG_LEAK_DETECTION = BIT1 }
enum | RuntimeDebugOp { NVSG_RUNTIME_DEBUG_POP_ALLOCATIONS, NVSG_RUNTIME_DEBUG_PUSH_ALLOCATIONS, NVSG_RUNTIME_DEBUG_DUMP_ALLOCATIONS, NVSG_RUNTIME_DEBUG_DUMP_ALLOCATION_DIFFERENCES }
enum | NVSGThreadingModelEnum { NVSG_SINGLETHREADED = 0, NVSG_MULTITHREADED }
enum | NVSG3DAPIEnum { NVSG_3DAPI_UNINITIALIZED = 0, NVSG_3DAPI_GL = 1 }
enum | NVSGFeatureSupportedEnum { NVSG_FAST_TEXTURE_UPLOAD = BIT0 }

Functions

void | nvsgLibInit () __attribute__((constructor))
void | nvsgLibExit () __attribute__((destructor))
void | enterCritSec ()
void | leaveCritSec ()
NVSG_API void | nvsgSetDebugFlags (unsigned int dbgFlags)
Lets the user control the debug runtime behavior.
NVSG_API unsigned int | nvsgGetDebugFlags ()
Retrieves the currently specified debug flags.
NVSG_API bool | nvsgRuntimeDebugControl (RuntimeDebugOp op)
Execute certain runtime debug operations.
NVSG_API void | nvsgInitialize (NVSGThreadingModelEnum threadingModel=NVSG_SINGLETHREADED, NVSG3DAPIEnum graphicsAPI=NVSG_3DAPI_GL, int num_gpus=1)
Per-application initialization of SceniX global data.
NVSG_API void | nvsgTerminate ()
Per-application termination of nvsg global data.
NVSG_API void | getVersionString (std::string &string)
Get the version string of the SceniX.
NVSG_API void | getSDKName (std::string &string)
Get the SceniX name string.
NVSG_API void | getCopyrightString (std::string &string)
Get the SceniX copyright string.
NVSG_API void | getVendorName (std::string &string)
Get the SceniX vendor name.
NVSG_API unsigned int | getSupportedFeatures ()
Get a bit field of the supported features.
NVSG_API int | getNumGPUs ()
Get the number of GPUs to be use for distributed rendering in a MultiGPU system.
NVSG_API NVSG3DAPIEnum | get3DAPI ()
Get the 3D API.

Detailed Description

Typedef Documentation

typedef unsigned int HashKey

type to use for nvsg::Object hashing

Function Documentation

NVSG_API void nvsgSetDebugFlags ( unsigned int dbgFlags )

Lets the user control the debug runtime behavior.

Parameters:
dbgFlags Flags to control the debug runtime behavior. Allowed flags are NVSG_DBG_ASSERT, NVSG_DBG_LEAK_DETECTION, or a bit combination of these.
Remarks:
This entry point lets the user control SceniX's runtime behavior when running in debug mode. It is only exported from the debug version of the SceniX shared library.
The dbgFlags you pass to this function control the runtime behavior. If you omit the NVSG_DBG_ASSERT flag when you call this function, assertion failure reports will be suppressed. In general it is not recommended to suppress assertion failure reports, since these are valuable means to detect possible errors as you develop your SceniX-based application. By default, assertion failure reports are enabled.
Specify NVSG_DBG_LEAK_DETECTION to enable SceniX's memory leak tracking. This debug feature is off by default, since memory leak detection has a huge impact on debug runtime performance. Dependent on the data set you process with SceniX, enabled leak detection can degrade the debug runtime performance by an order of magnitude. If leak detection is enabled, object allocation and deallocation is tracked, and detected memory leaks will be reported to an attached debugger when the application shuts down.
The nvsgSetDebugFlags can be used optionally to modify the default debug runtime behavior. If you omit to call this function, assertion failure reports are enabled, and leak detection is disabled. If you decide to call this function, it is recommended to do this immediately prior to the call to nvsgInitialize, which is required to call prior to any other SceniX entry point. Though, this is not mandatory.
When you call this function, previously specified debug flags will be overridden by the new flags specified. If you intend to keep previously specified debug flags, you should use the return value of nvsgGetDebugFlags, bitwise OR it with the flags you want additionally, and pass the result to nvsgSetDebugFlags.
See also:
nvsgGetDebugFlags

NVSG_API unsigned int nvsgGetDebugFlags ( )

Retrieves the currently specified debug flags.

Returns:
The function returns the currently specified debug flags that are used to control the debug runtime behavior.
Remarks:
When you call nvsgSetDebugFlags to modify the debug runtime behavior, previously specified debug flags will be overridden by the new flags you specify. If you intend to keep previously specified debug flags, you should use the return value of nvsgGetDebugFlags, bitwise OR it with the flags you want additionally, and pass the result to nvsgSetDebugFlags as shown in this example:
   // additionally enable leak detection, and leave current control flags unchanged
   unsigned int newDbgFlags = nvsgGetDebugFlags() | NVSG_DBG_LEAK_DETECTION;
   nvsgSetDebugFlags(newDbgFlags);
See also:
nvsgSetDebugFlags

NVSG_API bool nvsgRuntimeDebugControl ( RuntimeDebugOp op )

Execute certain runtime debug operations.

Remarks:
add docs here when approved
See also:
nvsgGetDebugFlags, nvsgSetDebugFlags

NVSG_API void nvsgInitialize | ( | NVSGThreadingModelEnum | threadingModel = NVSG_SINGLETHREADED,
 |  | NVSG3DAPIEnum | graphicsAPI = NVSG_3DAPI_GL,
 |  | int | num_gpus = 1
 | ) |

Per-application initialization of SceniX global data.

Parameters:
threadingModel Specifies whether to run in a multithreaded environment, or not.
Specify NVSG_SINGLETHREADED to configure SceniX to run in a single-threaded environment.
Specify NVSG_MULTITHREADED to configure SceniX to run in a multi-threaded environment.
The default for this parameter is NVSG_SINGLETHREADED.
graphicsAPI Specifies the 3D graphics API to use for rendering.
Specifying NVSG_3DAPI_GL to use OpenGL as 3D API currently is the only choice. This is subject to change with future releases.
num_gpus Specifies the number of GPUs to use for distributed rendering. Distributed rendering is a feature that is available in 64 bit versions of SceniX. The default value in 64 bit versions is 1 and this parameter is ignored on 32 bit versions.
Remarks:
An application must call this routine once before any other SceniX API call. This routine properly initializes all global data required by the SceniX API.

In addition, this routine optionally configures the SceniX library to run safe in a multithreaded environment. This will be achieved by specifying NVSG_MULTITHREADED for the optional threadingModel parameter.

Making the SceniX library multi-threaded safe requires some overhead, which might affect the runtime behavior in a single-threaded environment. That is, it is not recommended to configure SceniX to run in a multi-threaded environment, if your application's threading model really is single-threaded only.

The nvsgInitialize entry point in addition lets you specify which 3D graphics API is used for rendering. Note that using another 3D API for rendering than specified here will result in undefined run-time behaviour.

It is recommended to call this routine inside the application's initial entry point.
Note:
The nvsg runtime behaviour is undefined if an application issues nvsg API calls without a prior call to this routine.

NVSG_API void nvsgTerminate ( )

Per-application termination of nvsg global data.

It is strongly recommended to call this routine when the application terminates. This routine properly frees all global data required by the nvsg API.

Note:
The nvsg runtime behaviour is undefined if an application issues nvsg API calls after having called this routine.

NVSG_API void getVersionString ( std::string & string )

Get the version string of the SceniX.

Parameters:
string string to hold the SceniX version string

NVSG_API void getSDKName ( std::string & string )

Get the SceniX name string.

Parameters:
string string to hold the SceniX name string

NVSG_API void getCopyrightString ( std::string & string )

Get the SceniX copyright string.

Parameters:
string string to hold the SceniX coppyright string

NVSG_API void getVendorName ( std::string & string )

Get the SceniX vendor name.

Parameters:
string string to hold the SceniX vendor name string

NVSG_API unsigned int getSupportedFeatures ( )

Get a bit field of the supported features.

Returns:
An unsigned int encoding the supported features.
Remarks:
Currently, there is one feature supported on Quadro boards only: fast texture upload (NVSG_FAST_TEXTURE_UPLOAD).

NVSG_API int getNumGPUs ( )

Get the number of GPUs to be use for distributed rendering in a MultiGPU system.

Returns:
The number of GPUs that was specified while calling nvsgInitialize

NVSG_API NVSG3DAPIEnum get3DAPI ( )

Get the 3D API.

Returns:
The API that was used to initialize SceniX.

Generated on Fri Jul 13 13:27:53 2012 for SceniX


SceniX: nvsg.h Source File

inc / nvsg / nvsg

nvsg.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"
00016 #include "nvutil/BitMask.h"
00017
00018 #include <string>
00019 #include <cstring>
00020 #include <vector>
00021
00022 #if defined(_WIN32) && _MSC_VER >= 1500
00023 #  if _BIND_TO_CURRENT_CRT_VERSION >= 1 || _BIND_TO_CURRENT_MFC_VERSION >= 1 || _BIND_TO_CURRENT_VCLIBS_VERSION >= 1
00024 #    pragma message ("WARNING: At least one of the macros  _BIND_TO_CURRENT_CRT_VERSION, _BIND_TO_CURRENT_VCLIBS_VERSION or BIND_TO_CURRENT_MFC_VERSION is defined. This can lead to runtime issues.")
00025 #  endif
00026 #endif
00027
00028 #if defined(LINUX)
00029 // Linux specific library entry points
00030 void nvsgLibInit() __attribute__((constructor));
00031 void nvsgLibExit() __attribute__((destructor));
00032 #endif
00033
00034 extern void enterCritSec();
00035 extern void leaveCritSec();
00036
00038
00040 namespace nvsg
00041 {
00042 #if !defined(NDEBUG)
00043   enum
00044   {
00045     NVSG_DBG_ASSERT = BIT0,
00046     NVSG_DBG_LEAK_DETECTION = BIT1
00047   };
00048
00049   enum RuntimeDebugOp
00050   {
00051     NVSG_RUNTIME_DEBUG_POP_ALLOCATIONS,
00052     NVSG_RUNTIME_DEBUG_PUSH_ALLOCATIONS,
00053     NVSG_RUNTIME_DEBUG_DUMP_ALLOCATIONS,
00054     NVSG_RUNTIME_DEBUG_DUMP_ALLOCATION_DIFFERENCES
00055   };
00056
00085   NVSG_API void nvsgSetDebugFlags(unsigned int dbgFlags);
00086
00103   NVSG_API unsigned int nvsgGetDebugFlags();
00104
00108   NVSG_API bool nvsgRuntimeDebugControl( RuntimeDebugOp op );
00109
00110 #else
00111 # define nvsgRuntimeDebugControl(op )
00112 # define nvsgSetDebugFlags(dbgFlags)
00113 # define nvsgGetDebugFlags() 0
00114 #endif
00115
00116   enum NVSGThreadingModelEnum
00117   {
00118     NVSG_SINGLETHREADED = 0
00119   , NVSG_MULTITHREADED
00120   };
00121
00122   enum NVSG3DAPIEnum
00123   {
00124     NVSG_3DAPI_UNINITIALIZED = 0,
00125     NVSG_3DAPI_GL = 1
00126   };
00127
00128   enum NVSGFeatureSupportedEnum
00129   {
00130     NVSG_FAST_TEXTURE_UPLOAD  = BIT0
00131   };
00132
00134
00168   NVSG_API void nvsgInitialize( NVSGThreadingModelEnum threadingModel = NVSG_SINGLETHREADED
00169                               , NVSG3DAPIEnum graphicsAPI = NVSG_3DAPI_GL
00170                               , int num_gpus = 1 );
00171
00173
00177   NVSG_API void nvsgTerminate();
00178
00180   NVSG_API void getVersionString(
00181     std::string & string
00182   );
00183
00185   NVSG_API void getSDKName(
00186     std::string & string
00187   );
00188
00190   NVSG_API void getCopyrightString(
00191     std::string & string
00192   );
00193
00195   NVSG_API void getVendorName(
00196     std::string & string
00197   );
00198
00203   NVSG_API unsigned int getSupportedFeatures();
00204
00209   NVSG_API int getNumGPUs();
00210
00214   NVSG_API NVSG3DAPIEnum get3DAPI();
00215
00217   typedef unsigned int HashKey;
00218 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NVSGLight.cg File Reference

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages
media / effects / include

NVSGLight.cg File Reference

Detailed Description

Generated on Fri Jul 13 13:27:53 2012 for SceniX


SceniX: NVSGLoader.h File Reference

src / Loader / NVSGLoader / inc

NVSGLoader.h File Reference

#include <fstream>
#include "nvsg/nvsgapi.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/PlugInterface.h"
#include "nvsg/Skin.h"
#include "nvutil/Tools.h"
#include "nvtraverser/AppTraverserCallbacks.h"

Include dependency graph for NVSGLoader.h:

Go to the source code of this file.

Typedefs

typedef unsigned int | DWORD

Functions

void | lib_init () __attribute__((constructor))
NVSGLOADER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.
NVSGLOADER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

NVSGLOADER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a NVSGLoader. If the PlugIn ID piid equals PIID_NVSG_SCENE_LOADER, a NVSGLoader is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

NVSGLOADER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_LOADER, the vector piids is filled with one element PIID_NVSG_SCENE_LOADER.

Returns:
true, if a PITID_SCENE_LOADER is requested, otherwise false

Generated on Fri Jul 13 13:27:54 2012 for SceniX


SceniX: NVSGLoader.h Source File

src / Loader / NVSGLoader / inc

NVSGLoader.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  <fstream>
00016 #include  "nvsg/nvsgapi.h"
00017 #include  "nvsg/CoreTypes.h"
00018 #include  "nvsg/PlugInterface.h"
00019 #include  "nvsg/Skin.h"
00020 #include  "nvutil/Tools.h"
00021 #include  "nvtraverser/AppTraverserCallbacks.h"
00022
00023 // storage-class defines
00024 #if ! defined( DOXYGEN_IGNORE )
00025 # if defined(_WIN32)
00026 #  ifdef NVSGLOADER_EXPORTS
00027 #   define NVSGLOADER_API __declspec(dllexport)
00028 #  else
00029 #   define NVSGLOADER_API __declspec(dllimport)
00030 #  endif
00031 # else
00032 #   define NVSGLOADER_API
00033 # endif
00034 #endif
00035
00036 #if defined(LINUX)
00037 typedef unsigned int DWORD;
00038 void lib_init() __attribute__ ((constructor));   // will be called before dlopen() returns
00039 #endif
00040
00041 // exports required for a scene loader plug-in
00042 #if defined(LINUX)
00043 extern "C"
00044 {
00045 #endif
00046
00048
00052 NVSGLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00053
00055
00060 NVSGLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00061
00062 #if defined(LINUX)
00063 }
00064 #endif
00065
00067
00069 class NVSGLoader : public nvsg::SceneLoader
00070 {
00071   public :
00072     //  Default constructor.
00073     NVSGLoader();
00074     ~NVSGLoader();
00075
00076   public :
00078
00079     void  deleteThis( void );
00080
00082
00087     nvsg::SceneSharedPtr load( const std::string& filename
00088                                , const std::vector<std::string> &searchPaths
00089                                , nvsg::ViewStateSharedPtr & viewState
00091                                );
00092
00093   private :
00094     void                                                cleanup( void );
00095     bool                                                getNextLine( void );
00096     const std::string                                 & getNextToken( void );
00097     nvsg::SceneSharedPtr                              import( const std::string &filename, nvsg::ViewStateSharedPtr & viewState );
00098     bool                                                onIncompatibleValues( int value0, int value1, const std::string &node, const std::string &field0, const std::string &field1 ) const;
00099     template<typename T> bool                           onInvalidValue( T value, const std::string &node, const std::string &field ) const;
00100     bool                                                onEmptyToken( const std::string &tokenType, const std::string &token ) const;
00101     bool                                                onFileNotFound( const std::string &file ) const;
00102     bool                                                onFilesNotFound( bool found, const std::vector<std::string> &files ) const;
00103     void                                                onUnexpectedEndOfFile( bool error ) const;
00104     void                                                onUnexpectedToken( const std::string &expected, const std::string &token ) const;
00105     void                                                onUnknownToken( const std::string &context, const std::string &token ) const;
00106     bool                                                onUndefinedToken( const std::string &context, const std::string &token ) const;
00107     bool                                                onUnsupportedToken( const std::string &context, const std::string &token ) const;
00108     nvsg::Billboard::Alignment                          readAlignment();
00109     nvsg::AlphaTestAttributeSharedPtr                 readAlphaTestAttribute( const char *name );
00110     nvsg::AlphaFunction                                 readAlphaFunction( void );
00111     nvsg::AnimatedTransformSharedPtr                  readAnimatedTransform( const char *name, const std::string & extName );
00112     nvsg::AnimatedVertexAttributeSetSharedPtr         readAnimatedVertexAttributeSet( const char *name );
00113     bool                                                readAnimationStateToken( nvsg::AnimationState * as, std::string & token );
00114     void                                                readAttributes( std::vector<nvsg::StateAttributeSharedPtr> & attribs );
00115     nvsg::BillboardSharedPtr                          readBillboard( const char *name, const std::string & extName );
00116     nvsg::BlendAttributeSharedPtr                     readBlendAttribute( const char *name );
00117     nvsg::BlendFunction                                 readBlendFunction( void );
00118     bool                                                readBool( void );
00119     nvsg::BufferSharedPtr                               readBuffer( void );
00120     bool                                                readCameraToken( nvsg::Camera * pc, const char *token );
00121     nvsg::CgFxSharedPtr                               readCgFx( const char *name );
00122     nvsg::NodeSharedPtr                               readChild( const char *token = NULL );
00123     void                                                readChildren( nvsg::Group *g );
00124     unsigned int                                        readCount( const char *token = NULL );
00125     bool                                                readFrustumCameraToken( nvsg::FrustumCamera * pdc, const char * token );
00126     unsigned int                                        readType( const char *token = NULL );
00127     nvsg::DepthAttributeSharedPtr                     readDepthAttribute( const char *name );
00128     nvsg::DepthFunction                                 readDepthFunction( void );
00129     nvsg::DirectedLightSharedPtr                      readDirectedLight( const char *name );
00130     DWORD                                               readDWORD( void );
00131     nvsg::FaceAttributeSharedPtr                      readFaceAttribute( const char *name );
00132     nvsg::FaceMode                                      readFaceMode( void );
00133     nvsg::FlipbookAnimationSharedPtr                  readFlipbookAnimation( const char *name, const std::string & extName );
00134     float                                               readFloat( const std::string &token );
00135     void                                                readFloats( std::vector<float> &v );
00136     nvsg::FramedIndexAnimationDescriptionSharedPtr    readFramedIndexAnimationDescription( const char *name );
00137     nvsg::FramedTrafoAnimationDescriptionSharedPtr    readFramedTrafoAnimationDescription( const char *name );
00138     nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr  readFramedVertexAttributeAnimationDescription( const char *name );
00139     nvsg::GeoNodeSharedPtr                            readGeoNode( const char *name );
00140     nvsg::GroupSharedPtr                              readGroup( const char *name, const std::string & extName );
00141     bool                                                readGroupToken( nvsg::Group *g, const char *token, const std::string & extName );
00142     void                                                readImages( nvsg::TextureHost * ti );
00143     bool                                              readIndependentPrimitiveSetToken( nvsg::Primitive * ips, const char *token );
00144     nvsg::IndexAnimationSharedPtr                     readIndexAnimation( const char * name );
00145     void                                                readIndexMesh( nvsg::IndexMesh &im, const char *token );
00146     void                                                readIndexList( nvsg::IndexList &v, const char *token );
00147     bool                                                readIndexSet( nvsg::Primitive * p, const char *token );
00148     long                                                readInt( const char *token = NULL );
00149     void                                                readBytes( std::vector<unsigned char> &bytes );
00150     void                                                readInts( std::vector<unsigned int> &ints );
00151     nvsg::LinearInterpolatedTrafoAnimationDescriptionSharedPtr  readLinearInterpolatedTrafoAnimationDescription( const char *name );
00152     nvsg::LinearInterpolatedVertexAttributeAnimationDescriptionSharedPtr  readLinearInterpolatedVertexAttributeAnimationDescription( const char *name );
00153     nvsg::LightingAttributeSharedPtr                  readLightingAttribute( const char *token );
00154     nvsg::LightSourceSharedPtr                        readLightSource( const char *token );
00155     bool                                                readLightSourceToken( nvsg::LightSource *ls, const std::string &token );
00156     nvsg::LineAttributeSharedPtr                      readLineAttribute( const char *name );
00157     nvsg::PrimitiveSharedPtr                          readLines( const char *name );
00158     nvsg::PrimitiveSharedPtr                          readLineStrips( const char *name );
00159     void                                                readLinks();
00160     nvsg::LODSharedPtr                                readLOD( const char *name, const std::string & extName );
00161     nvmath::Mat33f                                      readMat33f( void );
00162     nvmath::Mat44f                                      readMat44f( void );
00163     nvsg::MatrixCameraSharedPtr                       readMatrixCamera( const char *name );
00164     nvsg::MaterialSharedPtr                           readMaterial( const char *name );
00165     bool                                              readMeshedPrimitiveSetToken( nvsg::Primitive * mps, const char *token );
00166     void                                                readMeshes( std::vector<nvsg::IndexMesh> &meshes );
00167     void                                                readMipmaps( unsigned int width, unsigned int height, unsigned int depth, unsigned int noc, nvsg::Image::PixelDataType pt, std::vector<const void *> & mipmaps );
00168     std::string                                         readName( const char *t = NULL );
00169     bool                                                readNodeToken( nvsg::Node *n, const char *token );
00170     bool                                                readObjectToken( nvsg::Object *n, const char *token );
00171     bool                                                readObjectToken( const char *token, std::string & annotation, unsigned int & hints );
00172     void                                                readPairsOfVec2fs( std::vector<std::pair<nvmath::Vec2f,nvmath::Vec2f> > &pairs );
00173     void                                                readVectorOfVec2fs( std::vector<nvmath::Vec2f > &vectors );
00174     nvsg::ParallelCameraSharedPtr                     readParallelCamera( const char *name );
00175     void                                                readPasses( std::vector<nvsg::StatePassSharedPtr> & passes );
00176     nvsg::PerspectiveCameraSharedPtr                  readPerspectiveCamera( const char *name );
00177     nvsg::Image::PixelFormat                            readPixelFormat();
00178     nvsg::Image::PixelDataType                          readPixelType();
00179     unsigned char                                     * readPixels( unsigned int nov, nvsg::Image::PixelDataType pt );
00180     nvsg::PointAttributeSharedPtr                     readPointAttribute( const char *name );
00181     nvsg::PointLightSharedPtr                         readPointLight( const char *name );
00182     nvsg::PrimitiveSharedPtr                          readPoints( const char *name );
00183     nvsg::PrimitiveSharedPtr                          readPrimitive( const char *name );
00184     bool                                                readPrimitiveToken( nvsg::Primitive * p, const char *token );
00185     bool                                              readPrimitiveSetToken( nvsg::Primitive * p, const char *token );
00186     nvsg::PrimitiveSharedPtr                          readQuadMeshes( const char *name );
00187     nvsg::QuadPatchesSharedPtr                        readQuadPatches( const char *name );
00188     nvsg::QuadPatches4x4SharedPtr                     readQuadPatches4x4( const char *name );
00189     nvsg::PrimitiveSharedPtr                          readQuads( const char *name );
00190     nvsg::PrimitiveSharedPtr                          readQuadStrips( const char *name );
00191     bool                                              readQuadsToken( nvsg::Primitive *q, const char *token );
00192     nvmath::Quatf                                       readQuatf( const std::string &token );
00193     nvsg::RectPatchesSharedPtr                        readRectPatches( const char *name );
00194     nvsg::RTBufferAttributeSharedPtr                  readRTBufferAttribute( const std::string & name );
00195     RTformat                                            readRTformat( void );
00196     nvsg::RTFxSharedPtr                               readRTFx( const std::string & name );
00197     bool                                                readRTFxBaseToken( nvsg::RTFxBase * effect, const char * token );
00198     void                                                readRTFxParameter( nvsg::RTFxBase * effect, const std::string& name );
00199     nvsg::RTFxProgramSharedPtr                        readRTFxProgram( const std::string & name );
00200     nvsg::RTFxSceneAttributeSharedPtr                 readRTFxSceneAttribute( const std::string & name );
00201     void                                                readSampler(nvsg::CgFxEffect * effect, const std::string& name);
00202     nvsg::SceneSharedPtr                              readScene( void );
00203     nvsg::SkinSharedPtr                               readSkin( const char *name );
00204     nvsg::Skin::SkinningType                            readSkinningType();
00205     void                                                readSkinningTypes( nvsg::Skin * skin );
00206     nvsg::SpotLightSharedPtr                          readSpotLight( const char *name );
00207     nvsg::StatePassSharedPtr                          readStatePass( const char *name );
00208     nvsg::StateSetSharedPtr                           readStateSet( const char *name );
00209     nvsg::StateVariantSharedPtr                       readStateVariant( const char *name );
00210     nvsg::StencilAttributeSharedPtr                   readStencilAttribute( const char *name );
00211     nvsg::StencilFunction                               readStencilFunction();
00212     nvsg::StencilOperation                              readStencilOperation();
00213     bool                                              readStrippedPrimitiveSetToken( nvsg::Primitive * sps, const char *token );
00214     void                                                readStrips( std::vector<nvsg::IndexList> &strips );
00215     nvsg::SwitchSharedPtr                             readSwitch( const char *name, const std::string & extName );
00216     void                                                readTexGen( nvsg::TextureAttributeItem * texItem );
00217     nvsg::TextureAttributeSharedPtr                   readTextureAttribute( const char *name );
00218     nvsg::TextureAttributeItemSharedPtr               readTextureAttributeItem( const char *name );
00219     void                                                readTextureAttributeItems(std::vector<nvsg::TextureAttributeItemSharedPtr> & texItems);
00220     nvsg::TextureEnvMode                                readTextureEnvMode( void );
00221     nvsg::TextureMagFilterMode                          readTextureMagFilterMode( void );
00222     nvsg::TextureMinFilterMode                          readTextureMinFilterMode( void );
00223     nvsg::TextureTarget                                 readTextureTarget();
00224     nvsg::TextureWrapMode                               readTextureWrapMode( void );
00225     nvsg::TextureHostSharedPtr                       readTextureHost( const char *name );
00226     nvsg::TrafoAnimationSharedPtr                     readTrafoAnimation( const char * name );
00227     nvsg::TransformSharedPtr                          readTransform( const char *name, const std::string & extName );
00228     bool                                                readTransformToken( nvsg::Transform *t, const char *token, const std::string & extName );
00229     nvsg::PrimitiveSharedPtr                          readTriangles( const char *name );
00230     bool                                              readTrianglesToken( nvsg::Primitive *t, const char *token );
00231     nvsg::PrimitiveSharedPtr                          readTriFans( const char *name );
00232     nvsg::TriPatchesSharedPtr                         readTriPatches( const char *name );
00233     nvsg::TriPatches4SharedPtr                        readTriPatches4( const char *name );
00234     nvsg::PrimitiveSharedPtr                          readTriStrips( const char *name );
00235     void                                                readTweak(nvsg::CgFxEffect * effect, const std::string& name);
00236     nvsg::UnlitColorAttributeSharedPtr                readUnlitColorAttribute( const char *name );
00237     void                                                readVariants( std::map<nvsg::VariantKey,nvsg::StateVariantSharedPtr> & variants );
00238     nvmath::Vec2f                                       readVec2f( const std::string &token );
00239     void                                                readVec2fs( std::vector<nvmath::Vec2f> &vecs );
00240     nvmath::Vec3f                                       readVec3f( const std::string &token );
00241     void                                                readVec3fs( std::vector<nvmath::Vec3f> &vecs );
00242     nvmath::Vec4f                                       readVec4f( const std::string &token );
00243     void                                                readVec4fs( std::vector<nvmath::Vec4f> &vecs );
00244     void                                                readVertexData( unsigned int type, unsigned char * vdata, std::string token );
00245     nvsg::VertexAttributeAnimationSharedPtr           readVertexAttributeAnimation( const char * name );
00246     nvsg::VertexAttributeSetSharedPtr                 readVertexAttributeSet( const char *name );
00247     bool                                                readVertexAttributeSetToken( nvsg::VertexAttributeSet *vas, const char *token );
00248     nvsg::ViewStateSharedPtr                          readViewState( void );
00249     void                                                storeTextureHost( const std::string & name, const nvsg::TextureHostSharedPtr & tih );
00250     bool                                                testNVSGVersion( void );
00251 #if !defined(NDEBUG)
00252     void                                                assertClean();
00253 #endif
00254
00255     // Checks whether an appropriate semaphore has already been saved before creating a new one
00256     nvtraverser::CameraUpdateSemaphoreSharedPtr     initializeCameraSemaphore(std::string name, const nvsg::CameraSharedPtr & cam);
00257     nvtraverser::SpotLightUpdateSemaphoreSharedPtr  initializeSpotLightSemaphore(std::string name, const nvsg::SpotLightSharedPtr & spot);
00258
00259     template<unsigned int n>      nvsg::Face<n>   readFace( const char *token );
00260     template<unsigned int n>      void            readFaces( std::vector<nvsg::Face<n> > &faces );
00261     template<typename T>          void            readPixelComponent( const std::string & token, T & pc );
00262     template<typename T>          unsigned char * readPixels( unsigned int nov );
00263     template<typename ObjectType> void            storeNamedObject(const std::string& name, std::map<std::string, nvutil::SmartPtr<ObjectType> > & container, ObjectType * obj);
00264     template<typename ObjectType> void            storeNamedObject( const std::string & name, std::map<std::string, nvutil::SmartPtr<ObjectType> > & container, const nvutil::SmartPtr<ObjectType> & obj );
00265
00266   private :
00267     std::map<std::string,nvsg::AlphaTestAttributeSharedPtr>                           m_alphaTestAttributes;
00268     std::map<std::string,nvsg::AnimatedTransformSharedPtr>                            m_animatedTransforms;
00269     std::map<std::string,nvsg::AnimatedVertexAttributeSetSharedPtr>                   m_animatedVertexAttributeSets;
00270     std::map<std::string,nvsg::BillboardSharedPtr>                                    m_billboards;
00271     std::map<std::string,nvsg::BlendAttributeSharedPtr>                               m_blendAttributes;
00272     std::map<std::string,nvsg::BufferSharedPtr>                                       m_buffers;
00273     std::map<std::string,nvtraverser::CameraUpdateSemaphoreSharedPtr>                 m_cameraSemList;
00274     nvmath::Vec3f                                                                     m_cameraDirection;
00275     nvmath::Vec3f                                                                     m_cameraUpVector;
00276     std::map<std::string,nvsg::CgFxSharedPtr>                                         m_cgfxs;
00277     char                                                                            * m_currentLine;
00278     unsigned int                                                                      m_currentLineLength;
00279     std::string                                                                       m_currentString;
00280     std::map<std::string,nvsg::DepthAttributeSharedPtr>                               m_depthAttributes;
00281     std::map<std::string,nvsg::StencilAttributeSharedPtr>                             m_stencilAttributes;
00282     std::map<std::string,nvsg::DirectedLightSharedPtr>                                m_directedLights;
00283     std::map<std::string,nvsg::FaceAttributeSharedPtr>                                m_faceAttributes;
00284     std::map<std::string,nvsg::FlipbookAnimationSharedPtr>                            m_flipbookAnimations;
00285     std::map<std::string,nvsg::FramedIndexAnimationDescriptionSharedPtr>              m_framedIndexAnimationDescriptions;
00286     std::map<std::string,nvsg::FramedTrafoAnimationDescriptionSharedPtr>              m_framedTrafoAnimationDescriptions;
00287     std::map<std::string,nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr>    m_framedVertexAttributeAnimationDescriptions;
00288     std::map<std::string,nvsg::GeoNodeSharedPtr>                                      m_geoNodes;
00289     std::map<std::string,nvsg::GroupSharedPtr>                                        m_groups;
00290     std::ifstream                                                                     m_ifs;
00291     std::map<std::string,nvsg::IndexAnimationSharedPtr>                               m_indexAnimations;
00292     unsigned int                                                                        m_line;
00293     std::map<std::string,nvsg::LinearInterpolatedTrafoAnimationDescriptionSharedPtr>  m_linearInterpolatedTrafoAnimationDescriptions;
00294     std::map<std::string,nvsg::LinearInterpolatedVertexAttributeAnimationDescriptionSharedPtr>  m_linearInterpolatedVertexAttributeAnimationDescriptions;
00295     std::map<std::string,nvsg::LightingAttributeSharedPtr>                            m_lightingAttributes;
00296     std::map<std::string,nvsg::LineAttributeSharedPtr>                                m_lineAttributes;
00297     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_lines;
00298     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_lineStrips;
00299     std::map<std::string,nvsg::LODSharedPtr>                                          m_LODs;
00300     std::map<std::string,nvsg::MaterialSharedPtr>                                     m_materials;
00301     std::map<std::string,nvsg::MatrixCameraSharedPtr>                                 m_matrixCameras;
00302     std::map<std::string,nvsg::ObjectSharedPtr>                                       m_objects;
00303     std::map<std::string,nvsg::ParallelCameraSharedPtr>                               m_parallelCameras;
00304     std::map<std::string,nvsg::PerspectiveCameraSharedPtr>                            m_perspectiveCameras;
00305     std::map<std::string,nvsg::PointAttributeSharedPtr>                               m_pointAttributes;
00306     std::map<std::string,nvsg::PointLightSharedPtr>                                   m_pointLights;
00307     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_points;
00308     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_primitives;
00309     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_quadMeshes;
00310     std::map<std::string,nvsg::QuadPatchesSharedPtr>                                  m_quadPatches;
00311     std::map<std::string,nvsg::QuadPatches4x4SharedPtr>                               m_quadPatches4x4;
00312     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_quads;
00313     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_quadStrips;
00314     std::map<std::string,nvsg::RectPatchesSharedPtr>                                  m_rectPatches;
00315     std::map<std::string,nvsg::RTBufferAttributeSharedPtr>                            m_rtbufferAttributes;
00316     std::map<std::string,nvsg::RTFxSharedPtr>                                         m_rtfxs;
00317     std::map<std::string,nvsg::RTFxProgramSharedPtr>                                  m_rtfxPrograms;
00318     std::map<std::string,nvsg::SceneAttributeSharedPtr>                               m_sceneAttributes;
00319     nvsg::SceneSharedPtr                                                              m_scene;
00320     std::map<std::string,nvsg::GroupSharedPtr>                                        m_skeletons;
00321     std::map<std::string,nvsg::SkinSharedPtr>                                         m_skins;
00322     std::map<std::string,nvsg::SpotLightSharedPtr>                                    m_spotLights;
00323     std::map<std::string,nvtraverser::SpotLightUpdateSemaphoreSharedPtr>              m_spotLightSemList;
00324     std::map<std::string,nvsg::StatePassSharedPtr>                                    m_statePasses;
00325     std::map<std::string,nvsg::StateSetSharedPtr>                                     m_stateSets;
00326     std::map<std::string,nvsg::StateVariantSharedPtr>                                 m_stateVariants;
00327     std::vector<std::string>                                                          m_searchPaths;
00328     std::vector<std::pair<nvsg::SkinSharedPtr,std::vector<std::pair<std::string,nvmath::Mat44f> > > > m_skinJointData;
00329     std::map<std::string,nvsg::SwitchSharedPtr>                                       m_switches;
00330     std::map<std::string,nvsg::TextureAttributeSharedPtr>                             m_textureAttributes;
00331     std::map<std::string,nvsg::TextureAttributeItemSharedPtr>                         m_textureAttributeItems;
00332     std::map<std::string,nvsg::TextureHostSharedPtr>                                 m_textureImages;
00333     std::map<std::string,nvsg::TrafoAnimationSharedPtr>                               m_trafoAnimations;
00334     std::map<std::string,nvsg::TransformSharedPtr>                                    m_transforms;
00335     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_triangles;
00336     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_triFans;
00337     std::map<std::string,nvsg::TriPatchesSharedPtr>                                   m_triPatches;
00338     std::map<std::string,nvsg::TriPatches4SharedPtr>                                  m_triPatches4;
00339     std::map<std::string,nvsg::PrimitiveSharedPtr>                                    m_triStrips;
00340     std::map<std::string,nvsg::UnlitColorAttributeSharedPtr>                          m_unlitColorAttributes;
00341     std::map<std::string,nvsg::VertexAttributeAnimationSharedPtr>                     m_vertexAttributeAnimations;
00342     std::map<std::string,nvsg::VertexAttributeSetSharedPtr>                           m_vertexAttributeSets;
00343     nvutil::StrTokenizer                                                                m_strTok;
00344 };
00345
00346 inline void NVSGLoader::deleteThis( void )
00347 {
00348   delete this;
00349 }
00350
00351 template<unsigned int n>
00352 inline nvsg::Face<n> NVSGLoader::readFace( const char *token )
00353 {
00354   nvsg::Face<n> f;
00355   f[0] = (UINT) readCount( token );
00356   for ( unsigned int i=1 ; i<n ; i++ )
00357   {
00358     f[i] = (UINT) readCount();
00359   }
00360   return( f );
00361 }
00362
00363 template<unsigned int n>
00364 inline void  NVSGLoader::readFaces( std::vector<nvsg::Face<n> > &faces )
00365 {
00366   faces.clear();
00367   const char * token = getNextToken().c_str();
00368   onUnexpectedToken( "[", token );
00369   token = getNextToken().c_str();
00370   while ( strcmp( token, "]" ) )
00371   {
00372     faces.push_back( readFace<n>( token ) );
00373     token = getNextToken().c_str();
00374   }
00375 }
00376
00377 template <typename ObjectType>
00378 inline void NVSGLoader::storeNamedObject( const std::string& name
00379                                         , std::map<std::string, nvutil::SmartPtr<ObjectType> > & container
00380                                         , ObjectType * obj )
00381 {
00382   if ( obj )
00383   {
00384     NVSG_ASSERT( container.find( name ) == container.end() );
00385     container[name] = obj;
00386
00387     // map of all objects for subject/observer links at end of file
00388     NVSG_ASSERT( m_objects.find( name ) == m_objects.end() );
00389     m_objects[name] = obj;
00390   }
00391 }
00392
00393 template <typename ObjectType>
00394 inline void NVSGLoader::storeNamedObject( const std::string & name
00395                                         , std::map<std::string, nvutil::SmartPtr<ObjectType> > & container
00396                                         , const nvutil::SmartPtr<ObjectType> & obj )
00397 {
00398   storeNamedObject( name, container, obj.get() );
00399 }
00400
00401 inline void NVSGLoader::storeTextureHost( const std::string & name, const nvsg::TextureHostSharedPtr & tih )
00402 {
00403   NVSG_ASSERT( tih );
00404   m_textureImages[name] = tih;
00405 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NVSGMaterial.cg File Reference

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages
media / effects / include

NVSGMaterial.cg File Reference

Detailed Description

Generated on Fri Jul 13 13:27:54 2012 for SceniX


SceniX: NVSGSaver.h File Reference

src / Saver / NVSGSaver / inc

NVSGSaver.h File Reference

#include <set>
#include "nvsg/nvsgapi.h"
#include "nvsg/NBF.h"
#include "nvsg/MeshedPrimitiveSet.h"
#include "nvsg/PlugInterface.h"
#include "nvsg/RTFx.h"
#include "nvsg/StateAttribute.h"
#include "nvsg/StrippedPrimitiveSet.h"
#include "nvsg/ViewState.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for NVSGSaver.h:

Go to the source code of this file.

Functions

NVSGSAVER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.
NVSGSAVER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

NVSGSAVER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a NVSGSaver. If the PlugIn ID piid equals PIID_NVSG_SCENE_SAVER, a NVSGSaver is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

NVSGSAVER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_SAVER, the vector piids is filled with one element PIID_NVSG_SCENE_SAVER.

Returns:
true, if a PITID_SCENE_SAVER is requested, otherwise false

Generated on Fri Jul 13 13:27:55 2012 for SceniX


SceniX: NVSGSaver.h Source File

src / Saver / NVSGSaver / inc

NVSGSaver.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  <set>
00016 #include  "nvsg/nvsgapi.h"
00017 #include  "nvsg/NBF.h"
00018 #include  "nvsg/MeshedPrimitiveSet.h"
00019 #include  "nvsg/PlugInterface.h"
00020 #include  "nvsg/RTFx.h"
00021 #include  "nvsg/StateAttribute.h"
00022 #include  "nvsg/StrippedPrimitiveSet.h"
00023 #include  "nvsg/ViewState.h"
00024 #include  "nvtraverser/Traverser.h"
00025
00026
00027 //  Don't need to document the API specifier
00028 #if ! defined( DOXYGEN_IGNORE )
00029 #if defined(_WIN32)
00030 # ifdef NVSGSAVER_EXPORTS
00031 #  define NVSGSAVER_API __declspec(dllexport)
00032 # else
00033 #  define NVSGSAVER_API __declspec(dllimport)
00034 # endif
00035 #else
00036 # define NVSGSAVER_API
00037 #endif
00038 #endif  //  DOXYGEN_IGNORE
00039
00040 // exports required for a scene loader plug-in
00041 #if defined(LINUX)
00042 extern "C"
00043 {
00044 #endif
00045
00046
00051 NVSGSAVER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00052
00054
00059 NVSGSAVER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00060 #if defined(LINUX)
00061 }
00062 #endif
00063
00065
00066 class NVSGSaveTraverser : public nvtraverser::SharedTraverser
00067 {
00068   public:
00070     NVSGSaveTraverser();
00071
00073     void  setFILE( FILE *fh
00074                  );
00075
00076   protected:
00078
00079     void doApply( const nvsg::NodeSharedPtr & root );
00080
00081     // overloads to process concrete types for saving
00082     // ...Cameras
00084
00086     virtual void handleParallelCamera(const nvsg::ParallelCamera *p);
00087
00089
00091     virtual void handlePerspectiveCamera(const nvsg::PerspectiveCamera *p);
00092
00094
00096     virtual void handleMatrixCamera( const nvsg::MatrixCamera * p );
00097
00098     // ...Nodes
00100
00101     virtual void handleBillboard(const nvsg::Billboard *p);
00102
00104
00105     virtual void handleGeoNode(const nvsg::GeoNode *p);
00106
00108
00109     virtual void handleGroup( const nvsg::Group *p );
00110
00112
00114     virtual void handleFlipbookAnimation(const nvsg::FlipbookAnimation *p);
00115
00117
00118     virtual void handleTransform(const nvsg::Transform *p);
00119
00121
00123     virtual void handleAnimatedTransform(const nvsg::AnimatedTransform *p);
00124
00126
00128     virtual void handleLOD(const nvsg::LOD *p);
00129
00131
00133     virtual void handleSwitch(const nvsg::Switch *p);
00134
00136
00138     virtual void handleDirectedLight(const nvsg::DirectedLight *p);
00139
00141
00143     virtual void handlePointLight(const nvsg::PointLight *p);
00144
00146
00148     virtual void handleSpotLight(const nvsg::SpotLight *p);
00149
00150     // ...StateSet
00152
00154     virtual void handleStateSet(const nvsg::StateSet *p);
00155
00157
00159     virtual void handleStateVariant(const nvsg::StateVariant *p);
00160
00162
00164     virtual void handleStatePass(const nvsg::StatePass *p);
00165
00166     // ...StateAttribs
00168
00169     virtual void handleBlendAttribute(const nvsg::BlendAttribute *p);
00170
00172
00173     virtual void handleCgFx(const nvsg::CgFx *p);
00174
00176
00177     virtual void handleRTFx(const nvsg::RTFx *p);
00178
00179     virtual void handleRTFxProgram( const nvsg::RTFxProgram * p );
00180
00182
00183     virtual void handleRTBufferAttribute(const nvsg::RTBufferAttribute *p);
00184
00186
00187     virtual void handleDepthAttribute(const nvsg::DepthAttribute *p);
00188
00190
00191     virtual void handleStencilAttribute(const nvsg::StencilAttribute *p);
00192
00194
00195     virtual void handleFaceAttribute(const nvsg::FaceAttribute *p);
00196
00198
00199     virtual void handleLineAttribute(const nvsg::LineAttribute *p);
00200
00202
00203     virtual void handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *p);
00204
00206
00207     virtual void handleLightingAttribute(const nvsg::LightingAttribute *p);
00208
00210
00211     virtual void handleMaterial(const nvsg::Material *p);
00212
00214
00215     virtual void handlePointAttribute(const nvsg::PointAttribute *p);
00216
00218
00219     virtual void handleTextureAttribute(const nvsg::TextureAttribute *p);
00220
00222
00223     virtual void handleTextureAttributeItem(const nvsg::TextureAttributeItem * p);
00224
00226
00227     virtual void handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *p);
00228
00229     // ...GeoSets
00231
00232     virtual void handleTriangles(const nvsg::Triangles *p);
00233
00235
00236     virtual void handleTriFans(const nvsg::TriFans *p);
00237
00239
00240     virtual void handleTriPatches(const nvsg::TriPatches *p);
00241
00243
00244     virtual void handleTriPatches4(const nvsg::TriPatches4 *p);
00245
00247
00248     virtual void handleTriStrips(const nvsg::TriStrips *p);
00249
00251
00252     virtual void handleQuadMeshes(const nvsg::QuadMeshes *p);
00253
00255
00256     virtual void handleQuads(const nvsg::Quads *p);
00257
00259
00260     virtual void handleQuadStrips(const nvsg::QuadStrips *p);
00261
00263
00264     virtual void handleLines(const nvsg::Lines *p);
00265
00267
00268     virtual void handleLineStrips(const nvsg::LineStrips *p);
00269
00271
00272     virtual void handlePoints(const nvsg::Points *p);
00273
00275
00276     virtual void handlePrimitive(const nvsg::Primitive *p);
00277
00279
00280     virtual void handleRectPatches(const nvsg::RectPatches *p);
00281
00283
00284     virtual void handleQuadPatches(const nvsg::QuadPatches *p);
00285
00287
00288     virtual void handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p);
00289
00291
00292     virtual void handleVertexAttributeSet( const nvsg::VertexAttributeSet *p );
00293
00295
00296     virtual void handleAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet * p );
00297
00299
00300     virtual void handleSkin( const nvsg::Skin * p );
00301
00302     // ... Animations
00303     virtual void handleIndexAnimation( const nvsg::Animation<unsigned int> * anim );
00304
00305     virtual void handleTrafoAnimation( const nvsg::Animation<nvmath::Trafo> * anim );
00306
00307     virtual void handleVertexAttributeAnimation( const nvsg::Animation<nvsg::VertexAttribute> * anim );
00308
00310
00311     virtual void handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription<unsigned int> *p);
00312
00314
00315     virtual void handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription<nvmath::Trafo> *p);
00316
00318
00319     virtual void handleFramedVertexAttributeAnimationDescription( const nvsg::FramedAnimationDescription<nvsg::VertexAttribute> *p );
00320
00322
00323     virtual void handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> *p);
00324
00326
00327     virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> *p );
00328
00329 private:
00330     void    animationStateData( const nvsg::AnimationState *p );
00331     void    cameraData( const nvsg::Camera *p );
00332     void    frustumCameraData( const nvsg::FrustumCamera *p );
00333     const   std::string  getName( const std::string &name );
00334     std::string  getObjectName( const nvsg::Object *p );
00335     void    objectData( const nvsg::Object *p ); // writes object data
00336     void    groupData( const nvsg::Group *p );
00337     void    handleRTFxSceneAttribute( const nvsg::RTFxSceneAttribute * p );
00338     void    independentPrimitiveSet( const nvsg::IndependentPrimitiveSet *p
00339                                    , unsigned int primitiveSize, bool doVerticesAndNormals = true );
00340     void    initUnnamedCounters( void );
00341     bool    isFirstTime( const nvsg::Object *p );
00342     void    lightSourceData( const nvsg::LightSource *p );
00343     void    meshedPrimitiveSet( const nvsg::MeshedPrimitiveSet *p );
00344     void    nodeData( const nvsg::Node *p );
00345     void    primitiveSetData( const nvsg::PrimitiveSet *p );
00346     void    primitiveData( const nvsg::Primitive *p );
00347     void    strippedPrimitiveSet( const nvsg::StrippedPrimitiveSet *p );
00348     void    textureImage( const nvsg::TextureHostSharedPtr & tih );
00349     void    transformData( const nvsg::Transform * p );
00350     void    traverseRTFxBaseParameters( const nvsg::RTFxBase * base );
00351     void    vertexAttributeSetData( const nvsg::VertexAttributeSet * p );
00352     void    writeRTFxBase( const nvsg::RTFxBase * p );
00353     void    writeRTFxParameter( const nvsg::RTFxParameter & param );
00354     void    writeTweakable( const nvsg::CgFxEffect * effect, nvsg::CgFxParameter tweak );
00355     void    writeSampler( const nvsg::CgFxEffect * effect, nvsg::CgFxParameter sampler );
00356     void    writeVertexData( const nvsg::VertexAttribute & va );
00357     void    buffer( const nvsg::Buffer *p );
00358   private:
00359     struct CallbackLink
00360     {
00361       std::string           name;
00362       nvsg::ObjectWeakPtr  subject;
00363       nvsg::ObjectWeakPtr  observer;
00364     };
00365
00366   private:
00367     FILE * m_fh;
00368
00369     std::set<const nvutil::RCObject *>                m_sharedRCObjects;
00370     std::map<const nvsg::Buffer *, std::string>       m_storedBuffers;
00371     std::map<nvsg::DataID, std::string>               m_sharedData;
00372     std::vector<std::pair<std::string,std::string> >  m_geometryNames;
00373     std::vector<nvsg::StateAttributeWeakPtr>         m_attributes;
00374     std::vector<nvsg::StatePassWeakPtr>              m_passes;
00375     std::vector<nvsg::TextureAttributeItemWeakPtr>   m_texAttribItems;
00376     nvsg::StateSetWeakPtr                            m_currentStateSet;
00377     std::map<nvsg::ObjectWeakPtr, std::string>       m_objectNames;
00378     unsigned int                                      m_nameCount;
00379     std::set<std::string>                             m_nameSet;
00380     std::map<nvsg::TextureHostWeakPtr, std::string> m_textureImageNames;
00381     std::map<nvsg::TransformWeakPtr, std::string>    m_unnamedTransforms;
00382     std::vector<CallbackLink>                         m_links;
00383 };
00384
00386
00388 class NVSGSaver : public nvsg::SceneSaver
00389 {
00390   public :
00392
00393     void  deleteThis( void );
00394
00396
00398     bool  save( const nvsg::SceneSharedPtr     & scene
00399               , const nvsg::ViewStateSharedPtr & viewState
00400               , const std::string                & filename
00401               );
00402
00403 };
00404
00405 inline void NVSGSaver::deleteThis( void )
00406 {
00407   delete this;
00408 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NVSGScene.cg File Reference

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages
media / effects / include

NVSGScene.cg File Reference

Detailed Description

Generated on Fri Jul 13 13:27:55 2012 for SceniX


SceniX: NVSGVersion.h File Reference

inc / nvsg / nvsg

NVSGVersion.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Detailed Description

Generated on Fri Jul 13 13:27:55 2012 for SceniX


SceniX: NVSGVersion.h Source File

inc / nvsg / nvsg

NVSGVersion.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #if !defined( DOXYGEN_IGNORE )    //  no need to document the version header
00016 //---------------------------------------------------------------------------
00017 // Version Number
00018 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00019 // - This is the ONLY place to edit the version number.
00020 // - There must be no unnecessary leading zeros in the numbers.
00021 //   (e.g.: don't use '02' - use '2' instead)
00022 //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00023 #define NVSG_VER_MAIN        7    // marketing main version
00024 #define NVSG_VER_AUX         3    // marketing auxiliary version
00025
00026 #define NVSG_VER_MAJOR       9
00027 #define NVSG_VER_MINOR       3
00028
00029 #if !defined(NVSG_VER_BUILD)
00030 #define NVSG_VER_BUILD       1
00031 #endif
00032
00033 //#define NVSG_ALPHA
00034 //#define NVSG_BETA
00035
00036 // MaKe STRing helper macro
00037 #define MKSTR(s)    MKSTR_i(s)
00038 #define MKSTR_i(s)  MKSTR_ii(s)
00039 #define MKSTR_ii(s) #s
00040
00041 // conditionally add a leading zero to the single parts of the version string
00042 #define NVSG_VER_MAIN_STR           MKSTR(NVSG_VER_MAIN)
00043 #define NVSG_VER_AUX_STR            MKSTR(NVSG_VER_AUX)
00044 #define NVSG_VER_MAJOR_STR          MKSTR(NVSG_VER_MAJOR)
00045 #define NVSG_VER_MINOR_STR          MKSTR(NVSG_VER_MINOR)
00046 #define NVSG_VER_BUILD_STR          MKSTR(NVSG_VER_BUILD)
00047
00048 #define SDK_VENDOR "NVIDIA"
00049 #define SDK_NAME   "SceniX"
00050
00051 // internal version string
00052 #define _VER_STR   NVSG_VER_MAIN_STR "."\
00053                    NVSG_VER_AUX_STR "."\
00054                    NVSG_VER_MAJOR_STR "."\
00055                    NVSG_VER_MINOR_STR "."\
00056                    NVSG_VER_BUILD_STR
00057
00058 // no need to update these
00059 //
00060 #ifdef NVSG_ALPHA
00061   #if !defined(NDEBUG)
00062     #define VERSION_STR   _VER_STR " alpha" " (DEBUG)"
00063   #else  //DEBUG
00064     #define VERSION_STR   _VER_STR " alpha"
00065   #endif //DEBUG
00066 #else
00067   #ifdef NVSG_BETA
00068     #if !defined(NDEBUG)
00069       #define VERSION_STR   _VER_STR " beta (DEBUG)"
00070     #else  //DEBUG
00071       #define VERSION_STR   _VER_STR " beta"
00072     #endif //DEBUG
00073   #else  //BETA
00074     #if !defined(NDEBUG)
00075       #define VERSION_STR   _VER_STR " (DEBUG)"
00076     #else  //DEBUG
00077       #define VERSION_STR   _VER_STR
00078     #endif //DEBUG
00079   #endif //BETA
00080 #endif
00081
00082 #define NVSG_COPYRIGHT   SDK_VENDOR" "SDK_NAME" Version "VERSION_STR"\n© Copyright 2011 NVIDIA Corporation\n";
00083
00084 #endif  //  DOXYGEN_IGNORE
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvtraverser.h File Reference

inc / nvsg / nvtraverser

nvtraverser.h File Reference

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:27:55 2012 for SceniX


SceniX: nvtraverser.h Source File

inc / nvsg / nvtraverser

nvtraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015
00016
00020 namespace nvtraverser
00021 {
00022
00023 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvui.h File Reference

inc / nvsg / nvui

nvui.h File Reference

#include "nvsgcommon.h"

Include dependency graph for nvui.h:

Go to the source code of this file.

Namespaces

namespace nvui

Detailed Description

Generated on Fri Jul 13 13:27:55 2012 for SceniX


SceniX: nvui.h Source File

inc / nvsg / nvui

nvui.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017
00024 namespace nvui
00025 {
00026
00027 }
00028
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvutil.h File Reference

inc / nvsg / nvutil

nvutil.h File Reference

#include "nvsg/nvsgapi.h"
#include <string>

Include dependency graph for nvutil.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | stricmp _stricmp
#define | chdir _chdir
#define | getcwd _getcwd
#define | vsnprintf _vsnprintf

Enumerations

enum | { SIGNATURE = 0x4753564e }

Functions

NVSG_API float | _atof (const std::string &str)
int | _stricmp (const char *string1, const char *string2)

Detailed Description

Generated on Fri Jul 13 13:27:56 2012 for SceniX


SceniX: nvutil.h Source File

inc / nvsg / nvutil

nvutil.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"
00016 #include <string>
00017
00018 NVSG_API float _atof( const std::string &str );
00019
00020 // Note: C Runtime extensions as they are available on Windows,
00021 // are intentionally defined outside of any namespaces.
00022 #if defined(LINUX)
00023 # define stricmp _stricmp
00024
00025 int _stricmp(
00026    const char *string1,
00027    const char *string2
00028  );
00029
00030
00031 #endif
00032
00033 #if defined(_WIN32)
00034 # define chdir _chdir
00035 # define getcwd _getcwd
00036 # if _MSC_VER <= 1400
00037 #  define vsnprintf _vsnprintf
00038 # endif
00039 #endif
00040
00041 namespace nvutil
00042 {
00043   enum { SIGNATURE=0x4753564e /* "NVSG" */};
00044 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Object.h File Reference

inc / nvsg / nvsg

Object.h File Reference

#include <typeinfo>
#include "nvsgcommon.h"
#include "nvmath/Boxnt.h"
#include "nvmath/Spherent.h"
#include "nvsg/Callback.h"
#include "nvsg/DAL.h"
#include "nvutil/HandledObject.h"
#include "nvutil/HashGenerator.h"
#include "nvutil/Incarnation.h"
#include "nvutil/ReadableObject.h"
#include "nvutil/SceniXIterator.h"
#include "nvutil/SWMRSync.h"

Include dependency graph for Object.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Defines

#define | object_cast object_cast_impl
Downcasts a ReadableObject or a WritableObject.
#define | node_cast object_cast_impl
#define | drawable_cast object_cast_impl
#define | light_cast object_cast_impl
#define | camera_cast object_cast_impl

Typedefs

typedef unsigned long long | DataID
64-bit save DataID.

Enumerations

enum {
OC_INVALID = 0xFFFFFFFF, OC_OBJECT = 0, OC_NODE = OC_OBJECT, OC_GEONODE,
OC_GROUP, OC_FLIPBOOKANIMATION, OC_LOD, OC_SWITCH,
OC_TRANSFORM, OC_ANIMATEDTRANSFORM, OC_DIRECTEDLIGHT, OC_POINTLIGHT,
OC_SPOTLIGHT, OC_BILLBOARD, OC_CLIPPLANE, OC_DRAWABLE = 0x20,
OC_VERTEX_ATTRIBUTE_SET, OC_ANIMATED_VERTEX_ATTRIBUTE_SET, OC_QUADS, OC_QUADSTRIPS,
OC_TRIANGLES, OC_TRISTRIPS, OC_LINES, OC_LINESTRIPS,
OC_TRIFANS, OC_POINTS, OC_SHAPE, OC_BITMAP,
OC_PIXMAP, OC_MAPELEMENT, OC_MAPARRAY, OC_MAPMATRIX,
OC_MAPLIST, OC_QUADMESHES, OC_SKIN, OC_PATCHES,
OC_RECT_PATCHES, OC_QUAD_PATCHES, OC_QUAD_PATCHES_4X4, OC_TRI_PATCHES,
OC_TRI_PATCHES_4, OC_PRIMITIVE, OC_STATESET = 0x40, OC_STATEVARIANT,
OC_STATEPASS, OC_STATEATTRIBUTE, OC_CGFX, OC_RTFX,
OC_RTFX_PROGRAM, OC_RTFX_SCENE_ATTRIBUTE, OC_FACEATTRIBUTE, OC_MATERIAL,
OC_TEXTUREATTRIBUTE, OC_TEXTUREATTRIBUTEITEM, OC_STATESETEXT, OC_LINEATTRIBUTE,
OC_LIGHTINGATTRIBUTE, OC_POINTATTRIBUTE, OC_BLENDATTRIBUTE, OC_ALPHATESTATTRIBUTE,
OC_DEPTHATTRIBUTE, OC_UNLITCOLORATTRIBUTE, OC_STENCILATTRIBUTE, OC_RTBUFFERATTRIBUTE,
OC_ANIMATION = 0x60, OC_INDEXANIMATION, OC_TRAFOANIMATION, OC_VERTEXATTRIBUTEANIMATION,
OC_FRAMEDINDEXANIMATIONDESCRIPTION, OC_FRAMEDTRAFOANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION, OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION,
OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION, OC_FLOATANIMATION, OC_VEC2FANIMATION, OC_VEC3FANIMATION,
OC_VEC4FANIMATION, OC_MAT33FANIMATION, OC_MAT44FANIMATION, OC_QUATFANIMATION,
OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION,
OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION, OC_CAMERA = 0x80,
OC_PARALLELCAMERA, OC_PERSPECTIVECAMERA, OC_MATRIXCAMERA, OC_CUSTOMOBJECT = 0xC0
}
Object Codes for SceniX Object Type Identification. More...

Functions

NVSG_API void | copy (const ObjectReadLock &src, const ObjectWriteLock &dst)
template<typename T>
void | NVSG_ASSERT_OBJECT_WRITE_LOCKED (const T *obj)
template<typename T>
void | NVSG_ASSERT_OBJECT_READ_LOCKED (const T *obj)
template<typename T>
bool | isPtrTo (const nvutil::HandledObjectWeakPtr &p)
Detects if the WeakPtr p is a WeakPtr to a specified (templated) type.
template<typename T>
bool | isPtrTo (const nvutil::HandledObjectSharedPtr &p)
Detects if the SharedPtr p is a SharedPtr to a specified (templated) type.
bool | areOfSameType (const ObjectSharedPtr &p0, const ObjectSharedPtr &p1)
Detects if the two objects p0 and p1 are of the same type.

Detailed Description

Define Documentation

#define object_cast object_cast_impl

Downcasts a ReadableObject or a WritableObject.

The expression object_cast<type-id>(obj) downcasts the operand obj to an object of type type-id. The operand obj must be of type ReadableObject<T> or WritableObject<T>, and type-id must be a pointer or a pointer to const of a type dynamic-convertible to type T. The expression evaluates to NULL if obj is not convertible to type-id.

Usage

 void foo(const Group* p)
 {
   unsigned int numChildren = p->getNumberOfChildren();
   for ( unsigned int i=0 ; i<numChildren ; i++ )
   {
     NodeReadLock node(p->getChild(i));
     const Group * group = object_cast<const Group *>(node);
     if ( group )
     {
       // ... do something Group-specific
     }
   }
 }
See also:
nvutil::ReadableObject, nvutil::WritableObject

Typedef Documentation

typedef unsigned long long DataID

64-bit save DataID.

Remarks:
The DataID is used to uniquely identify an Object's embedded data.
See also:
Object::getDataID

Enumeration Type Documentation

anonymous enum

Object Codes for SceniX Object Type Identification.

Remarks:
For a custom traverser it is essential to identify all actual scene graph components while traversing the scene graph, and to call the corresponding handler routine for a particular object. For this reason, all concrete SceniX object types must be assigned to a unique object code. Secure object codes for custom defined SceniX objects start at OC_CUSTOMOBJECT.
Note:
Choosing an object code lower than OC_CUSTOMOBJECT for a custom-defined SceniX object results in undefined runtime behavior!
See also:
howtoderiveatraverser howtoderiveanvsgobject
Enumeration values:
OC_INVALID | invalid object code
OC_OBJECT | Object.
OC_NODE | Node = 0x00.
OC_GEONODE | GeoNode.
OC_GROUP | Group.
OC_FLIPBOOKANIMATION | FlipbookAnimation.
OC_LOD | LOD.
OC_SWITCH | Switch.
OC_TRANSFORM | Transform.
OC_ANIMATEDTRANSFORM | AnimatedTransform.
OC_DIRECTEDLIGHT | DirectedLight.
OC_POINTLIGHT | PointLight.
OC_SPOTLIGHT | SpotLight.
OC_BILLBOARD | Billboard.
OC_CLIPPLANE | ClipPlane.
OC_DRAWABLE | Drawable = 0x20.
OC_VERTEX_ATTRIBUTE_SET | VertexAttributeSet.
OC_ANIMATED_VERTEX_ATTRIBUTE_SET | AnimatedVertexAttributeSet.
OC_QUADS | DEPRECATED Quads.
OC_QUADSTRIPS | DEPRECATED QuadStrips.
OC_TRIANGLES | DEPRECATED Triangles.
OC_TRISTRIPS | DEPRECATED TriStrips.
OC_LINES | DEPRECATED Lines.
OC_LINESTRIPS | DEPRECATED LineStrips.
OC_TRIFANS | DEPRECATED TriFans.
OC_POINTS | DEPRECATED Points.
OC_SHAPE | Shape.
OC_BITMAP | Bitmap.
OC_PIXMAP | Pixmap.
OC_MAPELEMENT | MapElement.
OC_MAPARRAY | MapArray.
OC_MAPMATRIX | MapMatrix.
OC_MAPLIST | MapList.
OC_QUADMESHES | QuadMeshes.
OC_SKIN | Skin.
OC_PATCHES | DEPRECATED Patches.
OC_RECT_PATCHES | RectPatches.
OC_QUAD_PATCHES | QuadPatches.
OC_QUAD_PATCHES_4X4 | QuadPatches4x4.
OC_TRI_PATCHES | TriPatches.
OC_TRI_PATCHES_4 | TriPatches4.
OC_PRIMITIVE | Generic Primitive.
OC_STATESET | StateSet = 0x40.
OC_STATEVARIANT | StateVariant.
OC_STATEPASS | StatePass.
OC_STATEATTRIBUTE | StateAttribute.
OC_CGFX | CgFX.
OC_RTFX | RTFx.
OC_RTFX_PROGRAM | RTFx Program.
OC_RTFX_SCENE_ATTRIBUTE | RTFxSceneAttribute.
OC_FACEATTRIBUTE | FaceAttribute.
OC_MATERIAL | Material.
OC_TEXTUREATTRIBUTE | TextureAttribute.
OC_TEXTUREATTRIBUTEITEM | TextureAttributeItem.
OC_STATESETEXT | StateSet for default and override state set.
OC_LINEATTRIBUTE | LineAttribute.
OC_LIGHTINGATTRIBUTE | LightingAttribute.
OC_POINTATTRIBUTE | PointAttribute.
OC_BLENDATTRIBUTE | BlendAttribute.
OC_ALPHATESTATTRIBUTE | AlphaTestAttribute.
OC_DEPTHATTRIBUTE | DepthAttribute.
OC_UNLITCOLORATTRIBUTE | UnlitColorAttribute.
OC_STENCILATTRIBUTE | StencilAttibute.
OC_RTBUFFERATTRIBUTE | Ray Tracing Buffer Attribute.
OC_ANIMATION | Animation = 0x60.
OC_INDEXANIMATION | IndexAnimation.
OC_TRAFOANIMATION | TrafoAnimation.
OC_VERTEXATTRIBUTEANIMATION | VertexAttributeAnimation.
OC_FRAMEDINDEXANIMATIONDESCRIPTION | FramedIndexAnimationDescription.
OC_FRAMEDTRAFOANIMATIONDESCRIPTION | FramedTrafoAnimationDescription.
OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION | LinearInterpolatedTrafoAnimationDescription.
OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION | FramedVertexAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION | LinearInterpolatedVertexAttributeAnimationDescription.
OC_FLOATANIMATION | FloatAnimation.
OC_VEC2FANIMATION | Vec2fAnimation.
OC_VEC3FANIMATION | Vec3fAnimation.
OC_VEC4FANIMATION | Vec4fAnimation.
OC_MAT33FANIMATION | Mat33fAnimation.
OC_MAT44FANIMATION | Mat44fAnimation.
OC_QUATFANIMATION | QuatffAnimation.
OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION | LinearInterpolatedFloatAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION | LinearInterpolatedVec2fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION | LinearInterpolatedVec3fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION | LinearInterpolatedVec4fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION | LinearInterpolatedMat33fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION | LinearInterpolatedMat44fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION | LinearInterpolatedQuatfAttributeAnimationDescription.
OC_CAMERA | Camera = 0x80.
OC_PARALLELCAMERA | ParallelCamera.
OC_PERSPECTIVECAMERA | PerspectiveCamera.
OC_MATRIXCAMERA | Matrix Camera.
OC_CUSTOMOBJECT | CustomObjects = 0xC0.

Function Documentation

bool isPtrTo ( const nvutil::HandledObjectWeakPtr & p ) [inline]

Detects if the WeakPtr p is a WeakPtr to a specified (templated) type.

Returns:
true if p is a WeakPtr to the specified type, false otherwise.

bool isPtrTo ( const nvutil::HandledObjectSharedPtr & p ) [inline]

Detects if the SharedPtr p is a SharedPtr to a specified (templated) type.

Returns:
true if p is a SharedPtr to the specified type, false otherwise.

bool areOfSameType | ( | const ObjectSharedPtr & | p0,
 |  | const ObjectSharedPtr & | p1
 | ) | [inline]

Detects if the two objects p0 and p1 are of the same type.

Returns:
true if p0 and p1 are of the same type, false otherwise.

Generated on Fri Jul 13 13:27:58 2012 for SceniX


SceniX: Object.h Source File

inc / nvsg / nvsg

Object.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <typeinfo>
00016 #include "nvsgcommon.h" // commonly used stuff
00017 #include "nvmath/Boxnt.h"
00018 #include "nvmath/Spherent.h"
00019 #include "nvsg/Callback.h"
00020 #include "nvsg/DAL.h" // base class definition
00021 #include "nvutil/HandledObject.h"
00022 #include "nvutil/HashGenerator.h"
00023 #include "nvutil/Incarnation.h"
00024 #include "nvutil/ReadableObject.h"
00025 #include "nvutil/SceniXIterator.h"
00026 #include "nvutil/SWMRSync.h"
00027
00028
00029 namespace nvsg
00030 {
00036   typedef unsigned long long DataID;
00037
00048   enum
00049   {
00050     OC_INVALID = 0xFFFFFFFF
00051   , OC_OBJECT = 0
00052   // nodes and node components (0x00-0x1F)
00053   , OC_NODE = OC_OBJECT
00054   , OC_GEONODE
00055   , OC_GROUP
00056   , OC_FLIPBOOKANIMATION
00057   , OC_LOD
00058   , OC_SWITCH
00059   , OC_TRANSFORM
00060   , OC_ANIMATEDTRANSFORM
00061   , OC_DIRECTEDLIGHT
00062   , OC_POINTLIGHT
00063   , OC_SPOTLIGHT
00064   , OC_BILLBOARD
00065   , OC_CLIPPLANE
00066   // drawables (0x20-0x3F)
00067   , OC_DRAWABLE = 0x20
00068   , OC_VERTEX_ATTRIBUTE_SET
00069   , OC_ANIMATED_VERTEX_ATTRIBUTE_SET
00070   , OC_QUADS
00071   , OC_QUADSTRIPS
00072   , OC_TRIANGLES
00073   , OC_TRISTRIPS
00074   , OC_LINES
00075   , OC_LINESTRIPS
00076   , OC_TRIFANS
00077   , OC_POINTS
00078   , OC_SHAPE
00079   , OC_BITMAP
00080   , OC_PIXMAP
00081   , OC_MAPELEMENT
00082   , OC_MAPARRAY
00083   , OC_MAPMATRIX
00084   , OC_MAPLIST
00085   , OC_QUADMESHES
00086   , OC_SKIN
00087   , OC_PATCHES
00088   , OC_RECT_PATCHES
00089   , OC_QUAD_PATCHES
00090   , OC_QUAD_PATCHES_4X4
00091   , OC_TRI_PATCHES
00092   , OC_TRI_PATCHES_4
00093   , OC_PRIMITIVE
00094   // states (0x40-0x5F)
00095   , OC_STATESET = 0x40
00096   , OC_STATEVARIANT
00097   , OC_STATEPASS
00098   , OC_STATEATTRIBUTE
00099   , OC_CGFX
00100   , OC_RTFX
00101   , OC_RTFX_PROGRAM
00102   , OC_RTFX_SCENE_ATTRIBUTE
00103   , OC_FACEATTRIBUTE
00104   , OC_MATERIAL
00105   , OC_TEXTUREATTRIBUTE
00106   , OC_TEXTUREATTRIBUTEITEM
00107   , OC_STATESETEXT
00108   , OC_LINEATTRIBUTE
00109   , OC_LIGHTINGATTRIBUTE
00110   , OC_POINTATTRIBUTE
00111   , OC_BLENDATTRIBUTE
00112   , OC_ALPHATESTATTRIBUTE
00113   , OC_DEPTHATTRIBUTE
00114   , OC_UNLITCOLORATTRIBUTE
00115   , OC_STENCILATTRIBUTE
00116   , OC_RTBUFFERATTRIBUTE
00117   // animations (0x60-0x7F)
00118   , OC_ANIMATION = 0x60
00119   , OC_INDEXANIMATION
00120   , OC_TRAFOANIMATION
00121   , OC_VERTEXATTRIBUTEANIMATION
00122   , OC_FRAMEDINDEXANIMATIONDESCRIPTION
00123   , OC_FRAMEDTRAFOANIMATIONDESCRIPTION
00124   , OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION
00125   , OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION
00126   , OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION
00127
00128   , OC_FLOATANIMATION
00129   , OC_VEC2FANIMATION
00130   , OC_VEC3FANIMATION
00131   , OC_VEC4FANIMATION
00132   , OC_MAT33FANIMATION
00133   , OC_MAT44FANIMATION
00134   , OC_QUATFANIMATION
00135
00136   , OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION
00137   , OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION
00138   , OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION
00139   , OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION
00140   , OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION
00141   , OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION
00142   , OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION
00143
00144   // cameras (0x80-0x9F)
00145   , OC_CAMERA = 0x80
00146   , OC_PARALLELCAMERA
00147   , OC_PERSPECTIVECAMERA
00148   , OC_MATRIXCAMERA
00149   // custom (0xC0 and higher)
00150   , OC_CUSTOMOBJECT = 0xC0
00151   };
00152
00163   class Object : public nvutil::HandledObject
00164   {
00165     public:
00166
00182     enum
00183     {
00187       NVSG_HINT_ALWAYS_VISIBLE                    = BIT0,    // always visible
00188
00194       NVSG_HINT_ALWAYS_INVISIBLE                  = BIT1,    // never visible
00195       NVSG_HINT_VISIBILITY_MASK = NVSG_HINT_ALWAYS_VISIBLE | NVSG_HINT_ALWAYS_INVISIBLE,
00196
00202       NVSG_HINT_NO_SHADOW_CASTER                  = BIT2,
00203
00209       NVSG_HINT_NO_SHADOW_RECEIVER                = BIT3,
00210
00215       NVSG_HINT_OVERLAY                           = BIT4,
00216
00221       NVSG_HINT_DYNAMIC                           = BIT5,
00222
00227       NVSG_HINT_DONT_CLIP                         = BIT6,
00228
00234       NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER = BIT7,
00235
00240       NVSG_HINT_INVISIBLE_TO_REFLECTIONS          = BIT8,
00241
00246       NVSG_HINT_INVISIBLE_TO_REFRACTIONS          = BIT9,
00247
00248       NVSG_HINT_LAST_HINT                         = NVSG_HINT_INVISIBLE_TO_REFRACTIONS,
00249
00251       NVSG_HINT_ALL_HINTS                         = (NVSG_HINT_LAST_HINT << 1) - 1
00252     };
00253
00254     enum
00255     {
00256       // incarnation state
00257       NVSG_INCARNATION                        = NVSG_HINT_LAST_HINT               << 1,
00258       NVSG_TREE_INCARNATION                   = NVSG_INCARNATION                  << 1,
00259       NVSG_SWITCH_INCARNATION                 = NVSG_TREE_INCARNATION             << 1,
00260       NVSG_MATERIAL_INCARNATION               = NVSG_SWITCH_INCARNATION           << 1,
00261       NVSG_BOUNDING_VOLUME_INCARNATION        = NVSG_MATERIAL_INCARNATION         << 1,
00262       NVSG_VAS_INCARNATION                    = NVSG_BOUNDING_VOLUME_INCARNATION  << 1,
00263       NVSG_INDEXSET_INCARNATION               = NVSG_VAS_INCARNATION              << 1,
00264       NVSG_PRIMITIVE_INCARNATION              = NVSG_INDEXSET_INCARNATION         << 1,
00265
00266       // bounding volume state
00267       NVSG_BOUNDING_BOX                       = NVSG_PRIMITIVE_INCARNATION        << 1,
00268       NVSG_BOUNDING_SPHERE                    = NVSG_BOUNDING_BOX                 << 1,
00269
00270       NVSG_BOUNDING_VOLUMES                   = NVSG_BOUNDING_BOX |
00271                                                 NVSG_BOUNDING_SPHERE |
00272                                                 NVSG_BOUNDING_VOLUME_INCARNATION,
00273       // containment state
00274       NVSG_CONTAINS_SHADER                    = NVSG_BOUNDING_SPHERE                    << 1,
00275       NVSG_CONTAINS_TRANSPARENCY              = NVSG_CONTAINS_SHADER                    << 1,
00276       NVSG_CONTAINS_LIGHT                     = NVSG_CONTAINS_TRANSPARENCY              << 1,
00277       NVSG_CONTAINS_LOD                       = NVSG_CONTAINS_LIGHT                     << 1,
00278       NVSG_CONTAINS_ANIMATION                 = NVSG_CONTAINS_LOD                       << 1,
00279
00280       NVSG_CONTAINS_MASK                      = NVSG_CONTAINS_SHADER |
00281                                                 NVSG_CONTAINS_TRANSPARENCY |
00282                                                 NVSG_CONTAINS_LIGHT |
00283                                                 NVSG_CONTAINS_LOD |
00284                                                 NVSG_CONTAINS_ANIMATION,
00285       // hash key state
00286       NVSG_HASH_KEY                           = NVSG_CONTAINS_ANIMATION                 << 1
00287     };
00288
00289   public:
00291     typedef std::vector<nvutil::SmartPtr<Callback> >                          CallbackContainer;
00292
00294     typedef nvutil::SceniXIterator<Object,CallbackContainer::iterator>        CallbackIterator;
00295
00297     typedef nvutil::SceniXIterator<Object,CallbackContainer::const_iterator>  CallbackConstIterator;
00298
00299    public:
00302     NVSG_API Object();
00303
00306     NVSG_API Object( const Object& rhs );
00307
00310     NVSG_API virtual ~Object();
00311
00325     unsigned int getObjectCode() const;
00326
00354     NVSG_API virtual unsigned int getHigherLevelObjectCode(unsigned int oc) const;
00355
00377     NVSG_API virtual bool isDataShared() const;
00378
00390     NVSG_API virtual DataID getDataID() const;
00391
00392     NVSG_API virtual void notifyChange( const Subject * originator, unsigned int state = 0 ) const;
00393
00402     NVSG_API void setName(const std::string& name);
00403
00411     NVSG_API const std::string& getName() const;
00412
00420     NVSG_API void setAnnotation(const std::string& anno);
00421
00428     NVSG_API const std::string& getAnnotation() const;
00429
00446     NVSG_API virtual bool isEquivalent( const Object * object
00447                                       , bool ignoreNames = true
00448                                       , bool deepCompare = false) const;
00449
00466     NVSG_API void setUserData(const void* userData);
00467
00474     NVSG_API const void* getUserData() const;
00475
00476     NVSG_API unsigned int getHints() const;
00477     NVSG_API unsigned int getHints( unsigned int mask ) const;
00478     NVSG_API void setHints( unsigned int hints );
00479     NVSG_API void addHints( unsigned int hints );
00480     NVSG_API void removeHints( unsigned int hints );
00481     NVSG_API const nvmath::Box3f & getBoundingBox() const;
00482     NVSG_API const nvmath::Sphere3f & getBoundingSphere() const;
00483     NVSG_API const nvutil::Incarnation& getIncarnation() const;
00484     NVSG_API const nvutil::Incarnation& getTreeIncarnation() const;
00485     NVSG_API const nvutil::Incarnation& getBoundingVolumeIncarnation() const;
00486     NVSG_API const nvutil::Incarnation& getSwitchIncarnation() const;
00487     NVSG_API const nvutil::Incarnation& getMaterialIncarnation() const;
00488     NVSG_API const nvutil::Incarnation& getVertexAttributeSetIncarnation() const;
00489     NVSG_API const nvutil::Incarnation& getIndexSetIncarnation() const;
00490     NVSG_API const nvutil::Incarnation& getPrimitiveIncarnation() const;
00491     NVSG_API const nvutil::Incarnation& getHintsIncarnation() const;
00492
00499     NVSG_API HashKey getHashKey() const;
00500
00501     NVSG_API unsigned int getContainedHints(unsigned int which) const;
00502     NVSG_API bool containsHints(unsigned int which) const;
00503     NVSG_API bool containsShader() const;
00504     NVSG_API bool containsTransparency() const;
00505     NVSG_API bool containsAnimation() const;
00506     NVSG_API bool containsLight() const;
00507     NVSG_API bool containsLOD() const;
00508
00509     /*  \brief Get the number of AppTraverserCallbacks in this object.
00510      *  \return The number of AppTraverserCallbacks in this object.
00511      *  \remarks AppTraverserCallbacks are invoked from AppTraverser::postTraverseObject. That is, whenever
00512      *  an object has been traversed by the AppTraverser, its app traverser callbacks are called.
00513      *  \sa Callback, AppTraverser, beginAppTraverserCallbacks, endAppTraverserCallbacks, addAppTraverserCallback,
00514      *  removeAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback */
00515     NVSG_API unsigned int getNumberOfAppTraverserCallbacks() const;
00516
00521     NVSG_API CallbackConstIterator beginAppTraverserCallbacks() const;
00522
00527     NVSG_API CallbackIterator beginAppTraverserCallbacks();
00528
00533     NVSG_API CallbackConstIterator endAppTraverserCallbacks() const;
00534
00539     NVSG_API CallbackIterator endAppTraverserCallbacks();
00540
00546     NVSG_API CallbackIterator addAppTraverserCallback( Callback * cb );
00547
00553     NVSG_API bool removeAppTraverserCallback( const Callback * cb );
00554
00561     NVSG_API CallbackIterator removeAppTraverserCallback( const CallbackIterator & ci );
00562
00566     NVSG_API void clearAppTraverserCallbacks();
00567
00568     /*  \brief Find a specified AppTraverserCallback in this Object.
00569      *  \param cb The Callback to find.
00570      *  \return A const iteator to the found AppTraverserCallback in this Object.
00571      *  \sa Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks,
00572      *  endAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, clearAppTraverserCallbacks */
00573     NVSG_API CallbackConstIterator findAppTraverserCallback( const Callback * cb ) const;
00574
00575     /*  \brief Find a specified AppTraverserCallback in this Object.
00576      *  \param cb The Callback to find.
00577      *  \return An iteator to the found AppTraverserCallback in this Object.
00578      *  \sa Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks,
00579      *  endAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, clearAppTraverserCallbacks */
00580     NVSG_API CallbackIterator findAppTraverserCallback( const Callback * cb );
00581
00590     NVSG_API void setTraversalMask( unsigned int mask );
00591
00592     /*  \brief Get the Traversal Mask
00593      *  \return The current traversal mask.
00594      *  \sa setTraversalMask, nvsg::ViewState::getTraversalMask */
00595     NVSG_API unsigned int getTraversalMask() const;
00596
00597     NVSG_API const DALHostSharedPtr & getDALHost() const;
00598
00599     NVSG_API void releaseDALData();
00600
00601   // exposed properties for reflection
00602   public:
00603     REFLECTION_INFO_API( NVSG_API, Object );
00604       BEGIN_DECLARE_STATIC_PROPERTIES
00605           NVSG_API DECLARE_STATIC_PROPERTY( Name );
00606           NVSG_API DECLARE_STATIC_PROPERTY( Annotation );
00607           NVSG_API DECLARE_STATIC_PROPERTY( Hints );
00608           NVSG_API DECLARE_STATIC_PROPERTY( TraversalMask );
00609       END_DECLARE_STATIC_PROPERTIES
00610
00611   protected: // accessible for derived classes
00621     NVSG_API Object & operator=(const Object & rhs);
00622
00623     NVSG_API virtual unsigned int determineHintsContainment(unsigned int which) const;
00624     NVSG_API virtual bool determineShaderContainment() const;
00625     NVSG_API virtual bool determineTransparencyContainment() const;
00626     NVSG_API virtual bool determineAnimationContainment() const;
00627     NVSG_API virtual bool determineLightContainment() const;
00628     NVSG_API virtual bool determineLODContainment() const;
00629     NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00630     NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00631     NVSG_API virtual const nvmath::Box3f & getBoundingBox( bool recalculate ) const;
00632     NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( bool recalculate ) const;
00633
00637     NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00638
00639     typedef const nvutil::Incarnation& (Object::*PFNGETINCARNATION)() const;
00640     NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00641
00642     NVSG_API virtual void incrementHintsIncarnation() const;
00643     NVSG_API virtual const nvutil::Incarnation & queryHintsIncarnation() const;
00644     NVSG_API virtual void incrementIndexSetIncarnation() const;
00645     NVSG_API virtual const nvutil::Incarnation & queryIndexSetIncarnation() const;
00646     NVSG_API virtual void incrementMaterialIncarnation() const;
00647     NVSG_API virtual const nvutil::Incarnation & queryMaterialIncarnation() const;
00648     NVSG_API virtual void incrementPrimitiveIncarnation() const;
00649     NVSG_API virtual const nvutil::Incarnation & queryPrimitiveIncarnation() const;
00650     NVSG_API virtual void incrementSwitchIncarnation() const;
00651     NVSG_API virtual const nvutil::Incarnation & querySwitchIncarnation() const;
00652     NVSG_API virtual void incrementVertexAttributeSetIncarnation() const;
00653     NVSG_API virtual const nvutil::Incarnation & queryVertexAttributeSetIncarnation() const;
00654
00655   protected:
00681     unsigned int m_objectCode;
00682
00683     mutable unsigned int     m_flags; // containment, contained hints
00684     mutable HashKey          m_hashKey;
00685
00686   private:
00687     std::string     * m_name; // optional name
00688     std::string     * m_annotation; // optional annotation specified for the object
00689
00690     const void      * m_userData; // dumb pointer to arbitrary user data
00691     unsigned int      m_hints;  // object exclusive hints
00692     unsigned int      m_traversalMask; // object traversal mask
00693
00694     CallbackContainer * m_appTraverserCallbacks;  // callbacks called on AppTraverser traversal
00695
00696     mutable nvutil::Incarnation  m_incarnation;     // tracks net changes
00697     mutable nvutil::Incarnation  m_treeIncarnation; // tracks tree changes
00698     mutable nvutil::Incarnation  m_bvIncarnation; // tracks BV changes
00699
00700     mutable unsigned int      m_dirtyState;
00701     mutable DALHostSharedPtr  m_dalHost;
00702
00703     static nvmath::Box3f        m_defaultBoundingBox;
00704     static nvmath::Sphere3f     m_defaultBoundingSphere;
00705     static CallbackContainer    m_dummyCallbackContainer;
00706     static nvutil::Incarnation  m_dummyIncarnation;
00707   };
00708
00709   NVSG_API void copy( const ObjectReadLock & src, const ObjectWriteLock & dst );
00710
00711 #if !defined(NDEBUG)
00712   template <typename T>
00713   inline void NVSG_ASSERT_OBJECT_WRITE_LOCKED(const T* obj)
00714   {
00715     nvutil::getWeakPtr<nvutil::HandledObject>(obj)->assertWriteLocked();
00716   }
00717   template <typename T>
00718   inline void NVSG_ASSERT_OBJECT_READ_LOCKED(const T* obj)
00719   {
00720     nvutil::getWeakPtr<nvutil::HandledObject>(obj)->assertReadLocked();
00721   }
00722 #else
00723 # define NVSG_ASSERT_OBJECT_WRITE_LOCKED(x) static_cast<void*>(0);
00724 # define NVSG_ASSERT_OBJECT_READ_LOCKED(x) static_cast<void*>(0);
00725 #endif
00726
00727   inline unsigned int Object::getObjectCode() const
00728   {
00729     NVSG_TRACE();
00730     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00731     return m_objectCode;
00732   }
00733
00734   inline void Object::setUserData(const void * userData)
00735   {
00736     NVSG_TRACE();
00737     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00738     if ( m_userData != userData )
00739     {
00740       m_userData = userData; // no sanity check!
00741       notifyChange( this );
00742     }
00743   }
00744
00745   inline const void * Object::getUserData() const
00746   {
00747     NVSG_TRACE();
00748     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00749     return m_userData;
00750   }
00751
00752   inline unsigned int Object::getHints() const
00753   {
00754     NVSG_TRACE();
00755     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00756     return( getHints(~0) );
00757   }
00758
00759   inline unsigned int Object::getHints( unsigned int mask ) const
00760   {
00761     NVSG_TRACE();
00762     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00763     return( m_hints & mask );
00764   }
00765
00766   inline void Object::setHints( unsigned int hints )
00767   {
00768     NVSG_TRACE();
00769     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00770     if ( m_hints != hints )
00771     {
00772       unsigned int changedHints = ( hints & ~m_hints ) | ( ~hints & m_hints );
00773       m_hints = hints;
00774       notifyChange( this, changedHints );
00775       notify( PID_Hints );
00776     }
00777   }
00778
00779   inline void Object::addHints( unsigned int hints )
00780   {
00781     NVSG_TRACE();
00782     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00783     unsigned int changedHints = hints & ~m_hints;
00784     if ( changedHints )
00785     {
00786       m_hints |= hints;
00787       notifyChange( this, changedHints );
00788       notify( PID_Hints );
00789     }
00790   }
00791
00792   inline void Object::removeHints( unsigned int hints )
00793   {
00794     NVSG_TRACE();
00795     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00796     unsigned int changedHints = hints & m_hints;
00797     if ( changedHints )
00798     {
00799       m_hints &= ~hints;
00800       notifyChange( this, changedHints );
00801       notify( PID_Hints );
00802     }
00803   }
00804
00805   inline unsigned int Object::getNumberOfAppTraverserCallbacks() const
00806   {
00807     NVSG_TRACE();
00808     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00809     return( m_appTraverserCallbacks ? checked_cast<unsigned int>(m_appTraverserCallbacks->size()) : 0 );
00810   }
00811
00812   inline Object::CallbackConstIterator Object::beginAppTraverserCallbacks() const
00813   {
00814     NVSG_TRACE();
00815     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00816     return( CallbackConstIterator( m_appTraverserCallbacks ? m_appTraverserCallbacks->begin() : m_dummyCallbackContainer.begin() ) );
00817   }
00818
00819   inline Object::CallbackIterator Object::beginAppTraverserCallbacks()
00820   {
00821     NVSG_TRACE();
00822     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00823     return( CallbackIterator( m_appTraverserCallbacks ? m_appTraverserCallbacks->begin() : m_dummyCallbackContainer.begin() ) );
00824   }
00825
00826   inline Object::CallbackConstIterator Object::endAppTraverserCallbacks() const
00827   {
00828     NVSG_TRACE();
00829     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00830     return( CallbackConstIterator( m_appTraverserCallbacks ? m_appTraverserCallbacks->end() : m_dummyCallbackContainer.end() ) );
00831   }
00832
00833   inline Object::CallbackIterator Object::endAppTraverserCallbacks()
00834   {
00835     NVSG_TRACE();
00836     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00837     return( CallbackIterator( m_appTraverserCallbacks ? m_appTraverserCallbacks->end() : m_dummyCallbackContainer.end() ) );
00838   }
00839
00840   inline Object::CallbackIterator Object::removeAppTraverserCallback( const CallbackIterator & ci )
00841   {
00842     NVSG_TRACE();
00843     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00844     return( CallbackIterator( m_appTraverserCallbacks ? m_appTraverserCallbacks->erase( ci.m_iter ) : m_dummyCallbackContainer.end() ) );
00845   }
00846
00847   inline void Object::clearAppTraverserCallbacks()
00848   {
00849     NVSG_TRACE();
00850     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00851     if ( m_appTraverserCallbacks )
00852     {
00853       m_appTraverserCallbacks->clear();
00854     }
00855   }
00856
00857   inline Object::CallbackConstIterator Object::findAppTraverserCallback( const Callback * cb ) const
00858   {
00859     NVSG_TRACE();
00860     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00861     return( CallbackConstIterator( m_appTraverserCallbacks ? std::find( m_appTraverserCallbacks->begin(), m_appTraverserCallbacks->end(), cb ) : m_dummyCallbackContainer.end() ) );
00862   }
00863
00864   inline Object::CallbackIterator Object::findAppTraverserCallback( const Callback * cb )
00865   {
00866     NVSG_TRACE();
00867     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00868     return( CallbackIterator( m_appTraverserCallbacks ? std::find( m_appTraverserCallbacks->begin(), m_appTraverserCallbacks->end(), cb ) : m_dummyCallbackContainer.end() ) );
00869   }
00870
00871   inline unsigned int Object::getTraversalMask() const
00872   {
00873     NVSG_TRACE();
00874     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00875     return( m_traversalMask );
00876   }
00877
00878   inline void Object::setTraversalMask( unsigned int mask )
00879   {
00880     NVSG_TRACE();
00881     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00882     if ( m_traversalMask != mask )
00883     {
00884       m_traversalMask = mask;
00885       notifyChange( this );
00886       notify( PID_TraversalMask );
00887     }
00888   }
00889
00890   inline void Object::incrementHintsIncarnation() const
00891   {
00892   }
00893
00894   inline const nvutil::Incarnation & Object::queryHintsIncarnation() const
00895   {
00896     return( m_dummyIncarnation );
00897   }
00898
00899   inline void Object::incrementIndexSetIncarnation() const
00900   {
00901   }
00902
00903   inline const nvutil::Incarnation & Object::queryIndexSetIncarnation() const
00904   {
00905     return( m_dummyIncarnation );
00906   }
00907
00908   inline void Object::incrementMaterialIncarnation() const
00909   {
00910   }
00911
00912   inline const nvutil::Incarnation & Object::queryMaterialIncarnation() const
00913   {
00914     return( m_dummyIncarnation );
00915   }
00916
00917   inline void Object::incrementPrimitiveIncarnation() const
00918   {
00919   }
00920
00921   inline const nvutil::Incarnation & Object::queryPrimitiveIncarnation() const
00922   {
00923     return( m_dummyIncarnation );
00924   }
00925
00926   inline void Object::incrementSwitchIncarnation() const
00927   {
00928   }
00929
00930   inline const nvutil::Incarnation & Object::querySwitchIncarnation() const
00931   {
00932     return( m_dummyIncarnation );
00933   }
00934
00935   inline void Object::incrementVertexAttributeSetIncarnation() const
00936   {
00937   }
00938
00939   inline const nvutil::Incarnation & Object::queryVertexAttributeSetIncarnation() const
00940   {
00941     return( m_dummyIncarnation );
00942   }
00943
00945
00946   template<typename T>
00947   inline bool isPtrTo( const nvutil::HandledObjectWeakPtr & p )
00948   {
00949     return( dynamic_cast<const typename nvutil::ObjectTraits<T>::Handle *>( p ) != NULL );
00950   }
00951
00953
00954   template<typename T>
00955   inline bool isPtrTo( const nvutil::HandledObjectSharedPtr & p )
00956   {
00957     return( isPtrTo<T>( p.get() ) );
00958   }
00959
00961
00962   inline bool areOfSameType( const ObjectSharedPtr & p0, const ObjectSharedPtr & p1 )
00963   { // found not initialized object codes if one of the following fires
00964     ObjectReadLock obj0(p0);
00965     ObjectReadLock obj1(p1);
00966     NVSG_ASSERT(obj0->getObjectCode()!=OC_INVALID);
00967     NVSG_ASSERT(obj1->getObjectCode()!=OC_INVALID);
00968     return( obj0->getObjectCode()==obj1->getObjectCode() );
00969   }
00970
00971 #if !defined(DOXYGEN_IGNORE)
00972   template <typename T, typename U>
00973   inline T object_cast_impl(const nvutil::ReadableObject<U>& obj)
00974   {
00975     NVSG_CTASSERT(!!(nvutil::Conversion<T,const U*>::exists));
00976     return dynamic_cast<T>(obj.operator->());
00977   }
00978
00979   template <typename T, typename U>
00980   inline T object_cast_impl(const nvutil::WritableObject<U>&  obj)
00981   {
00982     NVSG_CTASSERT(!!(nvutil::Conversion<T,U*>::exists));
00983     return dynamic_cast<T>(obj.operator->());
00984   }
00985 #endif
00986
00987 #define object_cast object_cast_impl
00988 // for downward compatibility
00989 #define node_cast object_cast_impl
00990 #define drawable_cast object_cast_impl
00991 #define light_cast object_cast_impl
00992 #define camera_cast object_cast_impl
00993
00994
01023 } //  namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ObjectRenderer.h File Reference

inc / nvsg / nvsg

ObjectRenderer.h File Reference

#include <nvsg/CgFx.h>
#include <nvsg/CoreTypes.h>
#include <nvsg/Object.h>
#include <nvsg/Resource.h>
#include <nvsg/RenderList2.h>
#include <nvutil/MemFunTbl.h>
#include <nvui/RendererOptions.h>
#include <memory>

Include dependency graph for ObjectRenderer.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvutil

Typedefs

typedef nvutil::SmartPtr<
RenderObject > 		RenderObjectSharedPtr
typedef nvutil::SmartPtr<
RenderObjectCreator > 		RenderObjectCreatorSharedPtr

Variables

typedef nvutil::SmartPtr<
ObjectRenderer > 		ObjectRendererSharedPtr

Detailed Description

Generated on Fri Jul 13 13:27:59 2012 for SceniX


SceniX: ObjectRenderer.h Source File

inc / nvsg / nvsg

ObjectRenderer.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <nvsg/CgFx.h>
00016 #include <nvsg/CoreTypes.h>
00017 #include <nvsg/Object.h>
00018 #include <nvsg/Resource.h>
00019 #include <nvsg/RenderList2.h>
00020 #include <nvutil/MemFunTbl.h>
00021 #include <nvui/RendererOptions.h>
00022 #include <memory>
00023
00024 namespace nvsg
00025 {
00026
00027   /*** RenderObject ***/
00028   class RenderObject : public NodeExecutionObject
00029   {
00030   };
00031
00032   typedef nvutil::SmartPtr<RenderObject> RenderObjectSharedPtr;
00033
00034   /*** RenderObjectCreator ***/
00035   class RenderObjectCreator : public nvutil::RCObject
00036   {
00037   public:
00038     virtual RenderObjectSharedPtr createRenderObject( const ObjectSharedPtr& o ) = 0;
00039   };
00040   typedef nvutil::SmartPtr< RenderObjectCreator > RenderObjectCreatorSharedPtr;
00041
00042   /*** RenderObjectTmpl ***/
00043   template< typename ObjectRendererClass, typename ObjectType >
00044   class RenderObjectTmpl : public RenderObject
00045   {
00046   public:
00047     typedef void(ObjectRendererClass::*FunctionPtr)(const typename nvutil::ObjectTraits<ObjectType>::SharedPtr& obj, const nvsg::ResourceSharedPtr& );
00048     typedef void(ObjectRendererClass::*FunctionPtr2)(const typename nvutil::ObjectTraits<ObjectType>::SharedPtr& obj, nvsg::ResourceSharedPtr& );
00049
00050   public:
00051     RenderObjectTmpl( ObjectRendererClass* objectRenderer,
00052                       FunctionPtr beginFunc,
00053                       FunctionPtr endFunc,
00054                       FunctionPtr2 updateFunc,
00055                       const typename nvutil::ObjectTraits<ObjectType>::SharedPtr& obj )
00056       : m_objectRenderer( objectRenderer )
00057       , m_beginFunc( beginFunc )
00058       , m_endFunc( endFunc )
00059       , m_updateFunc( updateFunc )
00060       , m_obj( obj )
00061     {
00062       NVSG_ASSERT( beginFunc );
00063       NVSG_ASSERT( endFunc );
00064       NVSG_ASSERT( updateFunc );
00065
00066       (m_objectRenderer->*m_updateFunc)(m_obj, m_resource );
00067     }
00068
00069     virtual void callBeginFunc( )
00070     {
00071       (m_objectRenderer->*m_beginFunc)(m_obj, m_resource );
00072     }
00073
00074     virtual void callEndFunc( )
00075     {
00076       (m_objectRenderer->*m_endFunc)(m_obj, m_resource );
00077     }
00078
00079     virtual void callUpdateFunc( )
00080     {
00081       (m_objectRenderer->*m_updateFunc)(m_obj, m_resource );
00082     }
00083
00084   private:
00085     RenderObjectTmpl(){}
00086
00087   private:
00088     ObjectRendererClass*                                 m_objectRenderer;
00089     FunctionPtr                                          m_beginFunc;
00090     FunctionPtr                                          m_endFunc;
00091     FunctionPtr2                                         m_updateFunc;
00092     typename nvutil::ObjectTraits<ObjectType>::SharedPtr m_obj;
00093     nvsg::ResourceSharedPtr                              m_resource;
00094   };
00095
00096   /*** RenderObjectCreatorTmpl ***/
00097   template< typename ObjectRendererClass, typename ObjectType, typename RenderObjectClass = RenderObjectTmpl<ObjectRendererClass, ObjectType> >
00098   class RenderObjectCreatorTmpl : public RenderObjectCreator
00099   {
00100   public:
00101     // define 'FunctionPtr' function pointer type
00102     typedef void(ObjectRendererClass::*FunctionPtr)(const typename nvutil::ObjectTraits<ObjectType>::SharedPtr& obj, const nvsg::ResourceSharedPtr& );
00103     typedef void(ObjectRendererClass::*FunctionPtr2)(const typename nvutil::ObjectTraits<ObjectType>::SharedPtr& obj, nvsg::ResourceSharedPtr& );
00104
00105   protected:
00106     RenderObjectCreatorTmpl( ObjectRendererClass* objectRenderer, FunctionPtr funcBegin, FunctionPtr funcEnd, FunctionPtr2 funcUpdate )
00107       : m_objectRenderer( objectRenderer )
00108       , m_funcBegin( funcBegin )
00109       , m_funcEnd( funcEnd )
00110       , m_funcUpdate( funcUpdate )
00111     {}
00112
00113   public:
00114     static RenderObjectCreatorSharedPtr create( ObjectRendererClass* objectRenderer, FunctionPtr funcBegin, FunctionPtr funcEnd, FunctionPtr2 funcUpdate  )
00115     {
00116       return new RenderObjectCreatorTmpl( objectRenderer, funcBegin, funcEnd, funcUpdate );
00117     }
00118
00119     // Override RenderObjectCreator::createRenderObject with same signature
00120     virtual RenderObjectSharedPtr createRenderObject( const ObjectSharedPtr& o )
00121     {
00122       // cast o to the correct shared ptr type
00123       const typename nvutil::ObjectTraits< ObjectType >::SharedPtr obj(
00124         nvutil::smart_cast< typename nvutil::ObjectTraits<ObjectType>::Handle >(o) );
00125       return new RenderObjectClass( m_objectRenderer, m_funcBegin, m_funcEnd, m_funcUpdate, obj );
00126     }
00127
00128   protected:
00129     ObjectRendererClass* m_objectRenderer;
00130     FunctionPtr          m_funcBegin;
00131     FunctionPtr          m_funcEnd;
00132     FunctionPtr2         m_funcUpdate;
00133   };
00134
00135
00136
00137   /*** ObjectRenderer ***/
00138   class ObjectRenderer;
00139   typedef nvutil::SmartPtr< ObjectRenderer > ObjectRendererSharedPtr;
00140   class ObjectRenderer : public nvutil::RCObject
00141                        , public nvui::RendererOptionsProvider
00142   {
00143   public:
00144     enum PolygonMode
00145     {
00146       POLYGONMODE_POINT,
00147       POLYGONMODE_LINE,
00148       POLYGONMODE_FACE
00149     };
00150
00151   public:
00152     NVSG_API ObjectRenderer();
00153     NVSG_API virtual ~ObjectRenderer()  { /* NOP */ };
00154
00155     NVSG_API void setRenderState(const RenderStateSharedPtr& renderState)
00156     {
00157       m_renderState = renderState;
00158     }
00159
00160     NVSG_API bool isSupportedOC( unsigned int objectCode );
00161
00162     void beginRender( const nvsg::ObjectSharedPtr& oh );
00163     void endRender( const nvsg::ObjectSharedPtr& oh );
00164
00165     template <typename T>
00166     void beginRender( const nvsg::ObjectSharedPtr& oh, T& arg );
00167     template <typename T>
00168     void endRender( const nvsg::ObjectSharedPtr& oh, T& arg );
00169
00170     template <typename T>
00171     void beginRenderOC( const nvsg::ObjectSharedPtr& oh, unsigned int objectCode, T& arg );
00172     template <typename T>
00173     void endRenderOC( const nvsg::ObjectSharedPtr& oh, unsigned int objectCode, T& arg );
00174
00175     template <typename T, typename U>
00176     void beginRender( const nvsg::ObjectSharedPtr& oh, T& arg0, U& arg1 );
00177     template <typename T, typename U>
00178     void endRender( const nvsg::ObjectSharedPtr& oh, T& arg0, U& arg1 );
00179
00180     void beginRenderFrame();
00181     void endRenderFrame();
00182
00183     void beginRenderMode( unsigned int mode );
00184     void endRenderMode( unsigned int mode );
00185
00186     void enableClipPlanes();
00187     void disableClipPlanes();
00188
00189     std::map< unsigned int, RenderObjectCreatorSharedPtr > m_objectRendererCreators;
00190
00191     inline void addObjectRendererCreator( unsigned int objectCode, const RenderObjectCreatorSharedPtr & creator )
00192     {
00193       m_objectRendererCreators[ objectCode ] = creator;
00194     }
00195
00196     template< typename ObjectType,
00197       void (ObjectRenderer::*fnBegin) (const ObjectType*, const nvsg::ResourceSharedPtr&),
00198       void (ObjectRenderer::*fnEnd) (const ObjectType*, const nvsg::ResourceSharedPtr&) >
00199     RenderObjectSharedPtr create( const ObjectSharedPtr& o )
00200     {
00201       return new RenderObjectTmpl< ObjectRenderer, ObjectType >( this, fnBegin, fnEnd, o );
00202     }
00203
00204     RenderObjectSharedPtr createRenderObject( const ObjectSharedPtr& o )
00205     {
00206       unsigned int oc = getObjectRenderCode(ObjectReadLock(o));
00207       if ( nvsg::OC_INVALID != oc )
00208       {
00209         return m_objectRendererCreators[oc]->createRenderObject(o);
00210       }
00211       NVSG_ASSERT(!"Encountered invalid object code!");
00212       return nullptr;
00213     }
00214
00215     NVSG_API static const std::string& getOptionStringTessellationEnabled()
00216     {
00217       static std::string s("nvsg::ObjectRenderer::TessellationEnabled");
00218       return s;
00219     }
00220
00221     NVSG_API static const std::string& getOptionStringPolygonMode()
00222     {
00223       static std::string s("nvsg::ObjectRenderer::PolygonMode" );
00224       return s;
00225     }
00226
00227     enum RenderTechnique
00228     {
00229       RENDERTECHNIQUE_UNLIT,
00230       RENDERTECHNIQUE_SHADED,
00231       RENDERTECHNIQUE_TEXTURED,
00232       RENDERTECHNIQUE_EFFECTED
00233     };
00234
00235     NVSG_API static const std::string& getOptionStringRenderTechnique()
00236     {
00237       static std::string s("nvsg::ObjectRenderer::RenderTechnique");
00238       return s;
00239     }
00240
00241     NVSG_API static const std::string& getOptionStringPreserveTexturesAfterUpload()
00242     {
00243       static std::string s("nvsg::ObjectRenderer::PreserveTexturesAfterUpload");
00244       return s;
00245     }
00246
00247   protected:
00248     NVSG_API virtual void doAddRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00249     NVSG_API virtual void doSetRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00250
00251     template<typename RendererType>
00252     void addObjectBeginRenderer( unsigned int objectCode, RendererType renderer );
00253
00254     template<typename RendererType>
00255     void addObjectEndRenderer( unsigned int objectCode, RendererType renderer );
00256
00257     unsigned int getObjectRenderCode( const nvsg::Object * obj );
00258
00259     void render( const nvsg::ObjectSharedPtr& oh, nvutil::MemFunTbl<ObjectRenderer>& funTbl );
00260
00261     template <typename T>
00262     void render( const nvsg::ObjectSharedPtr& oh, nvutil::MemFunTbl<ObjectRenderer>& funTbl, T& arg );
00263
00264     template <typename T>
00265     void renderOC( const nvsg::ObjectSharedPtr& oh, unsigned int objectCode, nvutil::MemFunTbl<ObjectRenderer>& funTbl, T& arg );
00266
00267     template <typename T, typename U>
00268     void render( const nvsg::ObjectSharedPtr& oh, nvutil::MemFunTbl<ObjectRenderer>& funTbl, T& arg0, U& arg1 );
00269
00270   protected:
00271     NVSG_API virtual void doBeginRenderFrame();
00272     NVSG_API virtual void doEndRenderFrame();
00273
00274     NVSG_API virtual void doBeginRenderMode( unsigned int mode );
00275     NVSG_API virtual void doEndRenderMode( unsigned int mode );
00276
00277     NVSG_API virtual void doEnableClipPlanes();
00278     NVSG_API virtual void doDisableClipPlanes();
00279
00280   public:
00281     // these must be called in derived functions!
00282     NVSG_API virtual void beginRenderBlendAttribute( const nvsg::BlendAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00283     NVSG_API virtual void beginRenderCgFx( const nvsg::CgFxSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00284     NVSG_API virtual void beginRenderClipPlane( const nvsg::ClipPlaneSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00285     NVSG_API virtual void beginRenderDirectedLight( const nvsg::DirectedLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00286     NVSG_API virtual void beginRenderFaceAttribute( const nvsg::FaceAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00287     NVSG_API virtual void beginRenderMatrixCamera( const nvsg::MatrixCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00288     NVSG_API virtual void beginRenderParallelCamera( const nvsg::ParallelCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00289     NVSG_API virtual void beginRenderPerspectiveCamera( const nvsg::PerspectiveCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00290     NVSG_API virtual void beginRenderPointLight( const nvsg::PointLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00291     NVSG_API virtual void beginRenderSpotLight( const nvsg::SpotLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00292     NVSG_API virtual void beginRenderStatePass( const nvsg::StatePassSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00293     NVSG_API virtual void beginRenderTextureAttribute( const nvsg::TextureAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00294
00295     NVSG_API virtual void endRenderBlendAttribute( const nvsg::BlendAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00296     NVSG_API virtual void endRenderCgFx( const nvsg::CgFxSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00297     NVSG_API virtual void endRenderClipPlane( const nvsg::ClipPlaneSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00298     NVSG_API virtual void endRenderDirectedLight( const nvsg::DirectedLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00299     NVSG_API virtual void endRenderFaceAttribute( const nvsg::FaceAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00300     NVSG_API virtual void endRenderPointLight( const nvsg::PointLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00301     NVSG_API virtual void endRenderSpotLight( const nvsg::SpotLightSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00302     NVSG_API virtual void endRenderStatePass( const nvsg::StatePassSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00303     NVSG_API virtual void endRenderTextureAttribute( const nvsg::TextureAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00304
00305     NVSG_API virtual void updateRenderBlendAttribute( const nvsg::BlendAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00306     NVSG_API virtual void updateRenderCgFx( const nvsg::CgFxSharedPtr &p, nvsg::ResourceSharedPtr& res );
00307     NVSG_API virtual void updateRenderClipPlane( const nvsg::ClipPlaneSharedPtr &p, nvsg::ResourceSharedPtr& res );
00308     NVSG_API virtual void updateRenderDirectedLight( const nvsg::DirectedLightSharedPtr &p, nvsg::ResourceSharedPtr& res );
00309     NVSG_API virtual void updateRenderFaceAttribute( const nvsg::FaceAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00310     NVSG_API virtual void updateRenderPointLight( const nvsg::PointLightSharedPtr &p, nvsg::ResourceSharedPtr& res );
00311     NVSG_API virtual void updateRenderSpotLight( const nvsg::SpotLightSharedPtr &p, nvsg::ResourceSharedPtr& res );
00312
00313     // these don't need to be called in derived functions
00314     NVSG_API virtual void beginRenderAlphaTestAttribute( const nvsg::AlphaTestAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00315     NVSG_API virtual void beginRenderDepthAttribute( const nvsg::DepthAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00316     NVSG_API virtual void beginRenderLightingAttribute( const nvsg::LightingAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00317     NVSG_API virtual void beginRenderLineAttribute( const nvsg::LineAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00318     NVSG_API virtual void beginRenderMaterial( const nvsg::MaterialSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00319     NVSG_API virtual void beginRenderPointAttribute( const nvsg::PointAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00320     NVSG_API virtual void beginRenderPrimitive( const nvsg::PrimitiveSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00321     NVSG_API virtual void beginRenderRTFx( const nvsg::RTFxSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00322     NVSG_API virtual void beginRenderShape( const nvsg::ShapeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00323     NVSG_API virtual void beginRenderStencilAttribute( const nvsg::StencilAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00324     NVSG_API virtual void beginRenderTextureAttributeItem( const nvsg::TextureAttributeItemSharedPtr &p, const unsigned int& tu, const nvsg::ResourceSharedPtr& res );
00325     NVSG_API virtual void beginRenderUnlitColorAttribute( const nvsg::UnlitColorAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00326
00327     NVSG_API virtual void endRenderAlphaTestAttribute( const nvsg::AlphaTestAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00328     NVSG_API virtual void endRenderDepthAttribute( const nvsg::DepthAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00329     NVSG_API virtual void endRenderLightingAttribute( const nvsg::LightingAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00330     NVSG_API virtual void endRenderLineAttribute( const nvsg::LineAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00331     NVSG_API virtual void endRenderMaterial( const nvsg::MaterialSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00332     NVSG_API virtual void endRenderMatrixCamera( const nvsg::MatrixCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00333     NVSG_API virtual void endRenderParallelCamera( const nvsg::ParallelCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00334     NVSG_API virtual void endRenderPerspectiveCamera( const nvsg::PerspectiveCameraSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00335     NVSG_API virtual void endRenderPointAttribute( const nvsg::PointAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00336     NVSG_API virtual void endRenderPrimitive( const nvsg::PrimitiveSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00337     NVSG_API virtual void endRenderRTFx( const nvsg::RTFxSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00338     NVSG_API virtual void endRenderShape( const nvsg::ShapeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00339     NVSG_API virtual void endRenderStencilAttribute( const nvsg::StencilAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00340     NVSG_API virtual void endRenderTextureAttributeItem( const nvsg::TextureAttributeItemSharedPtr &p, const unsigned int& tu, const nvsg::ResourceSharedPtr& res );
00341     NVSG_API virtual void endRenderUnlitColorAttribute( const nvsg::UnlitColorAttributeSharedPtr &p, const nvsg::ResourceSharedPtr& res );
00342
00343     NVSG_API virtual void updateRenderAlphaTestAttribute( const nvsg::AlphaTestAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00344     NVSG_API virtual void updateRenderDepthAttribute( const nvsg::DepthAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00345     NVSG_API virtual void updateRenderLightingAttribute( const nvsg::LightingAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00346     NVSG_API virtual void updateRenderLineAttribute( const nvsg::LineAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00347     NVSG_API virtual void updateRenderMaterial( const nvsg::MaterialSharedPtr &p, nvsg::ResourceSharedPtr& res );
00348     NVSG_API virtual void updateRenderMatrixCamera( const nvsg::MatrixCameraSharedPtr &p, nvsg::ResourceSharedPtr& res );
00349     NVSG_API virtual void updateRenderParallelCamera( const nvsg::ParallelCameraSharedPtr &p, nvsg::ResourceSharedPtr& res );
00350     NVSG_API virtual void updateRenderPerspectiveCamera( const nvsg::PerspectiveCameraSharedPtr &p, nvsg::ResourceSharedPtr& res );
00351     NVSG_API virtual void updateRenderPointAttribute( const nvsg::PointAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00352     NVSG_API virtual void updateRenderPrimitive( const nvsg::PrimitiveSharedPtr &p, nvsg::ResourceSharedPtr& res );
00353     NVSG_API virtual void updateRenderRTFx( const nvsg::RTFxSharedPtr &p, nvsg::ResourceSharedPtr& res );
00354     NVSG_API virtual void updateRenderShape( const nvsg::ShapeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00355     NVSG_API virtual void updateRenderStatePass( const nvsg::StatePassSharedPtr &p, nvsg::ResourceSharedPtr& res );
00356     NVSG_API virtual void updateRenderStencilAttribute( const nvsg::StencilAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00357     NVSG_API virtual void updateRenderTextureAttribute( const nvsg::TextureAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00358     NVSG_API virtual void updateRenderTextureAttributeItem( const nvsg::TextureAttributeItemSharedPtr &p, unsigned int& tu, const nvsg::ResourceSharedPtr& res );
00359     NVSG_API virtual void updateRenderUnlitColorAttribute( const nvsg::UnlitColorAttributeSharedPtr &p, nvsg::ResourceSharedPtr& res );
00360   protected:
00361
00362     // Renderer options
00363     nvutil::PropertyId m_polygonMode;
00364     nvutil::PropertyId m_tessellationEnabled;
00365     nvutil::PropertyId m_renderTechnique;
00366     nvutil::PropertyId m_preserveTexturesAfterUpload;
00367
00368     PolygonMode     m_currentDefaultPolygonMode;
00369     RenderTechnique m_currentRenderTechnique;
00370     bool            m_currentTessellationEnabled;
00371     bool            m_currentPreserveTexturesAfterUpload;
00372
00373   protected:
00374     RenderState&    renderState()    { return *m_renderState; }
00375     MaterialState&  materialState()  { return m_renderState->m_materialState; }
00376     ShaderState&    shaderState()    { return m_renderState->m_materialState.m_shaderState; }
00377     TransformState& transformState() { return m_renderState->m_transformState; }
00378     LightState&     lightState()     { return m_renderState->m_lightState; }
00379     ClipPlaneState& clipPlaneState() { return m_renderState->m_clipPlaneState; }
00380
00381   private:
00382     void addLight( const nvsg::LightSourceSharedPtr& lightHdl );
00383     void removeLight( const nvsg::LightSourceSharedPtr& lightHdl );
00384
00385     void addClipPlane( const nvsg::ClipPlaneSharedPtr& clipPlaneHdl );
00386     void removeClipPlane( const nvsg::ClipPlaneSharedPtr& clipPlaneHdl );
00387
00388     void setCamera(const nvsg::Camera * p);
00389   protected:
00390     // current render state
00391     RenderStateSharedPtr              m_renderState;
00392
00393   private:
00394     // function pointers to begin and end functions
00395     nvutil::MemFunTbl<ObjectRenderer> m_beginFunctions;
00396     nvutil::MemFunTbl<ObjectRenderer> m_endFunctions;
00397   };
00398
00399   inline void ObjectRenderer::beginRender(  const nvsg::ObjectSharedPtr& oh )
00400   {
00401     render( oh, m_beginFunctions );
00402   }
00403
00404   inline void ObjectRenderer::endRender(  const nvsg::ObjectSharedPtr& oh )
00405   {
00406     render( oh, m_endFunctions );
00407   }
00408
00409   template <typename T>
00410   inline void ObjectRenderer::beginRender(  const nvsg::ObjectSharedPtr& oh, T& arg )
00411   {
00412     render( oh, m_beginFunctions, arg );
00413   }
00414
00415   template <typename T>
00416   inline void ObjectRenderer::endRender(  const nvsg::ObjectSharedPtr& oh, T& arg )
00417   {
00418     render( oh, m_endFunctions, arg );
00419   }
00420
00421   template <typename T>
00422   inline void ObjectRenderer::beginRenderOC(  const nvsg::ObjectSharedPtr& oh, unsigned int objectCode, T& arg )
00423   {
00424     renderOC( oh, objectCode, m_beginFunctions, arg );
00425   }
00426
00427   template <typename T>
00428   inline void ObjectRenderer::endRenderOC(  const nvsg::ObjectSharedPtr& oh, unsigned int objectCode, T& arg )
00429   {
00430     renderOC( oh, objectCode, m_endFunctions, arg );
00431   }
00432
00433   template <typename T, typename U>
00434   inline void ObjectRenderer::beginRender(  const nvsg::ObjectSharedPtr& oh, T& arg0, U& arg1 )
00435   {
00436     render( oh, m_beginFunctions, arg0, arg1 );
00437   }
00438
00439   template <typename T, typename U>
00440   inline void ObjectRenderer::endRender(  const nvsg::ObjectSharedPtr& oh, T& arg0, U& arg1 )
00441   {
00442     render( oh, m_endFunctions, arg0, arg1 );
00443   }
00444
00445   inline void ObjectRenderer::beginRenderFrame()
00446   {
00447     {
00448       // cache current renderer options
00449       nvui::RendererOptionsReadLock options( m_rendererOptions );
00450       m_currentDefaultPolygonMode           = options->getValue<PolygonMode>(m_polygonMode);
00451       m_currentTessellationEnabled          = options->getValue<bool>(m_tessellationEnabled);
00452       m_currentRenderTechnique              = options->getValue<RenderTechnique>(m_renderTechnique);
00453       m_currentPreserveTexturesAfterUpload  = options->getValue<bool>(m_preserveTexturesAfterUpload);
00454     }
00455
00456     doBeginRenderFrame();
00457   }
00458
00459   inline void ObjectRenderer::endRenderFrame()
00460   {
00461     doEndRenderFrame();
00462   }
00463
00464   inline void ObjectRenderer::beginRenderMode( unsigned int mode )
00465   {
00466     doBeginRenderMode( mode );
00467   }
00468
00469   inline void ObjectRenderer::endRenderMode( unsigned int mode )
00470   {
00471     doEndRenderMode( mode );
00472   }
00473
00474   inline void ObjectRenderer::enableClipPlanes()
00475   {
00476     clipPlaneState().m_clipPlanesEnabled = true;
00477     doEnableClipPlanes();
00478   }
00479
00480   inline void ObjectRenderer::disableClipPlanes()
00481   {
00482     clipPlaneState().m_clipPlanesEnabled = false;
00483     doDisableClipPlanes();
00484   }
00485
00486   inline void ObjectRenderer::render( const nvsg::ObjectSharedPtr& oh, nvutil::MemFunTbl<ObjectRenderer>& funTbl )
00487   {
00488     NVSG_TRACE();
00489
00490     // share-lock the object while being rendered
00491     ObjectReadLock obj(oh);
00492
00493     unsigned int oc = getObjectRenderCode( obj );
00494     if ( nvsg::OC_INVALID != oc )
00495     {
00496
00497   #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00498       void * __esp__0;
00499       void * __esp__1;
00500       __asm mov __esp__0, esp
00501   #endif
00502
00503       (this->*(void (ObjectRenderer::*)(const nvsg::Object*))(funTbl)[oc])(obj);
00504
00505   #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00506       __asm mov __esp__1, esp
00507       NVSG_ASSERT(__esp__1==__esp__0);
00508   #endif
00509
00510     }
00511   }
00512
00513   template <typename T>
00514   inline void ObjectRenderer::render( const nvsg::ObjectSharedPtr& oh, nvutil::MemFunTbl<ObjectRenderer>& funTbl, T& arg )
00515   {
00516     NVSG_TRACE();
00517
00518     // share-lock the object while being rendered
00519     //ObjectReadLock obj(oh);
00520
00521     unsigned int oc = getObjectRenderCode( ObjectReadLock(oh) );
00522     if ( nvsg::OC_INVALID != oc )
00523     {
00524
00525   #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00526       void * __esp__0;
00527       void * __esp__1;
00528       __asm mov __esp__0, esp
00529   #endif
00530
00531       (this->*(void (ObjectRenderer::*)(const nvsg::ObjectSharedPtr &, T&))(funTbl)[oc])(oh, arg);
00532
00533   #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00534       __asm mov __esp__1, esp
00535       NVSG_ASSERT(__esp__1==__esp__0);
00536   #endif
00537
00538     }
00539   }
00540
00541   template <typename T>
00542   inline void ObjectRenderer::renderOC( const nvsg::ObjectSharedPtr& oh, unsigned int objectCode, nvutil::MemFunTbl<ObjectRenderer>& funTbl, T& arg )
00543   {
00544     NVSG_TRACE();
00545     NVSG_ASSERT( nvsg::OC_INVALID != objectCode );
00546
00547 #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00548     void * __esp__0;
00549     void * __esp__1;
00550     __asm mov __esp__0, esp
00551 #endif
00552
00553     (this->*(void (ObjectRenderer::*)(const nvsg::ObjectSharedPtr &, T&))(funTbl)[objectCode])(oh, arg);
00554
00555 #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00556     __asm mov __esp__1, esp
00557     NVSG_ASSERT(__esp__1==__esp__0);
00558 #endif
00559   }
00560
00561   template <typename T, typename U>
00562   inline void ObjectRenderer::render( const nvsg::ObjectSharedPtr& oh, nvutil::MemFunTbl<ObjectRenderer>& funTbl, T& arg0, U& arg1 )
00563   {
00564     NVSG_TRACE();
00565
00566     // share-lock the object while being rendered
00567     ;
00568
00569     unsigned int oc = getObjectRenderCode( ObjectReadLock(oh) );
00570     if ( nvsg::OC_INVALID != oc )
00571     {
00572
00573   #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00574       void * __esp__0;
00575       void * __esp__1;
00576       __asm mov __esp__0, esp
00577   #endif
00578
00579       (this->*(void (ObjectRenderer::*)(const nvsg::ObjectSharedPtr &, T&, U&))(funTbl)[oc])(oh, arg0, arg1);
00580
00581   #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
00582       __asm mov __esp__1, esp
00583       NVSG_ASSERT(__esp__1==__esp__0);
00584   #endif
00585
00586     }
00587   }
00588
00589   template<typename RendererType>
00590     inline void ObjectRenderer::addObjectBeginRenderer( unsigned int objectCode, RendererType renderer )
00591   {
00592     m_beginFunctions.addEntry( objectCode, renderer );
00593   }
00594
00595   template<typename RendererType>
00596     inline void ObjectRenderer::addObjectEndRenderer( unsigned int objectCode, RendererType renderer )
00597   {
00598     m_endFunctions.addEntry( objectCode, renderer );
00599   }
00600
00601   inline unsigned int ObjectRenderer::getObjectRenderCode(const nvsg::Object * obj)
00602   {
00603     NVSG_TRACE();
00604
00605     unsigned int oc = obj->getObjectCode();
00606     NVSG_ASSERT(oc!=nvsg::OC_INVALID);
00607
00608     if ( !m_beginFunctions.testEntry(oc) )
00609     {
00610       unsigned int orgOC = oc;
00611       while ( !m_beginFunctions.testEntry(oc) )
00612       { // came across an unknown object
00613         // move up the object's hierarchy to find an appropriate handler
00614         oc = obj->getHigherLevelObjectCode(oc);
00615         if ( nvsg::OC_INVALID==oc )
00616         { // proceed immediately without handling the object
00617           return oc;
00618         }
00619       }
00620
00621       // found an appropriate renderer if we get here
00622       // don't loop again for this object - register the handler
00623       addObjectRendererCreator(orgOC, (m_objectRendererCreators)[oc]);
00624       addObjectBeginRenderer(orgOC, (m_beginFunctions)[oc]);
00625       addObjectEndRenderer(orgOC, (m_endFunctions)[oc]);
00626     }
00627     return oc;
00628   }
00629
00630 } // namespace nvsg
00631
00632 namespace nvutil
00633 {
00634   template <> struct TypedPropertyEnum<nvsg::ObjectRenderer::PolygonMode>
00635   {
00636     enum { type = Property::TYPE_INT };
00637   };
00638
00639   template <> struct TypedPropertyEnum<nvsg::ObjectRenderer::RenderTechnique>
00640   {
00641     enum { type = Property::TYPE_INT };
00642   };
00643 } // namespace nvutil
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: OBJSaver.h File Reference

src / Saver / OBJSaver / inc

OBJSaver.h File Reference

#include <set>
#include "nvsg/NBF.h"
#include "nvsg/nvsgapi.h"
#include "nvsg/PlugInterface.h"
#include "nvsg/PlugInterfaceID.h"
#include "nvsg/ViewState.h"

Include dependency graph for OBJSaver.h:

Go to the source code of this file.

Functions

OBJSAVER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.
OBJSAVER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

OBJSAVER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a OBJSAVER. If the PlugIn ID piid equals PIID_NVSG_SCENE_SAVER, a OBJSAVER is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

OBJSAVER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_SAVER, the vector piids is filled with one element PIID_NVSG_SCENE_SAVER.

Returns:
true, if a PITID_SCENE_SAVER is requested, otherwise false

Generated on Fri Jul 13 13:28:00 2012 for SceniX


SceniX: OBJSaver.h Source File

src / Saver / OBJSaver / inc

OBJSaver.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  <set>
00016 #include  "nvsg/NBF.h"
00017 #include  "nvsg/nvsgapi.h"
00018 #include  "nvsg/PlugInterface.h"
00019 #include  "nvsg/PlugInterfaceID.h"
00020 #include  "nvsg/ViewState.h"
00021
00022
00023 //  Don't need to document the API specifier
00024 #if ! defined( DOXYGEN_IGNORE )
00025 #if defined(_WIN32)
00026 # ifdef OBJSAVER_EXPORTS
00027 #  define OBJSAVER_API __declspec(dllexport)
00028 # else
00029 #  define OBJSAVER_API __declspec(dllimport)
00030 # endif
00031 #else
00032 # define OBJSAVER_API
00033 #endif
00034 #endif  //  DOXYGEN_IGNORE
00035
00036 // exports required for a scene loader plug-in
00037 #if defined(LINUX)
00038 extern "C"
00039 {
00040 #endif
00041
00042
00047 OBJSAVER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00048
00050
00055 OBJSAVER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00056 #if defined(LINUX)
00057 }
00058 #endif
00059
00061
00063 class OBJSaver : public nvsg::SceneSaver
00064 {
00065   public :
00067
00068     void  deleteThis( void );
00069
00071
00073     bool  save( const nvsg::SceneSharedPtr     & scene
00074               , const nvsg::ViewStateSharedPtr & viewState
00075               , const std::string                & filename
00076               );
00077 };
00078
00079 inline void OBJSaver::deleteThis( void )
00080 {
00081   delete this;
00082 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: OptimizeTraverser.h File Reference

inc / nvsg / nvtraverser

OptimizeTraverser.h File Reference

#include <list>
#include "nvsgcommon.h"
#include "nvsg/Node.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for OptimizeTraverser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:01 2012 for SceniX


SceniX: OptimizeTraverser.h Source File

inc / nvsg / nvtraverser

OptimizeTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <list>
00016 #include "nvsgcommon.h"
00017 #include "nvsg/Node.h"
00018 #include "nvtraverser/Traverser.h"
00019
00020 namespace nvtraverser
00021 {
00022
00024   class OptimizeTraverser : public ExclusiveTraverser
00025   {
00026     public:
00028       NVSG_API OptimizeTraverser( void );
00029
00030     public:
00032
00034       NVSG_API bool getIgnoreNames( void ) const;
00035
00037
00038       NVSG_API void setIgnoreNames( bool ignore
00039                                   );
00040       REFLECTION_INFO_API( NVSG_API, OptimizeTraverser );
00041       BEGIN_DECLARE_STATIC_PROPERTIES
00042           NVSG_API DECLARE_STATIC_PROPERTY( IgnoreNames );
00043       END_DECLARE_STATIC_PROPERTIES
00044     protected:
00046       //  currently, if the node is not marked "DYNAMIC", and it doesn't have
00047       //  any callbacks registered, we say it is optimizable
00048       NVSG_API virtual bool optimizationAllowed( const nvsg::Object * obj );
00049
00051       NVSG_API virtual ~OptimizeTraverser( void );
00052
00054       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00055
00056     private:
00057       bool  m_ignoreNames;
00058   };
00059
00060   inline bool OptimizeTraverser::getIgnoreNames( void ) const
00061   {
00062     return( m_ignoreNames );
00063   }
00064
00065   inline void OptimizeTraverser::setIgnoreNames( bool ignore )
00066   {
00067     if ( m_ignoreNames != ignore )
00068     {
00069       m_ignoreNames = ignore;
00070       notify( PID_IgnoreNames );
00071     }
00072   }
00073
00074 }
00075
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: OwnedObject.h File Reference

inc / nvsg / nvsg

OwnedObject.h File Reference

#include "nvsg/Object.h"
#include "nvutil/Handle.h"
#include "nvutil/STLAllocator.h"
#include <vector>

Include dependency graph for OwnedObject.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

template<typename OwnerType, typename OwnedHandleType>
void | addAsOwnerTo (OwnerType *owner, const nvutil::SmartPtr< OwnedHandleType > &owned)
template<typename OwnerType, typename OwnedHandleType>
void | removeAsOwnerFrom (OwnerType *owner, const nvutil::SmartPtr< OwnedHandleType > &owned)
template<typename OwnerType>
void | copy (typename nvutil::ObjectTraits< OwnedObject< OwnerType > >::WriteLock &dst, typename nvutil::ObjectTraits< OwnedObject< OwnerType > >::ReadLock &src)

Detailed Description

Generated on Fri Jul 13 13:28:02 2012 for SceniX


SceniX: OwnedObject.h Source File

inc / nvsg / nvsg

OwnedObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/Object.h" // base class definition
00016 #include "nvutil/Handle.h"
00017 #include "nvutil/STLAllocator.h"
00018 #include <vector>
00019
00020 namespace nvsg
00021 {
00030   template<typename OwnerType>
00031   class OwnedObject : public Object
00032   {
00033     template <typename T, typename U> friend void addAsOwnerTo(T *, const nvutil::SmartPtr<U> &);
00034     template <typename T, typename U> friend void removeAsOwnerFrom(T *, const nvutil::SmartPtr<U> &);
00035
00036   public:
00037     typedef nvutil::STLMultiset<typename nvutil::ObjectTraits<OwnerType>::WeakPtr>  OwnerContainer;
00038     typedef typename OwnerContainer::const_iterator                                 OwnerIterator;
00039
00040     public:
00047       size_t getNumberOfOwners() const;
00048
00057       typename nvutil::ObjectTraits<OwnerType>::WeakPtr getOwner( OwnerIterator ) const;
00058       OwnerIterator ownersBegin() const { return m_owners.begin(); }
00059       OwnerIterator ownersEnd() const { return m_owners.end(); }
00060
00067       OwnedObject<OwnerType>& operator=(const OwnedObject<OwnerType> & rhs);
00068
00069       virtual void notify( const Subject * originator, unsigned int state ) const;
00070       virtual void notify( nvutil::PropertyId propertyId ) const;
00071
00072     protected:
00073
00077       OwnedObject();
00078
00082       OwnedObject( const Object & rhs );
00083
00087       OwnedObject( const OwnedObject<OwnerType> &rhs );
00088
00092       ~OwnedObject();
00093
00094       void addOwner( OwnerType * owner);
00095       void removeOwner( OwnerType * owner);
00096
00097     private:
00098       OwnerContainer  m_owners;
00099   };
00100
00101   template<typename OwnerType>
00102   OwnedObject<OwnerType>::OwnedObject()
00103   : Object()
00104   {
00105   }
00106
00107   template<typename OwnerType>
00108   OwnedObject<OwnerType>::OwnedObject( const Object &rhs )
00109   : Object(rhs)
00110   {
00111     // must not copy owners!!!
00112     // this is what this implementation of the cpy ctor is for!
00113     NVSG_ASSERT( m_owners.empty() );
00114   }
00115
00116   template<typename OwnerType>
00117   OwnedObject<OwnerType>::OwnedObject( const OwnedObject<OwnerType> &rhs )
00118   : Object(rhs)
00119   {
00120     // must not copy owners!!!
00121     // this is what this implementation of the cpy ctor is for!
00122     NVSG_ASSERT( m_owners.empty() );
00123   }
00124
00125   template<typename OwnerType>
00126   OwnedObject<OwnerType>::~OwnedObject()
00127   {
00128     // if this fires, there was no proper cleanup of owner relationship elsewhere
00129     NVSG_ASSERT( m_owners.empty() );
00130   }
00131
00132   template<typename OwnerType>
00133   inline size_t OwnedObject<OwnerType>::getNumberOfOwners( void ) const
00134   {
00135     NVSG_TRACE();
00136     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00137     return( m_owners.size() );
00138   }
00139
00140   template<typename OwnerType>
00141   inline typename nvutil::ObjectTraits<OwnerType>::WeakPtr OwnedObject<OwnerType>::getOwner( OwnerIterator i ) const
00142   {
00143     NVSG_TRACE();
00144     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00145     return( *i );
00146   }
00147
00148   template<typename OwnerType>
00149   inline OwnedObject<OwnerType> & OwnedObject<OwnerType>::operator=( const OwnedObject<OwnerType> &rhs )
00150   {
00151     NVSG_TRACE();
00152     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00153
00154     Object::operator=( rhs );
00155     return( *this );
00156   }
00157
00158   template<typename OwnerType>
00159   inline void OwnedObject<OwnerType>::addOwner( OwnerType * obj )
00160   {
00161     NVSG_TRACE();
00162     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00163
00164     // do not add an owner twice
00165     m_owners.insert( nvutil::getWeakPtr<OwnerType>(obj) );
00166   }
00167
00168   template<typename OwnerType>
00169   inline void OwnedObject<OwnerType>::removeOwner( OwnerType * obj )
00170   {
00171     NVSG_TRACE();
00172     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00173
00174     m_owners.erase( nvutil::getWeakPtr<OwnerType>(obj) );
00175   }
00176
00177   template<typename OwnerType>
00178   inline void OwnedObject<OwnerType>::notify( const Subject * originator, unsigned int state ) const
00179   {
00180     Object::notify( originator, state );
00181     for ( OwnerIterator oi = m_owners.begin() ; oi != m_owners.end() ; ++oi )
00182     {
00183       ObjectReadLock( ObjectSharedPtr( *oi ) )->notifyChange( this, state );
00184     }
00185   }
00186
00187   template<typename OwnerType>
00188   inline void OwnedObject<OwnerType>::notify( nvutil::PropertyId propertyId ) const
00189   {
00190     Object::notify( propertyId );
00191     for ( OwnerIterator oi = m_owners.begin() ; oi != m_owners.end() ; ++oi )
00192     {
00193       ObjectReadLock( ObjectSharedPtr( *oi ) )->notify( propertyId );
00194     }
00195   }
00196
00197   template<typename OwnerType, typename OwnedHandleType>
00198   inline void addAsOwnerTo(OwnerType * owner, const nvutil::SmartPtr<OwnedHandleType> & owned)
00199   {
00200     if ( owned )
00201     {
00202       nvutil::WritableObject<typename OwnedHandleType::ObjectType>(owned)->addOwner( owner );
00203     }
00204   }
00205
00206   template<typename OwnerType, typename OwnedHandleType>
00207   inline void removeAsOwnerFrom(OwnerType * owner, const nvutil::SmartPtr<OwnedHandleType> & owned)
00208   {
00209     if ( owned )
00210     {
00211       nvutil::WritableObject<typename OwnedHandleType::ObjectType>(owned)->removeOwner( owner );
00212     }
00213   }
00214
00215   template<typename OwnerType>
00216   inline void copy( typename nvutil::ObjectTraits<OwnedObject<OwnerType> >::WriteLock & dst
00217                   , typename nvutil::ObjectTraits<OwnedObject<OwnerType> >::ReadLock & src )
00218   {
00219   }
00220
00221 } // namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ParallelCamera.h File Reference

inc / nvsg / nvsg

ParallelCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/FrustumCamera.h"

Include dependency graph for ParallelCamera.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:02 2012 for SceniX


SceniX: ParallelCamera.h Source File

inc / nvsg / nvsg

ParallelCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/FrustumCamera.h"
00017
00018 namespace nvsg
00019 {
00024   class ParallelCamera : public FrustumCamera
00025   {
00026     public:
00027       NVSG_API static ParallelCameraSharedPtr create();
00028
00029     public:
00033       NVSG_API virtual nvmath::Mat44f getProjection() const;
00034
00038       NVSG_API virtual nvmath::Mat44f getInverseProjection()  const;
00039
00053       NVSG_API virtual void getPickRay( int x
00054                                       , int y
00055                                       , int w
00056                                       , int h
00057                                       , nvmath::Vec3f & rayOrigin
00058                                       , nvmath::Vec3f & rayDir ) const;
00059
00064       NVSG_API ParallelCamera & operator=(const ParallelCamera & rhs);
00065
00070       NVSG_API virtual CullCode determineCullCode( const nvmath::Sphere3f &sphere ) const;
00071
00072       REFLECTION_INFO_API( NVSG_API, ParallelCamera );
00073     protected:
00074       friend struct nvutil::Holder<ParallelCamera>;
00075
00079       NVSG_API ParallelCamera();
00080
00082       NVSG_API ParallelCamera( const ParallelCamera &rhs );
00083
00085       NVSG_API virtual ~ParallelCamera();
00086
00087   };
00088
00089 } // namespace
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PatchesBase.h File Reference

inc / nvsg / nvsg

PatchesBase.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Face.h"
#include "nvsg/Primitive.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for PatchesBase.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

bool | calculatePatchNormals (nvsg::VertexAttributeSet *vas, bool overwrite, const IndexSetSharedPtr &indexSet, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int size)
bool | calculatePatchNormals (nvsg::VertexAttributeSet *vas, bool overwrite, const IndexSetSharedPtr &indexSet, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int width, unsigned int height)
void | calculatePatchTangentSpace (nvsg::VertexAttributeSet *vas, unsigned int tc, unsigned int tg, unsigned int bn, bool overwrite, IndexSet::ConstIterator< unsigned int > &indices, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int size)
void | calculatePatchTangentSpace (nvsg::VertexAttributeSet *vas, unsigned int tc, unsigned int tg, unsigned int bn, bool overwrite, IndexSet::ConstIterator< unsigned int > &indices, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int width, unsigned int height)

Detailed Description

Generated on Fri Jul 13 13:28:02 2012 for SceniX


SceniX: PatchesBase.h Source File

inc / nvsg / nvsg

PatchesBase.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Face.h"
00017 #include "nvsg/Primitive.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00029   class PatchesBase : public Primitive
00030   {
00031     public:
00033       NVSG_API virtual ~PatchesBase();
00034
00040       NVSG_API bool hasPatches() const;
00041
00047       NVSG_API unsigned int getNumberOfPatches() const;
00048
00059       NVSG_API virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00060
00067       NVSG_API virtual unsigned int getHigherLevelObjectCode( unsigned int oc ) const;
00068
00069       REFLECTION_INFO_API( NVSG_API, PatchesBase );
00070     protected:
00072       NVSG_API PatchesBase();
00073
00075       NVSG_API PatchesBase( const PatchesBase &rhs );
00076
00081       NVSG_API void setNumberOfVerticesPerPatch( unsigned int verticesPerPatch );
00082
00087       NVSG_API PatchesBase & operator=( const PatchesBase & rhs );
00088
00092       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00093   };
00094
00095   bool calculatePatchNormals( nvsg::VertexAttributeSet * vas, bool overwrite, const IndexSetSharedPtr & indexSet
00096                             , unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int size );
00097   bool calculatePatchNormals( nvsg::VertexAttributeSet * vas, bool overwrite, const IndexSetSharedPtr & indexSet
00098                             , unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int width, unsigned int height );
00099   void calculatePatchTangentSpace( nvsg::VertexAttributeSet * vas, unsigned int tc, unsigned int tg
00100                                  , unsigned int bn, bool overwrite, IndexSet::ConstIterator<unsigned int> & indices
00101                                  , unsigned int numberOfPatches, unsigned int verticesPerPatch
00102                                  , unsigned int size );
00103   void calculatePatchTangentSpace( nvsg::VertexAttributeSet * vas, unsigned int tc, unsigned int tg
00104                                  , unsigned int bn, bool overwrite, IndexSet::ConstIterator<unsigned int> & indices
00105                                  , unsigned int numberOfPatches, unsigned int verticesPerPatch
00106                                  , unsigned int width, unsigned int height );
00107
00108   // - - - - - - - - - - - - - - - - - - - - - - - - -
00109   // inlines
00110   // - - - - - - - - - - - - - - - - - - - - - - - - -
00111
00112   inline bool PatchesBase::hasPatches()  const
00113   {
00114     NVSG_TRACE();
00115     NVSG_ASSERT( isIndexed() ); // all should be
00116     unsigned int numIndices = IndexSetReadLock(getIndexSet())->getNumberOfIndices();
00117
00118     return( getNumberOfVerticesPerPatch() <= numIndices );
00119   }
00120
00121   inline unsigned int PatchesBase::getNumberOfPatches()  const
00122   {
00123     NVSG_TRACE();
00124
00125     return getNumberOfPrimitives();
00126   }
00127
00128   inline void PatchesBase::setNumberOfVerticesPerPatch( unsigned int verticesPerPatch )
00129   {
00130     Primitive::setNumberOfVerticesPerPatch( verticesPerPatch );
00131   }
00132
00133   inline unsigned int PatchesBase::getHigherLevelObjectCode( unsigned int oc ) const
00134   {
00135     NVSG_TRACE();
00136     return( ( oc == getObjectCode() ) ? OC_PRIMITIVE : OC_INVALID );
00137   }
00138 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Path.h File Reference

inc / nvsg / nvsg

Path.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Matnnt.h"
#include "nvsg/CoreTypes.h"
#include "nvutil/RCObject.h"

Include dependency graph for Path.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:03 2012 for SceniX


SceniX: Path.h Source File

inc / nvsg / nvsg

Path.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Matnnt.h"
00017 #include "nvsg/CoreTypes.h"
00018 #include "nvutil/RCObject.h" // base class definition
00019
00020 namespace nvsg
00021 {
00028   class Path : public nvutil::RCObject
00029   {
00030     public:
00032       NVSG_API Path();
00033
00040       NVSG_API Path(const Path& rhs);
00041
00045       NVSG_API unsigned int getLength() const;
00046
00051       NVSG_API bool isEmpty() const;
00052
00059       NVSG_API ObjectWeakPtr getHead() const;
00060
00067       NVSG_API ObjectWeakPtr getTail() const;
00068
00076       NVSG_API ObjectWeakPtr getFromHead(unsigned int i) const;
00077
00085       NVSG_API ObjectWeakPtr getFromTail(unsigned int i) const;
00086
00092       NVSG_API void pop();
00093
00100       NVSG_API void push( const ObjectWeakPtr & pObject);
00101
00110       NVSG_API void truncate(unsigned int start);
00111
00120       NVSG_API void getModelToWorldMatrix( nvmath::Mat44f & modelToWorld
00121                                          , nvmath::Mat44f & worldToModel) const;
00122
00123
00129       NVSG_API bool operator==(const Path& rhs) const;
00130
00136       NVSG_API bool operator!=(const Path& rhs) const;
00137
00144       NVSG_API bool operator<(const Path& rhs) const;
00145
00146     protected:
00148       NVSG_API virtual ~Path();
00149
00150     private:
00151       std::vector<ObjectWeakPtr> m_path;
00152   };
00153
00154   // - - - - - - - - - - - - - - - - - - -
00155   // inlines
00156   // - - - - - - - - - - - - - - - - - - -
00157
00158   inline ObjectWeakPtr Path::getHead() const
00159   {
00160     NVSG_TRACE();
00161     return( m_path.empty() ? NULL : m_path.front() );
00162   }
00163
00164   inline ObjectWeakPtr Path::getTail() const
00165   {
00166     NVSG_TRACE();
00167     return( m_path.empty() ? NULL : m_path.back() );
00168   }
00169
00170   inline ObjectWeakPtr Path::getFromHead( unsigned int i ) const
00171   {
00172     NVSG_TRACE();
00173     NVSG_ASSERT(0 <= i && i < m_path.size());
00174     return( m_path[i] );
00175   }
00176
00177   inline ObjectWeakPtr Path::getFromTail( unsigned int i ) const
00178   {
00179     NVSG_TRACE();
00180     NVSG_ASSERT(0 <= i && i < m_path.size());
00181     return( m_path[m_path.size()-i-1] );
00182   }
00183
00184   inline unsigned int Path::getLength() const
00185   {
00186     NVSG_TRACE();
00187     return( checked_cast<unsigned int>(m_path.size()) );
00188   }
00189
00190   inline void Path::pop()
00191   {
00192     NVSG_TRACE();
00193     NVSG_ASSERT(getLength() > 0);
00194     m_path.pop_back();
00195   }
00196
00197   inline bool Path::isEmpty() const
00198   {
00199     NVSG_TRACE();
00200     return m_path.empty();
00201   }
00202
00203   inline bool Path::operator==(const Path& rhs) const
00204   {
00205     NVSG_TRACE();
00206     return m_path == rhs.m_path;
00207   }
00208
00209   inline bool Path::operator!=(const Path& rhs) const
00210   {
00211     NVSG_TRACE();
00212     return m_path != rhs.m_path;
00213   }
00214
00215   inline bool Path::operator<(const Path& rhs) const
00216   {
00217     NVSG_TRACE();
00218     return m_path.size() < rhs.m_path.size() ||
00219           (m_path.size() == rhs.m_path.size() &&
00220            memcmp( &m_path[0], &rhs.m_path[0], m_path.size() * sizeof( ObjectWeakPtr)) < 0 );
00221   }
00222
00223 } //  namspace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PerspectiveCamera.h File Reference

inc / nvsg / nvsg

PerspectiveCamera.h File Reference

#include "nvsgcommon.h"
#include "nvsg/FrustumCamera.h"

Include dependency graph for PerspectiveCamera.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:03 2012 for SceniX


SceniX: PerspectiveCamera.h Source File

inc / nvsg / nvsg

PerspectiveCamera.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/FrustumCamera.h"
00017
00018 namespace nvsg
00019 {
00024   class PerspectiveCamera : public FrustumCamera
00025   {
00026     public:
00027       NVSG_API static PerspectiveCameraSharedPtr create();
00028
00029     public:
00034       NVSG_API float getFieldOfView() const;
00035
00040       NVSG_API void setFieldOfView( float fov );
00041
00047       NVSG_API virtual void setFocusDistance( float fd );
00048
00052       NVSG_API virtual nvmath::Mat44f getProjection() const;
00053
00057       NVSG_API virtual nvmath::Mat44f getInverseProjection() const;
00058
00071       NVSG_API virtual void getPickRay( int x
00072                                       , int y
00073                                       , int w
00074                                       , int h
00075                                       , nvmath::Vec3f & rayOrigin
00076                                       , nvmath::Vec3f & rayDir ) const;
00077
00082       NVSG_API PerspectiveCamera & operator=(const PerspectiveCamera & rhs);
00083
00088       NVSG_API virtual CullCode determineCullCode( const nvmath::Sphere3f &sphere ) const;
00089
00090     protected:
00091       friend struct nvutil::Holder<PerspectiveCamera>;
00092
00096       NVSG_API PerspectiveCamera();
00097
00099       NVSG_API PerspectiveCamera( const PerspectiveCamera &rhs );
00100
00102       NVSG_API virtual ~PerspectiveCamera();
00103
00104     // reflected properties
00105     public:
00106       REFLECTION_INFO_API( NVSG_API, PerspectiveCamera );
00107       BEGIN_DECLARE_STATIC_PROPERTIES
00108           NVSG_API DECLARE_STATIC_PROPERTY( FieldOfView );
00109       END_DECLARE_STATIC_PROPERTIES
00110   };
00111
00112   inline float PerspectiveCamera::getFieldOfView() const
00113   {
00114     NVSG_TRACE();
00115     return( 2.0f * atanf( 0.5f * getWindowSize()[1] / getFocusDistance() ) );
00116   }
00117 } // namespace
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Planent.h File Reference

inc / nvsg / nvmath

Planent.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnt.h"
#include <float.h>

Include dependency graph for Planent.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Typedefs

typedef Planent< 3, float > | Plane3f
typedef Planent< 3, double > | Plane3d

Functions

template<unsigned int n, typename T>
bool | areOnOppositeSides (const Planent< n, T > &pl, const Vecnt< n, T > &p0, const Vecnt< n, T > &p1)
Test if two points are on opposite sides of a plane.
template<unsigned int n, typename T>
bool | areOnSameSide (const Planent< n, T > &pl, const Vecnt< n, T > &p0, const Vecnt< n, T > &p1)
Test if two points are on the same side of a plane.
template<unsigned int n, typename T>
T | distance (const Planent< n, T > &pl, const Vecnt< n, T > &p)
Calculate the distance of a point to a plane.
template<unsigned int n, typename T>
Vecnt< n, T > | nearestPoint (const Planent< n, T > &pl, const Vecnt< n, T > &p)
Calculate the point on a plane nearest to a give point.
template<unsigned int n, typename T>
bool | operator== (const Planent< n, T > &pl0, const Planent< n, T > &pl1)
Test for equality of two planes.
template<unsigned int n, typename T>
bool | operator!= (const Planent< n, T > &pl0, const Planent< n, T > &pl1)
Test for inequality of two planes.
template<unsigned int n, typename T>
T | signedDistance (const Planent< n, T > &pl, const Vecnt< n, T > &p)
Calculate the signed distance of a point to a plane.

Detailed Description

Function Documentation

bool areOnOppositeSides | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p0,
 |  | const Vecnt< n, T > & | p1
 | ) |

Test if two points are on opposite sides of a plane.

Parameters:
pl | A reference to a constant plane.
p0 | A reference to the constant first point.
p1 | A reference to the constant second point.
Returns:
true, if p0 and p1 are on opposite sides of pl.
See also:
areOnSameSide

bool areOnSameSide | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p0,
 |  | const Vecnt< n, T > & | p1
 | ) |

Test if two points are on the same side of a plane.

Parameters:
pl | A reference to a constant plane.
p0 | A reference to the constant first point.
p1 | A reference to the constant second point.
Returns:
true, if p0 and p1 are on the same side of pl.
See also:
areOnOppositeSide

T distance | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p
 | ) |

Calculate the distance of a point to a plane.

Parameters:
pl | A reference to the constant plane.
p | A reference to the constant point.
Returns:
The distance of the point p to the plane pl.
See also:
signedDistance

Vecnt< n, T > nearestPoint | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p
 | ) |

Calculate the point on a plane nearest to a give point.

Parameters:
pl | A reference to the constant plane.
p | A reference to the constant point.
Returns:
The point on the plane pl nearest to the point p.
See also:
distance, signedDistance

bool operator== | ( | const Planent< n, T > & | pl0,
 |  | const Planent< n, T > & | pl1
 | ) |

Test for equality of two planes.

Parameters:
pl0 | A reference to the constant first plane.
pl1 | A reference to the constant second plane.
Returns:
true, if the normals of the two planes are equal and the offsets differ less than the type specific epsilon. Otherwise false.
See also:
operator!=()

bool operator!= | ( | const Planent< n, T > & | pl0,
 |  | const Planent< n, T > & | pl1
 | ) |

Test for inequality of two planes.

Parameters:
pl0 | A reference to the constant first plane.
pl1 | A reference to the constant second plane.
Returns:
true, if the normals of the two planes are not equal or the offsets differ more than the type specific epsilon. Otherwise false.
See also:
operator==()

T signedDistance | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p
 | ) |

Calculate the signed distance of a point to a plane.

Parameters:
pl | A reference to the constant plane.
p | A reference to the constant point.
Returns:
The signed distance of the point p to the plane pl.
Remarks:
The signed distance of a point p to a plane pl is positive, if p is in the half space the normal a pl points to. If p is in the other half space, the signed distance is negative.
See also:
distance

Generated on Fri Jul 13 13:28:04 2012 for SceniX


SceniX: Planent.h Source File

inc / nvsg / nvmath

Planent.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Vecnt.h"
00017
00018 #include <float.h>
00019
00020 namespace nvmath
00021 {
00025   template<unsigned int n,typename T> class Planent
00026   {
00027     public:
00030       Planent();
00031
00036       Planent( const Vecnt<n,T> & normal, T offset );
00037
00042       Planent( const Vecnt<n,T> & normal, const Vecnt<n,T> & p );
00043
00049       Planent( const Vecnt<n,T> & p0, const Vecnt<n,T> & p1, const Vecnt<n,T> & p2 );
00050
00051     public:
00055       const Vecnt<n,T> & getNormal() const;
00056
00060       T getOffset() const;
00061
00065       T operator()( const Vecnt<n,T> & p ) const;
00066
00070       void setNormal( const Vecnt<n,T> & normal );
00071
00075       void setOffset( T offset );
00076
00077     private:
00078       Vecnt<n,T>  m_normal;
00079       T           m_offset;
00080   };
00081
00082   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00083   // non-member functions
00084   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00085
00092   template<unsigned int n, typename T>
00093     bool areOnOppositeSides( const Planent<n,T> & pl, const Vecnt<n,T> & p0, const Vecnt<n,T> & p1 );
00094
00101   template<unsigned int n, typename T>
00102     bool areOnSameSide( const Planent<n,T> & pl, const Vecnt<n,T> & p0, const Vecnt<n,T> & p1 );
00103
00109   template<unsigned int n, typename T>
00110     T distance( const Planent<n,T> & pl, const Vecnt<n,T> & p );
00111
00117   template<unsigned int n, typename T>
00118     Vecnt<n,T> nearestPoint( const Planent<n,T> & pl, const Vecnt<n,T> & p );
00119
00126   template<unsigned int n, typename T>
00127     bool operator==( const Planent<n,T> & pl0, const Planent<n,T> & pl1 );
00128
00135   template<unsigned int n, typename T>
00136     bool operator!=( const Planent<n,T> & pl0, const Planent<n,T> & pl1 );
00137
00146   template<unsigned int n, typename T>
00147     T signedDistance( const Planent<n,T> & pl, const Vecnt<n,T> & p );
00148
00149   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00150   // Convenience type definitions
00151   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00152   typedef Planent<3,float>  Plane3f;
00153   typedef Planent<3,double> Plane3d;
00154
00155   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00156   // inlined member functions
00157   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00158   template<unsigned int n, typename T>
00159   inline Planent<n,T>::Planent()
00160   {
00161   }
00162
00163   template<unsigned int n, typename T>
00164   inline Planent<n,T>::Planent( const Vecnt<n,T> & normal, T offset )
00165     : m_normal(normal)
00166     , m_offset(offset)
00167   {
00168     NVSG_PRIVATE_ASSERT( isNormalized( m_normal ) );
00169   }
00170
00171   template<unsigned int n, typename T>
00172   inline Planent<n,T>::Planent( const Vecnt<n,T> & normal, const Vecnt<n,T> & p )
00173     : m_normal(normal)
00174     , m_offset(-p*normal)
00175   {
00176     NVSG_PRIVATE_ASSERT( isNormalized( m_normal ) );
00177   }
00178
00179   template<unsigned int n, typename T>
00180   inline Planent<n,T>::Planent( const Vecnt<n,T> & p0, const Vecnt<n,T> & p1, const Vecnt<n,T> & p2 )
00181   {
00182     NVSG_PRIVATE_ASSERT( ( p0 != p1 ) && ( p0 != p2 ) && ( p1 != p2 ) );
00183     m_normal = ( p1 - p0 ) ^ ( p2 - p0 );
00184     m_normal.normalize();
00185     m_offset = - m_normal * p0;
00186   }
00187
00188   template<unsigned int n, typename T>
00189   inline const Vecnt<n,T> & Planent<n,T>::getNormal() const
00190   {
00191     return( m_normal );
00192   }
00193
00194   template<unsigned int n, typename T>
00195   inline T Planent<n,T>::getOffset() const
00196   {
00197     return( m_offset );
00198   }
00199
00200   template<unsigned int n, typename T>
00201   inline T Planent<n,T>::operator()( const Vecnt<n,T> & p ) const
00202   {
00203     return( m_normal * p + m_offset );
00204   }
00205
00206   template<unsigned int n, typename T>
00207   inline void Planent<n,T>::setNormal( const Vecnt<n,T> & normal )
00208   {
00209     NVSG_PRIVATE_ASSERT( isNormalized( normal ) );
00210     m_normal = normal;
00211   }
00212
00213   template<unsigned int n, typename T>
00214   inline void Planent<n,T>::setOffset( T offset )
00215   {
00216     m_offset = offset;
00217   }
00218
00219   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00220   // inlined non-member functions
00221   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00222
00223   template<unsigned int n, typename T>
00224   bool areOnOppositeSides( const Planent<n,T> & pl, const Vecnt<n,T> & p0, const Vecnt<n,T> & p1 )
00225   {
00226     return( pl( p0 ) * pl( p1 ) < 0 );
00227   }
00228
00229   template<unsigned int n, typename T>
00230   bool areOnSameSide( const Planent<n,T> & pl, const Vecnt<n,T> & p0, const Vecnt<n,T> & p1 )
00231   {
00232     return( 0 < pl( p0 ) * pl( p1 ) );
00233   }
00234
00235   template<unsigned int n, typename T>
00236   T distance( const Planent<n,T> & pl, const Vecnt<n,T> & p )
00237   {
00238     return( abs( pl( p ) ) );
00239   }
00240
00241   template<unsigned int n, typename T>
00242   Vecnt<n,T> nearestPoint( const Planent<n,T> & pl, const Vecnt<n,T> & p )
00243   {
00244     return( p - pl( p ) * pl.getNormal() );
00245   }
00246
00247   template<unsigned int n, typename T>
00248   bool operator==( const Planent<n,T> & pl0, const Planent<n,T> & pl1 )
00249   {
00250     return(   ( pl0.getNormal() == pl1.getNormal() )
00251           &&  ( abs( pl0.getOffset() - pl1.getOffset() ) < FLT_EPSILON ) );
00252   }
00253
00254   template<unsigned int n, typename T>
00255   bool operator!=( const Planent<n,T> & pl0, const Planent<n,T> & pl1 )
00256   {
00257     return( ! ( pl0 == pl1 ) );
00258   }
00259
00260   template<unsigned int n, typename T>
00261   T signedDistance( const Planent<n,T> & pl, const Vecnt<n,T> & p )
00262   {
00263     return( pl( p ) );
00264   }
00265
00266 } // end namespace nvmath
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PlugIn.h File Reference

inc / nvsg / nvutil

PlugIn.h File Reference

#include <map>
#include "nvsgcommon.h"
#include <dlfcn.h>
#include "nvutil/PlugInCallback.h"
#include "nvutil/SmartPtr.h"

Include dependency graph for PlugIn.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | HLIB HMODULE
#define | MapLibrary(name) LoadLibrary(name)
#define | UnMapLibrary FreeLibrary
#define | GetFuncAddress GetProcAddress
#define | LibExtStr "*.nxm"

Typedefs

typedef bool(* | PFNQUERYPLUGINTERFACETYPE )(const UPITID &pitid, std::vector< UPIID > &piids)
Function pointer type for queryPlugInterfaceType export function required by a plug-in.
typedef Singleton< PlugInServer > | PIS
Type define for the application unique PlugInServer.

Functions

bool | operator< (const UPITID &lhs, const UPITID &rhs)
bool | operator== (const UPITID &lhs, const UPITID &rhs)
bool | operator!= (const UPITID &lhs, const UPITID &rhs)
bool | operator< (const UPIID &lhs, const UPIID &rhs)
bool | operator== (const UPIID &lhs, const UPIID &rhs)
bool | operator!= (const UPIID &lhs, const UPIID &rhs)
NVSG_API bool | getInterface (const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn)
Get hold of a certain interface object.
NVSG_API bool | queryInterfaceType (const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids)
Query for a certain interface type.
NVSG_API void | releaseInterface (const UPIID &piid)
Release a certain interface.
NVSG_API void | setPlugInFileFilter (const std::string &filter)
Specify a file name filter to be used while searching for appropriate plug-in modules.
NVSG_API void | addPlugInSearchPath (const std::string &path)
Add a path to the list of directories used to search for PlugIn DLLs.
NVSG_API const std::vector<
std::string > & 		getPlugInSearchPath ()
Return the list of directories used to search for PlugIn DLLs.

Variables

typedef bool(* | PFNGETPLUGINTERFACE )(const UPIID &piid, PlugIn *&plugIn)
Function pointer type for getPlugInterface export function required by a plug-in.

Detailed Description

Define Documentation

#define HLIB HMODULE

Platform independent define for a library handle. On Windows, this resolves to HMODULE, on Linux to void*.

#define MapLibrary ( name ) LoadLibrary(name)

Platform independent define to open a library. On Windows, this resolves to LoadLibrary(name), on Linux to dlopen(name,RTLD_LAZY).

#define UnMapLibrary FreeLibrary

Platform independent define to free a library. On Windows, this resolves to FreeLibrary, on Linux to dlclose.

#define GetFuncAddress GetProcAddress

Platform independet define to get a function from a library. On Windows, this resolves to GetProcAddress, on Linux to dlsym.

#define LibExtStr "*.nxm"

Platform independent define for the SceniX plugin standard file extension. On both Windows and Linux, this resolves to "*.nxm".

Typedef Documentation

typedef bool(* PFNQUERYPLUGINTERFACETYPE)(const UPITID &pitid, std::vector< UPIID > &piids)

Function pointer type for queryPlugInterfaceType export function required by a plug-in.

typedef Singleton<PlugInServer> PIS

Type define for the application unique PlugInServer.

Function Documentation

bool operator< | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [inline]

Compares two UPITID objects. This operator is required e.g. if it is intended to store UPITID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [inline]

Tests two UPITID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [inline]

Tests two UPITID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator< | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [inline]

Compares two UPIID objects. This operator is required e.g. if it is intended to store UPIID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [inline]

Tests two UPIID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [inline]

Tests two UPIID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

NVSG_API bool getInterface | ( | const std::vector< std::string > & | searchPath,
 |  | const UPIID & | piid,
 |  | PlugIn *& | plugIn
 | ) |

Get hold of a certain interface object.

Searches the searchPath in addition to plug-in search-paths for a plug-in that provides an interface specified by piid. If successfull, plugIn holds the requested interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.nxm" on Microsoft(R) Windows platforms as well as on Linux platforms.

The function always returns the first matching interface found in the specified search path in consideration of the used file name filter.

If client code asks for a certain interface a second time, without releasing the interface object got with the first call to getInterface, this function will not search through the search path a second time but returning the interface object registered with the first call. This will also work this way, independent of whether the file name filter was changed in between.

Remarks:
If client code has no concrete interface ID available to query for, it should first query for a superior interface type using nvutil::queryInterfaceType to get hold of a list of interfaces all providing the superior interface type.
In order to utilize the concrete interface queried for, client code must 'reinterpret_cast' plugIn to a concrete interface pointer and use this pointer to access the interface.
To avoid resource leaks, client code should release the interface through a call to nvutil::releaseInterface, after usage.
Returns:
true if successfull, false otherwise.
Parameters:
searchPath | The optional path to search for the plug-ins.
piid | Identifies the interface to search for.
plugIn | Holds the interface object (plug-in), if successfull.

NVSG_API bool queryInterfaceType | ( | const std::vector< std::string > & | searchPath,
 |  | const UPITID & | pitid,
 |  | std::vector< UPIID > & | piids
 | ) |

Query for a certain interface type.

Searches the searchPath in addition to plug-in search paths for all plug-ins that provide a certain interface type specified by pitid. If successful, client code will receive the concrete interface IDs in piids. Each of these IDs can than be used along with nvutil::getInterface, to get an interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.nxm" on Microsoft(R) Windows platforms as well as on Linux platforms.

Returns:
true if successful, false otherwise.
Parameters:
searchPath | The optional path to search for plug-ins.
pitid | Identifies the interface type to query for.
piids | Holds all interface IDs found, if successfull.

NVSG_API void releaseInterface ( const UPIID & piid )

Release a certain interface.

Frees all resources acquired by the interface object identified by piid.

Parameters:
piid Identifies the interface to be released.

NVSG_API void setPlugInFileFilter ( const std::string & filter )

Specify a file name filter to be used while searching for appropriate plug-in modules.

This function overrides the PlugInServer's default file name filter used to search for appropriate plug-in modules. The function lets you specify different file name patterns. The patterns must be separated by a semicolon.

Parameters:
filter String of file name filter patterns all delimited by a semicolon.

NVSG_API void addPlugInSearchPath ( const std::string & path )

Add a path to the list of directories used to search for PlugIn DLLs.

This function adds a directory to the internal search list. The list is used internally when SceniX looks for Texture Loaders and it can be queried by an application through getPlugInSearchPath() to be used as a search path when querying SceneLoader PlugIns. It will always contain the current instance's path (module path), which is added during initialization.

Parameters:
path A directory to be added to the search path.

NVSG_API const std::vector<std::string>& getPlugInSearchPath ( )

Return the list of directories used to search for PlugIn DLLs.

See comments for addPlugInSearchPath()

Variable Documentation

class typedef bool(* PFNGETPLUGINTERFACE)(const UPIID &piid, PlugIn *&plugIn)

Function pointer type for getPlugInterface export function required by a plug-in.

Generated on Fri Jul 13 13:28:04 2012 for SceniX


SceniX: PlugIn.h Source File

inc / nvsg / nvutil

PlugIn.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <map>
00016
00017 #include "nvsgcommon.h"
00018 #if defined(LINUX)
00019  #include <dlfcn.h>
00020 #endif
00021 #include "nvutil/PlugInCallback.h"
00022 #include "nvutil/SmartPtr.h"
00023
00024 namespace nvutil {
00025
00039 #if defined(_WIN32)
00040 # define HLIB                 HMODULE
00041 # define MapLibrary(name)     LoadLibrary(name)
00042 # define UnMapLibrary         FreeLibrary
00043 # define GetFuncAddress       GetProcAddress
00044 # define LibExtStr            "*.nxm"
00045 #elif defined(LINUX)
00046 # define HLIB                 void*
00047 # define MapLibrary(name)     dlopen(name, RTLD_LAZY)
00048 # define UnMapLibrary(handle) dlclose(handle)
00049 # define GetFuncAddress       dlsym
00050 # define LibExtStr            "*.nxm"
00051 #else
00052 # error Undefined Operating System!
00053 #endif
00054
00056
00063 class UPITID
00064 {
00065 public:
00067
00069   UPITID() {}
00071
00073   NVSG_API UPITID( unsigned short pit
00074                  , const char verStr[16]
00075                  );
00077
00079   NVSG_API UPITID(const UPITID& rhs);
00081
00085   friend bool operator<( const UPITID& lhs
00086                        , const UPITID& rhs
00087                        );
00089
00092   friend bool operator==( const UPITID& lhs
00093                         , const UPITID& rhs
00094                         );
00096
00099   friend bool operator!=( const UPITID& lhs
00100                         , const UPITID& rhs
00101                         );
00102
00103 private:
00104   unsigned short data0;      // plug interface type
00105   char           data1[16];  // version control
00106 };
00107
00109
00114 class UPIID // Unique Plug Interface ID
00115 {
00116 public:
00118
00120   UPIID() {};
00122
00125   NVSG_API UPIID( const char idstr[8]
00126                 , UPITID pitid
00127                 );
00129
00132   NVSG_API UPIID& operator=(const UPIID& rhs);
00133
00135
00147   const char * getPlugSpecificIDString() const;
00149
00153   const UPITID& getPlugInterfaceType()  const;
00154
00156
00160   friend bool operator<( const UPIID& lhs
00161                        , const UPIID& rhs
00162                        );
00164
00167   friend bool operator==( const UPIID& lhs
00168                         , const UPIID& rhs
00169                         );
00171
00174   friend bool operator!=( const UPIID& lhs
00175                         , const UPIID& rhs
00176                         );
00177
00178 private:
00179   char           data0[8];   // plug specific identifier string
00180   UPITID         data1;      // plug interface type
00181 };
00182
00183 inline const char * UPIID::getPlugSpecificIDString() const
00184 {
00185   return data0;
00186 }
00187
00188 inline const UPITID& UPIID::getPlugInterfaceType() const
00189 {
00190   return data1;
00191 }
00192
00193 // this 'less' operator is required when storing UPITIDs in STL maps
00194 inline bool operator<(const UPITID& lhs, const UPITID& rhs)
00195 {
00196   return (lhs.data0==rhs.data0) ? stricmp(lhs.data1, rhs.data1)<0 : lhs.data0<rhs.data0;
00197 }
00198
00199 // test if two UPITIDs are equal
00200 inline bool operator==(const UPITID& lhs, const UPITID& rhs)
00201 {
00202   return lhs.data0==rhs.data0 && !stricmp(lhs.data1, rhs.data1);
00203 }
00204
00205 // test if two UPITIDs are unequal
00206 inline bool operator!=(const UPITID& lhs, const UPITID& rhs)
00207 {
00208   return !(lhs==rhs);
00209 }
00210
00211 // this 'less' operator is required when storing UPIIDs in STL maps
00212 inline bool operator<(const UPIID& lhs, const UPIID& rhs)
00213 {
00214   return (lhs.data1==rhs.data1) ? stricmp(lhs.data0, rhs.data0)<0 : lhs.data1<rhs.data1;
00215 }
00216
00217 // test if two UPIIDs are equal
00218 inline bool operator==(const UPIID& lhs, const UPIID& rhs)
00219 {
00220   return !stricmp(lhs.data0, rhs.data0) && lhs.data1==rhs.data1;
00221 }
00222
00223 // test if two UPIIDs are unequal
00224 inline bool operator!=(const UPIID& lhs, const UPIID& rhs)
00225 {
00226   return !(lhs==rhs);
00227 }
00228
00229 // required forward declarations
00230 class PlugIn;
00231
00233 typedef bool (*PFNGETPLUGINTERFACE)(const UPIID& piid, PlugIn *& plugIn);
00235 typedef bool (*PFNQUERYPLUGINTERFACETYPE)(const UPITID& pitid, std::vector<UPIID>& piids);
00236
00238
00240 class PlugIn : public RCObject
00241 {
00243
00246   friend class PlugInServer;
00247
00248 public:
00249   PlugIn();
00250
00252
00253   void setCallback( PlugInCallback *cb
00254                   , bool throwExceptionOnError = true
00255                   );
00256
00257 protected:
00258   virtual ~PlugIn();
00260
00267   virtual void deleteThis(void) = 0;
00268
00271   const PlugInCallback * callback( void ) const;
00272
00275   PlugInCallback * callback( void );
00276
00277 private:
00278   nvutil::SmartPtr<PlugInCallback> m_cb;
00279 };
00280
00281 inline  PlugIn::PlugIn()
00282 : m_cb(NULL)
00283 {
00284 }
00285
00286 inline  void  PlugIn::setCallback( PlugInCallback *cb, bool throwExceptionOnError )
00287 {
00288   m_cb = cb;
00289   if ( cb )
00290   {
00291     m_cb->setThrowExceptionOnError( throwExceptionOnError );
00292   }
00293 }
00294
00295 inline  const PlugInCallback * PlugIn::callback( void ) const
00296 {
00297   return( m_cb.get() );
00298 }
00299
00300 inline  PlugInCallback * PlugIn::callback( void )
00301 {
00302   return( m_cb.get() );
00303 }
00304
00305 inline  PlugIn::~PlugIn()
00306 {
00307 }
00308
00310
00339   NVSG_API bool getInterface(
00340     const std::vector<std::string>& searchPath
00341   , const UPIID& piid
00342   , PlugIn *& plugIn
00343   );
00344
00346
00358   NVSG_API bool queryInterfaceType(
00359     const std::vector<std::string>& searchPath
00360   , const UPITID& pitid
00361   , std::vector<UPIID>& piids
00362   );
00363
00365
00367   NVSG_API void releaseInterface(
00368     const UPIID& piid
00369   );
00370
00372
00375   NVSG_API void setPlugInFileFilter(
00376     const std::string& filter
00377   );
00378
00380
00386   NVSG_API void addPlugInSearchPath(
00387     const std::string& path
00388     );
00389
00391
00392   NVSG_API const std::vector<std::string>& getPlugInSearchPath();
00393
00395
00402 class PlugInServer
00403 {
00404 public:
00405   friend NVSG_API bool getInterface( const std::vector<std::string> & searchPath, const UPIID & piid, PlugIn *& plugIn );
00406   friend NVSG_API bool queryInterfaceType( const std::vector<std::string> & searchPath, const UPITID & pitid, std::vector<UPIID> & piids );
00407   friend NVSG_API void releaseInterface( const UPIID & piid );
00408   friend NVSG_API void setPlugInFileFilter( const std::string & filter );
00409   friend NVSG_API void addPlugInSearchPath( const std::string & path );
00410   friend NVSG_API const std::vector<std::string>& getPlugInSearchPath();
00411
00412   PlugInServer();
00413   ~PlugInServer();
00414
00415 private:
00416   // hidden interface
00417   bool getInterfaceImpl(const std::vector<std::string>& searchPath, const UPIID& piid, PlugIn *& plugIn);
00418   bool queryInterfaceTypeImpl(const std::vector<std::string>& searchPath, const UPITID& pitid, std::vector<UPIID>& piids);
00419   void releaseInterfaceImpl(const UPIID& piid);
00420   void setFileFilterImpl(const std::string& filter);
00421
00422 private:
00423   bool findPlugIns(const std::vector<std::string>& searchPath, std::vector<std::string>& plugIns);
00424   bool registerPlugIn(const std::string& fileName, const UPIID& piid, PlugIn *& plugIn);
00425   typedef std::map< UPIID, SmartPtr<PlugIn> > PlugInMap;
00426   PlugInMap m_plugIns;
00427   std::string m_filter;
00428   std::vector<std::string> m_searchPath;  // the search path for PlugIn DLLs
00429 };
00430
00432 typedef Singleton<PlugInServer> PIS;
00433
00434 } // namespace nvutil
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PlugInCallback.h File Reference

inc / nvsg / nvutil

PlugInCallback.h File Reference

#include "nvsgcommon.h"
#include "nvutil/RCObject.h"

Include dependency graph for PlugInCallback.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:05 2012 for SceniX


SceniX: PlugInCallback.h Source File

inc / nvsg / nvutil

PlugInCallback.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #include  "nvutil/RCObject.h"
00018
00019 namespace nvutil
00020 {
00022
00030   class PlugInCallback : public RCObject
00031   {
00032     public:
00034       typedef enum
00035       {
00036         PICE_UNEXPECTED_EOF,
00037         PICE_UNEXPECTED_TOKEN,
00038         PICE_UNKNOWN_TOKEN,
00039         PICE_FILE_ACCESS_FAILED,
00040         PICE_FILE_MAPPING_FAILED,
00041         PICE_INCOMPATIBLE_FILE,
00042         PICE_INVALID_FILE,
00043         PICE_UNSPECIFIED_ERROR
00044       } PIC_ERROR;
00045
00047       typedef enum
00048       {
00049         PICW_FILE_EMPTY,
00050         PICW_FILE_NOT_FOUND,
00051         PICW_FILES_NOT_FOUND,
00052         PICW_EMPTY_TOKEN,
00053         PICW_INCOMPATIBLE_VALUES,
00054         PICW_INVALID_VALUE,
00055         PICW_UNDEFINED_TOKEN,
00056         PICW_UNSUPPORTED_TOKEN,
00057         PICW_DEGENERATE_GEOMETRY,
00058         PICW_UNSPECIFIED_WARNING
00059       } PIC_WARNING;
00060
00062       typedef enum
00063       {
00064         PICT_INT,
00065         PICT_FLOAT
00066       } PIC_TYPE_ID;
00067
00069       typedef struct
00070       {
00071         unsigned int  position;
00072         std::string  context;
00073         std::string  token;
00074       } EmptyTokenInfo;
00075
00077       typedef struct
00078       {
00079         unsigned int        position;
00080         std::string        context;
00081         PIC_TYPE_ID   valueType;
00082         std::string        value0Name;
00083         const void *  value0;
00084         std::string        value1Name;
00085         const void *  value1;
00086       } IncompatibleValueInfo;
00087
00089       typedef struct
00090       {
00091         unsigned int        position;
00092         std::string        context;
00093         PIC_TYPE_ID   valueType;
00094         std::string        valueName;
00095         const void *  value;
00096       } InvalidValueInfo;
00097
00099       typedef struct
00100       {
00101         unsigned int        position;
00102         std::string        context;
00103         std::string        token;
00104       } UndefinedTokenInfo;
00105
00107       typedef struct
00108       {
00109         unsigned int        position;
00110         std::string        expected;
00111         std::string        encountered;
00112       } UnexpectedTokenInfo;
00113
00115       typedef struct
00116       {
00117         unsigned int        position;
00118         std::string        context;
00119         std::string        token;
00120       } UnknownTokenInfo;
00121
00123       typedef struct
00124       {
00125         unsigned int        position;
00126         std::string        context;
00127         std::string        token;
00128       } UnsupportedTokenInfo;
00129
00131       typedef struct
00132       {
00133         unsigned int        position;
00134         std::string   name;
00135       } DegenerateGeometryInfo;
00136
00138       typedef struct
00139       {
00140         std::string        file;
00141         unsigned int  systemSpecificErrorCode;
00142       } FileAccessFailedInfo;
00143
00145       typedef struct
00146       {
00147         unsigned int  systemSpecificErrorCode;
00148       } FileMappingFailedInfo;
00149
00151       typedef struct
00152       {
00153         std::string        file;
00154         std::string        context;
00155         unsigned int  expectedVersion;
00156
00157         unsigned int  detectedVersion;
00158
00159       } IncompatibleFileInfo;
00160
00162       typedef struct
00163       {
00164         std::string        file;
00165         std::string        context;
00166       } InvalidFileInfo;
00167
00168     public:
00170       PlugInCallback();
00171
00173       void  setThrowExceptionOnError( bool set );
00174
00176
00181       virtual void onError( PIC_ERROR eid
00182                           , const void *info
00183                           ) const;
00184
00186
00192       virtual bool onWarning( PIC_WARNING wid
00193                             , const void *info
00194                             ) const;
00195
00197
00209       virtual bool onUnLocalizedMessage( const std::string & severity,
00210                                          const std::string & message ) const;
00211
00213
00216       virtual void onUnexpectedEndOfFile( unsigned int position
00217                                         ) const;
00218
00220
00224       virtual void onUnexpectedToken( unsigned int position
00225                                     , const std::string &expected
00226                                     , const std::string &encountered
00227                                     ) const;
00228
00230
00234       virtual void onUnknownToken( unsigned int position
00235                                  , const std::string &context
00236                                  , const std::string &token
00237                                  ) const;
00238
00240
00244       virtual bool onEmptyToken( unsigned int position
00245                                , const std::string &context
00246                                , const std::string &token
00247                                ) const;
00248
00250
00253       virtual bool onFileEmpty( const std::string &file
00254                               ) const;
00255
00257
00260       virtual bool onFileNotFound( const std::string &file
00261                                  ) const;
00262
00264
00267       virtual bool onFilesNotFound( const std::vector<std::string> &files
00268                                   ) const;
00269
00271
00275       virtual bool onUndefinedToken( unsigned int position
00276                                    , const std::string &context
00277                                    , const std::string &token
00278                                    ) const;
00279
00281
00285       virtual bool onIncompatibleValues( unsigned int position
00286                                        , const std::string &context
00287                                        , const std::string &value0Name
00288                                        , int value0
00289                                        , const std::string &value1Name
00290                                        , int value1
00291                                        ) const;
00292
00294
00298       virtual bool onIncompatibleValues( unsigned int position
00299                                        , const std::string &context
00300                                        , const std::string &value0Name
00301                                        , float value0
00302                                        , const std::string &value1Name
00303                                        , float value1
00304                                        ) const;
00305
00307
00311       virtual bool onInvalidValue( unsigned int position
00312                                  , const std::string &context
00313                                  , const std::string &valueName
00314                                  , int value
00315                                  ) const;
00316
00318
00322       virtual bool onInvalidValue( unsigned int position
00323                                  , const std::string &context
00324                                  , const std::string &valueName
00325                                  , float value
00326                                  ) const;
00327
00329
00333       virtual bool onUnsupportedToken( unsigned int position
00334                                      , const std::string &context
00335                                      , const std::string &token
00336                                      ) const;
00337
00339
00343       virtual bool onDegenerateGeometry( unsigned int position
00344                                        , const std::string &context
00345                                        ) const;
00346
00348
00352       virtual void onFileAccessFailed( const std::string& file
00353                                      , unsigned int systemSpecificErrorCode
00354                                      ) const;
00355
00357
00361       virtual void onFileMappingFailed( unsigned int systemSpecificErrorCode
00362                                       ) const;
00363
00365
00369       virtual void onIncompatibleFile( const std::string& file
00370                                      , const std::string& context
00371                                      , unsigned int expectedVersion
00372
00373                                      , unsigned int detectedVersion
00374
00375                                      ) const;
00376
00378
00382       virtual void onInvalidFile( const std::string& file
00383                                 , const std::string& context
00384                                 ) const;
00385
00386     protected:
00388       virtual ~PlugInCallback();
00389
00390     private:
00391       bool  m_throwExceptionOnError;
00392   };
00393
00394   inline  PlugInCallback::PlugInCallback()
00395     : m_throwExceptionOnError(true)
00396   {
00397   }
00398
00399   inline  PlugInCallback::~PlugInCallback()
00400   {
00401   }
00402
00403   inline  void  PlugInCallback::setThrowExceptionOnError( bool set )
00404   {
00405     m_throwExceptionOnError = set;
00406   }
00407
00408   inline  void  PlugInCallback::onError( PIC_ERROR eid, const void *info ) const
00409   {
00410     if ( m_throwExceptionOnError )
00411     {
00412       throw( eid );
00413     }
00414   }
00415
00416   inline  bool  PlugInCallback::onWarning( PIC_WARNING wid, const void *info ) const
00417   {
00418     return( true );
00419   }
00420
00421   inline  bool  PlugInCallback::onUnLocalizedMessage(const std::string & severity,
00422                                                      const std::string & message )
00423                                                   const
00424   {
00425     if ( (severity == "ERROR") && m_throwExceptionOnError )
00426     {
00427       throw( PICE_UNSPECIFIED_ERROR );
00428     }
00429     else
00430     {
00431       return( true );
00432     }
00433   }
00434
00435   inline  void  PlugInCallback::onUnexpectedEndOfFile( unsigned int position ) const
00436   {
00437     onError( PICE_UNEXPECTED_EOF, &position );
00438   }
00439
00440   inline  void  PlugInCallback::onUnexpectedToken( unsigned int position, const std::string &expected, const std::string &encountered ) const
00441   {
00442     UnexpectedTokenInfo uti;
00443     uti.position    = position;
00444     uti.expected    = expected;
00445     uti.encountered = encountered;
00446     onError( PICE_UNEXPECTED_TOKEN, &uti );
00447   }
00448
00449   inline  void  PlugInCallback::onUnknownToken( unsigned int position, const std::string &context, const std::string &token ) const
00450   {
00451     UnknownTokenInfo  uti;
00452     uti.position  = position;
00453     uti.context   = context;
00454     uti.token     = token;
00455     onError( PICE_UNKNOWN_TOKEN, &uti );
00456   }
00457
00458
00459   inline  bool  PlugInCallback::onEmptyToken( unsigned int position, const std::string &context, const std::string &token ) const
00460   {
00461     EmptyTokenInfo  uti;
00462     uti.position  = position;
00463     uti.context   = context;
00464     uti.token     = token;
00465     return( onWarning( PICW_EMPTY_TOKEN, &uti ) );
00466   }
00467
00468   inline  bool  PlugInCallback::onDegenerateGeometry( unsigned int position, const std::string &name ) const
00469   {
00470     DegenerateGeometryInfo  dg;
00471     dg.position  = position;
00472     dg.name      = name;
00473     return( onWarning( PICW_DEGENERATE_GEOMETRY, &dg ) );
00474   }
00475
00476   inline  bool  PlugInCallback::onFileEmpty( const std::string &file ) const
00477   {
00478     return( onWarning( PICW_FILE_EMPTY, &file ) );
00479   }
00480
00481   inline  bool  PlugInCallback::onFileNotFound( const std::string &file ) const
00482   {
00483     return( onWarning( PICW_FILE_NOT_FOUND, &file ) );
00484   }
00485
00486   inline  bool  PlugInCallback::onFilesNotFound( const std::vector<std::string> &files ) const
00487   {
00488     return( onWarning( PICW_FILES_NOT_FOUND, &files ) );
00489   }
00490
00491   inline  bool  PlugInCallback::onUndefinedToken( unsigned int position, const std::string &context, const std::string &token ) const
00492   {
00493     EmptyTokenInfo  uti;
00494     uti.position  = position;
00495     uti.context   = context;
00496     uti.token     = token;
00497     return( onWarning( PICW_UNDEFINED_TOKEN, &uti ) );
00498   }
00499
00500   inline  bool  PlugInCallback::onIncompatibleValues( unsigned int position, const std::string &context, const std::string &value0Name,
00501                                                       int value0, const std::string &value1Name, int value1 ) const
00502   {
00503     IncompatibleValueInfo ivi;
00504     ivi.position    = position;
00505     ivi.context     = context;
00506     ivi.valueType   = PICT_INT;
00507     ivi.value0Name  = value0Name;
00508     ivi.value0      = &value0;
00509     ivi.value1Name  = value1Name;
00510     ivi.value1      = &value1;
00511     return( onWarning( PICW_INCOMPATIBLE_VALUES, &ivi ) );
00512   }
00513
00514   inline  bool  PlugInCallback::onIncompatibleValues( unsigned int position, const std::string &context, const std::string &value0Name,
00515                                                       float value0, const std::string &value1Name, float value1 ) const
00516   {
00517     IncompatibleValueInfo ivi;
00518     ivi.position    = position;
00519     ivi.context     = context;
00520     ivi.valueType   = PICT_FLOAT;
00521     ivi.value0Name  = value0Name;
00522     ivi.value0      = &value0;
00523     ivi.value1Name  = value1Name;
00524     ivi.value1      = &value1;
00525     return( onWarning( PICW_INCOMPATIBLE_VALUES, &ivi ) );
00526   }
00527
00528
00529   inline  bool  PlugInCallback::onInvalidValue( unsigned int position, const std::string &context,
00530                                                 const std::string &valueName, int value ) const
00531   {
00532     InvalidValueInfo  ivi;
00533     ivi.position  = position;
00534     ivi.context   = context;
00535     ivi.valueName = valueName;
00536     ivi.valueType = PICT_INT;
00537     ivi.value     = &value;
00538     return( onWarning( PICW_INVALID_VALUE, &ivi ) );
00539   }
00540
00541   inline  bool  PlugInCallback::onInvalidValue( unsigned int position, const std::string &context,
00542                                                 const std::string &valueName, float value ) const
00543   {
00544     InvalidValueInfo  ivi;
00545     ivi.position  = position;
00546     ivi.context   = context;
00547     ivi.valueName = valueName;
00548     ivi.valueType = PICT_FLOAT;
00549     ivi.value     = &value;
00550     return( onWarning( PICW_INVALID_VALUE, &ivi ) );
00551   }
00552
00553   inline  bool  PlugInCallback::onUnsupportedToken( unsigned int position, const std::string &context, const std::string &token ) const
00554   {
00555     UnsupportedTokenInfo  uti;
00556     uti.position  = position;
00557     uti.context   = context;
00558     uti.token     = token;
00559     return( onWarning( PICW_UNSUPPORTED_TOKEN, &uti ) );
00560   }
00561
00562   inline  void  PlugInCallback::onFileAccessFailed( const std::string& file, unsigned int systemSpecificErrorCode ) const
00563   {
00564     FileAccessFailedInfo fafi;
00565     fafi.file = file;
00566     fafi.systemSpecificErrorCode = systemSpecificErrorCode;
00567     onError(PICE_FILE_ACCESS_FAILED, &fafi);
00568   }
00569
00570   inline  void  PlugInCallback::onFileMappingFailed( unsigned int systemSpecificErrorCode ) const
00571   {
00572     FileMappingFailedInfo fmfi;
00573     fmfi.systemSpecificErrorCode = systemSpecificErrorCode;
00574     onError(PICE_FILE_MAPPING_FAILED, &fmfi);
00575   }
00576
00577   inline  void  PlugInCallback::onIncompatibleFile( const std::string& file, const std::string& context
00578                                                   , unsigned int expectedVersion, unsigned int detectedVersion) const
00579   {
00580     IncompatibleFileInfo ifi;
00581     ifi.file = file;
00582     ifi.context = context;
00583     ifi.expectedVersion = expectedVersion;
00584     ifi.detectedVersion = detectedVersion;
00585     onError(PICE_INCOMPATIBLE_FILE, &ifi);
00586   }
00587
00588   inline  void  PlugInCallback::onInvalidFile( const std::string& file, const std::string& context ) const
00589   {
00590     InvalidFileInfo ifi;
00591     ifi.file = file;
00592     ifi.context = context;
00593     onError(PICE_INVALID_FILE, &ifi);
00594   }
00595 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PlugInterface.h File Reference

inc / nvsg / nvsg

PlugInterface.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CoreTypes.h"
#include "nvutil/PlugIn.h"
#include "nvutil/SWMRSync.h"

Include dependency graph for PlugInterface.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:05 2012 for SceniX


SceniX: PlugInterface.h Source File

inc / nvsg / nvsg

PlugInterface.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/CoreTypes.h"
00017 #include "nvutil/PlugIn.h" // general PlugIn class definition
00018 #include "nvutil/SWMRSync.h"
00019
00020 namespace nvsg
00021 {
00023
00081   // SceneLoader interface
00082   class SceneLoader : public nvutil::PlugIn
00083   {
00084     public:
00086
00093       NVSG_API virtual SceneSharedPtr load( const std::string& filename
00094                                             , const std::vector<std::string> &searchPaths
00095                                             , ViewStateSharedPtr & viewState
00097                                             ) = 0;
00098
00099     protected:
00101
00112       NVSG_API virtual ~SceneLoader();
00113   };
00114
00116
00118   class SceneSaver : public nvutil::PlugIn
00119   {
00120     public:
00122
00125       NVSG_API virtual bool save( const SceneSharedPtr & scene
00126                                 , const ViewStateSharedPtr & viewState
00127                                 , const std::string& filename ) = 0;
00128
00129     protected:
00131
00142       NVSG_API virtual ~SceneSaver();
00143   };
00144
00146
00147   class TextureLoader : public nvutil::PlugIn
00148   {
00149     public:
00162       NVSG_API TextureHostSharedPtr load( const std::string& filename
00163                                         , const std::vector<std::string>& searchPaths = std::vector<std::string>()
00164                                         , const unsigned int& creationFlags = 0 );
00165
00175       NVSG_API bool reload( const TextureHostSharedPtr & tih
00176                           , const std::vector<std::string>& searchPaths
00177                             = std::vector<std::string>() );
00178
00179     protected:
00181
00192       NVSG_API virtual ~TextureLoader();
00193
00199       NVSG_API virtual TextureHostSharedPtr createTextureHost();
00200
00212       NVSG_API virtual bool onLoad( const std::string & filename
00213                                   , nvsg::TextureHost * texImg
00214                                   , const std::vector<std::string> & searchPaths ) = 0;
00215
00216     private:
00217       // serialize invokations from concurrent threads
00218       nvutil::SWMRSync m_lock;
00219   };
00220
00222
00223   class TextureSaver : public nvutil::PlugIn
00224   {
00225     public:
00227
00230       NVSG_API virtual bool save( const TextureHostSharedPtr & image
00231                                 , const std::string & fileName ) = 0;
00232
00233     protected:
00235
00246       NVSG_API virtual ~TextureSaver();
00247   };
00248
00250   class ShaderLoader : public nvutil::PlugIn
00251   {
00252     public:
00253       typedef std::vector<std::string> BufferList;
00254
00255     public:
00257       NVSG_API virtual bool load( const std::string &fileName
00258                                 , const std::vector<std::string> &searchPaths
00259                                 , BufferList &bl
00260                                 ) = 0;
00261
00263       NVSG_API virtual std::string getErrors() = 0;
00264     protected:
00266       NVSG_API virtual ~ShaderLoader();
00267   };
00268
00269 } //  namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PlugInterfaceID.h File Reference

inc / nvsg / nvsg

PlugInterfaceID.h File Reference

#include "nvsg/NVSGVersion.h"

Include dependency graph for PlugInterfaceID.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define | UPITID_VERSION NVSG_VER_MAJOR_STR "." NVSG_VER_MINOR_STR
A string define serving for version safty.
#define | UPITID_SCENE_LOADER 0x0001
Unique Plug-In Type ID for Scene loaders.
#define | UPITID_SCENE_SAVER 0x0002
Unique Plug-In Type ID for Scene savers.
#define | UPITID_TEXTURE_LOADER 0x0004
Unique Plug-In Type ID for texture loaders (not yet implemented).
#define | UPITID_TEXTURE_SAVER 0x0008
Unique Plug-In Type ID for texture savers.
#define | UPITID_SHADER_LOADER 0x0010
Unique Plug-In Type ID for shader loaders.

Detailed Description

Define Documentation

#define UPITID_VERSION NVSG_VER_MAJOR_STR "." NVSG_VER_MINOR_STR

A string define serving for version safty.

#define UPITID_SCENE_LOADER 0x0001

Unique Plug-In Type ID for Scene loaders.

#define UPITID_SCENE_SAVER 0x0002

Unique Plug-In Type ID for Scene savers.

#define UPITID_TEXTURE_LOADER 0x0004

Unique Plug-In Type ID for texture loaders (not yet implemented).

#define UPITID_TEXTURE_SAVER 0x0008

Unique Plug-In Type ID for texture savers.

#define UPITID_SHADER_LOADER 0x0010

Unique Plug-In Type ID for shader loaders.

Generated on Fri Jul 13 13:28:05 2012 for SceniX


SceniX: PlugInterfaceID.h Source File

inc / nvsg / nvsg

PlugInterfaceID.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/NVSGVersion.h"
00016
00018 #define UPITID_VERSION        NVSG_VER_MAJOR_STR "." NVSG_VER_MINOR_STR
00019
00020 #define UPITID_SCENE_LOADER   0x0001
00021 #define UPITID_SCENE_SAVER    0x0002
00022 #define UPITID_TEXTURE_LOADER 0x0004
00023 #define UPITID_TEXTURE_SAVER  0x0008
00024 #define UPITID_SHADER_LOADER  0x0010
00025
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PLYLoader.h File Reference

src / Loader / PLYLoader

PLYLoader.h File Reference

#include <fstream>
#include <string>
#include "nvsg/nvsgapi.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/PlugInterface.h"
#include "nvutil/PlugInCallback.h"
#include "nvutil/Tools.h"
#include "nvutil/FileMapping.h"

Include dependency graph for PLYLoader.h:

Go to the source code of this file.

Defines

#define | ATTRIBUTE_MASK_VERTEX ((1 << PLY_VERTEX_X) | (1 << PLY_VERTEX_Y) | (1 << PLY_VERTEX_Z))
#define | ATTRIBUTE_MASK_NORMAL ((1 << PLY_NORMAL_X) | (1 << PLY_NORMAL_Y) | (1 << PLY_NORMAL_Z))
#define | ATTRIBUTE_MASK_COLOR ((1 << PLY_COLOR_R) | (1 << PLY_COLOR_G) | (1 << PLY_COLOR_B))

Typedefs

typedef char | byte_t
Specifies an 8-bit signed type.
typedef unsigned char | ubyte_t
Specifies an 8-bit unsigned type.
typedef int | int_t
Specifies a 32-bit signed integer type.
typedef unsigned int | uint_t
Specifies a 32-bit unsigned integer type.
typedef unsigned long long | uint64_t
Specifies a 64-bit unsigned integer type.
typedef unsigned int | DWORD
typedef bool | BOOL
typedef void(PLYLoader::* | PFN_READ_ATTRIBUTE )(float *dst)

Enumerations

enum PLY_TOKEN {
PLY_TOKEN_CHAR = 0, PLY_TOKEN_UCHAR, PLY_TOKEN_SHORT, PLY_TOKEN_USHORT,
PLY_TOKEN_INT, PLY_TOKEN_UINT, PLY_TOKEN_FLOAT, PLY_TOKEN_DOUBLE,
PLY_TOKEN_PLY, PLY_TOKEN_FORMAT, PLY_TOKEN_ASCII, PLY_TOKEN_BINARYLITTLEENDIAN,
PLY_TOKEN_BINARYBIGENDIAN, PLY_TOKEN_ONEPOINTZERO, PLY_TOKEN_COMMENT, PLY_TOKEN_OBJINFO,
PLY_TOKEN_ELEMENT, PLY_TOKEN_PROPERTY, PLY_TOKEN_LIST, PLY_TOKEN_ENDHEADER,
PLY_TOKEN_UNKNOWN
}
enum PLY_PARSER_STATE {
PLY_STATE_PLY, PLY_STATE_FORMAT, PLY_STATE_FORMAT_TYPE, PLY_STATE_FORMAT_VERSION,
PLY_STATE_ELEMENT, PLY_STATE_ELEMENT_IDENTIFIER, PLY_STATE_ELEMENT_COUNT, PLY_STATE_PROPERTY,
PLY_STATE_PROPERTY_TYPE, PLY_STATE_PROPERTY_LIST_COUNT_TYPE, PLY_STATE_PROPERTY_LIST_DATA_TYPE, PLY_STATE_PROPERTY_NAME,
PLY_STATE_END
}
enum PLY_ATTRIBUTE_COMPONENT {
PLY_VERTEX_X = 0, PLY_VERTEX_Y, PLY_VERTEX_Z, PLY_NORMAL_X,
PLY_NORMAL_Y, PLY_NORMAL_Z, PLY_COLOR_R, PLY_COLOR_G,
PLY_COLOR_B, PLY_USER_DEFINED_COMPONENT
}

Functions

void | lib_init () __attribute__((constructor))
PLYLOADER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.
PLYLOADER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Variables

typedef void(PLYLoader::* | PFN_READ )(void *dst)

Detailed Description

Typedef Documentation

typedef char byte_t

Specifies an 8-bit signed type.

typedef unsigned char ubyte_t

Specifies an 8-bit unsigned type.

typedef int int_t

Specifies a 32-bit signed integer type.

typedef unsigned int uint_t

Specifies a 32-bit unsigned integer type.

typedef unsigned long long uint64_t

Specifies a 64-bit unsigned integer type.

Function Documentation

PLYLOADER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a PLYLoader. If the PlugIn ID piid equals PIID_PLY_SCENE_LOADER, a PLYLoader is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

PLYLOADER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_LOADER, the vector piids is filled with one element PIID_PLY_SCENE_LOADER.

Returns:
true, if a PITID_SCENE_LOADER is requested, otherwise false

Generated on Fri Jul 13 13:28:06 2012 for SceniX


SceniX: PLYLoader.h Source File

src / Loader / PLYLoader

PLYLoader.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <fstream>
00016 #include <string>
00017
00018 #include "nvsg/nvsgapi.h"
00019 #include "nvsg/CoreTypes.h"
00020 #include "nvsg/PlugInterface.h"
00021 #include "nvutil/PlugInCallback.h"
00022 #include "nvutil/Tools.h"
00023 #include "nvutil/FileMapping.h"
00024
00025
00026 // convenient aliases for used built-in types
00027 typedef char                    byte_t;
00028 typedef unsigned char           ubyte_t;
00029 typedef int                     int_t;
00030 typedef unsigned int            uint_t;
00031 #ifdef LINUX
00032 # if __WORDSIZE == 64           // defined indirectly through stdint.h
00033 // avoid a conflict with GNU stdint.h on Linux64
00034 // note: long is a 64-bit type on Linux64, while it is 32bit on Win64
00035 // Linux64
00036 typedef unsigned long           uint64_t;
00037 # else
00038 // Linux32
00039 typedef unsigned long long      uint64_t;
00040 # endif
00041 #else
00042 // Win32 and Win64
00043 typedef unsigned long long      uint64_t;
00044 #endif
00045
00046
00047
00048
00049 // storage-class defines
00050 #if ! defined( DOXYGEN_IGNORE )
00051 # if defined(_WIN32)
00052 #  ifdef PLYLOADER_EXPORTS
00053 #   define PLYLOADER_API __declspec(dllexport)
00054 #  else
00055 #   define PLYLOADER_API __declspec(dllimport)
00056 #  endif
00057 # else
00058 #   define PLYLOADER_API
00059 # endif
00060 #endif
00061
00062 #if defined(LINUX)
00063 typedef unsigned int DWORD;
00064 typedef bool BOOL;
00065 void lib_init() __attribute__ ((constructor));   // will be called before dlopen() returns
00066 #endif
00067
00068
00069 // exports required for a scene loader plug-in
00070 #if defined(LINUX)
00071 extern "C"
00072 {
00073 #endif
00074
00076
00080 PLYLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00081
00083
00088 PLYLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00089
00090 #if defined(LINUX)
00091 }
00092 #endif
00093
00094
00095 // PLY Datatypes:
00096 // name        type        number of bytes   alias added in this loader:
00097 //                                           (Often found in older files!)
00098 // ---------------------------------------   -----------------------------
00099 // int8       character                 1    char
00100 // uint8      unsigned character        1    uchar
00101 // int16      short integer             2    short
00102 // uint16     unsigned short integer    2    ushort
00103 // int32      integer                   4    int
00104 // uint32     unsigned integer          4    uint
00105 // float32    single-precision float    4    float
00106 // float64    double-precision float    8    double
00107
00108
00109 // These enums encode the predefined keywords inside standard PLY files.
00110 typedef enum
00111 {
00112   PLY_TOKEN_CHAR = 0,   // These data type tokens are zero based and used to index read function tables.
00113   PLY_TOKEN_UCHAR,
00114   PLY_TOKEN_SHORT,
00115   PLY_TOKEN_USHORT,
00116   PLY_TOKEN_INT,
00117   PLY_TOKEN_UINT,
00118   PLY_TOKEN_FLOAT,
00119   PLY_TOKEN_DOUBLE,
00120
00121   PLY_TOKEN_PLY,
00122   PLY_TOKEN_FORMAT,
00123
00124   PLY_TOKEN_ASCII,                // These three enums must be consecutive in this order to be used for function table lookup.
00125   PLY_TOKEN_BINARYLITTLEENDIAN,   // "-"
00126   PLY_TOKEN_BINARYBIGENDIAN,      // "-"
00127
00128   PLY_TOKEN_ONEPOINTZERO,
00129   PLY_TOKEN_COMMENT,
00130   PLY_TOKEN_OBJINFO,
00131   PLY_TOKEN_ELEMENT,
00132   PLY_TOKEN_PROPERTY,
00133   PLY_TOKEN_LIST,
00134   PLY_TOKEN_ENDHEADER,
00135
00136   PLY_TOKEN_UNKNOWN
00137
00138 } PLY_TOKEN;
00139
00140
00141 // These enums define the states of a simple state machine used during parsing of the PLY header.
00142 typedef enum
00143 {
00144   PLY_STATE_PLY,
00145   PLY_STATE_FORMAT,
00146   PLY_STATE_FORMAT_TYPE,
00147   PLY_STATE_FORMAT_VERSION,
00148   PLY_STATE_ELEMENT,
00149   PLY_STATE_ELEMENT_IDENTIFIER,
00150   PLY_STATE_ELEMENT_COUNT,
00151   PLY_STATE_PROPERTY,
00152   PLY_STATE_PROPERTY_TYPE,
00153   PLY_STATE_PROPERTY_LIST_COUNT_TYPE,
00154   PLY_STATE_PROPERTY_LIST_DATA_TYPE,
00155   PLY_STATE_PROPERTY_NAME,
00156   PLY_STATE_END
00157 } PLY_PARSER_STATE;
00158
00159
00160 typedef enum
00161 {
00162   PLY_VERTEX_X = 0, // Zero based, used as indices and attribute bit flag location.
00163   PLY_VERTEX_Y,
00164   PLY_VERTEX_Z,
00165   PLY_NORMAL_X,
00166   PLY_NORMAL_Y,
00167   PLY_NORMAL_Z,
00168   PLY_COLOR_R,
00169   PLY_COLOR_G,
00170   PLY_COLOR_B,
00171   PLY_USER_DEFINED_COMPONENT // Will be ignored.
00172 } PLY_ATTRIBUTE_COMPONENT;
00173
00174
00175 #define ATTRIBUTE_MASK_VERTEX  ((1 << PLY_VERTEX_X) | (1 << PLY_VERTEX_Y) | (1 << PLY_VERTEX_Z))
00176 #define ATTRIBUTE_MASK_NORMAL  ((1 << PLY_NORMAL_X) | (1 << PLY_NORMAL_Y) | (1 << PLY_NORMAL_Z))
00177 #define ATTRIBUTE_MASK_COLOR   ((1 << PLY_COLOR_R)  | (1 << PLY_COLOR_G)  | (1 << PLY_COLOR_B))
00178
00179
00180 class PLYLoader;
00181
00182 // Generic function pointer to write data from binary input data starting at m_pcCurrent to dst address.
00183 typedef void (PLYLoader::*PFN_READ)(void *dst);
00184 // Similar to above but data conversion to float based on OpenGL component conversion rules (OpenGL 2.1 specs Table 2.9)
00185 typedef void (PLYLoader::*PFN_READ_ATTRIBUTE)(float *dst);
00186
00187
00188 class PLYProperty
00189 {
00190 public:
00191     PLYProperty();
00192     ~PLYProperty();
00193
00194     std::string name;      // Name of this poperty inside this element. Required to identify attributes (so far x, y, z, nx, ny, nz).
00195     PLY_TOKEN countType;   // Scalar integer count for list properties. TOKEN_UNKNOWN indicates non-list property.
00196     PLY_TOKEN dataType;    // Scalar data type for any property.
00197     PFN_READ pfnReadCount; // Read function for this property count, set if it's a list.
00198     PFN_READ pfnReadData;  // Read function for this property data, set if it's a list.
00199     PFN_READ_ATTRIBUTE pfnReadAttribute;  // Read function for this property data, set if it's an attribute. (Automatic conversion!)
00200     unsigned int index;    // Index inside attribute float array, the last element outside the supported attribute components is used to ignore unknown attribute data.
00201 };
00202
00203
00204 class PLYElement
00205 {
00206 public:
00207   PLYElement();
00208   ~PLYElement();
00209
00210   std::string name;                           // Name of this element.
00211   unsigned int count;                         // Number of elements of this type in the file.
00212   std::vector<PLYProperty *> m_pProperties;   // Variable number of property fields per element.
00213 };
00214
00215
00217
00221 class PLYLoader : public nvsg::SceneLoader
00222 {
00223   public :
00224     //  Default constructor.
00225     PLYLoader();
00226     ~PLYLoader();
00227
00228   protected:
00229
00231
00233     ubyte_t * mapOffset( uint_t offset
00234                        , size_t numBytes
00235                        );
00236
00238
00239     void unmapOffset(ubyte_t * offsetPtr
00240                     );
00241
00242   public :
00244
00245     void  deleteThis( void );
00246
00248
00253     nvsg::SceneSharedPtr load( const std::string& filename
00254                                , const std::vector<std::string> &searchPaths
00255                                , nvsg::ViewStateSharedPtr & viewState
00257                                );
00258
00259   private :
00260
00262
00264     template<typename T>
00265     class Offset_AutoPtr
00266     {
00267       public:
00269
00271         Offset_AutoPtr( nvutil::ReadMapping * fm, const nvutil::PlugInCallback * pic,
00272                         uint_t offset, size_t count = 1 );
00273
00275         ~Offset_AutoPtr();
00276
00278         T* operator->() const;
00279
00281         T& operator*() const;
00282
00284         operator const T*() const;
00285
00287
00289         void reset( uint_t offset, size_t count = 1 );
00290
00291       private:
00292         T * m_ptr;
00293         const nvutil::PlugInCallback  * m_pic;
00294         nvutil::ReadMapping           * m_fm;
00295     };
00296
00297     // Parsing a binary filemapping.
00298     nvutil::ReadMapping * m_fm;
00299
00300     std::map<std::string, PLY_TOKEN>               m_mapStringToToken;
00301     std::map<std::string, PLY_ATTRIBUTE_COMPONENT> m_mapStringToAttributeComponent;
00302
00303     char *m_pcCurrent;
00304     char *m_pcEOF;
00305     char m_token[256];
00306     int m_plyFormat;
00307     std::vector<PLYElement *> m_pElements;
00308
00309
00310     void cleanup(void);
00311     void initializeMapStringToToken(void);
00312     int lookAheadToken(void);
00313     int skipLine(void);
00314
00315     void readAttributeAscii_CHAR(float *dst);
00316     void readAttributeAnyEndian_CHAR(float *dst);
00317     void readAttributeAscii_UCHAR(float *dst);
00318     void readAttributeAnyEndian_UCHAR(float *dst);
00319     void readAttributeAscii_SHORT(float *dst);
00320     void readAttributeLittleEndian_SHORT(float *dst);
00321     void readAttributeBigEndian_SHORT(float *dst);
00322     void readAttributeAscii_USHORT(float *dst);
00323     void readAttributeLittleEndian_USHORT(float *dst);
00324     void readAttributeBigEndian_USHORT(float *dst);
00325     void readAttributeAscii_INT(float *dst);
00326     void readAttributeLittleEndian_INT(float *dst);
00327     void readAttributeBigEndian_INT(float *dst);
00328     void readAttributeAscii_UINT(float *dst);
00329     void readAttributeLittleEndian_UINT(float *dst);
00330     void readAttributeBigEndian_UINT(float *dst);
00331     void readAttributeAscii_FLOAT(float *dst);
00332     void readAttributeLittleEndian_FLOAT(float *dst);
00333     void readAttributeBigEndian_FLOAT(float *dst);
00334     void readAttributeLittleEndian_DOUBLE(float *dst);
00335     void readAttributeBigEndian_DOUBLE(float *dst);
00336
00337     void readAscii_CHAR(void *dst);
00338     void readAnyEndian_CHAR(void *dst);
00339     void readAscii_UCHAR(void *dst);
00340     void readAnyEndian_UCHAR(void *dst);
00341     void readAscii_SHORT(void *dst);
00342     void readLittleEndian_SHORT(void *dst);
00343     void readBigEndian_SHORT(void *dst);
00344     void readAscii_USHORT(void *dst);
00345     void readLittleEndian_USHORT(void *dst);
00346     void readBigEndian_USHORT(void *dst);
00347     void readAscii_INT(void *dst);
00348     void readLittleEndian_INT(void *dst);
00349     void readBigEndian_INT(void *dst);
00350     void readAscii_UINT(void *dst);
00351     void readLittleEndian_UINT(void *dst);
00352     void readBigEndian_UINT(void *dst);
00353     void readAscii_FLOAT(void *dst);
00354     void readLittleEndian_FLOAT(void *dst);
00355     void readBigEndian_FLOAT(void *dst);
00356     void readAscii_DOUBLE(void *dst);
00357     void readLittleEndian_DOUBLE(void *dst);
00358     void readBigEndian_DOUBLE(void *dst);
00359
00360     unsigned int readListCounterOrIndex(PFN_READ pfn, PLY_TOKEN type);
00361     void ignoreProperty(PLYProperty *p);
00362
00363     // Tables of read functions.
00364     PFN_READ_ATTRIBUTE m_apfnReadAttribute[8][3]; // Special in that it converts integer data to float according to the OpenGL specs.
00365     PFN_READ           m_apfnRead[8][3];          // Read data as it is. Caller needs to figure out what it was.
00366
00367
00368     void                       onError(const std::string &message) const;
00369     bool                       onIncompatibleValues( int value0, int value1, const std::string &node, const std::string &field0, const std::string &field1 ) const;
00370     template<typename T> bool  onInvalidValue( T value, const std::string &node, const std::string &field ) const;
00371     bool                       onEmptyToken( const std::string &tokenType, const std::string &token ) const;
00372     bool                       onFileNotFound( const std::string &file ) const;
00373     bool                       onFilesNotFound( bool found, const std::vector<std::string> &files ) const;
00374     void                       onUnexpectedEndOfFile( bool error ) const;
00375     void                       onUnexpectedToken( const std::string &expected, const std::string &token ) const;
00376     void                       onUnknownToken( const std::string &context, const std::string &token ) const;
00377     bool                       onUndefinedToken( const std::string &context, const std::string &token ) const;
00378     bool                       onUnsupportedToken( const std::string &context, const std::string &token ) const;
00379
00380   private :
00381
00382     unsigned int                       m_line;
00383     std::vector<std::string>           m_searchPaths;
00384 };
00385
00386 inline void PLYLoader::deleteThis( void )
00387 {
00388   delete this;
00389 }
00390
00391
00392
00393 inline ubyte_t * PLYLoader::mapOffset( uint_t offset, size_t numBytes )
00394 {
00395   NVSG_TRACE();
00396   NVSG_ASSERT( m_fm );
00397   return( (ubyte_t*) m_fm->mapIn( offset, numBytes ) );
00398 }
00399
00400 inline void PLYLoader::unmapOffset( ubyte_t * offsetPtr )
00401 {
00402   NVSG_TRACE();
00403   NVSG_ASSERT( m_fm );
00404   m_fm->mapOut( offsetPtr );
00405 }
00406
00407 template<typename T>
00408 inline PLYLoader::Offset_AutoPtr<T>::Offset_AutoPtr( nvutil::ReadMapping * fm
00409                                                    , const nvutil::PlugInCallback * pic
00410                                                    , uint_t offset, size_t count )
00411 : m_ptr(NULL)
00412 , m_fm(fm)
00413 , m_pic(pic)
00414 {
00415   if ( count )
00416   {
00417     m_ptr = (T*)m_fm->mapIn(offset, count*sizeof(T));
00418     if ( ! m_ptr && m_pic )
00419     {
00420       m_pic->onFileMappingFailed(m_fm->getLastError());
00421     }
00422   }
00423  }
00424
00425 template<typename T>
00426 inline PLYLoader::Offset_AutoPtr<T>::~Offset_AutoPtr()
00427 {
00428   if ( m_ptr )
00429   {
00430     m_fm->mapOut((ubyte_t*)m_ptr);
00431   }
00432 }
00433
00434 template<typename T>
00435 inline T* PLYLoader::Offset_AutoPtr<T>::operator->() const
00436 {
00437   return m_ptr;
00438 }
00439
00440 template<typename T>
00441 inline T& PLYLoader::Offset_AutoPtr<T>::operator*() const
00442 {
00443   return *m_ptr;
00444 }
00445
00446 template<typename T>
00447 inline PLYLoader::Offset_AutoPtr<T>::operator const T*() const
00448 {
00449   return m_ptr;
00450 }
00451
00452 template<typename T>
00453 inline void PLYLoader::Offset_AutoPtr<T>::reset( uint_t offset, size_t count )
00454 {
00455   if ( m_ptr )
00456   {
00457     m_fm->mapOut((ubyte_t*)m_ptr);
00458     m_ptr=NULL;
00459   }
00460   if ( count )
00461   {
00462     m_ptr = (T*)m_fm->mapIn(offset, count*sizeof(T));
00463     if ( ! m_ptr && m_pic )
00464     {
00465       m_pic->onFileMappingFailed(m_fm->getLastError());
00466     }
00467   }
00468 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PointAttribute.h File Reference

inc / nvsg / nvsg

PointAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/PrimitiveAttribute.h"
#include "nvutil/HashGenerator.h"
#include <float.h>

Include dependency graph for PointAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:06 2012 for SceniX


SceniX: PointAttribute.h Source File

inc / nvsg / nvsg

PointAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/PrimitiveAttribute.h"
00017 #include "nvutil/HashGenerator.h"
00018 #include <float.h>
00019
00020 namespace nvsg
00021 {
00027   class PointAttribute : public PrimitiveAttribute
00028   {
00029     public:
00030       NVSG_API static PointAttributeSharedPtr create();
00031
00032     public:
00039       NVSG_API bool isAntiAliased() const;
00040
00047       NVSG_API void setAntiAliasing( bool aa );
00048
00053       NVSG_API float getSize() const;
00054
00059       NVSG_API void setSize( float size );
00060
00067       NVSG_API PointAttribute & operator=(const PointAttribute & rhs);
00068
00078       NVSG_API virtual bool isEquivalent( const Object * p
00079                                         , bool ignoreNames
00080                                         , bool deepCompare ) const;
00081
00082       REFLECTION_INFO_API( NVSG_API, PointAttribute );
00083     protected:
00084       friend struct nvutil::Holder<PointAttribute>;
00085
00089       NVSG_API PointAttribute();
00090
00092       NVSG_API PointAttribute( const PointAttribute &rhs );
00093
00095       NVSG_API virtual ~PointAttribute();
00096
00100       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00101
00102     private:
00103       bool  m_antiAliasing;
00104       float m_size;
00105   };
00106
00107   inline float PointAttribute::getSize() const
00108   {
00109     NVSG_TRACE();
00110     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00111     return( m_size );
00112   }
00113
00114   inline bool PointAttribute::isAntiAliased() const
00115   {
00116     NVSG_TRACE();
00117     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00118     return( m_antiAliasing );
00119   }
00120
00121   inline void PointAttribute::setAntiAliasing( bool aa )
00122   {
00123     NVSG_TRACE();
00124     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00125     if ( m_antiAliasing != aa )
00126     {
00127       m_antiAliasing = aa;
00128       notifyChange( this );
00129     }
00130   }
00131
00132   inline void PointAttribute::setSize( float size )
00133   {
00134     NVSG_TRACE();
00135     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00136     NVSG_ASSERT( FLT_EPSILON < size );
00137     if ( m_size != size )
00138     {
00139       m_size = size;
00140       notifyChange( this );
00141     }
00142   }
00143
00144 } // namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PointLight.h File Reference

inc / nvsg / nvsg

PointLight.h File Reference

#include "nvsgcommon.h"
#include "nvsg/LightSource.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for PointLight.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:06 2012 for SceniX


SceniX: PointLight.h Source File

inc / nvsg / nvsg

PointLight.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/LightSource.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00034   class PointLight : public LightSource
00035   {
00036     public:
00037       NVSG_API static PointLightSharedPtr create();
00038
00039     public:
00040       NVSG_API virtual void syncEffectLight(CgFxEffect * fx, CgFxParameter fxLight, const nvmath::Mat44f& modelToWorld) const;
00041       NVSG_API virtual void syncMetaSLLightParameters(CgFxEffect * fx, unsigned int light, const nvmath::Mat44f& world, const nvmath::Mat44f& view) const;
00042
00047       NVSG_API const nvmath::Vec3f & getPosition() const;
00048
00053       NVSG_API void setPosition( const nvmath::Vec3f & position );
00054
00061       NVSG_API bool isAttenuated() const;
00062
00073       NVSG_API void getAttenuation( float &c
00074                                   , float &l
00075                                   , float &q ) const;
00076
00086       NVSG_API const nvmath::Vec3f& getAttenuation() const;
00087
00098       NVSG_API void setAttenuation( float c
00099                                   , float l
00100                                   , float q );
00101
00111       NVSG_API void setAttenuation( const nvmath::Vec3f &attenuation );
00112
00119       NVSG_API PointLight & operator=( const PointLight & rhs );
00120
00131       NVSG_API virtual bool isEquivalent( const Object * p
00132                                         , bool ignoreNames
00133                                         , bool deepCompare ) const;
00134
00135     protected:
00136       friend struct nvutil::Holder<PointLight>;
00137
00140       NVSG_API PointLight();
00141
00144       NVSG_API PointLight( const PointLight &rhs );
00145
00148       NVSG_API virtual ~PointLight();
00149
00153       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00154
00155       // reflected properties
00156     public:
00157       REFLECTION_INFO_API( NVSG_API, PointLight );
00158       BEGIN_DECLARE_STATIC_PROPERTIES
00159           NVSG_API DECLARE_STATIC_PROPERTY( Position );
00160           NVSG_API DECLARE_STATIC_PROPERTY( Attenuation );
00161       END_DECLARE_STATIC_PROPERTIES
00162
00163     private:
00164       nvmath::Vec3f m_attenuation;
00165   };
00166
00167   inline void PointLight::getAttenuation( float &c, float &l, float &q ) const
00168   {
00169     NVSG_TRACE();
00170     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00171     c = m_attenuation[0];
00172     l = m_attenuation[1];
00173     q = m_attenuation[2];
00174   }
00175
00176   inline const nvmath::Vec3f& PointLight::getAttenuation() const
00177   {
00178     NVSG_TRACE();
00179     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00180     return m_attenuation;
00181   }
00182
00183   inline bool PointLight::isAttenuated() const
00184   {
00185     NVSG_TRACE();
00186     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00187     return(   ( m_attenuation[0] != 1.0f )
00188           ||  ( m_attenuation[1] != 0.0f )
00189           ||  ( m_attenuation[2] != 0.0f )
00190           );
00191   }
00192
00193   inline void PointLight::setAttenuation( float c, float l, float q )
00194   {
00195     NVSG_TRACE();
00196     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00197     if ( ( m_attenuation[0] != c ) || ( m_attenuation[1] != l ) || ( m_attenuation[2] != q ) )
00198     {
00199       m_attenuation[0] = c;
00200       m_attenuation[1] = l;
00201       m_attenuation[2] = q;
00202       notifyChange( this );
00203       notify( PID_Attenuation );
00204     }
00205   }
00206
00207   inline void PointLight::setAttenuation( const nvmath::Vec3f & attenuation )
00208   {
00209     NVSG_TRACE();
00210     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00211     if ( m_attenuation != attenuation )
00212     {
00213       m_attenuation = attenuation;
00214       notifyChange( this );
00215       notify( PID_Attenuation );
00216     }
00217   }
00218
00219 } //  namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Points.h File Reference

inc / nvsg / nvsg

Points.h File Reference

#include "nvsgcommon.h"
#include "nvsg/IndependentPrimitiveSet.h"

Include dependency graph for Points.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:07 2012 for SceniX


SceniX: Points.h Source File

inc / nvsg / nvsg

Points.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/IndependentPrimitiveSet.h" // base class definition
00017
00018 namespace nvsg
00019 {
00026   class Points : public IndependentPrimitiveSet
00027   {
00028     public:
00029       NVSG_API static PointsSharedPtr create();
00030
00031     public:
00037       NVSG_API Points & operator=(const Points & rhs);
00038
00039       REFLECTION_INFO_API( NVSG_API, Points );
00040     protected:
00041       friend struct nvutil::Holder<Points>;
00042
00044       NVSG_API Points();
00045
00047       NVSG_API explicit Points( const PrimitiveSet &rhs );
00048
00050       NVSG_API Points( const Points &rhs );
00051
00053       NVSG_API virtual ~Points();
00054   };
00055
00056 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PostBuildTraverser.h File Reference

src / Loader / common / inc

PostBuildTraverser.h File Reference

#include <set>
#include "nvsgcommon.h"
#include "nvtraverser/ModelViewTraverser.h"
#include "nvmath/nvmath.h"

Include dependency graph for PostBuildTraverser.h:

Go to the source code of this file.

Detailed Description

Generated on Fri Jul 13 13:28:07 2012 for SceniX


SceniX: PostBuildTraverser.h Source File

src / Loader / common / inc

PostBuildTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <set>
00016 #include "nvsgcommon.h"
00017 #include "nvtraverser/ModelViewTraverser.h"
00018
00019 #include "nvmath/nvmath.h"
00020
00022
00024 class PostBuildTraverser : public nvtraverser::ExclusiveModelViewTraverser
00025 {
00026 public:
00028   PostBuildTraverser();
00029
00030 protected:
00032   virtual ~PostBuildTraverser();
00033
00034   // handler routine overrides
00035   virtual void handleFlipbookAnimation( nvsg::FlipbookAnimation * p );
00036   virtual void handleSwitch( nvsg::Switch * p );
00037
00042    virtual void postTraverseObject( const nvsg::Object * object );
00043 };
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Primitive.h File Reference

inc / nvsg / nvsg

Primitive.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Drawable.h"
#include "nvsg/IndexSet.h"

Include dependency graph for Primitive.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum PrimitiveType {
PRIMITIVE_POINTS, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_LINES,
PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN, PRIMITIVE_TRIANGLES, PRIMITIVE_QUAD_STRIP,
PRIMITIVE_QUADS, PRIMITIVE_POLYGON, PRIMITIVE_TRIANGLES_ADJACENCY, PRIMITIVE_TRIANGLE_STRIP_ADJACENCY,
PRIMITIVE_LINES_ADJACENCY, PRIMITIVE_LINE_STRIP_ADJACENCY, PRIMITIVE_PATCHES, PRIMITIVE_UNINITIALIZED = ~0
}
PrimitiveTypes associated with this Primitive. More...

Functions

bool | needsPrimitiveRestart (PrimitiveType pt)

Detailed Description

Enumeration Type Documentation

enum PrimitiveType

PrimitiveTypes associated with this Primitive.

Generated on Fri Jul 13 13:28:08 2012 for SceniX


SceniX: Primitive.h Source File

inc / nvsg / nvsg

Primitive.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Drawable.h" // base class definition
00017 #include "nvsg/IndexSet.h"
00018
00019 namespace nvsg
00020 {
00022   enum PrimitiveType
00023   {
00024     // default Primitive types
00025     PRIMITIVE_POINTS,
00026     PRIMITIVE_LINE_STRIP,
00027     PRIMITIVE_LINE_LOOP,
00028     PRIMITIVE_LINES,
00029     PRIMITIVE_TRIANGLE_STRIP,
00030     PRIMITIVE_TRIANGLE_FAN,
00031     PRIMITIVE_TRIANGLES,
00032     PRIMITIVE_QUAD_STRIP,
00033     PRIMITIVE_QUADS,
00034     PRIMITIVE_POLYGON,
00035
00036     //  If NV_geometry_program4 is supported, then the following primitive types are also supported:
00037     PRIMITIVE_TRIANGLES_ADJACENCY,
00038     PRIMITIVE_TRIANGLE_STRIP_ADJACENCY,
00039     PRIMITIVE_LINES_ADJACENCY,
00040     PRIMITIVE_LINE_STRIP_ADJACENCY,
00041
00042     // if NV_tessellation_program5 / ARB_tessellation_shader is supported
00043     PRIMITIVE_PATCHES,
00044
00045     PRIMITIVE_UNINITIALIZED = ~0
00046   };
00047
00048   bool needsPrimitiveRestart( PrimitiveType pt );
00049
00052   class Primitive : public Drawable
00053   {
00054     public:
00055       NVSG_API static PrimitiveSharedPtr create();
00056
00057     public:
00058       // internal render flags used to know how to draw this primitive
00059       enum
00060       {
00061         DRAW_ARRAYS     = 0,      // here to make code more readable
00062         DRAW_INDEXED    = BIT(0),
00063         DRAW_INSTANCED  = BIT(1),
00064       };
00065
00070       NVSG_API Primitive & operator=( const Primitive & rhs );
00071
00077       NVSG_API void setPrimitiveType( PrimitiveType t );
00078       NVSG_API PrimitiveType getPrimitiveType() const;
00079
00085       NVSG_API const SkinSharedPtr & getSkin() const;
00086
00092       NVSG_API void setSkin( const SkinSharedPtr & skin );
00093
00112       NVSG_API void setElementRange( unsigned int offset, unsigned int count );
00113
00126       NVSG_API void getElementRange( unsigned int & offset, unsigned int & count ) const;
00127
00134       NVSG_API unsigned int getElementOffset() const;
00135
00144       NVSG_API unsigned int getElementCount() const;
00145
00152       NVSG_API unsigned int getMaxElementCount() const;
00153
00162       NVSG_API void setInstanceCount( unsigned int icount );
00163       NVSG_API unsigned int getInstanceCount() const;
00164
00171       NVSG_API void setNumberOfVerticesPerPatch( unsigned int vpp );
00172       NVSG_API unsigned int getNumberOfVerticesPerPatch() const;
00173
00177       NVSG_API void setVertexAttributeSet( const VertexAttributeSetSharedPtr & vash );
00178
00182       NVSG_API const VertexAttributeSetSharedPtr & getVertexAttributeSet() const;
00183
00189       NVSG_API const IndexSetSharedPtr & getIndexSet() const;
00190
00194       NVSG_API void setIndexSet( const IndexSetSharedPtr & iset );
00195
00199       NVSG_API bool isIndexed() const;
00200
00206       NVSG_API bool makeIndexed();
00207
00220       NVSG_API virtual bool isEquivalent( const Object * p
00221                                         , bool ignoreNames
00222                                         , bool deepCompare ) const;
00223
00228       NVSG_API unsigned int getRenderFlags() const;
00229
00239       NVSG_API unsigned int getNumberOfPrimitives() const;
00240
00250       NVSG_API unsigned int getNumberOfFaces() const;
00251
00259       NVSG_API unsigned int getNumberOfVerticesPerPrimitive() const;
00260
00261       NVSG_API virtual void notify( const Subject * originator, unsigned int state ) const;
00262
00263       REFLECTION_INFO_API( NVSG_API, Primitive );
00264     protected:
00265       friend struct nvutil::Holder<Primitive>;
00266
00269       NVSG_API Primitive();
00270
00274       NVSG_API Primitive( const Primitive& rhs );
00275
00278       NVSG_API virtual ~Primitive();
00279
00280       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00281       NVSG_API virtual bool determineAnimationContainment() const;
00282
00283       NVSG_API void determinePrimitiveAndFaceCount() const;
00284
00291       NVSG_API unsigned int getNumberOfPrimitiveRestarts() const;
00292
00294       NVSG_API virtual void calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite);
00295
00300       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00301
00306       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00307
00316       NVSG_API virtual bool calculateNormals(bool overwrite);
00317
00328       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00329
00333       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00334
00335     private:
00336       bool calculateNormals( const nvsg::VertexAttributeSetSharedPtr& vassp, bool overwrite );
00337       void calculateNormalsPolygon( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type & vertices
00338                                   , std::vector<nvmath::Vec3f> & normals );
00339       void calculateNormalsQuad( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type & vertices
00340                                , std::vector<nvmath::Vec3f> & normals );
00341       void calculateNormalsQuadStrip( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type & vertices
00342                                     , std::vector<nvmath::Vec3f> & normals );
00343       void calculateNormalsTriangle( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type & vertices
00344                                    , std::vector<nvmath::Vec3f> & normals );
00345       void calculateNormalsTriFan( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type & vertices
00346                                  , std::vector<nvmath::Vec3f> & normals );
00347       void calculateNormalsTriStrip( nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type & vertices
00348                                    , std::vector<nvmath::Vec3f> & normals );
00349       void calculateTangentsQuad( nvsg::VertexAttributeSet * vas, unsigned int tc
00350                                 , std::vector<nvmath::Vec3f> & tangents );
00351       void calculateTangentsQuadStrip( nvsg::VertexAttributeSet * vas, unsigned int tc
00352                                      , std::vector<nvmath::Vec3f> & tangents );
00353       void calculateTangentsTriangle( nvsg::VertexAttributeSet * vas, unsigned int tc
00354                                     , std::vector<nvmath::Vec3f> & tangents );
00355       void calculateTangentsTriFan( nvsg::VertexAttributeSet * vas, unsigned int tc
00356                                   , std::vector<nvmath::Vec3f> & tangents );
00357       void calculateTangentsTriStrip( nvsg::VertexAttributeSet * vas, unsigned int tc
00358                                     , std::vector<nvmath::Vec3f> & tangents );
00359
00360       void clearCachedCounts() const;
00361
00362     private:
00363       PrimitiveType               m_primitiveType;
00364       VertexAttributeSetSharedPtr m_vertexAttributeSet;
00365       SkinSharedPtr               m_skin;
00366       IndexSetSharedPtr           m_indexSet;
00367       unsigned int                m_elementOffset;
00368       unsigned int                m_elementCount;
00369       unsigned int                m_instanceCount;
00370       unsigned int                m_verticesPerPatch;
00371       unsigned int                m_renderFlags;
00372       mutable unsigned int        m_cachedNumberOfPrimitives;
00373       mutable unsigned int        m_cachedNumberOfFaces;
00374       mutable unsigned int        m_cachedNumberOfPrimitiveRestarts;
00375   };
00376
00377   inline bool needsPrimitiveRestart( PrimitiveType pt )
00378   {
00379     return(   ( pt == PRIMITIVE_LINE_STRIP )
00380           ||  ( pt == PRIMITIVE_LINE_LOOP )
00381           ||  ( pt == PRIMITIVE_TRIANGLE_STRIP )
00382           ||  ( pt == PRIMITIVE_TRIANGLE_FAN )
00383           ||  ( pt == PRIMITIVE_QUAD_STRIP )
00384           ||  ( pt == PRIMITIVE_POLYGON )
00385           ||  ( pt == PRIMITIVE_TRIANGLE_STRIP_ADJACENCY )
00386           ||  ( pt == PRIMITIVE_LINE_STRIP_ADJACENCY ) );
00387   }
00388
00389   inline void Primitive::clearCachedCounts() const
00390   {
00391     m_cachedNumberOfPrimitives = ~0;
00392     m_cachedNumberOfFaces = ~0;
00393     m_cachedNumberOfPrimitiveRestarts = ~0;
00394   }
00395
00396   inline const VertexAttributeSetSharedPtr & Primitive::getVertexAttributeSet() const
00397   {
00398     NVSG_TRACE();
00399     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00400     return( m_vertexAttributeSet );
00401   }
00402
00403   inline bool Primitive::isIndexed() const
00404   {
00405     NVSG_TRACE();
00406     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00407     return !!m_indexSet;
00408   }
00409
00410   inline const IndexSetSharedPtr & Primitive::getIndexSet() const
00411   {
00412     NVSG_TRACE();
00413     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00414     return m_indexSet;
00415   }
00416
00417   inline PrimitiveType Primitive::getPrimitiveType() const
00418   {
00419     NVSG_TRACE();
00420     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00421     return m_primitiveType;
00422   }
00423
00424   inline unsigned int Primitive::getInstanceCount() const
00425   {
00426     NVSG_TRACE();
00427     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00428     return m_instanceCount;
00429   }
00430
00431   inline unsigned int Primitive::getNumberOfVerticesPerPatch() const
00432   {
00433     NVSG_TRACE();
00434     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00435     return m_verticesPerPatch;
00436   }
00437
00438   inline unsigned int Primitive::getNumberOfVerticesPerPrimitive() const
00439   {
00440     NVSG_TRACE();
00441     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00442     switch( getPrimitiveType() )
00443     {
00444       case PRIMITIVE_LINE_STRIP:
00445       case PRIMITIVE_LINE_LOOP:
00446       case PRIMITIVE_TRIANGLE_STRIP:
00447       case PRIMITIVE_TRIANGLE_FAN:
00448       case PRIMITIVE_QUAD_STRIP:
00449       case PRIMITIVE_POLYGON:
00450       case PRIMITIVE_TRIANGLE_STRIP_ADJACENCY:
00451       case PRIMITIVE_LINE_STRIP_ADJACENCY:
00452         return 0; // we can't tell
00453
00454       case PRIMITIVE_POINTS:
00455         return 1;
00456
00457       case PRIMITIVE_LINES:
00458         return 2;
00459
00460       case PRIMITIVE_TRIANGLES:
00461         return 3;
00462
00463       case PRIMITIVE_QUADS:
00464       case PRIMITIVE_LINES_ADJACENCY:
00465         return 4;
00466
00467       case PRIMITIVE_TRIANGLES_ADJACENCY:
00468         return 6;
00469
00470       case PRIMITIVE_PATCHES:
00471         return getNumberOfVerticesPerPatch();
00472
00473       default:
00474       case PRIMITIVE_UNINITIALIZED:
00475         return ~0; // we can't tell
00476     }
00477   }
00478
00479   inline unsigned int Primitive::getRenderFlags() const
00480   {
00481     NVSG_TRACE();
00482     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00483
00484     return m_renderFlags;
00485   }
00486
00487   inline unsigned int Primitive::getNumberOfPrimitives() const
00488   {
00489     NVSG_TRACE();
00490     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00491
00492     // MMM: TODO: add support here for observer to understand if VAS or IS changes
00493     if( m_cachedNumberOfPrimitives == ~0 )
00494     {
00495       // determine face and element count
00496       determinePrimitiveAndFaceCount();
00497     }
00498
00499     return m_cachedNumberOfPrimitives;
00500   }
00501
00502   inline unsigned int Primitive::getNumberOfFaces() const
00503   {
00504     NVSG_TRACE();
00505     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00506
00507     // MMM: TODO: add support here for observer to understand if VAS or IS changes
00508     if( m_cachedNumberOfFaces == ~0 )
00509     {
00510       // determine face and element count
00511       determinePrimitiveAndFaceCount();
00512     }
00513
00514     return m_cachedNumberOfFaces;
00515   }
00516
00517   inline void Primitive::getElementRange( unsigned int & offset, unsigned int & count ) const
00518   {
00519     NVSG_TRACE();
00520     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00521
00522     offset = m_elementOffset;
00523     count  = m_elementCount;  // Note that this can be ~0. Use getElementCount() to query the effective count.
00524   }
00525
00526   inline unsigned int Primitive::getElementOffset() const
00527   {
00528     NVSG_TRACE();
00529     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00530     return m_elementOffset;
00531   }
00532
00533   inline const SkinSharedPtr & Primitive::getSkin() const
00534   {
00535     NVSG_TRACE();
00536     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00537     return( m_skin );
00538   }
00539
00540   inline void Primitive::notify( const Subject * originator, unsigned int state ) const
00541   {
00542     clearCachedCounts();
00543     Drawable::notify( originator, state );
00544   }
00545
00546 } //  namespace nvsg
00547
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PrimitiveAttribute.h File Reference

inc / nvsg / nvsg

PrimitiveAttribute.h File Reference

#include "nvsg/StateAttribute.h"

Include dependency graph for PrimitiveAttribute.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:08 2012 for SceniX


SceniX: PrimitiveAttribute.h Source File

inc / nvsg / nvsg

PrimitiveAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/StateAttribute.h"
00016
00017 namespace nvsg
00018 {
00025   class PrimitiveAttribute : public StateAttribute
00026   {
00027     public:
00029       NVSG_API virtual ~PrimitiveAttribute();
00030
00031       REFLECTION_INFO_API( NVSG_API, PrimitiveAttribute );
00032     protected:
00035       NVSG_API PrimitiveAttribute();
00036
00040       NVSG_API PrimitiveAttribute( const PrimitiveAttribute& rhs );
00041
00047       NVSG_API PrimitiveAttribute & operator=(const PrimitiveAttribute & rhs);
00048   };
00049
00050 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: PrimitiveSet.h File Reference

inc / nvsg / nvsg

PrimitiveSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Drawable.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for PrimitiveSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

NVSG_API void | copy (const PrimitiveSetReadLock &src, const PrimitiveSetWriteLock &dst)

Detailed Description

Generated on Fri Jul 13 13:28:09 2012 for SceniX


SceniX: PrimitiveSet.h Source File

inc / nvsg / nvsg

PrimitiveSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Drawable.h" // base class definition
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00026   class PrimitiveSet : public Drawable
00027   {
00028     public:
00030       NVSG_API virtual ~PrimitiveSet();
00031
00035       NVSG_API const VertexAttributeSetSharedPtr & getVertexAttributeSet() const;
00036
00040       NVSG_API void setVertexAttributeSet( const VertexAttributeSetSharedPtr & svash );
00041
00047       NVSG_API const SkinSharedPtr & getSkin() const;
00048
00054       NVSG_API void setSkin( const SkinSharedPtr & skin );
00055
00068       NVSG_API virtual bool isEquivalent( const Object * p
00069                                         , bool ignoreNames
00070                                         , bool deepCompare ) const;
00071
00072       REFLECTION_INFO_API( NVSG_API, PrimitiveSet );
00073   protected:
00077       NVSG_API PrimitiveSet();
00078
00083       NVSG_API PrimitiveSet( const PrimitiveSet& rhs );
00084
00090       NVSG_API PrimitiveSet & operator=( const PrimitiveSet & rhs );
00091
00092       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00093       NVSG_API virtual bool determineAnimationContainment() const;
00094
00096       NVSG_API virtual void calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite);
00097
00101       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00102
00103   private:
00104       SkinSharedPtr               m_skin;
00105       VertexAttributeSetSharedPtr m_vertexAttributeSet;
00106   };
00107
00108   NVSG_API void copy( const PrimitiveSetReadLock & src, const PrimitiveSetWriteLock & dst );
00109
00110   inline const VertexAttributeSetSharedPtr & PrimitiveSet::getVertexAttributeSet() const
00111   {
00112     NVSG_TRACE();
00113     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00114     return( m_vertexAttributeSet );
00115   }
00116
00117   inline const SkinSharedPtr & PrimitiveSet::getSkin() const
00118   {
00119     NVSG_TRACE();
00120     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00121     return( m_skin );
00122   }
00123
00124 } //  namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ProblemLog.h File Reference

inc / nvsg / nvutil

ProblemLog.h File Reference

#include "nvsg/nvsgapi.h"
#include <string>
#include <list>

Include dependency graph for ProblemLog.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Typedefs

typedef std::list< ProblemInfo > | ProblemLogList
Structure of the problem list.

Functions

void | reportError (ProblemLog &log, const char *problem, const char *missingFeature)
Helper function to add an error message to a ProblemLog.
void | reportWarning (ProblemLog &log, const char *problem, const char *missingFeature)
Helper function to add a warning message to a ProblemLog.

Detailed Description

Typedef Documentation

typedef std::list<ProblemInfo> ProblemLogList

Structure of the problem list.

Function Documentation

void reportError | ( | ProblemLog & | log,
 |  | const char * | problem,
 |  | const char * | missingFeature
 | ) | [inline]

Helper function to add an error message to a ProblemLog.

Parameters:
log | The ProblemLog to add the error message.
problem | The string classifying the error.
missingFeature | A more detailed description of the error.

void reportWarning | ( | ProblemLog & | log,
 |  | const char * | problem,
 |  | const char * | missingFeature
 | ) | [inline]

Helper function to add a warning message to a ProblemLog.

Parameters:
log | The ProblemLog to add the warning message.
problem | The string classifying the warning.
missingFeature | A more detailed description of the warning.

Generated on Fri Jul 13 13:28:09 2012 for SceniX


SceniX: ProblemLog.h Source File

inc / nvsg / nvutil

ProblemLog.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016 #include <string>
00017 #include <list>
00018
00019 namespace nvutil
00020 {
00022
00024   class ProblemInfo
00025   {
00026   public:
00028     ProblemInfo( const char * problem
00029                , bool isCritical
00030                , const char * missingFeatures
00031                )
00032       : m_problem(problem), m_isCritical(isCritical), m_missingFeatures(missingFeatures) {}
00033     ~ProblemInfo() {}
00034
00035     std::string m_problem;
00036     bool        m_isCritical;
00037     std::string m_missingFeatures;
00038   };
00039
00041   class LogListCompare
00042   {
00043     public:
00049       bool operator()( const ProblemInfo & infoA, const ProblemInfo & infoB ) const;
00050   };
00051
00052   typedef std::list<ProblemInfo> ProblemLogList;
00053
00055   class ProblemLog
00056   {
00057     public:
00059       void addProblem( const ProblemInfo & info
00060                      );
00061
00063
00065       const ProblemLogList & getLogList();
00066
00067     private:
00068       ProblemLogList m_log;
00069   };
00070
00072
00073   inline void ProblemLog::addProblem(const ProblemInfo & info)
00074   {
00075     m_log.push_back(info);
00076   }
00077
00078   inline const ProblemLogList & ProblemLog::getLogList()
00079   {
00080     //m_log.sort(LogListCompare());
00081     return m_log;
00082   }
00083
00084   inline bool LogListCompare::operator()( const ProblemInfo & infoA, const ProblemInfo & infoB ) const
00085   {
00086       return(infoA.m_problem < infoB.m_problem);
00087   }
00088
00093   inline void reportError(ProblemLog& log, const char * problem, const char * missingFeature)
00094   {
00095     log.addProblem(ProblemInfo(problem, true, missingFeature));
00096   }
00097
00102   inline void reportWarning(ProblemLog& log, const char * problem, const char * missingFeature)
00103   {
00104     log.addProblem(ProblemInfo(problem, false, missingFeature));
00105   }
00106 }
00107
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Profile.h File Reference

inc / nvsg / nvutil

Profile.h File Reference

#include "nvsg/nvsgapi.h"
#include <string>
#include "nvutil/Timer.h"

Include dependency graph for Profile.h:

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | ENABLE_PROFILING 0
#define | PROFILING_OUTPUT_FUNCTION consoleOutput
#define | PROFILING_OUTPUT_FLUSH 0
#define | PROFILING_FILENAME "profile.txt"
#define | PROFILE(desc)
#define | PROFILE_GETTIME()
#define | PROFILE_TEXT(msg)
#define | PROFILE_STOP()
#define | PROFILEN(n, desc)
#define | PROFILEN_GETTIME(n)
#define | PROFILEN_TEXT(n, msg)
#define | PROFILEN_STOP(n)

Detailed Description

Generated on Fri Jul 13 13:28:09 2012 for SceniX


SceniX: Profile.h Source File

inc / nvsg / nvutil

Profile.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"
00016
00045 #include <string>
00046
00047 #include "nvsg/nvsgapi.h"
00048 #include "nvutil/Timer.h"
00049
00050 namespace nvutil
00051 {
00052
00053 // Define to en/disable profiling
00054 #ifndef ENABLE_PROFILING
00055   #define ENABLE_PROFILING 0
00056 #endif
00057
00058
00059 // Uncomment one of the following lines to set output method:
00060 #ifndef PROFILING_OUTPUT_FUNCTION
00061   //#define PROFILING_OUTPUT_FUNCTION fileOutput      // output to a file
00062   #define PROFILING_OUTPUT_FUNCTION consoleOutput     // output to console
00063   //#define PROFILING_OUTPUT_FUNCTION debugOutput     // output to attached debugger
00064   //#define PROFILING_OUTPUT_FUNCTION                 // don't output automatically
00065 #endif
00066
00067 // Set to 1 if you want a flush after every output. Slower but useful for debugging
00068 #ifndef PROFILING_OUTPUT_FLUSH
00069   #define PROFILING_OUTPUT_FLUSH 0
00070 #endif
00071
00072 #ifndef PROFILING_FILENAME
00073   #define PROFILING_FILENAME "profile.txt"
00074 #endif
00075
00076 #if ENABLE_PROFILING
00077
00078   #define PROFILE(desc)       nvutil::Profile profileObject(desc)
00079   #define PROFILE_GETTIME()   profileObject.getTime()
00080   #define PROFILE_TEXT(msg)   profileObject.text(msg)
00081   #define PROFILE_STOP()      profileObject.stop()
00082
00083   #define PROFILEN(n, desc)     nvutil::Profile profileObject ## n(desc)
00084   #define PROFILEN_GETTIME(n)   profileObject ## n.getTime()
00085   #define PROFILEN_TEXT(n, msg) profileObject ## n.text(msg)
00086   #define PROFILEN_STOP(n)      profileObject ## n.stop()
00087 #else
00088   #define PROFILE(desc)
00089   #define PROFILE_GETTIME()
00090   #define PROFILE_TEXT(msg)
00091   #define PROFILE_STOP()
00092
00093   #define PROFILEN(n, desc)
00094   #define PROFILEN_GETTIME(n)
00095   #define PROFILEN_TEXT(n, msg)
00096   #define PROFILEN_STOP(n)
00097 #endif
00098
00100 class Profile
00101 {
00102 public:
00104   NVSG_API Profile( const std::string &description );
00105   NVSG_API ~Profile();
00106
00108   NVSG_API double getTime();
00109
00111   NVSG_API void text( const std::string &text );
00112
00114   NVSG_API double stop();
00115
00116 private:
00117   void output( const std::string &s );
00118
00119   void fileOutput( const std::string &s );
00120   void consoleOutput( const std::string &s );
00121   void debugOutput( const std::string &s );
00122 private:
00123   Timer         m_timer;
00124   std::string   m_description;
00125   unsigned int  m_level;
00126 };
00127
00128 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: QuadMeshes.h File Reference

inc / nvsg / nvsg

QuadMeshes.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/MeshedPrimitiveSet.h"

Include dependency graph for QuadMeshes.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:10 2012 for SceniX


SceniX: QuadMeshes.h Source File

inc / nvsg / nvsg

QuadMeshes.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/nvsg.h"
00017 #include "nvsg/MeshedPrimitiveSet.h"
00018
00019 namespace nvsg
00020 {
00026   class QuadMeshes : public MeshedPrimitiveSet
00027   {
00028     public:
00029       NVSG_API static QuadMeshesSharedPtr create();
00030
00031     public:
00036       NVSG_API QuadMeshes & operator=( const QuadMeshes & rhs );
00037
00038       REFLECTION_INFO_API( NVSG_API, QuadMeshes );
00039     protected:
00040       friend struct nvutil::Holder<QuadMeshes>;
00041
00044       NVSG_API QuadMeshes();
00045
00048       NVSG_API QuadMeshes( const QuadMeshes &rhs );
00049
00051       NVSG_API virtual ~QuadMeshes();
00052
00054       NVSG_API virtual bool calculateNormals(bool overwrite);
00055
00057       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00058   };
00059
00060 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: QuadPatches.h File Reference

inc / nvsg / nvsg

QuadPatches.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvsg/Face.h"
#include "nvsg/PatchesBase.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for QuadPatches.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:10 2012 for SceniX


SceniX: QuadPatches.h Source File

inc / nvsg / nvsg

QuadPatches.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/nvmath.h"
00017 #include "nvsg/Face.h"
00018 #include "nvsg/PatchesBase.h"
00019 #include "nvutil/HashGenerator.h"
00020
00021 namespace nvsg
00022 {
00029   class QuadPatches : public PatchesBase
00030   {
00031     public:
00032       NVSG_API static QuadPatchesSharedPtr create();
00033
00034     public:
00040       NVSG_API void setSize( unsigned int size );
00041
00047       NVSG_API unsigned int getSize() const;
00048
00053       NVSG_API QuadPatches & operator=( const QuadPatches & rhs );
00054
00055       REFLECTION_INFO_API( NVSG_API, QuadPatches );
00056     protected:
00057       friend struct nvutil::Holder<QuadPatches>;
00058
00060       NVSG_API QuadPatches();
00061
00063       NVSG_API QuadPatches( const QuadPatches &rhs );
00064
00066       NVSG_API virtual ~QuadPatches();
00067
00069       NVSG_API virtual bool calculateNormals( bool overwrite );
00070
00072       NVSG_API virtual void calculateTangentSpace( unsigned int texcoords, unsigned int tangents
00073                                                  , unsigned int binormals, bool overwrite );
00074
00078       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00079
00080     private:
00081       unsigned int  m_size;
00082   };
00083
00084   // - - - - - - - - - - - - - - - - - - - - - - - - -
00085   // inlines
00086   // - - - - - - - - - - - - - - - - - - - - - - - - -
00087
00088   inline void QuadPatches::setSize( unsigned int size )
00089   {
00090     NVSG_TRACE();
00091     m_size = size;
00092     setNumberOfVerticesPerPatch( size * size );
00093   }
00094
00095   inline unsigned int QuadPatches::getSize() const
00096   {
00097     NVSG_TRACE();
00098     return( m_size );
00099   }
00100 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: QuadPatches4x4.h File Reference

inc / nvsg / nvsg

QuadPatches4x4.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvsg/Face.h"
#include "nvsg/PatchesBase.h"

Include dependency graph for QuadPatches4x4.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:10 2012 for SceniX


SceniX: QuadPatches4x4.h Source File

inc / nvsg / nvsg

QuadPatches4x4.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/nvmath.h"
00017 #include "nvsg/Face.h"
00018 #include "nvsg/PatchesBase.h"
00019
00020 namespace nvsg
00021 {
00028   class QuadPatches4x4 : public PatchesBase
00029   {
00030     public:
00031       NVSG_API static QuadPatches4x4SharedPtr create();
00032
00033     public:
00038       NVSG_API QuadPatches4x4 & operator=( const QuadPatches4x4 & rhs );
00039
00040       REFLECTION_INFO_API( NVSG_API, QuadPatches4x4 );
00041     protected:
00042       friend struct nvutil::Holder<QuadPatches4x4>;
00043
00045       NVSG_API QuadPatches4x4();
00046
00048       NVSG_API QuadPatches4x4( const QuadPatches4x4 &rhs );
00049
00051       NVSG_API virtual ~QuadPatches4x4();
00052
00054       NVSG_API virtual bool calculateNormals( bool overwrite );
00055
00057       NVSG_API virtual void calculateTangentSpace( unsigned int texcoords, unsigned int tangents
00058                                                  , unsigned int binormals, bool overwrite );
00059   };
00060
00061 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Quads.h File Reference

inc / nvsg / nvsg

Quads.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Face.h"
#include "nvsg/IndependentPrimitiveSet.h"

Include dependency graph for Quads.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:11 2012 for SceniX


SceniX: Quads.h Source File

inc / nvsg / nvsg

Quads.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Face.h"
00017 #include "nvsg/IndependentPrimitiveSet.h"
00018
00019 namespace nvsg
00020 {
00027   class Quads : public IndependentPrimitiveSet
00028   {
00029     public:
00030       NVSG_API static QuadsSharedPtr create();
00031
00032     public:
00037       NVSG_API bool hasFaces() const;
00038
00043       NVSG_API unsigned int getNumberOfFaces() const;
00044
00049       NVSG_API const Face4 * getFaces() const;
00050
00059       NVSG_API void setFaces( const Face4 * faces, unsigned int numFaces );
00060
00076       NVSG_API void setFaces( unsigned int pos, const Face4 * faces, unsigned int numFaces );
00077
00083       NVSG_API Quads & operator=( const Quads & rhs );
00084
00085
00086       REFLECTION_INFO_API( NVSG_API, Quads );
00087     protected:
00088       friend struct nvutil::Holder<Quads>;
00089
00091       NVSG_API Quads();
00092
00094       NVSG_API Quads( const Quads &rhs );
00095
00097       NVSG_API virtual ~Quads();
00098
00100       NVSG_API virtual bool calculateNormals(bool overwrite);
00101
00103       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00104   };
00105
00106   // - - - - - - - - - - - - - - - - - - - - - - - - -
00107   // inlines
00108   // - - - - - - - - - - - - - - - - - - - - - - - - -
00109
00110   inline bool Quads::hasFaces() const
00111   {
00112     NVSG_TRACE();
00113     return( 4 <= getNumberOfIndices() );
00114   }
00115
00116   inline unsigned int Quads::getNumberOfFaces() const
00117   {
00118     NVSG_TRACE();
00119     return( getNumberOfIndices() / 4 );
00120   }
00121
00122   inline const Face4 * Quads::getFaces() const
00123   {
00124     NVSG_TRACE();
00125     return( (const Face4 *) getIndices() );
00126   }
00127
00128   inline void Quads::setFaces( const Face4 * pFaces, unsigned int numFaces )
00129   {
00130     NVSG_TRACE();
00131     setIndices( (const unsigned int *) pFaces, 4 * numFaces );
00132   }
00133
00134   inline void Quads::setFaces( unsigned int pos, const Face4* pFaces, unsigned int numFaces )
00135   {
00136     NVSG_TRACE();
00137     if ( pos != ~0 )
00138     {
00139       pos *= 4;
00140     }
00141     setIndices( pos, (const unsigned int *) pFaces, 4 * numFaces );
00142   }
00143 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: QuadStrips.h File Reference

inc / nvsg / nvsg

QuadStrips.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StrippedPrimitiveSet.h"
#include "nvsg/nvsg.h"

Include dependency graph for QuadStrips.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:11 2012 for SceniX


SceniX: QuadStrips.h Source File

inc / nvsg / nvsg

QuadStrips.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StrippedPrimitiveSet.h"
00017 #include "nvsg/nvsg.h"
00018
00019 namespace nvsg
00020 {
00038   class QuadStrips : public StrippedPrimitiveSet
00039   {
00040     public:
00041       NVSG_API static QuadStripsSharedPtr create();
00042
00043     public:
00048       NVSG_API QuadStrips & operator=(const QuadStrips & rhs);
00049
00050       REFLECTION_INFO_API( NVSG_API, QuadStrips );
00051     protected:
00052       friend struct nvutil::Holder<QuadStrips>;
00053
00055       NVSG_API QuadStrips();
00056
00058       NVSG_API explicit QuadStrips( const QuadStrips &rhs );
00059
00061       NVSG_API virtual ~QuadStrips();
00062
00064     NVSG_API virtual bool calculateNormals(bool overwrite);
00065
00067     NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00068   };
00069
00070 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Quatt.h File Reference

inc / nvsg / nvmath

Quatt.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvmath/Matnnt.h"
#include "nvmath/Vecnt.h"

Include dependency graph for Quatt.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Functions

template<typename T>
void | decompose (const Quatt< T > &q, Vecnt< 3, T > &axis, T &angle)
Decompose a quaternion into an axis and an angle.
template<typename T>
T | distance (const Quatt< T > &q0, const Quatt< T > &q1)
Determine the distance between two quaternions.
template<typename T>
bool | isNormalized (const Quatt< T > &q, T eps=std::numeric_limits< T >::epsilon()*8)
Test if a quaternion is normalized.
template<typename T>
bool | isNull (const Quatt< T > &q, T eps=std::numeric_limits< T >::epsilon())
Test if a quaternion is null.
template<typename T>
T | magnitude (const Quatt< T > &q)
Determine the magnitude of a quaternion.
template<typename T>
bool | operator== (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion equality operator.
template<typename T>
bool | operator!= (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion inequality operator.
template<typename T>
Quatt< T > | operator~ (const Quatt< T > &q)
Quaternion conjugation operator.
template<typename T>
Quatt< T > | operator- (const Quatt< T > &q)
Negation operator.
template<typename T>
Quatt< T > | operator * (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion multiplication operator.
template<typename T>
Vecnt< 3, T > | operator * (const Quatt< T > &q, const Vecnt< 3, T > &v)
Quaternion multiplication operator with a vector.
template<typename T>
Vecnt< 3, T > | operator * (const Vecnt< 3, T > &v, const Quatt< T > &q)
Vector multiplication operator with a quaternion.
template<typename T>
Quatt< T > | operator/ (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion division operator.
NVSG_API Quatt< float > | lerp (float alpha, const Quatt< float > &q0, const Quatt< float > &q1)
Spherical linear interpolation between two quaternions q0 and q1.
NVSG_API void | lerp (float alpha, const Quatt< float > &q0, const Quatt< float > &q1, Quatt< float > &qr)
Spherical linear interpolation between two quaternions q0 and q1.

Detailed Description

Function Documentation

void decompose | ( | const Quatt< T > & | q,
 |  | Vecnt< 3, T > & | axis,
 |  | T & | angle
 | ) | [inline]

Decompose a quaternion into an axis and an angle.

Parameters:
q | A reference to the constant quaternion to decompose.
axis | A reference to the resulting axis.
angle | A reference to the resulting angle.

T distance | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Determine the distance between two quaternions.

Parameters:
q0 | A reference to the left constant quaternion.
q1 | A reference to the right constant quaternion.
Returns:
The euclidean distance between q0 and q1, interpreted as Vecnt<4,T>.

bool isNormalized | ( | const Quatt< T > & | q,
 |  | T | eps = std::numeric_limits<T>::epsilon() * 8
 | ) |

Test if a quaternion is normalized.

Parameters:
q | A reference to the constant quaternion to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the quaternion is normalized, otherwise false.
Remarks:
A quaternion q is considered to be normalized, when it's magnitude differs less than some small value eps from one.

bool isNull | ( | const Quatt< T > & | q,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a quaternion is null.

Parameters:
q | A reference to the constant quaternion to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the quaternion is null, otherwise false.
Remarks:
A quaternion q is considered to be null, if it's magnitude is less than some small value eps.

T magnitude ( const Quatt< T > & q ) [inline]

Determine the magnitude of a quaternion.

Parameters:
q A reference to the quaternion to determine the magnitude of.
Returns:
The magnitude of the quaternion q.
Remarks:
The magnitude of a normalized quaternion is one.

bool operator== | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion equality operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
true if the quaternions q0 and q are equal, otherwise false.
Remarks:
Two quaternions are considered to be equal, if each component of the one quaternion deviates less than epsilon from the corresponding element of the other quaternion.

bool operator!= | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion inequality operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
true if q0 is not equal to q1, otherwise false
Remarks:
Two quaternions are considered to be equal, if each component of the one quaternion deviates less than epsilon from the corresponding element of the other quaternion.

Quatt< T > operator~ ( const Quatt< T > & q ) [inline]

Quaternion conjugation operator.

Parameters:
q A reference to the constant quaternion to conjugate.
Returns:
The conjugation of q.
Remarks:
The conjugation of a quaternion is a rotation of the same angle around the negated axis.

Quatt< T > operator- ( const Quatt< T > & q ) [inline]

Negation operator.

Parameters:
q A reference to the constant quaternion to get the negation from.
Returns:
The negation of q.
Remarks:
The negation of a quaternion is a rotation around the same axis by the negated angle.

Quatt< T > operator * | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion multiplication operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
The product of q0 with a1.
Remarks:
Multiplying two quaternions gives a quaternion that represents the concatenation of the rotation represented by the two quaternions. Besides rounding errors, the following equation holds:
    Matnnt<3,T>( q0 * q1 ) == Matnnt<3,T>( q0 ) * Matnnt<3,T>( q1 )

Vecnt< 3, T > operator * | ( | const Quatt< T > & | q,
 |  | const Vecnt< 3, T > & | v
 | ) | [inline]

Quaternion multiplication operator with a vector.

Parameters:
q | A reference to the constant left operand.
v | A reference to the constant right operand.
Returns:
The vector v rotated by the inverse of q.
Remarks:
Multiplying a quaternion q with a vector v applies the inverse rotation represented by q to v.

Vecnt< 3, T > operator * | ( | const Vecnt< 3, T > & | v,
 |  | const Quatt< T > & | q
 | ) | [inline]

Vector multiplication operator with a quaternion.

Parameters:
v | A reference to the constant left operand.
q | A reference to the constant right operand.
Returns:
The vector v rotated by q.
Remarks:
Multiplying a vector v by a quaternion q applies the rotation represented by q to v.

Quatt< T > operator/ | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion division operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
A quaternion representing the quotient of q0 and q1.
Remarks:
Dividing a quaternion by an other gives a quaternion that represents the concatenation of the rotation represented by the numerator quaternion and the rotation represented by the conjugated denumerator quaternion.

NVSG_API Quatt<float> lerp | ( | float | alpha,
 |  | const Quatt< float > & | q0,
 |  | const Quatt< float > & | q1
 | ) |

Spherical linear interpolation between two quaternions q0 and q1.

Parameters:
alpha | The interpolation parameter.
q0 | The starting value.
q1 | The ending value.
Returns:
The quaternion that represents the spherical linear interpolation between q0 and q1.

NVSG_API void lerp | ( | float | alpha,
 |  | const Quatt< float > & | q0,
 |  | const Quatt< float > & | q1,
 |  | Quatt< float > & | qr
 | ) |

Spherical linear interpolation between two quaternions q0 and q1.

Parameters:
alpha | The interpolation parameter.
q0 | The starting value.
q1 | The ending value.
qr | The quaternion that represents the spherical linear interpolation between q0 and q1.

Generated on Fri Jul 13 13:28:12 2012 for SceniX


SceniX: Quatt.h Source File

inc / nvsg / nvmath

Quatt.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/nvmath.h"
00017 #include "nvmath/Matnnt.h"
00018 #include "nvmath/Vecnt.h"
00019
00020 namespace nvmath
00021 {
00022   template<unsigned int n, typename T> class Matnnt;
00023
00030   template<typename T> class Quatt
00031   {
00032     public:
00035       Quatt();
00036
00045       Quatt( T x, T y, T z, T w );
00046
00051       explicit Quatt( const Vecnt<4,T> & v );
00052
00055       template<typename S>
00056         explicit Quatt( const Quatt<S> & q );
00057
00063       Quatt( const Vecnt<3,T> & axis, T angle );
00064
00073       Quatt( const Vecnt<3,T> & v0, const Vecnt<3,T> & v1 );
00074
00078       explicit Quatt( const Matnnt<3,T> & rot );
00079
00085       Quatt<T> & normalize();
00086
00090       template<typename S>
00091         T & operator[]( S i );
00092
00096       template<typename S>
00097         const T & operator[]( S i ) const;
00098
00102       template<typename S>
00103         Quatt<T> & operator=( const Quatt<S> & q );
00104
00110       Quatt<T> & operator*=( const Quatt<T> & q );
00111
00118       Quatt<T> & operator/=( const Quatt<T> & q );
00119
00120     private:
00121       T m_quat[4];
00122   };
00123
00124
00125   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00126   // non-member functions
00127   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00128
00133   template<typename T>
00134     void decompose( const Quatt<T> & q, Vecnt<3,T> & axis, T & angle );
00135
00140   template<typename T>
00141     T distance( const Quatt<T> & q0, const Quatt<T> & q1 );
00142
00149   template<typename T>
00150     bool isNormalized( const Quatt<T> & q, T eps = std::numeric_limits<T>::epsilon() * 8 )
00151   {
00152     return( abs( magnitude( q ) - 1 ) <= eps );
00153   }
00154
00161   template<typename T>
00162     bool isNull( const Quatt<T> & q, T eps = std::numeric_limits<T>::epsilon() )
00163   {
00164     return( magnitude( q ) <= eps );
00165   }
00166
00171   template<typename T>
00172     T magnitude( const Quatt<T> & q );
00173
00180   template<typename T>
00181     bool operator==( const Quatt<T> & q0, const Quatt<T> & q1 );
00182
00189   template<typename T>
00190     bool operator!=( const Quatt<T> & q0, const Quatt<T> & q1 );
00191
00197   template<typename T>
00198     Quatt<T> operator~( const Quatt<T> & q );
00199
00204   template<typename T>
00205     Quatt<T> operator-( const Quatt<T> & q );
00206
00217   template<typename T>
00218     Quatt<T> operator*( const Quatt<T> & q0, const Quatt<T> & q1 );
00219
00226   template<typename T>
00227     Vecnt<3,T> operator*( const Quatt<T> & q, const Vecnt<3,T> & v );
00228
00235   template<typename T>
00236     Vecnt<3,T> operator*( const Vecnt<3,T> & v, const Quatt<T> & q );
00237
00245   template<typename T>
00246     Quatt<T> operator/( const Quatt<T> & q0, const Quatt<T> & q1 );
00247
00248
00249   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00250   // non-member functions, specialized for T == float
00251   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00252
00259   NVSG_API Quatt<float> lerp( float alpha, const Quatt<float> & q0, const Quatt<float> & q1 );
00260
00267   NVSG_API void lerp( float alpha, const Quatt<float> & q0, const Quatt<float> & q1, Quatt<float> &qr );
00268
00269   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00270   // Convenience type definitions
00271   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00272   typedef Quatt<float>  Quatf;
00273   typedef Quatt<double> Quatd;
00274
00275
00276   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00277   // inlined member functions
00278   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00279   template<typename T>
00280   inline Quatt<T>::Quatt()
00281   {
00282   }
00283
00284   template<typename T>
00285   inline Quatt<T>::Quatt( T x, T y, T z, T w )
00286   {
00287     m_quat[0] = x;
00288     m_quat[1] = y;
00289     m_quat[2] = z;
00290     m_quat[3] = w;
00291   }
00292
00293   template<typename T>
00294   inline Quatt<T>::Quatt( const Vecnt<4,T> & v )
00295   {
00296     m_quat[0] = v[0];
00297     m_quat[1] = v[1];
00298     m_quat[2] = v[2];
00299     m_quat[3] = v[3];
00300     NVSG_PRIVATE_ASSERT( isNormalized( *this ) );
00301   }
00302
00303   template<typename T>
00304   template<typename S>
00305   inline Quatt<T>::Quatt( const Quatt<S> & q )
00306   {
00307     *this = q;
00308   }
00309
00310   template<typename T>
00311   inline Quatt<T>::Quatt( const Vecnt<3,T> & axis, T angle )
00312   {
00313     NVSG_PRIVATE_ASSERT( isNormalized( axis ) );
00314     T dummy = sin( T(0.5) * angle );
00315     m_quat[0] = axis[0] * dummy;
00316     m_quat[1] = axis[1] * dummy;
00317     m_quat[2] = axis[2] * dummy;
00318     m_quat[3] = cos( T(0.5) * angle );
00319     NVSG_PRIVATE_ASSERT( isNormalized( *this ) );
00320   }
00321
00322   template<typename T>
00323   inline Quatt<T>::Quatt( const Vecnt<3,T> & v0, const Vecnt<3,T> & v1 )
00324   {
00325     NVSG_PRIVATE_ASSERT( isNormalized( v0 ) && isNormalized( v1 ) && ( v0 != - v1 ) );
00326     Vecnt<3,T> axis = v0 ^ v1;
00327     axis.normalize();
00328     T cosAngle = clamp( v0 * v1, -1.0f, 1.0f );   // make sure, cosine is in [-1.0,1.0]!
00329     if ( cosAngle + 1.0f < std::numeric_limits<T>::epsilon() )
00330     {
00331       // In case v0 and v1 are (closed to) anti-parallel, the standard
00332       // procedure would not create a valid quaternion.
00333       // As the rotation axis isn't uniquely defined in that case, we
00334       // just pick one.
00335       axis = orthonormal( v0 );
00336     }
00337     T s = sqrt( T(0.5) * ( 1 - cosAngle ) );
00338     m_quat[0] = axis[0] * s;
00339     m_quat[1] = axis[1] * s;
00340     m_quat[2] = axis[2] * s;
00341     m_quat[3] = sqrt( T(0.5) * ( 1 + cosAngle ) );
00342     NVSG_PRIVATE_ASSERT( isNormalized( *this ) );
00343   }
00344
00345   template<typename T>
00346   inline Quatt<T>::Quatt( const Matnnt<3,T> & rot )
00347   {
00348     NVSG_PRIVATE_ASSERT( isRotation( rot ) );
00349
00350     T tr = rot[0][0] + rot[1][1] + rot[2][2] + 1;
00351     if ( std::numeric_limits<T>::epsilon() < tr )
00352     {
00353       T s = sqrt( tr );
00354       m_quat[3] = T(0.5) * s;
00355       s = T(0.5) / s;
00356       m_quat[0] = ( rot[1][2] - rot[2][1] ) * s;
00357       m_quat[1] = ( rot[2][0] - rot[0][2] ) * s;
00358       m_quat[2] = ( rot[0][1] - rot[1][0] ) * s;
00359     }
00360     else
00361     {
00362       unsigned int i = 0;
00363       if ( rot[i][i] < rot[1][1] )
00364       {
00365         i = 1;
00366       }
00367       if ( rot[i][i] < rot[2][2] )
00368       {
00369         i = 2;
00370       }
00371       unsigned int j = ( i + 1 ) % 3;
00372       unsigned int k = ( j + 1 ) % 3;
00373       T s = sqrt( rot[i][i] - rot[j][j] - rot[k][k] + 1 );
00374       m_quat[i] = T(0.5) * s;
00375       s = T(0.5) / s;
00376       m_quat[j] = ( rot[i][j] + rot[j][i] ) * s;
00377       m_quat[k] = ( rot[i][k] + rot[k][i] ) * s;
00378       m_quat[3] = ( rot[k][j] - rot[j][k] ) * s;
00379     }
00380     normalize();
00381   }
00382
00383   template<typename T>
00384   inline Quatt<T> & Quatt<T>::normalize()
00385   {
00386     T mag = sqrt( square(m_quat[0]) + square(m_quat[1]) + square(m_quat[2]) + square(m_quat[3]) );
00387     NVSG_PRIVATE_ASSERT( std::numeric_limits<T>::epsilon() < mag );
00388     T invMag = T(1) / mag;
00389     for ( int i=0 ; i<4 ; i++ )
00390     {
00391       m_quat[i] = m_quat[i] * invMag;
00392     }
00393     //  NVSG_PRIVATE_ASSERT( isNormalized( *this ) ); // due to rounding errors this assertion might fail !
00394     return( *this );
00395   }
00396
00397   template<>
00398   inline Quatt<float> & Quatt<float>::normalize()
00399   {
00400     *this = (Quatt<double>(*this)).normalize();
00401     NVSG_PRIVATE_ASSERT( isNormalized( *this ) );
00402     return( *this );
00403   }
00404
00405   template<typename T>
00406   template<typename S>
00407   inline T & Quatt<T>::operator[]( S i )
00408   {
00409     NVSG_CTASSERT( std::numeric_limits<S>::is_integer );
00410     NVSG_ASSERT( 0 <= i && i <= 3 );
00411     return( m_quat[i] );
00412   }
00413
00414   template<typename T>
00415   template<typename S>
00416   inline const T & Quatt<T>::operator[]( S i ) const
00417   {
00418     NVSG_CTASSERT( std::numeric_limits<S>::is_integer );
00419     NVSG_ASSERT( 0 <= i && i <= 3 );
00420     return( m_quat[i] );
00421   }
00422
00423   template<typename T>
00424   template<typename S>
00425   inline Quatt<T> & Quatt<T>::operator=( const Quatt<S> & q )
00426   {
00427     m_quat[0] = T(q[0]);
00428     m_quat[1] = T(q[1]);
00429     m_quat[2] = T(q[2]);
00430     m_quat[3] = T(q[3]);
00431     return( *this );
00432   }
00433
00434   template<typename T>
00435   inline Quatt<T> & Quatt<T>::operator*=( const Quatt<T> & q )
00436   {
00437     *this = *this * q;
00438     return( *this );
00439   }
00440
00441   template<typename T>
00442   inline Quatt<T> & Quatt<T>::operator/=( const Quatt<T> & q )
00443   {
00444     *this = *this / q;
00445     return( *this );
00446   }
00447
00448
00449   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00450   // inlined non-member functions
00451   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00452   template<typename T>
00453   inline void decompose( const Quatt<T> & q, Vecnt<3,T> & axis, T & angle )
00454   {
00455     angle = 2 * acos( q[3] );
00456     if ( angle < std::numeric_limits<T>::epsilon() )
00457     {
00458       //  no angle to rotate about => take just any one
00459       axis[0] = 0.0f;
00460       axis[1] = 0.0f;
00461       axis[2] = 1.0f;
00462     }
00463     else
00464     {
00465       T dummy = 1 / sin( T(0.5) * angle );
00466       axis[0] = q[0] * dummy;
00467       axis[1] = q[1] * dummy;
00468       axis[2] = q[2] * dummy;
00469       axis.normalize();
00470     }
00471   }
00472
00473   template<typename T>
00474   inline T distance( const Quatt<T> & q0, const Quatt<T> & q1 )
00475   {
00476     return( sqrt( square( q0[0] - q1[0] )
00477                 + square( q0[1] - q1[1] )
00478                 + square( q0[2] - q1[2] )
00479                 + square( q0[3] - q1[3] ) ) );
00480   }
00481
00482   template<typename T>
00483   inline T magnitude( const Quatt<T> & q )
00484   {
00485     return( sqrt( q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3] ) );
00486   }
00487
00488   template<typename T>
00489   inline bool operator==( const Quatt<T> & q0, const Quatt<T> & q1 )
00490   {
00491     return(   ( abs( q0[0] - q1[0] ) < std::numeric_limits<T>::epsilon() )
00492           &&  ( abs( q0[1] - q1[1] ) < std::numeric_limits<T>::epsilon() )
00493           &&  ( abs( q0[2] - q1[2] ) < std::numeric_limits<T>::epsilon() )
00494           &&  ( abs( q0[3] - q1[3] ) < std::numeric_limits<T>::epsilon() ) );
00495   }
00496
00497   template<typename T>
00498   inline bool operator!=( const Quatt<T> & q0, const Quatt<T> & q1 )
00499   {
00500     return( ! ( q0 == q1 ) );
00501   }
00502
00503   template<typename T>
00504   inline Quatt<T> operator~( const Quatt<T> & q )
00505   {
00506     return( Quatt<T>( -q[0], -q[1], -q[2], q[3] ) );
00507   }
00508
00509   template<typename T>
00510   inline Quatt<T> operator-( const Quatt<T> & q )
00511   {
00512     return( Quatt<T>( q[0], q[1], q[2], -q[3] ) );
00513   }
00514
00515   template<typename T>
00516   inline Quatt<T> operator*( const Quatt<T> & q0, const Quatt<T> & q1 )
00517   {
00518     NVSG_PRIVATE_ASSERT( isNormalized( q0 ) && isNormalized( q1 ) );
00519     Quatt<T> q( q0[3]*q1[0] + q0[0]*q1[3] - q0[1]*q1[2] + q0[2]*q1[1]
00520               , q0[3]*q1[1] + q0[0]*q1[2] + q0[1]*q1[3] - q0[2]*q1[0]
00521               , q0[3]*q1[2] - q0[0]*q1[1] + q0[1]*q1[0] + q0[2]*q1[3]
00522               , q0[3]*q1[3] - q0[0]*q1[0] - q0[1]*q1[1] - q0[2]*q1[2] );
00523     q.normalize();
00524     return( q );
00525   }
00526
00527   template<typename T>
00528   inline Vecnt<3,T> operator*( const Quatt<T> & q, const Vecnt<3,T> & v )
00529   {
00530     return( Matnnt<3,T>(q) * v );
00531   }
00532
00533   template<typename T>
00534   inline Vecnt<3,T> operator*( const Vecnt<3,T> & v, const Quatt<T> & q )
00535   {
00536     return( v * Matnnt<3,T>(q) );
00537   }
00538
00539   template<typename T>
00540   inline Quatt<T> operator/( const Quatt<T> & q0, const Quatt<T> & q1 )
00541   {
00542     return( q0 * ~q1 /*/ magnitude( q1 )*/ );
00543   }
00544 } // namespace nvmath
00545
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RayIntersectTraverser.h File Reference

inc / nvsg / nvtraverser

RayIntersectTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Drawable.h"
#include "nvsg/Path.h"
#include "nvtraverser/ModelViewTraverser.h"
#include "nvsg/Buffer.h"
#include "nvutil/SmartPtr.h"

Include dependency graph for RayIntersectTraverser.h:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:13 2012 for SceniX


SceniX: RayIntersectTraverser.h Source File

inc / nvsg / nvtraverser

RayIntersectTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Drawable.h"
00017 #include "nvsg/Path.h"
00018 #include "nvtraverser/ModelViewTraverser.h"
00019 #include "nvsg/Buffer.h"
00020 #include "nvutil/SmartPtr.h"
00021
00022
00023 namespace nvsg
00024 {
00025   class Camera;
00026 }
00027
00028 namespace nvtraverser
00029 {
00031
00035   class Intersection
00036   {
00037     public:
00039       Intersection(void);
00040
00042
00043       NVSG_API Intersection( nvsg::Path * pPath
00044                            , const nvsg::DrawableSharedPtr & pDrawable
00045                            , const nvmath::Vec3f & isp
00046                            , float dist
00047                            , unsigned int primitiveIndex
00048                            , const std::vector<unsigned int> & vertexIndices
00049                            );
00050
00052
00053       NVSG_API Intersection( const Intersection & rhs
00054                            );
00055
00057       NVSG_API virtual ~Intersection(void);
00058
00060       NVSG_API Intersection & operator = (const Intersection & rhs);
00061
00063
00064       NVSG_API const nvsg::Path * getPath() const;
00065
00067
00068       NVSG_API const nvsg::DrawableSharedPtr & getDrawable() const;
00069
00071
00072       NVSG_API const nvmath::Vec3f & getIsp() const;
00073
00075
00076       NVSG_API float getDist() const;
00077
00083       NVSG_API unsigned int getPrimitiveIndex() const;
00084
00107       NVSG_API const std::vector<unsigned int> & getVertexIndices() const;
00108
00109     protected:
00111
00112       NVSG_API void clone( const Intersection & rhs
00113                          );
00114
00115       nvsg::DrawableSharedPtr       m_pDrawable;
00116       nvutil::SmartPtr<nvsg::Path>  m_pPath;
00117       nvmath::Vec3f                 m_isp;
00118       float                         m_dist;
00119       unsigned int                  m_primitiveIndex;
00120       std::vector<unsigned int>     m_vertexIndices;
00121
00122   };
00123
00124   inline Intersection::~Intersection()
00125   {
00126   }
00127
00128   inline Intersection::Intersection()
00129   : m_pDrawable(NULL)
00130   , m_pPath(NULL)
00131   , m_isp(nvmath::Vec3f())
00132   , m_dist(0.0f)
00133   , m_primitiveIndex (0xffffffff)
00134   {
00135   }
00136
00137    inline Intersection::Intersection ( nvsg::Path * pPath
00138                                      , const nvsg::DrawableSharedPtr & pDrawable
00139                                      , const nvmath::Vec3f & isp
00140                                      , float dist
00141                                      , unsigned int primitiveIndex
00142                                      , const std::vector<unsigned int> & vertexIndices)
00143
00144   {
00145     NVSG_ASSERT(pDrawable);
00146     NVSG_ASSERT(pPath);
00147
00148     m_isp       = isp;
00149     m_dist      = dist;
00150     m_pDrawable = pDrawable;
00151     m_pPath     = pPath;
00152     m_primitiveIndex = primitiveIndex;
00153     m_vertexIndices = vertexIndices;
00154   }
00155
00156   inline Intersection::Intersection (const Intersection & rhs)
00157   {
00158     clone(rhs);
00159   }
00160
00161   inline Intersection & Intersection::operator = (const Intersection & rhs)
00162   {
00163     clone(rhs);
00164     return (*this);
00165   }
00166
00167   inline void Intersection::clone(const Intersection & rhs)
00168   {
00169     m_isp       = rhs.m_isp;
00170     m_dist      = rhs.m_dist;
00171     m_pDrawable = rhs.m_pDrawable;
00172     m_pPath     = rhs.m_pPath;
00173     m_primitiveIndex = rhs.m_primitiveIndex;
00174     m_vertexIndices = rhs.m_vertexIndices;
00175   }
00176
00177   inline const nvmath::Vec3f & Intersection::getIsp() const
00178   {
00179     return m_isp;
00180   }
00181
00182   inline float Intersection::getDist() const
00183   {
00184     return m_dist;
00185   }
00186
00187   inline const nvsg::DrawableSharedPtr & Intersection::getDrawable() const
00188   {
00189     return m_pDrawable;
00190   }
00191
00192   inline const nvsg::Path * Intersection::getPath() const
00193   {
00194     return m_pPath.get();
00195   }
00196
00197   inline unsigned int Intersection::getPrimitiveIndex() const
00198   {
00199     return m_primitiveIndex;
00200   }
00201
00202   inline const std::vector<unsigned int> & Intersection::getVertexIndices() const
00203   {
00204     return m_vertexIndices;
00205   }
00206
00208
00216   class RayIntersectTraverser : public SharedModelViewTraverser
00217   {
00218     public:
00220       NVSG_API RayIntersectTraverser(void);
00221
00223
00225       NVSG_API void release();
00226
00228
00230       NVSG_API void setRay( const nvmath::Vec3f &origin
00231                           , const nvmath::Vec3f &dir
00232                           );
00233
00235
00243       NVSG_API void setCamClipping( bool b
00244                                   );
00245
00247
00248       NVSG_API const Intersection & getNearest( void ) const;
00249
00251
00252       NVSG_API const Intersection * getIntersections( void ) const;
00253
00255
00256       NVSG_API unsigned int getNumberOfIntersections( void ) const;
00257
00259
00260       NVSG_API void setViewportSize( unsigned int width, unsigned int height );
00261
00262
00263     protected:
00265       NVSG_API virtual ~RayIntersectTraverser(void);
00266
00268
00270       NVSG_API virtual void  doApply( const nvsg::NodeSharedPtr & root );
00271
00272       // Nodes in the tree:
00273       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode *gnode );
00274
00275       // Groups in the tree:
00276       NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p );
00277       NVSG_API virtual void handleBillboard( const nvsg::Billboard * p);
00278       NVSG_API virtual void handleGroup( const nvsg::Group * group);
00279       NVSG_API virtual void handleLOD( const nvsg::LOD * lod);
00280       NVSG_API virtual void handleSwitch( const nvsg::Switch * swtch);
00281       NVSG_API virtual void handleTransform( const nvsg::Transform * p);
00282
00283       // Other operators:
00284       NVSG_API virtual void handleLines( const nvsg::Lines * p );
00285       NVSG_API virtual void handleLineStrips( const nvsg::LineStrips * p );
00286       NVSG_API virtual void handlePoints( const nvsg::Points * p );
00287       NVSG_API virtual void handleQuadMeshes( const nvsg::QuadMeshes * p );
00288       NVSG_API virtual void handleQuadPatches( const nvsg::QuadPatches * p );
00289       NVSG_API virtual void handleQuadPatches4x4( const nvsg::QuadPatches4x4 * p );
00290       NVSG_API virtual void handleQuads( const nvsg::Quads * p );
00291       NVSG_API virtual void handleQuadStrips( const nvsg::QuadStrips * p );
00292       NVSG_API virtual void handleRectPatches( const nvsg::RectPatches * p );
00293       NVSG_API virtual void handleTriangles( const nvsg::Triangles *p );
00294       NVSG_API virtual void handleTriFans( const nvsg::TriFans * p );
00295       NVSG_API virtual void handleTriPatches( const nvsg::TriPatches * p );
00296       NVSG_API virtual void handleTriPatches4( const nvsg::TriPatches4 * p );
00297       NVSG_API virtual void handleTriStrips( const nvsg::TriStrips * p );
00298
00299       NVSG_API virtual void handlePrimitive( const nvsg::Primitive * p );
00300       NVSG_API virtual void handlePoints( const nvsg::Primitive * p );
00301       NVSG_API virtual void checkAPoint( const nvsg::Primitive * p, const nvmath::Vec3f & v, unsigned int );
00302       NVSG_API virtual void handleLines( const nvsg::Primitive * p );
00303       NVSG_API virtual void handleLineStrip( const nvsg::Primitive * p );
00304       NVSG_API virtual void handleLineLoop( const nvsg::Primitive * p );
00305       NVSG_API virtual void handleTriangles( const nvsg::Primitive * p );
00306       NVSG_API virtual void handleTriangleStrip( const nvsg::Primitive * p );
00307       NVSG_API virtual void handleTriangleFan( const nvsg::Primitive * p );
00308       NVSG_API virtual void handleQuads( const nvsg::Primitive * p );
00309       NVSG_API virtual void handleQuadStrip( const nvsg::Primitive * p );
00310
00311       NVSG_API virtual void handleLineAttribute( const nvsg::LineAttribute *lineAttrib );
00312       NVSG_API virtual void handlePointAttribute( const nvsg::PointAttribute *pointAttrib );
00313       NVSG_API virtual void handleStateSet( const nvsg::StateSet *stateSet );
00314       NVSG_API virtual void handleStateVariant( const nvsg::StateVariant *stateVariant );
00315
00320       NVSG_API virtual bool preTraverseGroup( const nvsg::Group *p );
00321
00326       NVSG_API virtual void postTraverseGroup( const nvsg::Group *p );
00327
00329
00331       NVSG_API virtual bool preTraverseTransform( const nvmath::Trafo *p
00332                                                 );
00333
00335
00336       NVSG_API virtual void postTraverseTransform( const nvmath::Trafo *p
00337                                                  );
00338
00342       NVSG_API bool checkClipPlanes( const nvmath::Vec3f & p );
00343
00348       NVSG_API bool checkClipPlanes( const nvmath::Sphere3f & p );
00349
00351
00356       enum ISType { _NONE = 0
00357                   , _BSTANGENT
00358                   , _BSNEAR
00359                   , _BSFAR
00360                   , _BSNEARFAR
00361                   };
00362
00364
00365       NVSG_API bool checkIntersection( const nvmath::Sphere3f &sphere );
00366
00368
00369       NVSG_API nvmath::Vec3f getModelIntersection( float dist
00370                                                  );
00371
00373
00374       NVSG_API nvmath::Vec3f getWorldIntersection( const nvmath::Vec3f& misp
00375                                                  );
00376
00378
00379       NVSG_API bool isClipped( const nvmath::Vec3f& isp
00380                              , const nvmath::Vec3f& misp
00381                              );
00382
00384
00388       NVSG_API bool intersectBox( const nvmath::Vec3f &p0
00389                                 , const nvmath::Vec3f &p1
00390                                 , nvmath::Vec3f &isp
00391                                 , float &dist
00392                                 );
00393
00395
00399       NVSG_API bool intersectLine( const nvmath::Vec3f & v0
00400                                  , const nvmath::Vec3f & v1
00401                                  , nvmath::Vec3f & isp
00402                                  , float & dist
00403                                  );
00404
00406
00410       NVSG_API bool intersectPoint( const nvmath::Vec3f & v0
00411                                   , nvmath::Vec3f & isp
00412                                   , float & dist
00413                                   );
00414
00416
00420       NVSG_API bool intersectTriangle( const nvmath::Vec3f & v0
00421                                      , const nvmath::Vec3f & v1
00422                                      , const nvmath::Vec3f & v2
00423                                      , nvmath::Vec3f & isp
00424                                      , float & dist
00425                                      );
00426
00428
00429       NVSG_API void storeIntersection( const nvsg::Drawable *p
00430                                      , const nvmath::Vec3f &isp
00431                                      , float dist
00432                                      , unsigned int primitiveIndex
00433                                      , const std::vector<unsigned int> & vertexIndices
00434                                      );
00435
00436 #if !defined(NDEBUG)
00437
00438       NVSG_API void dumpIntersectionList();
00439 #endif
00440
00441     private:
00442       void checkLine( const nvsg::Drawable * p, const nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type &vertices
00443                     , unsigned int i0, unsigned int i1, unsigned int pi );
00444       void checkQuad( const nvsg::Drawable * p, const nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type &vertices
00445                     , unsigned int i0, unsigned int i1, unsigned int i2, unsigned int i3, unsigned int pi );
00446       void checkRectPatches( const nvsg::PatchesBase * p, unsigned int width, unsigned int height );
00447       void checkTriangle( const nvsg::Drawable * p, const nvsg::Buffer::ConstIterator<nvmath::Vec3f>::Type &vertices
00448                         , unsigned int i0, unsigned int i1, unsigned int i2, unsigned int pi );
00449       void checkTriPatches( const nvsg::PatchesBase* vash, unsigned int size );
00450       bool equal( const nvmath::Vec3f & v0, const nvmath::Vec3f & v1, float width ) const;
00451
00452       bool continueTraversal(unsigned int hints, const nvmath::Sphere3f& bs);
00453
00454       static const nvmath::Vec3f _RAY_ORIGIN_DEFAULT;
00455       static const nvmath::Vec3f _RAY_DIRECTION_DEFAULT;
00456
00457       bool                          m_camClipping;
00458
00459       std::stack<std::vector<nvsg::ClipPlaneSharedPtr> > m_clipPlanes;
00460       nvutil::SmartPtr<nvsg::Path>  m_curPath;
00461       std::vector<Intersection>     m_intersectionList;
00462       float                         m_lineWidth;
00463       float                         m_lineWidthDefault;
00464       std::stack<nvmath::Vec3f>     m_msRayOrigin;
00465       std::stack<nvmath::Vec3f>     m_msRayDir;
00466       std::stack<nvmath::Vec3f>     m_msCamDir;
00467       unsigned int                  m_nearestIntIdx;
00468       float                         m_pointSize;
00469       float                         m_pointSizeDefault;
00470       nvmath::Vec3f                 m_rayOrigin;
00471       nvmath::Vec3f                 m_rayDir;
00472       std::stack<float>             m_scaleFactors;
00473       unsigned int                  m_viewportHeight;
00474       unsigned int                  m_viewportWidth;
00475
00476       std::vector<unsigned int>     m_currentHints;
00477   };
00478
00479   inline void RayIntersectTraverser::setCamClipping(bool flag)
00480   {
00481     m_camClipping = flag;
00482   }
00483
00484   inline unsigned int RayIntersectTraverser::getNumberOfIntersections() const
00485   {
00486     return( checked_cast<unsigned int>(m_intersectionList.size()) );
00487   }
00488
00489   inline const Intersection & RayIntersectTraverser::getNearest() const
00490   {
00491     NVSG_ASSERT(!m_intersectionList.empty());
00492     return m_intersectionList[m_nearestIntIdx];
00493   }
00494
00495   inline const Intersection * RayIntersectTraverser::getIntersections() const
00496   {
00497     NVSG_ASSERT(!m_intersectionList.empty());
00498     return &m_intersectionList[0];
00499   }
00500 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RCObject.h File Reference

inc / nvsg / nvutil

RCObject.h File Reference

#include "nvsgcommon.h"
#include "nvutil/Allocator.h"
#include "nvutil/SWMRSync.h"

Include dependency graph for RCObject.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Typedefs

typedef nvutil::SmartPtr<
RCObject > 		SmartRCObject
Type definition for a SmartPtr of type RCObject.

Functions

template<typename T>
class typedef void | DestroyCallback (const RCObject *rcObject, void *data)
Type definition for the callback on destruction.

Detailed Description

Typedef Documentation

typedef nvutil::SmartPtr< RCObject > SmartRCObject

Type definition for a SmartPtr of type RCObject.

Function Documentation

class class typedef void DestroyCallback | ( | const RCObject * | rcObject,
 |  | void * | data
 | ) |

Type definition for the callback on destruction.

Namespace: nvsg
Remarks:
An RCObject can have callbacks to be called, just before it is destroyed. This is the definition of the interface of these callbacks. The complete rcObject can be read at that moment, but not written.
Note:
The behavior is undefined, if rcObject is written to.
See also:
RCObject::addOnDestroyCallback, RCObject::removeOnDestroyCallback

Generated on Fri Jul 13 13:28:14 2012 for SceniX


SceniX: RCObject.h Source File

inc / nvsg / nvutil

RCObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // rcobject.h
00013 //
00014 // Support for reference counted object
00015 //
00016 #pragma once
00017
00019 #include "nvsgcommon.h"
00020
00021 #include "nvutil/Allocator.h" // for IAllocator interface
00022 #include "nvutil/SWMRSync.h"
00023
00024 namespace nvutil
00025 {
00026   class RCObject;
00027   template<typename T> class SmartPtr;
00028
00029 #if !defined(DOXYGEN_IGNORE)
00030   // RefCount abstracts a reference counter and provides mutual exclusive access to the internal counter.
00031   template <typename T>
00032   class RefCount
00033   {
00034   public:
00035     // initializes the internal counter with the value of the passed 'initialValue' parameter.
00036     // initializes the internal counter with 0, if the parameter is omitted.
00037     // the mutex object will always be default constructed (see SWMRSync::SWMRSync)
00038     RefCount(T initialValue = 0) : m_cnt(initialValue) {}
00039
00040     // increments (increases by one) the internal counter.
00041     // this operator prevents more than one thread from accessing the internal counter simultaneously.
00042     T operator++()
00043     {
00044       m_mutex.lockExclusive();
00045       T res = ++m_cnt;
00046       m_mutex.unlockExclusive();
00047       return res;
00048     }
00049
00050     // decrements (decreases by one) the internal counter.
00051     // this operator prevents more than one thread from accessing the internal counter simultaneously.
00052     T operator--()
00053     {
00054       m_mutex.lockExclusive();
00055       NVSG_ASSERT(m_cnt>0); // must never turn negative
00056       T res = --m_cnt;
00057       m_mutex.unlockExclusive();
00058       return res;
00059     }
00060
00061     // 'greater than' comparison of the internal counter.
00062     // this operator prevents more than one thread from accessing the internal counter simultaneously.
00063     bool operator>(const T& rhs) const
00064     {
00065       m_mutex.lockExclusive();
00066       bool res = m_cnt > rhs;
00067       m_mutex.unlockExclusive();
00068       return res;
00069     }
00070
00071     // hide the built-in assignment operator!
00072     // the built-in assignment operator would assign the mutex, which is not allowed!
00073     // this operator prevents more than one thread from accessing the internal counter simultaneously.
00074     RefCount& operator=(const RefCount &rhs)
00075     {
00076       if ( this != &rhs )
00077       {
00078         // never copy a mutex! keep the original one instead!
00079         m_mutex.lockExclusive();
00080         m_cnt = rhs.m_cnt;
00081         m_mutex.unlockExclusive();
00082       }
00083       return *this;
00084     }
00085
00086   private:
00087     SWMRSync m_mutex; // to realize mutual exclusive access to m_cnt
00088     T m_cnt; // holds the counter value
00089   };
00090 #endif
00091
00099   typedef void DestroyCallback( const RCObject * rcObject, void * data );
00100
00116   class RCObject : public IAllocator
00117   {
00118     template<typename T> friend class SmartPtr;
00119
00120     public:
00132       NVSG_API void markUnshareable();
00133
00143       NVSG_API bool isShareable()       const;
00144
00150       NVSG_API bool isShared()          const;
00151
00162       NVSG_API void addOnDestroyCallback( DestroyCallback *dcb, void * data );
00163
00175       NVSG_API void removeOnDestroyCallback( DestroyCallback * dcb, void * data );
00176
00177     protected:
00187       NVSG_API void addRef()            const;
00188
00195       NVSG_API void removeRef()         const;
00196
00207       RCObject();
00208
00220       RCObject(const RCObject& rhs);
00221
00228       RCObject& operator=(const RCObject& rhs) { return *this; }
00229
00236       virtual ~RCObject();
00237
00238     private:
00239       typedef std::vector<std::pair<DestroyCallback *,void *> > DestroyCallbackContainer;
00240
00241     private:
00243       mutable RefCount<int>       m_refcnt;
00244       bool                        m_shareable;
00245       DestroyCallbackContainer  * m_destroyCallbacks;
00246   };
00247
00248   typedef nvutil::SmartPtr< RCObject > SmartRCObject;
00249
00256   template<typename T>
00257   class RCVector : public std::vector<T>, public RCObject
00258   {
00259     public:
00262       RCVector() {}
00263
00266       RCVector( const RCVector<T> & rhs ) : std::vector<T>(rhs) {}
00267
00276       explicit RCVector(unsigned int n) : std::vector<T>(n) {}
00277   };
00278
00279   //----------------------------------------------------------------------------
00280   // inline implementations following
00281   //----------------------------------------------------------------------------
00282
00283   inline RCObject::RCObject()
00284     : m_destroyCallbacks(nullptr)
00285     , m_shareable(true)
00286   {
00287   }
00288
00289   inline RCObject::RCObject( const RCObject & rhs )
00290     : m_destroyCallbacks(nullptr)
00291     , m_shareable(true)
00292   {
00293   }
00294
00295   inline RCObject::~RCObject()
00296   {
00297     delete m_destroyCallbacks;
00298   }
00299
00300   inline void RCObject::addRef() const
00301   {
00302     ++m_refcnt;
00303   }
00304
00305   inline void RCObject::removeRef() const
00306   {
00307     if ( !--m_refcnt )
00308     {
00309       if ( m_destroyCallbacks )
00310       {
00311         for ( size_t i=0 ; i<m_destroyCallbacks->size() ; i++ )
00312         {
00313           (*(*m_destroyCallbacks)[i].first)( this, (*m_destroyCallbacks)[i].second );
00314         }
00315       }
00316       delete this;
00317     }
00318   }
00319
00320   inline void RCObject::markUnshareable()
00321   {
00322     m_shareable=false;
00323   }
00324
00325   inline bool RCObject::isShareable() const
00326   {
00327     return m_shareable==true;
00328   }
00329
00330   inline bool RCObject::isShared() const
00331   {
00332     return m_refcnt>1;
00333   }
00334
00335   inline void RCObject::addOnDestroyCallback( DestroyCallback * dcb, void * data )
00336   {
00337     NVSG_ASSERT( !m_destroyCallbacks
00338               || (  std::find( m_destroyCallbacks->begin(), m_destroyCallbacks->end(), std::make_pair( dcb, data ) )
00339                     == m_destroyCallbacks->end() ) );
00340     if ( !m_destroyCallbacks )
00341     {
00342       m_destroyCallbacks = new DestroyCallbackContainer;
00343     }
00344     m_destroyCallbacks->push_back( std::make_pair( dcb, data ) );
00345   }
00346
00347   inline void RCObject::removeOnDestroyCallback( DestroyCallback * dcb, void * data )
00348   {
00349     if ( m_destroyCallbacks )
00350     {
00351       DestroyCallbackContainer::iterator it = std::find( m_destroyCallbacks->begin(), m_destroyCallbacks->end(), std::make_pair( dcb, data ) );
00352       NVSG_ASSERT( it != m_destroyCallbacks->end() );
00353       m_destroyCallbacks->erase( it );
00354       if ( m_destroyCallbacks->empty() )
00355       {
00356         delete m_destroyCallbacks;
00357         m_destroyCallbacks = nullptr;
00358       }
00359     }
00360   }
00361
00362 } // namespace nvutil
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ReadableObject.h File Reference

inc / nvsg / nvutil

ReadableObject.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:15 2012 for SceniX


SceniX: ReadableObject.h Source File

inc / nvsg / nvutil

ReadableObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00013 #pragma once
00014
00015 namespace nvutil
00016 {
00017   template<typename T>
00018   class ReadableObject
00019   {
00020     public:
00021       template <typename U> explicit ReadableObject( U * h )
00022       {
00023         NVSG_ASSERT(h);
00024         obj = static_cast<const T*>(h->beginRead());
00025       }
00026
00027       template <typename U> explicit ReadableObject( const SmartPtr<U> &h )
00028       {
00029         NVSG_ASSERT(h.get());
00030         obj = static_cast<const T *>(h.get()->beginRead());
00031       }
00032
00033       ~ReadableObject()
00034       {
00035         HandledObjectWeakPtr ptr(getWeakPtr<HandledObject>(obj));
00036         ptr->endRead();
00037       }
00038
00039       // make it behave like a pointer
00040       const T * operator->() const
00041       {
00042         return obj;
00043       }
00044
00045       const T & operator*() const
00046       {
00047         return *obj;
00048       }
00049
00050       // implicit conversion to T*
00051       operator const T *() const
00052       {
00053         return obj;
00054       }
00055
00056     private:
00057       ReadableObject(const ReadableObject&);            // copying not permitted!
00058       ReadableObject& operator=(const ReadableObject&); // assigning a ReadableObject not permitted!
00059       ReadableObject& operator=( const T& rhs );        // assigning an object of type T not permitted!
00060
00061     private:
00062       const T                 * obj;
00063   };
00064
00065 } // namespace nvutil
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RectPatches.h File Reference

inc / nvsg / nvsg

RectPatches.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Face.h"
#include "nvsg/PatchesBase.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for RectPatches.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:15 2012 for SceniX


SceniX: RectPatches.h Source File

inc / nvsg / nvsg

RectPatches.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Face.h"
00017 #include "nvsg/PatchesBase.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00028   class RectPatches : public PatchesBase
00029   {
00030     public:
00031       NVSG_API static RectPatchesSharedPtr create();
00032
00033     public:
00040       NVSG_API void setSize( unsigned int width, unsigned int height );
00041
00047       NVSG_API unsigned int getWidth() const;
00048
00054       NVSG_API unsigned int getHeight() const;
00055
00060       NVSG_API RectPatches & operator=( const RectPatches & rhs );
00061
00062       REFLECTION_INFO_API( NVSG_API, RectPatches );
00063     protected:
00064       friend struct nvutil::Holder<RectPatches>;
00065
00067       NVSG_API RectPatches();
00068
00070       NVSG_API RectPatches( const RectPatches &rhs );
00071
00073       NVSG_API virtual ~RectPatches();
00074
00076       NVSG_API virtual bool calculateNormals( bool overwrite );
00077
00079       NVSG_API virtual void calculateTangentSpace( unsigned int texcoords, unsigned int tangents
00080                                                  , unsigned int binormals, bool overwrite );
00081
00085       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00086
00087     private:
00088       unsigned int  m_width;
00089       unsigned int  m_height;
00090   };
00091
00092   // - - - - - - - - - - - - - - - - - - - - - - - - -
00093   // inlines
00094   // - - - - - - - - - - - - - - - - - - - - - - - - -
00095
00096   inline void RectPatches::setSize( unsigned int width, unsigned int height )
00097   {
00098     NVSG_TRACE();
00099     m_width = width;
00100     m_height = height;
00101     setNumberOfVerticesPerPatch( width * height );
00102   }
00103
00104   inline unsigned int RectPatches::getWidth() const
00105   {
00106     NVSG_TRACE();
00107     return( m_width );
00108   }
00109
00110   inline unsigned int RectPatches::getHeight() const
00111   {
00112     NVSG_TRACE();
00113     return( m_height );
00114   }
00115 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Registry.h File Reference

inc / nvsg / nvutil

Registry.h File Reference

#include "nvsg/nvsgapi.h"
#include <string>
#include "nvutil/Assert.h"

Include dependency graph for Registry.h:

Go to the source code of this file.

Namespaces

namespace nvutil

Typedefs

typedef std::basic_string<
TCHAR > 		tstring

Detailed Description

Generated on Fri Jul 13 13:28:15 2012 for SceniX


SceniX: Registry.h Source File

inc / nvsg / nvutil

Registry.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 #ifndef LINUX
00018 # include "nvsgwindefs.h"
00019 # ifndef NOMINMAX
00020 #  define NOMINMAX // avoid problems with Microsoft definitions in windef.h and min/max from stl
00021 # endif
00022 # include <windows.h>
00023 # undef NOMINMAX
00024 #endif
00025
00026 #include <string>
00027 #include "nvutil/Assert.h"
00028
00029 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00030 namespace nvutil {
00031
00032 typedef std::basic_string <TCHAR> tstring;
00033
00034 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00036 template <typename T> class RegVal
00037 {
00038 public:
00039   enum
00040   {
00041     DIRTY  = 1
00042   };
00043
00045   RegVal( const TCHAR * value_name , const TCHAR * subkey, DWORD type, HKEY root=HKEY_CURRENT_USER
00046         , const T& def=T() ); // T() provides initialization for fundamental types
00048   ~RegVal() {}
00050   RegVal<T>& operator=(const T& rhs);
00052   operator const T&();
00053
00054 private:
00055   // not allowed
00056   RegVal(const RegVal<T>&) {}   // copying
00057   RegVal<T>& operator=(const RegVal<T>&) {} // assignment
00058   // for private use only
00059   DWORD create();
00060   DWORD read(T& out, DWORD nbytes);
00061   DWORD write(const T& in, DWORD nbytes);
00062
00063 private:
00064   tstring  m_name;
00065   tstring  m_subkey;
00066   DWORD   m_type;
00067   HKEY    m_root;
00068   HKEY    m_hkey;
00069   DWORD   m_flags;
00070   T       m_default;
00071   T       m_data;
00072 };
00073
00074 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00075 template <class T>
00076 inline RegVal<T>::RegVal( const TCHAR * value_name
00077                         , const TCHAR * subkey
00078                         , DWORD type
00079                         , HKEY root
00080                         , const T& def )
00081 : m_name(value_name)
00082 , m_subkey(subkey)
00083 , m_type(type)
00084 , m_root(root)
00085 , m_flags(DIRTY)
00086 , m_default(def)
00087 {
00088   if ( ERROR_SUCCESS==create() )
00089   {
00090     if ( ERROR_FILE_NOT_FOUND==read(m_data, sizeof(T)) )
00091     {
00092       if ( ERROR_SUCCESS==write(m_default, sizeof(T)) )
00093       {
00094         m_data = m_default; // update internal cache
00095         m_flags &= ~DIRTY; // no need to walk the registry with the very next read
00096       }
00097     }
00098   }
00099 }
00100
00101 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00102 template <class T>
00103 inline RegVal<T>& RegVal<T>::operator=(const T& rhs)
00104 {
00105   write(rhs, sizeof(T)); // write the registry
00106   m_data = rhs; // update internal data cache according
00107   m_flags &= ~DIRTY; // no need to walk the registry with the very next read
00108   return *this;
00109 }
00110
00111 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00112 template <class T>
00113 inline RegVal<T>::operator const T&()
00114 {
00115   if ( m_flags & DIRTY ) {
00116     // need to read the registry for valid data
00117     if ( !(ERROR_SUCCESS==read(m_data, sizeof(T))) )
00118     {
00119       // reading failed, set to default
00120       m_data = m_default;
00121     }
00122     m_flags &= ~DIRTY; // assign data cache valid, no need to walk the
00123                         // registry with the very next read
00124   }
00125   return m_data;
00126 }
00127
00128 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00129 template <class T>
00130 inline DWORD RegVal<T>::create()
00131 {
00132   DWORD err;
00133   DWORD dwDisposition;
00134
00135   // create the key if not already exists
00136   if ( ERROR_SUCCESS == (err = RegCreateKeyEx( m_root
00137                                              , m_subkey.c_str()
00138                                              , 0
00139                                              , NULL
00140                                              , REG_OPTION_NON_VOLATILE
00141                                              , KEY_ALL_ACCESS
00142                                              , NULL
00143                                              , &m_hkey
00144                                              , &dwDisposition ))
00145      )
00146   {
00147     // close key
00148     RegCloseKey(m_hkey);
00149   }
00150
00151   return err;
00152 }
00153
00154 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00155 template <class T>
00156 inline DWORD RegVal<T>::read(T& out, DWORD nbytes)
00157 {
00158   DWORD err;
00159   DWORD type;
00160
00161   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_READ, &m_hkey)) ) {
00162     err = RegQueryValueEx(m_hkey, m_name.c_str(), NULL, &type, (LPBYTE)&out, &nbytes);
00163     NVSG_ASSERT((err==ERROR_SUCCESS)==(m_type==type)); // type mismatch!
00164     RegCloseKey(m_hkey);
00165   }
00166   return err;
00167 }
00168
00169 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00170 template<class T>
00171 inline DWORD RegVal<T>::write(const T& in, DWORD nbytes)
00172 {
00173   DWORD err;
00174
00175   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_ALL_ACCESS, &m_hkey)) ) {
00176     err = RegSetValueEx(m_hkey, m_name.c_str(), NULL, m_type, (const LPBYTE)&in, nbytes);
00177     RegCloseKey(m_hkey);
00178   }
00179   return err;
00180 }
00181
00182 //  DOXYGEN can't handle template specializations (warns about no matching class member found)
00183 #if ! defined( DOXYGEN_IGNORE )
00184 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00185 // string type needs some specialization with read and write
00186 template<>
00187 inline DWORD RegVal<tstring>::read(tstring& out, DWORD nbytes)
00188 {
00189   DWORD err;
00190   DWORD type;
00191
00192   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_READ, &m_hkey)) ) {
00193     // (1) call RegQueryValueEx with output data set to NULL to get the exact byte count required
00194     if ( ERROR_SUCCESS == (err = RegQueryValueEx(m_hkey, m_name.c_str(), NULL, &type, NULL, &nbytes)) ) {
00195       // create a temporary tstring and resize its controlled sequence according
00196       // to the byte count received with the previous call to RegQueryValueEx()
00197       tstring tmp;
00198       tmp.resize(nbytes);
00199       // (2) call RegQueryValueEx with valid output buffer now to receive the requested data
00200       if ( ERROR_SUCCESS == (err = RegQueryValueEx(m_hkey, m_name.c_str(), NULL, &type, (LPBYTE)tmp.data(), &nbytes)) ) {
00201         NVSG_ASSERT((err==ERROR_SUCCESS)==(m_type==type)); // type mismatch!
00202         // assign the c-string of the temporary string object rather than the string object itself to
00203         // ensure that the length of the output string's controlled sequence matches exactly that
00204         // of the enclosed c-string
00205         out = tmp.c_str();
00206       }
00207     }
00208     RegCloseKey(m_hkey);
00209   }
00210   return err;
00211 }
00212
00213 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00214 template<>
00215 inline DWORD RegVal<tstring>::write(const tstring& in, DWORD nbytes)
00216 {
00217   DWORD err;
00218
00219   if ( ERROR_SUCCESS == (err = RegOpenKeyEx(m_root, m_subkey.c_str(), NULL, KEY_ALL_ACCESS, &m_hkey)) ) {
00220     err = RegSetValueEx(m_hkey, m_name.c_str(), NULL, m_type, (const LPBYTE)in.c_str(), nbytes);
00221     RegCloseKey(m_hkey);
00222   }
00223   return err;
00224 }
00225
00226 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00227 template<>
00228 inline RegVal<tstring>& RegVal<tstring>::operator=(const tstring& rhs)
00229 {
00230   // determine required byte count
00231   DWORD nbytes = (DWORD)rhs.length()+1; // including terminating 0
00232   nbytes *= sizeof(TCHAR);
00233
00234   // write to registry now
00235   write(rhs, nbytes);
00236
00237   m_data = rhs; // update internal data cache according
00238   m_flags &= ~DIRTY; // no need to walk the registry with the very next read
00239
00240   return *this;
00241 }
00242 #endif  //  DOXYGEN_IGNORE
00243
00244 } // namespace nvutil
00245
00246 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00247 // avoid tedious, repeated qualification of namespace scope
00248 //using nvutil::RegVal;
00249
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RTBufferAttribute.h File Reference

inc / nvsg / nvsg

RTBufferAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StateAttribute.h"
#include "nvrt/RTBuffer.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for RTBufferAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:16 2012 for SceniX


SceniX: RTBufferAttribute.h Source File

inc / nvsg / nvsg

RTBufferAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StateAttribute.h"
00017 #include "nvrt/RTBuffer.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00029   class RTBufferAttribute : public StateAttribute
00030   {
00031     public:
00032       NVSG_API static RTBufferAttributeSharedPtr create();
00033
00034     public:
00035
00038       enum
00039       {
00040         MAP_READ    = 0x01,
00041         MAP_WRITE   = 0x02
00042       };
00043
00061       NVSG_API virtual void setFormat( RTformat format, unsigned int elementSize = 0 );
00062
00067       NVSG_API RTformat getFormat() const;
00068
00075       NVSG_API unsigned int getElementSize() const;
00076
00085       NVSG_API size_t getBufferSize() const;
00086
00097       NVSG_API virtual void setSize( unsigned int width, unsigned int height = 0, unsigned int depth = 0 );
00098
00104       NVSG_API unsigned int getDimensionality() const;
00105
00111       NVSG_API unsigned int getWidth() const;
00112
00118       NVSG_API unsigned int getHeight() const;
00119
00125       NVSG_API unsigned int getDepth() const;
00126
00134       NVSG_API const void * map() const;
00135
00143       NVSG_API void * map( unsigned int mode = MAP_READ|MAP_WRITE );
00144
00150       NVSG_API void unmap() const;
00151
00156       NVSG_API void clear();
00157
00164       NVSG_API void setData( const void * data );
00165
00178       NVSG_API void setSubData( const void * data, unsigned int xOffset, unsigned int width,
00179                                   unsigned int yOffset = 0, unsigned int height = 0,
00180                                   unsigned int zOffset = 0, unsigned int depth = 0 );
00181
00191       NVSG_API void setVariableName( const std::string & name);
00192
00197       NVSG_API const std::string & getVariableName() const;
00198
00205       NVSG_API virtual bool isEquivalent( const Object *p
00206                                         , bool ignoreNames
00207                                         , bool deepCompare ) const;
00208
00215       NVSG_API RTBufferAttribute & operator=(const RTBufferAttribute & rhs);
00216
00217       REFLECTION_INFO_API( NVSG_API, RTBufferAttribute );
00218     protected:
00219       friend struct nvutil::Holder<RTBufferAttribute>;
00220
00223       NVSG_API RTBufferAttribute();
00224
00227       NVSG_API RTBufferAttribute( const RTBufferAttribute &rhs );
00228
00230       NVSG_API virtual ~RTBufferAttribute();
00231
00235       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00236
00237     private:
00238       std::string     m_variableName; // name of variable in CUDA code
00239       unsigned char * m_buffer;
00240       RTformat        m_format;
00241       unsigned int    m_elementSize;
00242       size_t          m_size;
00243       unsigned int    m_width, m_height, m_depth;
00244   };
00245
00246 inline void RTBufferAttribute::setVariableName( const std::string & name)
00247 {
00248   m_variableName = name;
00249 }
00250
00251 inline const std::string & RTBufferAttribute::getVariableName() const
00252 {
00253   return m_variableName;
00254 }
00255
00256 } // namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Scene.h File Reference

inc / nvsg / nvsg

Scene.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/Group.h"
#include "nvsg/Node.h"
#include "nvsg/SceneAttribute.h"
#include "nvsg/TextureHost.h"
#include "nvmath/Vecnt.h"
#include "nvutil/Reflection.h"

Include dependency graph for Scene.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:16 2012 for SceniX


SceniX: Scene.h Source File

inc / nvsg / nvsg

Scene.h

Go to the documentation of this file.
00001  // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/CoreTypes.h"
00017 #include "nvsg/Group.h"
00018 #include "nvsg/Node.h"
00019 #include "nvsg/SceneAttribute.h"
00020 #include "nvsg/TextureHost.h"
00021 #include "nvmath/Vecnt.h"
00022 #include "nvutil/Reflection.h"
00023
00024 namespace nvsg
00025 {
00034   class Scene : public Object
00035   {
00036     public:
00038       typedef std::vector<CameraSharedPtr>                                            CameraContainer;
00039
00041       typedef nvutil::SceniXIterator<Scene,CameraContainer::iterator>                 CameraIterator;
00042
00044       typedef nvutil::SceniXIterator<Scene,CameraContainer::const_iterator>           CameraConstIterator;
00045
00047       typedef std::vector<TrafoAnimationSharedPtr>                                    CameraAnimationContainer;
00048
00050       typedef nvutil::SceniXIterator<Scene,CameraAnimationContainer::iterator>        CameraAnimationIterator;
00051
00053       typedef nvutil::SceniXIterator<Scene,CameraAnimationContainer::const_iterator>  CameraAnimationConstIterator;
00054
00056       typedef std::vector<SceneAttributeSharedPtr>                                    AttributeContainer;
00057
00059       typedef nvutil::SceniXIterator<Scene,AttributeContainer::iterator>              AttributeIterator;
00060
00062       typedef nvutil::SceniXIterator<Scene,AttributeContainer::const_iterator>        AttributeConstIterator;
00063
00064     public:
00065       NVSG_API static SceneSharedPtr create();
00066
00067     public:
00073       NVSG_API const nvmath::Vec3f & getAmbientColor() const;
00074
00080       NVSG_API void setAmbientColor( const nvmath::Vec3f & color );
00081
00092       NVSG_API int getFrameNumber() const;
00093
00105       NVSG_API void setFrameNumber( int frameNumber );
00106
00112       NVSG_API const nvmath::Vec4f & getBackColor()  const;
00113
00119       NVSG_API void setBackColor( const nvmath::Vec4f & color );
00120
00124       NVSG_API const TextureHostSharedPtr & getBackImage() const;
00125
00130       NVSG_API void setBackImage( const TextureHostSharedPtr & image );
00131
00132
00136       NVSG_API unsigned int getNumberOfCameras() const;
00137
00141       NVSG_API CameraConstIterator beginCameras() const;
00142
00146       NVSG_API CameraIterator beginCameras();
00147
00151       NVSG_API CameraConstIterator endCameras() const;
00152
00156       NVSG_API CameraIterator endCameras();
00157
00162       NVSG_API CameraIterator addCamera( const CameraSharedPtr & camera );
00163
00168       NVSG_API bool removeCamera( const CameraSharedPtr & camera );
00169
00175       NVSG_API CameraIterator removeCamera( const CameraIterator & sci );
00176
00179       NVSG_API void clearCameras();
00180
00181       /*  \brief Find a specified camera in this Scene.
00182        *  \param camera The camera to find.
00183        *  \return A const iterator to the found camera in this Scene.
00184        *  \sa getNumberOfCameras, beginCameras, endCameras, addCamera, removeCamera, clearCameras */
00185       NVSG_API CameraConstIterator findCamera( const CameraSharedPtr & camera ) const;
00186
00187       /*  \brief Find a specified camera in this Scene.
00188        *  \param camera The camera to find.
00189        *  \return An iterator to the found camera in this Scene.
00190        *  \sa getNumberOfCameras, beginCameras, endCameras, addCamera, removeCamera, clearCameras */
00191       NVSG_API CameraIterator findCamera( const CameraSharedPtr & camera );
00192
00193
00197       NVSG_API unsigned int getNumberOfCameraAnimations() const;
00198
00202       NVSG_API CameraAnimationConstIterator beginCameraAnimations() const;
00203
00207       NVSG_API CameraAnimationIterator beginCameraAnimations();
00208
00212       NVSG_API CameraAnimationConstIterator endCameraAnimations() const;
00213
00217       NVSG_API CameraAnimationIterator endCameraAnimations();
00218
00223       NVSG_API CameraAnimationIterator addCameraAnimation( const TrafoAnimationSharedPtr & animation );
00224
00229       NVSG_API bool removeCameraAnimation( const TrafoAnimationSharedPtr & animation );
00230
00236       NVSG_API CameraAnimationIterator removeCameraAnimation( const CameraAnimationIterator & scai );
00237
00240       NVSG_API void clearCameraAnimations();
00241
00242       /*  \brief Find a specified camera animation in this Scene.
00243        *  \param animation The camera animation to find.
00244        *  \return A const iterator to the found camera animation in this Scene.
00245        *  \sa getNumberOfCameraAnimations, beginCameraAnimations, endCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations */
00246       NVSG_API CameraAnimationConstIterator findCameraAnimation( const TrafoAnimationSharedPtr & animation ) const;
00247
00248       /*  \brief Find a specified camera animation in this Scene.
00249        *  \param animation The camera animation to find.
00250        *  \return An iterator to the found camera animation in this Scene.
00251        *  \sa getNumberOfCameraAnimations, beginCameraAnimations, endCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations */
00252       NVSG_API CameraAnimationIterator findCameraAnimation( const TrafoAnimationSharedPtr & animation );
00253
00254
00258       NVSG_API unsigned int getNumberOfAttributes() const;
00259
00263       NVSG_API AttributeConstIterator beginAttributes() const;
00264
00268       NVSG_API AttributeIterator beginAttributes();
00269
00273       NVSG_API AttributeConstIterator endAttributes() const;
00274
00278       NVSG_API AttributeIterator endAttributes();
00279
00284       NVSG_API AttributeIterator addAttribute( const SceneAttributeSharedPtr & attribute );
00285
00290       NVSG_API bool removeAttribute( const SceneAttributeSharedPtr & attribute );
00291
00297       NVSG_API AttributeIterator removeAttribute( const AttributeIterator & sai );
00298
00301       NVSG_API void clearAttributes();
00302
00303       /*  \brief Find a specified attribute in this Scene.
00304        *  \param attribute The attribute to find.
00305        *  \return A const iterator to the found attribute in this Scene.
00306        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00307       NVSG_API AttributeConstIterator findAttribute( const SceneAttributeSharedPtr & attribute ) const;
00308
00309       /*  \brief Find a specified attribute in this Scene.
00310        *  \param attribute The attribute to find.
00311        *  \return An iterator to the found attribute in this Scene.
00312        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00313       NVSG_API AttributeIterator findAttribute( const SceneAttributeSharedPtr & attribute );
00314
00315       /*  \brief Find the attribute in this Scene specified by objectCode.
00316        *  \param objectCode The object code of the attribute to find.
00317        *  \return An iterator to the found attribute in this Scene.
00318        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00319       NVSG_API AttributeConstIterator findAttribute( unsigned int objectCode ) const;
00320
00321       /*  \brief Find the attribute in this Scene specified by objectCode.
00322        *  \param objectCode The object code of the attribute to find.
00323        *  \return An iterator to the found attribute in this Scene.
00324        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00325       NVSG_API AttributeIterator findAttribute( unsigned int objectCode );
00326
00330       NVSG_API const NodeSharedPtr & getRootNode() const;
00331
00337       NVSG_API void setRootNode( const NodeSharedPtr & root );
00338
00344       NVSG_API bool containsShader() const;
00345
00349       NVSG_API bool containsLight() const;
00350
00354       NVSG_API bool containsTransparency() const;
00355
00359       NVSG_API bool containsAnimation() const;
00360
00361       NVSG_API const nvutil::Incarnation& getIncarnation() const;
00362
00363       using Object::getBoundingBox;
00364       using Object::getBoundingSphere;
00365
00366 #if !defined(NDEBUG)
00367
00370       NVSG_API bool containsNode( const NodeSharedPtr & node ) const;
00371 #endif
00372
00373     protected:
00374       friend struct nvutil::Holder<Scene>;
00375
00380       NVSG_API Scene();
00381
00383       NVSG_API virtual ~Scene();
00384
00385       NVSG_API void notifyChanged();
00386
00387       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00388       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00389       NVSG_API virtual const nvmath::Box3f & getBoundingBox( bool recalculate ) const;
00390       NVSG_API virtual const nvmath::Sphere3f & getBoundingSphere( bool recalculate ) const;
00391
00392     // reflected properties
00393     public:
00394       REFLECTION_INFO_API( NVSG_API, Scene );
00395       BEGIN_DECLARE_STATIC_PROPERTIES
00396           NVSG_API DECLARE_STATIC_PROPERTY( AmbientColor );
00397           NVSG_API DECLARE_STATIC_PROPERTY( FrameNumber );
00398           NVSG_API DECLARE_STATIC_PROPERTY( BackColor );
00399       END_DECLARE_STATIC_PROPERTIES
00400
00401     private:
00402       mutable nvutil::Incarnation m_incarnation; // tracks changes
00403       mutable nvmath::Box3f       m_boundingBox;
00404       mutable nvmath::Sphere3f    m_boundingSphere;
00405       nvmath::Vec3f               m_ambientColor;
00406       nvmath::Vec4f               m_backColor;
00407       TextureHostSharedPtr        m_backImage;
00408       CameraContainer             m_cameras;
00409       CameraAnimationContainer    m_cameraAnimations;
00410       AttributeContainer          m_attributes;
00411       NodeSharedPtr               m_root;
00412       int                         m_frameNumber;
00413   };
00414
00415   inline void Scene::setFrameNumber( int num )
00416   {
00417     NVSG_TRACE();
00418     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00419     int newFrameNumber = (num<0) ? 0 : num;
00420     if ( newFrameNumber != m_frameNumber )
00421     {
00422       m_frameNumber = newFrameNumber;
00423       notify( PID_FrameNumber );
00424     }
00425   }
00426
00427   inline int Scene::getFrameNumber() const
00428   {
00429     NVSG_TRACE();
00430     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00431     return m_frameNumber;
00432   }
00433
00434   inline unsigned int Scene::getNumberOfCameras() const
00435   {
00436     NVSG_TRACE();
00437     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00438     return( checked_cast<unsigned int>(m_cameras.size()) );
00439   }
00440
00441   inline Scene::CameraConstIterator Scene::beginCameras() const
00442   {
00443     NVSG_TRACE();
00444     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00445     return( CameraConstIterator( m_cameras.begin() ) );
00446   }
00447
00448   inline Scene::CameraIterator Scene::beginCameras()
00449   {
00450     NVSG_TRACE();
00451     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00452     return( CameraIterator( m_cameras.begin() ) );
00453   }
00454
00455   inline Scene::CameraConstIterator Scene::endCameras() const
00456   {
00457     NVSG_TRACE();
00458     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00459     return( CameraConstIterator( m_cameras.end() ) );
00460   }
00461
00462   inline Scene::CameraIterator Scene::endCameras()
00463   {
00464     NVSG_TRACE();
00465     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00466     return( CameraIterator( m_cameras.end() ) );
00467   }
00468
00469   inline Scene::CameraConstIterator Scene::findCamera( const CameraSharedPtr & camera ) const
00470   {
00471     NVSG_TRACE();
00472     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00473
00474     return( CameraConstIterator( find( m_cameras.begin(), m_cameras.end(), camera ) ) );
00475   }
00476
00477   inline Scene::CameraIterator Scene::findCamera( const CameraSharedPtr & camera )
00478   {
00479     NVSG_TRACE();
00480     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00481
00482     return( CameraIterator( find( m_cameras.begin(), m_cameras.end(), camera ) ) );
00483   }
00484
00485   inline void Scene::clearCameras()
00486   {
00487     NVSG_TRACE();
00488     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00489
00490     m_cameras.clear();
00491   }
00492
00493   inline unsigned int Scene::getNumberOfCameraAnimations() const
00494   {
00495     NVSG_TRACE();
00496     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00497     return( checked_cast<unsigned int>(m_cameraAnimations.size()) );
00498   }
00499
00500   inline Scene::CameraAnimationConstIterator Scene::beginCameraAnimations() const
00501   {
00502     NVSG_TRACE();
00503     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00504     return( CameraAnimationConstIterator( m_cameraAnimations.begin() ) );
00505   }
00506
00507   inline Scene::CameraAnimationIterator Scene::beginCameraAnimations()
00508   {
00509     NVSG_TRACE();
00510     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00511     return( CameraAnimationIterator( m_cameraAnimations.begin() ) );
00512   }
00513
00514   inline Scene::CameraAnimationConstIterator Scene::endCameraAnimations() const
00515   {
00516     NVSG_TRACE();
00517     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00518     return( CameraAnimationConstIterator( m_cameraAnimations.end() ) );
00519   }
00520
00521   inline Scene::CameraAnimationIterator Scene::endCameraAnimations()
00522   {
00523     NVSG_TRACE();
00524     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00525     return( CameraAnimationIterator( m_cameraAnimations.end() ) );
00526   }
00527
00528   inline Scene::CameraAnimationConstIterator Scene::findCameraAnimation( const TrafoAnimationSharedPtr & animation ) const
00529   {
00530     NVSG_TRACE();
00531     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00532
00533     return( CameraAnimationConstIterator( find( m_cameraAnimations.begin(), m_cameraAnimations.end(), animation ) ) );
00534   }
00535
00536   inline Scene::CameraAnimationIterator Scene::findCameraAnimation( const TrafoAnimationSharedPtr & animation )
00537   {
00538     NVSG_TRACE();
00539     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00540
00541     return( CameraAnimationIterator( find( m_cameraAnimations.begin(), m_cameraAnimations.end(), animation ) ) );
00542   }
00543
00544   inline void Scene::clearCameraAnimations()
00545   {
00546     NVSG_TRACE();
00547     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00548
00549     m_cameraAnimations.clear();
00550   }
00551
00552   inline const NodeSharedPtr & Scene::getRootNode() const
00553   {
00554     NVSG_TRACE();
00555     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00556     return( m_root );
00557   }
00558
00559   inline bool Scene::containsLight() const
00560   {
00561     NVSG_TRACE();
00562     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00563     return( isPtrTo<Group>(m_root)                     // Implicit check on root node
00564             ? GroupReadLock(nvutil::sharedPtr_cast<Group>(m_root))->containsLight()
00565             : false );
00566   }
00567
00568   inline bool Scene::containsTransparency() const
00569   {
00570     NVSG_TRACE();
00571     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00572     if(m_root)                                              // First check if root node is valid before requesting read access!
00573     {
00574       NodeReadLock root(m_root);
00575       return( root->containsTransparency() );
00576     }
00577     return false;
00578   }
00579
00580   inline bool Scene::containsAnimation() const
00581   {
00582     NVSG_TRACE();
00583     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00584     if(m_root)                                            // First check if root node is valid before requesting read access!
00585     {
00586       return( !m_cameraAnimations.empty() || NodeReadLock(m_root)->containsAnimation() );
00587     }
00588     return false;
00589   }
00590
00591   inline const nvmath::Vec3f& Scene::getAmbientColor() const
00592   {
00593     NVSG_TRACE();
00594     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00595     return( m_ambientColor );
00596   }
00597
00598   inline void Scene::setAmbientColor( const nvmath::Vec3f &color )
00599   {
00600     NVSG_TRACE();
00601     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00602     if ( color != m_ambientColor )
00603     {
00604       m_ambientColor = color;
00605       notify( PID_AmbientColor );
00606     }
00607   }
00608
00609   inline const nvmath::Vec4f& Scene::getBackColor() const
00610   {
00611     NVSG_TRACE();
00612     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00613     return( m_backColor );
00614   }
00615
00616   inline void Scene::setBackColor( const nvmath::Vec4f &color )
00617   {
00618     NVSG_TRACE();
00619     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00620     if ( color != m_backColor )
00621     {
00622       m_backColor = color;
00623       notify( PID_BackColor );
00624     }
00625   }
00626
00627   inline const nvsg::TextureHostSharedPtr & Scene::getBackImage() const
00628   {
00629     NVSG_TRACE();
00630     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00631     return(m_backImage);
00632   }
00633
00634   inline unsigned int Scene::getNumberOfAttributes() const
00635   {
00636     NVSG_TRACE();
00637     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00638
00639     return checked_cast<unsigned int>(m_attributes.size());
00640   }
00641
00642   inline Scene::AttributeConstIterator Scene::beginAttributes() const
00643   {
00644     NVSG_TRACE();
00645     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00646     return( AttributeConstIterator( m_attributes.begin() ) );
00647   }
00648
00649   inline Scene::AttributeIterator Scene::beginAttributes()
00650   {
00651     NVSG_TRACE();
00652     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00653     return( AttributeIterator( m_attributes.begin() ) );
00654   }
00655
00656   inline Scene::AttributeConstIterator Scene::endAttributes() const
00657   {
00658     NVSG_TRACE();
00659     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00660     return( AttributeConstIterator( m_attributes.end() ) );
00661   }
00662
00663   inline Scene::AttributeIterator Scene::endAttributes()
00664   {
00665     NVSG_TRACE();
00666     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00667     return( AttributeIterator( m_attributes.end() ) );
00668   }
00669
00670   inline Scene::AttributeConstIterator Scene::findAttribute( const SceneAttributeSharedPtr & attribute ) const
00671   {
00672     NVSG_TRACE();
00673     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00674
00675     return( AttributeConstIterator( find( m_attributes.begin(), m_attributes.end(), attribute ) ) );
00676   }
00677
00678   inline Scene::AttributeIterator Scene::findAttribute( const SceneAttributeSharedPtr & attribute )
00679   {
00680     NVSG_TRACE();
00681     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00682
00683     return( AttributeIterator( find( m_attributes.begin(), m_attributes.end(), attribute ) ) );
00684   }
00685
00686   inline nvmath::Box3f Scene::calculateBoundingBox() const
00687   {
00688     NVSG_TRACE();
00689     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00690     return( m_root ? NodeReadLock( m_root )->getBoundingBox() : nvmath::Box3f() );
00691   }
00692
00693   inline nvmath::Sphere3f Scene::calculateBoundingSphere() const
00694   {
00695     NVSG_TRACE();
00696     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00697     return( m_root ? NodeReadLock( m_root )->getBoundingSphere() : nvmath::Sphere3f() );
00698   }
00699
00700 } //  namspace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: SceneAttribute.h File Reference

inc / nvsg / nvsg

SceneAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/Scene.h"

Include dependency graph for SceneAttribute.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:17 2012 for SceniX


SceniX: SceneAttribute.h Source File

inc / nvsg / nvsg

SceneAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/Scene.h"
00018
00019 namespace nvsg
00020 {
00026   class SceneAttribute : public OwnedObject<Scene>
00027   {
00028     public:
00030       NVSG_API virtual ~SceneAttribute( void );
00031
00032       REFLECTION_INFO_API( NVSG_API, SceneAttribute );
00033     protected:
00036       NVSG_API SceneAttribute( void );
00037
00042       NVSG_API SceneAttribute(const SceneAttribute& rhs);
00043
00049       NVSG_API SceneAttribute & operator=(const SceneAttribute & rhs);
00050   };
00051
00052 } //  namespace nvsg
00053
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: SceniXIterator.h File Reference

inc / nvsg / nvutil

SceniXIterator.h File Reference

#include <nvutil/Handle.h>

Include dependency graph for SceniXIterator.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:18 2012 for SceniX


SceniX: SceniXIterator.h Source File

inc / nvsg / nvutil

SceniXIterator.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <nvutil/Handle.h>
00016
00017 namespace nvutil
00018 {
00019
00028   template<typename FriendType, typename IteratorType>
00029   class SceniXIterator : public std::iterator<std::input_iterator_tag, typename IteratorType::value_type>
00030   {
00031 #if defined(LINUX)
00032     friend class nvutil::ObjectTraits<FriendType>::ObjectType;
00033 #else
00034     friend typename nvutil::ObjectTraits<FriendType>::ObjectType;
00035 #endif
00036
00037     public:
00038       /*  \brief Default constructor */
00039       SceniXIterator();
00040
00043       explicit SceniXIterator( const IteratorType & it );
00044
00047       const typename IteratorType::value_type & operator*() const;
00048
00051       const typename IteratorType::value_type * operator->() const;
00052
00056       bool operator==( const SceniXIterator & di ) const;
00057
00061       bool operator!=( const SceniXIterator & di ) const;
00062
00065       SceniXIterator & operator++();
00066
00069       SceniXIterator & operator--();
00070
00071     protected:
00072       IteratorType m_iter;
00073   };
00074
00075   template<typename FriendType, typename IteratorType>
00076   inline SceniXIterator<FriendType,IteratorType>::SceniXIterator()
00077   {
00078   }
00079
00080   template<typename FriendType, typename IteratorType>
00081   inline SceniXIterator<FriendType,IteratorType>::SceniXIterator( const IteratorType & ti )
00082     : m_iter( ti )
00083   {
00084   }
00085
00086   template<typename FriendType, typename IteratorType>
00087   inline const typename IteratorType::value_type & SceniXIterator<FriendType,IteratorType>::operator*() const
00088   {
00089     return( m_iter.operator*() );
00090   }
00091
00092   template<typename FriendType, typename IteratorType>
00093   inline const typename IteratorType::value_type * SceniXIterator<FriendType,IteratorType>::operator->() const
00094   {
00095     return( m_iter.operator->() );
00096   }
00097
00098   template<typename FriendType, typename IteratorType>
00099   inline bool SceniXIterator<FriendType,IteratorType>::operator==( const SceniXIterator & di ) const
00100   {
00101     return( m_iter == di.m_iter );
00102   }
00103
00104   template<typename FriendType, typename IteratorType>
00105   inline bool SceniXIterator<FriendType,IteratorType>::operator!=( const SceniXIterator & di ) const
00106   {
00107     return( m_iter != di.m_iter );
00108   }
00109
00110   template<typename FriendType, typename IteratorType>
00111   inline SceniXIterator<FriendType,IteratorType> & SceniXIterator<FriendType,IteratorType>::operator++()
00112   {
00113     ++m_iter;
00114     return( *this );
00115   }
00116
00117   template<typename FriendType, typename IteratorType>
00118   inline SceniXIterator<FriendType,IteratorType> & SceniXIterator<FriendType,IteratorType>::operator--()
00119   {
00120     --m_iter;
00121     return( *this );
00122   }
00123 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: SearchTraverser.h File Reference

inc / nvsg / nvtraverser

SearchTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for SearchTraverser.h:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:19 2012 for SceniX


SceniX: SearchTraverser.h Source File

inc / nvsg / nvtraverser

SearchTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvtraverser/Traverser.h"
00017
00018 namespace nvsg
00019 {
00020   class AnimationState;
00021   class IndependentPrimitiveSet;
00022   class MeshedPrimitiveSet;
00023   class Path;
00024   class StrippedPrimitiveSet;
00025   template<typename T> class Animation;
00026   template<typename T> class KeyFramedAnimationDescription;
00027 }
00028
00029 namespace nvtraverser
00030 {
00036   class SearchTraverser : public SharedTraverser
00037   {
00038     public:
00041       NVSG_API SearchTraverser();
00042
00049       NVSG_API const std::vector<const nvsg::Path*> & getPaths();
00050
00054       NVSG_API const std::vector<nvsg::ObjectWeakPtr> & getResults();
00055
00068       NVSG_API void setClassName( const std::string& name );
00069
00075       NVSG_API const std::string& getClassName() const;
00076
00086       NVSG_API void setObjectName(const std::string& objectName);
00087
00093       NVSG_API const std::string& getObjectName() const;
00094
00100       NVSG_API void setObjectPointer( const nvsg::ObjectWeakPtr & ptr );
00101
00105       NVSG_API nvsg::ObjectWeakPtr getObjectPointer() const;
00106
00113       NVSG_API void setBaseClassSearch( bool enable );
00114
00120       NVSG_API bool getBaseClassSearch() const ;
00121
00122       REFLECTION_INFO_API( NVSG_API, SearchTraverser );
00123       BEGIN_DECLARE_STATIC_PROPERTIES
00124           NVSG_API DECLARE_STATIC_PROPERTY( ClassName );
00125           NVSG_API DECLARE_STATIC_PROPERTY( ObjectName );
00126           NVSG_API DECLARE_STATIC_PROPERTY( BaseClassSearch );
00127       END_DECLARE_STATIC_PROPERTIES
00128     protected:
00130       NVSG_API virtual ~SearchTraverser(void);
00131
00133       NVSG_API virtual void  doApply( const nvsg::NodeSharedPtr & root );
00134
00137       NVSG_API void addItem( const nvsg::Object* obj );
00138
00140       NVSG_API virtual void handleBillboard(
00141         const nvsg::Billboard * p
00142         );
00143
00145       NVSG_API virtual void handleGeoNode(
00146         const nvsg::GeoNode * p
00147       );
00148
00150       NVSG_API virtual void handleGroup(
00151         const nvsg::Group * p
00152       );
00153
00155       NVSG_API virtual void handleFlipbookAnimation(
00156         const nvsg::FlipbookAnimation * p
00157         );
00158
00160       NVSG_API virtual void handleLOD(
00161         const nvsg::LOD * p
00162       );
00163
00165       NVSG_API virtual void handleSwitch(
00166         const nvsg::Switch * p
00167       );
00168
00170       NVSG_API virtual void handleTransform(
00171         const nvsg::Transform * p
00172       );
00173
00175       NVSG_API virtual void handleAnimatedTransform(
00176         const nvsg::AnimatedTransform * p
00177       );
00178
00180       NVSG_API virtual void handleDirectedLight(
00181         const nvsg::DirectedLight * p
00182       );
00183
00185       NVSG_API virtual void handlePointLight(
00186         const nvsg::PointLight * p
00187       );
00188
00190       NVSG_API virtual void handleSpotLight(
00191         const nvsg::SpotLight * p
00192       );
00193
00195       NVSG_API virtual void handleLines(
00196         const nvsg::Lines * p
00197         );
00198
00200       NVSG_API virtual void handleLineStrips(
00201         const nvsg::LineStrips * p
00202         );
00203
00205       NVSG_API virtual void handlePoints(
00206         const nvsg::Points * p
00207         );
00208
00210       NVSG_API virtual void handleQuadMeshes(
00211         const nvsg::QuadMeshes * p
00212         );
00213
00215       NVSG_API virtual void handleQuadPatches(
00216         const nvsg::QuadPatches * p
00217       );
00218
00220       NVSG_API virtual void handleQuadPatches4x4(
00221         const nvsg::QuadPatches4x4 * p
00222       );
00223
00225       NVSG_API virtual void handleQuads(
00226         const nvsg::Quads * p
00227       );
00228
00230       NVSG_API virtual void handleQuadStrips(
00231         const nvsg::QuadStrips * p
00232       );
00233
00235       NVSG_API virtual void handleRectPatches(
00236         const nvsg::RectPatches * p
00237       );
00238
00240       NVSG_API virtual void handleTriangles(
00241         const nvsg::Triangles * p
00242       );
00243
00245       NVSG_API virtual void handleTriFans(
00246         const nvsg::TriFans * p
00247       );
00248
00250       NVSG_API virtual void handleTriPatches(
00251         const nvsg::TriPatches * p
00252       );
00253
00255       NVSG_API virtual void handleTriPatches4(
00256         const nvsg::TriPatches4 * p
00257       );
00258
00260       NVSG_API virtual void handleTriStrips(
00261         const nvsg::TriStrips * p
00262       );
00263
00265       NVSG_API virtual void handlePrimitive(
00266         const nvsg::Primitive * p
00267       );
00268
00270       NVSG_API virtual void handleStateSet(
00271         const nvsg::StateSet * p
00272       );
00273
00275       NVSG_API virtual void handleStateVariant(
00276         const nvsg::StateVariant * p
00277         );
00278
00280       NVSG_API virtual void handleStatePass(
00281         const nvsg::StatePass * p
00282         );
00283
00285       NVSG_API virtual void handleBlendAttribute(
00286         const nvsg::BlendAttribute * p
00287         );
00288
00290       NVSG_API virtual void handleCgFx(
00291         const nvsg::CgFx * p
00292       );
00293
00295       NVSG_API virtual void handleRTFx(
00296         const nvsg::RTFx * p
00297       );
00298
00300       NVSG_API virtual void handleRTFxProgram(
00301         const nvsg::RTFxProgram * p
00302       );
00303
00305       NVSG_API virtual void handleRTBufferAttribute(
00306         const nvsg::RTBufferAttribute * p
00307       );
00308
00310       NVSG_API virtual void handleDepthAttribute(
00311         const nvsg::DepthAttribute * p
00312       );
00313
00315       NVSG_API virtual void handleStencilAttribute(
00316         const nvsg::StencilAttribute * p
00317       );
00318
00320       NVSG_API virtual void handleFaceAttribute(
00321         const nvsg::FaceAttribute * p
00322       );
00323
00325       NVSG_API virtual void handleLineAttribute(
00326         const nvsg::LineAttribute * p
00327         );
00328
00330       NVSG_API virtual void handleMaterial(
00331         const nvsg::Material * p
00332       );
00333
00335       NVSG_API virtual void handlePointAttribute(
00336         const nvsg::PointAttribute * p
00337         );
00338
00340       NVSG_API virtual void handleTextureAttribute(
00341         const nvsg::TextureAttribute * p
00342       );
00343
00345       NVSG_API virtual void handleUnlitColorAttribute(
00346         const nvsg::UnlitColorAttribute* p
00347       );
00348
00350       NVSG_API virtual void handleParallelCamera(
00351         const nvsg::ParallelCamera * p
00352       );
00353
00355       NVSG_API virtual void handlePerspectiveCamera(
00356         const nvsg::PerspectiveCamera * p
00357       );
00358
00360       NVSG_API virtual void handleMatrixCamera(
00361         const nvsg::MatrixCamera * p
00362       );
00363
00365       NVSG_API virtual void handleFramedIndexAnimationDescription(
00366         const nvsg::FramedAnimationDescription<unsigned int> * p
00367         );
00368
00370       NVSG_API virtual void handleFramedTrafoAnimationDescription(
00371         const nvsg::FramedAnimationDescription<nvmath::Trafo> * p
00372       );
00373
00375       NVSG_API virtual void handleFramedVertexAttributeAnimationDescription( const nvsg::FramedAnimationDescription<nvsg::VertexAttribute> * p );
00376
00378       NVSG_API virtual void handleLinearInterpolatedTrafoAnimationDescription(
00379         const nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> * p
00380       );
00381
00383       NVSG_API virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> * p );
00384
00386       NVSG_API virtual void handleVertexAttributeSet( const nvsg::VertexAttributeSet *vas );
00387
00389       NVSG_API virtual void handleAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet * avas );
00390
00392       NVSG_API virtual void handleSkin( const nvsg::Skin * skin );
00393
00395       NVSG_API virtual void handleShape( const nvsg::Shape * shape );
00396
00398       NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem * texAttribItem );
00399
00401       NVSG_API virtual void handleAlphaTestAttribute( const nvsg::AlphaTestAttribute * alphaTestAttrib );
00402
00404       NVSG_API virtual void handleLightingAttribute( const nvsg::LightingAttribute * laAttrib );
00405
00407       NVSG_API virtual void handleMapArray( const nvsg::MapArray * mapArray );
00408
00410       NVSG_API virtual void handleMapElement( const nvsg::MapElement * mapElement );
00411
00413       NVSG_API virtual void handleMapMatrix( const nvsg::MapMatrix * mapMatrix );
00414
00416       NVSG_API virtual void handleMapList( const nvsg::MapList * mapList );
00417
00419       NVSG_API virtual void handleIndexAnimation( const nvsg::Animation<unsigned int> * anim );
00420
00422       NVSG_API virtual void handleTrafoAnimation( const nvsg::Animation<nvmath::Trafo> * anim );
00423
00425       NVSG_API virtual void handleVertexAttributeAnimation( const nvsg::Animation<nvsg::VertexAttribute> * anim );
00426
00428
00429       NVSG_API virtual void search( const nvsg::Animation<nvmath::Trafo> *p
00430                                     );
00431
00435       NVSG_API virtual void search( const nvsg::Animation<unsigned int> *p );
00436
00438
00439       NVSG_API virtual void search( const nvsg::Animation<nvsg::VertexAttribute> *p );
00440
00444       NVSG_API virtual void search( const nvsg::AnimationState *p );
00445
00447
00448       NVSG_API virtual void search( const nvsg::Camera *p
00449                                   );
00450
00452
00453       NVSG_API virtual void search( const nvsg::Drawable *p
00454                                   );
00455
00457
00458       NVSG_API virtual void search( const nvsg::Group *p
00459                                   );
00460
00462
00463       NVSG_API virtual void search( const nvsg::IndependentPrimitiveSet * p
00464                                   );
00465
00467
00468       NVSG_API virtual void search( const nvsg::KeyFramedAnimationDescription<nvmath::Trafo> *p
00469                                   );
00470
00472
00473       NVSG_API virtual void search( const nvsg::KeyFramedAnimationDescription<nvsg::VertexAttribute> *p );
00474
00476
00477       NVSG_API virtual void search( const nvsg::LightSource *p
00478                                   );
00479
00481
00482       NVSG_API virtual void search( const nvsg::MeshedPrimitiveSet * p
00483         );
00484
00486
00487       NVSG_API virtual void search( const nvsg::Node *p
00488                                   );
00489
00491
00492       NVSG_API virtual void search( const nvsg::Object *p
00493                                   );
00494
00496
00497       NVSG_API virtual void search( const nvsg::PatchesBase *p
00498                                   );
00499
00501
00502       NVSG_API virtual void search( const nvsg::PrimitiveSet *p
00503                                   );
00504
00506
00507       NVSG_API virtual void search( const nvsg::StateAttribute *p
00508                                   );
00509
00511
00512       NVSG_API virtual void search( const nvsg::StrippedPrimitiveSet * p
00513                                   );
00514
00516
00517       NVSG_API virtual void search( const nvsg::Transform *p
00518                                   );
00519
00521
00522       NVSG_API virtual void search( const nvsg::Triangles *p
00523                                   );
00524
00526
00527       NVSG_API virtual void search( const nvsg::VertexAttributeSet * p );
00528
00530
00531       NVSG_API virtual void search( const nvsg::OwnedObject<nvsg::PrimitiveSet> * p );
00532
00533
00534     private:
00535       bool searchObject(const nvsg::Object* p, const std::string &classNameToHandle);
00536
00537       nvutil::SmartPtr<nvsg::Path>                  m_currentPath;
00538       std::string                                   m_className;
00539       std::set<const nvsg::Object *>                m_foundObjects;
00540       std::string                                   m_objectName;
00541       nvsg::ObjectWeakPtr                           m_objectPointer;
00542       std::vector<const nvsg::Path*>                m_paths;
00543       std::vector<nvsg::ObjectWeakPtr>              m_results;
00544       bool                                          m_searchBaseClass;
00545       std::vector<nvutil::SmartPtr<nvsg::Path> >    m_smartPaths;
00546   };
00547
00548   inline void SearchTraverser::setClassName( const std::string& name )
00549   {
00550     if ( m_className != name )
00551     {
00552       m_className = name;
00553       notify( PID_ClassName );
00554     }
00555   }
00556
00557   inline const std::string& SearchTraverser::getClassName( ) const
00558   {
00559     return m_className;
00560   }
00561
00562   inline void SearchTraverser::setObjectName(const std::string &objectName)
00563   {
00564     if ( m_objectName != objectName )
00565     {
00566       m_objectName = objectName;
00567       notify( PID_ObjectName );
00568     }
00569   }
00570
00571   inline const std::string& SearchTraverser::getObjectName() const
00572   {
00573     return m_objectName;
00574   }
00575
00576   inline void SearchTraverser::setObjectPointer( const nvsg::ObjectWeakPtr & ptr )
00577   {
00578     m_objectPointer = ptr;
00579   }
00580
00581   inline nvsg::ObjectWeakPtr SearchTraverser::getObjectPointer( ) const
00582   {
00583     return m_objectPointer;
00584   }
00585
00586   inline void SearchTraverser::setBaseClassSearch( bool enable )
00587   {
00588     if ( m_searchBaseClass != enable )
00589     {
00590       m_searchBaseClass = enable;
00591       notify( PID_BaseClassSearch );
00592     }
00593   }
00594
00595   inline bool SearchTraverser::getBaseClassSearch( ) const
00596   {
00597     return m_searchBaseClass;
00598   }
00599
00600 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Shape.h File Reference

inc / nvsg / nvsg

Shape.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Drawable.h"
#include "nvsg/Primitive.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Shape.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:19 2012 for SceniX


SceniX: Shape.h Source File

inc / nvsg / nvsg

Shape.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Drawable.h"
00017 #include "nvsg/Primitive.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00027   class Shape : public Drawable
00028   {
00029     public:
00031       typedef std::vector<PrimitiveSharedPtr>                                   PrimitiveContainer;
00032
00034       typedef nvutil::SceniXIterator<Shape,PrimitiveContainer::iterator>        PrimitiveIterator;
00035
00037       typedef nvutil::SceniXIterator<Shape,PrimitiveContainer::const_iterator>  PrimitiveConstIterator;
00038
00039     public:
00041       NVSG_API virtual ~Shape();
00042
00046       NVSG_API unsigned int getNumberOfPrimitives() const;
00047
00051       NVSG_API PrimitiveConstIterator beginPrimitives() const;
00052
00056       NVSG_API PrimitiveIterator beginPrimitives();
00057
00061       NVSG_API PrimitiveConstIterator endPrimitives() const;
00062
00066       NVSG_API PrimitiveIterator endPrimitives();
00067
00068       /*  \brief Find a specified Primitive in this Shape.
00069        *  \param primitive The Primitive to find.
00070        *  \return A const iterator to the found Primitive in this Shape.
00071        *  \sa getNumberOfPrimitives, beginPrimitives, endPrimitives, addPrimitive, removePrimitive, clearPrimitives */
00072       NVSG_API PrimitiveConstIterator findPrimitive( const PrimitiveSharedPtr & primitive ) const;
00073
00074       /*  \brief Find a specified Primitive in this Shape.
00075        *  \param primitive The Primitive to find.
00076        *  \return An iterator to the found Primitive in this Shape.
00077        *  \sa getNumberOfPrimitives, beginPrimitives, endPrimitives, addPrimitive, removePrimitive, clearPrimitives */
00078       NVSG_API PrimitiveIterator findPrimitive( const PrimitiveSharedPtr & primitive );
00079
00091       NVSG_API virtual bool isEquivalent( const Object * p
00092                                         , bool ignoreNames
00093                                         , bool deepCompare ) const;
00094
00095       REFLECTION_INFO_API( NVSG_API, Shape );
00096     protected:
00097
00098       NVSG_API virtual void setDrawCallback(DrawCallback * cb);
00099
00103       NVSG_API Shape();
00104
00109       NVSG_API Shape( const Shape& rhs );
00110
00115       NVSG_API PrimitiveIterator addPrimitive( const PrimitiveSharedPtr & primitive );
00116
00121       NVSG_API bool removePrimitive( const PrimitiveSharedPtr & primitive );
00122
00128       NVSG_API PrimitiveIterator removePrimitive( const PrimitiveIterator & spi );
00129
00132       NVSG_API void clearPrimitives();
00133
00134       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00135
00140       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00141
00148       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00149
00151       NVSG_API virtual bool calculateNormals(bool overwrite);
00152
00154       NVSG_API virtual void calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite);
00155
00157       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00158
00165       NVSG_API Shape & operator=(const Shape & rhs);
00166
00170       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00171
00172     private:
00173       NVSG_API PrimitiveContainer::iterator doRemovePrimitive( PrimitiveContainer::iterator pci );
00174
00175     private:
00176       PrimitiveContainer m_primitives;
00177   };
00178
00179   inline unsigned int Shape::getNumberOfPrimitives() const
00180   {
00181     NVSG_TRACE();
00182     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00183     return( checked_cast<unsigned int>(m_primitives.size()) );
00184   }
00185
00186   inline Shape::PrimitiveConstIterator Shape::beginPrimitives() const
00187   {
00188     NVSG_TRACE();
00189     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00190     return( PrimitiveConstIterator( m_primitives.begin() ) );
00191   }
00192
00193   inline Shape::PrimitiveIterator Shape::beginPrimitives()
00194   {
00195     NVSG_TRACE();
00196     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00197     return( PrimitiveIterator( m_primitives.begin() ) );
00198   }
00199
00200   inline Shape::PrimitiveConstIterator Shape::endPrimitives() const
00201   {
00202     NVSG_TRACE();
00203     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00204     return( PrimitiveConstIterator( m_primitives.end() ) );
00205   }
00206
00207   inline Shape::PrimitiveIterator Shape::endPrimitives()
00208   {
00209     NVSG_TRACE();
00210     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00211     return( PrimitiveIterator( m_primitives.end() ) );
00212   }
00213
00214   inline Shape::PrimitiveConstIterator Shape::findPrimitive( const PrimitiveSharedPtr & camera ) const
00215   {
00216     NVSG_TRACE();
00217     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00218
00219     return( PrimitiveConstIterator( find( m_primitives.begin(), m_primitives.end(), camera ) ) );
00220   }
00221
00222   inline Shape::PrimitiveIterator Shape::findPrimitive( const PrimitiveSharedPtr & camera )
00223   {
00224     NVSG_TRACE();
00225     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00226
00227     return( PrimitiveIterator( find( m_primitives.begin(), m_primitives.end(), camera ) ) );
00228   }
00229
00230   inline void Shape::setDrawCallback(DrawCallback * cb)
00231   {
00232     NVSG_ASSERT(!"Draw Callbacks are not supported by the shape class");
00233   }
00234
00235 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Singleton.h File Reference

inc / nvsg / nvutil

Singleton.h File Reference

#include "nvsg/nvsgapi.h"

Include dependency graph for Singleton.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:20 2012 for SceniX


SceniX: Singleton.h Source File

inc / nvsg / nvutil

Singleton.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 namespace nvutil {
00018
00020
00022 template <typename T>
00023 class Singleton
00024 {
00025 public:
00027
00029   static T* instance();
00030
00031 private:
00032   // not permitted
00033   // client must call Singleton<T>::instance() for instantiation
00034   Singleton() {}
00035   Singleton(const Singleton<T>&) {}
00036   ~Singleton() {}
00037   // also not permitted
00038   Singleton<T>& operator=(const Singleton<T>&) {}
00039
00040 private:
00041   static NVSG_API T m_instance;
00042 };
00043
00044 template <typename T>
00045 inline T* Singleton<T>::instance()
00046 {
00047   return &m_instance;
00048 };
00049
00050 } // namespace nvutil
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Skin.h File Reference

inc / nvsg / nvsg

Skin.h File Reference

#include "nvsg/OwnedObject.h"
#include "nvsg/VertexAttributeSet.h"
#include "nvmath/Matnnt.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Skin.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:21 2012 for SceniX


SceniX: Skin.h Source File

inc / nvsg / nvsg

Skin.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsg/OwnedObject.h"
00015 #include "nvsg/VertexAttributeSet.h"
00016 #include "nvmath/Matnnt.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00037   class Skin : public OwnedObject<Drawable>
00038   {
00039     friend class PrimitiveSet;
00040
00041     public:
00042       typedef enum
00043       {
00044         NVSG_SKIN_NONE,   // don't skin this VertexAttribute (for texture coordinates, for example)
00045         NVSG_SKIN_POINT,  // skin with the skinning matrices (like positions)
00046         NVSG_SKIN_VECTOR  // skin with the inverse transpose matrices (like normals) and normalize the resulting vector
00047       } SkinningType;
00048
00049     public:
00050       NVSG_API static SkinSharedPtr create();
00051
00052     public:
00056       NVSG_API Skin & operator=( const Skin & rhs );
00057
00066       NVSG_API virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00067
00071       NVSG_API void setBindPose( const VertexAttributeSetSharedPtr & bindPose );
00072
00076       NVSG_API const VertexAttributeSetSharedPtr & getBindPose() const;
00077
00086       NVSG_API Skin::SkinningType getSkinningType( unsigned int attrib ) const;
00087
00096       NVSG_API void setSkinningType( unsigned int attrib, SkinningType type );
00097
00111       NVSG_API void setInfluenceData( const float * weights
00112                                     , const unsigned int * indices
00113                                     , const unsigned int * counts
00114                                     , unsigned int numberOfInfluences );
00115
00125       NVSG_API void setInfluenceData( unsigned int pos
00126                                     , const float * weights
00127                                     , const unsigned int * indices
00128                                     , const unsigned int * counts
00129                                     , unsigned int numberOfInfluences );
00130
00135       NVSG_API const float * getWeights() const;
00136
00141       NVSG_API const unsigned int * getIndices() const;
00142
00147       NVSG_API const unsigned int * getCounts() const;
00148
00154       NVSG_API const unsigned int * getOffsets() const;
00155
00161       NVSG_API unsigned int getNumberOfInfluences() const;
00162
00167       NVSG_API unsigned int getTotalNumberOfIndices() const;
00168
00174       NVSG_API const nvmath::Mat44f & getBindShapeMatrix() const;
00175
00181       NVSG_API void setBindShapeMatrix( const nvmath::Mat44f & matrix );
00182
00186       NVSG_API unsigned int getNumberOfJoints() const;
00187
00199       NVSG_API unsigned int addJoint( const TransformSharedPtr & joint, const nvmath::Mat44f & inverseBindMatrix, unsigned int position = ~0 );
00200
00207       NVSG_API const TransformSharedPtr & getJoint( unsigned int position ) const;
00208
00215       NVSG_API const nvmath::Mat44f & getInverseBindMatrix( unsigned int position ) const;
00216
00225       NVSG_API void removeJoint( unsigned int position );
00226
00227       REFLECTION_INFO_API( NVSG_API, Skin );
00228     protected:
00229       friend struct nvutil::Holder<Skin>;
00230
00233       NVSG_API Skin();
00234
00238       NVSG_API Skin( const Skin & rhs );
00239
00241       NVSG_API virtual ~Skin();
00242
00246       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00247     private:
00248       nvsg::VertexAttributeSetSharedPtr m_bindPose;
00249       nvmath::Mat44f                    m_bindShapeMatrix;
00250       std::vector<unsigned int>         m_counts;
00251       std::vector<unsigned int>         m_indices;
00252       std::vector<nvmath::Mat44f>       m_inverseBindMatrices;
00253       std::vector<TransformSharedPtr>   m_joints;
00254       SkinningType                      m_skinningType[VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT];
00255       std::vector<float>                m_weights;
00256       std::vector<unsigned int>         m_offsets;
00257   };
00258
00259   inline const nvsg::VertexAttributeSetSharedPtr & Skin::getBindPose() const
00260   {
00261     NVSG_TRACE();
00262     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00263     return( m_bindPose );
00264   }
00265
00266   inline Skin::SkinningType Skin::getSkinningType( unsigned int attrib ) const
00267   {
00268     NVSG_TRACE();
00269     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00270     NVSG_ASSERT( attrib < VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT );
00271     return( m_skinningType[attrib] );
00272   }
00273
00274   inline const float * Skin::getWeights() const
00275   {
00276     NVSG_TRACE();
00277     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00278     return( &m_weights[0] );
00279   }
00280
00281   inline const unsigned int * Skin::getIndices() const
00282   {
00283     NVSG_TRACE();
00284     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00285     return( &m_indices[0] );
00286   }
00287
00288   inline const unsigned int * Skin::getCounts() const
00289   {
00290     NVSG_TRACE();
00291     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00292     return( &m_counts[0] );
00293   }
00294
00295   inline const unsigned int * Skin::getOffsets() const
00296   {
00297     NVSG_TRACE();
00298     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00299     return( &m_offsets[0] );
00300   }
00301
00302   inline unsigned int Skin::getNumberOfInfluences() const
00303   {
00304     NVSG_TRACE();
00305     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00306     return( checked_cast<unsigned int>(m_counts.size()) );
00307   }
00308
00309   inline unsigned int Skin::getTotalNumberOfIndices() const
00310   {
00311     NVSG_TRACE();
00312     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00313     return( checked_cast<unsigned int>(m_indices.size()) );
00314   }
00315
00316   inline const nvmath::Mat44f & Skin::getBindShapeMatrix() const
00317   {
00318     NVSG_TRACE();
00319     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00320     return( m_bindShapeMatrix );
00321   }
00322
00323   inline void Skin::setBindShapeMatrix( const nvmath::Mat44f & matrix )
00324   {
00325     NVSG_TRACE();
00326     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00327     if ( matrix != m_bindShapeMatrix )
00328     {
00329       m_bindShapeMatrix = matrix;
00330       notifyChange( this );
00331     }
00332   }
00333
00334   inline unsigned int Skin::getNumberOfJoints() const
00335   {
00336     NVSG_TRACE();
00337     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00338     return( checked_cast<unsigned int>(m_joints.size()) );
00339   }
00340
00341   inline const TransformSharedPtr & Skin::getJoint( unsigned int position ) const
00342   {
00343     NVSG_TRACE();
00344     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00345     NVSG_ASSERT( position < m_joints.size() );
00346     return( m_joints[position] );
00347   }
00348
00349   inline const nvmath::Mat44f & Skin::getInverseBindMatrix( unsigned int position ) const
00350   {
00351     NVSG_TRACE();
00352     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00353     NVSG_ASSERT( position < m_inverseBindMatrices.size() );
00354     return( m_inverseBindMatrices[position] );
00355   }
00356
00357 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: SmartPtr.h File Reference

inc / nvsg / nvutil

SmartPtr.h File Reference

#include "nvutil/RCObject.h"

Include dependency graph for SmartPtr.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Functions

template<typename T>
bool | operator== (const T *lhs, SmartPtr< T > &rhs)
Compare a pointer with a SmartPtr of the same type.
template<typename T>
bool | operator!= (const T *lhs, SmartPtr< T > &rhs)
Compare a pointer with a SmartPtr of the same type.
template<typename T, typename U>
bool | isSmartPtrOf (const SmartPtr< U > &p)
Check if a SmartPtr of type U also is a SmartPtr of type T.
template<typename T, typename U>
const SmartPtr< T > & | smart_cast (const SmartPtr< U > &rhs)
Cast a const SmartPtr of type U to a const SmartPtr of type T.
template<typename T, typename U>
SmartPtr< T > & | smart_cast (SmartPtr< U > &rhs)
Cast a SmartPtr of type U to a SmartPtr of type T.
template<typename T>
void | cloneIfShared (SmartPtr< T > &sp)
Helper function to clone a SmartPtr if it is shared.

Detailed Description

Function Documentation

bool operator== | ( | const T * | lhs,
 |  | SmartPtr< T > & | rhs
 | ) |

Compare a pointer with a SmartPtr of the same type.

Parameters:
lhs | A pointer.
rhs | A SmartPtr of the same type as lhs.
Returns:
true, if lhs is the same pointer as the one managed by rhs, otherwise false.

bool operator!= | ( | const T * | lhs,
 |  | SmartPtr< T > & | rhs
 | ) |

Compare a pointer with a SmartPtr of the same type.

Parameters:
lhs | A pointer.
rhs | A SmartPtr of the same type as lhs.
Returns:
true, if lhs is the a different pointer as the one managed by rhs, otherwise false.

bool isSmartPtrOf ( const SmartPtr< U > & p ) [inline]

Check if a SmartPtr of type U also is a SmartPtr of type T.

Parameters:
p The SmartPtr to check.
Returns:
true, if the pointer managed by p can be dynamically casted to a pointer to a T, otherwise false.

const SmartPtr<T>& smart_cast ( const SmartPtr< U > & rhs ) [inline]

Cast a const SmartPtr of type U to a const SmartPtr of type T.

Parameters:
rhs The const SmartPtr to cast.
Returns:
rhs reinterpreted as a const SmartPtr of type T.
Note:
In debug mode, it is asserted that rhs in fact is a const SmartPtr of type T.

SmartPtr<T>& smart_cast ( SmartPtr< U > & rhs ) [inline]

Cast a SmartPtr of type U to a SmartPtr of type T.

Parameters:
rhs The SmartPtr to cast.
Returns:
rhs reinterpreted as a SmartPtr of type T.
Note:
In debug mode, it is asserted that rhs in fact is a SmartPtr of type T.

void cloneIfShared ( SmartPtr< T > & sp ) [inline]

Helper function to clone a SmartPtr if it is shared.

Parameters:
sp The SmartPtr to clone, if it is shared.
Remarks:
If sp is shared, it is cloned and sp then points to the newly cloned object. Otherwise sp isn't changed.

Generated on Fri Jul 13 13:28:22 2012 for SceniX


SceniX: SmartPtr.h Source File

inc / nvsg / nvutil

SmartPtr.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvutil/RCObject.h"
00016
00017
00018 namespace nvutil
00019 {
00022   template <typename RCType>
00023   class SmartPtr
00024   {
00025     // Types used to implement the safe_bool idiom.
00026     struct _Hidden_type { _Hidden_type* _M_bool; };
00027     typedef _Hidden_type* _Hidden_type::* _Safe_bool;
00028
00029     typedef RCType* pointer;
00030   public:
00033     SmartPtr(RCType * ptr = NULL) : m_ptr(ptr) { check_ref(); }
00034
00037     template <typename RCTypeDerived>
00038     SmartPtr(RCTypeDerived *ptr)
00039       : m_ptr(ptr)
00040     {
00041       check_ref();
00042     }
00043
00048     SmartPtr(const SmartPtr& rhs) : m_ptr(rhs.m_ptr) { check_ref(); }
00049
00055     SmartPtr& operator=(const SmartPtr& rhs)
00056     {
00057       // catch attempts of self assignment
00058       if ( *this != rhs ) {
00059         check_unref();
00060         m_ptr = rhs.get();
00061         check_ref();
00062       }
00063       return *this;
00064     }
00065
00073     template <typename RCTypeBase>
00074     SmartPtr& operator=(const SmartPtr<RCTypeBase>& rhs)
00075     {
00076       NVSG_ASSERT( !rhs.get() || dynamic_cast<RCType*>(rhs.get()) );
00077       // catch attempts of self assignment
00078       if ( *this != rhs ) {
00079         check_unref();
00080         m_ptr = dynamic_cast<RCType*>(rhs.get());
00081         check_ref();
00082       }
00083       return *this;
00084     }
00085
00088     template <typename RCTypeBase> operator SmartPtr<RCTypeBase>() const { return SmartPtr<RCTypeBase>(m_ptr); }
00089
00092     ~SmartPtr() { check_unref(); }
00093
00097     RCType * operator->() const { NVSG_ASSERT(m_ptr); return m_ptr; }
00098
00101     RCType& operator*() const { NVSG_ASSERT(m_ptr); return *m_ptr; }
00102
00106     RCType * get() const { return m_ptr; }
00107
00109     void reset() { check_unref(); m_ptr = nullptr; }
00110
00114     template <typename RCTypeBase>
00115     bool operator==(const SmartPtr<RCTypeBase>& rhs) const
00116     {
00117       return( m_ptr==rhs.get() );
00118     }
00119
00123     template <typename RCTypeBase>
00124     bool operator!=(const SmartPtr<RCTypeBase>& rhs) const
00125     {
00126       return( m_ptr!=rhs.get() );
00127     }
00128
00133     template <typename RCTypeBase>
00134     bool operator<(const SmartPtr<RCTypeBase>& rhs) const
00135     {
00136       return( m_ptr<rhs.get() );
00137     }
00138
00142     bool operator==(const RCType * rhs)  const { return m_ptr==rhs; }
00143
00147     bool operator!=(const RCType * rhs)  const { return m_ptr!=rhs; }
00148
00151     operator _Safe_bool() const { return (nullptr == m_ptr ? 0 : &_Hidden_type::_M_bool); }
00152
00153   private:
00154     void check_ref() { if ( m_ptr ) { m_ptr->addRef(); } }
00155     void check_unref() { if ( m_ptr)  { m_ptr->removeRef(); } }
00156     RCType * m_ptr;
00157   };
00158
00163   template <typename T>
00164   bool operator==( const T * lhs, SmartPtr<T> & rhs )
00165   {
00166     return( rhs == lhs );
00167   }
00168
00173   template <typename T>
00174   bool operator!=( const T * lhs, SmartPtr<T> & rhs )
00175   {
00176     return( rhs != lhs );
00177   }
00178
00183   template<typename T, typename U>
00184   inline bool isSmartPtrOf( const SmartPtr<U> &p )
00185   {
00186     return( dynamic_cast<T *>(p.get()) != nullptr );
00187   }
00188
00193   template<typename T, typename U>
00194   inline const SmartPtr<T> & smart_cast( const SmartPtr<U> & rhs )
00195   {
00196     NVSG_ASSERT( !rhs || isSmartPtrOf<T>(rhs) );
00197     return( *reinterpret_cast<const SmartPtr<T>*>(&rhs) );
00198   }
00199
00204   template<typename T, typename U>
00205   inline SmartPtr<T> & smart_cast( SmartPtr<U> & rhs )
00206   {
00207     NVSG_ASSERT( !rhs || isSmartPtrOf<T>(rhs) );
00208     return( *reinterpret_cast<SmartPtr<T>*>(&rhs) );
00209   }
00210
00215   template <typename T>
00216   inline void cloneIfShared( SmartPtr<T> & sp )
00217   {
00218     if ( sp->isShared() )
00219     {
00220       sp = new T(*sp.get());
00221     }
00222   }
00223
00224 }
00225
00226
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: SmoothTraverser.h File Reference

inc / nvsg / nvtraverser

SmoothTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for SmoothTraverser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:23 2012 for SceniX


SceniX: SmoothTraverser.h Source File

inc / nvsg / nvtraverser

SmoothTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvtraverser/Traverser.h"
00017
00018 namespace nvsg
00019 {
00020   class IndependentPrimitiveSet;
00021 }
00022
00023 namespace nvtraverser
00024 {
00025   class DestrippingTraverser;
00026
00028
00030   class SmoothTraverser : public ExclusiveTraverser
00031   {
00032     public:
00034       NVSG_API SmoothTraverser(void);
00035
00037       NVSG_API void  setCreaseAngle( float creaseAngle );
00038
00040       NVSG_API float getCreaseAngle( ) const;
00041
00042       REFLECTION_INFO_API( NVSG_API, SmoothTraverser );
00043       BEGIN_REFLECT_STATIC_PROPERTIES( SmoothTraverser )
00044         ADD_PROPERTY_RW(CreaseAngle, float, SEMANTIC_VALUE, value, value );
00045       END_REFLECT_STATIC_PROPERTIES()
00046
00047     protected:
00049       NVSG_API virtual ~SmoothTraverser(void);
00050
00052       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00053
00055
00056       NVSG_API virtual void  handleGeoNode( nvsg::GeoNode *p
00057                                           );
00058
00060       NVSG_API virtual void  handleQuadPatches( nvsg::QuadPatches *p
00061                                         );
00062
00064       NVSG_API virtual void  handleQuadPatches4x4( nvsg::QuadPatches4x4 *p
00065                                         );
00066
00068       NVSG_API virtual void  handleQuads( nvsg::Quads *p
00069                                         );
00070
00072       NVSG_API virtual void  handleRectPatches( nvsg::RectPatches *p
00073                                         );
00074
00076       NVSG_API virtual void  handleTriangles( nvsg::Triangles *p
00077                                             );
00078
00080       NVSG_API virtual void  handleTriPatches( nvsg::TriPatches *p
00081                                         );
00082
00084       NVSG_API virtual void  handleTriPatches4( nvsg::TriPatches4 *p
00085                                         );
00086
00088       NVSG_API virtual void  handlePrimitive( nvsg::Primitive *p
00089                                         );
00090
00091 #if !defined(NDEBUG)
00092
00093
00094       NVSG_API virtual void  handleQuadStrips( nvsg::QuadStrips *p
00095                                              );
00096
00098
00099       NVSG_API virtual void  handleTriFans( nvsg::TriFans *p
00100                                           );
00101
00103
00104       NVSG_API virtual void  handleTriStrips( nvsg::TriStrips *p
00105                                             );
00106 #endif
00107
00110       NVSG_API virtual bool optimizationAllowed( const nvsg::PrimitiveSet *p );
00111       NVSG_API virtual bool optimizationAllowed( const nvsg::Primitive *p );
00112
00113     private:
00114       void flattenIndependentPrimitiveSet( nvsg::IndependentPrimitiveSet *p );
00115       void flattenPrimitive( nvsg::Primitive *p );
00116
00117     private:
00118       float                                     m_creaseAngle;
00119       nvutil::SmartPtr<DestrippingTraverser>    m_destrippingTraverser;
00120       std::vector<nvsg::PrimitiveSetSharedPtr>  m_primitiveSets;
00121       std::vector<nvsg::PrimitiveSharedPtr>     m_primitives;
00122   };
00123 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Spherent.h File Reference

inc / nvsg / nvmath

Spherent.h File Reference

#include "Vecnt.h"

Include dependency graph for Spherent.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Typedefs

typedef Spherent< 3, float > | Sphere3f
typedef Spherent< 3, double > | Sphere3d

Functions

template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Vecnt< n, T > *points, unsigned int numberOfPoints)
Determine the bounding sphere of a number of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Spherent< n, T > | boundingSphere (RandomAccessIterator points, unsigned int numberOfPoints)
Determine the bounding sphere of a number of points.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Vecnt< n, T > *points, const unsigned int *indices, unsigned int numberOfIndices)
Determine the bounding sphere of a number of indexed points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Spherent< n, T > | boundingSphere (RandomAccessIterator points, const unsigned int *indices, unsigned int numberOfIndices)
Determine the bounding sphere of a number of indexed points.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Vecnt< n, T > *points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Determine the bounding sphere of a number of strip-indexed points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Spherent< n, T > | boundingSphere (RandomAccessIterator points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Determine the bounding sphere of a number of strip-indexed points.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Spherent< n, T > &s, const Vecnt< n, T > &p)
Determine the bounding sphere of a sphere and a point.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Determine the bounding sphere around two spheres.
template<unsigned int n, typename T>
Spherent< n, T > | intersectingSphere (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Determine the bounding sphere of the intersection of two spheres.
template<unsigned int n, typename T>
bool | isValid (const Spherent< n, T > &s)
Determine if a sphere is valid.
template<unsigned int n, typename T>
bool | isPositive (const Spherent< n, T > &s)
Determine if a sphere is positive.
template<unsigned int n, typename T>
bool | operator== (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Test for equality of two spheres.
template<unsigned int n, typename T>
bool | operator!= (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Test for inequality of two spheres.

Detailed Description

Function Documentation

Spherent< n, T > boundingSphere | ( | const Vecnt< n, T > * | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Determine the bounding sphere of a number of points.

Parameters:
points | A pointer to the points to include.
numberOfPoints | The number of points used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | RandomAccessIterator | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Determine the bounding sphere of a number of points.

Parameters:
points | A random access iterator to the points to use.
numberOfPoints | The number of points used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | const Vecnt< n, T > * | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) |

Determine the bounding sphere of a number of indexed points.

Parameters:
points | A pointer to the points to use.
indices | A pointer to the indices to use.
numberOfIndices | The number of indices used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | RandomAccessIterator | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) |

Determine the bounding sphere of a number of indexed points.

Parameters:
points | A random access iterator to the points to use.
indices | A pointer to the indices to use.
numberOfIndices | The number of indices used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | const Vecnt< n, T > * | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) |

Determine the bounding sphere of a number of strip-indexed points.

Parameters:
points | A pointer to the points to use.
strips | A pointer to the strips of indices used.
numberOfStrips | The number of strips used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | RandomAccessIterator | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) |

Determine the bounding sphere of a number of strip-indexed points.

Parameters:
points | A random access iterator to the points to use.
strips | A pointer to the strips of indices used.
numberOfStrips | The number of strips used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | const Spherent< n, T > & | s,
 |  | const Vecnt< n, T > & | p
 | ) |

Determine the bounding sphere of a sphere and a point.

Parameters:
s | A reference to the constant sphere to use.
p | A reference to the constant point to use.
Returns:
The bounding sphere around s and p.
Remarks:
If p is inside of s, a sphere of the same size and position as s is returned. Otherwise, the smallest sphere enclosing both s and p is returned.

Spherent< n, T > boundingSphere | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Determine the bounding sphere around two spheres.

Parameters:
s0 | A reference to the constant first sphere to enclose.
s1 | A reference to the constant second sphere to enclose.
Returns:
A bounding sphere around s0 and s1.
Remarks:
If the one sphere is completely contained in the other, a sphere equaling that other sphere is returned. Otherwise, the smallest sphere enclosing both s0 and s1 is returned.

Spherent< n, T > intersectingSphere | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Determine the bounding sphere of the intersection of two spheres.

Parameters:
s0 | A reference to the constant first sphere.
s1 | A reference to the constant second sphere.
Returns:
A sphere around the intersection of s0 and s1.

bool isValid ( const Spherent< n, T > & s ) [inline]

Determine if a sphere is valid.

Parameters:
s A reference to a constant sphere.
Returns:
true, if s is valid, otherwise false.
Remarks:
A sphere is considered to be valid, if it's radius is not negative.

bool isPositive ( const Spherent< n, T > & s ) [inline]

Determine if a sphere is positive.

Parameters:
s A reference to a constant sphere.
Returns:
true, if s is positive, otherwise false.
Remarks:
A sphere is considered to be positive, if it's radius is positive.

bool operator== | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Test for equality of two spheres.

Parameters:
s0 | A constant reference to the first sphere to test.
s1 | A constant reference to the second sphere to test.
Returns:
true, if the centers of the spheres are equal and the radii differ less than the type specific epsilon. Otherwise false.
See also:
operator!=()

bool operator!= | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Test for inequality of two spheres.

Parameters:
s0 | A constant reference to the first sphere to test.
s1 | A constant reference to the second sphere to test.
Returns:
true, if the centers of the spheres are different or the radii differ more than the type specific epsilon. Otherwise false.
See also:
operator==()

Generated on Fri Jul 13 13:28:23 2012 for SceniX


SceniX: Spherent.h Source File

inc / nvsg / nvmath

Spherent.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "Vecnt.h"
00016
00017 namespace nvmath
00018 {
00023   template<unsigned int n, typename T> class Spherent
00024   {
00025     public:
00029       Spherent();
00030
00034       Spherent( const Vecnt<n,T> &center, T radius );
00035
00036     public:
00040       const Vecnt<n,T> & getCenter() const;
00041
00046       T getRadius() const;
00047
00051       void invalidate();
00052
00058       T operator()( const Vecnt<n,T> &p ) const;
00059
00063       void setCenter( const Vecnt<n,T> &center );
00064
00068       void setRadius( T radius );
00069
00070     private:
00071       Vecnt<n,T>  m_center;
00072       T           m_radius;
00073   };
00074
00075   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00076   // non-member functions
00077   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00078
00084   template<unsigned int n, typename T>
00085     Spherent<n,T> boundingSphere( const Vecnt<n,T> * points, unsigned int numberOfPoints );
00086
00092   template<unsigned int n, typename T, typename RandomAccessIterator >
00093     Spherent<n,T> boundingSphere( RandomAccessIterator points, unsigned int numberOfPoints );
00094
00095 #if 0
00096
00101   template<unsigned int n, typename T, typename RandomAccessIterator, typename isetType >
00102     Spherent<n,T> boundingSphere( RandomAccessIterator points, const nvsg::IndexSetReadLock &iset );
00103 #endif
00104
00111   template<unsigned int n, typename T>
00112     Spherent<n,T> boundingSphere( const Vecnt<n,T> * points, const unsigned int * indices
00113                                 , unsigned int numberOfIndices );
00114
00121   template<unsigned int n, typename T, typename RandomAccessIterator>
00122   Spherent<n,T> boundingSphere( RandomAccessIterator points, const unsigned int * indices
00123                               , unsigned int numberOfIndices );
00124
00131   template<unsigned int n, typename T>
00132     Spherent<n,T> boundingSphere( const Vecnt<n,T> * points
00133                                 , const std::vector<unsigned int> * strips
00134                                 , unsigned int numberOfStrips );
00135
00142   template<unsigned int n, typename T, typename RandomAccessIterator>
00143   Spherent<n,T> boundingSphere( RandomAccessIterator points
00144                               , const std::vector<unsigned int> * strips
00145                               , unsigned int numberOfStrips );
00146
00153   template<unsigned int n, typename T>
00154     Spherent<n,T> boundingSphere( const Spherent<n,T> & s, const Vecnt<n,T> & p );
00155
00162   template<unsigned int n, typename T>
00163     Spherent<n,T> boundingSphere( const Spherent<n,T> & s0, const Spherent<n,T> &s1 );
00164
00169   template<unsigned int n, typename T>
00170     Spherent<n,T> intersectingSphere( const Spherent<n,T> & s0, const Spherent<n,T> & s1 );
00171
00176   template<unsigned int n, typename T>
00177     bool isValid( const Spherent<n,T> & s );
00178
00183   template<unsigned int n, typename T>
00184     bool isPositive( const Spherent<n,T> & s );
00185
00192   template<unsigned int n, typename T>
00193     bool operator==( const Spherent<n,T> & s0, const Spherent<n,T> & s1 );
00194
00201   template<unsigned int n, typename T>
00202   bool operator!=( const Spherent<n,T> & s0, const Spherent<n,T> & s1 );
00203
00204   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00205   // Convenience type definitions
00206   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00207   typedef Spherent<3,float>   Sphere3f;
00208   typedef Spherent<3,double>  Sphere3d;
00209
00210   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00211   // inlined member functions
00212   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00213   template<unsigned int n, typename T>
00214   inline Spherent<n,T>::Spherent()
00215     : m_center(0.0f,0.0f,0.0f)
00216     , m_radius(-1.0f)
00217   {
00218   }
00219
00220   template<unsigned int n, typename T>
00221   inline Spherent<n,T>::Spherent( const Vecnt<n,T> &center, T radius )
00222     : m_center(center)
00223     , m_radius(radius)
00224   {
00225   }
00226
00227   template<unsigned int n, typename T>
00228   inline const Vecnt<n,T> & Spherent<n,T>::getCenter() const
00229   {
00230     return( m_center );
00231   }
00232
00233   template<unsigned int n, typename T>
00234   inline T Spherent<n,T>::getRadius() const
00235   {
00236     return( m_radius );
00237   }
00238
00239   template<unsigned int n, typename T>
00240   inline void Spherent<n,T>::invalidate()
00241   {
00242     m_radius = T(-1);
00243   }
00244
00245   template<unsigned int n, typename T>
00246   inline T Spherent<n,T>::operator()( const Vecnt<n,T> &p ) const
00247   {
00248     return( distance( m_center, p ) - m_radius );
00249   }
00250
00251   template<unsigned int n, typename T>
00252   inline void Spherent<n,T>::setCenter( const Vecnt<n,T> &center )
00253   {
00254     m_center = center;
00255   }
00256
00257   template<unsigned int n, typename T>
00258   inline void Spherent<n,T>::setRadius( T radius )
00259   {
00260     m_radius = radius;
00261   }
00262
00263   template<unsigned int n, typename T>
00264   inline Spherent<n,T> boundingSphere( const nvmath::Vecnt<n,T> *points, unsigned int numberOfPoints )
00265   {
00266     NVSG_ASSERT( points );
00267     //  determine the bounding box
00268     Vecnt<n,T> bbox[2];
00269     bbox[0] = points[0];
00270     bbox[1] = points[0];
00271     for ( unsigned int i=1 ; i<numberOfPoints ; i++ )
00272     {
00273       for ( unsigned int j=0 ; j<n ; j++ )
00274       {
00275         if ( points[i][j] < bbox[0][j] )
00276         {
00277           bbox[0][j] = points[i][j];
00278         }
00279         else if ( bbox[1][j] < points[i][j] )
00280         {
00281           bbox[1][j] = points[i][j];
00282         }
00283       }
00284     }
00285
00286     //  take the center of the bounding box as the center of the bounding sphere
00287     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00288
00289     //  and determine the minimal radius needed from that center points
00290     T minRadius(0);
00291     for ( unsigned int i=0 ; i<numberOfPoints ; i++ )
00292     {
00293       T d = lengthSquared( points[i] - center );
00294       if ( minRadius < d )
00295       {
00296         minRadius = d;
00297       }
00298     }
00299     return( Spherent<n,T>( center, sqrt( minRadius ) ) );
00300   }
00301
00302   template<unsigned int n, typename T, typename RandomAccessIterator >
00303   inline Spherent<n,T> boundingSphere( RandomAccessIterator points, unsigned int numberOfPoints )
00304   {
00305     //  determine the bounding box
00306     Vecnt<n,T> bbox[2];
00307     bbox[0] = points[0];
00308     bbox[1] = points[0];
00309     for ( unsigned int i=1 ; i<numberOfPoints ; i++ )
00310     {
00311       for ( unsigned int j=0 ; j<n ; j++ )
00312       {
00313         if ( points[i][j] < bbox[0][j] )
00314         {
00315           bbox[0][j] = points[i][j];
00316         }
00317         else if ( bbox[1][j] < points[i][j] )
00318         {
00319           bbox[1][j] = points[i][j];
00320         }
00321       }
00322     }
00323
00324     //  take the center of the bounding box as the center of the bounding sphere
00325     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00326
00327     //  and determine the minimal radius needed from that center points
00328     T minRadius(0);
00329     for ( unsigned int i=0 ; i<numberOfPoints ; i++ )
00330     {
00331       T d = lengthSquared( points[i] - center );
00332       if ( minRadius < d )
00333       {
00334         minRadius = d;
00335       }
00336     }
00337     return( Spherent<n,T>( center, sqrt( minRadius ) ) );
00338   }
00339
00340   template<unsigned int n, typename T>
00341   Spherent<n,T> boundingSphere( const Vecnt<n,T> * points, const unsigned int * indices
00342                               , unsigned int numberOfIndices )
00343   {
00344     NVSG_ASSERT( points && indices );
00345     //  determine the bounding box
00346     Vecnt<n,T> bbox[2];
00347     bbox[0] = points[indices[0]];
00348     bbox[1] = points[indices[0]];
00349     for ( unsigned int i=1 ; i<numberOfIndices ; i++ )
00350     {
00351       unsigned int idx = indices[i];
00352       for ( unsigned int j=0 ; j<n ; j++ )
00353       {
00354         if ( points[idx][j] < bbox[0][j] )
00355         {
00356           bbox[0][j] = points[idx][j];
00357         }
00358         else if ( bbox[1][j] < points[idx][j] )
00359         {
00360           bbox[1][j] = points[idx][j];
00361         }
00362       }
00363     }
00364
00365     //  take the center of the bounding box as the center of the bounding sphere
00366     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00367
00368     //  and determine the maximal radius needed from that center point
00369     T maxRadius(0);
00370     for ( unsigned int i=0 ; i<numberOfIndices ; i++ )
00371     {
00372       T d = lengthSquared( points[indices[i]] - center );
00373       if ( maxRadius < d )
00374       {
00375         maxRadius = d;
00376       }
00377     }
00378     return( Spherent<n,T>( center, sqrt( maxRadius ) ) );
00379   }
00380
00381   template<unsigned int n, typename T, typename RandomAccessIterator>
00382   Spherent<n,T> boundingSphere( RandomAccessIterator points, const unsigned int * indices
00383                               , unsigned int numberOfIndices )
00384   {
00385     NVSG_ASSERT( indices );
00386     //  determine the bounding box
00387     Vecnt<n,T> bbox[2];
00388     bbox[0] = points[indices[0]];
00389     bbox[1] = points[indices[0]];
00390     for ( unsigned int i=1 ; i<numberOfIndices ; i++ )
00391     {
00392       unsigned int idx = indices[i];
00393       for ( unsigned int j=0 ; j<n ; j++ )
00394       {
00395         if ( points[idx][j] < bbox[0][j] )
00396         {
00397           bbox[0][j] = points[idx][j];
00398         }
00399         else if ( bbox[1][j] < points[idx][j] )
00400         {
00401           bbox[1][j] = points[idx][j];
00402         }
00403       }
00404     }
00405
00406     //  take the center of the bounding box as the center of the bounding sphere
00407     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00408
00409     //  and determine the maximal radius needed from that center point
00410     T maxRadius(0);
00411     for ( unsigned int i=0 ; i<numberOfIndices ; i++ )
00412     {
00413       T d = lengthSquared( points[indices[i]] - center );
00414       if ( maxRadius < d )
00415       {
00416         maxRadius = d;
00417       }
00418     }
00419     return( Spherent<n,T>( center, sqrt( maxRadius ) ) );
00420   }
00421
00422 #if 0
00423   template<unsigned int n, typename T, typename RandomAccessIterator, typename isetType >
00424   inline Spherent<n,T> boundingSphere( RandomAccessIterator points, const nvsg::IndexSet * iset )
00425   {
00426     nvsg::Buffer::DataReadLock reader( iset->getBuffer() );
00427     const isetType * indices = reader.getPtr<isetType>();
00428     unsigned int prIdx = iset->getPrimitiveRestartIndex();
00429
00430     NVSG_ASSERT(iset->getNumberOfIndices()>1); // requires at least two points
00431
00432     //  determine the bounding box
00433     Vecnt<n,T> bbox[2];
00434     bbox[0] = points[indices[0]];
00435     bbox[1] = points[indices[0]];
00436
00437     for ( unsigned int i=1 ; i<iset->getNumberOfIndices() ; i++ )
00438     {
00439       unsigned int idx = indices[i];
00440       if( idx != prIdx )
00441       {
00442         for ( unsigned int j=0 ; j<n ; j++ )
00443         {
00444           if ( points[idx][j] < bbox[0][j] )
00445           {
00446             bbox[0][j] = points[idx][j];
00447           }
00448           else if ( bbox[1][j] < points[idx][j] )
00449           {
00450             bbox[1][j] = points[idx][j];
00451           }
00452         }
00453       }
00454     }
00455
00456     //  take the center of the bounding box as the center of the bounding sphere
00457     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00458
00459     //  and determine the maximal radius needed from that center point
00460     T maxRadius(0);
00461     for ( unsigned int i=0 ; i<iset->getNumberOfIndices() ; i++ )
00462     {
00463       // skip primitive restart index here too
00464       if( indices[i] != prIdx )
00465       {
00466         T d = lengthSquared( points[indices[i]] - center );
00467         if ( maxRadius < d )
00468         {
00469           maxRadius = d;
00470         }
00471       }
00472     }
00473     return( Spherent<n,T>( center, sqrt( maxRadius ) ) );
00474   }
00475 #endif
00476
00477   template<unsigned int n, typename T>
00478   Spherent<n,T> boundingSphere( const Vecnt<n,T> * points
00479                               , const std::vector<unsigned int> * strips
00480                               , unsigned int numberOfStrips )
00481   {
00482     NVSG_ASSERT( points && strips );
00483     //  determine the bounding box
00484     Vecnt<n,T> bbox[2];
00485     bbox[0] = points[strips[0][0]];
00486     bbox[1] = points[strips[0][0]];
00487     for ( unsigned int i=0 ; i<numberOfStrips ; i++ )
00488     {
00489       for ( size_t j=0 ; j<strips[i].size() ; j++ )
00490       {
00491         unsigned int idx = strips[i][j];
00492         for ( unsigned int k=0 ; k<n ; k++ )
00493         {
00494           if ( points[idx][k] < bbox[0][k] )
00495           {
00496             bbox[0][k] = points[idx][k];
00497           }
00498           else if ( bbox[1][k] < points[idx][k] )
00499           {
00500             bbox[1][k] = points[idx][k];
00501           }
00502         }
00503       }
00504     }
00505
00506     //  take the center of the bounding box as the center of the bounding sphere
00507     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00508
00509     //  and determine the minimal radius needed from that center points
00510     T minRadius = 0.0f;
00511     for ( unsigned int i=0 ; i<numberOfStrips ; i++ )
00512     {
00513       for ( size_t j=0 ; j<strips[i].size() ; j++ )
00514       {
00515         T d = lengthSquared( points[strips[i][j]] - center );
00516         if ( minRadius < d )
00517         {
00518           minRadius = d;
00519         }
00520       }
00521     }
00522     return( Spherent<n,T>( center, sqrt( minRadius ) ) );
00523   }
00524
00525   template<unsigned int n, typename T, typename RandomAccessIterator>
00526   Spherent<n,T> boundingSphere( RandomAccessIterator points
00527                               , const std::vector<unsigned int> * strips
00528                               , unsigned int numberOfStrips )
00529   {
00530     NVSG_ASSERT( strips );
00531     //  determine the bounding box
00532     Vecnt<n,T> bbox[2];
00533     bbox[0] = points[strips[0][0]];
00534     bbox[1] = points[strips[0][0]];
00535     for ( unsigned int i=0 ; i<numberOfStrips ; i++ )
00536     {
00537       for ( size_t j=0 ; j<strips[i].size() ; j++ )
00538       {
00539         unsigned int idx = strips[i][j];
00540         for ( unsigned int k=0 ; k<n ; k++ )
00541         {
00542           if ( points[idx][k] < bbox[0][k] )
00543           {
00544             bbox[0][k] = points[idx][k];
00545           }
00546           else if ( bbox[1][k] < points[idx][k] )
00547           {
00548             bbox[1][k] = points[idx][k];
00549           }
00550         }
00551       }
00552     }
00553
00554     //  take the center of the bounding box as the center of the bounding sphere
00555     Vecnt<n,T> center = T(0.5) * ( bbox[0] + bbox[1] );
00556
00557     //  and determine the minimal radius needed from that center points
00558     T minRadius = 0.0f;
00559     for ( unsigned int i=0 ; i<numberOfStrips ; i++ )
00560     {
00561       for ( size_t j=0 ; j<strips[i].size() ; j++ )
00562       {
00563         T d = lengthSquared( points[strips[i][j]] - center );
00564         if ( minRadius < d )
00565         {
00566           minRadius = d;
00567         }
00568       }
00569     }
00570     return( Spherent<n,T>( center, sqrt( minRadius ) ) );
00571   }
00572
00573   template<unsigned int n, typename T>
00574   Spherent<n,T> boundingSphere( const Spherent<n,T> & s, const Vecnt<n,T> & p )
00575   {
00576     Vecnt<n,T> center(s.getCenter());
00577     if ( !isValid( s ) )
00578     {
00579       return( Spherent<n,T>( p, T(0) ) );
00580     }
00581     else
00582     {
00583       T radius(s.getRadius());
00584       T dist = distance( center, p );
00585       if ( radius < dist )
00586       {
00587         //  the point is outside the sphere
00588         //  the new center is a weighted sum of the old and the point
00589         center = ( ( dist + radius ) * center + ( dist - radius ) * p ) / ( 2 * dist );
00590         //  and the new radius is half the sum of the distance and the radius
00591         radius = T(0.5) * ( radius + dist );
00592       }
00593       return( Spherent<n,T>( center, radius ) );
00594     }
00595   }
00596
00597   template<unsigned int n, typename T>
00598   Spherent<n,T> boundingSphere( const Spherent<n,T> & s0, const Spherent<n,T> & s1 )
00599   {
00600     NVSG_CTASSERT( !std::numeric_limits<T>::is_integer );
00601     Spherent<n,T> s;
00602     if ( !isValid( s0 ) )
00603     {
00604       s = s1;
00605     }
00606     else if ( !isValid( s1 ) )
00607     {
00608       s = s0;
00609     }
00610     else
00611     {
00612       T dist = distance( s0.getCenter(), s1.getCenter() );
00613       if ( dist + s1.getRadius() <= s0.getRadius() )
00614       {
00615         //  s1 is completely inside of s0, so return s0
00616         s = s0;
00617       }
00618       else if ( dist + s0.getRadius() <= s1.getRadius() )
00619       {
00620         //  s0 is completely inside of s1, so return s1
00621         s = s1;
00622       }
00623       else
00624       {
00625         //  the spheres don't include each other
00626         T maxRadius = std::max( s0.getRadius(), s1.getRadius() );
00627         if ( dist < std::numeric_limits<T>::epsilon() * maxRadius )
00628         {
00629           //  the centers are too close together to calculate the weighted sum, so just take the
00630           //  center of them (knowing, that the radii also have to be close together; see above)
00631           s.setCenter( T(0.5) * ( s0.getCenter() + s1.getCenter() ) );
00632           s.setRadius( T(0.5) * dist + maxRadius );
00633         }
00634         else
00635         {
00636           // The new center is a weighted sum of the two given.
00637           // The weights are calculated as follows, with c0, c1 the centers and r0, r1 the radii of the spheres:
00638           //  Vecnt<n,T> diff = c1 - c0               // vector from c0 to c1
00639           //  T dist = length( diff );                // distance between the centers
00640           //  Vecnt<n,T> A = c0 - r0 * diff / dist;   // let A be one point on the combined sphere, along the axis c0-c1, r0 to the "left" of c0
00641           //  Vecnt<n,T> B = c1 + r0 * diff / dist;   // let B be one point on the combined sphere, along the axis c0-c1, r1 to the "right" of c1
00642           //  Vecnt<n,T> C = 0.5 * ( A + B );         // C is the center of between points A and B, that is the center of the combined sphere
00643           //               = 0.5 * ( c0 - r0 * diff / dist + c1 + r1 * diff / dist );
00644           //               = 0.5 * ( c0 - r0 * ( c1 - c0 ) / dist + c1 + r1 * ( c1 - c0 ) / dist );
00645           //               = 0.5 * ( ( 1 + ro/dist - r1/dist ) * c0 + ( 1 + r1/dist - r0/dist ) * c1 );
00646           //               = ( ( dist + r0 - r1 ) / ( 2 * dist ) ) * c0 + ( ( dist + r1 - r0 ) / ( 2 * dist ) ) * c1;
00647           //               = w0 * c0 + w1* c1;
00648           //  Pay special attention to the braces around the difference of the radii!
00649           //  Those are needed in case the distance and the radii have substantially different ranges.
00650           T w0 = ( dist + ( s0.getRadius() - s1.getRadius() ) ) / ( 2 * dist );
00651           T w1 = ( dist + ( s1.getRadius() - s0.getRadius() ) ) / ( 2 * dist );
00652           s.setCenter( w0 * s0.getCenter() + w1 * s1.getCenter() );
00653           //  and the new radius is half the sum of the distance and the radii
00654           s.setRadius( T(0.5) * ( s0.getRadius() + dist + s1.getRadius() ) );
00655         }
00656       }
00657     }
00658     return( s );
00659   }
00660
00661   template<unsigned int n, typename T>
00662   Spherent<n,T> intersectingSphere( const Spherent<n,T> & s0, const Spherent<n,T> & s1 )
00663   {
00664     Vecnt<n,T> v = s1.getCenter() - s0.getCenter();
00665     T d = v.normalize();
00666     Spherent<n,T> s;   //  the default constructor of a Spherent<n,T> creates an empty sphere
00667     if ( d < ( s0.getRadius() + s1.getRadius() ) )
00668     {
00669       //  the spheres do intersect
00670       T ds = d * d;
00671       T r0s = square( s0.getRadius() );
00672       T r1s = square( s1.getRadius() );
00673       if ( ( ds + r0s ) <= r1s )
00674       {
00675         //  s0 is inside of s1 => intersection is s0
00676         s = s0;
00677       }
00678       else if ( ( ds + r1s ) <= r0s )
00679       {
00680         //  s1 is inside of s0 => intersection is s1
00681         s = s1;
00682       }
00683       else
00684       {
00685         //  nontrivial intersection here
00686         T e = ( ds + r0s - r1s ) / ( 2 * d );
00687         s.setRadius( sqrt( r0s - e*e ) );
00688         s.setCenter( s0.getCenter() + e * v );
00689       }
00690     }
00691     return( s );
00692   }
00693
00694   template<unsigned int n, typename T>
00695   inline bool isValid( const Spherent<n,T> & s )
00696   {
00697     return( 0 <= s.getRadius() );
00698   }
00699
00700   template<unsigned int n, typename T>
00701   inline bool isPositive( const Spherent<n,T> & s )
00702   {
00703     return( 0 < s.getRadius() );
00704   }
00705
00706   template<unsigned int n, typename T>
00707   bool operator==( const Spherent<n,T> & s0, const Spherent<n,T> & s1 )
00708   {
00709     return(   ( s0.getCenter() == s1.getCenter() )
00710           &&  abs( s0.getRadius() - s1.getRadius() ) < std::numeric_limits<T>::epsilon() );
00711   }
00712
00713   template<unsigned int n, typename T>
00714   bool operator!=( const Spherent<n,T> & s0, const Spherent<n,T> & s1 )
00715   {
00716     return( ! ( s0 == s1 ) );
00717   }
00718
00720 //  extern NVSG_API const Sphere3f cUnitSphere;
00721
00722 } // namespace nvmath
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: SpotLight.h File Reference

inc / nvsg / nvsg

SpotLight.h File Reference

#include "nvsgcommon.h"
#include "nvsg/LightSource.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for SpotLight.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:24 2012 for SceniX


SceniX: SpotLight.h Source File

inc / nvsg / nvsg

SpotLight.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/LightSource.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00041   class SpotLight : public LightSource
00042   {
00043     public:
00044       NVSG_API static SpotLightSharedPtr create();
00045
00046     public:
00047       NVSG_API virtual void syncEffectLight(CgFxEffect * fx, CgFxParameter fxLight, const nvmath::Mat44f& modelToWorld) const;
00048       NVSG_API virtual void syncMetaSLLightParameters(CgFxEffect * fx, unsigned int light, const nvmath::Mat44f& world, const nvmath::Mat44f& view) const;
00049
00054       NVSG_API const nvmath::Vec3f & getPosition() const;
00055
00060       NVSG_API void setPosition( const nvmath::Vec3f & position );
00061
00066       NVSG_API nvmath::Vec3f getDirection() const;
00067
00073       NVSG_API void setDirection( const nvmath::Vec3f & direction );
00074
00080       NVSG_API const nvmath::Quatf & getOrientation() const;
00081
00087       NVSG_API void setOrientation( const nvmath::Quatf & orientation );
00088
00095       NVSG_API bool isAttenuated() const;
00096
00107       NVSG_API void  getAttenuation( float &c
00108                                    , float &l
00109                                    , float &q ) const;
00110
00120       NVSG_API const nvmath::Vec3f& getAttenuation() const;
00121
00132       NVSG_API void setAttenuation( float c
00133                                   , float l
00134                                   , float q );
00135
00145       NVSG_API void setAttenuation( const nvmath::Vec3f &attenuation );
00146
00152       NVSG_API float getCutoffAngle() const;
00153
00159       NVSG_API void setCutoffAngle( float ca );
00160
00166       NVSG_API float getFalloffExponent() const;
00167
00173       NVSG_API void setFalloffExponent( float fe );
00174
00181       NVSG_API SpotLight & operator=(const SpotLight & rhs);
00182
00193       NVSG_API virtual bool isEquivalent( const Object * p
00194                                         , bool ignoreNames
00195                                         , bool deepCompare ) const;
00196
00197     protected:
00198       friend struct nvutil::Holder<SpotLight>;
00199
00202       NVSG_API SpotLight();
00203
00206       NVSG_API SpotLight( const SpotLight &rhs );
00207
00210       NVSG_API virtual ~SpotLight();
00211
00215       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00216
00217     public:
00218       // reflected properties
00219       REFLECTION_INFO_API( NVSG_API, SpotLight );
00220       BEGIN_DECLARE_STATIC_PROPERTIES
00221           NVSG_API DECLARE_STATIC_PROPERTY( Position );
00222           NVSG_API DECLARE_STATIC_PROPERTY( Attenuation );
00223           NVSG_API DECLARE_STATIC_PROPERTY( Direction );
00224           NVSG_API DECLARE_STATIC_PROPERTY( Orientation );
00225           NVSG_API DECLARE_STATIC_PROPERTY( CutoffAngle );
00226           NVSG_API DECLARE_STATIC_PROPERTY( FalloffExponent );
00227       END_DECLARE_STATIC_PROPERTIES
00228
00229     private:
00230       nvmath::Vec3f m_attenuation;
00231       float         m_cutoffAngle;
00232       float         m_falloffExponent;
00233   };
00234
00235   inline  const nvmath::Vec3f&  SpotLight::getAttenuation()  const
00236   {
00237     NVSG_TRACE();
00238     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00239     return m_attenuation;
00240   }
00241
00242   inline  void  SpotLight::getAttenuation( float &c, float &l, float &q )  const
00243   {
00244     NVSG_TRACE();
00245     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00246     c = m_attenuation[0];
00247     l = m_attenuation[1];
00248     q = m_attenuation[2];
00249   }
00250
00251   inline  float SpotLight::getCutoffAngle()  const
00252   {
00253     NVSG_TRACE();
00254     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00255     return( m_cutoffAngle );
00256   }
00257
00258   inline  float SpotLight::getFalloffExponent()  const
00259   {
00260     NVSG_TRACE();
00261     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00262     return( m_falloffExponent );
00263   }
00264
00265   inline  bool  SpotLight::isAttenuated()  const
00266   {
00267     NVSG_TRACE();
00268     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00269     return(   ( m_attenuation[0] != 1.0f )
00270           ||  ( m_attenuation[1] != 0.0f )
00271           ||  ( m_attenuation[2] != 0.0f )
00272           );
00273   }
00274
00275   inline  void  SpotLight::setAttenuation( float c, float l, float q )
00276   {
00277     NVSG_TRACE();
00278     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00279     if ( ( m_attenuation[0] != c ) || ( m_attenuation[1] != l ) || ( m_attenuation[2] != q ) )
00280     {
00281       m_attenuation[0] = c;
00282       m_attenuation[1] = l;
00283       m_attenuation[2] = q;
00284       notifyChange( this );
00285       notify( PID_Attenuation );
00286     }
00287   }
00288
00289   inline void SpotLight::setAttenuation( const nvmath::Vec3f & attenuation )
00290   {
00291     NVSG_TRACE();
00292     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00293     if ( m_attenuation != attenuation )
00294     {
00295       m_attenuation = attenuation;
00296       notifyChange( this );
00297       notify( PID_Attenuation );
00298     }
00299   }
00300
00301   inline  void  SpotLight::setCutoffAngle( float ca )
00302   {
00303     NVSG_TRACE();
00304     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00305     if ( m_cutoffAngle != ca )
00306     {
00307       m_cutoffAngle = ca;
00308       notifyChange( this );
00309       notify( PID_CutoffAngle );
00310     }
00311   }
00312
00313   inline  void  SpotLight::setFalloffExponent( float fe )
00314   {
00315     NVSG_TRACE();
00316     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00317     if ( m_falloffExponent != fe )
00318     {
00319       m_falloffExponent = fe;
00320       notifyChange( this );
00321       notify( PID_FalloffExponent );
00322     }
00323   }
00324
00325   inline nvmath::Vec3f SpotLight::getDirection() const
00326   {
00327     NVSG_TRACE();
00328     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00329     // exploit return value optimization by returning a constructor call
00330     return nvmath::Vec3f(nvmath::Vec3f (0.f, 0.f, -1.f) * getOrientation());
00331   }
00332
00333 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StateAttribute.h File Reference

inc / nvsg / nvsg

StateAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"

Include dependency graph for StateAttribute.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:24 2012 for SceniX


SceniX: StateAttribute.h Source File

inc / nvsg / nvsg

StateAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017
00018 namespace nvsg
00019 {
00025   class StateAttribute : public OwnedObject<StatePass>
00026   {
00027     public:
00029       NVSG_API virtual ~StateAttribute( void );
00030
00031       REFLECTION_INFO_API( NVSG_API, StateAttribute );
00032     protected:
00035       NVSG_API StateAttribute( void );
00036
00041       NVSG_API StateAttribute(const StateAttribute& rhs);
00042
00048       NVSG_API StateAttribute & operator=(const StateAttribute & rhs);
00049   };
00050
00051 } //  namespace nvsg
00052
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StatePass.h File Reference

inc / nvsg / nvsg

StatePass.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvutil/BitMask.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for StatePass.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:25 2012 for SceniX


SceniX: StatePass.h Source File

inc / nvsg / nvsg

StatePass.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h" // base class definition
00017 #include "nvutil/BitMask.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00027   class StatePass : public OwnedObject<StateVariant>
00028   {
00029     public:
00031       typedef nvutil::STLVector<StateAttributeSharedPtr>                            AttributeContainer;
00032
00034       typedef nvutil::SceniXIterator<StatePass,AttributeContainer::iterator>        AttributeIterator;
00035
00037       typedef nvutil::SceniXIterator<StatePass,AttributeContainer::const_iterator>  AttributeConstIterator;
00038
00039     public:
00040       NVSG_API static StatePassSharedPtr create();
00041
00042     friend class StateVariant;
00043
00044     public:
00048       NVSG_API unsigned int getNumberOfAttributes() const;
00049
00053       NVSG_API AttributeConstIterator beginAttributes() const;
00054
00058       NVSG_API AttributeIterator beginAttributes();
00059
00063       NVSG_API AttributeConstIterator endAttributes() const;
00064
00068       NVSG_API AttributeIterator endAttributes();
00069
00074       NVSG_API AttributeIterator addAttribute( const StateAttributeSharedPtr & attribute );
00075
00080       NVSG_API bool removeAttribute( const StateAttributeSharedPtr & attribute );
00081
00087       NVSG_API AttributeIterator removeAttribute( const AttributeIterator & sci );
00088
00094       NVSG_API AttributeIterator removeAttributeByObjectCode( unsigned int objectCode );
00095
00098       NVSG_API void clearAttributes();
00099
00100       /*  \brief Find a specified attribute in this StatePass.
00101        *  \param attribute The attribute to find.
00102        *  \return A const iterator to the found attribute in this StatePass.
00103        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00104       NVSG_API AttributeConstIterator findAttribute( const StateAttributeSharedPtr & attribute ) const;
00105
00106       /*  \brief Find a specified attribute in this StatePass.
00107        *  \param attribute The attribute to find.
00108        *  \return An iterator to the found attribute in this StatePass.
00109        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00110       NVSG_API AttributeIterator findAttribute( const StateAttributeSharedPtr & attribute );
00111
00112       /*  \brief Find an attribute by object code in this StatePass.
00113        *  \param code The object code of the attribute to find.
00114        *  \return A const iterator to the found attribute in this StatePass.
00115        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00116       NVSG_API AttributeConstIterator findAttribute( unsigned int code ) const;
00117
00118       /*  \brief Find an attribute by object code in this StatePass.
00119        *  \param code The object code of the attribute to find.
00120        *  \return An iterator to the found attribute in this StatePass.
00121        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00122       NVSG_API AttributeIterator findAttribute( unsigned int code );
00123
00124
00132       NVSG_API StatePass & operator=(const StatePass & rhs);
00133
00147       NVSG_API virtual bool isEquivalent( const Object * p
00148                                         , bool ignoreNames
00149                                         , bool deepCompare ) const;
00150
00151       REFLECTION_INFO_API( NVSG_API, StatePass );
00152     protected:
00153       friend struct nvutil::Holder<StatePass>;
00154
00157       NVSG_API StatePass();
00158
00160       NVSG_API StatePass( const StatePass& rhs );
00161
00163       NVSG_API virtual ~StatePass();
00164
00178       NVSG_API virtual unsigned int determineHintsContainment(unsigned int which) const;
00179
00180       NVSG_API virtual bool determineTransparencyContainment() const;
00181       NVSG_API virtual bool determineShaderContainment() const;
00182       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00183
00187       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00188
00189     private:
00190       AttributeContainer::iterator doRemoveAttribute( const AttributeContainer::iterator & aci );
00191       void invalidateCaches( const StateAttributeSharedPtr & attribute, bool insert );
00192
00193     private:
00194       AttributeContainer  m_attribs;
00195   };
00196
00197   inline unsigned int StatePass::getNumberOfAttributes() const
00198   {
00199     NVSG_TRACE();
00200     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00201     return( checked_cast<unsigned int>(m_attribs.size()) );
00202   }
00203
00204   inline StatePass::AttributeConstIterator StatePass::beginAttributes() const
00205   {
00206     NVSG_TRACE();
00207     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00208     return( AttributeConstIterator( m_attribs.begin() ) );
00209   }
00210
00211   inline StatePass::AttributeIterator StatePass::beginAttributes()
00212   {
00213     NVSG_TRACE();
00214     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00215     return( AttributeIterator( m_attribs.begin() ) );
00216   }
00217
00218   inline StatePass::AttributeConstIterator StatePass::endAttributes() const
00219   {
00220     NVSG_TRACE();
00221     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00222     return( AttributeConstIterator( m_attribs.end() ) );
00223   }
00224
00225   inline StatePass::AttributeIterator StatePass::endAttributes()
00226   {
00227     NVSG_TRACE();
00228     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00229     return( AttributeIterator( m_attribs.end() ) );
00230   }
00231
00232   inline StatePass::AttributeIterator StatePass::removeAttributeByObjectCode( unsigned int objectCode )
00233   {
00234     NVSG_TRACE();
00235     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00236     return( removeAttribute( findAttribute( objectCode ) ) );
00237   }
00238
00239   inline StatePass::AttributeConstIterator StatePass::findAttribute( const StateAttributeSharedPtr & attribute ) const
00240   {
00241     NVSG_TRACE();
00242     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00243
00244     return( AttributeConstIterator( find( m_attribs.begin(), m_attribs.end(), attribute ) ) );
00245   }
00246
00247   inline StatePass::AttributeIterator StatePass::findAttribute( const StateAttributeSharedPtr & attribute )
00248   {
00249     NVSG_TRACE();
00250     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00251
00252     return( AttributeIterator( find( m_attribs.begin(), m_attribs.end(), attribute ) ) );
00253   }
00254
00255 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StateSet.h File Reference

inc / nvsg / nvsg

StateSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/StateVariant.h"
#include "nvutil/BitMask.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for StateSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Typedefs

typedef std::map< std::pair<
nvsg::StateSetWeakPtr, nvsg::StateAttributeWeakPtr >,
nvsg::StateSetSharedPtr > 		StateSetReplacementMap
Typedef for a map from a StateSet and a StateAttribute to a StateSet.

Functions

StateSetSharedPtr | getReplacementStateSet (StateSetReplacementMap &replacementStateSets, const StateSetSharedPtr &sshIn, const StateAttributeSharedPtr &sahIn)
Get a StateSet, that references the same objects as a given StateSet and also holds a reference to the given StateAttribute.

Variables

typedef unsigned int | VariantKey
Key to a specific StateVariant.

Detailed Description

Typedef Documentation

typedef std::map<std::pair<nvsg::StateSetWeakPtr,nvsg::StateAttributeWeakPtr>,nvsg::StateSetSharedPtr> StateSetReplacementMap

Typedef for a map from a StateSet and a StateAttribute to a StateSet.

Function Documentation

StateSetSharedPtr getReplacementStateSet | ( | StateSetReplacementMap & | replacementStateSets,
 |  | const StateSetSharedPtr & | sshIn,
 |  | const StateAttributeSharedPtr & | sahIn
 | ) |

Get a StateSet, that references the same objects as a given StateSet and also holds a reference to the given StateAttribute.

Parameters:
replacementStateSets | A map from pairs of StateSet and StateAttribute to StateSets that holds results from previous replacement operations to reduce redundant object creation.
sshIn | The StateSet to get a replacement for.
sahIn | The StateAttribute to be part of the replacement StateSet.
Returns:
A StateSet that is exactly the same as sshIn, but also holds sahIn in every StatePass of the active StateVariant.
Remarks:
With this function, you get a StateSet, that is exactly the same as the StateSet sshIn, but also holds the StateAttribute sahIn in every StatePass of the active StateVariant. Everything not in the active StateVariant, as well as all StateAttributes are just referenced, while the active StateVariant and all its StatePasses are newly created.
As this might be a pretty complex operation, the newly created StateSet is stored in the StateSetReplacementMap replacementStateSets, using sshIn and sahIn as the key. If the same combination of StateSet and StateAttribute is used with this same map again, the already created StateSet from the map is returned.

Variable Documentation

class typedef unsigned int VariantKey

Key to a specific StateVariant.

Generated on Fri Jul 13 13:28:25 2012 for SceniX


SceniX: StateSet.h Source File

inc / nvsg / nvsg

StateSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/StateVariant.h"
00018 #include "nvutil/BitMask.h"
00019 #include "nvutil/HashGenerator.h"
00020
00021 namespace nvsg
00022 {
00023   class GeoNode;
00024
00025   typedef unsigned int VariantKey;
00026
00033   class StateSet : public OwnedObject<Node>
00034   {
00035     public:
00037       typedef nvutil::STLMap<VariantKey,StateVariantSharedPtr>                  VariantContainer;
00038
00040       typedef nvutil::SceniXIterator<StateSet,VariantContainer::iterator>       VariantIterator;
00041
00043       typedef nvutil::SceniXIterator<StateSet,VariantContainer::const_iterator> VariantConstIterator;
00044
00045     public:
00046       NVSG_API static StateSetSharedPtr create();
00047
00048     friend class Node;
00049
00050     public:
00051       static const VariantKey INVALID_VARIANT_KEY = 0xFFFFFFFF;
00052
00056       NVSG_API unsigned int getNumberOfVariants() const;
00057
00061       NVSG_API VariantConstIterator beginVariants() const;
00062
00066       NVSG_API VariantIterator beginVariants();
00067
00071       NVSG_API VariantConstIterator endVariants() const;
00072
00076       NVSG_API VariantIterator endVariants();
00077
00086       NVSG_API VariantIterator setVariant( VariantKey key, const StateVariantSharedPtr & variant );
00087
00092       NVSG_API bool removeVariant( VariantKey key );
00093
00099       NVSG_API VariantIterator removeVariant( const VariantIterator & svi );
00100
00103       NVSG_API void clearVariants();
00104
00105       /*  \brief Find a specified StateVariant in this StateSet.
00106        *  \param key The VariantKey to find.
00107        *  \return A const iterator to the found StateVariant in this StateSet.
00108        *  \sa getNumberOfVariants, beginVariants, endVariants, setVariant, removeVariant, clearVariants */
00109       NVSG_API VariantConstIterator findVariant( VariantKey key ) const;
00110
00111       /*  \brief Find a specified StateVariant in this StateSet.
00112        *  \param key The VariantKey to find.
00113        *  \return An iterator to the found StateVariant in this StateSet.
00114        *  \sa getNumberOfVariants, beginVariants, endVariants, setVariant, removeVariant, clearVariants */
00115       NVSG_API VariantIterator findVariant( VariantKey key );
00116
00123       NVSG_API VariantKey getActiveVariantKey() const;
00124
00130       NVSG_API void setActiveVariantKey( VariantKey key );
00131
00132
00136       NVSG_API unsigned int getNumberOfPasses() const;
00137
00142       NVSG_API StateVariant::PassConstIterator beginPasses() const;
00143
00148       NVSG_API StateVariant::PassIterator beginPasses();
00149
00154       NVSG_API StateVariant::PassConstIterator endPasses() const;
00155
00160       NVSG_API StateVariant::PassIterator endPasses();
00161
00168       NVSG_API StateVariant::PassIterator addPass( const StatePassSharedPtr & pass );
00169
00177       NVSG_API StateVariant::PassIterator insertPass( const StateVariant::PassIterator & spi
00178                                                     , const StatePassSharedPtr & pass );
00179
00185       NVSG_API bool removePass( const StatePassSharedPtr & pass );
00186
00194       NVSG_API StateVariant::PassIterator removePass( const StateVariant::PassIterator & spi );
00195
00202       NVSG_API bool replacePass( const StatePassSharedPtr & newPass, const StatePassSharedPtr & oldPass );
00203
00211       NVSG_API bool replacePass( const StatePassSharedPtr & newPass, StateVariant::PassIterator & oldSPI );
00212
00217       NVSG_API void clearPasses();
00218
00219       /*  \brief Find a specified pass in the active StateVariant of this StateSet.
00220        *  \param pass The pass to find.
00221        *  \return A const iterator to the found pass in the active StateVariant.
00222        *  \note The behaviour is undefined, if there is no active StateVariant.
00223        *  \sa getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, replacePass */
00224       NVSG_API StateVariant::PassConstIterator findPass( const StatePassSharedPtr & pass ) const;
00225
00226       /*  \brief Find a specified pass in the active StateVariant of this StateSet.
00227        *  \param pass The pass to find.
00228        *  \return An iterator to the found pass in the active StateVariant.
00229        *  \sa getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, replacePass */
00230       NVSG_API StateVariant::PassIterator findPass( const StatePassSharedPtr & pass );
00231
00232
00237       NVSG_API unsigned int getNumberOfPasses( const VariantConstIterator & svci ) const;
00238
00244       NVSG_API StateVariant::PassConstIterator beginPasses( const VariantConstIterator & svci ) const;
00245
00251       NVSG_API StateVariant::PassIterator beginPasses( const VariantIterator & svi );
00252
00258       NVSG_API StateVariant::PassConstIterator endPasses( const VariantConstIterator & svci ) const;
00259
00265       NVSG_API StateVariant::PassIterator endPasses( const VariantIterator & svi );
00266
00274       NVSG_API StateVariant::PassIterator addPass( const VariantIterator & svi, const StatePassSharedPtr & pass );
00275
00283       NVSG_API StateVariant::PassIterator insertPass( const VariantIterator & svi
00284                                                     , const StateVariant::PassIterator & spi
00285                                                     , const StatePassSharedPtr & pass );
00286
00293       NVSG_API bool removePass( const VariantIterator & svi, const StatePassSharedPtr & pass );
00294
00302       NVSG_API StateVariant::PassIterator removePass( const VariantIterator & svi, const StateVariant::PassIterator & spi );
00303
00311       NVSG_API bool replacePass( const VariantIterator & svi, const StatePassSharedPtr & newPass, const StatePassSharedPtr & oldPass );
00312
00320       NVSG_API bool replacePass( const VariantIterator & svi, const StatePassSharedPtr & newPass, StateVariant::PassIterator & oldSPI );
00321
00327       NVSG_API void clearPasses( const VariantIterator & svi );
00328
00329       /*  \brief Find a specified pass in the specified StateVariant of this StateSet.
00330        *  \param svci Const iterator to the StateVariant to work on.
00331        *  \param pass The pass to find.
00332        *  \return A const iterator to the found pass in the specified StateVariant.
00333        *  \note The behaviour is undefined, if \a scvi points past the end of the container of Passes.
00334        *  \sa getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, replacePass */
00335       NVSG_API StateVariant::PassConstIterator findPass( const VariantConstIterator & svci, const StatePassSharedPtr & pass ) const;
00336
00337       /*  \brief Find a specified pass in the specified StateVariant of this StateSet.
00338        *  \param svi Iterator to the StateVariant to work on.
00339        *  \param pass The pass to find.
00340        *  \return An iterator to the found pass in the specified StateVariant.
00341        *  \note The behaviour is undefined, if \a svi points past the end of the container of Passes.
00342        *  \sa getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, replacePass */
00343       NVSG_API StateVariant::PassIterator findPass( const VariantIterator & svi, const StatePassSharedPtr & pass );
00344
00345
00349       NVSG_API unsigned int getNumberOfAttributes() const;
00350
00355       NVSG_API StatePass::AttributeConstIterator beginAttributes() const;
00356
00361       NVSG_API StatePass::AttributeIterator beginAttributes();
00362
00367       NVSG_API StatePass::AttributeConstIterator endAttributes() const;
00368
00373       NVSG_API StatePass::AttributeIterator endAttributes();
00374
00381       NVSG_API StatePass::AttributeIterator addAttribute( const StateAttributeSharedPtr & attribute );
00382
00388       NVSG_API bool removeAttribute( const StateAttributeSharedPtr & attribute );
00389
00396       NVSG_API StatePass::AttributeIterator removeAttribute( const StatePass::AttributeIterator & sci );
00397
00403       NVSG_API StatePass::AttributeIterator removeAttributeByObjectCode( unsigned int objectCode );
00404
00407       NVSG_API void clearAttributes();
00408
00409       /*  \brief Find a specified attribute in the first StatePass of the current StateVariant in this StateSet.
00410        *  \param attribute The attribute to find.
00411        *  \return A const iterator to the found attribute in the first StatePass of the current StateVariant in this StateSet.
00412        *  \note The behaviour is undefined if there is no StateVariant, or no StatePass in the current StateVariant.
00413        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00414       NVSG_API StatePass::AttributeConstIterator findAttribute( const StateAttributeSharedPtr & attribute ) const;
00415
00416       /*  \brief Find a specified attribute in the first StatePass of the current StateVariant in this StateSet.
00417        *  \param attribute The attribute to find.
00418        *  \return An iterator to the found attribute in the first StatePass of the current StateVariant in this StateSet.
00419        *  \note The behaviour is undefined if there is no StateVariant, or no StatePass in the current StateVariant.
00420        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00421       NVSG_API StatePass::AttributeIterator findAttribute( const StateAttributeSharedPtr & attribute );
00422
00423       /*  \brief Find an attribute by object code in the first StatePass of the current StateVariant in this StateSet.
00424        *  \param code The object code of the attribute to find.
00425        *  \return A const iterator to the found attribute in the first StatePass of the current StateVariant in this StateSet.
00426        *  \note The behaviour is undefined if there is no StateVariant, or no StatePass in the current StateVariant.
00427        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00428       NVSG_API StatePass::AttributeConstIterator findAttribute( unsigned int code ) const;
00429
00430       /*  \brief Find an attribute by object code in the first StatePass of the current StateVariant in this StateSet.
00431        *  \param code The object code of the attribute to find.
00432        *  \return An iterator to the found attribute in the first StatePass of the current StateVariant in this StateSet.
00433        *  \note The behaviour is undefined if there is no StateVariant, or no StatePass in the current StateVariant.
00434        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00435       NVSG_API StatePass::AttributeIterator findAttribute( unsigned int code );
00436
00437
00443       NVSG_API unsigned int getNumberOfAttributes( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci ) const;
00444
00450       NVSG_API StatePass::AttributeConstIterator beginAttributes( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci ) const;
00451
00457       NVSG_API StatePass::AttributeIterator beginAttributes( const VariantIterator & svi, const StateVariant::PassIterator & spi );
00458
00464       NVSG_API StatePass::AttributeConstIterator endAttributes( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci ) const;
00465
00471       NVSG_API StatePass::AttributeIterator endAttributes( const VariantIterator & svi, const StateVariant::PassIterator & spi );
00472
00479       NVSG_API StatePass::AttributeIterator addAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StateAttributeSharedPtr & attribute );
00480
00488       NVSG_API bool removeAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StateAttributeSharedPtr & attribute );
00489
00497       NVSG_API StatePass::AttributeIterator removeAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StatePass::AttributeIterator & sci );
00498
00506       NVSG_API StatePass::AttributeIterator removeAttributeByObjectCode( const VariantIterator & svi, const StateVariant::PassIterator & spi, unsigned int objectCode );
00507
00512       NVSG_API void clearAttributes( const VariantIterator & svi, const StateVariant::PassIterator & spi );
00513
00514       /*  \brief Find a specified attribute in the specified StateVariant and StatePass in this StateSet.
00515        *  \param svci Const iterator to the StateVariant to work on.
00516        *  \param spci Const iterator to the StatePass in \a svci to work on.
00517        *  \param attribute The attribute to find.
00518        *  \return A const iterator to the found attribute in the specified StateVariant and StatePass in this StateSet.
00519        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00520       NVSG_API StatePass::AttributeConstIterator findAttribute( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci, const StateAttributeSharedPtr & attribute ) const;
00521
00522       /*  \brief Find a specified attribute in the specified StateVariant and StatePass in this StateSet.
00523        *  \param svi Iterator to the StateVariant to work on.
00524        *  \param spi Iterator to the StatePass in \a svi to work on.
00525        *  \param attribute The attribute to find.
00526        *  \return An iterator to the found attribute in the specified StateVariant and StatePass in this StateSet.
00527        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00528       NVSG_API StatePass::AttributeIterator findAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StateAttributeSharedPtr & attribute );
00529
00530       /*  \brief Find an attribute by object code in the specified StateVariant and StatePass in this StateSet.
00531        *  \param svci Const iterator to the StateVariant to work on.
00532        *  \param spci Const iterator to the StatePass in \a svci to work on.
00533        *  \param code The object code of the attribute to find.
00534        *  \return A const iterator to the found attribute in the specified StateVariant and StatePass in this StateSet.
00535        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00536       NVSG_API StatePass::AttributeConstIterator findAttribute( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci, unsigned int code ) const;
00537
00538       /*  \brief Find an attribute by object code in the specified StateVariant and StatePass in this StateSet.
00539        *  \param svi Iterator to the StateVariant to work on.
00540        *  \param spi Iterator to the StatePass in \a svi to work on.
00541        *  \param code The object code of the attribute to find.
00542        *  \return An iterator to the found attribute in the specified StateVariant and StatePass in this StateSet.
00543        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00544       NVSG_API StatePass::AttributeIterator findAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, unsigned int code );
00545
00546
00554       NVSG_API StateSet & operator=(const StateSet & rhs);
00555
00569       NVSG_API virtual bool isEquivalent( const Object * p
00570                                         , bool ignoreNames
00571                                         , bool deepCompare ) const;
00572
00573       REFLECTION_INFO_API( NVSG_API, StateSet );
00574     protected:
00575       friend struct nvutil::Holder<StateSet>;
00576
00579       NVSG_API StateSet();
00580
00582       NVSG_API StateSet( const StateSet& rhs );
00583
00585       NVSG_API virtual ~StateSet();
00586
00600       NVSG_API virtual unsigned int determineHintsContainment(unsigned int which) const;
00601
00602       NVSG_API virtual bool determineShaderContainment() const;
00603       NVSG_API virtual bool determineTransparencyContainment() const;
00604       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00605
00606       NVSG_API virtual void notifyChange( const Subject * originator, unsigned int state = 0 ) const;
00607
00611       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00612
00613     private:
00614       VariantContainer::iterator doRemoveVariant( VariantContainer::iterator vci );
00615
00616     private:
00617       VariantKey        m_variantKey;
00618       VariantContainer  m_variants;
00619   };
00620
00622   typedef std::map<std::pair<nvsg::StateSetWeakPtr,nvsg::StateAttributeWeakPtr>,nvsg::StateSetSharedPtr>  StateSetReplacementMap;
00623
00639   StateSetSharedPtr getReplacementStateSet( StateSetReplacementMap & replacementStateSets
00640                                           , const StateSetSharedPtr & sshIn
00641                                           , const StateAttributeSharedPtr & sahIn );
00642
00643 #if defined( _DEBUG )
00644   inline bool find( std::map<VariantKey,StateVariantSharedPtr>::const_iterator it
00645                   , const std::map<VariantKey,StateVariantSharedPtr> &m )
00646   {
00647     for ( std::map<VariantKey,StateVariantSharedPtr>::const_iterator i = m.begin() ; i!=m.end() ; ++i )
00648     {
00649       if ( i == it )
00650       {
00651         return( true );
00652       }
00653     }
00654     return( false );
00655   }
00656 #endif
00657
00658   inline VariantKey StateSet::getActiveVariantKey() const
00659   {
00660     NVSG_TRACE();
00661     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00662     return( m_variantKey );
00663   }
00664
00665   inline unsigned int StateSet::getNumberOfVariants() const
00666   {
00667     NVSG_TRACE();
00668     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00669     return( checked_cast<unsigned int>(m_variants.size()) );
00670   }
00671
00672   inline StateSet::VariantConstIterator StateSet::beginVariants() const
00673   {
00674     NVSG_TRACE();
00675     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00676     return( VariantConstIterator( m_variants.begin() ) );
00677   }
00678
00679   inline StateSet::VariantIterator StateSet::beginVariants()
00680   {
00681     NVSG_TRACE();
00682     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00683     return( VariantIterator( m_variants.begin() ) );
00684   }
00685
00686   inline StateSet::VariantConstIterator StateSet::endVariants() const
00687   {
00688     NVSG_TRACE();
00689     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00690     return( VariantConstIterator( m_variants.end() ) );
00691   }
00692
00693   inline StateSet::VariantIterator StateSet::endVariants()
00694   {
00695     NVSG_TRACE();
00696     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00697     return( VariantIterator( m_variants.end() ) );
00698   }
00699
00700   inline StateSet::VariantConstIterator StateSet::findVariant( VariantKey key ) const
00701   {
00702     NVSG_TRACE();
00703     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00704
00705     return( VariantConstIterator( m_variants.find( key ) ) );
00706   }
00707
00708   inline StateSet::VariantIterator StateSet::findVariant( VariantKey key )
00709   {
00710     NVSG_TRACE();
00711     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00712
00713     return( VariantIterator( m_variants.find( key ) ) );
00714   }
00715
00716   inline unsigned int StateSet::getNumberOfPasses() const
00717   {
00718     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00719     return( getNumberOfPasses( findVariant( m_variantKey ) ) );
00720   }
00721
00722   inline StateVariant::PassConstIterator StateSet::beginPasses() const
00723   {
00724     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00725     return( beginPasses( findVariant( m_variantKey ) ) );
00726   }
00727
00728   inline StateVariant::PassIterator StateSet::beginPasses()
00729   {
00730     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00731     return( beginPasses( findVariant( m_variantKey ) ) );
00732   }
00733
00734   inline StateVariant::PassConstIterator StateSet::endPasses() const
00735   {
00736     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00737     return( endPasses( findVariant( m_variantKey ) ) );
00738   }
00739
00740   inline StateVariant::PassIterator StateSet::endPasses()
00741   {
00742     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00743     return( endPasses( findVariant( m_variantKey ) ) );
00744   }
00745
00746   inline StateVariant::PassIterator StateSet::insertPass( const StateVariant::PassIterator & spi, const StatePassSharedPtr & pass )
00747   {
00748     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00749     return( insertPass( findVariant( m_variantKey ), spi, pass ) );
00750   }
00751
00752   inline bool StateSet::replacePass( const StatePassSharedPtr & newPass, const StatePassSharedPtr & oldPass )
00753   {
00754     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00755     return( replacePass( findVariant( m_variantKey ), newPass, oldPass ) );
00756   }
00757
00758   inline bool StateSet::replacePass( const StatePassSharedPtr & newPass, StateVariant::PassIterator & oldSPI )
00759   {
00760     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00761     return( replacePass( findVariant( m_variantKey ), newPass, oldSPI ) );
00762   }
00763
00764   inline bool StateSet::removePass( const StatePassSharedPtr & pass )
00765   {
00766     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00767     return( removePass( findVariant( m_variantKey ), pass ) );
00768   }
00769
00770   inline StateVariant::PassIterator StateSet::removePass( const StateVariant::PassIterator & spi )
00771   {
00772     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00773     return( removePass( findVariant( m_variantKey ), spi ) );
00774   }
00775
00776   inline void StateSet::clearPasses()
00777   {
00778     return( clearPasses( findVariant( m_variantKey ) ) );
00779   }
00780
00781   inline StateVariant::PassConstIterator StateSet::findPass( const StatePassSharedPtr & pass ) const
00782   {
00783     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00784     return( findPass( findVariant( m_variantKey ), pass ) );
00785   }
00786
00787   inline StateVariant::PassIterator StateSet::findPass( const StatePassSharedPtr & pass )
00788   {
00789     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00790     return( findPass( findVariant( m_variantKey ), pass ) );
00791   }
00792
00793
00794   inline unsigned int StateSet::getNumberOfPasses( const VariantConstIterator & svci ) const
00795   {
00796     NVSG_TRACE();
00797     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00798     if ( svci.m_iter != m_variants.end() )
00799     {
00800       return( StateVariantReadLock( svci.m_iter->second )->getNumberOfPasses() );
00801     }
00802     return( 0 );
00803   }
00804
00805   inline StateVariant::PassConstIterator StateSet::beginPasses( const VariantConstIterator & svci ) const
00806   {
00807     NVSG_TRACE();
00808     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00809     NVSG_ASSERT( svci.m_iter != m_variants.end() );
00810     return( StateVariantReadLock( svci.m_iter->second )->beginPasses() );
00811   }
00812
00813   inline StateVariant::PassIterator StateSet::beginPasses( const VariantIterator & svi )
00814   {
00815     NVSG_TRACE();
00816     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00817     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00818     return( StateVariantWriteLock( svi.m_iter->second )->beginPasses() );
00819   }
00820
00821   inline StateVariant::PassConstIterator StateSet::endPasses( const VariantConstIterator & svci ) const
00822   {
00823     NVSG_TRACE();
00824     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00825     NVSG_ASSERT( svci.m_iter != m_variants.end() );
00826     return( StateVariantReadLock( svci.m_iter->second )->endPasses() );
00827   }
00828
00829   inline StateVariant::PassIterator StateSet::endPasses( const VariantIterator & svi )
00830   {
00831     NVSG_TRACE();
00832     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00833     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00834     return( StateVariantWriteLock( svi.m_iter->second )->endPasses() );
00835   }
00836
00837   inline StateVariant::PassIterator StateSet::addPass( const VariantIterator & svi, const StatePassSharedPtr & pass )
00838   {
00839     NVSG_TRACE();
00840     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00841     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00842     return( StateVariantWriteLock( svi->second )->addPass( pass ) );
00843   }
00844
00845   inline StateVariant::PassIterator StateSet::insertPass( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StatePassSharedPtr & pass )
00846   {
00847     NVSG_TRACE();
00848     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00849     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00850     return( StateVariantWriteLock( svi->second )->insertPass( spi, pass ) );
00851   }
00852
00853   inline bool StateSet::replacePass( const VariantIterator & svi, const StatePassSharedPtr & newPass, const StatePassSharedPtr & oldPass )
00854   {
00855     NVSG_TRACE();
00856     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00857     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00858     return( StateVariantWriteLock( svi.m_iter->second )->replacePass( newPass, oldPass ) );
00859   }
00860
00861   inline bool StateSet::replacePass( const VariantIterator & svi, const StatePassSharedPtr & newPass, StateVariant::PassIterator & oldSPI )
00862   {
00863     NVSG_TRACE();
00864     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00865     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00866     return( StateVariantWriteLock( svi.m_iter->second )->replacePass( newPass, oldSPI ) );
00867   }
00868
00869   inline bool StateSet::removePass( const VariantIterator & svi, const StatePassSharedPtr & pass )
00870   {
00871     NVSG_TRACE();
00872     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00873     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00874     return( StateVariantWriteLock( svi.m_iter->second )->removePass( pass ) );
00875   }
00876
00877   inline StateVariant::PassIterator StateSet::removePass( const VariantIterator & svi, const StateVariant::PassIterator & spi )
00878   {
00879     NVSG_TRACE();
00880     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00881     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00882     return( StateVariantWriteLock( svi.m_iter->second )->removePass( spi ) );
00883   }
00884
00885   inline void StateSet::clearPasses( const VariantIterator & svi )
00886   {
00887     NVSG_TRACE();
00888     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00889     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00890     return( StateVariantWriteLock( svi.m_iter->second )->clearPasses() );
00891   }
00892
00893   inline StateVariant::PassConstIterator StateSet::findPass( const VariantConstIterator & svci, const StatePassSharedPtr & pass ) const
00894   {
00895     NVSG_TRACE();
00896     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00897     NVSG_ASSERT( svci.m_iter != m_variants.end() );
00898     return( StateVariantReadLock( svci.m_iter->second )->findPass( pass ) );
00899   }
00900
00901   inline StateVariant::PassIterator StateSet::findPass( const VariantIterator & svi, const StatePassSharedPtr & pass )
00902   {
00903     NVSG_TRACE();
00904     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00905     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00906     return( StateVariantWriteLock( svi.m_iter->second )->findPass( pass ) );
00907   }
00908
00909
00910   inline StatePass::AttributeConstIterator StateSet::beginAttributes() const
00911   {
00912     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00913     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00914     return( StateVariantReadLock( findVariant( m_variantKey )->second )->beginAttributes() );
00915   }
00916
00917   inline StatePass::AttributeIterator StateSet::beginAttributes()
00918   {
00919     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00920     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00921     return( StateVariantWriteLock( findVariant( m_variantKey )->second )->beginAttributes() );
00922   }
00923
00924   inline StatePass::AttributeConstIterator StateSet::endAttributes() const
00925   {
00926     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00927     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00928     return( StateVariantReadLock( findVariant( m_variantKey )->second )->endAttributes() );
00929   }
00930
00931   inline StatePass::AttributeIterator StateSet::endAttributes()
00932   {
00933     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00934     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00935     return( StateVariantWriteLock( findVariant( m_variantKey )->second )->endAttributes() );
00936   }
00937
00938   inline StatePass::AttributeIterator StateSet::removeAttribute( const StatePass::AttributeIterator & sci )
00939   {
00940     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00941     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00942     return( StateVariantWriteLock( findVariant( m_variantKey )->second )->removeAttribute( sci ) );
00943   }
00944
00945   inline StatePass::AttributeIterator StateSet::removeAttributeByObjectCode( unsigned int objectCode )
00946   {
00947     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00948     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00949     return( StateVariantWriteLock( findVariant( m_variantKey )->second )->removeAttributeByObjectCode( objectCode ) );
00950   }
00951
00952   inline StatePass::AttributeConstIterator StateSet::findAttribute( const StateAttributeSharedPtr & attribute ) const
00953   {
00954     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00955     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00956     return( StateVariantReadLock( findVariant( m_variantKey )->second )->findAttribute( attribute ) );
00957   }
00958
00959   inline StatePass::AttributeIterator StateSet::findAttribute( const StateAttributeSharedPtr & attribute )
00960   {
00961     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00962     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00963     return( StateVariantWriteLock( findVariant( m_variantKey )->second )->findAttribute( attribute ) );
00964   }
00965
00966   inline StatePass::AttributeConstIterator StateSet::findAttribute( unsigned int code ) const
00967   {
00968     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00969     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00970     return( StateVariantReadLock( findVariant( m_variantKey )->second )->findAttribute( code ) );
00971   }
00972
00973   inline StatePass::AttributeIterator StateSet::findAttribute( unsigned int code )
00974   {
00975     NVSG_ASSERT( m_variantKey != INVALID_VARIANT_KEY );
00976     NVSG_ASSERT( findVariant( m_variantKey ) != endVariants() );
00977     return( StateVariantWriteLock( findVariant( m_variantKey )->second )->findAttribute( code ) );
00978   }
00979
00980
00981   inline StatePass::AttributeConstIterator StateSet::beginAttributes( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci ) const
00982   {
00983     NVSG_TRACE();
00984     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00985     NVSG_ASSERT( svci.m_iter != m_variants.end() );
00986     return( StateVariantReadLock( svci->second )->beginAttributes( spci ) );
00987   }
00988
00989   inline StatePass::AttributeIterator StateSet::beginAttributes( const VariantIterator & svi, const StateVariant::PassIterator & spi )
00990   {
00991     NVSG_TRACE();
00992     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00993     NVSG_ASSERT( svi.m_iter != m_variants.end() );
00994     return( StateVariantWriteLock( svi->second )->beginAttributes( spi ) );
00995   }
00996
00997   inline StatePass::AttributeConstIterator StateSet::endAttributes( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci ) const
00998   {
00999     NVSG_TRACE();
01000     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
01001     NVSG_ASSERT( svci.m_iter != m_variants.end() );
01002     return( StateVariantReadLock( svci->second )->endAttributes( spci ) );
01003   }
01004
01005   inline StatePass::AttributeIterator StateSet::endAttributes( const VariantIterator & svi, const StateVariant::PassIterator & spi )
01006   {
01007     NVSG_TRACE();
01008     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
01009     NVSG_ASSERT( svi.m_iter != m_variants.end() );
01010     return( StateVariantWriteLock( svi->second )->endAttributes( spi ) );
01011   }
01012
01013   inline StatePass::AttributeIterator StateSet::addAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StateAttributeSharedPtr & attribute )
01014   {
01015     NVSG_TRACE();
01016     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
01017     NVSG_ASSERT( svi.m_iter != m_variants.end() );
01018     return( StateVariantWriteLock( svi->second )->addAttribute( spi, attribute ) );
01019   }
01020
01021   inline StatePass::AttributeIterator StateSet::removeAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StatePass::AttributeIterator & sci )
01022   {
01023     NVSG_TRACE();
01024     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
01025     NVSG_ASSERT( svi.m_iter != m_variants.end() );
01026     return( StateVariantWriteLock( svi->second )->removeAttribute( spi, sci ) );
01027   }
01028
01029   inline StatePass::AttributeIterator StateSet::removeAttributeByObjectCode( const VariantIterator & svi, const StateVariant::PassIterator & spi, unsigned int objectCode )
01030   {
01031     NVSG_TRACE();
01032     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
01033     NVSG_ASSERT( svi.m_iter != m_variants.end() );
01034     return( StateVariantWriteLock( svi->second )->removeAttributeByObjectCode( spi, objectCode ) );
01035   }
01036
01037   inline StatePass::AttributeConstIterator StateSet::findAttribute( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci, const StateAttributeSharedPtr & attribute ) const
01038   {
01039     NVSG_TRACE();
01040     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
01041     NVSG_ASSERT( svci.m_iter != m_variants.end() );
01042     return( StateVariantReadLock( svci->second )->findAttribute( spci, attribute ) );
01043   }
01044
01045   inline StatePass::AttributeIterator StateSet::findAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, const StateAttributeSharedPtr & attribute )
01046   {
01047     NVSG_TRACE();
01048     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
01049     NVSG_ASSERT( svi.m_iter != m_variants.end() );
01050     return( StateVariantWriteLock( svi->second )->findAttribute( spi, attribute ) );
01051   }
01052
01053   inline StatePass::AttributeConstIterator StateSet::findAttribute( const VariantConstIterator & svci, const StateVariant::PassConstIterator & spci, unsigned int code ) const
01054   {
01055     NVSG_TRACE();
01056     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
01057     NVSG_ASSERT( svci.m_iter != m_variants.end() );
01058     return( StateVariantReadLock( svci->second )->findAttribute( spci, code ) );
01059   }
01060
01061   inline StatePass::AttributeIterator StateSet::findAttribute( const VariantIterator & svi, const StateVariant::PassIterator & spi, unsigned int code )
01062   {
01063     NVSG_TRACE();
01064     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
01065     NVSG_ASSERT( svi.m_iter != m_variants.end() );
01066     return( StateVariantWriteLock( svi->second )->findAttribute( spi, code ) );
01067   }
01068
01069 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StateVariant.h File Reference

inc / nvsg / nvsg

StateVariant.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/StatePass.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for StateVariant.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:26 2012 for SceniX


SceniX: StateVariant.h Source File

inc / nvsg / nvsg

StateVariant.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/StatePass.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00022   class StateSet;
00023
00030   class StateVariant : public OwnedObject<StateSet>
00031   {
00032     public:
00034       typedef nvutil::STLVector<StatePassSharedPtr>                               PassContainer;
00035
00037       typedef nvutil::SceniXIterator<StateVariant,PassContainer::iterator>        PassIterator;
00038
00040       typedef nvutil::SceniXIterator<StateVariant,PassContainer::const_iterator>  PassConstIterator;
00041
00042     public:
00043       NVSG_API static StateVariantSharedPtr create();
00044
00045     friend class StateSet;
00046
00047     public:
00051       NVSG_API unsigned int getNumberOfPasses() const;
00052
00056       NVSG_API PassConstIterator beginPasses() const;
00057
00061       NVSG_API PassIterator beginPasses();
00062
00066       NVSG_API PassConstIterator endPasses() const;
00067
00071       NVSG_API PassIterator endPasses();
00072
00077       NVSG_API PassIterator addPass( const StatePassSharedPtr & pass );
00078
00084       NVSG_API PassIterator insertPass( const PassIterator & spi, const StatePassSharedPtr & pass );
00085
00090       NVSG_API bool removePass( const StatePassSharedPtr & pass );
00091
00097       NVSG_API PassIterator removePass( const PassIterator & sci );
00098
00104       NVSG_API bool replacePass( const StatePassSharedPtr & newPass, const StatePassSharedPtr & oldPass );
00105
00111       NVSG_API bool replacePass( const StatePassSharedPtr & newPass, PassIterator & oldSPI );
00112
00115       NVSG_API void clearPasses();
00116
00117       /*  \brief Find a specified pass in this StateVariant.
00118        *  \param pass The pass to find.
00119        *  \return A const iterator to the found pass in this StateVariant.
00120        *  \sa getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses */
00121       NVSG_API PassConstIterator findPass( const StatePassSharedPtr & pass ) const;
00122
00123       /*  \brief Find a specified pass in this StateVariant.
00124        *  \param pass The pass to find.
00125        *  \return An iterator to the found pass in this StateVariant.
00126        *  \sa getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses */
00127       NVSG_API PassIterator findPass( const StatePassSharedPtr & pass );
00128
00129
00133       NVSG_API unsigned int getNumberOfAttributes() const;
00134
00138       NVSG_API StatePass::AttributeConstIterator beginAttributes() const;
00139
00143       NVSG_API StatePass::AttributeIterator beginAttributes();
00144
00148       NVSG_API StatePass::AttributeConstIterator endAttributes() const;
00149
00153       NVSG_API StatePass::AttributeIterator endAttributes();
00154
00160       NVSG_API StatePass::AttributeIterator addAttribute( const StateAttributeSharedPtr & attribute );
00161
00166       NVSG_API bool removeAttribute( const StateAttributeSharedPtr & attribute );
00167
00174       NVSG_API StatePass::AttributeIterator removeAttribute( const StatePass::AttributeIterator & sci );
00175
00181       NVSG_API StatePass::AttributeIterator removeAttributeByObjectCode( unsigned int objectCode );
00182
00185       NVSG_API void clearAttributes();
00186
00187       /*  \brief Find a specified attribute in the first StatePass of this StateVariant.
00188        *  \param attribute The attribute to find.
00189        *  \return A const iterator to the found attribute.
00190        *  \note The behaviour is undefined if there is no StatePass in this StateVariant.
00191        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00192       NVSG_API StatePass::AttributeConstIterator findAttribute( const StateAttributeSharedPtr & attribute ) const;
00193
00194       /*  \brief Find a specified attribute in the first StatePass of this StateVariant.
00195        *  \param attribute The attribute to find.
00196        *  \return An iterator to the found attribute in the first StatePass of this StateVariant.
00197        *  \note The behaviour is undefined if there is no StatePass in this StateVariant.
00198        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00199       NVSG_API StatePass::AttributeIterator findAttribute( const StateAttributeSharedPtr & attribute );
00200
00201       /*  \brief Find an attribute by object code in the first StatePass of this StateVariant.
00202        *  \param code The object code of the attribute to find.
00203        *  \return A const iterator to the found attribute in the first SatePass of this StatePass.
00204        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00205       NVSG_API StatePass::AttributeConstIterator findAttribute( unsigned int code ) const;
00206
00207       /*  \brief Find an attribute by object code in the first StatePass of this StateVariant.
00208        *  \param code The object code of the attribute to find.
00209        *  \return An iterator to the found attribute in the first StatePass of this StateVariant.
00210        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00211       NVSG_API StatePass::AttributeIterator findAttribute( unsigned int code );
00212
00213
00218       NVSG_API unsigned int getNumberOfAttributes( const PassConstIterator & spci ) const;
00219
00224       NVSG_API StatePass::AttributeConstIterator beginAttributes( const PassConstIterator & spci ) const;
00225
00230       NVSG_API StatePass::AttributeIterator beginAttributes( const PassIterator & spi );
00231
00236       NVSG_API StatePass::AttributeConstIterator endAttributes( const PassConstIterator & spci ) const;
00237
00242       NVSG_API StatePass::AttributeIterator endAttributes( const PassIterator & spi );
00243
00249       NVSG_API StatePass::AttributeIterator addAttribute( const PassIterator & spi, const StateAttributeSharedPtr & attribute );
00250
00256       NVSG_API bool removeAttribute( const PassIterator & spi, const StateAttributeSharedPtr & attribute );
00257
00264       NVSG_API StatePass::AttributeIterator removeAttribute( const PassIterator & spi, const StatePass::AttributeIterator & sci );
00265
00272       NVSG_API StatePass::AttributeIterator removeAttributeByObjectCode( const PassIterator & spi, unsigned int objectCode );
00273
00277       NVSG_API void clearAttributes( const PassIterator & spi );
00278
00279       /*  \brief Find a specified attribute in the specified StatePass of this StateVariant.
00280        *  \param spci Iterator to the StatePass to work on.
00281        *  \param attribute The attribute to find.
00282        *  \return A const iterator to the found attribute.
00283        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00284       NVSG_API StatePass::AttributeConstIterator findAttribute( const PassConstIterator & spci, const StateAttributeSharedPtr & attribute ) const;
00285
00286       /*  \brief Find a specified attribute in the specified StatePass of this StateVariant.
00287        *  \param spci Iterator to the StatePass to work on.
00288        *  \param attribute The attribute to find.
00289        *  \return An iterator to the found attribute in this StatePass.
00290        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00291       NVSG_API StatePass::AttributeIterator findAttribute( const PassIterator & spci, const StateAttributeSharedPtr & attribute );
00292
00293       /*  \brief Find an attribute by object code in the specified StatePass of this StateVariant.
00294        *  \param spci Iterator to the StatePass to work on.
00295        *  \param code The object code of the attribute to find.
00296        *  \return A const iterator to the found attribute.
00297        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00298       NVSG_API StatePass::AttributeConstIterator findAttribute( const PassConstIterator & spci, unsigned int code ) const;
00299
00300       /*  \brief Find an attribute by object code in the specified StatePass of this StateVariant.
00301        *  \param spci Iterator to the StatePass to work on.
00302        *  \param code The object code of the attribute to find.
00303        *  \return An iterator to the found attribute in this StatePass.
00304        *  \sa getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes */
00305       NVSG_API StatePass::AttributeIterator findAttribute( const PassIterator & spci, unsigned int code );
00306
00307
00311       NVSG_API bool isEachPassTransparent() const;
00312
00320       NVSG_API StateVariant & operator=( const StateVariant & rhs );
00321
00334       NVSG_API virtual bool isEquivalent( const Object * p
00335                                         , bool ignoreNames
00336                                         , bool deepCompare ) const;
00337
00338       REFLECTION_INFO_API( NVSG_API, StateVariant );
00339     protected:
00340       friend struct nvutil::Holder<StateVariant>;
00341
00344       NVSG_API StateVariant();
00345
00347       NVSG_API StateVariant( const StateVariant& rhs );
00348
00350       NVSG_API virtual ~StateVariant();
00351
00365       NVSG_API virtual unsigned int determineHintsContainment(unsigned int which) const;
00366
00367       NVSG_API virtual bool determineShaderContainment() const;
00368       NVSG_API virtual bool determineTransparencyContainment() const;
00369       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00370
00374       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00375
00376     private:
00377       PassContainer::iterator doInsertPass( const PassContainer::iterator & pci, const StatePassSharedPtr & pass );
00378       void doReplacePass( PassContainer::iterator & pci, const StatePassSharedPtr & newPass );
00379       PassContainer::iterator doRemovePass( const PassContainer::iterator & pci );
00380
00381     private:
00382       PassContainer  m_passes;
00383   };
00384
00385   inline unsigned int StateVariant::getNumberOfPasses() const
00386   {
00387     NVSG_TRACE();
00388     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00389     return( checked_cast<unsigned int>(m_passes.size()) );
00390   }
00391
00392   inline StateVariant::PassConstIterator StateVariant::beginPasses() const
00393   {
00394     NVSG_TRACE();
00395     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00396     return( PassConstIterator( m_passes.begin() ) );
00397   }
00398
00399   inline StateVariant::PassIterator StateVariant::beginPasses()
00400   {
00401     NVSG_TRACE();
00402     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00403     return( PassIterator( m_passes.begin() ) );
00404   }
00405
00406   inline StateVariant::PassConstIterator StateVariant::endPasses() const
00407   {
00408     NVSG_TRACE();
00409     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00410     return( PassConstIterator( m_passes.end() ) );
00411   }
00412
00413   inline StateVariant::PassIterator StateVariant::endPasses()
00414   {
00415     NVSG_TRACE();
00416     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00417     return( PassIterator( m_passes.end() ) );
00418   }
00419
00420   inline StateVariant::PassConstIterator StateVariant::findPass( const StatePassSharedPtr & pass ) const
00421   {
00422     NVSG_TRACE();
00423     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00424
00425     return( PassConstIterator( find( m_passes.begin(), m_passes.end(), pass ) ) );
00426   }
00427
00428   inline StateVariant::PassIterator StateVariant::findPass( const StatePassSharedPtr & pass )
00429   {
00430     NVSG_TRACE();
00431     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00432
00433     return( PassIterator( find( m_passes.begin(), m_passes.end(), pass ) ) );
00434   }
00435
00436
00437   inline unsigned int StateVariant::getNumberOfAttributes() const
00438   {
00439     return( getNumberOfAttributes( beginPasses() ) );
00440   }
00441
00442   inline StatePass::AttributeConstIterator StateVariant::beginAttributes() const
00443   {
00444     return( beginAttributes( beginPasses() ) );
00445   }
00446
00447   inline StatePass::AttributeIterator StateVariant::beginAttributes()
00448   {
00449     return( beginAttributes( beginPasses() ) );
00450   }
00451
00452   inline StatePass::AttributeConstIterator StateVariant::endAttributes() const
00453   {
00454     return( endAttributes( beginPasses() ) );
00455   }
00456
00457   inline StatePass::AttributeIterator StateVariant::endAttributes()
00458   {
00459     return( endAttributes( beginPasses() ) );
00460   }
00461
00462   inline StatePass::AttributeIterator StateVariant::addAttribute( const StateAttributeSharedPtr & attribute )
00463   {
00464     return( addAttribute( beginPasses(), attribute ) );
00465   }
00466
00467   inline bool StateVariant::removeAttribute( const StateAttributeSharedPtr & attribute )
00468   {
00469     return( removeAttribute( beginPasses(), attribute ) );
00470   }
00471
00472   inline StatePass::AttributeIterator StateVariant::removeAttribute( const StatePass::AttributeIterator & sci )
00473   {
00474     return( removeAttribute( beginPasses(), sci ) );
00475   }
00476
00477   inline StatePass::AttributeIterator StateVariant::removeAttributeByObjectCode( unsigned int objectCode )
00478   {
00479     return( removeAttributeByObjectCode( beginPasses(), objectCode ) );
00480   }
00481
00482   inline void StateVariant::clearAttributes()
00483   {
00484     clearAttributes( beginPasses() );
00485   }
00486
00487   inline StatePass::AttributeConstIterator StateVariant::findAttribute( const StateAttributeSharedPtr & attribute ) const
00488   {
00489     return( findAttribute( beginPasses(), attribute ) );
00490   }
00491
00492   inline StatePass::AttributeIterator StateVariant::findAttribute( const StateAttributeSharedPtr & attribute )
00493   {
00494     return( findAttribute( beginPasses(), attribute ) );
00495   }
00496
00497   inline StatePass::AttributeConstIterator StateVariant::findAttribute( unsigned int code ) const
00498   {
00499     return( findAttribute( beginPasses(), code ) );
00500   }
00501
00502   inline StatePass::AttributeIterator StateVariant::findAttribute( unsigned int code )
00503   {
00504     return( findAttribute( beginPasses(), code ) );
00505   }
00506
00507
00508   inline StatePass::AttributeConstIterator StateVariant::beginAttributes( const PassConstIterator & spci ) const
00509   {
00510     NVSG_TRACE();
00511     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00512     NVSG_ASSERT( spci.m_iter != m_passes.end() );
00513     return( StatePassReadLock( *spci.m_iter )->beginAttributes() );
00514   }
00515
00516   inline StatePass::AttributeIterator StateVariant::beginAttributes( const PassIterator & spi )
00517   {
00518     NVSG_TRACE();
00519     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00520     NVSG_ASSERT( spi.m_iter != m_passes.end() );
00521     return( StatePassWriteLock( *spi.m_iter )->beginAttributes() );
00522   }
00523
00524   inline StatePass::AttributeConstIterator StateVariant::endAttributes( const PassConstIterator & spci ) const
00525   {
00526     NVSG_TRACE();
00527     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00528     NVSG_ASSERT( spci.m_iter != m_passes.end() );
00529     return( StatePassReadLock( *spci.m_iter )->endAttributes() );
00530   }
00531
00532   inline StatePass::AttributeIterator StateVariant::endAttributes( const PassIterator & spi )
00533   {
00534     NVSG_TRACE();
00535     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00536     NVSG_ASSERT( spi.m_iter != m_passes.end() );
00537     return( StatePassWriteLock( *spi.m_iter )->endAttributes() );
00538   }
00539
00540   inline StatePass::AttributeIterator StateVariant::removeAttribute( const PassIterator & spi, const StatePass::AttributeIterator & sci )
00541   {
00542     NVSG_TRACE();
00543     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00544     NVSG_ASSERT( spi.m_iter != m_passes.end() );
00545     return( StatePassWriteLock( *spi.m_iter )->removeAttribute( sci ) );
00546   }
00547
00548   inline StatePass::AttributeIterator StateVariant::removeAttributeByObjectCode( const PassIterator & spi, unsigned int objectCode )
00549   {
00550     NVSG_TRACE();
00551     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00552     NVSG_ASSERT( spi.m_iter != m_passes.end() );
00553     return( StatePassWriteLock( *spi.m_iter )->removeAttributeByObjectCode( objectCode ) );
00554   }
00555
00556   inline StatePass::AttributeConstIterator StateVariant::findAttribute( const PassConstIterator & spci, const StateAttributeSharedPtr & attribute ) const
00557   {
00558     NVSG_TRACE();
00559     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00560     NVSG_ASSERT( spci.m_iter != m_passes.end() );
00561     return( StatePassReadLock( *spci.m_iter )->findAttribute( attribute ) );
00562   }
00563
00564   inline StatePass::AttributeIterator StateVariant::findAttribute( const PassIterator & spi, const StateAttributeSharedPtr & attribute )
00565   {
00566     NVSG_TRACE();
00567     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00568     NVSG_ASSERT( spi.m_iter != m_passes.end() );
00569     return( StatePassWriteLock( *spi.m_iter )->findAttribute( attribute ) );
00570   }
00571
00572   inline StatePass::AttributeConstIterator StateVariant::findAttribute( const PassConstIterator & spci, unsigned int code ) const
00573   {
00574     NVSG_TRACE();
00575     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00576     NVSG_ASSERT( spci.m_iter != m_passes.end() );
00577     return( StatePassReadLock( *spci.m_iter )->findAttribute( code ) );
00578   }
00579
00580   inline StatePass::AttributeIterator StateVariant::findAttribute( const PassIterator & spi, unsigned int code )
00581   {
00582     NVSG_TRACE();
00583     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00584     NVSG_ASSERT( spi.m_iter != m_passes.end() );
00585     return( StatePassWriteLock( *spi.m_iter )->findAttribute( code ) );
00586   }
00587
00588 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StatisticsTraverser.h File Reference

inc / nvsg / nvtraverser

StatisticsTraverser.h File Reference

#include <map>
#include <ostream>
#include <set>
#include <string>
#include <iostream>
#include <iomanip>
#include <sstream>
#include "nvmath/Trafo.h"
#include "nvsg/Camera.h"
#include "nvsg/Drawable.h"
#include "nvsg/MeshedPrimitiveSet.h"
#include "nvsg/Object.h"
#include "nvsg/StateAttribute.h"
#include "nvsg/StrippedPrimitiveSet.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for StatisticsTraverser.h:

Go to the source code of this file.

Namespaces

namespace | nvtraverser

Functions

NVSG_API std::ostream & | operator<< (std::ostream &os, const StatisticsTraverser &obj)
Output a statistics summary.

Detailed Description

Function Documentation

NVSG_API std::ostream& operator<< | ( | std::ostream & | os,
 |  | const StatisticsTraverser & | obj
 | ) |

Output a statistics summary.

Generated on Fri Jul 13 13:28:27 2012 for SceniX


SceniX: StatisticsTraverser.h Source File

inc / nvsg / nvtraverser

StatisticsTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <map>
00016 #include <ostream>
00017 #include <set>
00018 #include <string>
00019 #include <iostream>
00020 #include <iomanip>
00021 #include <sstream>
00022 #include "nvmath/Trafo.h"
00023 #include "nvsg/Camera.h"
00024 #include "nvsg/Drawable.h"
00025 #include "nvsg/MeshedPrimitiveSet.h"
00026 #include "nvsg/Object.h"
00027 #include "nvsg/StateAttribute.h"
00028 #include "nvsg/StrippedPrimitiveSet.h"
00029 #include "nvtraverser/Traverser.h"
00030
00031 namespace nvtraverser
00032 {
00034   class StatisticsBase
00035   {
00036     public:
00037       NVSG_API StatisticsBase()  : m_count(0), m_referenced(0)  {}
00038
00039     public:
00043       bool  firstEncounter( const void *p );
00044
00045     public:
00046       unsigned int            m_count;
00047       std::set<const void *>  m_objects;
00048       unsigned int            m_referenced;
00049   };
00050
00052   class StatObject : public StatisticsBase
00053   {
00054   };
00055
00057   class StatCamera : public StatObject
00058   {
00059   };
00060
00062   class StatMatrixCamera : public StatCamera
00063   {
00064   };
00065
00067   class StatFrustumCamera : public StatCamera
00068   {
00069   };
00070
00072   class StatParallelCamera : public StatFrustumCamera
00073   {
00074   };
00075
00077   class StatPerspectiveCamera : public StatFrustumCamera
00078   {
00079   };
00080
00082   class StatDrawable : public StatObject
00083   {
00084   };
00085
00087   class StatPrimitiveSet : public StatDrawable
00088   {
00089   };
00090
00092   class StatPrimitive : public StatDrawable
00093   {
00094     public:
00095       StatPrimitive()
00096         : m_indexed(0)
00097         , m_arrays(0)
00098         , m_patches(0)
00099         , m_lineStripAdj(0)
00100         , m_linesAdj(0)
00101         , m_triStripAdj(0)
00102         , m_trisAdj(0)
00103         , m_polygons(0)
00104         , m_lineLoops(0)
00105         , m_quads(0)
00106         , m_quadStrips(0)
00107         , m_tris(0)
00108         , m_triStrips(0)
00109         , m_triFans(0)
00110         , m_lines(0)
00111         , m_lineStrips(0)
00112         , m_points(0)
00113         , m_faces(0)
00114       {}
00115
00116     public:
00117       unsigned int m_indexed;
00118       unsigned int m_arrays;
00119       unsigned int m_patches;
00120       unsigned int m_lineStripAdj;
00121       unsigned int m_linesAdj;
00122       unsigned int m_triStripAdj;
00123       unsigned int m_trisAdj;
00124       unsigned int m_polygons;
00125       unsigned int m_lineLoops;
00126       unsigned int m_quads;
00127       unsigned int m_quadStrips;
00128       unsigned int m_tris;
00129       unsigned int m_triStrips;
00130       unsigned int m_triFans;
00131       unsigned int m_lines;
00132       unsigned int m_lineStrips;
00133       unsigned int m_points;
00134       unsigned int m_faces;
00135   };
00136
00138   class StatVertexAttributeSet : public StatObject
00139   {
00140     public:
00141       StatVertexAttributeSet()  : m_numberOfVertices(0), m_numberOfNormaled(0), m_numberOfNormals(0), m_numberOfTextured(0)
00142                                 , m_numberOfTextureUnits(0), m_numberOfTextureDimensions(0), m_numberOfColored(0)
00143                                 , m_numberOfColors(0), m_numberOfSecondaryColored(0), m_numberOfSecondaryColors(0)
00144                                 , m_numberOfFogged(0), m_numberOfFogCoords(0)
00145       {
00146         for ( int i=0 ; i<8 ; i++ )
00147         {
00148           m_numberOfTextures[i] = 0;
00149         }
00150       }
00151
00152     public:
00153       unsigned int  m_numberOfVertices;
00154       unsigned int  m_numberOfNormaled;
00155       unsigned int  m_numberOfNormals;
00156       unsigned int  m_numberOfTextured;
00157       unsigned int  m_numberOfTextureUnits;
00158       unsigned int  m_numberOfTextureDimensions;
00159       unsigned int  m_numberOfTextures[8];
00160       unsigned int  m_numberOfColored;
00161       unsigned int  m_numberOfColors;
00162       unsigned int  m_numberOfSecondaryColored;
00163       unsigned int  m_numberOfSecondaryColors;
00164       unsigned int  m_numberOfFogged;
00165       unsigned int  m_numberOfFogCoords;
00166   };
00167
00169   class StatSkin : public StatObject
00170   {
00171     public:
00172       StatSkin() : m_numberOfIndices(0), m_numberOfInfluences(0), m_numberOfJoints(0) {}
00173
00174     public:
00175       unsigned int m_numberOfIndices;
00176       unsigned int m_numberOfInfluences;
00177       unsigned int m_numberOfJoints;
00178   };
00179
00181   class StatMeshedPrimitiveSet : public StatPrimitiveSet
00182   {
00183     public:
00184       StatMeshedPrimitiveSet()  : m_numberOfMeshes(0) {}
00185
00186     public:
00187       unsigned int  m_numberOfMeshes;
00188   };
00189
00191   class StatStrippedPrimitiveSet : public StatPrimitiveSet
00192   {
00193     public:
00194       StatStrippedPrimitiveSet()  : m_numberOfStrips(0) {}
00195
00196     public:
00197       unsigned int  m_numberOfStrips;
00198   };
00199
00201   class StatLines : public StatPrimitiveSet
00202   {
00203     public:
00204       StatLines()  : m_numberOfSegments(0) {}
00205
00206     public:
00207       unsigned int  m_numberOfSegments;
00208   };
00209
00211   class StatLineStrips : public StatStrippedPrimitiveSet
00212   {
00213     public:
00214       StatLineStrips()  : m_numberOfSegments(0) {}
00215
00216     public:
00217       unsigned int  m_numberOfSegments;
00218   };
00219
00221   class StatPatchesBase : public StatPrimitiveSet
00222   {
00223     public:
00224       StatPatchesBase() : m_numberOfPatches(0)  {}
00225
00226     public:
00227       unsigned int m_numberOfPatches;
00228   };
00229
00231   class StatPatches : public StatPatchesBase
00232   {
00233   };
00234
00236   class StatRectPatches : public StatPatchesBase
00237   {
00238   };
00239
00241   class StatQuadPatches : public StatPatchesBase
00242   {
00243   };
00244
00246   class StatQuadPatches4x4 : public StatPatchesBase
00247   {
00248   };
00249
00251   class StatTriPatches : public StatPatchesBase
00252   {
00253   };
00254
00256   class StatTriPatches4 : public StatPatchesBase
00257   {
00258   };
00259
00261   class StatPoints : public StatPrimitiveSet
00262   {
00263   };
00264
00266   class StatQuadMeshes : public StatMeshedPrimitiveSet
00267   {
00268   public:
00269     StatQuadMeshes()  : m_numberOfFaces(0) {}
00270
00271   public:
00272     unsigned int  m_numberOfFaces;
00273   };
00274
00276   class StatQuads : public StatPrimitiveSet
00277   {
00278     public:
00279       StatQuads()  : m_numberOfFaces(0) {}
00280
00281     public:
00282       unsigned int  m_numberOfFaces;
00283   };
00284
00286   class StatQuadStrips : public StatStrippedPrimitiveSet
00287   {
00288     public:
00289       StatQuadStrips()  : m_numberOfFaces(0) {}
00290
00291     public:
00292       unsigned int  m_numberOfFaces;
00293   };
00294
00296   class StatTriangles : public StatPrimitiveSet
00297   {
00298     public:
00299       StatTriangles()  : m_numberOfFaces(0) {}
00300
00301     public:
00302       unsigned int  m_numberOfFaces;
00303   };
00304
00306   class StatTriFans : public StatStrippedPrimitiveSet
00307   {
00308     public:
00309       StatTriFans()  : m_numberOfFaces(0) {}
00310
00311     public:
00312       unsigned int  m_numberOfFaces;
00313   };
00314
00316   class StatTriStrips : public StatStrippedPrimitiveSet
00317   {
00318     public:
00319       StatTriStrips()  : m_numberOfFaces(0) {}
00320
00321     public:
00322       unsigned int  m_numberOfFaces;
00323   };
00324
00326   class StatAnimationState : public StatObject
00327   {
00328   };
00329
00331   class StatVertexAttributeAnimation : public StatAnimationState
00332   {
00333   };
00334
00336   class StatStatePass : public StatObject
00337   {
00338     public:
00339       StatStatePass()
00340         : m_numberOfAttributes(0), m_numberOfCgFxed(0), m_numberOfMaterialed(0), m_numberOfTextured(0)
00341       {}
00342
00343     public:
00344       unsigned int  m_numberOfAttributes;
00345       unsigned int  m_numberOfCgFxed;
00346       unsigned int  m_numberOfMaterialed;
00347       unsigned int  m_numberOfTextured;
00348   };
00349
00351   class StatNode : public StatObject
00352   {
00353   };
00354
00356   class StatGroup : public StatNode
00357   {
00358     public:
00359       StatGroup() : m_numberOfChildren(0) {}
00360
00361     public:
00362       unsigned int                        m_numberOfChildren;
00363       std::map<unsigned int,unsigned int> m_childrenHistogram;
00364   };
00365
00367   class StatIndexAnimation : public StatAnimationState
00368   {
00369   };
00370
00372   class StatLOD : public StatGroup
00373   {
00374   };
00375
00377   class StatMapObject : public StatObject
00378   {
00379   };
00380
00382   class StatMapArray : public StatMapObject
00383   {
00384   };
00385
00387   class StatMapElement : public StatMapObject
00388   {
00389   };
00390
00392   class StatMapList : public StatObject
00393   {
00394   };
00395
00397   class StatMapMatrix : public StatMapObject
00398   {
00399   };
00400
00402   class StatBillboard : public StatGroup
00403   {
00404   };
00405
00407   class StatTransform : public StatGroup
00408   {
00409   };
00410
00412   class StatFlipbookAnimation : public StatGroup
00413   {
00414   };
00415
00417   class StatIndexAnimationDescription : public StatObject
00418   {
00419   };
00420
00422   class StatFramedIndexAnimationDescription : public StatIndexAnimationDescription
00423   {
00424   };
00425
00427   class StatTrafoAnimationDescription : public StatObject
00428   {
00429   };
00430
00432   class StatKeyFramedTrafoAnimationDescription : public StatTrafoAnimationDescription
00433   {
00434   };
00435
00437   class StatLinearInterpolatedTrafoAnimationDescription : public StatKeyFramedTrafoAnimationDescription
00438   {
00439   };
00440
00442   class StatFramedTrafoAnimationDescription : public StatTrafoAnimationDescription
00443   {
00444   };
00445
00447   class StatVertexAttributeAnimationDescription : public StatObject
00448   {
00449   };
00450
00452   class StatKeyFramedVertexAttributeAnimationDescription : public StatVertexAttributeAnimationDescription
00453   {
00454   };
00455
00457   class StatLinearInterpolatedVertexAttributeAnimationDescription : public StatKeyFramedVertexAttributeAnimationDescription
00458   {
00459   };
00460
00462   class StatFramedVertexAttributeAnimationDescription : public StatVertexAttributeAnimationDescription
00463   {
00464   };
00465
00467   class StatAnimatedTransform : public StatTransform
00468   {
00469   };
00470
00472   class StatAnimatedVertexAttributeSet : public StatVertexAttributeSet
00473   {
00474     public:
00475       StatAnimatedVertexAttributeSet() : m_numberOfAnimations(0)  {}
00476
00477     public:
00478       unsigned int                        m_numberOfAnimations;
00479       std::map<unsigned int,unsigned int> m_animationsHistogram;
00480   };
00481
00483   class StatSwitch : public StatGroup
00484   {
00485   };
00486
00488   class StatLightSource : public StatNode
00489   {
00490   };
00491
00493   class StatDirectedLight : public StatLightSource
00494   {
00495   };
00496
00498   class StatPointLight : public StatLightSource
00499   {
00500     public:
00501       StatPointLight() : m_numberOfAttenuated(0)  {}
00502
00503     public:
00504       unsigned int  m_numberOfAttenuated;
00505   };
00506
00508   class StatSpotLight : public StatLightSource
00509   {
00510     public:
00511       StatSpotLight() : m_numberOfAttenuated(0)  {}
00512
00513     public:
00514       unsigned int  m_numberOfAttenuated;
00515   };
00516
00518   class StatShape : public StatObject
00519   {
00520   };
00521
00523   class StatGeoNode : public StatNode
00524   {
00525     public:
00526       StatGeoNode() : m_numberOfStateSets(0) {}
00527
00528     public:
00529       unsigned int  m_numberOfStateSets;
00530   };
00531
00533   class StatStateAttribute : public StatObject
00534   {
00535   };
00536
00538   class StatLightingAttribute : public StatStateAttribute
00539   {
00540   };
00541
00543   class StatAlphaTestAttribute : public StatStateAttribute
00544   {
00545   };
00546
00548   class StatBlendAttribute : public StatStateAttribute
00549   {
00550   };
00551
00553   class StatCgFx : public StatStateAttribute
00554   {
00555     public:
00556       StatCgFx()  : m_numberOfTechniques(0), m_numberOfPasses(0) {}
00557
00558     public:
00559       unsigned int  m_numberOfTechniques;
00560       unsigned int  m_numberOfPasses;
00561   };
00562
00564   class StatDepthAttribute : public StatStateAttribute
00565   {
00566   };
00567
00569   class StatMaterial : public StatStateAttribute
00570   {
00571     public:
00572       StatMaterial() : m_numberOfTransparent(0) {}
00573
00574     public:
00575       unsigned int  m_numberOfTransparent;
00576   };
00577
00579   class StatFaceAttribute : public StatStateAttribute
00580   {
00581     public:
00582       StatFaceAttribute()  : m_numberOfTwoSidedLighting(0) {}
00583
00584     public:
00585       unsigned int  m_numberOfTwoSidedLighting;
00586   };
00587
00589   class StatLineAttribute : public StatStateAttribute
00590   {
00591   };
00592
00594   class StatPointAttribute : public StatStateAttribute
00595   {
00596   };
00597
00599   class StatRTFx : public StatStateAttribute
00600   {
00601     public:
00602       StatRTFx() : m_numberOfParameters(0), m_numberOfTextures(0) {}
00603
00604     public:
00605       unsigned int m_numberOfParameters;
00606       unsigned int m_numberOfTextures;
00607   };
00608
00610   class StatRTFxProgram : public StatObject
00611   {
00612     public:
00613       StatRTFxProgram() : m_numberOfFileDefined(0), m_numberOfLumpDefined(0)
00614                         , m_numberOfParameters(0), m_numberOfDefinedParameters(0)
00615                         , m_numberOfRayTypes(0), m_numberOfEntryPoints(0), m_numberOfPTXFormats(0)
00616                         , m_numberOfCUDAFormats(0), m_numberOfTextures(0) {}
00617
00618     public:
00619       unsigned int m_numberOfFileDefined;
00620       unsigned int m_numberOfLumpDefined;
00621       unsigned int m_numberOfParameters;
00622       unsigned int m_numberOfDefinedParameters;
00623       unsigned int m_numberOfRayTypes;
00624       unsigned int m_numberOfEntryPoints;
00625       unsigned int m_numberOfPTXFormats;
00626       unsigned int m_numberOfCUDAFormats;
00627       unsigned int m_numberOfTextures;
00628   };
00629
00631   class StatTextureAttribute : public StatStateAttribute
00632   {
00633   };
00634
00636   class StatTextureAttributeItem : public StatObject
00637   {
00638   };
00639
00641   class StatTrafoAnimation : public StatAnimationState
00642   {
00643   };
00644
00646   class StatStateSet : public StatObject
00647   {
00648     public:
00649       StatStateSet()  : m_numberOfVariants(0) {}
00650
00651     public:
00652       unsigned int  m_numberOfVariants;
00653   };
00654
00656   class StatStateVariant : public StatObject
00657   {
00658     public:
00659       StatStateVariant()  : m_numberOfPasses(0) {}
00660
00661     public:
00662       unsigned int  m_numberOfPasses;
00663   };
00664
00666   class StatTexture : public StatisticsBase
00667   {
00668     public:
00669       StatTexture() : m_numImages(0), m_sumOfSizes(0) {}
00670
00671     public:
00672       unsigned int                m_numImages;
00673       std::map<int,unsigned int>  m_widths;
00674       std::map<int,unsigned int>  m_heights;
00675       std::map<int,unsigned int>  m_depths;
00676       std::map<int,unsigned int>  m_sizes;
00677       unsigned int                m_sumOfSizes;
00678   };
00679
00681   class Statistics
00682   {
00683     public:
00684       StatAlphaTestAttribute                          m_statAlphaTestAttribute;
00685       StatAnimatedTransform                           m_statAnimatedTransform;
00686       StatAnimatedVertexAttributeSet                  m_statAnimatedVertexAttributeSet;
00687       StatBillboard                                   m_statBillboard;
00688       StatBlendAttribute                              m_statBlendAttribute;
00689       StatCgFx                                        m_statCgFx;
00690       StatDepthAttribute                              m_statDepthAttribute;
00691       StatDirectedLight                               m_statDirectedLight;
00692       StatFaceAttribute                               m_statFaceAttribute;
00693       StatFlipbookAnimation                           m_statFlipbookAnimation;
00694       StatFramedIndexAnimationDescription             m_statFramedIndexAnimationDescription;
00695       StatFramedTrafoAnimationDescription             m_statFramedTrafoAnimationDescription;
00696       StatFramedVertexAttributeAnimationDescription   m_statFramedVertexAttributeAnimationDescription;
00697       StatGeoNode                                     m_statGeoNode;
00698       StatGroup                                       m_statGroup;
00699       StatIndexAnimation                              m_statIndexAnimation;
00700       StatLightingAttribute                           m_statLightingAttribute;
00701       StatLinearInterpolatedTrafoAnimationDescription m_statLinearInterpolatedTrafoAnimationDescription;
00702       StatLinearInterpolatedVertexAttributeAnimationDescription m_statLinearInterpolatedVertexAttributeAnimationDescription;
00703       StatLineAttribute                               m_statLineAttribute;
00704       StatLines                                       m_statLines;
00705       StatLineStrips                                  m_statLineStrips;
00706       StatLOD                                         m_statLOD;
00707       StatMapArray                                    m_statMapArray;
00708       StatMapElement                                  m_statMapElement;
00709       StatMapList                                     m_statMapList;
00710       StatMapMatrix                                   m_statMapMatrix;
00711       StatMaterial                                    m_statMaterial;
00712       StatMatrixCamera                                m_statMatrixCamera;
00713       StatParallelCamera                              m_statParallelCamera;
00714       StatPatches                                     m_statPatches;
00715       StatPerspectiveCamera                           m_statPerspectiveCamera;
00716       StatPointAttribute                              m_statPointAttribute;
00717       StatPointLight                                  m_statPointLight;
00718       StatPoints                                      m_statPoints;
00719       StatPrimitive                                   m_statPrimitives;
00720       StatQuadMeshes                                  m_statQuadMeshes;
00721       StatQuadPatches                                 m_statQuadPatches;
00722       StatQuadPatches4x4                              m_statQuadPatches4x4;
00723       StatQuads                                       m_statQuads;
00724       StatQuadStrips                                  m_statQuadStrips;
00725       StatRectPatches                                 m_statRectPatches;
00726       StatRTFx                                        m_statRTFx;
00727       StatRTFxProgram                                 m_statRTFxProgram;
00728       StatSpotLight                                   m_statSpotLight;
00729       StatShape                                       m_statShape;
00730       StatSkin                                        m_statSkin;
00731       StatStatePass                                   m_statStatePass;
00732       StatStateSet                                    m_statStateSet;
00733       StatStateVariant                                m_statStateVariant;
00734       StatSwitch                                      m_statSwitch;
00735       StatTexture                                     m_statTexture;
00736       StatTextureAttribute                            m_statTextureAttribute;
00737       StatTextureAttributeItem                        m_statTextureAttributeItem;
00738       StatTrafoAnimation                              m_statTrafoAnimation;
00739       StatTransform                                   m_statTransform;
00740       StatTriangles                                   m_statTriangles;
00741       StatTriFans                                     m_statTriFans;
00742       StatTriPatches                                  m_statTriPatches;
00743       StatTriPatches4                                 m_statTriPatches4;
00744       StatTriStrips                                   m_statTriStrips;
00745       StatVertexAttributeAnimation                    m_statVertexAttributeAnimation;
00746       StatVertexAttributeSet                          m_statVertexAttributeSet;
00747   };
00748
00750   class StatisticsTraverser : public nvtraverser::SharedTraverser
00751   {
00752     public:
00754       NVSG_API StatisticsTraverser(void);
00755
00757       NVSG_API const Statistics  * getStatistics( void ) const;
00758
00760
00761       NVSG_API void  statCamera( const nvsg::Camera *p, StatCamera &stats );
00762
00764
00765       NVSG_API void  statDrawable( const nvsg::Drawable *p, StatDrawable &stats );
00766
00768
00769       NVSG_API void  statFrustumCamera( const nvsg::FrustumCamera *p, StatFrustumCamera &stats );
00770
00772
00773       NVSG_API void  statGroup( const nvsg::Group *p, StatGroup &stats );
00774
00776
00777       NVSG_API void  statLightSource( const nvsg::LightSource *p, StatLightSource &stats );
00778
00781       NVSG_API void  statMeshedPrimitiveSet( const nvsg::MeshedPrimitiveSet *p, StatMeshedPrimitiveSet &stats );
00782
00784
00785       NVSG_API void  statNode( const nvsg::Node *p, StatNode &stats );
00786
00788
00789       NVSG_API void  statObject( const nvsg::Object *p, StatObject &stats );
00790
00792
00793       NVSG_API void  statPatchesBase( const nvsg::PatchesBase *p, StatPatchesBase &stats );
00794
00796
00797       NVSG_API void  statPrimitiveSet( const nvsg::PrimitiveSet *p, StatPrimitiveSet &stats );
00798
00800
00801       NVSG_API void  statPrimitive( const nvsg::Primitive *p, StatPrimitive &stats );
00802
00804
00805       NVSG_API void  statQuads( const nvsg::Quads *p, StatQuads &stats );
00806
00808
00809       NVSG_API void  statStateAttribute( const nvsg::StateAttribute *p, StatStateAttribute &stats );
00810
00813       NVSG_API void statStrippedPrimitiveSet( const nvsg::StrippedPrimitiveSet *p, StatStrippedPrimitiveSet &stats );
00814
00816
00817       NVSG_API void statTransform( const nvsg::Transform *p, StatTransform &stats );
00818
00820
00821       NVSG_API void statTriangles( const nvsg::Triangles *p, StatTriangles &stats );
00822
00824
00830       NVSG_API void statVertexAttributeSet( const nvsg::VertexAttributeSet *p, StatVertexAttributeSet &stats );
00831
00834       NVSG_API void statSkin( const nvsg::Skin *p, StatSkin &stats );
00835
00838       NVSG_API void statMapObject( const nvsg::MapObject * p, StatMapObject & stats );
00839
00842       NVSG_API void statAnimationState( const nvsg::AnimationState * p, StatAnimationState & stats );
00843
00846       NVSG_API void statIndexAnimationDescription( const nvsg::AnimationDescription<unsigned int> * p, StatIndexAnimationDescription & stats );
00847
00850       NVSG_API void statTrafoAnimationDescription( const nvsg::AnimationDescription<nvmath::Trafo> * p, StatTrafoAnimationDescription & stats );
00851
00854       NVSG_API void statVertexAttributeAnimationDescription( const nvsg::AnimationDescription<nvsg::VertexAttribute> * p, StatVertexAttributeAnimationDescription & stats );
00855
00856     protected:
00858       NVSG_API virtual ~StatisticsTraverser(void);
00859
00860       //--  Functions implemented from Traverser --
00862
00864       NVSG_API virtual void  handleAnimatedTransform( const nvsg::AnimatedTransform *p
00865                                         );
00866
00867       NVSG_API virtual void  handleAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet *avas );
00868
00870
00871       NVSG_API virtual void  handleBillboard( const nvsg::Billboard *p
00872                                    );
00873
00875
00876       NVSG_API virtual void  handleBlendAttribute( const nvsg::BlendAttribute *p
00877                                         );
00878
00880
00882       NVSG_API virtual void  handleCgFx( const nvsg::CgFx *p
00883                               );
00884
00886
00887       NVSG_API virtual void  handleDepthAttribute( const nvsg::DepthAttribute *p
00888                                         );
00889
00891       NVSG_API virtual void  handleDirectedLight( const nvsg::DirectedLight *p
00892                                        );
00893
00895
00898       NVSG_API virtual void  handleFaceAttribute( const nvsg::FaceAttribute *p
00899                                        );
00900
00902
00904       NVSG_API virtual void  handleFlipbookAnimation( const nvsg::FlipbookAnimation *p
00905         );
00906
00908
00910       NVSG_API virtual void  handleGeoNode( const nvsg::GeoNode *p
00911                                         );
00912
00914
00915       NVSG_API virtual void  handleGroup( const nvsg::Group *p
00916                                );
00917
00919
00920       NVSG_API virtual void  handleLineAttribute( const nvsg::LineAttribute *p
00921                                        );
00922
00924
00926       NVSG_API virtual void  handleLines( const nvsg::Lines *p
00927                                );
00928
00930
00932       NVSG_API virtual void  handleLineStrips( const nvsg::LineStrips *p
00933                                     );
00934
00936
00937       NVSG_API virtual void  handleLOD( const nvsg::LOD *p
00938                              );
00939
00941
00943       NVSG_API virtual void  handleMaterial( const nvsg::Material *p
00944                                   );
00945
00947
00948       NVSG_API virtual void  handleMatrixCamera( const nvsg::MatrixCamera *p
00949                                         );
00950
00952
00953       NVSG_API virtual void  handleParallelCamera( const nvsg::ParallelCamera *p
00954                                         );
00955
00957
00958       NVSG_API virtual void  handlePerspectiveCamera( const nvsg::PerspectiveCamera *p
00959                                         );
00960
00962
00963       NVSG_API virtual void  handlePointAttribute( const nvsg::PointAttribute *p
00964                                         );
00965
00967
00969       NVSG_API virtual void  handlePointLight( const nvsg::PointLight *p
00970                                     );
00971
00973
00974       NVSG_API virtual void  handlePoints( const nvsg::Points *p
00975                                 );
00976
00978
00979       NVSG_API virtual void  handlePrimitive( const nvsg::Primitive *p
00980                                 );
00981
00983
00985       NVSG_API virtual void  handleQuadMeshes( const nvsg::QuadMeshes *p
00986         );
00987
00989
00991       NVSG_API virtual void  handleQuadPatches( const nvsg::QuadPatches *p
00992                                         );
00993
00995
00997       NVSG_API virtual void  handleQuadPatches4x4( const nvsg::QuadPatches4x4 *p
00998                                         );
00999
01001
01003       NVSG_API virtual void  handleQuads( const nvsg::Quads *p
01004                                         );
01005
01007
01009       NVSG_API virtual void  handleQuadStrips( const nvsg::QuadStrips *p
01010                                         );
01011
01013
01015       NVSG_API virtual void  handleRectPatches( const nvsg::RectPatches *p
01016                                         );
01017
01021       NVSG_API virtual void handleRTFx( const nvsg::RTFx * p );
01022
01024       NVSG_API virtual void handleRTFxProgram( const nvsg::RTFxProgram * p );
01025
01027       NVSG_API virtual void handleSkin( const nvsg::Skin * p );
01028
01030
01032       NVSG_API virtual void  handleSpotLight( const nvsg::SpotLight *p
01033                                    );
01034
01036
01039       NVSG_API virtual void  handleStateSet( const nvsg::StateSet *p
01040                                         );
01041
01043
01044       NVSG_API virtual void  handleSwitch( const nvsg::Switch *p
01045                                         );
01046
01048
01051       NVSG_API virtual void  handleTextureAttribute( const nvsg::TextureAttribute *p
01052                                         );
01053
01055
01056       NVSG_API virtual void  handleTransform( const nvsg::Transform *p
01057                                         );
01058
01060
01062       NVSG_API virtual void  handleTriangles( const nvsg::Triangles *p
01063                                         );
01064
01066
01068       NVSG_API virtual void  handleTriFans( const nvsg::TriFans *p
01069                                  );
01070
01072
01074       NVSG_API virtual void  handleTriPatches( const nvsg::TriPatches *p
01075                                         );
01076
01078
01080       NVSG_API virtual void  handleTriPatches4( const nvsg::TriPatches4 *p
01081                                         );
01082
01084
01086       NVSG_API virtual void  handleTriStrips( const nvsg::TriStrips *p
01087                                         );
01088
01089       NVSG_API virtual void  handleVertexAttributeSet( const nvsg::VertexAttributeSet *vas );
01090
01091       NVSG_API virtual void handleShape( const nvsg::Shape * shape );
01092
01093       NVSG_API virtual void handleStateVariant( const nvsg::StateVariant * variant );
01094
01095       NVSG_API virtual void handleStatePass( const nvsg::StatePass * pass );
01096
01097       NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem * texAttribItem );
01098
01099       NVSG_API virtual void handleAlphaTestAttribute( const nvsg::AlphaTestAttribute * alphaTestAttrib );
01100
01101       NVSG_API virtual void handleLightingAttribute( const nvsg::LightingAttribute * laAttrib );
01102
01103       NVSG_API virtual void handleMapArray( const nvsg::MapArray * mapArray );
01104
01105       NVSG_API virtual void handleMapElement( const nvsg::MapElement * mapElement );
01106
01107       NVSG_API virtual void handleMapMatrix( const nvsg::MapMatrix * mapMatrix );
01108
01109       NVSG_API virtual void handleMapList( const nvsg::MapList * mapList );
01110
01111       NVSG_API virtual void handleIndexAnimation( const nvsg::Animation<unsigned int> * anim );
01112
01113       NVSG_API virtual void handleTrafoAnimation( const nvsg::Animation<nvmath::Trafo> * anim );
01114
01115       NVSG_API virtual void handleVertexAttributeAnimation( const nvsg::Animation<nvsg::VertexAttribute> * anim );
01116
01117       NVSG_API virtual void handleFramedIndexAnimationDescription( const nvsg::FramedAnimationDescription<unsigned int> * anim );
01118
01119       NVSG_API virtual void handleFramedTrafoAnimationDescription( const nvsg::FramedAnimationDescription<nvmath::Trafo> * trafo );
01120
01121       NVSG_API virtual void handleFramedVertexAttributeAnimationDescription( const nvsg::FramedAnimationDescription<nvsg::VertexAttribute> *p );
01122
01123       NVSG_API virtual void handleLinearInterpolatedTrafoAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> * trafo );
01124
01125       NVSG_API virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> *p );
01126
01127     private:
01128       Statistics  * m_statistics;
01129   };
01130
01132   NVSG_API std::ostream& operator<<( std::ostream& os, const StatisticsTraverser& obj );
01133
01134   inline const Statistics * StatisticsTraverser::getStatistics( void ) const
01135   {
01136     return( m_statistics );
01137   }
01138 }
01139
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StencilAttribute.h File Reference

inc / nvsg / nvsg

StencilAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for StencilAttribute.h:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum StencilFunction {
SF_NEVER, SF_ALWAYS, SF_LESS, SF_LESS_OR_EQUAL,
SF_EQUAL, SF_GREATER_OR_EQUAL, SF_GREATER, SF_NOT_EQUAL
}
Enumeration to control the stencil function. More...
enum StencilOperation {
SO_KEEP, SO_ZERO, SO_REPLACE, SO_INCREMENT,
SO_DECREMENT, SO_INVERT, SO_INCREMENT_WRAP, SO_DECREMENT_WRAP
}
Enumeration to control the stencil operation. More...
enum | StencilSide { SS_FRONT, SS_BACK }
Controls the set of stencil state that are affected by the setStencil* functions. More...

Detailed Description

Enumeration Type Documentation

enum StencilFunction

Enumeration to control the stencil function.

Namespace: nvsg
Remarks:
A fragment is drawn depending on the outcome of a stencil function, which in turn evaluates a threshold, a mask and the stencil value of the fragment.
See also:
StencilAttribute::setStencilFunction
Enumeration values:
SF_NEVER | The fragment is never drawn.
SF_ALWAYS | The fragment is always drawn.
SF_LESS | The fragment is drawn if (treshold & mask) < (value & mask).
SF_LESS_OR_EQUAL | The fragment is drawn if (treshold & mask) <= (value & mask).
SF_EQUAL | The fragment is drawn if (treshold & mask) == (value & mask).
SF_GREATER_OR_EQUAL | The fragment is drawn if (treshold & mask) >= (value & mask).
SF_GREATER | The fragment is drawn if (treshold & mask) > (value & mask).
SF_NOT_EQUAL | The fragment is drawn if (treshold & mask) != (value & mask).

enum StencilOperation

Enumeration to control the stencil operation.

Namespace: nvsg
Remarks:
The operation is applied depending on the state of the fragment, see setStencilOperation.
See also:
StencilAttribute::setStencilOperation
Enumeration values:
SO_KEEP | Keep the current value.
SO_ZERO | Set the stencil buffer to 0.
SO_REPLACE | Set the stencil buffer to threshold, see setThreshold.
SO_INCREMENT | Increments the current stencil buffer value. Clamps to the maximum representable unsigned value.
SO_DECREMENT | Decrements the current stencil buffer value. Clamps to 0.
SO_INVERT | Bitwise inverts the current stencil buffer value.
SO_INCREMENT_WRAP | Increments the current stencil buffer value. Wraps stencil buffer value to zero when incrementing the maximum representable unsigned value.
SO_DECREMENT_WRAP | Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of zero.

enum StencilSide

Controls the set of stencil state that are affected by the setStencil* functions.

Namespace: nvsg
Remarks:
The stencil functionality can be applied to both back faces and front faces. The setStencil* functions all have a parameter to control which faces are affected.
See also:
StencilAttribute, StencilAttribute::setStencilFunction, StencilAttribute::setStencilOperation
Enumeration values:
SS_FRONT | Set stencil state for front faces.
SS_BACK | Set stencil state for back faces.

Generated on Fri Jul 13 13:28:27 2012 for SceniX


SceniX: StencilAttribute.h Source File

inc / nvsg / nvsg

StencilAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StateAttribute.h"
00017 #include "nvutil/HashGenerator.h"
00018
00019 namespace nvsg
00020 {
00021
00027 typedef enum
00028 {
00029   SF_NEVER,
00030   SF_ALWAYS,
00031   SF_LESS,
00032   SF_LESS_OR_EQUAL,
00033   SF_EQUAL,
00034   SF_GREATER_OR_EQUAL,
00035   SF_GREATER,
00036   SF_NOT_EQUAL
00037 } StencilFunction;
00038
00043 typedef enum
00044 {
00045   SO_KEEP,
00046   SO_ZERO,
00047   SO_REPLACE,
00048   SO_INCREMENT,
00049   SO_DECREMENT,
00050   SO_INVERT,
00051   SO_INCREMENT_WRAP,
00052   SO_DECREMENT_WRAP,
00053 } StencilOperation;
00054
00060 typedef enum
00061 {
00062   SS_FRONT,
00063   SS_BACK,
00064 } StencilSide;
00065
00071 class StencilAttribute : public StateAttribute
00072 {
00073     public:
00074       NVSG_API static StencilAttributeSharedPtr create();
00075
00076 public:
00095   NVSG_API void setStencilFunction(StencilFunction func, int refVal, unsigned int valMask, StencilSide side = SS_FRONT );
00096
00101   NVSG_API StencilFunction getStencilFunction( StencilSide side = SS_FRONT ) const;
00102
00107   NVSG_API int getStencilRefenceValue( StencilSide side = SS_FRONT ) const;
00108
00113   NVSG_API unsigned int getStencilValueMask( StencilSide side = SS_FRONT ) const;
00114
00133   NVSG_API void setStencilOperation(StencilOperation fail, StencilOperation zfail, StencilOperation zpass, StencilSide side = SS_FRONT);
00134
00139   NVSG_API StencilOperation getStencilFailOperation( StencilSide side = SS_FRONT ) const;
00140
00146   NVSG_API StencilOperation getStencilZFailOperation( StencilSide side = SS_FRONT ) const;
00147
00153   NVSG_API StencilOperation getStencilZPassOperation( StencilSide side = SS_FRONT ) const;
00154
00160   NVSG_API void setStencilSeparateEnabled(bool separate);
00161
00166   NVSG_API bool isStencilSeparateEnabled() const;
00167
00173   NVSG_API void setStencilTestingEnabled(bool testing);
00174
00179   NVSG_API bool isStencilTestingEnabled() const;
00180
00189   NVSG_API void setStencilWriteMask(unsigned int mask, StencilSide side = SS_FRONT);
00190
00195   NVSG_API unsigned int getStencilWriteMask( StencilSide side = SS_FRONT ) const;
00196
00210   NVSG_API bool isEquivalent(const Object * object , bool ignoreNames, bool deepCompare) const;
00211
00212   REFLECTION_INFO_API( NVSG_API, StencilAttribute );
00213 protected:
00214   friend struct nvutil::Holder<StencilAttribute>;
00215
00223   NVSG_API StencilAttribute();
00224
00231   NVSG_API StencilAttribute(const StencilAttribute& rhs);
00232
00236   NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00237
00238 private:
00239   bool m_testing;   // do the test or not?
00240   bool m_separate;  // use two-sided variant or only front values?
00241
00242   struct StencilFace
00243   {
00244     StencilFace();
00245
00246     unsigned int m_writeMask; // indicates which bit planes to write to
00247
00248     // operations to perform depending on test results
00249     //
00250     StencilOperation m_fail;  // operation performed if fragment fails the stencil test
00251     StencilOperation m_zfail; // operation performed if fragment passes the test, and fails the depth test
00252     StencilOperation m_zpass; // operation performed if fragment passes the test, and passes the depth test
00253
00254     // stencil function parameters
00255     //
00256     StencilFunction m_func; // stencil function
00257     int m_refVal; // reference value
00258     unsigned int m_valMask; // apply reference value comparison only to those bits set in this mask
00259   };
00260
00261   StencilFace  m_faces[2]; // front and back state
00262
00263 };
00264
00265 } // namespace
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: STLAllocator.h File Reference

inc / nvsg / nvutil

STLAllocator.h File Reference

#include <nvutil/Allocator.h>
#include <list>
#include <map>
#include <set>
#include <vector>
#include <stddef.h>

Include dependency graph for STLAllocator.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:28 2012 for SceniX


SceniX: STLAllocator.h Source File

inc / nvsg / nvutil

STLAllocator.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <nvutil/Allocator.h>
00016 #include <list>
00017 #include <map>
00018 #include <set>
00019 #include <vector>
00020 #include <stddef.h>
00021
00022 namespace nvutil
00023 {
00024 #if defined(WIN32)
00025   template <typename T> class STLAllocator;
00026
00027   template <> class STLAllocator<void>
00028   {
00029     public:
00030       typedef void* pointer;
00031       typedef const void* const_pointer;
00032       // reference to void members are impossible.
00033       typedef void value_type;
00034       template <class U> struct rebind { typedef STLAllocator<U> other; };
00035   };
00036
00037   template <typename T>
00038   class STLAllocator
00039   {
00040     public:
00041       typedef size_t size_type;
00042       typedef ptrdiff_t difference_type;
00043       typedef T* pointer;
00044       typedef const T* const_pointer;
00045       typedef T& reference;
00046       typedef const T& const_reference;
00047       typedef T value_type;
00048
00049       template <class U>
00050           struct rebind { typedef STLAllocator<U> other; };
00051
00052       STLAllocator()                                              {}
00053       template <class U> STLAllocator( const STLAllocator<U> & )  {}
00054       ~STLAllocator()                                             {}
00055
00056       pointer       address( reference x ) const        { return( & x ); }
00057       const_pointer address( const_reference x ) const  { return( & x) ; }
00058       size_type     max_size() const throw()            { return( size_t(-1) / sizeof(value_type) ); }
00059
00060       pointer allocate( size_type size, STLAllocator<void>::const_pointer hint = 0 )
00061       {
00062         return( static_cast<pointer>(nvutil::Singleton<nvutil::Allocator>::instance()->alloc( size * sizeof(T) )) );
00063       }
00064
00065       void deallocate( pointer p, size_type n )
00066       {
00067         nvutil::Singleton<nvutil::Allocator>::instance()->dealloc( p, n * sizeof(T) );
00068       }
00069
00070       void deallocate(void *p, size_type n)
00071       {
00072         nvutil::Singleton<nvutil::Allocator>::instance()->dealloc( p, n * sizeof(T) );
00073       }
00074
00075       void construct( pointer p, const T & val )
00076       {
00077         new(static_cast<void*>(p)) T(val);
00078       }
00079
00080       void construct( pointer p )
00081       {
00082         new(static_cast<void*>(p)) T();
00083       }
00084
00085       void destroy( pointer p )
00086       {
00087         p->~T();
00088       }
00089   };
00090
00091   template <typename T, typename U>
00092   inline bool operator==( const STLAllocator<T> &, const STLAllocator<U> & )  { return( true ); }
00093
00094   template <typename T, typename U>
00095   inline bool operator!=( const STLAllocator<T> &, const STLAllocator<U> & )  { return( false ); }
00096
00097
00098   template <typename T>
00099   class STLList : public std::list<T,STLAllocator<T> >
00100   {
00101   };
00102
00103   template <typename S, typename T>
00104   class STLMap : public std::map<S,T,std::less<S>,STLAllocator<std::pair<S,T> > >
00105   {
00106   };
00107
00108   template <typename S, typename T>
00109   class STLMultimap : public std::multimap<S,T,std::less<S>,STLAllocator<std::pair<S,T> > >
00110   {
00111   };
00112
00113   template <typename T>
00114   class STLMultiset : public std::multiset<T,std::less<T>, STLAllocator<T> >
00115   {
00116   };
00117
00118   template <typename T>
00119   class STLSet : public std::set<T,std::less<T>,STLAllocator<T> >
00120   {
00121   };
00122
00123   template <typename T>
00124   class STLVector : public std::vector<T,STLAllocator<T> >
00125   {
00126   };
00127 #elif defined(LINUX)
00128   template <typename T>
00129   class STLList : public std::list<T>
00130   {
00131   };
00132
00133   template <typename S, typename T>
00134   class STLMap : public std::map<S,T>
00135   {
00136   };
00137
00138   template <typename S, typename T>
00139   class STLMultimap : public std::multimap<S,T>
00140   {
00141   };
00142
00143   template <typename T>
00144   class STLMultiset : public std::multiset<T>
00145   {
00146   };
00147
00148   template <typename T>
00149   class STLSet : public std::set<T>
00150   {
00151   };
00152
00153   template <typename T>
00154   class STLVector : public std::vector<T>
00155   {
00156   };
00157 #endif
00158 } // namespace nvutil
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StrippedPrimitiveSet.h File Reference

inc / nvsg / nvsg

StrippedPrimitiveSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/PrimitiveSet.h"
#include "nvsg/nvsg.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for StrippedPrimitiveSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Functions

NVSG_API void | copy (const StrippedPrimitiveSetReadLock &src, const StrippedPrimitiveSetWriteLock &dst)

Detailed Description

Generated on Fri Jul 13 13:28:29 2012 for SceniX


SceniX: StrippedPrimitiveSet.h Source File

inc / nvsg / nvsg

StrippedPrimitiveSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/PrimitiveSet.h"
00017 #include "nvsg/nvsg.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00028   class StrippedPrimitiveSet : public PrimitiveSet
00029   {
00030     public:
00032       NVSG_API virtual ~StrippedPrimitiveSet( void );
00033
00043       NVSG_API virtual bool isDataShared( void ) const;
00044
00052       NVSG_API virtual DataID getDataID( void ) const;
00053
00057       NVSG_API bool hasStrips( void )  const;
00058
00062       NVSG_API unsigned int getNumberOfStrips( void ) const;
00063
00067       NVSG_API const IndexList * getStrips() const;
00068
00076       NVSG_API void setStrips( const IndexList * strips, unsigned int numStrips );
00077
00094       NVSG_API void setStrips( unsigned int pos, const IndexList * strips, unsigned int numStrips );
00095
00106       NVSG_API virtual bool isEquivalent( const Object * p
00107                                         , bool ignoreNames
00108                                         , bool deepCompare
00109                                         ) const;
00110
00111       REFLECTION_INFO_API( NVSG_API, StrippedPrimitiveSet );
00112     protected:
00117       NVSG_API StrippedPrimitiveSet( void );
00118
00124       NVSG_API StrippedPrimitiveSet( const StrippedPrimitiveSet& rhs );
00125
00130       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00131
00136       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00137
00143       NVSG_API StrippedPrimitiveSet & operator=(const StrippedPrimitiveSet & rhs);
00144
00148       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00149
00150     private:
00151       nvutil::SmartPtr<nvutil::RCVector<IndexList> > m_strips;
00152   };
00153
00154   NVSG_API void copy( const StrippedPrimitiveSetReadLock & src, const StrippedPrimitiveSetWriteLock & dst );
00155
00156   // - - - - - - - - - - - - - - - - - - - - - - - - -
00157   // inlines
00158   // - - - - - - - - - - - - - - - - - - - - - - - - -
00159
00160   inline bool StrippedPrimitiveSet::hasStrips()  const
00161   {
00162     return( !m_strips->empty() );
00163   }
00164
00165   inline unsigned int StrippedPrimitiveSet::getNumberOfStrips()  const
00166   {
00167     return( checked_cast<unsigned int>(m_strips->size()) );
00168   }
00169
00170   inline const IndexList * StrippedPrimitiveSet::getStrips( void ) const
00171   {
00172     NVSG_TRACE();
00173     return( &(*m_strips)[0] );
00174   }
00175 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StrippingTraverser.h File Reference

inc / nvsg / nvtraverser

StrippingTraverser.h File Reference

#include <list>
#include <map>
#include <set>
#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/Face.h"
#include "nvsg/IndependentPrimitiveSet.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for StrippingTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:30 2012 for SceniX


SceniX: StrippingTraverser.h Source File

inc / nvsg / nvtraverser

StrippingTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <list>
00016 #include <map>
00017 #include <set>
00018 #include "nvsgcommon.h"
00019 #include "nvsg/nvsg.h"
00020 #include "nvsg/Face.h"
00021 #include "nvsg/IndependentPrimitiveSet.h"
00022 #include "nvtraverser/Traverser.h"
00023
00024 namespace nvtraverser
00025 {
00026
00028
00030   class StrippingTraverser : public ExclusiveTraverser
00031   {
00032     public:
00034       NVSG_API StrippingTraverser(void);
00035
00036     protected:
00038       NVSG_API virtual ~StrippingTraverser(void);
00039
00041
00043       NVSG_API virtual void postApply( const nvsg::NodeSharedPtr & root );
00044
00046       NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00047
00049       NVSG_API virtual void handleAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * p );
00050
00052       NVSG_API virtual void handleSkin( nvsg::Skin * p );
00053
00056       NVSG_API virtual bool optimizationAllowed( const nvsg::Object *p );
00057
00058     private:
00059       void changeToStrips( nvsg::Primitive * p );
00060
00061     private:
00062       bool                                                      m_containsComplexVAS;
00063       std::map<nvsg::QuadsWeakPtr,nvsg::QuadStripsSharedPtr>    m_quadsToQuadStrips;
00064       std::map<nvsg::TrianglesWeakPtr,nvsg::TriStripsSharedPtr> m_trianglesToTriStrips;
00065       std::set<nvsg::GeoNodeWeakPtr>                            m_handledGeoNodes;
00066   };
00067 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Switch.h File Reference

inc / nvsg / nvsg

Switch.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Group.h"
#include "nvutil/HashGenerator.h"
#include <set>
#include <map>

Include dependency graph for Switch.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:30 2012 for SceniX


SceniX: Switch.h Source File

inc / nvsg / nvsg

Switch.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h" // stuff commonly required
00016 #include "nvsg/Group.h" // base class definition
00017 #include "nvutil/HashGenerator.h"
00018 // additional dependencies
00019 #include <set>
00020 #include <map>
00021
00022 namespace nvsg
00023 {
00100   class Switch : public Group
00101   {
00102     public:
00103       NVSG_API static SwitchSharedPtr create();
00104
00105     public:
00106
00109       typedef unsigned int      MaskKey;
00114       typedef std::set<unsigned int>  SwitchMask;
00118       typedef std::map<MaskKey,SwitchMask>::const_iterator MaskIterator;
00122       enum { DEFAULT_MASK_KEY = ~0 };
00123
00127       NVSG_API void setActive();
00128
00135       NVSG_API void setActive(unsigned int index);
00136
00140       NVSG_API void setInactive();
00141
00148       NVSG_API void setInactive(unsigned int index);
00149
00155       NVSG_API unsigned int getNumberOfActive() const;
00156
00164       NVSG_API unsigned int getActive(std::vector<unsigned int>& indices) const;
00165
00171       NVSG_API bool isActive() const;
00172
00178       NVSG_API bool isActive(unsigned int index) const;
00179
00185       NVSG_API Switch & operator=(const Switch & rhs);
00186
00195       NVSG_API virtual bool isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const;
00196
00201       NVSG_API unsigned int getNumberOfMasks() const;
00202
00206       NVSG_API MaskIterator getFirstMaskIterator() const;
00207
00211       NVSG_API MaskIterator getLastMaskIterator() const;
00212
00216       NVSG_API MaskIterator getCurrentMaskIterator() const;
00217
00222       NVSG_API MaskIterator getNextMaskIterator(MaskIterator it) const;
00223
00228       NVSG_API MaskKey getMaskKey(MaskIterator it) const;
00229
00234       NVSG_API const SwitchMask & getSwitchMask(MaskIterator it) const;
00235
00239       NVSG_API MaskKey getActiveMaskKey() const;
00240
00247       NVSG_API void setActiveMaskKey( MaskKey k );
00248
00256       NVSG_API void addMask( MaskKey key, const SwitchMask & sm );
00257
00264       NVSG_API bool removeMask( MaskKey key );
00265
00268       NVSG_API const SwitchMask& getActiveSwitchMask() const;
00269
00270       REFLECTION_INFO_API( NVSG_API, Switch );
00271     protected:
00272       friend struct nvutil::Holder<Switch>;
00273
00276       NVSG_API Switch();
00277
00280       NVSG_API Switch(const Switch &rhs);
00281
00284       NVSG_API virtual ~Switch();
00285
00288       typedef std::map<MaskKey,SwitchMask>::iterator NonConstMaskIterator;
00292       NVSG_API virtual void init();
00293
00301       NVSG_API virtual void postRemoveChild(unsigned int index);
00302
00310       NVSG_API virtual void postAddChild(unsigned int index);
00311
00312       NVSG_API virtual void postActivateChild(unsigned int index);
00313       NVSG_API virtual void postDeactivateChild(unsigned int index);
00314
00319       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00320
00328       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere( void ) const;
00329
00330       NVSG_API virtual unsigned short determineHintsContainment( unsigned short hints ) const;
00331       NVSG_API virtual bool determineTransparencyContainment() const;
00332       NVSG_API virtual bool determineShaderContainment() const;
00333       NVSG_API virtual bool determineLightContainment() const;
00334       NVSG_API virtual bool determineLODContainment() const;
00335
00339       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00340
00341       // Property framework
00342     public:
00343       BEGIN_DECLARE_STATIC_PROPERTIES
00344           NVSG_API DECLARE_STATIC_PROPERTY( ActiveMaskKey );
00345           NVSG_API DECLARE_STATIC_PROPERTY( ActiveSwitchMask );
00346       END_DECLARE_STATIC_PROPERTIES
00347
00348     private:
00350       std::map<MaskKey, SwitchMask>  m_masks;
00351       MaskKey                        m_activeMaskKey;
00352
00353       //
00354       // Internal methods to get the activemask
00355       //
00356       inline const SwitchMask & activeMask() const
00357       {
00358         NVSG_TRACE();
00359         NVSG_ASSERT(m_masks.end()!=m_masks.find(m_activeMaskKey));
00360         return (*m_masks.find(m_activeMaskKey)).second;
00361       }
00362
00363       inline SwitchMask & activeMask()
00364       {
00365         NVSG_TRACE();
00366         NVSG_ASSERT(m_masks.end()!=m_masks.find(m_activeMaskKey));
00367         return m_masks[ m_activeMaskKey ];
00368       }
00369   };
00370
00371 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: SWMRSync.h File Reference

inc / nvsg / nvutil

SWMRSync.h File Reference

#include "nvsgcommon.h"
#include "nvsgwindefs.h"
#include <windows.h>
#include <winbase.h>
#include <pthread.h>
#include <map>

Include dependency graph for SWMRSync.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Typedefs

typedef CRITICAL_SECTION | SWMRCriticalSection

Functions

NVSG_API void | EnableLocking ()
Enable locking of the SWMRSync class.

Detailed Description

Typedef Documentation

typedef CRITICAL_SECTION SWMRCriticalSection

brief Platform independent type definition of a thread synchronization object.

Function Documentation

NVSG_API void EnableLocking ( )

Enable locking of the SWMRSync class.

Remarks:
This function is called from within nvsgInitialize if the argument threadingModel is NVSG_MULTITHREADED.

Generated on Fri Jul 13 13:28:31 2012 for SceniX


SceniX: SWMRSync.h Source File

inc / nvsg / nvutil

SWMRSync.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 #if defined(_WIN32)
00018 # include "nvsgwindefs.h"
00019 # ifndef NOMINMAX
00020 #  define NOMINMAX // avoid problems with Microsoft definitions in windef.h and min/max from stl
00021 # endif
00022 # include <windows.h>
00023 # include <winbase.h>
00024 # undef NOMINMAX
00025 #endif
00026
00027 #if defined(LINUX)
00028 # include <pthread.h>
00029 #endif
00030
00031 #include <map>
00032
00034 namespace nvutil
00035 {
00037 #if defined(_WIN32)
00038   typedef CRITICAL_SECTION SWMRCriticalSection;
00039 #elif defined(LINUX)
00040   typedef pthread_mutex_t  SWMRCriticalSection;
00041 #endif
00042
00046   NVSG_API extern void EnableLocking();
00047
00048 #if !defined(SINGLE_THREADED_LOCKING)
00049
00050   class SWMRSyncImpl {
00051   public:
00052     NVSG_API virtual ~SWMRSyncImpl();
00053
00060     NVSG_API virtual bool lockExclusive()   const = 0;
00061
00066     NVSG_API virtual void unlockExclusive() const = 0;
00067
00074     NVSG_API virtual bool lockShared()      const = 0;
00075
00080     NVSG_API virtual void unlockShared()    const = 0;
00081
00082   protected:
00083 #if !defined(DOXYGEN_IGNORE)
00084 #if !defined(NDEBUG)
00085     NVSG_API void DBG_INCR_THREADS_SHARED_LOCK_CNT() const;
00086     NVSG_API void DBG_DECR_THREADS_SHARED_LOCK_CNT() const;
00087     NVSG_API int  DBG_GET_THREADS_SHARED_LOCK_CNT() const;
00088
00089 #if defined(_WIN32)
00090     typedef std::map<DWORD,int> SWMRPerThreadSharedLockCountMap;
00091 #elif defined(LINUX)
00092     typedef std::map<pthread_t,int> SWMRPerThreadSharedLockCountMap;
00093 #endif
00094       // accessed only when inside critical section
00095   mutable SWMRPerThreadSharedLockCountMap m_perThreadSharedLockCount;
00096 #else
00097 # define DBG_INCR_THREADS_SHARED_LOCK_CNT() static_cast<void*>(0)
00098 # define DBG_DECR_THREADS_SHARED_LOCK_CNT() static_cast<void*>(0)
00099 # define DBG_GET_THREADS_SHARED_LOCK_CNT()  static_cast<void*>(0)
00100 #endif // !NDEBUG
00101 #endif // DOXYGEN_IGNORE
00102   };
00103 #endif
00104
00111   class SWMRSync
00112   {
00113     public:
00116       NVSG_API SWMRSync();
00117
00121       NVSG_API SWMRSync( const SWMRSync & rhs );
00122
00125       NVSG_API ~SWMRSync(void);
00126
00133       NVSG_API bool lockExclusive()   const;
00134
00139       NVSG_API void unlockExclusive() const;
00140
00147       NVSG_API bool lockShared()      const;
00148
00153       NVSG_API void unlockShared()    const;
00154
00155     private:
00156 #if !defined(SINGLE_THREADED_LOCKING)
00157       SWMRSyncImpl *m_impl;
00158 #elif !defined( NDEBUG )
00159       mutable int                 m_sharedLockCount; // counts concurrent readers, accessed only when inside critical section
00160 #endif
00161   };
00162
00164   class AutoLock
00165   {
00166   public:
00169     explicit AutoLock(const SWMRSync& lock) : m_lock(lock)
00170     {
00171       m_lock.lockExclusive();
00172     }
00173
00176     ~AutoLock()
00177     {
00178       m_lock.unlockExclusive();
00179     }
00180
00181   private:
00182     // don't permit copying and assignment
00183     AutoLock(const AutoLock&);
00184     AutoLock& operator=(const AutoLock&);
00185
00186     const SWMRSync& m_lock; // reference to the lock object passed at instantiation
00187   };
00188
00189   inline bool SWMRSync::lockExclusive() const
00190   {
00191     NVSG_TRACE();
00192 #if !defined(SINGLE_THREADED_LOCKING)
00193     return m_impl->lockExclusive();
00194 #elif !defined(NDEBUG)
00195   NVSG_ASSERT( m_sharedLockCount == 0 );
00196   return m_sharedLockCount == 0;
00197 #else
00198   return true;
00199 #endif
00200   }
00201
00202   inline void SWMRSync::unlockExclusive() const
00203   {
00204     NVSG_TRACE();
00205 #if !defined(SINGLE_THREADED_LOCKING)
00206     m_impl->unlockExclusive();
00207 #elif !defined(NDEBUG)
00208   NVSG_ASSERT( m_sharedLockCount == 0 );
00209 #endif
00210   }
00211
00212   inline bool SWMRSync::lockShared() const
00213   {
00214     NVSG_TRACE();
00215 #if !defined(SINGLE_THREADED_LOCKING)
00216     return m_impl->lockShared();
00217 #elif !defined(NDEBUG)
00218     ++m_sharedLockCount;
00219 #endif
00220     return true;
00221   }
00222
00223   inline void SWMRSync::unlockShared () const
00224   {
00225     NVSG_TRACE();
00226 #if !defined(SINGLE_THREADED_LOCKING)
00227     m_impl->unlockShared();
00228 #elif !defined(NDEBUG)
00229     --m_sharedLockCount;
00230 #endif
00231   }
00232 } // namespace nvutil
00233
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TextureAttribute.h File Reference

inc / nvsg / nvsg

TextureAttribute.h File Reference

#include <map>
#include <string>
#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/StateAttribute.h"
#include "nvsg/TextureHost.h"
#include "nvmath/Trafo.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for TextureAttribute.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum | TexCoordAxis { TCA_S = 0, TCA_T, TCA_R, TCA_Q }
Texture coordinate axis. More...
enum TextureEnvMode {
TEM_REPLACE = 0, TEM_MODULATE, TEM_DECAL, TEM_BLEND,
TEM_ADD, TEM_ADD_SIGNED, TEM_SUBTRACT, TEM_INTERPOLATE,
TEM_DOT3_RGB, TEM_DOT3_RGBA
}
Texture environment mode. More...
enum | TextureEnvScale { TES_1X = 1, TES_2X = 2, TES_4X = 4 }
Texture environment scale. More...
enum TexGenMode {
TGM_OFF = -1, TGM_OBJECT_LINEAR, TGM_EYE_LINEAR, TGM_SPHERE_MAP,
TGM_REFLECTION_MAP, TGM_NORMAL_MAP
}
Texture coordinate generation mode. More...
enum | TexGenLinearPlane { TGLP_OBJECT = 0, TGLP_EYE, TGLP_OBJECT_AND_EYE }
Texture generation plane. More...
enum | TexWrapCoordAxis { TWCA_S = 0, TWCA_T, TWCA_R }
Texture wrap coordinate axis. More...
enum TextureWrapMode {
TWM_REPEAT = 0, TWM_CLAMP, TWM_MIRROR_REPEAT, TWM_CLAMP_TO_EDGE,
TWM_CLAMP_TO_BORDER, TWM_MIRROR_CLAMP, TWM_MIRROR_CLAMP_TO_EDGE, TWM_MIRROR_CLAMP_TO_BORDER
}
Texture wrap mode. More...
enum TextureMinFilterMode {
TFM_MIN_NEAREST = 0, TFM_MIN_LINEAR, TFM_MIN_BILINEAR = TFM_MIN_LINEAR, TFM_MIN_LINEAR_MIPMAP_LINEAR,
TFM_MIN_TRILINEAR = TFM_MIN_LINEAR_MIPMAP_LINEAR, TFM_MIN_NEAREST_MIPMAP_NEAREST, TFM_MIN_NEAREST_MIPMAP_LINEAR, TFM_MIN_LINEAR_MIPMAP_NEAREST
}
Texture minification mode. More...
enum | TextureMagFilterMode { TFM_MAG_NEAREST = 0, TFM_MAG_LINEAR, TFM_MAG_BILINEAR = TFM_MAG_LINEAR }
Texture magnification mode. More...

Detailed Description

Enumeration Type Documentation

enum TexCoordAxis

Texture coordinate axis.

Enumeration values:
TCA_S | S axis.
TCA_T | T axis.
TCA_R | R axis.
TCA_Q | Q axis.

enum TextureEnvMode

Texture environment mode.

Enumeration values:
TEM_REPLACE | C = C_t; A = A_t.
TEM_MODULATE | C = C_f*C_t; A = A_f*A_t.
TEM_DECAL | C = C_f*(1-A_t)+C_t*A_t; A = A_f.
TEM_BLEND | C = C_f*(1-C_t)+C_c*C_t; A = A_f*A_t.
TEM_ADD | C = min(1,C_f+C_t); A = A_f*A_t.
TEM_ADD_SIGNED | C = texUnitCur + texUnitPrev - 0.5; A = Ac*Ap.
TEM_SUBTRACT | C = texUnitCur - texUnitPrev; A = Ac*Ap.
TEM_INTERPOLATE | C = tUC * (tevColor) + tUP * (1-tevColor); A = Ac*Ap.
TEM_DOT3_RGB | C = texUnitCur.rgb dot texUnitPrev.rgb; A = N/A.
TEM_DOT3_RGBA | C = texUnitCur.rgba dot texUnitPrev.rgba.

enum TextureEnvScale

Texture environment scale.

Enumeration values:
TES_1X | scale factor 1x or no scaling
TES_2X | scale factor 2x
TES_4X | scale factor 4x

enum TexGenMode

Texture coordinate generation mode.

Enumeration values:
TGM_OFF | Off.
TGM_OBJECT_LINEAR | Object linear.
TGM_EYE_LINEAR | Eye linear.
TGM_SPHERE_MAP | Sphere map.
TGM_REFLECTION_MAP | Reflection map.
TGM_NORMAL_MAP | Normal map.

enum TexGenLinearPlane

Texture generation plane.

Enumeration values:
TGLP_OBJECT | Object.
TGLP_EYE | Eye.
TGLP_OBJECT_AND_EYE | Object and eye.

enum TexWrapCoordAxis

Texture wrap coordinate axis.

Enumeration values:
TWCA_S | S axis.
TWCA_T | T axis.
TWCA_R | R axis.

enum TextureWrapMode

Texture wrap mode.

Enumeration values:
TWM_REPEAT | Corresponds to GL_REPEAT in OpenGL.
TWM_CLAMP | Corresponds to GL_CLAMP in OpenGL.
TWM_MIRROR_REPEAT | Corresponds to GL_MIRRORED_REPEAT in OpenGL.
TWM_CLAMP_TO_EDGE | Corresponds to GL_CLAMP_TO_EDGE in OpenGL.
TWM_CLAMP_TO_BORDER | Corresponds to GL_CLAMP_TO_BORDER in OpenGL.
TWM_MIRROR_CLAMP | Corresponds to GL_MIRROR_CLAMP in OpenGL.
TWM_MIRROR_CLAMP_TO_EDGE | Corresponds to GL_MIRROR_CLAMP_TO_EDGE in OpenGL.
TWM_MIRROR_CLAMP_TO_BORDER | Corresponds to GL_MIRROR_CLAMP_TO_BORDER in OpenGL.

enum TextureMinFilterMode

Texture minification mode.

Enumeration values:
TFM_MIN_NEAREST | Corresponds to GL_NEAREST in OpenGL.
TFM_MIN_LINEAR | Corresponds to GL_LINEAR in OpenGL.
TFM_MIN_BILINEAR | Deprecated, name and value provided for backwards compatibility.
TFM_MIN_LINEAR_MIPMAP_LINEAR | Corresponds to GL_LINEAR_MIPMAP_LINEAR.
TFM_MIN_TRILINEAR | Deprecated, name and value provided for backwards compatibility.
TFM_MIN_NEAREST_MIPMAP_NEAREST | Corresponds to GL_NEAREST_MIPMAP_NEAREST.
TFM_MIN_NEAREST_MIPMAP_LINEAR | Corresponds to GL_NEAREST_MIPMAP_LINEAR (the OpenGL default).
TFM_MIN_LINEAR_MIPMAP_NEAREST | Corresponds to GL_LINEAR_MIPMAP_NEAREST.

enum TextureMagFilterMode

Texture magnification mode.

Enumeration values:
TFM_MAG_NEAREST | Corresponds to GL_NEAREST in OpenGL.
TFM_MAG_LINEAR | Corresponds to GL_LINEAR in OpenGL.
TFM_MAG_BILINEAR | Deprecated, name and value provided for backwards compatibility.

Generated on Fri Jul 13 13:28:32 2012 for SceniX


SceniX: TextureAttribute.h Source File

inc / nvsg / nvsg

TextureAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <map>    // uses std::map
00016 #include <string> // uses std::string
00017 #include "nvsgcommon.h"
00018 #include "nvsg/OwnedObject.h"
00019 #include "nvsg/StateAttribute.h" // base class definition
00020 #include "nvsg/TextureHost.h" // base class definition
00021 #include "nvmath/Trafo.h" // uses Trafo
00022 #include "nvutil/HashGenerator.h"
00023
00024 namespace nvsg
00025 {
00026
00028   typedef enum
00029   {
00030     TCA_S = 0
00031   , TCA_T
00032   , TCA_R
00033   , TCA_Q
00034   } TexCoordAxis;
00035
00037   typedef enum
00038   {
00039     TEM_REPLACE = 0
00040   , TEM_MODULATE
00041   , TEM_DECAL
00042   , TEM_BLEND
00043   , TEM_ADD
00044   , TEM_ADD_SIGNED
00045   , TEM_SUBTRACT
00046   , TEM_INTERPOLATE
00047   , TEM_DOT3_RGB
00048   , TEM_DOT3_RGBA
00049   } TextureEnvMode;
00050
00052   typedef enum
00053   {
00054     TES_1X = 1
00055   , TES_2X = 2
00056   , TES_4X = 4
00057   } TextureEnvScale;
00058
00060   typedef enum
00061   {
00062     TGM_OFF           = -1
00063   , TGM_OBJECT_LINEAR
00064   , TGM_EYE_LINEAR
00065   , TGM_SPHERE_MAP
00066   , TGM_REFLECTION_MAP
00067   , TGM_NORMAL_MAP
00068   } TexGenMode;
00069
00071   typedef enum
00072   {
00073     TGLP_OBJECT = 0
00074   , TGLP_EYE
00075   , TGLP_OBJECT_AND_EYE
00076   } TexGenLinearPlane;
00077
00079   typedef enum
00080   {
00081     TWCA_S = 0
00082   , TWCA_T
00083   , TWCA_R
00084   } TexWrapCoordAxis;
00085
00087   typedef enum
00088   {
00089     TWM_REPEAT = 0
00090   , TWM_CLAMP
00091   , TWM_MIRROR_REPEAT
00092   , TWM_CLAMP_TO_EDGE
00093   , TWM_CLAMP_TO_BORDER
00094   , TWM_MIRROR_CLAMP
00095   , TWM_MIRROR_CLAMP_TO_EDGE
00096   , TWM_MIRROR_CLAMP_TO_BORDER
00097   } TextureWrapMode;
00098
00100   typedef enum
00101   {
00102     TFM_MIN_NEAREST = 0
00103   , TFM_MIN_LINEAR
00104   , TFM_MIN_BILINEAR = TFM_MIN_LINEAR
00105   , TFM_MIN_LINEAR_MIPMAP_LINEAR
00106   , TFM_MIN_TRILINEAR = TFM_MIN_LINEAR_MIPMAP_LINEAR
00107   , TFM_MIN_NEAREST_MIPMAP_NEAREST
00108   , TFM_MIN_NEAREST_MIPMAP_LINEAR
00109   , TFM_MIN_LINEAR_MIPMAP_NEAREST
00110   } TextureMinFilterMode;
00111
00113   typedef enum
00114   {
00115     TFM_MAG_NEAREST = 0
00116   , TFM_MAG_LINEAR
00117   , TFM_MAG_BILINEAR = TFM_MAG_LINEAR
00118   } TextureMagFilterMode;
00119
00120   class TextureAttributeItem;
00121   class TextureHost;
00122
00124   class TextureAttributeItemData : public nvutil::RCObject
00125   {
00126       friend class TextureAttributeItem;
00127     public:
00129
00130       NVSG_API TextureAttributeItemData(const TextureAttributeItemData& rhs);
00131
00132     private:
00133       // instantiation on stack is not permitted.
00134       TextureAttributeItemData();
00135       ~TextureAttributeItemData();
00136       // assignment also not permitted
00137       TextureAttributeItemData& operator=(const TextureAttributeItemData& rhs);
00138
00139       nvmath::Vec4f         m_borderColor;
00140       nvmath::Vec4f         m_envColor;
00141       TextureEnvMode        m_envMode;            // enum environment mode to use with rasterization
00142       TextureEnvScale       m_envScale;           // enum environment scale to use with rasterization
00143       TextureMagFilterMode  m_magFilterMode;
00144       TextureMinFilterMode  m_minFilterMode;
00145       float                 m_maxAnisotropy;
00146       nvmath::Trafo         m_trafo;              // texture coordinate transformation
00147       TextureWrapMode       m_wrapMode[3];
00148       TexGenMode            m_texGenMode[4];
00149       nvmath::Vec4f         m_texGenPlane[2][4];
00150   };
00151
00153
00158   class TextureAttributeItem : public OwnedObject<TextureAttribute>
00159   {
00160     friend class TextureAttribute;
00161
00162     public:
00163       NVSG_API static TextureAttributeItemSharedPtr create();
00164
00165   public:
00167
00168     NVSG_API virtual bool isDataShared( void ) const;
00169
00171
00172     NVSG_API virtual DataID getDataID( void ) const;
00173
00181     NVSG_API const TextureSharedPtr & getTexture() const;
00182
00187     NVSG_API bool hasTextureHost() const;
00188
00194     NVSG_API void setTexture( const TextureSharedPtr & texImg );
00195
00200     NVSG_API const std::string& getTextureFileName() const;
00201
00205     NVSG_API const nvmath::Vec4f& getBorderColor( void ) const;
00206
00212     NVSG_API void setBorderColor( const nvmath::Vec4f &color );
00213
00217     NVSG_API const nvmath::Vec4f& getEnvColor( void ) const;
00218
00229     NVSG_API void setEnvColor( const nvmath::Vec4f &color );
00230
00234     NVSG_API TextureEnvMode getEnvMode( void ) const;
00235
00243     NVSG_API void setEnvMode( TextureEnvMode mode );
00244
00248     NVSG_API TextureEnvScale getEnvScale( void ) const;
00249
00258     NVSG_API void setEnvScale( TextureEnvScale scale );
00259
00263     NVSG_API TextureMagFilterMode getMagFilterMode( void ) const;
00264
00271     NVSG_API void setMagFilterMode( TextureMagFilterMode mode );
00272
00276     NVSG_API TextureMinFilterMode getMinFilterMode( void ) const;
00277
00281     NVSG_API float getMaxAnisotropy( void ) const;
00282
00293     NVSG_API void setMinFilterMode( TextureMinFilterMode mode );
00294
00299     NVSG_API void setMaxAnisotropy( float anisotropy );
00300
00303     NVSG_API bool isMipmapped( TextureMinFilterMode mode ) const;
00304
00310     NVSG_API TextureWrapMode getWrapMode( TexWrapCoordAxis target ) const;
00311
00322     NVSG_API void setWrapMode( TexWrapCoordAxis target , TextureWrapMode mode);
00323
00331     NVSG_API nvmath::Mat44f getMatrix( void ) const;
00332
00336     NVSG_API const nvmath::Quatf & getOrientation( void ) const;
00337
00343     NVSG_API void setOrientation( const nvmath::Quatf & orientation );
00344
00348     NVSG_API const nvmath::Vec3f & getScaling( void ) const;
00349
00355     NVSG_API void setScaling( const nvmath::Vec3f &scale );
00356
00360     NVSG_API const nvmath::Vec3f & getTranslation( void ) const;
00361
00367     NVSG_API void setTranslation( const nvmath::Vec3f &translation );
00368
00387     NVSG_API void setTexGenMode( TexCoordAxis axis, TexGenMode mode );
00388
00394     NVSG_API TexGenMode getTexGenMode( TexCoordAxis axis ) const;
00395
00423     NVSG_API void setTexGenLinearPlane( TexCoordAxis axis, TexGenLinearPlane target, const nvmath::Vec4f& plane );
00424
00434     NVSG_API const nvmath::Vec4f &getTexGenLinearPlane( TexCoordAxis axis, TexGenLinearPlane plane ) const;
00435
00450     NVSG_API TextureAttributeItem & operator=(const TextureAttributeItem & rhs);
00451
00463     NVSG_API virtual bool isEquivalent( const Object *p, bool ignoreNames, bool deepCompare ) const;
00464
00465   protected:
00466     friend struct nvutil::Holder<TextureAttributeItem>;
00467
00497       NVSG_API TextureAttributeItem( void );
00498
00512       NVSG_API TextureAttributeItem( const TextureAttributeItem& rhs );
00513
00517       NVSG_API virtual ~TextureAttributeItem();
00518
00522       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00523   private:
00524       void checkIncrementMipmapUseCount(); // conditional incrementation of mipmap use count
00525       void checkDecrementMipmapUseCount(); // conditional decrementation of mipmap use count
00526
00527   private:
00528       nvutil::SmartPtr<TextureAttributeItemData>  m_sharedData;
00529       TextureSharedPtr                            m_texture; // texture image specification
00530       bool                                        m_textureIsHost; // avoid dynamic casts
00531   };
00532
00533   inline bool TextureAttributeItem::hasTextureHost() const
00534   {
00535     return m_textureIsHost;
00536   }
00537
00539
00546   class TextureAttribute : public StateAttribute
00547   {
00548     public:
00549       NVSG_API static TextureAttributeSharedPtr create();
00550
00551     public:
00563       enum { INVALID_ITEM = ~0 }; // note: used with unsigned comparison, so don't use -1
00564
00575       NVSG_API void bindTextureAttributeItem( const TextureAttributeItemSharedPtr & item, unsigned int unit );
00576
00584       NVSG_API void unbindTextureAttributeItem( unsigned int unit );
00585
00618       NVSG_API unsigned int getFirstItem( void ) const;
00619
00628       NVSG_API unsigned int getNextItem( unsigned int unit ) const;
00629
00640       NVSG_API unsigned int getNumberOfItems( void ) const;
00641
00645       NVSG_API const TextureAttributeItemSharedPtr & getTextureAttributeItem( unsigned int unit ) const;
00646
00658       NVSG_API TextureAttribute & operator=(const TextureAttribute & rhs);
00659
00677       NVSG_API virtual bool isEquivalent( const Object *p, bool ignoreNames, bool deepCompare ) const;
00678
00679       REFLECTION_INFO_API( NVSG_API, TextureAttribute );
00680     protected:
00681       friend struct nvutil::Holder<TextureAttribute>;
00682
00715       NVSG_API TextureAttribute( void );
00716
00721       NVSG_API TextureAttribute( const TextureAttribute& rhs );
00722
00726       NVSG_API virtual ~TextureAttribute( void );
00727
00728       NVSG_API virtual void syncIncarnation(PFNGETINCARNATION) const;
00729
00733       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00734
00735     private: // implementation helpers
00736       void _clearBindings();
00737
00738     private:
00739       typedef std::map<unsigned int, TextureAttributeItemSharedPtr> TAIContainer;
00740
00741     private:
00742       TAIContainer  m_bindings; // item bindings
00743   };
00744
00745   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TextureAttribute
00746   inline unsigned int TextureAttribute::getFirstItem( void ) const
00747   {
00748     NVSG_TRACE();
00749     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00750     return !m_bindings.empty() ? m_bindings.begin()->first : INVALID_ITEM;
00751   }
00752
00753   inline unsigned int TextureAttribute::getNextItem( unsigned int currItem ) const
00754   {
00755     NVSG_TRACE();
00756     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00757     if (currItem!=INVALID_ITEM)
00758     {
00759       TAIContainer::const_iterator ci = m_bindings.upper_bound(currItem);
00760       return ci!=m_bindings.end() ? ci->first : INVALID_ITEM;
00761     }
00762     return INVALID_ITEM;
00763   }
00764
00765   inline unsigned int TextureAttribute::getNumberOfItems( void ) const
00766   {
00767     NVSG_TRACE();
00768     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00769     return( checked_cast<unsigned int>(m_bindings.size()) );
00770   }
00771
00772   inline const TextureAttributeItemSharedPtr & TextureAttribute::getTextureAttributeItem( unsigned int unit ) const
00773   {
00774     NVSG_TRACE();
00775     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00776     TAIContainer::const_iterator ci = m_bindings.find(unit);
00777     static TextureAttributeItemSharedPtr nullTextureAttributeItem;
00778     return ci!=m_bindings.end() ? ci->second : nullTextureAttributeItem;
00779   }
00780
00781   // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TextureAttributeItem
00782   inline const TextureSharedPtr & TextureAttributeItem::getTexture() const
00783   {
00784     NVSG_TRACE();
00785     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00786     return( m_texture );
00787   }
00788
00789   inline const nvmath::Vec4f& TextureAttributeItem::getBorderColor( void ) const
00790   {
00791     NVSG_TRACE();
00792     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00793     return( m_sharedData->m_borderColor );
00794   }
00795
00796   inline const nvmath::Vec4f & TextureAttributeItem::getEnvColor( void ) const
00797   {
00798     NVSG_TRACE();
00799     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00800     return( m_sharedData->m_envColor );
00801   }
00802
00803   inline void TextureAttributeItem::setEnvColor( const nvmath::Vec4f & envColor )
00804   {
00805     NVSG_TRACE();
00806     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00807     if ( m_sharedData->m_envColor != envColor )
00808     {
00809       cloneIfShared(m_sharedData);
00810       m_sharedData->m_envColor = envColor;
00811       notifyChange( this );
00812     }
00813   }
00814
00815   inline TextureEnvMode TextureAttributeItem::getEnvMode( void ) const
00816   {
00817     NVSG_TRACE();
00818     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00819     return( m_sharedData->m_envMode );
00820   }
00821
00822   inline TextureEnvScale TextureAttributeItem::getEnvScale( void ) const
00823   {
00824     NVSG_TRACE();
00825     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00826     return( m_sharedData->m_envScale );
00827   }
00828
00829   inline TextureWrapMode TextureAttributeItem::getWrapMode( TexWrapCoordAxis target ) const
00830   {
00831     NVSG_TRACE();
00832     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00833     NVSG_ASSERT(target==TWCA_S||target==TWCA_T||target==TWCA_R);
00834     return( m_sharedData->m_wrapMode[target] );
00835   }
00836
00837   inline TextureMinFilterMode TextureAttributeItem::getMinFilterMode( void ) const
00838   {
00839     NVSG_TRACE();
00840     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00841     return( m_sharedData->m_minFilterMode );
00842   }
00843
00844   inline float TextureAttributeItem::getMaxAnisotropy( void ) const
00845   {
00846     NVSG_TRACE();
00847     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00848     return( m_sharedData->m_maxAnisotropy );
00849   }
00850
00851   inline bool TextureAttributeItem::isMipmapped( TextureMinFilterMode mode ) const
00852   {
00853     NVSG_TRACE();
00854     NVSG_ASSERT(mode == TFM_MIN_NEAREST ||
00855                 mode == TFM_MIN_LINEAR ||
00856                 mode == TFM_MIN_LINEAR_MIPMAP_LINEAR ||
00857                 mode == TFM_MIN_NEAREST_MIPMAP_NEAREST ||
00858                 mode == TFM_MIN_NEAREST_MIPMAP_LINEAR ||
00859                 mode == TFM_MIN_LINEAR_MIPMAP_NEAREST);
00860     return !( mode == TFM_MIN_LINEAR || mode == TFM_MIN_NEAREST );
00861   }
00862
00863   inline TextureMagFilterMode TextureAttributeItem::getMagFilterMode( void ) const
00864   {
00865     NVSG_TRACE();
00866     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00867     return( m_sharedData->m_magFilterMode );
00868   }
00869
00870   inline  nvmath::Mat44f  TextureAttributeItem::getMatrix( void ) const
00871   {
00872     NVSG_TRACE();
00873     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00874     return( m_sharedData->m_trafo.getMatrix() );
00875   }
00876
00877   inline const nvmath::Quatf & TextureAttributeItem::getOrientation( void ) const
00878   {
00879     NVSG_TRACE();
00880     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00881     return( m_sharedData->m_trafo.getOrientation() );
00882   }
00883
00884   inline const nvmath::Vec3f & TextureAttributeItem::getScaling( void ) const
00885   {
00886     NVSG_TRACE();
00887     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00888     return( m_sharedData->m_trafo.getScaling() );
00889   }
00890
00891   inline const nvmath::Vec3f & TextureAttributeItem::getTranslation( void ) const
00892   {
00893     NVSG_TRACE();
00894     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00895     return( m_sharedData->m_trafo.getTranslation() );
00896   }
00897
00898   inline TexGenMode TextureAttributeItem::getTexGenMode( TexCoordAxis axis ) const
00899   {
00900     NVSG_TRACE();
00901     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00902     return( m_sharedData->m_texGenMode[axis] );
00903   }
00904
00905   inline const nvmath::Vec4f &TextureAttributeItem::getTexGenLinearPlane( TexCoordAxis axis, TexGenLinearPlane target ) const
00906   {
00907     NVSG_TRACE();
00908     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00909     NVSG_ASSERT(target==TGLP_OBJECT || target==TGLP_EYE);
00910     return( m_sharedData->m_texGenPlane[target][axis] );
00911   }
00912 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TextureHost.h File Reference

inc / nvsg / nvsg

TextureHost.h File Reference

#include "nvsgcommon.h"
#include "nvsg/DAL.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/Texture.h"
#include "nvmath/nvmath.h"
#include "nvutil/BitMask.h"
#include "nvutil/PlugIn.h"
#include <math.h>
#include <vector>
#include <map>
#include <string>
#include <nvsg/Buffer.h>

Include dependency graph for TextureHost.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Defines

#define | VERTICAL_CROSS_FORMAT(w, h) ((3*(h))==(4*(w)))
#define | allocImagePixels(nbytes) dbgAllocImagePixels( nbytes, __LINE__)

Functions

class class NVSG_API TextureTarget | determineTextureTarget (const TextureHostSharedPtr &img)
Retrieves the best-matching TextureTarget from A TextureHost.
NVSG_API unsigned char * | dbgAllocImagePixels (unsigned int nbytes, unsigned int line)
Same as allocImagePixels + leak detection.
NVSG_API void | freeImagePixels (unsigned char *pixels)
Helper function to free memory of pixel data.
NVSG_API unsigned int | numberOfComponents (Image::PixelFormat format)
Helper function to determine the number of components of a PixelFormat.
NVSG_API unsigned int | sizeOfComponents (Image::PixelDataType type)
Helper function to determine the size of components of a PixelDataType.
NVSG_API void | calculateContributions (std::vector< std::vector< std::pair< unsigned int, float > > > &contribs, unsigned int srcSize, unsigned int dstSize, const ScaleFilter *filter)
Helper function to determine the contributions of a ScaleFilter on scaling an Image.
NVSG_API void | insert (const Image *src, Image *dst, unsigned int x, unsigned int y, unsigned int z)
Helper function to insert a source image into a destination image at a given position.
NVSG_API void | rescale (const Image *src, Image *dst, std::vector< std::vector< std::pair< unsigned int, float > > > *contributions)
Helper function to rescale an Image using the contributions of a ScaleFilter.
NVSG_API void | convertPixelFormat (const Image *src, Image *dst, Image::PixelFormat destFormat)
Helper function to convert the image format from one to another.
NVSG_API void | assertMipMapChainComplete (const TextureHost *img)
Asserts mipmap chain to be complete for the specified TextureHost.

Detailed Description

Function Documentation

class class class NVSG_API TextureTarget determineTextureTarget ( const TextureHostSharedPtr & img )

Retrieves the best-matching TextureTarget from A TextureHost.

Returns:
The function returns the best-matching TextureTarget for the specified TextureHost, or NVSG_UNSPECIFIED_TEXTURE_TARGET if no matching TextureTarget can be determined.

NVSG_API unsigned char* dbgAllocImagePixels | ( | unsigned int | nbytes,
 |  | unsigned int | line
 | ) |

Same as allocImagePixels + leak detection.

NVSG_API void freeImagePixels ( unsigned char * pixels )

Helper function to free memory of pixel data.

Parameters:
pixels A pointer to the pixel data to free.
Remarks:
This function assumes that pixels has been allocated by allocImagePixels.
See also:
allocImagePixels

NVSG_API unsigned int numberOfComponents ( Image::PixelFormat format )

Helper function to determine the number of components of a PixelFormat.

Parameters:
format The PixelFormat to determine the number of components from.
Returns:
The number of components described by format.
See also:
sizeOfComponents

NVSG_API unsigned int sizeOfComponents ( Image::PixelDataType type )

Helper function to determine the size of components of a PixelDataType.

Parameters:
type The PixelDataType to determine the size of components from.
Returns:
The size of components described by type.
See also:
numberOfComponents

NVSG_API void calculateContributions | ( | std::vector< std::vector< std::pair< unsigned int, float > > > & | contribs,
 |  | unsigned int | srcSize,
 |  | unsigned int | dstSize,
 |  | const ScaleFilter * | filter
 | ) |

Helper function to determine the contributions of a ScaleFilter on scaling an Image.

Parameters:
contribs | A reference to a vector of vector of pairs of an int and a float. The i'th element of contribs holds the vector of contributions for the i'th destination value. The j'th element of contribs[i] holds the index and the contribution of the source values.
srcSize | The number of the source values.
dstSize | The number of the destination values.
filter | A pointer to the ScaleFilter to use for contribution determination.
Remarks:
To determine the contributions of filter on a multidimensional array of values call calculateContributions once per dimension.
Example
  vector<vector<pair<unsigned int,float> > > contributions[3];
  //  contributions[0..2]: contributions in x-, y-, and z-direction
  calculateContributions( contributions[0], srcWidth, dstWidth, sf );
  calculateContributions( contributions[1], srcHeight, dstHeight, sf );
  calculateContributions( contributions[2], srcDepth, dstDepth, sf );
  rescale( src, dst, contributions );
See also:
insert, rescale, TextureHost::filter

NVSG_API void insert | ( | const Image * | src,
 |  | Image * | dst,
 |  | unsigned int | x,
 |  | unsigned int | y,
 |  | unsigned int | z
 | ) |

Helper function to insert a source image into a destination image at a given position.

Parameters:
src | A pointer to the constant source image.
dst | A pointer to the destination image.
x | x-position of the source image in the destination image.
y | y-position of the source image in the destination image.
z | y-position of the source image in the destination image.
Remarks:
It is assumed the the source image offset by x/y/z completely fits into the destination image.
Note:
If the source image has overlaps, the overlap pixels are not copied (and need not fit into the destination image).
See also:
rescale

NVSG_API void rescale | ( | const Image * | src,
 |  | Image * | dst,
 |  | std::vector< std::vector< std::pair< unsigned int, float > > > * | contributions
 | ) |

Helper function to rescale an Image using the contributions of a ScaleFilter.

Parameters:
src | A pointer to the constant source Image to scale.
dst | A pointer to the destination Image.
contributions | A pointer to three vectors of vectors of pairs of an int and a float that holds the contributions of each source pixel to each destination pixel in x, y, and z direction.
Remarks:
The contributions can be calculated by calculateContributions.
Note:
If the destination image is defined to have overlaps, those pixel values are not set.
See also:
calculateContributions

NVSG_API void convertPixelFormat | ( | const Image * | src,
 |  | Image * | dst,
 |  | Image::PixelFormat | destFormat
 | ) |

Helper function to convert the image format from one to another.

Parameters:
src | A pointer to the constant source Image to scale.
dst | A pointer to the destination Image.
destFormat | The destination format.
Remarks:
If destFormat is the same as the source image, src is simply copied to dst. If an image format containing no alpha is converted to a format that contains alpha (for instance, RGB -> BGRA) the alpha channel will be set to 0xff.

NVSG_API void assertMipMapChainComplete ( const TextureHost * img )

Asserts mipmap chain to be complete for the specified TextureHost.

Generated on Fri Jul 13 13:28:33 2012 for SceniX


SceniX: TextureHost.h Source File

inc / nvsg / nvsg

TextureHost.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/DAL.h"
00017 #include "nvsg/CoreTypes.h"
00018 #include "nvsg/Texture.h"
00019 #include "nvmath/nvmath.h"
00020 #include "nvutil/BitMask.h"
00021 #include "nvutil/PlugIn.h"
00022 #include <math.h>
00023 #include <vector>
00024 #include <map>
00025 #include <string>
00026 #include <nvsg/Buffer.h>
00027
00028 // VERTICAL_CROSS_FORMAT(w,h) macro evaluates to true if
00029 // width and height comply with vertical cross format:
00030 //
00031 //        ___
00032 //       |   |
00033 // 3  ___|___|____
00034 //   |   |   |    |
00035 // 2 |___|___|____|
00036 //       |   |          3xheight == 4xwidth
00037 // 1     |___|
00038 //       |   |
00039 // 0     |___|
00040 //
00041 //     0   1   2
00042 #define VERTICAL_CROSS_FORMAT(w,h) ((3*(h))==(4*(w)))
00043
00044 namespace nvsg
00045 {
00046   class ScaleFilter;
00047   class TextureLoader;
00048   class TextureHost;
00049
00050
00051
00056   NVSG_API TextureTarget determineTextureTarget( const TextureHostSharedPtr & img );
00057
00061   struct Image
00062   {
00065     //
00066     // NOTE WELL: THE ORDERING OF THIS TABLE IS VERY IMPORTANT - DO NOT
00067     // CHANGE THE ORDER OF ANY OF THE VALUES WITHOUT KNOWING EXACTLY WHAT
00068     // YOU ARE GETTING YOURSELF INTO!!
00069     //
00070     // TextureHost.cpp and GLContext.cpp contain dependencies.
00071     //
00072     enum PixelFormat
00073     {
00074         IMG_UNKNOWN_FORMAT = -1
00075       , IMG_COLOR_INDEX = 0
00076       , IMG_RGB
00077       , IMG_RGBA
00078       , IMG_BGR
00079       , IMG_BGRA
00080       , IMG_LUMINANCE
00081                                 //   luminace and intensity are the same cept for A
00082       , IMG_LUMINANCE_ALPHA
00083
00084       //
00085       // New Formats
00086       //
00087       , IMG_ALPHA
00088
00089       , IMG_DEPTH_COMPONENT
00090       , IMG_DEPTH_STENCIL
00091
00092       // Integer
00093       , IMG_INTEGER_ALPHA
00094       , IMG_INTEGER_LUMINANCE
00095       , IMG_INTEGER_LUMINANCE_ALPHA
00096       , IMG_INTEGER_RGB
00097       , IMG_INTEGER_BGR
00098       , IMG_INTEGER_RGBA
00099       , IMG_INTEGER_BGRA
00100
00101       //
00102       // Compressed texture formats
00103       //
00104       // not really a "Format", but these require Compressed entry
00105       // point because they signify that the data has already been
00106       // compressed
00107       //
00108       , IMG_COMPRESSED_LUMINANCE_LATC1
00109       , IMG_COMPRESSED_SIGNED_LUMINANCE_LATC1
00110       , IMG_COMPRESSED_LUMINANCE_ALPHA_LATC2
00111       , IMG_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2
00112       , IMG_COMPRESSED_RED_RGTC1
00113       , IMG_COMPRESSED_SIGNED_RED_RGTC1
00114       , IMG_COMPRESSED_RG_RGTC2
00115       , IMG_COMPRESSED_SIGNED_RG_RGTC2
00116
00117       , IMG_COMPRESSED_RGB_DXT1
00118       , IMG_COMPRESSED_RGBA_DXT1
00119       , IMG_COMPRESSED_RGBA_DXT3
00120       , IMG_COMPRESSED_RGBA_DXT5
00121
00122       , IMG_COMPRESSED_SRGB_DXT1
00123       , IMG_COMPRESSED_SRGBA_DXT1
00124       , IMG_COMPRESSED_SRGBA_DXT3
00125       , IMG_COMPRESSED_SRGBA_DXT5
00126
00127       , IMG_NUM_FORMATS
00128     };
00129
00131     //
00132     // NOTE WELL: THE ORDERING OF THIS TABLE IS VERY IMPORTANT - DO NOT
00133     // CHANGE THE ORDER OF ANY OF THE VALUES WITHOUT KNOWING EXACTLY WHAT
00134     // YOU ARE GETTING YOURSELF INTO!!
00135     //
00136     // TextureHost.cpp and GLContext.cpp contain dependencies.
00137     //
00138     enum PixelDataType
00139     {
00140         IMG_UNKNOWN_TYPE = -1
00141       , IMG_BYTE = 0
00142       , IMG_UNSIGNED_BYTE
00143       , IMG_SHORT
00144       , IMG_UNSIGNED_SHORT
00145       , IMG_INT
00146       , IMG_UNSIGNED_INT
00147       , IMG_FLOAT32
00148       , IMG_FLOAT16
00149
00150       // custom formats
00151       , IMG_UNSIGNED_INT_2_10_10_10
00152       , IMG_UNSIGNED_INT_5_9_9_9
00153                                     //   (EXT_texture_shared_exponent) format
00154       , IMG_UNSIGNED_INT_10F_11F_11F
00155                                      //   (EXT_packed_float) format
00156       , IMG_UNSIGNED_INT_24_8
00157                                      //   (EXT_packed_depth_stencil) format
00158       , IMG_NUM_TYPES
00159
00160       // compatibility
00161       , IMG_FLOAT = IMG_FLOAT32
00162       , IMG_HALF  = IMG_FLOAT16
00163     };
00164
00165
00168     NVSG_API Image();
00169
00180     NVSG_API Image( unsigned int width, unsigned int height, unsigned int depth
00181                   , PixelFormat format, PixelDataType type );
00182
00183     // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00184     // NOTE:
00185     // We need the copy constructor performing just a flat copy. That is, the
00186     // copy must not allocate its own pixel storage and copy pixels from the
00187     // source, but have m_pixels pointing to the same storage instead!
00188     //
00189     // This is exactly what a default copy constructor does!
00190     // Therefore, we don't need to implement a copy constructor by our own!
00191     // Same is true for the assignment operator!
00192     // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
00193     NVSG_API Image( const Image &rhs );
00194     NVSG_API Image &operator=( const Image &rhs );
00195
00196     unsigned int     m_width;
00197     unsigned int     m_height;
00198     unsigned int     m_depth;
00199     PixelFormat      m_format;
00200     PixelDataType    m_type;
00201     unsigned int     m_bpp;
00202     unsigned int     m_bpl;
00203     unsigned int     m_bps;
00204     unsigned int     m_nob;
00205     BufferSharedPtr m_pixels;
00206   };
00207
00208 #if defined(NDEBUG)
00209
00215   NVSG_API unsigned char * allocImagePixels( unsigned int nbytes );
00216 #else
00217
00218   NVSG_API unsigned char * dbgAllocImagePixels( unsigned int nbytes, unsigned int line );
00219   // This macro allows the same API usage as in the release mode
00220   #define allocImagePixels(nbytes) dbgAllocImagePixels( nbytes, __LINE__)
00221 #endif
00222
00227   NVSG_API void freeImagePixels( unsigned char * pixels );
00228
00233   NVSG_API unsigned int numberOfComponents( Image::PixelFormat format );
00234
00239   NVSG_API unsigned int sizeOfComponents( Image::PixelDataType type );
00240
00261   NVSG_API void calculateContributions( std::vector<std::vector<std::pair<unsigned int,float> > > &contribs
00262                                       , unsigned int srcSize, unsigned int dstSize
00263                                       , const ScaleFilter * filter );
00264
00276   NVSG_API void insert( const Image * src, Image * dst, unsigned int x, unsigned int y, unsigned int z );
00277
00287   NVSG_API void rescale( const Image * src, Image *dst
00288                        , std::vector<std::vector<std::pair<unsigned int,float> > > *contributions );
00289
00297   NVSG_API void convertPixelFormat( const Image * src, Image *dst, Image::PixelFormat destFormat );
00298
00299 #if !defined(NDEBUG)
00300
00301   NVSG_API void assertMipMapChainComplete(const TextureHost * img);
00302 #else
00303 # define assertMipMapChainComplete(i) static_cast<void*>(0)
00304 #endif
00305
00307   class TextureHost : public Texture, public DALHostHolder  // can host DAL data
00308   {
00309     public:
00310       /*  \brief Create a TextureHost.
00311        *  \note A TextureHost created by this function can be used to explicitly create a texture, without
00312        *  loading data from a texture file. By default, such a texture has the F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD
00313        *  flag set. Explicitly unsetting that flag might be dangerous in multi-threaded environments with multiple
00314        *  render contexts, that don't share resources.
00315        *  \sa createFromFile */
00316       NVSG_API static TextureHostSharedPtr create();
00317
00318   public:
00319
00321     //  on the GPU as a texture map
00322     enum TextureGPUFormat
00323     {
00324       TGF_DEFAULT, // TYPICALLY, PICK THE FASTEST FORMAT FOR THE GIVEN DATA
00325
00326       // "generic formats"
00327       TGF_FIXED, // USE A FIXED-POINT GPU FORMAT
00328       TGF_FLOAT, // USE A FLOATING-POINT GPU FORMAT (choose format based on size of float data supplied)
00329       TGF_NONLINEAR, // USE AN SRGB FORMAT (choose SRGB/SRGBA based on the data supplied)
00330       TGF_INTEGER, // USE AN INTEGER FORMAT, BASED ON THE DATA
00331       TGF_COMPRESSED_FIXED, // USE A COMPRESSED FIXED POINT FORMAT
00332                             // (compress on upload)
00333
00334       // some "not so generic" formats
00335       TGF_FLOAT16, // USE 16 BIT PER COMPONENT FLOAT FORMAT
00336       TGF_FLOAT32, // USE 32 BIT PER COMPONENT FLOAT FORMAT
00337
00338       TGF_FIXED8,  // USE an 8 bit per component fixed point format
00339       TGF_FIXED10, // USE a 10 BIT PER COMPONENT FIXED POINT FORMAT (10,10,10,2)
00340       TGF_FIXED16, // USE a 16 bit per component fixed point format
00341
00342       // explicit formats
00343       TGF_ALPHA8,
00344       TGF_ALPHA16,
00345       TGF_SIGNED_ALPHA8,
00346       TGF_SIGNED_ALPHA16,
00347       TGF_LUMINANCE8,
00348       TGF_LUMINANCE16,
00349       TGF_SIGNED_LUMINANCE8,
00350       TGF_SIGNED_LUMINANCE16,
00351       TGF_LUMINANCE8_ALPHA8,
00352       TGF_LUMINANCE16_ALPHA16,
00353       TGF_SIGNED_LUMINANCE8_ALPHA8,
00354       TGF_SIGNED_LUMINANCE16_ALPHA16,
00355       TGF_COMPRESSED_LUMINANCE,
00356       TGF_COMPRESSED_LUMINANCE_ALPHA,
00357
00358       TGF_COMPRESSED_LUMINANCE_LATC,         // ext_texture_compression_latc
00359       TGF_SIGNED_COMPRESSED_LUMINANCE_LATC,
00360       TGF_COMPRESSED_LUMINANCE_ALPHA_LATC,
00361       TGF_SIGNED_COMPRESSED_LUMINANCE_ALPHA_LATC,
00362       TGF_COMPRESSED_RED_RGTC,
00363       TGF_SIGNED_COMPRESSED_RED_RGTC,
00364       TGF_COMPRESSED_RG_RGTC,
00365       TGF_SIGNED_COMPRESSED_RG_RGTC,
00366
00367       TGF_RGB8,
00368       TGF_SIGNED_RGB8,
00369       TGF_RGB16,       // native on G80
00370       TGF_RGBA8,
00371       TGF_SIGNED_RGBA8,
00372       TGF_RGB10,       // native on G80
00373       TGF_RGB10_A2,    // native on G80
00374       TGF_RGBA16,      // native on G80
00375
00376       TGF_SRGB,         // ext_texture_srgb
00377       TGF_SRGBA,
00378       TGF_COMPRESSED_SRGB,
00379       TGF_COMPRESSED_SRGBA,
00380       TGF_COMPRESSED_SRGB_DXT1,
00381       TGF_COMPRESSED_SRGB_DXT3,
00382       TGF_COMPRESSED_SRGB_DXT5,
00383       TGF_COMPRESSED_SRGBA_DXT1,
00384       TGF_COMPRESSED_RGB,
00385       TGF_COMPRESSED_RGBA,
00386       TGF_COMPRESSED_RGB_DXT1,
00387       TGF_COMPRESSED_RGB_DXT3,
00388       TGF_COMPRESSED_RGB_DXT5,
00389       TGF_COMPRESSED_RGBA_DXT1,
00390
00391       TGF_DEPTH16,              // arb_depth_texture
00392       TGF_DEPTH24,
00393       TGF_DEPTH32,
00394
00395       TGF_DEPTH24_STENCIL8,     // EXT_packed_depth_stencil
00396
00397       TGF_LUMINANCE16F,         // arb_texture_float
00398       TGF_LUMINANCE32F,
00399       TGF_LUMINANCE_ALPHA16F,
00400       TGF_LUMINANCE_ALPHA32F,
00401       TGF_RGB16F,
00402       TGF_RGB32F,
00403       TGF_RGBA16F,
00404       TGF_RGBA32F,
00405
00406       TGF_SIGNED_RGB_INTEGER32, // ext_texture_integer - require an integer
00407                                 // PixelDataFormat!
00408       TGF_SIGNED_RGB_INTEGER16,
00409       TGF_SIGNED_RGB_INTEGER8,
00410       TGF_RGB_INTEGER32,
00411       TGF_RGB_INTEGER16,
00412       TGF_RGB_INTEGER8,
00413
00414       TGF_SIGNED_RGBA_INTEGER32,
00415       TGF_SIGNED_RGBA_INTEGER16,
00416       TGF_SIGNED_RGBA_INTEGER8,
00417       TGF_RGBA_INTEGER32,
00418       TGF_RGBA_INTEGER16,
00419       TGF_RGBA_INTEGER8,
00420
00421       TGF_SIGNED_LUMINANCE_INTEGER32,
00422       TGF_SIGNED_LUMINANCE_INTEGER16,
00423       TGF_SIGNED_LUMINANCE_INTEGER8,
00424       TGF_LUMINANCE_INTEGER32,
00425       TGF_LUMINANCE_INTEGER16,
00426       TGF_LUMINANCE_INTEGER8,
00427
00428       TGF_SIGNED_LUMINANCE_ALPHA_INTEGER32,
00429       TGF_SIGNED_LUMINANCE_ALPHA_INTEGER16,
00430       TGF_SIGNED_LUMINANCE_ALPHA_INTEGER8,
00431       TGF_LUMINANCE_ALPHA_INTEGER32,
00432       TGF_LUMINANCE_ALPHA_INTEGER16,
00433       TGF_LUMINANCE_ALPHA_INTEGER8,
00434
00435       TGF_UNSIGNED_FLOAT_SHARED_EXPONENT, //USE RGB9_E5 format (EXT_texture_shared_exponent)
00436       TGF_UNSIGNED_FLOAT_PACKED          // USE R11F_G11F_B10F_EXT format, (EXT_texture_packed_float)
00437     };
00438
00440     enum
00441     {
00442       F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD = BIT0
00444     , F_IMAGE_STREAM = BIT2
00446     , F_NO_IMAGE_CREATION = BIT4
00449     , F_SCALE_FILTER_BOX = 0
00450     , F_SCALE_FILTER_TRIANGLE = BIT7
00451     , F_SCALE_FILTER_BELL = BIT8
00452     , F_SCALE_FILTER_BSPLINE = BIT7 | BIT8
00453     , F_SCALE_FILTER_LANCZOS3 = BIT9
00454     , F_SCALE_FILTER_MASK = BIT7 | BIT8 | BIT9
00455
00456     , F_SCALE_POT_NEAREST = 0
00457     , F_SCALE_POT_ABOVE = BIT16
00458     , F_SCALE_POT_BELOW = BIT17
00459     , F_SCALE_POT_MASK= F_SCALE_POT_ABOVE | F_SCALE_POT_BELOW
00460     };
00461
00480     NVSG_API static TextureHostSharedPtr createFromFile( const std::string& filename
00481                                                           , const std::vector<std::string>& searchPaths
00482                                                           , unsigned int creationFlags = 0 );
00483
00489     NVSG_API bool setTextureTarget( TextureTarget target );
00490
00498     NVSG_API bool convertToTextureTarget( TextureTarget target );
00499
00515     NVSG_API void setCreationFlags(unsigned int flags);
00516
00518
00531     NVSG_API void setTextureGPUFormat( TextureGPUFormat fmt );
00532
00534
00539     NVSG_API TextureGPUFormat getTextureGPUFormat( void ) const;
00540
00545     NVSG_API const std::string& getFileName() const;
00546
00548
00584     NVSG_API unsigned int createImage( unsigned int           width
00585                                      , unsigned int           height
00586                                      , unsigned int           depth
00587                                      , Image::PixelFormat     format
00588                                      , Image::PixelDataType   type
00589                                      , const void           * pixels = 0
00590                                      , const std::vector<const void*>& mipmaps = std::vector<const void*>()
00592                                      );
00593
00604     NVSG_API unsigned int addImage( unsigned int width
00605                                   , unsigned int height
00606                                   , unsigned int depth
00607                                   , Image::PixelFormat format
00608                                   , Image::PixelDataType type );
00609
00628     NVSG_API void setImageData( unsigned int image
00629                               , const void * pixels
00630                               , const std::vector<const void *> & mipmaps = std::vector<const void *>() );
00631
00647     NVSG_API void setImageData( unsigned int image
00648                               , const BufferSharedPtr & pixels
00649                               , const std::vector<BufferSharedPtr> & mipmaps = std::vector<BufferSharedPtr>() );
00650
00652
00657     NVSG_API void releaseImagePixels();
00658
00666     NVSG_API bool reloadImagePixels(bool bConvert2DToCubeMap=false);
00667
00680     NVSG_API void incrementMipmapUseCount();
00681
00693     NVSG_API void decrementMipmapUseCount();
00694
00704     NVSG_API unsigned int getMipmapUseCount() const;
00705
00717     NVSG_API bool createMipmaps();
00718
00722     NVSG_API unsigned int getNumberOfImages() const;
00723
00730     NVSG_API unsigned int getNumberOfMipmaps( unsigned int image=0
00731                                             ) const;
00732
00734
00743     NVSG_API Image::PixelFormat getFormat( unsigned int image=0
00744                                          , unsigned int mipmap=0
00745                                          ) const;
00746
00748
00757     NVSG_API Image::PixelDataType getType( unsigned int image=0
00758                                          , unsigned int mipmap=0
00759                                          ) const;
00760
00771     NVSG_API unsigned int getWidth( unsigned int image=0
00772                                   , unsigned int mipmap=0
00773                                   ) const;
00774
00785     NVSG_API unsigned int getHeight( unsigned int image=0
00786                                    , unsigned int mipmap=0
00787                                    ) const;
00788
00799     NVSG_API unsigned int getDepth( unsigned int image=0
00800                                   , unsigned int mipmap=0
00801                                   ) const;
00802
00804
00812     NVSG_API unsigned int getBytesPerPixel( unsigned int image=0
00813                                           , unsigned int mipmap=0
00814                                           ) const;
00815
00829     NVSG_API unsigned int getBytesPerScanLine( unsigned int image=0, unsigned int mipmap=0 ) const;
00830
00844     NVSG_API unsigned int getBytesPerPlane( unsigned int image=0, unsigned int mipmap=0 ) const;
00845
00858     NVSG_API unsigned int getNumberOfBytes( unsigned int image=0, unsigned int mipmap=0 ) const;
00859
00862     NVSG_API unsigned int getTotalNumberOfBytes() const;
00863
00864 #if 0
00865
00866
00874     NVSG_API const void * getPixels( unsigned int image = 0
00875                                    , unsigned int mipmap = 0
00876                                    ) const;
00877 #endif
00878
00879
00887     NVSG_API BufferSharedPtr getPixels( unsigned int image = 0
00888                                    , unsigned int mipmap = 0
00889                                    ) const;
00890
00920     NVSG_API bool getSubImagePixels( unsigned int image
00921                                    , unsigned int mipmap
00922                                    , unsigned int x_offset
00923                                    , unsigned int y_offset
00924                                    , unsigned int z_offset
00925                                    , unsigned int width
00926                                    , unsigned int height
00927                                    , unsigned int depth
00928                                    , void * subPixels
00929                                    ) const;
00930
00960     NVSG_API bool getSubImagePixels( unsigned int image
00961                                    , unsigned int mipmap
00962                                    , unsigned int x_offset
00963                                    , unsigned int y_offset
00964                                    , unsigned int z_offset
00965                                    , unsigned int width
00966                                    , unsigned int height
00967                                    , unsigned int depth
00968                                    , const BufferSharedPtr &buffer
00969                                    ) const;
00970
01001     NVSG_API bool setSubImagePixels( unsigned int image
01002                                    , unsigned int mipmap
01003                                    , unsigned int x_offset
01004                                    , unsigned int y_offset
01005                                    , unsigned int z_offset
01006                                    , unsigned int width
01007                                    , unsigned int height
01008                                    , unsigned int depth
01009                                    , const void * subPixels
01010                                    );
01011
01042     NVSG_API bool setSubImagePixels( unsigned int image
01043                                    , unsigned int mipmap
01044                                    , unsigned int x_offset
01045                                    , unsigned int y_offset
01046                                    , unsigned int z_offset
01047                                    , unsigned int width
01048                                    , unsigned int height
01049                                    , unsigned int depth
01050                                    , const BufferSharedPtr &pixelBuffer
01051                                    );
01052
01054     NVSG_API unsigned int getUnpackAlignment() const;
01055
01066     NVSG_API bool scale( unsigned int image
01067                        , unsigned int width
01068                        , unsigned int height = 1
01069                        , unsigned int depth = 1
01070                        );
01071
01079     NVSG_API bool convertPixelFormat( Image::PixelFormat newFormat);
01080
01105     NVSG_API bool scaleToPowerOfTwo(unsigned int sizeLimit);
01106
01108
01109     NVSG_API bool is1D()            const;
01110
01112
01113     NVSG_API bool is2D()            const;
01114
01116
01117     NVSG_API bool is2DArray()            const;
01118
01120
01121     NVSG_API bool is1DArray()            const;
01122
01124
01125     NVSG_API bool is3D()            const;
01126
01128
01130     NVSG_API bool isCubeMap()       const;
01131
01133
01135     NVSG_API bool isCubeMapArray()       const;
01136
01138
01139     NVSG_API bool isFloatingPoint() const;
01140
01142
01143     NVSG_API bool isFixedPoint() const;
01144
01146
01147     NVSG_API bool isCompressed() const;
01148
01150
01152     NVSG_API bool isImageStream() const;
01153
01155
01159     NVSG_API void convert2DToCubeMap();
01160
01162
01173     NVSG_API void demandUpload();
01174
01176
01177     NVSG_API bool isUploadDemanded() const;
01178
01180
01189     NVSG_API void finishUpload( bool preserve = false );
01190
01192
01193     NVSG_API unsigned int getCreationFlags() const;
01194
01196
01197     NVSG_API TextureHost& operator=(const TextureHost& rhs);
01198
01200
01201     NVSG_API void mirrorX( unsigned int image
01202       );
01203
01205
01206     NVSG_API void mirrorY( unsigned int image
01207       );
01208
01215     NVSG_API virtual bool isEquivalent( const Texture * p, bool deepCompare ) const;
01216
01217   protected:
01218     friend struct nvutil::Holder<TextureHost>;
01219
01224     NVSG_API TextureHost();
01225
01227     NVSG_API TextureHost(const TextureHost&);
01228
01230     NVSG_API virtual ~TextureHost();
01231
01235     NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
01236
01237   private:
01238     // internal flags
01239     enum
01240     {
01241       F_UPLOAD_DEMANDED = BIT0
01242     };
01243
01244     // helper with copying images. in particular pixel data
01245     void copyImages( const std::vector<std::vector<Image> > & srcImages );
01246
01247     // mipmap management helpers
01248     bool createMipmaps( std::vector<Image> &images, const std::vector<const void*>& mipmaps );
01249     bool createMipmaps( std::vector<Image> &images, const std::vector<BufferSharedPtr>& mipmaps );
01250     bool createMipmaps( std::vector<Image> &images );
01251     void releaseMipmaps();
01252     void releaseMipmaps( std::vector<Image> &images );
01253
01254     // private helper to recalculate the total amount of image bytes
01255     void recalcTotalNumberOfBytes();
01256
01257     //  scaling helper functions
01258     void filter( const Image * src, Image * dst, ScaleFilter * sf );
01259
01260     unsigned int                      m_creationFlags;
01261     unsigned int                      m_internalFlags;
01262     unsigned int                      m_totalNumBytes;
01263     unsigned int                      m_mipmapUseCount;
01264     std::string                       m_filename; // if created from file
01265     std::vector<std::vector<Image> >  m_images;
01266     TextureGPUFormat                  m_gpuFormat;
01267
01268     typedef std::map<std::string, nvsg::TextureLoader*> LoaderMap;
01269     static LoaderMap m_loaders;
01270     static TextureLoader * getLoader( const std::string & filename );
01271   };
01272
01273   inline const std::string& TextureHost::getFileName() const
01274   {
01275     return m_filename;
01276   }
01277
01278   inline unsigned int TextureHost::getMipmapUseCount() const
01279   {
01280     return m_mipmapUseCount;
01281   }
01282
01283   inline bool TextureHost::isUploadDemanded() const
01284   {
01285     return m_internalFlags & F_UPLOAD_DEMANDED;
01286     // no need to invalidateHashKey on change of m_internalFlags
01287   }
01288
01289   inline unsigned int TextureHost::getCreationFlags() const
01290   {
01291     return m_creationFlags;
01292   }
01293
01294   inline unsigned int TextureHost::getNumberOfImages() const
01295   {
01296     NVSG_TRACE();
01297     return( checked_cast<unsigned int>(m_images.size()) );
01298   }
01299
01300   inline unsigned int TextureHost::getNumberOfMipmaps(unsigned int image) const
01301   {
01302     NVSG_TRACE();
01303     NVSG_ASSERT( ( image < m_images.size() ) && ( 0 < m_images[image].size() ) );
01304     return( checked_cast<unsigned int>(m_images[image].size() - 1) );
01305   }
01306
01307   inline Image::PixelFormat TextureHost::getFormat(unsigned int image, unsigned int mipmap) const
01308   {
01309     NVSG_TRACE();
01310     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01311     return( m_images[image][mipmap].m_format );
01312   }
01313
01314   inline Image::PixelDataType TextureHost::getType(unsigned int image, unsigned int mipmap) const
01315   {
01316     NVSG_TRACE();
01317     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01318     return( m_images[image][mipmap].m_type );
01319   }
01320
01321   inline TextureHost::TextureGPUFormat TextureHost::getTextureGPUFormat() const
01322   {
01323     NVSG_TRACE();
01324     return( m_gpuFormat );
01325   }
01326
01327   inline unsigned int TextureHost::getWidth(unsigned int image, unsigned int mipmap) const
01328   {
01329     NVSG_TRACE();
01330     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01331     return( m_images[image][mipmap].m_width );
01332   }
01333
01334   inline unsigned int TextureHost::getHeight(unsigned int image, unsigned int mipmap) const
01335   {
01336     NVSG_TRACE();
01337     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01338     return( m_images[image][mipmap].m_height );
01339   }
01340
01341   inline unsigned int TextureHost::getDepth(unsigned int image, unsigned int mipmap) const
01342   {
01343     NVSG_TRACE();
01344     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01345     return( m_images[image][mipmap].m_depth );
01346   }
01347
01348   inline unsigned int TextureHost::getBytesPerPixel(unsigned int image, unsigned int mipmap) const
01349   {
01350     NVSG_TRACE();
01351     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01352     return( m_images[image][mipmap].m_bpp );
01353   }
01354
01355   inline unsigned int TextureHost::getBytesPerScanLine(unsigned int image, unsigned int mipmap) const
01356   {
01357     NVSG_TRACE();
01358     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01359     return( m_images[image][mipmap].m_bpl );
01360   }
01361
01362   inline unsigned int TextureHost::getBytesPerPlane(unsigned int image, unsigned int mipmap) const
01363   {
01364     NVSG_TRACE();
01365     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01366     return( m_images[image][mipmap].m_bps );
01367   }
01368
01369   inline unsigned int TextureHost::getNumberOfBytes(unsigned int image, unsigned int mipmap) const
01370   {
01371     NVSG_TRACE();
01372     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01373     return( m_images[image][mipmap].m_nob );
01374   }
01375
01376   inline unsigned int TextureHost::getTotalNumberOfBytes() const
01377   {
01378     NVSG_TRACE();
01379 #if !defined(NDEBUG)
01380     unsigned int dbgTotalNumBytes = 0;
01381     for ( size_t i=0; i<m_images.size(); ++i )
01382     {
01383       for ( size_t j=0; j<m_images[i].size(); ++j )
01384       {
01385         dbgTotalNumBytes += m_images[i][j].m_nob;
01386       }
01387     }
01388     NVSG_ASSERT(dbgTotalNumBytes==m_totalNumBytes);
01389 #endif
01390     return m_totalNumBytes;
01391   }
01392
01393   inline BufferSharedPtr TextureHost::getPixels(unsigned int image, unsigned int mipmap) const
01394   {
01395     NVSG_TRACE();
01396     NVSG_ASSERT( ( image < m_images.size() ) && ( mipmap < m_images[image].size() ) );
01397     return( m_images[image][mipmap].m_pixels );
01398   }
01399
01400   inline unsigned int TextureHost::getUnpackAlignment() const
01401   {
01402     NVSG_TRACE();
01403     return getBytesPerPixel()==4 ? 4 : 1;
01404   }
01405
01406   inline bool TextureHost::is1D() const
01407   {
01408     NVSG_TRACE();
01409     return (  1==m_images.size()
01410             && 1==m_images[0][0].m_depth
01411             && 1==m_images[0][0].m_height
01412             && 1<=m_images[0][0].m_width );
01413   }
01414
01415   inline bool TextureHost::is2D() const
01416   {
01417     NVSG_TRACE();
01418     return (  1==m_images.size()
01419             && 1==m_images[0][0].m_depth
01420             && 1<=m_images[0][0].m_width
01421             && 1<=m_images[0][0].m_height );
01422   }
01423
01424   inline bool TextureHost::is3D() const
01425   {
01426     NVSG_TRACE();
01427     return (  1==m_images.size()
01428             && 1<=m_images[0][0].m_depth
01429             && 1<=m_images[0][0].m_width
01430             && 1<=m_images[0][0].m_height );
01431   }
01432
01433   inline bool TextureHost::is2DArray() const
01434   {
01435     // Will conflict with cube map if you have the user
01436     // has defined an array of 6 square textures.  Not sure
01437     // how to handle this.
01438
01439     NVSG_TRACE();
01440
01441     // must have at least 2 images to identify as array.
01442     if( 1 < m_images.size()
01443         && 1==m_images[0][0].m_depth
01444         && 1<=m_images[0][0].m_width
01445         && 1<=m_images[0][0].m_height )
01446     {
01447       unsigned int width = m_images[0][0].m_width;
01448       unsigned int height = m_images[0][0].m_height;
01449
01450       for(unsigned int i=1; i<m_images.size(); i++ )
01451       {
01452         if( m_images[i][0].m_width != width ||
01453             m_images[i][0].m_height != height ||
01454             m_images[i][0].m_depth != 1 )
01455         {
01456           return false;
01457         }
01458       }
01459
01460       return true;
01461     }
01462     else
01463     {
01464       return false;
01465     }
01466   }
01467
01468   inline bool TextureHost::is1DArray() const
01469   {
01470     NVSG_TRACE();
01471     // must have at least 2 images to identify as array.
01472     if( 1 < m_images.size()
01473         && 1==m_images[0][0].m_depth
01474         && 1<=m_images[0][0].m_width
01475         && 1==m_images[0][0].m_height )
01476     {
01477       unsigned int width = m_images[0][0].m_width;
01478
01479       for(unsigned int i=1; i<m_images.size(); i++ )
01480       {
01481         if( m_images[i][0].m_width != width ||
01482             m_images[i][0].m_height != 1 ||
01483             m_images[i][0].m_depth != 1 )
01484         {
01485           return false;
01486         }
01487       }
01488
01489       return true;
01490     }
01491     else
01492     {
01493       return false;
01494     }
01495   }
01496
01497   inline bool TextureHost::isCubeMap() const
01498   {
01499     NVSG_TRACE();
01500     if (  6==m_images.size()
01501           && 1==m_images[0][0].m_depth
01502           && 1<=m_images[0][0].m_width
01503           && 1<=m_images[0][0].m_height
01504           // must be square
01505           && m_images[0][0].m_width == m_images[0][0].m_height )
01506     {
01507       unsigned int width = m_images[0][0].m_width;
01508
01509       for(unsigned int i=1; i<m_images.size(); i++ )
01510       {
01511         if( m_images[i][0].m_width != width ||
01512             m_images[i][0].m_height != width ||
01513             m_images[i][0].m_depth != 1 )
01514         {
01515           return false;
01516         }
01517       }
01518
01519       return true;
01520     }
01521     else
01522     {
01523       return false;
01524     }
01525
01526   }
01527
01528   inline bool TextureHost::isCubeMapArray() const
01529   {
01530     NVSG_TRACE();
01531     bool result = ( m_images.size() > 0
01532       && m_images.size() % 6 == 0
01533       && 1==m_images[0][0].m_depth
01534       && 1<=m_images[0][0].m_width
01535       && 1<=m_images[0][0].m_height
01536       // must be square
01537       && m_images[0][0].m_width == m_images[0][0].m_height );
01538
01539     if (result)
01540     {
01541       unsigned int width = m_images[0][0].m_width;
01542
01543       for(unsigned int i=1; i<m_images.size(); i++ )
01544       {
01545         if( m_images[i][0].m_width != width ||
01546           m_images[i][0].m_height != width ||
01547           m_images[i][0].m_depth != 1 )
01548         {
01549           result = false;
01550           break;
01551         }
01552       }
01553     }
01554     return result;
01555   }
01556
01557   inline bool TextureHost::isImageStream() const
01558   {
01559     NVSG_TRACE();
01560     return !!(m_creationFlags & F_IMAGE_STREAM);
01561   }
01562
01563   inline void TextureHost::demandUpload()
01564   {
01565     NVSG_TRACE();
01566
01567     m_internalFlags |= F_UPLOAD_DEMANDED;
01568     // no need to invalidateHashKey on change of m_internalFlags
01569   }
01570
01572
01588   class ScaleFilter : public nvutil::RCObject
01589   {
01590     public:
01592
01594       NVSG_API virtual float getSupportWidth( void ) const = 0;
01595
01597
01598       NVSG_API virtual float operator()( float t
01599                                        ) const = 0;
01600   };
01601
01603
01605   class BoxFilter : public ScaleFilter
01606   {
01607     public:
01609
01610       NVSG_API float getSupportWidth( void ) const;
01611
01613
01614       NVSG_API float operator()( float t ) const;
01615   };
01616
01617   inline float BoxFilter::getSupportWidth( void ) const
01618   {
01619     return( 0.5f );
01620   }
01621
01622   inline float BoxFilter::operator()( float t ) const
01623   {
01624     NVSG_ASSERT ( 0.0f <= t );
01625     return( ( t <= 0.5f ) ? 1.0f : 0.0f );
01626   }
01627
01629
01631   class TriangleFilter : public ScaleFilter
01632   {
01633     public:
01635
01636       NVSG_API float getSupportWidth( void ) const;
01637
01639
01640       NVSG_API float operator()( float t ) const;
01641   };
01642
01643   inline float TriangleFilter::getSupportWidth( void ) const
01644   {
01645     return( 1.0f );
01646   }
01647
01648   inline float TriangleFilter::operator()( float t ) const
01649   {
01650     NVSG_ASSERT ( 0.0f <= t );
01651     return( ( t <= 1.0f ) ? 1.0f - t : 0.0f );
01652   }
01653
01655
01659   class BellFilter : public ScaleFilter
01660   {
01661     public:
01663
01664       NVSG_API float getSupportWidth( void ) const;
01665
01667
01669       NVSG_API float operator()( float t ) const;
01670   };
01671
01672   inline float BellFilter::getSupportWidth( void ) const
01673   {
01674     return( 1.5f );
01675   }
01676
01678
01682   class BSplineFilter : public ScaleFilter
01683   {
01684     public:
01686
01687       NVSG_API float getSupportWidth( void ) const;
01688
01690
01692       NVSG_API float operator()( float t ) const;
01693   };
01694
01695   inline float BSplineFilter::getSupportWidth( void ) const
01696   {
01697     return( 2.0f );
01698   }
01699
01701
01704   class Lanczos3Filter : public ScaleFilter
01705   {
01706     public:
01708
01709       NVSG_API float getSupportWidth( void ) const;
01710
01712
01714       NVSG_API float operator()( float t ) const;
01715
01716     private:
01717       float sinc( float x ) const;
01718   };
01719
01720   inline float Lanczos3Filter::getSupportWidth( void ) const
01721   {
01722     return( 3.0f );
01723   }
01724
01725   inline float Lanczos3Filter::operator()( float t ) const
01726   {
01727     NVSG_ASSERT ( 0.0f <= t );
01728     return( ( t < 3.0f ) ? sinc(t) * sinc(t/3.0f) : 0.0f );
01729   }
01730
01731   inline float Lanczos3Filter::sinc( float x ) const
01732   {
01733     x *= nvmath::PI;
01734     return( ( FLT_EPSILON < x ) ? sin(x) / x : 1.0f );
01735   }
01736
01737 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Tools.h File Reference

inc / nvsg / nvutil

Tools.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CoreTypes.h"
#include <vector>
#include <string>
#include <stdio.h>

Include dependency graph for Tools.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Functions

NVSG_API bool | FindFile (const std::string &mask, const std::vector< std::string > &searchPaths, std::vector< std::string > &results, bool recursive=false)
Find files matching a pattern.
NVSG_API bool | FindFileFirst (const std::string &mask, const std::vector< std::string > &searchPaths, std::string &nameOut, bool recursive=false)
Check for the first occurence of a file.
NVSG_API bool | DirExists (const std::string &dirpath)
Check if a given directory exists.
NVSG_API bool | CreateDir (const std::string &dirpath)
Create a directory.
NVSG_API bool | FileExists (const std::string &filepath)
Check if a given file exists.
NVSG_API bool | FileSize (const std::string &filepath, long &size)
Return filesize in bytes of an existing file. Supports filesizes up to 2GB only.
NVSG_API bool | FileDelete (const std::string &filepath)
Delete a file.
NVSG_API void | GetFileNameFromPath (const std::string &path, std::string &fname)
Extract filename.
NVSG_API void | GetFileExtFromPath (const std::string &path, std::string &fext)
Extract file extension.
NVSG_API void | GetDirFromPath (const std::string &path, std::string &dir)
Extract directory path.
NVSG_API void | GetDrvFromPath (const std::string &path, std::string &drv)
Extract drive letter.
NVSG_API void | GetDrvAndDirFromPath (const std::string &path, std::string &dir)
Extract full path.
NVSG_API void | SplitPath (const std::string &path, std::string &drv, std::string &dir, std::string &fname, std::string &fext)
Break a path name into components.
NVSG_API void | GetModulePath (const std::string &module, std::string &path)
Determine the module path **Windows only**.
NVSG_API void | GetModulePath (const HMODULE hModule, std::string &path)
Determine the module path **Windows only**.
NVSG_API void | GetModulePath (std::string &path)
Holds the full executable path.
NVSG_API bool | GetCurrentDir (std::string &path)
Get the current directory for the current process.
NVSG_API std::string | SetCurrentDir (const std::string &dir)
Set the current directory for the current process.
NVSG_API void | ApplyNodeHints (const nvsg::NodeSharedPtr &root, unsigned int setHints, unsigned int clearHints=0)
Sets or clears a collection of object hints recursively.

Detailed Description

Function Documentation

NVSG_API bool FindFile | ( | const std::string & | mask,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::vector< std::string > & | results,
 |  | bool | recursive = false
 | ) |

Find files matching a pattern.

Tries to find files matching mask and output results (full path) to results

The function tries to lookup the file as follows:
  1. If mask contains a drive or path, that path will be looked for first
  2. If it does not contain a path and searchPaths is empty we look inside current dir for a match
  3. Look inside the search paths stored in searchPaths
  4. Dive into all the subdirs if recursive is set true
Note: Use FindFileFirst, if you are only interested in the first occurence of a file.

Returns:
true if successfull, false otherwise.
Parameters:
mask | the path/file mask to match
searchPaths | the dirs to search additionally
results | store results in here
recursive | search all subdirs also

NVSG_API bool FindFileFirst | ( | const std::string & | mask,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::string & | nameOut,
 |  | bool | recursive = false
 | ) |

Check for the first occurence of a file.

Works as FindFile, but return the first match only to nameOut

Parameters:
mask | Name of the file to search for.
searchPaths | Collection of search paths to lookup the file.
nameOut | Holds the full path and filename, if successful.
recursive | search all subdirs also

NVSG_API bool DirExists ( const std::string & dirpath )

Check if a given directory exists.

NVSG_API bool CreateDir ( const std::string & dirpath )

Create a directory.

NVSG_API bool FileExists ( const std::string & filepath )

Check if a given file exists.

NVSG_API bool FileSize | ( | const std::string & | filepath,
 |  | long & | size
 | ) |

Return filesize in bytes of an existing file. Supports filesizes up to 2GB only.

NVSG_API bool FileDelete ( const std::string & filepath )

Delete a file.

NVSG_API void GetFileNameFromPath | ( | const std::string & | path,
 |  | std::string & | fname
 | ) |

Extract filename.

Extracts the filename with extension from path and returns it in fname.

Parameters:
path | Input path and filename.
fname | Extracted filename with extension.

NVSG_API void GetFileExtFromPath | ( | const std::string & | path,
 |  | std::string & | fext
 | ) |

Extract file extension.

Extracts the file extension, including leading period from path and returns it in fext.

Parameters:
path | Input path and filename.
fext | Extracted file extension, including leading period.

NVSG_API void GetDirFromPath | ( | const std::string & | path,
 |  | std::string & | dir
 | ) |

Extract directory path.

Extracts the directory path, including trailing slash from path and returns it in dir.

Parameters:
path | Input path and filename.
dir | Extracted directory path, including trailing slash.

NVSG_API void GetDrvFromPath | ( | const std::string & | path,
 |  | std::string & | drv
 | ) |

Extract drive letter.

Extracts the optional drive letter, followed by a colon from path and returns it in drv.

Parameters:
path | Input path and filename.
drv | Extracted drive letter, followed by a colon.

NVSG_API void GetDrvAndDirFromPath | ( | const std::string & | path,
 |  | std::string & | dir
 | ) |

Extract full path.

Extracts the drive and directory from path and returns it in dir.

Parameters:
path | Input path and filename.
dir | Extracted path, including trailing slash.

NVSG_API void SplitPath | ( | const std::string & | path,
 |  | std::string & | drv,
 |  | std::string & | dir,
 |  | std::string & | fname,
 |  | std::string & | fext
 | ) |

Break a path name into components.

Parameters:
path | The full path.
drv | String to get the drive letter, followed by a colon (:).
dir | String to get the directory path.
fname | String to get the base filename without extension.
fext | String to get the filename extension, including leading period (.).

NVSG_API void GetModulePath | ( | const std::string & | module,
 |  | std::string & | path
 | ) |

Determine the module path **Windows only**.

Determines the full path to the module, given the module's name in module and returns it in path.

Parameters:
module | Module name.
path | Holds the full path to the module if the module was found.

NVSG_API void GetModulePath | ( | const HMODULE | hModule,
 |  | std::string & | path
 | ) |

Determine the module path **Windows only**.

Determines the full path of the module, given the module handle in hModule and returns it in path.

Parameters:
hModule | Module handle.
path | Holds the full path to the module.

NVSG_API void GetModulePath ( std::string & path )

Holds the full executable path.

Determines the full path to the current executable and returns it in path.

NVSG_API bool GetCurrentDir ( std::string & path )

Get the current directory for the current process.

path will hold the current directory if the function succeeds

Returns:
true if successful, false otherwise.
Parameters:
path Holds the current directory if the function succeeds.

NVSG_API std::string SetCurrentDir ( const std::string & dir )

Set the current directory for the current process.

Sets the current directory for the current process to path and returns the former current directory.

Returns:
A string holding the former current directory.
Parameters:
dir Path to be set as current directory.

NVSG_API void ApplyNodeHints | ( | const nvsg::NodeSharedPtr & | root,
 |  | unsigned int | setHints,
 |  | unsigned int | clearHints = 0
 | ) |

Sets or clears a collection of object hints recursively.

Sets the object hints setHints and clears the hints clearHints recursively, from root downward.

Generated on Fri Jul 13 13:28:33 2012 for SceniX


SceniX: Tools.h Source File

inc / nvsg / nvutil

Tools.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/CoreTypes.h"
00017 #include <vector>
00018 #include <string>
00019
00020 #include <stdio.h>
00021
00022 namespace nvutil
00023 {
00024
00026
00041   extern NVSG_API bool FindFile( const std::string &mask
00042                                , const std::vector<std::string> &searchPaths
00043                                , std::vector<std::string> &results
00044                                , bool recursive=false
00045                                );
00046
00048
00050   extern NVSG_API bool FindFileFirst( const std::string &mask
00051                                     , const std::vector<std::string> &searchPaths
00052                                     , std::string &nameOut
00053                                     , bool recursive=false
00054                                     );
00055
00057   extern NVSG_API bool DirExists( const std::string &dirpath  //<! Input (path)
00058                                  );
00059
00061   extern NVSG_API bool CreateDir( const std::string &dirpath );
00062
00064   extern NVSG_API bool FileExists( const std::string &filepath  //<! Input (path+)filename.
00065                                  );
00066
00068   extern NVSG_API bool FileSize( const std::string &filepath,  //<! Input (path+)filename
00069                                  long &size                    //<! Filesize if file exists (function return true)
00070                                );
00071
00073   extern NVSG_API bool FileDelete( const std::string &filepath );
00074
00076
00078   extern NVSG_API void GetFileNameFromPath( const std::string& path
00079                                           , std::string& fname
00080                                           );
00082
00084   extern NVSG_API void GetFileExtFromPath( const std::string& path
00085                                          , std::string& fext
00086                                          );
00088
00090   extern NVSG_API void GetDirFromPath( const std::string& path
00091                                      , std::string& dir
00092                                      );
00094
00096   extern NVSG_API void GetDrvFromPath( const std::string& path
00097                                      , std::string& drv
00098                                      );
00100
00102   extern NVSG_API void GetDrvAndDirFromPath(const std::string& path
00103                                            , std::string& dir
00104                                            );
00105
00112   extern NVSG_API void SplitPath( const std::string& path
00113                                 , std::string& drv
00114                                 , std::string& dir
00115                                 , std::string& fname
00116                                 , std::string& fext );
00117
00118 #if defined(_WIN32)
00119
00120
00122   extern NVSG_API void GetModulePath( const std::string& module
00123                                     , std::string& path
00124                                     );
00126
00128   extern NVSG_API void GetModulePath( const HMODULE hModule
00129                                     , std::string& path
00130                                     );
00131 #endif
00132
00134
00136   extern NVSG_API void GetModulePath( std::string& path );
00137
00139
00142   extern NVSG_API bool GetCurrentDir( std::string& path
00143                                     );
00144
00146
00149   extern NVSG_API std::string SetCurrentDir( const std::string& dir
00150                                       );
00152
00156   class StrTokenizer
00157   {
00158     public:
00161       explicit NVSG_API StrTokenizer( const std::string& delimString );
00162
00164       NVSG_API ~StrTokenizer();
00165
00168       NVSG_API void setInput( const std::string& inputString );
00169
00172       NVSG_API const std::string& getNextToken();
00173
00176       NVSG_API bool hasMoreTokens() const;
00177
00180       NVSG_API size_t findDelimiter( const std::string &delim, size_t startIndex = 0 ) const;
00181
00182     private:
00183       unsigned int m_currentPos;
00184       std::string m_inputString;
00185       std::string m_token;
00186       std::string m_delim;
00187   };
00188
00190   class TempLocale
00191   {
00192   public:
00196     explicit NVSG_API TempLocale( std::string tempLocale );
00197
00199     NVSG_API ~TempLocale();
00200
00201   private:
00202     std::string oldLocale;
00203   };
00204
00206
00208   extern NVSG_API void ApplyNodeHints( const nvsg::NodeSharedPtr & root, unsigned int setHints, unsigned int clearHints = 0 );
00209
00210
00211 } // namespace nvutil
00212
00213
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Trace.h File Reference

inc / nvsg / nvutil

Trace.h File Reference

#include "nvsg/nvsgapi.h"
#include "nvutil/nvutil.h"
#include <string>
#include <stdio.h>
#include <stdarg.h>

Include dependency graph for Trace.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvutil

Defines

#define | TRACE_LOG_FILE "QuadroVR.log"
Define for the trace log file name.
#define | OutputString traceDebugOutput
#define | NVSG_TRACE()
#define | NVSG_TRACE_OUT(s) if ( dwTraceEnabled ) { TraceFunctor<OutputString>()(s); }
#define | NVSG_TRACE_OUT_F(s) if ( dwTraceEnabled ) { TraceFunctor<OutputString>().format s; }

Variables

NVSG_API const char * | REG_NV_TRACE_SUBKEY
Subkey of Registry where tracing is enabled/disabled on function level.

Detailed Description

Define Documentation

#define TRACE_LOG_FILE "QuadroVR.log"

Define for the trace log file name.

#define NVSG_TRACE ( )

Value:

static DWORD dwTraceEnabled = RegVal<DWORD>( __FUNCTION__              \
                                             , REG_NV_TRACE_SUBKEY       \
                                             , REG_DWORD_LITTLE_ENDIAN   \
                                             , HKEY_CURRENT_USER        \
                                             , DWORD(0) );               \
  Trace<TraceFunctor<OutputString> >  traceObject(__FUNCTION__, dwTraceEnabled!=0);

Variable Documentation

NVSG_API const char* REG_NV_TRACE_SUBKEY

Subkey of Registry where tracing is enabled/disabled on function level.

Generated on Fri Jul 13 13:28:34 2012 for SceniX


SceniX: Trace.h Source File

inc / nvsg / nvutil

Trace.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsg/nvsgapi.h"  // storage-class defines
00016
00017 #include "nvutil/nvutil.h"
00018
00019 #include <string>
00020
00021 #ifndef LINUX
00022 # include <conio.h>
00023 # include "nvutil/Registry.h"
00024 #else
00025 # include <stdio.h>
00026 # include <stdarg.h>
00027 #endif
00028
00030 extern NVSG_API const char * REG_NV_TRACE_SUBKEY;
00031
00032 namespace nvutil {
00033
00034
00036 #define TRACE_LOG_FILE       "QuadroVR.log" /* log file for debug printouts */
00037
00038 //
00039 // a certain output functors
00040 //
00041
00043 struct traceDebugOutput
00044 {
00046   void operator()(const char * str)
00047   {
00048 #ifdef _WIN32
00049   #ifndef UNICODE
00050     OutputDebugStringA(str);
00051   #endif
00052 #elif defined(LINUX)
00053     printf("%s", str);
00054 #endif
00055   }
00056 };
00057
00059 struct traceConsoleOutput
00060 {
00062   void operator()(const char * str)
00063   {
00064 #ifdef _WIN32
00065   _cputs(str);
00066 #endif
00067   }
00068 };
00069
00071 struct traceConsoleDebugOutput
00072 {
00074   void operator()(const char * str)
00075   {
00076 #ifdef _WIN32
00077     traceDebugOutput()(str);
00078     traceConsoleOutput()(str);
00079 #endif
00080   }
00081 };
00082
00084 struct traceFileOutput
00085 {
00087   void operator()(const char * str)
00088   {
00089 #ifdef _WIN32
00090     FILE * fp = fopen(TRACE_LOG_FILE, "a");
00091     if ( fp )
00092     {
00093       fputs(str, fp);
00094       fclose(fp);
00095     }
00096 #endif
00097   }
00098 };
00099
00101 struct traceFileDebugOutput
00102 {
00104   void operator()(const char * str)
00105   {
00106 #ifdef _WIN32
00107     traceFileOutput()(str);
00108     traceDebugOutput()(str);
00109 #endif
00110   }
00111 };
00112
00114 struct traceFileConsoleOutput
00115 {
00117   void operator()(const char * str)
00118   {
00119 #ifdef _WIN32
00120     traceFileOutput()(str);
00121     traceConsoleOutput()(str);
00122 #endif
00123   }
00124 };
00125
00127 template <typename Functor>
00128 class Trace
00129 {
00130 public:
00132   Trace(const char * fn, bool traceOut) : m_fn(NULL), m_traceOut(traceOut)
00133   {
00134     if (m_traceOut)
00135     {
00136       m_fn = new std::string(fn);
00137       enter();
00138     }
00139   }
00140
00142   ~Trace()
00143   {
00144     if (m_traceOut)
00145     {
00146       leave();
00147       delete m_fn;
00148     }
00149   }
00150
00151 private:
00152   void enter()
00153   {
00154     std::string outstr(">>>> Enter ");
00155     outstr += m_fn->c_str();
00156     outstr += "\n";
00157     Functor()(outstr.c_str());
00158   }
00159
00160   void leave()
00161   {
00162     std::string outstr("<<<< Leave ");
00163     outstr += m_fn->c_str();
00164     outstr += "\n";
00165     Functor()(outstr.c_str());
00166   }
00167
00168   std::string * m_fn;
00169   bool m_traceOut;
00170 };
00171
00173 template <typename OutFunctor>
00174 struct TraceFunctor
00175 {
00177   void operator()(const char* str) { OutFunctor()(str); }
00178
00180   void format(const char* fmt, ...)
00181   {
00182     const int bufSize = 1024;
00183     char outBuf[bufSize];
00184
00185     va_list ap;
00186     va_start(ap, fmt);
00187     vsnprintf(outBuf, bufSize-1, fmt, ap);
00188     va_end(ap);
00189
00190     OutFunctor()(outBuf);
00191   }
00192 };
00193
00194
00195 #if !defined(NDEBUG) && defined(_WIN32) && !defined(UNICODE)
00196 // uncomment one of the following for desired tracing
00197 # define OutputString traceDebugOutput
00198 //# define OutputString traceConsoleOutput
00199 //# define OutputString traceConsoleDebugOutput
00200 //# define OutputString traceFileOutput
00201 //# define OutputString traceFileDebugOutput
00202 //# define OutputString traceFileConsoleOutput
00203 # define NVSG_TRACE()                                                       \
00204   static DWORD dwTraceEnabled = RegVal<DWORD>( __FUNCTION__              \
00205                                              , REG_NV_TRACE_SUBKEY       \
00206                                              , REG_DWORD_LITTLE_ENDIAN   \
00207                                              , HKEY_CURRENT_USER        \
00208                                              , DWORD(0) );               \
00209   Trace<TraceFunctor<OutputString> >  traceObject(__FUNCTION__, dwTraceEnabled!=0);
00210 // NVSG_TRACE_OUT(s) - string output
00211 // requires TRACE() macro to be expanded before within the same function
00212 # define NVSG_TRACE_OUT(s)   \
00213   if ( dwTraceEnabled ) { TraceFunctor<OutputString>()(s); }
00214 // NVSG_TRACE_OUT_F(s) - formatted string output
00215 // USAGE: NVSG_TRACE_OUT_F((const char* fmt, ...))
00216 //                      ^                    ^
00217 // requires TRACE() macro to be expanded before within the same function
00218 # define NVSG_TRACE_OUT_F(s) \
00219   if ( dwTraceEnabled ) { TraceFunctor<OutputString>().format s; }
00220
00221 #else // !defined(NDEBUG) && defined(_WIN32)
00222
00223 # define NVSG_TRACE()
00224 # define NVSG_TRACE_OUT(s)
00225 # define NVSG_TRACE_OUT_F(s)
00226
00227 #endif // !NDEBUG
00228
00229 } // namespace nvutil
00230
00231 // avoid tedious, repeated qualification of namespace scope
00232 #if !defined(NDEBUG) && defined(_WIN32)
00233
00234 using nvutil::RegVal;
00235 using nvutil::traceConsoleDebugOutput;
00236 using nvutil::traceConsoleOutput;
00237 using nvutil::traceDebugOutput;
00238 using nvutil::traceFileConsoleOutput;
00239 using nvutil::traceFileDebugOutput;
00240 using nvutil::traceFileOutput;
00241 using nvutil::TraceFunctor;
00242 using nvutil::Trace;
00243
00244 #endif // !defined(NDEBUG) && defined(_WIN32)
00245
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Trackball.h File Reference

inc / nvsg / nvutil

Trackball.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnt.h"

Include dependency graph for Trackball.h:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:34 2012 for SceniX


SceniX: Trackball.h Source File

inc / nvsg / nvutil

Trackball.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Vecnt.h"
00017
00018 namespace nvutil
00019 {
00020
00022
00027   class Trackball
00028   {
00029     public:
00031       NVSG_API Trackball(void);
00032
00034       NVSG_API virtual ~Trackball(void);
00035
00037
00046       NVSG_API void  apply( const nvmath::Vec2f &p0
00047                           , const nvmath::Vec2f &p1
00048                           , nvmath::Vec3f & axis
00049                           , float & rad
00050                           );
00051
00053
00058       NVSG_API void  setSize( float size
00059                             );
00060
00062
00064       NVSG_API float getSize( void );
00065
00066     protected:
00068
00071       NVSG_API float projectOntoTBSphere( const nvmath::Vec2f & p );
00072
00073       float m_tbsize;
00074   };
00075
00076   inline  void  Trackball::setSize( float size )
00077   {
00078     NVSG_ASSERT( m_tbsize > 0.f );
00079     m_tbsize = size;
00080   }
00081
00082   inline float Trackball::getSize( void )
00083   {
00084     return( m_tbsize );
00085   }
00086
00087 } //  namespace nvui
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Trafo.h File Reference

inc / nvsg / nvmath

Trafo.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Quatt.h"
#include "nvmath/Vecnt.h"

Include dependency graph for Trafo.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Functions

NVSG_API void | lerp (float alpha, const Trafo &t0, const Trafo &t1, Trafo &tr)

Detailed Description

Generated on Fri Jul 13 13:28:35 2012 for SceniX


SceniX: Trafo.h Source File

inc / nvsg / nvmath

Trafo.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Quatt.h"
00017 #include "nvmath/Vecnt.h"
00018
00019 namespace nvmath
00020 {
00022
00024   class Trafo
00025   {
00026     public:
00028       NVSG_API Trafo( void );
00029
00031       NVSG_API Trafo( const Trafo &rhs
00032                     );
00033
00035
00036       NVSG_API const Vec3f & getCenter( void ) const;
00037
00039
00040       NVSG_API const Quatf & getOrientation( void ) const;
00041
00043
00044       NVSG_API const Quatf & getScaleOrientation( void ) const;
00045
00047
00048       NVSG_API const Vec3f & getScaling( void ) const;
00049
00051
00052       NVSG_API const Vec3f & getTranslation( void ) const;
00053
00062       NVSG_API const Mat44f& getMatrix( void ) const;
00063
00073       NVSG_API Mat44f getInverse( void ) const;
00074
00076       NVSG_API void setCenter( const Vec3f &center
00077                              );
00078
00080       NVSG_API void setIdentity( void );
00081
00083       NVSG_API void setOrientation( const Quatf &orientation
00084                                   );
00085
00087       NVSG_API void setScaleOrientation( const Quatf &scaleOrientation
00088                                        );
00089
00091       NVSG_API void setScaling( const Vec3f &scaling
00092                               );
00093
00095       NVSG_API void setTranslation( const Vec3f &translation
00096                                   );
00097
00099
00100       NVSG_API void setMatrix( const Mat44f &matrix
00101                              );
00102
00104       NVSG_API Trafo & operator=( const Trafo &rhs
00105                        );
00106
00108
00109       NVSG_API bool operator==( const Trafo &t
00110                               ) const;
00111
00112       NVSG_API bool operator!=( const Trafo &t ) const;
00113
00114     private:
00115       NVSG_API void decompose() const;
00116
00117       mutable Mat44f  m_matrix;
00118       mutable Vec3f   m_center;
00119       mutable Quatf   m_orientation;
00120       mutable Quatf   m_scaleOrientation;
00121       mutable Vec3f   m_scaling;
00122       mutable Vec3f   m_translation;
00123
00124       mutable bool    m_matrixValid;
00125       mutable bool    m_decompositionValid;
00126   };
00127
00128   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00129   // non-member functions
00130   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00133   NVSG_API Trafo lerp( float alpha
00134                      , const Trafo &t0
00135                      , const Trafo &t1
00136                      );
00137
00138   NVSG_API void lerp( float alpha, const Trafo & t0, const Trafo & t1, Trafo & tr );
00139
00140   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00141   // inlines
00142   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00143   inline const Vec3f & Trafo::getCenter( void ) const
00144   {
00145     NVSG_TRACE();
00146     if ( !m_decompositionValid )
00147     {
00148       decompose();
00149     }
00150     return( m_center );
00151   }
00152
00153   inline const Quatf & Trafo::getOrientation( void ) const
00154   {
00155     NVSG_TRACE();
00156     if ( !m_decompositionValid )
00157     {
00158       decompose();
00159     }
00160     return( m_orientation );
00161   }
00162
00163   inline const Quatf & Trafo::getScaleOrientation( void ) const
00164   {
00165     NVSG_TRACE();
00166     if ( !m_decompositionValid )
00167     {
00168       decompose();
00169     }
00170     return( m_scaleOrientation );
00171   }
00172
00173   inline const Vec3f & Trafo::getScaling( void ) const
00174   {
00175     NVSG_TRACE();
00176     if ( !m_decompositionValid )
00177     {
00178       decompose();
00179     }
00180     return( m_scaling );
00181   }
00182
00183   inline const Vec3f & Trafo::getTranslation( void ) const
00184   {
00185     NVSG_TRACE();
00186     if ( !m_decompositionValid )
00187     {
00188       decompose();
00189     }
00190     return( m_translation );
00191   }
00192
00193   inline void Trafo::setCenter( const Vec3f &center )
00194   {
00195     NVSG_TRACE();
00196     if ( !m_decompositionValid )
00197     {
00198       decompose();
00199     }
00200     m_matrixValid = false;
00201     m_center = center;
00202   }
00203
00204   inline void Trafo::setOrientation( const Quatf &orientation )
00205   {
00206     NVSG_TRACE();
00207     if ( !m_decompositionValid )
00208     {
00209       decompose();
00210     }
00211     m_matrixValid = false;
00212     NVSG_PRIVATE_ASSERT( isNormalized( orientation ) );
00213     m_orientation = orientation;
00214   }
00215
00216   inline void Trafo::setScaleOrientation( const Quatf &scaleOrientation )
00217   {
00218     NVSG_TRACE();
00219     if ( !m_decompositionValid )
00220     {
00221       decompose();
00222     }
00223     m_matrixValid = false;
00224     NVSG_PRIVATE_ASSERT( isNormalized( scaleOrientation ) );
00225     m_scaleOrientation = scaleOrientation;
00226   }
00227
00228   inline void Trafo::setScaling( const Vec3f &scaling )
00229   {
00230     NVSG_TRACE();
00231     if ( !m_decompositionValid )
00232     {
00233       decompose();
00234     }
00235     m_matrixValid = false;
00236     m_scaling = scaling;
00237   }
00238
00239   inline void Trafo::setTranslation( const Vec3f &translation )
00240   {
00241     NVSG_TRACE();
00242     if ( !m_decompositionValid )
00243     {
00244       decompose();
00245     }
00246     m_matrixValid = false;
00247     m_translation = translation;
00248   }
00249
00250   inline bool Trafo::operator!=( const Trafo & t ) const
00251   {
00252     NVSG_TRACE();
00253     return( ! ( *this == t ) );
00254   }
00255
00256   inline void lerp( float alpha, const Trafo & t0, const Trafo & t1, Trafo & tr )
00257   {
00258     tr = lerp( alpha, t0, t1 );
00259   }
00260 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Transform.h File Reference

inc / nvsg / nvsg

Transform.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Matnnt.h"
#include "nvmath/Quatt.h"
#include "nvmath/Trafo.h"
#include "nvmath/Vecnt.h"
#include "nvsg/Group.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for Transform.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:36 2012 for SceniX


SceniX: Transform.h Source File

inc / nvsg / nvsg

Transform.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Matnnt.h"
00017 #include "nvmath/Quatt.h"
00018 #include "nvmath/Trafo.h"
00019 #include "nvmath/Vecnt.h"
00020 #include "nvsg/Group.h"
00021 #include "nvutil/HashGenerator.h"
00022
00023 namespace nvsg
00024 {
00034   class Transform : public Group
00035   {
00036     friend class Skin;
00037
00038     public:
00039       NVSG_API static TransformSharedPtr create();
00040
00041     public:
00045       NVSG_API virtual const nvmath::Trafo& getTrafo( void ) const;
00046
00052       NVSG_API virtual void setTrafo( const nvmath::Trafo & trafo );
00053
00058       NVSG_API bool isJoint() const;
00059
00066       NVSG_API Transform & operator=(const Transform & rhs);
00067
00076       NVSG_API virtual bool isEquivalent( const Object * p
00077                                         , bool ignoreNames
00078                                         , bool deepCompare ) const;
00079
00080       REFLECTION_INFO_API( NVSG_API, Transform );
00081     protected:
00082       friend struct nvutil::Holder<Transform>;
00083
00086       NVSG_API Transform(void);
00087
00090       NVSG_API Transform( const Transform &rhs );
00091
00094       NVSG_API virtual ~Transform(void);
00095
00100       NVSG_API virtual nvmath::Box3f calculateBoundingBox() const;
00101
00107       NVSG_API virtual nvmath::Sphere3f calculateBoundingSphere() const;
00108
00116       NVSG_API void incrementJointCount();
00117
00125       NVSG_API void decrementJointCount();
00126
00130       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00131
00132     private:
00133       void evalChange();
00134
00135     private:
00136       nvmath::Trafo m_trafo;
00137       unsigned int  m_jointCount;
00138       unsigned int  m_changeCount;
00139       unsigned int  m_changeThreshold;
00140
00141       // Property framework
00142     public:
00143       BEGIN_DECLARE_STATIC_PROPERTIES
00144           NVSG_API DECLARE_STATIC_PROPERTY( Center );
00145           NVSG_API DECLARE_STATIC_PROPERTY( Orientation );
00146           NVSG_API DECLARE_STATIC_PROPERTY( ScaleOrientation );
00147           NVSG_API DECLARE_STATIC_PROPERTY( Scaling );
00148           NVSG_API DECLARE_STATIC_PROPERTY( Translation );
00149           NVSG_API DECLARE_STATIC_PROPERTY( Matrix );
00150           NVSG_API DECLARE_STATIC_PROPERTY( Inverse );
00151       END_DECLARE_STATIC_PROPERTIES
00152
00153       NVSG_API const nvmath::Vec3f&  getCenter( void ) const           { return getTrafo().getCenter(); }
00154       NVSG_API const nvmath::Quatf&  getOrientation( void ) const      { return getTrafo().getOrientation(); }
00155       NVSG_API const nvmath::Quatf&  getScaleOrientation( void ) const { return getTrafo().getScaleOrientation(); }
00156       NVSG_API const nvmath::Vec3f&  getScaling( void ) const          { return getTrafo().getScaling(); }
00157       NVSG_API const nvmath::Vec3f&  getTranslation( void ) const      { return getTrafo().getTranslation(); }
00158       NVSG_API       nvmath::Mat44f  getMatrix( void ) const           { return getTrafo().getMatrix(); }
00159       NVSG_API       nvmath::Mat44f  getInverse( void ) const          { return getTrafo().getInverse(); }
00160
00161       NVSG_API void setCenter( const nvmath::Vec3f& value );
00162       NVSG_API void setOrientation( const nvmath::Quatf& value );
00163       NVSG_API void setScaleOrientation( const nvmath::Quatf& value );
00164       NVSG_API void setScaling( const nvmath::Vec3f& value );
00165       NVSG_API void setTranslation( const nvmath::Vec3f& value );
00166       NVSG_API void setMatrix( const nvmath::Mat44f& value);
00167   };
00168
00169   inline const nvmath::Trafo& Transform::getTrafo( void ) const
00170   {
00171     NVSG_TRACE();
00172     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00173     return( m_trafo );
00174   }
00175
00176   inline bool Transform::isJoint() const
00177   {
00178     NVSG_TRACE();
00179     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00180     return( 0 < m_jointCount );
00181   }
00182 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TransformStack.h File Reference

inc / nvsg / nvutil

TransformStack.h File Reference

#include <stack>
#include "nvsgcommon.h"
#include "nvmath/Matnnt.h"

Include dependency graph for TransformStack.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:36 2012 for SceniX


SceniX: TransformStack.h Source File

inc / nvsg / nvutil

TransformStack.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include <stack>
00016 #include "nvsgcommon.h"
00017 #include "nvmath/Matnnt.h"
00018
00019 namespace nvutil
00020 {
00022
00038   class TransformStack
00039   {
00040     public:
00042
00043       TransformStack();
00044
00045     public:
00047       NVSG_API const nvmath::Mat44f  & getClipToModel( void )  const;
00048
00050       NVSG_API const nvmath::Mat44f  & getClipToView( void )   const;
00051
00053       NVSG_API const nvmath::Mat44f  & getModelToClip( void )  const;
00054
00056       NVSG_API const nvmath::Mat44f  & getModelToView( void )  const;
00057
00059       NVSG_API const nvmath::Mat44f  & getModelToWorld( void ) const;
00060
00062       NVSG_API const nvmath::Mat44f  & getViewToClip( void )   const;
00063
00065       NVSG_API const nvmath::Mat44f  & getViewToModel( void )  const;
00066
00068       NVSG_API const nvmath::Mat44f  & getViewToWorld( void )  const;
00069
00071       NVSG_API const nvmath::Mat44f  & getWorldToModel( void ) const;
00072
00074       NVSG_API const nvmath::Mat44f  & getWorldToView( void )  const;
00075
00077       NVSG_API unsigned int getStackDepth( void )   const;
00078
00080       NVSG_API void      popModelToWorld( void );
00081
00083
00084       NVSG_API void      pushModelToWorld( const nvmath::Mat44f &modelWorld
00085                                          , const nvmath::Mat44f &worldModel
00086                                          );
00087
00089
00090       NVSG_API void      setViewToClip( const nvmath::Mat44f &viewClip
00091                                       , const nvmath::Mat44f &clipView
00092                                       );
00093
00095
00096       NVSG_API void      setWorldToView( const nvmath::Mat44f &worldView
00097                                        , const nvmath::Mat44f &viewWorld
00098                                        );
00099
00100     private :
00101       std::stack<nvmath::Mat44f>  m_modelWorld;
00102       std::stack<nvmath::Mat44f>  m_worldModel;
00103       nvmath::Mat44f              m_worldView;
00104       nvmath::Mat44f              m_viewWorld;
00105       nvmath::Mat44f              m_viewClip;
00106       nvmath::Mat44f              m_clipView;
00107
00108       nvutil::SWMRSync        m_lock;
00109       mutable nvmath::Mat44f  m_clipModel;
00110       mutable nvmath::Mat44f  m_modelClip;
00111       mutable nvmath::Mat44f  m_modelView;
00112       mutable nvmath::Mat44f  m_viewModel;
00113       mutable bool            m_clipModelValid;
00114       mutable bool            m_modelClipValid;
00115       mutable bool            m_modelViewValid;
00116       mutable bool            m_viewModelValid;
00117   };
00118
00119
00120   inline  TransformStack::TransformStack()
00121     : m_clipModelValid(false)
00122     , m_modelClipValid(false)
00123     , m_modelViewValid(false)
00124     , m_viewModelValid(false)
00125   {
00126     m_modelWorld.push( nvmath::cIdentity44f );
00127     m_worldModel.push( nvmath::cIdentity44f );
00128   }
00129
00130   inline  const nvmath::Mat44f  & TransformStack::getClipToModel( void )  const
00131   {
00132     m_lock.lockExclusive();
00133     if ( ! m_clipModelValid )
00134     {
00135       m_clipModel = m_clipView * getViewToModel();
00136       m_clipModelValid = true;
00137     }
00138     m_lock.unlockExclusive();
00139     return( m_clipModel );
00140   }
00141
00142   inline  const nvmath::Mat44f  & TransformStack::getClipToView( void )   const
00143   {
00144     return( m_clipView );
00145   }
00146
00147   inline  const nvmath::Mat44f  & TransformStack::getModelToClip( void )  const
00148   {
00149     m_lock.lockExclusive();
00150     if ( ! m_modelClipValid )
00151     {
00152       m_modelClip = getModelToView() * m_viewClip;
00153       m_modelClipValid = true;
00154     }
00155     m_lock.unlockExclusive();
00156     return( m_modelClip );
00157   }
00158
00159   inline  const nvmath::Mat44f  & TransformStack::getModelToView( void )  const
00160   {
00161     m_lock.lockExclusive();
00162     if ( ! m_modelViewValid )
00163     {
00164       m_modelView = m_modelWorld.top() * m_worldView;
00165       m_modelViewValid = true;
00166     }
00167     m_lock.unlockExclusive();
00168     return( m_modelView );
00169   }
00170
00171   inline  const nvmath::Mat44f  & TransformStack::getModelToWorld( void ) const
00172   {
00173     return( m_modelWorld.top() );
00174   }
00175
00176   inline  const nvmath::Mat44f  & TransformStack::getViewToClip( void )   const
00177   {
00178     return( m_viewClip );
00179   }
00180
00181   inline  const nvmath::Mat44f  & TransformStack::getViewToModel( void )  const
00182   {
00183     m_lock.lockExclusive();
00184     if ( ! m_viewModelValid )
00185     {
00186       m_viewModel = m_viewWorld * m_worldModel.top();
00187       m_viewModelValid = true;
00188     }
00189     m_lock.unlockExclusive();
00190     return( m_viewModel );
00191   }
00192
00193   inline  const nvmath::Mat44f  & TransformStack::getViewToWorld( void )  const
00194   {
00195     return( m_viewWorld );
00196   }
00197
00198   inline  const nvmath::Mat44f  & TransformStack::getWorldToModel( void ) const
00199   {
00200     return( m_worldModel.top() );
00201   }
00202
00203   inline  const nvmath::Mat44f  & TransformStack::getWorldToView( void )  const
00204   {
00205     return( m_worldView );
00206   }
00207
00208   inline  unsigned int  TransformStack::getStackDepth( void ) const
00209   {
00210     NVSG_ASSERT( m_modelWorld.size() == m_worldModel.size() );
00211     return( checked_cast<unsigned int>(m_modelWorld.size()) );
00212   }
00213
00214   inline  void  TransformStack::popModelToWorld( void )
00215   {
00216     m_modelWorld.pop();
00217     m_worldModel.pop();
00218
00219     m_lock.lockExclusive();
00220     m_clipModelValid = false;
00221     m_modelClipValid = false;
00222     m_modelViewValid = false;
00223     m_viewModelValid = false;
00224     m_lock.unlockExclusive();
00225   }
00226
00227   inline  void  TransformStack::pushModelToWorld( const nvmath::Mat44f &modelWorld, const nvmath::Mat44f &worldModel )
00228   {
00229     NVSG_TRACE();
00230     m_modelWorld.push( modelWorld * m_modelWorld.top() );
00231     m_worldModel.push( m_worldModel.top() * worldModel );
00232
00233     m_lock.lockExclusive();
00234     m_clipModelValid = false;
00235     m_modelClipValid = false;
00236     m_modelViewValid = false;
00237     m_viewModelValid = false;
00238     m_lock.unlockExclusive();
00239   }
00240
00241   inline  void  TransformStack::setViewToClip( const nvmath::Mat44f &viewClip, const nvmath::Mat44f &clipView )
00242   {
00243     NVSG_TRACE();
00244     m_viewClip = viewClip;
00245     m_clipView = clipView;
00246
00247     m_lock.lockExclusive();
00248     m_clipModelValid = false;
00249     m_modelClipValid = false;
00250     m_lock.unlockExclusive();
00251   }
00252
00253   inline  void  TransformStack::setWorldToView( const nvmath::Mat44f &worldView, const nvmath::Mat44f &viewWorld )
00254   {
00255     NVSG_TRACE();
00256     m_worldView = worldView;
00257     m_viewWorld = viewWorld;
00258
00259     m_lock.lockExclusive();
00260     m_clipModelValid = false;
00261     m_modelClipValid = false;
00262     m_modelViewValid = false;
00263     m_viewModelValid = false;
00264     m_lock.unlockExclusive();
00265   }
00266 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Traverser.h File Reference

inc / nvsg / nvtraverser

Traverser.h File Reference

#include "nvsgcommon.h"
#include "nvsg/CoreTypes.h"
#include "nvsg/GeoNode.h"
#include "nvsg/Object.h"
#include "nvsg/Group.h"
#include "nvsg/Path.h"
#include "nvsg/ViewState.h"
#include "nvutil/BitMask.h"
#include "nvutil/Conversion.h"
#include "nvutil/MemFunTbl.h"
#include "nvutil/ProblemLog.h"
#include "nvutil/RCObject.h"
#include "nvutil/Reflection.h"
#include <stack>
#include <memory>

Include dependency graph for Traverser.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:37 2012 for SceniX


SceniX: Traverser.h Source File

inc / nvsg / nvtraverser

Traverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/CoreTypes.h" // forward declarations of core type
00017 #include "nvsg/GeoNode.h"
00018 #include "nvsg/Object.h" // ObjectCode defines
00019 #include "nvsg/Group.h"
00020 #include "nvsg/Path.h"  // for traversal id
00021 #include "nvsg/ViewState.h"
00022 #include "nvutil/BitMask.h"
00023 #include "nvutil/Conversion.h"
00024 #include "nvutil/MemFunTbl.h"
00025 #include "nvutil/ProblemLog.h"
00026 #include "nvutil/RCObject.h" // base class definition
00027 #include "nvutil/Reflection.h"
00028 #include <stack>
00029 #include <memory>
00030
00031 namespace nvsg
00032 {
00033   template<typename T> class Animation;
00034   template<typename T> class FramedAnimationDescription;
00035   template<typename T> class LinearInterpolatedAnimationDescription;
00036 }
00037
00038 namespace nvtraverser
00039 {
00049   class Traverser : public nvutil::RCObject, public nvutil::Reflection
00050   {
00051     public:
00060       NVSG_API virtual void setViewState( const nvsg::ViewStateSharedPtr & viewState );
00061
00076       NVSG_API virtual void setTraversalMask( unsigned int mask );
00077
00081       NVSG_API virtual unsigned int getTraversalMask() const;
00082
00090       NVSG_API virtual void setTraversalMaskOverride( unsigned int mask );
00091
00095       NVSG_API virtual unsigned int getTraversalMaskOverride() const;
00096
00102       NVSG_API void apply( );
00103
00111       NVSG_API void apply( const nvsg::NodeSharedPtr & root );
00112
00120       NVSG_API void apply( const nvsg::SceneSharedPtr & scene );
00121
00126       NVSG_API void apply( const nvsg::ViewStateSharedPtr &viewstate );
00127
00136       NVSG_API void interruptTraversal();
00137
00144       NVSG_API bool wasTraversalInterrupted();
00145
00146     protected:
00150       NVSG_API Traverser();
00151
00153       NVSG_API virtual ~Traverser();
00154
00159       NVSG_API virtual void lockViewState() = 0;
00160
00165       NVSG_API virtual void unlockViewState() = 0;
00166
00172       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root ) = 0;
00173
00178       NVSG_API virtual void doTraverseObject( const nvsg::ObjectSharedPtr & p ) = 0;
00179
00183       NVSG_API virtual void doTraverseDrawable( const nvsg::DrawableSharedPtr & p ) = 0;
00184
00191       NVSG_API void traverseObject( const nvsg::ObjectSharedPtr & obj );
00192
00217       NVSG_API virtual bool preApply( const nvsg::NodeSharedPtr & root );
00218
00228       NVSG_API virtual void postApply( const nvsg::NodeSharedPtr & root );
00229
00239       NVSG_API virtual bool preTraverseGroup( const nvsg::Group * grp );
00240
00247       NVSG_API virtual void postTraverseGroup( const nvsg::Group * grp );
00248
00262       NVSG_API virtual bool preTraverseDrawables( const nvsg::GeoNode* gnode, nvsg::GeoNode::StateSetConstIterator ssci );
00263
00274       NVSG_API virtual void postTraverseDrawables( const nvsg::GeoNode* gnode, nvsg::GeoNode::StateSetConstIterator ssci );
00275
00286       NVSG_API virtual bool preTraverseDrawable( const nvsg::Drawable * drawable );
00287
00294       NVSG_API virtual void postTraverseDrawable( const nvsg::Drawable * drawable );
00295
00302       template <typename T> void traverseGroup( const T * grp );
00303
00316       NVSG_API void traverseGeoNode( const nvsg::GeoNode * gnode );
00317
00321       NVSG_API void traverseShape( const nvsg::Shape * shape );
00322
00326       NVSG_API void traversePrimitive( const nvsg::Primitive * prim );
00327
00328       template<typename T>
00329       void traverseAnimation( const nvsg::Animation<T> * anim );
00330
00331       NVSG_API void traverseAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet * avas );
00332
00333       NVSG_API void traverseStateSet( const nvsg::StateSet * stateSet );
00334
00339       NVSG_API void traverseStateVariant( const nvsg::StateVariant * variant );
00340
00345       NVSG_API void traverseStatePass( const nvsg::StatePass * pass );
00346
00348       NVSG_API void traverseStateAttribute( const nvsg::StateAttribute * attribute );
00349
00351       NVSG_API void traverseSceneAttribute( const nvsg::SceneAttribute * attribute );
00352
00356       NVSG_API void traverseTextureAttribute( const nvsg::TextureAttribute * texAttrib );
00357
00364       NVSG_API void traverseMapList( const nvsg::MapList * mapList );
00365
00366       NVSG_API void traverseLockedObject( const nvsg::Object * obj );
00367
00372       NVSG_API virtual void postTraverseObject( const nvsg::Object * object );
00373
00377       NVSG_API unsigned int getCurrentTextureUnit() const;
00378
00379       // traverser bits
00380       enum
00381       {
00382         // tree flags
00383         NVSG_SCENE_DIRTY           = BIT0
00384       , NVSG_ROOT_DIRTY            = BIT1
00385       , NVSG_TREE_DIRTY_MASK       = NVSG_SCENE_DIRTY | NVSG_ROOT_DIRTY
00386         // view state flags
00387       , NVSG_VIEWSTATE_DIRTY       = BIT2
00388       , NVSG_CAMERA_DIRTY          = BIT3
00389       , NVSG_VIEW_DIRTY_MASK       = NVSG_VIEWSTATE_DIRTY | NVSG_CAMERA_DIRTY
00390         // bounding volume
00391       , NVSG_BV_DIRTY              = BIT4
00392       // traversal flags
00393       , NVSG_TRAVERSAL_INTERRUPTED = BIT5
00394       };
00395
00396       unsigned int                    m_currentAttrib;
00397       nvutil::MemFunTbl<Traverser>    m_mftbl;
00398       nvutil::ProblemLog              m_problemLog;
00399       nvsg::NodeWeakPtr               m_root;
00400       nvsg::SceneSharedPtr            m_scene;
00401       unsigned int                    m_traverserBits;
00402       nvsg::ViewStateSharedPtr        m_viewState;
00403       nvsg::CameraSharedPtr           m_camera;
00404
00405       // several incarnation counters to monitor related changes
00406       nvutil::Incarnation m_rootIncarnation;
00407       nvutil::Incarnation m_bvIncarnation;
00408       nvutil::Incarnation m_vertexAttributeSetIncarnation;
00409       nvutil::Incarnation m_primitiveIncarnation;
00410       nvutil::Incarnation m_hintsIncarnation;
00411       nvutil::Incarnation m_cameraIncarnation;
00412       nvutil::Incarnation m_sceneIncarnation;
00413
00414       // NOTE: must not encode this into m_traverserBits, because it must remain volatile
00415       bool volatile m_interrupt;
00416
00417     private:
00418       NVSG_API unsigned int     getObjectTraversalCode( const nvsg::Object * object );  // NOTE: used inline, therefore needs to be exported via NVSG_API
00419
00420       // initiates specialized Drawable traversal.
00421       // this is to support pre- and post-traversal on abstract Drawable level
00422       void traverseDrawable( const nvsg::DrawableSharedPtr & hdrawable );
00423
00424       // traverse overrides for Group derived (have only read-only access to objects)
00425       NVSG_API void traverse( const nvsg::Group * );
00426       NVSG_API void traverse( const nvsg::FlipbookAnimation * );
00427       NVSG_API void traverse( const nvsg::Switch * );
00428
00429       unsigned int  m_currentTextureUnit;
00430
00431       unsigned int  m_traversalMask;
00432       unsigned int  m_traversalMaskOverride;
00433   };
00434
00435   template <typename T>
00436   void Traverser::traverseGroup(const T * grp)
00437   {
00438     NVSG_TRACE();
00439     if ( preTraverseGroup(grp) )
00440     {
00441       for ( nvsg::Group::LightSourceConstIterator glsci = grp->beginLightSources() ; glsci != grp->endLightSources() ; ++glsci )
00442       {
00443         traverseObject( *glsci );
00444       }
00445
00446       // initiate group traversal
00447       traverse(grp);
00448       postTraverseGroup(grp);
00449     }
00450   }
00451
00464   class SharedTraverser : public Traverser
00465   {
00466     public:
00468       NVSG_API SharedTraverser();
00469
00475       NVSG_API virtual unsigned int getTraversalMask() const;
00476
00477     protected:
00479       NVSG_API virtual ~SharedTraverser() {}
00480
00509       template <typename T, typename U>
00510       void addObjectHandler( unsigned int objectCode, void (T::*handler)(const U*) );
00511
00540       template <typename T, typename U, typename V>
00541       void addObjectHandler( unsigned int objectCode, void (T::*handler)(const U*, V) );
00542
00547       NVSG_API virtual void lockViewState();
00548
00553       NVSG_API virtual void unlockViewState();
00554
00560       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00561
00566       NVSG_API virtual void doTraverseObject( const nvsg::ObjectSharedPtr & p );
00567
00571       NVSG_API virtual void doTraverseDrawable( const nvsg::DrawableSharedPtr & p );
00572
00582       NVSG_API virtual void handleParallelCamera( const nvsg::ParallelCamera * camera );
00583
00593       NVSG_API virtual void handlePerspectiveCamera( const nvsg::PerspectiveCamera * camera );
00594
00604       NVSG_API virtual void handleMatrixCamera( const nvsg::MatrixCamera * camera );
00605
00615       NVSG_API virtual void handleGroup( const nvsg::Group * group );
00616
00627       NVSG_API virtual void handleFlipbookAnimation( const nvsg::FlipbookAnimation * anim );
00628
00638       NVSG_API virtual void handleTransform( const nvsg::Transform * trafo );
00639
00650       NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform * trafo );
00651
00661       NVSG_API virtual void handleLOD( const nvsg::LOD * lod );
00662
00672       NVSG_API virtual void handleSwitch( const nvsg::Switch * swtch );
00673
00683       NVSG_API virtual void handleBillboard( const nvsg::Billboard * billboard );
00684
00694       NVSG_API virtual void handleDirectedLight( const nvsg::DirectedLight * light );
00695
00705       NVSG_API virtual void handlePointLight( const nvsg::PointLight * light );
00706
00716       NVSG_API virtual void handleSpotLight( const nvsg::SpotLight * light );
00717
00727       NVSG_API virtual void handleGeoNode( const nvsg::GeoNode * gnode );
00728
00738       NVSG_API virtual void handleRectPatches( const nvsg::RectPatches * patches );
00739
00749       NVSG_API virtual void handleQuadPatches( const nvsg::QuadPatches * patches );
00750
00760       NVSG_API virtual void handleQuadPatches4x4( const nvsg::QuadPatches4x4 * patches );
00761
00771       NVSG_API virtual void handleQuads( const nvsg::Quads * quads );
00772
00782       NVSG_API virtual void handleTriangles( const nvsg::Triangles * triangles );
00783
00793       NVSG_API virtual void handleLines( const nvsg::Lines * lines );
00794
00804       NVSG_API virtual void handlePoints( const nvsg::Points * points );
00805
00815       NVSG_API virtual void handleQuadMeshes( const nvsg::QuadMeshes * meshes );
00816
00826       NVSG_API virtual void handleQuadStrips( const nvsg::QuadStrips * strips );
00827
00837       NVSG_API virtual void handleTriFans( const nvsg::TriFans * fans );
00838
00848       NVSG_API virtual void handleTriPatches( const nvsg::TriPatches * patches );
00849
00859       NVSG_API virtual void handleTriPatches4( const nvsg::TriPatches4 * patches );
00860
00870       NVSG_API virtual void handleTriStrips( const nvsg::TriStrips * strips );
00871
00881       NVSG_API virtual void handleLineStrips( const nvsg::LineStrips * strips );
00882
00892       NVSG_API virtual void handlePrimitive( const nvsg::Primitive * primitive );
00893
00903       NVSG_API virtual void handleShape( const nvsg::Shape * shape );
00904
00914       NVSG_API virtual void handleStateSet( const nvsg::StateSet * stateSet );
00915
00925       NVSG_API virtual void handleStateVariant( const nvsg::StateVariant * variant );
00926
00936       NVSG_API virtual void handleStatePass( const nvsg::StatePass * pass );
00937
00946       NVSG_API virtual void handleCgFx( const nvsg::CgFx * cgfx );
00947
00956       NVSG_API virtual void handleRTFx( const nvsg::RTFx * rtfx );
00957
00958       NVSG_API virtual void handleRTFxProgram( const nvsg::RTFxProgram * rtfxProgram );
00959
00968       NVSG_API virtual void handleRTBufferAttribute( const nvsg::RTBufferAttribute * rtba );
00969
00978       NVSG_API virtual void handleMaterial( const nvsg::Material * material );
00979
00989       NVSG_API virtual void handleTextureAttribute( const nvsg::TextureAttribute * texAttrib );
00990
01000       NVSG_API virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem * texAttribItem );
01001
01010       NVSG_API virtual void handleAlphaTestAttribute( const nvsg::AlphaTestAttribute * alphaTestAttrib );
01011
01020       NVSG_API virtual void handleBlendAttribute( const nvsg::BlendAttribute * blendAttrib );
01021
01030       NVSG_API virtual void handleDepthAttribute( const nvsg::DepthAttribute * depthAttrib );
01031
01038       NVSG_API virtual void handleStencilAttribute( const nvsg::StencilAttribute * stencilAttrib );
01039
01048       NVSG_API virtual void handleFaceAttribute( const nvsg::FaceAttribute * faceAttrib );
01049
01058       NVSG_API virtual void handleLightingAttribute( const nvsg::LightingAttribute * laAttrib );
01059
01068       NVSG_API virtual void handleLineAttribute( const nvsg::LineAttribute * lineAttrib );
01069
01078       NVSG_API virtual void handlePointAttribute( const nvsg::PointAttribute * pointAttrib );
01079
01088       NVSG_API virtual void handleUnlitColorAttribute( const nvsg::UnlitColorAttribute * unlitColor );
01089
01099       NVSG_API virtual void handleMapArray( const nvsg::MapArray * mapArray );
01100
01110       NVSG_API virtual void handleMapElement( const nvsg::MapElement * mapElement );
01111
01121       NVSG_API virtual void handleMapMatrix( const nvsg::MapMatrix * mapMatrix );
01122
01132       NVSG_API virtual void handleMapList( const nvsg::MapList * mapList );
01133
01142       NVSG_API virtual void handleVertexAttributeSet( const nvsg::VertexAttributeSet *vas );
01143
01151       NVSG_API virtual void handleAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet * avas );
01152
01158       NVSG_API virtual void handleSkin( const nvsg::Skin * skin );
01159
01165       NVSG_API virtual void handleIndexAnimation( const nvsg::Animation<unsigned int> * anim );
01166
01172       NVSG_API virtual void handleTrafoAnimation( const nvsg::Animation<nvmath::Trafo> * anim );
01173
01180       NVSG_API virtual void handleVertexAttributeAnimation( const nvsg::Animation<nvsg::VertexAttribute> * anim );
01181
01191       NVSG_API virtual void handleFramedIndexAnimationDescription( const nvsg::FramedAnimationDescription<unsigned int> * anim );
01192
01202       NVSG_API virtual void handleFramedTrafoAnimationDescription( const nvsg::FramedAnimationDescription<nvmath::Trafo> * trafo );
01203
01211       NVSG_API virtual void handleFramedVertexAttributeAnimationDescription( const nvsg::FramedAnimationDescription<nvsg::VertexAttribute> * p );
01212
01222       NVSG_API virtual void handleLinearInterpolatedTrafoAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> * trafo );
01223
01231       NVSG_API virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> * p );
01232
01242       NVSG_API virtual void handleRTFxSceneAttribute( const nvsg::RTFxSceneAttribute * rtfxsa );
01243
01253       NVSG_API virtual void traverseCamera( const nvsg::Camera * camera );
01254
01264       NVSG_API virtual void traverseFrustumCamera( const nvsg::FrustumCamera * camera );
01265
01275       NVSG_API virtual void traverseLight( const nvsg::LightSource * light );
01276
01287       NVSG_API virtual void traversePrimitiveSet( const nvsg::PrimitiveSet * pset );
01288
01299       NVSG_API virtual void traversePrimitive( const nvsg::Primitive * p );
01300
01301     protected:
01302       std::auto_ptr<nvsg::CameraReadLock>     m_lockedCamera;
01303       std::auto_ptr<nvsg::SceneReadLock>      m_lockedScene;
01304       std::auto_ptr<nvsg::ViewStateReadLock>  m_lockedViewState;
01305
01306     private:
01307       const nvsg::PrimitiveSet  * m_currentPrimitiveSet;
01308   };
01309
01322   class ExclusiveTraverser : public Traverser
01323   {
01324     public:
01326       NVSG_API ExclusiveTraverser();
01327
01329
01330       NVSG_API bool getTreeModified( void ) const;
01331
01337       NVSG_API virtual unsigned int getTraversalMask() const;
01338
01339     protected:
01341       NVSG_API virtual ~ExclusiveTraverser() {}
01342
01371       template <typename T, typename U>
01372       void addObjectHandler( unsigned int objectCode, void (T::*handler)(U*) );
01373
01402       template <typename T, typename U, typename V>
01403       void addObjectHandler( unsigned int objectCode, void (T::*handler)(U*, V) );
01404
01409       NVSG_API virtual void lockViewState();
01410
01415       NVSG_API virtual void unlockViewState();
01416
01422       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
01423
01428       NVSG_API virtual void doTraverseObject( const nvsg::ObjectSharedPtr & p );
01429
01433       NVSG_API virtual void doTraverseDrawable( const nvsg::DrawableSharedPtr & p );
01434
01444       NVSG_API virtual void handleParallelCamera( nvsg::ParallelCamera * camera );
01445
01455       NVSG_API virtual void handlePerspectiveCamera( nvsg::PerspectiveCamera * camera );
01456
01466       NVSG_API virtual void handleMatrixCamera( nvsg::MatrixCamera * camera );
01467
01477       NVSG_API virtual void handleGroup( nvsg::Group * group );
01478
01489       NVSG_API virtual void handleFlipbookAnimation( nvsg::FlipbookAnimation * anim );
01490
01500       NVSG_API virtual void handleTransform( nvsg::Transform * trafo );
01501
01512       NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform * trafo );
01513
01523       NVSG_API virtual void handleLOD( nvsg::LOD * lod );
01524
01534       NVSG_API virtual void handleSwitch( nvsg::Switch * swtch );
01535
01545       NVSG_API virtual void handleBillboard( nvsg::Billboard * billboard );
01546
01556       NVSG_API virtual void handleDirectedLight( nvsg::DirectedLight * light );
01557
01567       NVSG_API virtual void handlePointLight( nvsg::PointLight * light );
01568
01578       NVSG_API virtual void handleSpotLight( nvsg::SpotLight * light );
01579
01589       NVSG_API virtual void handleGeoNode( nvsg::GeoNode * gnode );
01590
01600       NVSG_API virtual void handleRectPatches( nvsg::RectPatches * patches );
01601
01611       NVSG_API virtual void handleQuadPatches( nvsg::QuadPatches * patches );
01612
01622       NVSG_API virtual void handleQuadPatches4x4( nvsg::QuadPatches4x4 * patches );
01623
01633       NVSG_API virtual void handleQuads( nvsg::Quads * quads );
01634
01644       NVSG_API virtual void handleTriangles( nvsg::Triangles * triangles );
01645
01655       NVSG_API virtual void handleLines( nvsg::Lines * lines );
01656
01666       NVSG_API virtual void handlePoints( nvsg::Points * points );
01667
01677       NVSG_API virtual void handleQuadMeshes( nvsg::QuadMeshes * meshes );
01678
01688       NVSG_API virtual void handleQuadStrips( nvsg::QuadStrips * strips );
01689
01699       NVSG_API virtual void handleTriFans( nvsg::TriFans * fans );
01700
01710       NVSG_API virtual void handleTriPatches( nvsg::TriPatches * patches );
01711
01721       NVSG_API virtual void handleTriPatches4( nvsg::TriPatches4 * patches );
01722
01732       NVSG_API virtual void handleTriStrips( nvsg::TriStrips * strips );
01733
01743       NVSG_API virtual void handleLineStrips( nvsg::LineStrips * strips );
01744
01754       NVSG_API virtual void handlePrimitive( nvsg::Primitive * primitive );
01755
01765       NVSG_API virtual void handleShape( nvsg::Shape * shape );
01766
01776       NVSG_API virtual void handleStateSet( nvsg::StateSet * stateSet );
01777
01787       NVSG_API virtual void handleStateVariant( nvsg::StateVariant * variant );
01788
01798       NVSG_API virtual void handleStatePass( nvsg::StatePass * pass );
01799
01808       NVSG_API virtual void handleCgFx( nvsg::CgFx * cgfx );
01809
01818       NVSG_API virtual void handleRTFx( nvsg::RTFx * rtfx );
01819
01820       NVSG_API virtual void handleRTFxProgram( nvsg::RTFxProgram * rtfxProgram );
01821
01830       NVSG_API virtual void handleRTBufferAttribute( nvsg::RTBufferAttribute * rtba );
01831
01840       NVSG_API virtual void handleMaterial( nvsg::Material * material );
01841
01851       NVSG_API virtual void handleTextureAttribute( nvsg::TextureAttribute * texAttrib );
01852
01861       NVSG_API virtual void handleTextureAttributeItem( nvsg::TextureAttributeItem * texAttribItem );
01862
01871       NVSG_API virtual void handleAlphaTestAttribute( nvsg::AlphaTestAttribute * alphaTestAttrib );
01872
01881       NVSG_API virtual void handleBlendAttribute( nvsg::BlendAttribute * blendAttrib );
01882
01891       NVSG_API virtual void handleDepthAttribute( nvsg::DepthAttribute * depthAttrib );
01892
01899       NVSG_API virtual void handleStencilAttribute( nvsg::StencilAttribute * stencilAttrib );
01900
01909       NVSG_API virtual void handleFaceAttribute( nvsg::FaceAttribute * faceAttrib );
01910
01919       NVSG_API virtual void handleLightingAttribute( nvsg::LightingAttribute * laAttrib );
01920
01929       NVSG_API virtual void handleLineAttribute( nvsg::LineAttribute * lineAttrib );
01930
01939       NVSG_API virtual void handlePointAttribute( nvsg::PointAttribute * pointAttrib );
01940
01949       NVSG_API virtual void handleUnlitColorAttribute( nvsg::UnlitColorAttribute * unlitColor );
01950
01960       NVSG_API virtual void handleMapArray( nvsg::MapArray * mapArray );
01961
01971       NVSG_API virtual void handleMapElement( nvsg::MapElement * mapElement );
01972
01982       NVSG_API virtual void handleMapMatrix( nvsg::MapMatrix * mapMatrix );
01983
01993       NVSG_API virtual void handleMapList( nvsg::MapList * mapList );
01994
02003       NVSG_API virtual void handleVertexAttributeSet( nvsg::VertexAttributeSet *vas );
02004
02012       NVSG_API virtual void handleAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * avas );
02013
02019       NVSG_API virtual void handleSkin( nvsg::Skin * skin );
02020
02026       NVSG_API virtual void handleIndexAnimation( nvsg::Animation<unsigned int> * anim );
02027
02033       NVSG_API virtual void handleTrafoAnimation( nvsg::Animation<nvmath::Trafo> * anim );
02034
02041       NVSG_API virtual void handleVertexAttributeAnimation( nvsg::Animation<nvsg::VertexAttribute> * anim );
02042
02052       NVSG_API virtual void handleFramedIndexAnimationDescription( nvsg::FramedAnimationDescription<unsigned int> * anim );
02053
02063       NVSG_API virtual void handleFramedTrafoAnimationDescription( nvsg::FramedAnimationDescription<nvmath::Trafo> * trafo );
02064
02072       NVSG_API virtual void handleFramedVertexAttributeAnimationDescription( nvsg::FramedAnimationDescription<nvsg::VertexAttribute> * p );
02073
02083       NVSG_API virtual void handleLinearInterpolatedTrafoAnimationDescription( nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> * trafo );
02084
02092       NVSG_API virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> * p );
02093
02103       NVSG_API virtual void handleRTFxSceneAttribute( nvsg::RTFxSceneAttribute * rtfxsa );
02104
02114       NVSG_API virtual void traverseCamera( nvsg::Camera * camera );
02115
02125       NVSG_API virtual void traverseFrustumCamera( nvsg::FrustumCamera * camera );
02126
02136       NVSG_API virtual void traverseLight( nvsg::LightSource * light );
02137
02148       NVSG_API virtual void traversePrimitiveSet( nvsg::PrimitiveSet * pset );
02149
02160       NVSG_API virtual void traversePrimitive( nvsg::Primitive * p );
02161
02162     protected:
02163       std::auto_ptr<nvsg::CameraWriteLock>    m_lockedCamera;
02164       std::auto_ptr<nvsg::SceneWriteLock>     m_lockedScene;
02165       std::auto_ptr<nvsg::ViewStateWriteLock> m_lockedViewState;
02166
02167     private:
02168       bool                  m_treeModified;
02169   };
02170
02171   //--- Inline functions ------------------
02172
02173   inline void Traverser::postTraverseObject( const nvsg::Object * object )
02174   {
02175     NVSG_TRACE();
02176     NVSG_ASSERT( object );
02177   }
02178
02179   inline void Traverser::setTraversalMask( unsigned int mask )
02180   {
02181     NVSG_TRACE();
02182     m_traversalMask = mask;
02183   }
02184
02185   inline void Traverser::setTraversalMaskOverride( unsigned int mask )
02186   {
02187     NVSG_TRACE();
02188     m_traversalMaskOverride = mask;
02189   }
02190
02191   inline unsigned int Traverser::getTraversalMaskOverride() const
02192   {
02193     NVSG_TRACE();
02194     return m_traversalMaskOverride;
02195   }
02196
02197   inline unsigned int Traverser::getTraversalMask() const
02198   {
02199     NVSG_TRACE();
02200     return m_traversalMask;
02201   }
02202
02203   inline unsigned int SharedTraverser::getTraversalMask() const
02204   {
02205     NVSG_TRACE();
02206
02207     return m_lockedViewState.get() ? (*m_lockedViewState)->getTraversalMask() : Traverser::getTraversalMask();
02208   }
02209
02210   inline unsigned int ExclusiveTraverser::getTraversalMask() const
02211   {
02212     NVSG_TRACE();
02213
02214     return m_lockedViewState.get() ? (*m_lockedViewState)->getTraversalMask() : Traverser::getTraversalMask();
02215   }
02216
02217   inline void Traverser::interruptTraversal()
02218   {
02219     NVSG_TRACE();
02220     m_interrupt = true;
02221   }
02222
02223   inline bool Traverser::wasTraversalInterrupted()
02224   {
02225     NVSG_TRACE();
02226     return !!(m_traverserBits & NVSG_TRAVERSAL_INTERRUPTED);
02227   }
02228
02229   inline void Traverser::traverseObject( const nvsg::ObjectSharedPtr & obj )
02230   {
02231     NVSG_TRACE();
02232     if ( m_interrupt )
02233     {
02234       // there was an interrupt request.
02235       // directly quit traversal
02236       m_traverserBits |= NVSG_TRAVERSAL_INTERRUPTED;
02237       return;
02238     }
02239     doTraverseObject( obj );
02240   }
02241
02242   inline void Traverser::traverseLockedObject(const nvsg::Object * obj)
02243   {
02244     unsigned int oc = getObjectTraversalCode( obj );
02245     if ( (nvsg::OC_INVALID != oc) &&
02246          (( obj->getTraversalMask() | getTraversalMaskOverride() ) & getTraversalMask())
02247        )
02248     {
02249 #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
02250       void * __esp__0;
02251       void * __esp__1;
02252       __asm mov __esp__0, esp
02253 #endif
02254       (this->*(void (Traverser::*)(const nvsg::Object*))m_mftbl[oc])(obj);
02255 #if !defined(_WIN64) && defined(_WIN32) && !defined(NDEBUG)
02256       __asm mov __esp__1, esp
02257       NVSG_ASSERT(__esp__1==__esp__0);
02258 #endif
02259     }
02260   }
02261
02262   inline unsigned int Traverser::getCurrentTextureUnit() const
02263   {
02264     return( m_currentTextureUnit );
02265   }
02266
02267   template <typename T, typename U>
02268   inline void SharedTraverser::addObjectHandler(unsigned int objectCode, void (T::*handler)(const U*))
02269   {
02270     NVSG_CTASSERT(SUPERSUBCLASS(SharedTraverser,T));
02271     m_mftbl.addEntry(objectCode, handler);
02272   }
02273
02274   template <typename T, typename U, typename V>
02275   inline void SharedTraverser::addObjectHandler(unsigned int objectCode, void (T::*handler)(const U*, V))
02276   {
02277     NVSG_CTASSERT(SUPERSUBCLASS(SharedTraverser,T));
02278     m_mftbl.addEntry(objectCode, handler);
02279   }
02280
02281   inline void SharedTraverser::doTraverseObject( const nvsg::ObjectSharedPtr & p )
02282   {
02283     traverseLockedObject( nvsg::ObjectReadLock(p) );
02284   }
02285
02286   template <typename T, typename U>
02287   inline void ExclusiveTraverser::addObjectHandler(unsigned int objectCode, void (T::*handler)(U*))
02288   {
02289     NVSG_CTASSERT(SUPERSUBCLASS(ExclusiveTraverser,T));
02290     m_mftbl.addEntry(objectCode, handler);
02291   }
02292
02293   template <typename T, typename U, typename V>
02294   inline void ExclusiveTraverser::addObjectHandler(unsigned int objectCode, void (T::*handler)(U*, V))
02295   {
02296     NVSG_CTASSERT(SUPERSUBCLASS(ExclusiveTraverser,T));
02297     m_mftbl.addEntry(objectCode, handler);
02298   }
02299
02300   inline void ExclusiveTraverser::doTraverseObject( const nvsg::ObjectSharedPtr & p )
02301   {
02302     nvsg::ObjectWriteLock lock(p);
02303     nvutil::Incarnation i = lock->getIncarnation();
02304     traverseLockedObject( lock );
02305     m_treeModified |= ( i != lock->getIncarnation() );
02306   }
02307
02308   inline bool ExclusiveTraverser::getTreeModified( void ) const
02309   {
02310     return( m_treeModified );
02311   }
02312
02313 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Triangles.h File Reference

inc / nvsg / nvsg

Triangles.h File Reference

#include "nvsgcommon.h"
#include "nvsg/Face.h"
#include "nvsg/IndependentPrimitiveSet.h"

Include dependency graph for Triangles.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:38 2012 for SceniX


SceniX: Triangles.h Source File

inc / nvsg / nvsg

Triangles.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/Face.h"
00017 #include "nvsg/IndependentPrimitiveSet.h"
00018
00019 namespace nvsg
00020 {
00027   class Triangles : public IndependentPrimitiveSet
00028   {
00029     public:
00030       NVSG_API static TrianglesSharedPtr create();
00031
00032     public:
00037       NVSG_API bool hasFaces() const;
00038
00043       NVSG_API unsigned int getNumberOfFaces() const;
00044
00049       NVSG_API const Face3 * getFaces() const;
00050
00059       NVSG_API void setFaces( const Face3 * faces, unsigned int numFaces );
00060
00076       NVSG_API void setFaces( unsigned int pos, const Face3 * faces, unsigned int numFaces );
00077
00083       NVSG_API Triangles & operator=(const Triangles & rhs);
00084
00085       REFLECTION_INFO_API( NVSG_API, Triangles );
00086     protected:
00087       friend struct nvutil::Holder<Triangles>;
00088
00090       NVSG_API Triangles();
00091
00093       NVSG_API Triangles( const Triangles &rhs );
00094
00096       NVSG_API virtual ~Triangles();
00097
00099       NVSG_API virtual bool calculateNormals(bool overwrite);
00100
00102       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00103   };
00104
00105   // - - - - - - - - - - - - - - - - - - - - - - - - -
00106   // inlines
00107   // - - - - - - - - - - - - - - - - - - - - - - - - -
00108
00109   inline bool Triangles::hasFaces()  const
00110   {
00111     NVSG_TRACE();
00112     return( 3 <= getNumberOfIndices() );
00113   }
00114
00115   inline unsigned int Triangles::getNumberOfFaces()  const
00116   {
00117     NVSG_TRACE();
00118     return( getNumberOfIndices() / 3 );
00119   }
00120
00121   inline const Face3 * Triangles::getFaces() const
00122   {
00123     NVSG_TRACE();
00124     return( (const Face3 *) getIndices() );
00125   }
00126
00127   inline void Triangles::setFaces( const Face3* pFaces, unsigned int numFaces )
00128   {
00129     NVSG_TRACE();
00130     setIndices( (const unsigned int *) pFaces, 3 * numFaces );
00131   }
00132
00133   inline void Triangles::setFaces( unsigned int pos, const Face3* pFaces, unsigned int numFaces )
00134   {
00135     NVSG_TRACE();
00136     if ( pos != ~0 )
00137     {
00138       pos *= 3;
00139     }
00140     setIndices( pos, (const unsigned int *) pFaces, 3 * numFaces );
00141   }
00142 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TriangulateTraverser.h File Reference

inc / nvsg / nvtraverser

TriangulateTraverser.h File Reference

#include "nvsgcommon.h"
#include "nvtraverser/Traverser.h"

Include dependency graph for TriangulateTraverser.h:

Go to the source code of this file.

Namespaces

namespace nvtraverser

Detailed Description

Generated on Fri Jul 13 13:28:38 2012 for SceniX


SceniX: TriangulateTraverser.h Source File

inc / nvsg / nvtraverser

TriangulateTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include  "nvtraverser/Traverser.h"
00017
00018 namespace nvtraverser
00019 {
00020
00022
00023   class TriangulateTraverser : public ExclusiveTraverser
00024 {
00025   public:
00027     NVSG_API TriangulateTraverser(void);
00028
00029   protected:
00031     NVSG_API virtual ~TriangulateTraverser(void);
00032
00034
00035     NVSG_API virtual void  handleGeoNode(
00036       nvsg::GeoNode *p
00037     );
00038
00040
00042     NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00043
00045
00046     NVSG_API virtual void  handleQuads(
00047       nvsg::Quads *p
00048     );
00049
00051
00052     NVSG_API virtual void  handleQuadStrips(
00053       nvsg::QuadStrips *p
00054     );
00055
00058     NVSG_API virtual bool optimizationAllowed( const nvsg::Object *p );
00059
00060   private:
00061     std::vector<std::pair<nvsg::PrimitiveSetWeakPtr,nvsg::PrimitiveSetSharedPtr> >  m_primitiveSetReplaces;
00062 };
00063
00064 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TriFans.h File Reference

inc / nvsg / nvsg

TriFans.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/StrippedPrimitiveSet.h"

Include dependency graph for TriFans.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:39 2012 for SceniX


SceniX: TriFans.h Source File

inc / nvsg / nvsg

TriFans.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/nvsg.h"
00017 #include "nvsg/StrippedPrimitiveSet.h"
00018
00019 namespace nvsg
00020 {
00027   class TriFans : public StrippedPrimitiveSet
00028   {
00029     public:
00030       NVSG_API static TriFansSharedPtr create();
00031
00032     public:
00037       NVSG_API TriFans & operator=(const TriFans & rhs);
00038
00039       REFLECTION_INFO_API( NVSG_API, TriFans );
00040     protected:
00041       friend struct nvutil::Holder<TriFans>;
00042
00044       NVSG_API TriFans();
00045
00047       NVSG_API explicit TriFans( const TriFans &rhs );
00048
00050       NVSG_API virtual ~TriFans();
00051
00053       NVSG_API virtual bool calculateNormals(bool overwrite);
00054
00056       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00057   };
00058
00059 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TriPatches.h File Reference

inc / nvsg / nvsg

TriPatches.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvsg/Face.h"
#include "nvsg/PatchesBase.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for TriPatches.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:39 2012 for SceniX


SceniX: TriPatches.h Source File

inc / nvsg / nvsg

TriPatches.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/nvmath.h"
00017 #include "nvsg/Face.h"
00018 #include "nvsg/PatchesBase.h"
00019 #include "nvutil/HashGenerator.h"
00020
00021 namespace nvsg
00022 {
00030   class TriPatches : public PatchesBase
00031   {
00032     public:
00033       NVSG_API static TriPatchesSharedPtr create();
00034
00035     public:
00041       NVSG_API void setSize( unsigned int size );
00042
00048       NVSG_API unsigned int getSize() const;
00049
00054       NVSG_API TriPatches & operator=( const TriPatches & rhs );
00055
00056       REFLECTION_INFO_API( NVSG_API, TriPatches );
00057     protected:
00058       friend struct nvutil::Holder<TriPatches>;
00059
00061       NVSG_API TriPatches();
00062
00064       NVSG_API TriPatches( const TriPatches &rhs );
00065
00067       NVSG_API virtual ~TriPatches();
00068
00070       NVSG_API virtual bool calculateNormals( bool overwrite );
00071
00073       NVSG_API virtual void calculateTangentSpace( unsigned int texcoords, unsigned int tangents
00074                                                  , unsigned int binormals, bool overwrite );
00075
00079       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00080
00081     private:
00082       unsigned int  m_size;
00083   };
00084
00085   // - - - - - - - - - - - - - - - - - - - - - - - - -
00086   // inlines
00087   // - - - - - - - - - - - - - - - - - - - - - - - - -
00088
00089   inline void TriPatches::setSize( unsigned int size )
00090   {
00091     NVSG_TRACE();
00092     m_size = size;
00093     setNumberOfVerticesPerPatch( ( size * ( size + 1 ) ) / 2 );
00094   }
00095
00096   inline unsigned int TriPatches::getSize() const
00097   {
00098     NVSG_TRACE();
00099     return( m_size );
00100   }
00101 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TriPatches4.h File Reference

inc / nvsg / nvsg

TriPatches4.h File Reference

#include "nvsgcommon.h"
#include "nvmath/nvmath.h"
#include "nvsg/Face.h"
#include "nvsg/PatchesBase.h"

Include dependency graph for TriPatches4.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:39 2012 for SceniX


SceniX: TriPatches4.h Source File

inc / nvsg / nvsg

TriPatches4.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/nvmath.h"
00017 #include "nvsg/Face.h"
00018 #include "nvsg/PatchesBase.h"
00019
00020 namespace nvsg
00021 {
00029   class TriPatches4 : public PatchesBase
00030   {
00031     public:
00032       NVSG_API static TriPatches4SharedPtr create();
00033
00034     public:
00039       NVSG_API TriPatches4 & operator=( const TriPatches4 & rhs );
00040
00041       REFLECTION_INFO_API( NVSG_API, TriPatches4 );
00042     protected:
00043       friend struct nvutil::Holder<TriPatches4>;
00044
00046       NVSG_API TriPatches4();
00047
00049       NVSG_API TriPatches4( const TriPatches4 &rhs );
00050
00052       NVSG_API virtual ~TriPatches4();
00053
00055       NVSG_API virtual bool calculateNormals( bool overwrite );
00056
00058       NVSG_API virtual void calculateTangentSpace( unsigned int texcoords, unsigned int tangents
00059                                                  , unsigned int binormals, bool overwrite );
00060   };
00061
00062 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TriStrips.h File Reference

inc / nvsg / nvsg

TriStrips.h File Reference

#include "nvsgcommon.h"
#include "nvsg/StrippedPrimitiveSet.h"
#include "nvsg/nvsg.h"

Include dependency graph for TriStrips.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:40 2012 for SceniX


SceniX: TriStrips.h Source File

inc / nvsg / nvsg

TriStrips.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/StrippedPrimitiveSet.h"
00017 #include "nvsg/nvsg.h"
00018
00019 namespace nvsg
00020 {
00037   class TriStrips : public StrippedPrimitiveSet
00038   {
00039     public:
00040       NVSG_API static TriStripsSharedPtr create();
00041
00042     public:
00047       NVSG_API TriStrips & operator=(const TriStrips & rhs);
00048
00049       REFLECTION_INFO_API( NVSG_API, TriStrips );
00050     protected:
00051       friend struct nvutil::Holder<TriStrips>;
00052
00054       NVSG_API TriStrips();
00055
00057       NVSG_API explicit TriStrips( const TriStrips &rhs );
00058
00060       NVSG_API virtual ~TriStrips();
00061
00063       NVSG_API virtual bool calculateNormals(bool overwrite);
00064
00066       NVSG_API virtual void calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite);
00067   };
00068
00069 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: UnlitColorAttribute.h File Reference

inc / nvsg / nvsg

UnlitColorAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvmath/Vecnt.h"
#include "nvsg/StateAttribute.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for UnlitColorAttribute.h:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:40 2012 for SceniX


SceniX: UnlitColorAttribute.h Source File

inc / nvsg / nvsg

UnlitColorAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2007-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvmath/Vecnt.h"
00017 #include "nvsg/StateAttribute.h"
00018 #include "nvutil/HashGenerator.h"
00019
00020 namespace nvsg
00021 {
00027   class UnlitColorAttribute : public StateAttribute
00028   {
00029     public:
00030       NVSG_API static UnlitColorAttributeSharedPtr create();
00031
00032     public:
00036       NVSG_API const nvmath::Vec4f & getColor() const;
00037
00041       NVSG_API void setColor( const nvmath::Vec4f & color );
00042
00052       NVSG_API virtual bool isEquivalent( const Object *p
00053                                         , bool ignoreNames
00054                                         , bool deepCompare ) const;
00055
00056       REFLECTION_INFO_API( NVSG_API, UnlitColorAttribute );
00057     protected:
00058       friend struct nvutil::Holder<UnlitColorAttribute>;
00059
00063       NVSG_API UnlitColorAttribute();
00064
00066       NVSG_API UnlitColorAttribute( const UnlitColorAttribute &rhs );
00067
00069       NVSG_API virtual ~UnlitColorAttribute();
00070
00074       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00075
00076     private:
00077       nvmath::Vec4f m_color;
00078   };
00079
00080   inline const nvmath::Vec4f & UnlitColorAttribute::getColor() const
00081   {
00082     NVSG_TRACE();
00083     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00084     return( m_color );
00085   }
00086
00087   inline void UnlitColorAttribute::setColor( const nvmath::Vec4f & color )
00088   {
00089     NVSG_TRACE();
00090     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00091     if ( m_color != color )
00092     {
00093       m_color = color;
00094       notifyChange( this, NVSG_MATERIAL_INCARNATION );
00095     }
00096   }
00097
00098 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Validated.h File Reference

inc / nvsg / nvutil

Validated.h File Reference

#include "nvsgcommon.h"

Include dependency graph for Validated.h:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:40 2012 for SceniX


SceniX: Validated.h Source File

inc / nvsg / nvutil

Validated.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016
00017 namespace nvutil
00018 {
00020   template<typename T> class Validated
00021   {
00022     public:
00024       Validated( void );
00025
00027       Validated( const T & t );
00028
00029     public:
00031
00032       bool isValid( void ) const;
00033
00035       void invalidate( void );
00036
00038       void validate( void );
00039
00041
00043       const T & get( void ) const;
00044
00046
00047       void set( const T & t );
00048
00049     private:
00050       T     m_data;
00051       bool  m_valid;
00052   };
00053
00054   template<typename T>
00055     inline Validated<T>::Validated( void )
00056     : m_valid(false)
00057   {
00058   }
00059
00060   template<typename T>
00061     inline Validated<T>::Validated( const T & t )
00062   {
00063     set( t );
00064   }
00065
00066   template<typename T>
00067     inline bool Validated<T>::isValid( void ) const
00068   {
00069     return( m_valid );
00070   }
00071
00072   template<typename T>
00073     inline void Validated<T>::invalidate( void )
00074   {
00075     m_valid = false;
00076   }
00077
00078   template<typename T>
00079     inline void Validated<T>::validate( void )
00080   {
00081     m_valid = true;
00082   }
00083
00084   template<typename T>
00085     inline const T & Validated<T>::get( void ) const
00086   {
00087     NVSG_ASSERT( m_valid );
00088     return( m_data );
00089   }
00090
00091   template<typename T>
00092     inline void Validated<T>::set( const T & t )
00093   {
00094     m_data = t;
00095     validate();
00096   }
00097 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Vecnt.h File Reference

inc / nvsg / nvmath

Vecnt.h File Reference

#include "nvsgcommon.h"
#include <limits>
#include <vector>
#include <list>
#include <math.h>

Include dependency graph for Vecnt.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvmath

Typedefs

typedef Vecnt< 1, float > | Vec1f
typedef Vecnt< 1, double > | Vec1d
typedef Vecnt< 1, int > | Vec1i
typedef Vecnt< 1, unsigned
int > 		Vec1ui

Functions

template<unsigned int n, typename T>
void | boundingBox (const Vecnt< n, T > *points, size_t numberOfPoints, Vecnt< n, T > &min, Vecnt< n, T > &max)
Determine the bounding box of a number of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
void | boundingBox (RandomAccessIterator points, size_t numberOfPoints, Vecnt< n, T > &min, Vecnt< n, T > &max)
Determine the bounding box of a number of points.
template<unsigned int n, typename T>
bool | areOpposite (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps=std::numeric_limits< T >::epsilon())
Determine if two vectors point in opposite directions.
template<unsigned int n, typename T>
bool | areOrthogonal (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps=2 *std::numeric_limits< T >::epsilon())
Determine if two vectors are orthogonal.
template<unsigned int n, typename T>
bool | areOrthonormal (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps=2 *std::numeric_limits< T >::epsilon())
Determine if two vectors are orthonormal.
template<unsigned int n, typename T>
bool | areSimilar (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps)
Determine if two vectors differ less than a given epsilon in each component.
template<unsigned int n, typename T>
T | distance (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Determine the distance between vectors.
template<unsigned int n, typename T>
T | intensity (const Vecnt< n, T > &v)
template<unsigned int n, typename T>
bool | isNormalized (const Vecnt< n, T > &v, T eps=2 *std::numeric_limits< T >::epsilon())
Determine if a vector is normalized.
template<unsigned int n, typename T>
bool | isNull (const Vecnt< n, T > &v, T eps=std::numeric_limits< T >::epsilon())
Determine if a vector is the null vector.
template<unsigned int n, typename T>
bool | isUniform (const Vecnt< n, T > &v, T eps=std::numeric_limits< T >::epsilon())
Determine if a vector is uniform, that is, all its components are equal.
template<unsigned int n, typename T>
T | length (const Vecnt< n, T > &v)
Determine the length of a vector.
template<unsigned int n, typename T>
T | lengthSquared (const Vecnt< n, T > &v)
Determine the squared length of a vector.
template<unsigned int n, typename T>
T | maxElement (const Vecnt< n, T > &v)
Determine the maximal element of a vector.
template<unsigned int n, typename T>
T | minElement (const Vecnt< n, T > &v)
Determine the minimal element of a vector.
template<unsigned int n, typename T>
T | normalize (Vecnt< n, T > &v)
Normalize a vector.
template<unsigned int n, typename T>
bool | operator== (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Test for equality of two vectors.
template<unsigned int n, typename T>
bool | operator!= (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Test for inequality of two vectors.
template<unsigned int n, typename T>
Vecnt< n, T > | operator+ (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Vector addition operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator- (const Vecnt< n, T > &v)
Unary vector negation operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator- (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Vector subtraction operator.
template<unsigned int n, typename T, typename S>
Vecnt< n, T > | operator * (const Vecnt< n, T > &v, S s)
Scalar multiplication of a vector.
template<unsigned int n, typename T, typename S>
Vecnt< n, T > | operator * (S s, const Vecnt< n, T > &v)
Scalar multiplication of a vector.
template<unsigned int n, typename T>
T | operator * (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Vector multiplication.
template<unsigned int n, typename T, typename S>
Vecnt< n, T > | operator/ (const Vecnt< n, T > &v, S s)
Scalar division of a vector.
template<unsigned int n, typename T>
Vecnt< n, T > | orthonormal (const Vecnt< n, T > &v)
Determine a vector that's orthonormal to v.
template<unsigned int n, typename T>
Vecnt< n, T > | orthonormalize (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Determine the orthonormal vector of v1 with respect to v0.
template<typename T>
Vecnt< 1, T > & | setVec (Vecnt< 1, T > &v, T x)
Set the values of a two-component vector.
template<typename T>
Vecnt< 2, T > & | setVec (Vecnt< 2, T > &v, T x, T y)
Set the values of a two-component vector.
template<typename T>
bool | areCollinear (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1, T eps=std::numeric_limits< T >::epsilon())
Determine if two vectors are collinear.
template<typename T>
Vecnt< 3, T > | operator^ (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1)
Cross product operator.
template<typename T>
Vecnt< 3, T > & | setVec (Vecnt< 3, T > &v, T x, T y, T z)
Set the values of a three-component vector.
template<typename T>
void | smoothNormals (const std::vector< Vecnt< 3, T > > &vertices, const Spherent< 3, T > &sphere, T creaseAngle, std::vector< Vecnt< 3, T > > &normals)
Determine smoothed normals for a set of vertices.
template<typename T>
Vecnt< 4, T > & | setVec (Vecnt< 4, T > &v, T x, T y, T z, T w)
Set the values of a four-component vector.
template<unsigned int n>
float | normalize (Vecnt< n, float > &v)
template<unsigned int n, typename T>
bool | operator< (const Vecnt< n, T > &lhs, const Vecnt< n, T > &rhs)
template<unsigned int n, typename T>
bool | operator> (const Vecnt< n, T > &lhs, const Vecnt< n, T > &rhs)
template<>
bool | operator< (const Vecnt< 3, float > &lhs, const Vecnt< 3, float > &rhs)
template<>
bool | operator> (const Vecnt< 3, float > &lhs, const Vecnt< 3, float > &rhs)
template<>
bool | operator< (const Vecnt< 4, float > &lhs, const Vecnt< 4, float > &rhs)
template<>
bool | operator> (const Vecnt< 4, float > &lhs, const Vecnt< 4, float > &rhs)
template<typename T>
Vecnt< 3, T > | orthonormalize (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1)
template<typename T>
size_t | _hash (const Vecnt< 3, T > &vertex, const Vecnt< 3, T > &base, const Vecnt< 3, T > &scale, size_t numVertices)

Detailed Description

Function Documentation

void boundingBox | ( | const Vecnt< n, T > * | points,
 |  | size_t | numberOfPoints,
 |  | Vecnt< n, T > & | min,
 |  | Vecnt< n, T > & | max
 | ) | [inline]

Determine the bounding box of a number of points.

Parameters:
points | A vector to the points.
numberOfPoints | The number of points in points.
min | Reference to the calculated lower left front vertex of the bounding box.
max | Reference to the calculated upper right back vertex of the bounding box.

void boundingBox | ( | RandomAccessIterator | points,
 |  | size_t | numberOfPoints,
 |  | Vecnt< n, T > & | min,
 |  | Vecnt< n, T > & | max
 | ) | [inline]

Determine the bounding box of a number of points.

Parameters:
points | A random access iterator to the points.
numberOfPoints | The number of points in points.
min | Reference to the calculated lower left front vertex of the bounding box.
max | Reference to the calculated upper right back vertex of the bounding box.

bool areOpposite | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors point in opposite directions.

Parameters:
v0 | A constant reference to the first normalized vector to use.
v1 | A constant reference to the second normalized vector to use.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v0 and v1 are anti-parallel, otherwise false.
Note:
The behavior is undefined if v0 or v1 are not normalized.
See also:
areCollinear, isNormalized

bool areOrthogonal | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps = 2 * std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors are orthogonal.

Parameters:
v0 | A constant reference to the first vector to use.
v1 | A constant reference to the second vector to use.
eps | An optional deviation from orthonormality. The default is the type dependent epsilon.
Returns:
true, if v0 and v1 are orthogonal, otherwise false.
See also:
areOrthonormal

bool areOrthonormal | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps = 2 * std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors are orthonormal.

Parameters:
v0 | A constant reference to the first normalized vector to use.
v1 | A constant reference to the second normalized vector to use.
eps | An optional deviation from orthonormality. The default is the type dependent epsilon.
Returns:
true, if v0 and v1 are orthonormal, otherwise false.
Note:
The behavior is undefined if v0 or v1 are not normalized.
See also:
areOrthogonal

bool areSimilar | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps
 | ) | [inline]

Determine if two vectors differ less than a given epsilon in each component.

Parameters:
v0 | A constant reference to the first vector to use.
v1 | A constant reference to the second vector to use.
eps | The acceptable deviation for each component.
Returns:
true, if \ v0 and v1 differ less than or equal to eps in each component, otherwise false.
See also:
distance, operator==()

T distance | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Determine the distance between vectors.

Parameters:
v0 | A constant reference to the first vector.
v1 | A constant reference to the second vector.
Returns:
The euclidean distance between v0 and v1.
See also:
length, lengthSquared

bool isNormalized | ( | const Vecnt< n, T > & | v,
 |  | T | eps = 2 * std::numeric_limits<T>::epsilon()
 | ) |

Determine if a vector is normalized.

Parameters:
v | A constant reference to the vector to test.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v is normalized, otherwise false.
See also:
isNull, length, lengthSquared, normalize

bool isNull | ( | const Vecnt< n, T > & | v,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if a vector is the null vector.

Parameters:
v | A constant reference to the vector to test.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v is the null vector, otherwise false.
See also:
isNormalized, length, lengthSquared

bool isUniform | ( | const Vecnt< n, T > & | v,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if a vector is uniform, that is, all its components are equal.

Parameters:
v | A constant reference to the vector to test.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if all components of v are equal, otherwise false.

T length ( const Vecnt< n, T > & v ) [inline]

Determine the length of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The length of the vector v.
See also:
lengthSquared

T lengthSquared ( const Vecnt< n, T > & v ) [inline]

Determine the squared length of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The squared length of the vector v.
See also:
length

T maxElement ( const Vecnt< n, T > & v ) [inline]

Determine the maximal element of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The largest absolute value of v.
See also:
minElement

T minElement ( const Vecnt< n, T > & v ) [inline]

Determine the minimal element of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The smallest absolute value of v.
See also:
maxElement

T normalize ( Vecnt< n, T > & v ) [inline]

Normalize a vector.

Parameters:
v A reference to the vector to normalize.
Returns:
The length of the unnormalized vector.
See also:
isNormalized, length

bool operator== | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Test for equality of two vectors.

Parameters:
v0 | A constant reference to the first vector to test.
v1 | A constant reference to the second vector to test.
Returns:
true, if the two vectors component-wise differ less than the type dependent epsilon, otherwise false.
See also:
operator!=()

bool operator!= | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Test for inequality of two vectors.

Parameters:
v0 | A constant reference to the first vector to test.
v1 | A constant reference to the second vector to test.
Returns:
true, if the two vectors component-wise differ more than the type dependent epsilon in at least one component, otherwise false.
See also:
operator==()

Vecnt< n, T > operator+ | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Vector addition operator.

Parameters:
v0 | A constant reference to the left operand.
v1 | A second reference to the right operand.
Returns:
A vector holding the component-wise sum of v0 and v1.
See also:
operator-()

Vecnt< n, T > operator- ( const Vecnt< n, T > & v ) [inline]

Unary vector negation operator.

Parameters:
v A constant reference to a vector.
Returns:
A vector holding the component-wise negation of v.
See also:
operator-()

Vecnt< n, T > operator- | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Vector subtraction operator.

Parameters:
v0 | A constant reference to the left operand.
v1 | A second reference to the right operand.
Returns:
A vector holding the component-wise difference of v0 and v1.
See also:
operator+()

Vecnt< n, T > operator * | ( | const Vecnt< n, T > & | v,
 |  | S | s
 | ) | [inline]

Scalar multiplication of a vector.

Parameters:
v | A constant reference to the left operand.
s | A scalar as the right operand.
Returns:
A vector holding the component-wise product with s.
See also:
operator/()

Vecnt< n, T > operator * | ( | S | s,
 |  | const Vecnt< n, T > & | v
 | ) | [inline]

Scalar multiplication of a vector.

Parameters:
s | A scalar as the left operand.
v | A constant reference to the right operand.
Returns:
A vector holding the component-wise product with s.
See also:
operator/()

T operator * | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Vector multiplication.

Parameters:
v0 | A constant reference to the left operand.
v1 | A constant reference to the right operand.
Returns:
The dot product of v0 and v1.
See also:
operator^()

Vecnt< n, T > operator/ | ( | const Vecnt< n, T > & | v,
 |  | S | s
 | ) | [inline]

Scalar division of a vector.

Parameters:
v | A constant reference to the left operand.
s | A scalar as the right operand.
Returns:
A vector holding the component-wise division by s.
See also:
operator*()

Vecnt< n, T > orthonormal ( const Vecnt< n, T > & v ) [inline]

Determine a vector that's orthonormal to v.

Parameters:
v A vector to determine an orthonormal vector to.
Returns:
A vector that's orthonormal to v.
Note:
The result of this function is not uniquely defined. In two dimensions, the orthonormal to a vector can be one of two anti-parallel vectors. In higher dimensions, there are infinitely many possible results. This function just select one of them.
See also:
orthonormalize

Vecnt< n, T > orthonormalize | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Determine the orthonormal vector of v1 with respect to v0.

Parameters:
v0 | A constant reference to the normalized vector to orthonormalize against.
v1 | A constant reference to the normalized vector to orthonormalize.
Returns:
A normalized vector representing the orthonormalized version of v1 with respect to v0.
Note:
The behavior is undefined if v0 or v1 are not normalized.
Example:
    Vec3f newYAxis = orthonormalize( newZAxis, oldYAxis );
See also:
normalize

Vecnt< 1, T > & setVec | ( | Vecnt< 1, T > & | v,
 |  | T | x
 | ) | [inline]

Set the values of a two-component vector.

Parameters:
v | A reference to the vector to set with x.
x | The first component to set.

Vecnt< 2, T > & setVec | ( | Vecnt< 2, T > & | v,
 |  | T | x,
 |  | T | y
 | ) | [inline]

Set the values of a two-component vector.

Parameters:
v | A reference to the vector to set with x and y.
x | The first component to set.
y | The second component to set.

bool areCollinear | ( | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors are collinear.

Parameters:
v0 | A constant reference to the first vector.
v1 | A constant reference to the second vector.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v0 and v1 are collinear, otherwise false.
See also:
areOpposite

Vecnt< 3, T > operator^ | ( | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1
 | ) | [inline]

Cross product operator.

Parameters:
v0 | A constant reference to the left operand.
v1 | A constant reference to the right operand.
Returns:
A vector that is the cross product of v0 and v1.
See also:
operator*()

Vecnt< 3, T > & setVec | ( | Vecnt< 3, T > & | v,
 |  | T | x,
 |  | T | y,
 |  | T | z
 | ) | [inline]

Set the values of a three-component vector.

Parameters:
v | A reference to the vector to set with x, y and z.
x | The first component to set.
y | The second component to set.
z | The third component to set.

void smoothNormals | ( | const std::vector< Vecnt< 3, T > > & | vertices,
 |  | const Spherent< 3, T > & | sphere,
 |  | T | creaseAngle,
 |  | std::vector< Vecnt< 3, T > > & | normals
 | ) | [inline]

Determine smoothed normals for a set of vertices.

Parameters:
vertices | A constant reference to a vector of vertices.
sphere | A constant reference to the bounding sphere of the vertices.
creaseAngle | The angle in radians to crease at.
normals | A reference to a vector of normals.
Remarks:
Given vertices with normals and their bounding sphere, this function calculates smoothed normals in normals for the vertices. For all vertices, that are similar within a tolerance that depends on the radius of sphere, and whose normals differ less than creaseAngle (in radians), their normals are set to the average of their normals.

Vecnt< 4, T > & setVec | ( | Vecnt< 4, T > & | v,
 |  | T | x,
 |  | T | y,
 |  | T | z,
 |  | T | w
 | ) | [inline]

Set the values of a four-component vector.

Parameters:
v | A reference to the vector to set with x, y, z, and w.
x | The first component to set.
y | The second component to set.
z | The third component to set.
w | The fourth component to set.

Generated on Fri Jul 13 13:28:42 2012 for SceniX


SceniX: Vecnt.h Source File

inc / nvsg / nvmath

Vecnt.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include <limits>
00017 #include <vector>
00018 #include <list>
00019 #include <math.h>
00020
00021 namespace nvmath
00022 {
00023   template<unsigned int n, typename T> class Spherent;
00024
00029   template<unsigned int n, typename T> class Vecnt
00030   {
00031     public:
00034       Vecnt();
00035
00041       template<unsigned int m, typename S>
00042         explicit Vecnt( const Vecnt<m,S> & rhs );
00043
00056       template<typename S, typename R>
00057         Vecnt( const Vecnt<n-1,S> & rhs, R last );
00058
00067       Vecnt( T x);
00068
00078       Vecnt( T x, T y );
00079
00091       Vecnt( T x, T y, T z );
00092
00105       Vecnt( T x, T y, T z, T w );
00106
00107     public:
00115       const T * getPtr() const;
00116
00119       T normalize();
00120
00127       template<typename S>
00128         T & operator[]( S i );
00129
00136       template<typename S>
00137         const T & operator[]( S i ) const;
00138
00143       template<typename S>
00144         Vecnt<n,T> & operator=( const Vecnt<n,S> & rhs );
00145
00150       template<typename S>
00151         Vecnt<n,T> & operator+=( const Vecnt<n,S> & rhs );
00152
00157       template<typename S>
00158         Vecnt<n,T> & operator-=( const Vecnt<n,S> & rhs );
00159
00164       template<typename S>
00165         Vecnt<n,T> & operator*=( S s );
00166
00172       template<typename S>
00173         Vecnt<n,T> & operator/=( S s );
00174
00179       void orthonormalize( const Vecnt<n,T> & v );
00180
00181     private:
00182       T m_vec[n];
00183   };
00184
00185
00186   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00187   // non-member functions
00188   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00189
00195   template<unsigned int n, typename T>
00196     void boundingBox( const Vecnt<n,T> * points, size_t numberOfPoints, Vecnt<n,T> & min, Vecnt<n,T> & max );
00197
00203   template<unsigned int n, typename T, typename RandomAccessIterator>
00204   inline void boundingBox( RandomAccessIterator points, size_t numberOfPoints, Vecnt<n,T> & min, Vecnt<n,T> & max );
00205
00213   template<unsigned int n, typename T>
00214     bool areOpposite( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1
00215                     , T eps = std::numeric_limits<T>::epsilon() )
00216   {
00217     NVSG_PRIVATE_ASSERT( isNormalized( v0 ) && isNormalized( v1 ) );
00218     return( ( 1 + v0 * v1 ) <= eps );
00219   }
00220
00228   template<unsigned int n, typename T>
00229     bool areOrthogonal( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1
00230                       , T eps = 2 * std::numeric_limits<T>::epsilon() )
00231   {
00232     return( abs(v0*v1) <= std::max(T(1),length(v0)) * std::max(T(1),length(v1)) * eps );
00233   }
00234
00243   template<unsigned int n, typename T>
00244     bool areOrthonormal( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1
00245                        , T eps = 2 * std::numeric_limits<T>::epsilon() )
00246   {
00247     return( isNormalized(v0) && isNormalized(v1) && ( abs(v0*v1) <= eps ) );
00248   }
00249
00257   template<unsigned int n, typename T>
00258     bool areSimilar( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1, T eps );
00259
00265   template<unsigned int n, typename T>
00266     T distance( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00267
00268   template<unsigned int n, typename T>
00269     T intensity( const Vecnt<n,T> & v );
00270
00276   template<unsigned int n, typename T>
00277     bool isNormalized( const Vecnt<n,T> & v, T eps = 2 * std::numeric_limits<T>::epsilon() )
00278   {
00279     return( abs( length( v ) - 1 ) <= eps );
00280   }
00281
00287   template<unsigned int n, typename T>
00288     bool isNull( const Vecnt<n,T> & v, T eps = std::numeric_limits<T>::epsilon() )
00289   {
00290     return( length( v ) <= eps );
00291   }
00292
00297   template<unsigned int n, typename T>
00298   bool isUniform( const Vecnt<n,T> & v, T eps = std::numeric_limits<T>::epsilon() )
00299   {
00300     bool uniform = true;
00301     for ( unsigned int i=1 ; i<n && uniform ; i++ )
00302     {
00303       uniform = ( abs( v[0] - v[i] ) <= eps );
00304     }
00305     return( uniform );
00306   }
00307
00312   template<unsigned int n, typename T>
00313     T length( const Vecnt<n,T> & v );
00314
00319   template<unsigned int n, typename T>
00320     T lengthSquared( const Vecnt<n,T> & v );
00321
00326   template<unsigned int n, typename T>
00327     T maxElement( const Vecnt<n,T> & v );
00328
00333   template<unsigned int n, typename T>
00334     T minElement( const Vecnt<n,T> & v );
00335
00340   template<unsigned int n, typename T>
00341     T  normalize( Vecnt<n,T> & v );
00342
00349   template<unsigned int n, typename T>
00350     bool operator==( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00351
00358   template<unsigned int n, typename T>
00359     bool operator!=( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00360
00366   template<unsigned int n, typename T>
00367     Vecnt<n,T> operator+( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00368
00373   template<unsigned int n, typename T>
00374     Vecnt<n,T> operator-( const Vecnt<n,T> & v );
00375
00381   template<unsigned int n, typename T>
00382     Vecnt<n,T> operator-( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00383
00389   template<unsigned int n, typename T, typename S>
00390     Vecnt<n,T> operator*( const Vecnt<n,T> & v, S s );
00391
00397   template<unsigned int n, typename T, typename S>
00398     Vecnt<n,T> operator*( S s, const Vecnt<n,T> & v );
00399
00405   template<unsigned int n, typename T>
00406     T operator*( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00407
00413   template<unsigned int n, typename T, typename S>
00414     Vecnt<n,T> operator/( const Vecnt<n,T> & v, S s );
00415
00423   template<unsigned int n, typename T>
00424     Vecnt<n,T> orthonormal( const Vecnt<n,T> & v );
00425
00437   template<unsigned int n, typename T>
00438     Vecnt<n,T> orthonormalize( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 );
00439
00440   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00441   // non-member functions, specialized for n == 1
00442   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00443
00447   template<typename T>
00448     Vecnt<1,T> & setVec( Vecnt<1,T> & v, T x );
00449
00450   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00451   // non-member functions, specialized for n == 2
00452   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00453
00458   template<typename T>
00459     Vecnt<2,T> & setVec( Vecnt<2,T> & v, T x, T y );
00460
00461   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00462   // non-member functions, specialized for n == 3
00463   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00464
00471   template<typename T>
00472     bool areCollinear( const Vecnt<3,T> &v0, const Vecnt<3,T> &v1
00473                      , T eps = std::numeric_limits<T>::epsilon() )
00474   {
00475     return( length( v0 ^ v1 ) < eps );
00476   }
00477
00483   template<typename T>
00484     Vecnt<3,T> operator^( const Vecnt<3,T> &v0, const Vecnt<3,T> &v1 );
00485
00491   template<typename T>
00492     Vecnt<3,T> & setVec( Vecnt<3,T> & v, T x, T y, T z );
00493
00503   template<typename T>
00504     void smoothNormals( const std::vector<Vecnt<3,T> > &vertices, const Spherent<3,T> &sphere
00505                       , T creaseAngle, std::vector<Vecnt<3,T> > &normals );
00506
00507
00508   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00509   // non-member functions, specialized for n == 4
00510   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00511
00518   template<typename T>
00519     Vecnt<4,T> & setVec( Vecnt<4,T> & v, T x, T y, T z, T w );
00520
00521
00522   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00523   // Convenience type definitions
00524   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00525   typedef Vecnt<1,float>  Vec1f;
00526   typedef Vecnt<1,double> Vec1d;
00527   typedef Vecnt<2,float>  Vec2f;
00528   typedef Vecnt<2,double> Vec2d;
00529   typedef Vecnt<3,float>  Vec3f;
00530   typedef Vecnt<3,double> Vec3d;
00531   typedef Vecnt<4,float>  Vec4f;
00532   typedef Vecnt<4,double> Vec4d;
00533   typedef Vecnt<1,int> Vec1i;
00534   typedef Vecnt<2,int> Vec2i;
00535   typedef Vecnt<3,int> Vec3i;
00536   typedef Vecnt<4,int> Vec4i;
00537   typedef Vecnt<1,unsigned int> Vec1ui;
00538   typedef Vecnt<2,unsigned int> Vec2ui;
00539   typedef Vecnt<3,unsigned int> Vec3ui;
00540   typedef Vecnt<4,unsigned int> Vec4ui;
00541
00542
00543   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00544   // inlined member functions
00545   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00546
00547   template<unsigned int n, typename T>
00548   inline Vecnt<n,T>::Vecnt()
00549   {
00550   }
00551
00552   template<unsigned int n, typename T>
00553   template<unsigned int m, typename S>
00554   inline Vecnt<n,T>::Vecnt( const Vecnt<m,S> & rhs )
00555   {
00556     unsigned int minn = std::min( n, m );
00557     const T zero = (T)0;
00558
00559     for ( unsigned int i=0 ; i<minn ; ++i )
00560     {
00561       m_vec[i] = (T)rhs[i];
00562     }
00563
00564     for ( unsigned int i=minn ; i<n ; ++i )
00565     {
00566       m_vec[i] = zero;
00567     }
00568   }
00569
00570   template<unsigned int n, typename T>
00571   template<typename S, typename R>
00572   inline Vecnt<n,T>::Vecnt( const Vecnt<n-1,S> & rhs, R last )
00573   {
00574     for ( unsigned int i=0 ; i<n-1 ; ++i )
00575     {
00576       m_vec[i] = (T)rhs[i];
00577     }
00578     m_vec[n-1] = (T)last;
00579   }
00580
00581   template<unsigned int n, typename T>
00582   inline Vecnt<n,T>::Vecnt( T x )
00583   {
00584     setVec( *this, x );
00585   }
00586
00587   template<unsigned int n, typename T>
00588   inline Vecnt<n,T>::Vecnt( T x, T y )
00589   {
00590     setVec( *this, x, y );
00591   }
00592
00593   template<unsigned int n, typename T>
00594   inline Vecnt<n,T>::Vecnt( T x, T y, T z )
00595   {
00596     setVec( *this, x, y, z );
00597   }
00598
00599   template<unsigned int n, typename T>
00600   inline Vecnt<n,T>::Vecnt( T x, T y, T z, T w )
00601   {
00602     setVec( *this, x, y, z, w );
00603   }
00604
00605   template<unsigned int n, typename T>
00606   inline const T * Vecnt<n,T>::getPtr() const
00607   {
00608     return( &m_vec[0] );
00609   }
00610
00611   template<unsigned int n, typename T>
00612   inline T Vecnt<n,T>::normalize()
00613   {
00614     return( nvmath::normalize( *this ) );
00615   }
00616
00617   template<unsigned int n, typename T>
00618   template<typename S>
00619   inline T & Vecnt<n,T>::operator[]( S i )
00620   {
00621     NVSG_CTASSERT( std::numeric_limits<S>::is_integer );
00622     NVSG_ASSERT( i < n );
00623     return( m_vec[i] );
00624   }
00625
00626   template<unsigned int n, typename T>
00627   template<typename S>
00628   inline const T & Vecnt<n,T>::operator[]( S i ) const
00629   {
00630     NVSG_CTASSERT( std::numeric_limits<S>::is_integer );
00631     NVSG_ASSERT( i < n );
00632     return( m_vec[i] );
00633   }
00634
00635   template<unsigned int n, typename T>
00636   template<typename S>
00637   inline Vecnt<n,T> & Vecnt<n,T>::operator=( const Vecnt<n,S> & rhs )
00638   {
00639     for ( unsigned int i=0 ; i<n ; ++i )
00640     {
00641       m_vec[i] = T(rhs[i]);
00642     }
00643     return( *this );
00644   }
00645
00646   template<unsigned int n, typename T>
00647   template<typename S>
00648   inline Vecnt<n,T> & Vecnt<n,T>::operator+=( const Vecnt<n,S> & rhs )
00649   {
00650     for ( unsigned int i=0 ; i<n ; ++i )
00651     {
00652       m_vec[i] += T(rhs[i]);
00653     }
00654     return( *this );
00655   }
00656
00657   template<unsigned int n, typename T>
00658   template<typename S>
00659   inline Vecnt<n,T> & Vecnt<n,T>::operator-=( const Vecnt<n,S> & rhs )
00660   {
00661     for ( unsigned int i=0 ; i<n ; ++i )
00662     {
00663       m_vec[i] -= T(rhs[i]);
00664     }
00665     return( *this );
00666   }
00667
00668   template<unsigned int n, typename T>
00669   template<typename S>
00670   inline Vecnt<n,T> & Vecnt<n,T>::operator*=( S s )
00671   {
00672     for ( unsigned int i=0 ; i<n ; ++i )
00673     {
00674       m_vec[i] *= T(s);
00675     }
00676     return( *this );
00677   }
00678
00679   template<unsigned int n, typename T>
00680   template<typename S>
00681   inline Vecnt<n,T> & Vecnt<n,T>::operator/=( S s )
00682   {
00683     NVSG_PRIVATE_ASSERT( std::numeric_limits<S>::epsilon() < abs(s) );
00684     for ( unsigned int i=0 ; i<n ; ++i )
00685     {
00686       m_vec[i] /= T(s);
00687     }
00688     return( *this );
00689   }
00690
00691   template<unsigned int n, typename T>
00692   inline void Vecnt<n,T>::orthonormalize( const Vecnt<n,T> & v )
00693   {
00694     *this = nvmath::orthonormalize( v, *this );
00695   }
00696
00697
00698   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00699   // inlined non-member functions
00700   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00701
00702   template<unsigned int n, typename T>
00703   inline void boundingBox( const Vecnt<n,T> * points, size_t numberOfPoints, Vecnt<n,T> & min, Vecnt<n,T> & max )
00704   {
00705     NVSG_ASSERT( 0 < n );
00706     min = max = points[0];
00707     for ( size_t i=1 ; i<numberOfPoints ; i++ )
00708     {
00709       for ( unsigned int j=0 ; j<n ; j++ )
00710       {
00711         if ( points[i][j] < min[j] )
00712         {
00713           min[j] = points[i][j];
00714         }
00715         else if ( max[j] < points[i][j] )
00716         {
00717           max[j] = points[i][j];
00718         }
00719       }
00720     }
00721   }
00722
00723   template<unsigned int n, typename T, typename RandomAccessIterator>
00724   inline void boundingBox( RandomAccessIterator points, size_t numberOfPoints, Vecnt<n,T> & min, Vecnt<n,T> & max )
00725   {
00726     NVSG_ASSERT( 0 < n );
00727     min = max = points[0];
00728     for ( size_t i=1 ; i<numberOfPoints ; i++ )
00729     {
00730       for ( unsigned int j=0 ; j<n ; j++ )
00731       {
00732         if ( points[i][j] < min[j] )
00733         {
00734           min[j] = points[i][j];
00735         }
00736         else if ( max[j] < points[i][j] )
00737         {
00738           max[j] = points[i][j];
00739         }
00740       }
00741     }
00742   }
00743
00744   template<unsigned int n, typename T>
00745   inline bool  areSimilar( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1, T eps )
00746   {
00747     for ( unsigned int i=0 ; i<n ; ++i )
00748     {
00749       if ( ( v0[i] != v1[i] ) && ( ( v0[i] < v1[i] ) ? ( v0[i] + eps < v1[i] ) : ( v1[i] + eps < v0[i] ) ) )
00750       {
00751         return( false );
00752       }
00753     }
00754     return( true );
00755   }
00756
00757   template<unsigned int n, typename T>
00758   inline T distance( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00759   {
00760     return( length( v0 - v1 ) );
00761   }
00762
00763   template<unsigned int n, typename T>
00764   inline T intensity( const Vecnt<n,T> & v )
00765   {
00766     T intens(0);
00767     for ( unsigned int i=0 ; i<n ; i++ )
00768     {
00769       intens += v[i];
00770     }
00771     return( intens / n );
00772   }
00773
00774   template<unsigned int n, typename T>
00775   inline T length( const Vecnt<n,T> & v )
00776   {
00777     return( sqrt( lengthSquared( v ) ) );
00778   }
00779
00780   template<unsigned int n, typename T>
00781   inline T lengthSquared( const Vecnt<n,T> & v )
00782   {
00783     return( v * v );
00784   }
00785
00786   template<unsigned int n, typename T>
00787   inline T maxElement( const Vecnt<n,T> & v )
00788   {
00789     T me = abs( v[0] );
00790     for ( unsigned int i=1 ; i<n ; ++i )
00791     {
00792       T t = abs( v[i] );
00793       if ( me < t )
00794       {
00795         me = t;
00796       }
00797     }
00798     return( me );
00799   }
00800
00801   template<unsigned int n, typename T>
00802   inline T minElement( const Vecnt<n,T> & v )
00803   {
00804     T me = abs( v[0] );
00805     for ( unsigned int i=1 ; i<n ; ++i )
00806     {
00807       T t = abs( v[i] );
00808       if ( t < me )
00809       {
00810         me = t;
00811       }
00812     }
00813     return( me );
00814   }
00815
00816   template<unsigned int n, typename T>
00817   inline T normalize( Vecnt<n,T> & v )
00818   {
00819     T norm = length( v );
00820     if ( std::numeric_limits<T>::epsilon() < norm )
00821     {
00822       v /= norm;
00823       //  NVSG_PRIVATE_ASSERT( isNormalized( v ) ); // due to rounding errors this assertion might fail !
00824     }
00825     return( norm );
00826   }
00827
00828   template<unsigned int n>
00829   inline float normalize( Vecnt<n,float> & v )
00830   {
00831     Vecnt<n,double> vd(v);
00832     double norm = normalize( vd );
00833     v = vd;
00834     NVSG_PRIVATE_ASSERT( ( norm <= std::numeric_limits<double>::epsilon() ) || isNormalized(v) );
00835     return( (float)norm );
00836   }
00837
00838   template<unsigned int n, typename T>
00839   inline bool  operator==( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00840   {
00841     return( areSimilar( v0, v1, std::numeric_limits<T>::epsilon() ) );
00842   }
00843
00844   template<unsigned int n, typename T>
00845   inline bool  operator!=( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00846   {
00847     return( ! ( v0 == v1 ) );
00848   }
00849
00850   template<unsigned int n, typename T>
00851   inline Vecnt<n,T>  operator+( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00852   {
00853     Vecnt<n,T> ret(v0);
00854     ret += v1;
00855     return( ret );
00856   }
00857
00858   template<unsigned int n, typename T>
00859   inline Vecnt<n,T>  operator-( const Vecnt<n,T> & v )
00860   {
00861     Vecnt<n,T> ret;
00862     for ( unsigned int i=0 ; i<n ; ++i )
00863     {
00864       ret[i] = - v[i];
00865     }
00866     return( ret );
00867   }
00868
00869   template<unsigned int n, typename T>
00870   inline Vecnt<n,T>  operator-( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00871   {
00872     Vecnt<n,T> ret(v0);
00873     ret -= v1;
00874     return( ret );
00875   }
00876
00877   template<unsigned int n, typename T, typename S>
00878   inline Vecnt<n,T>  operator*( const Vecnt<n,T> & v, S s )
00879   {
00880     Vecnt<n,T> ret(v);
00881     ret *= s;
00882     return( ret );
00883   }
00884
00885   template<unsigned int n, typename T, typename S>
00886   inline Vecnt<n,T>  operator*( S s, const Vecnt<n,T> & v )
00887   {
00888     return( v * s );
00889   }
00890
00891   template<unsigned int n, typename T>
00892   inline T operator*( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00893   {
00894     T ret(0);
00895     for ( unsigned int i=0 ; i<n ; ++i )
00896     {
00897       ret += v0[i] * v1[i];
00898     }
00899     return( ret );
00900   }
00901
00902   template<unsigned int n, typename T, typename S>
00903   inline Vecnt<n,T> operator/( const Vecnt<n,T> & v, S s )
00904   {
00905     Vecnt<n,T> ret(v);
00906     ret /= s;
00907     return( ret );
00908   }
00909
00910   // generic less than and greater than comparison not implemented!
00911   template<unsigned int n, typename T>
00912   bool operator<(const Vecnt<n,T>& lhs, const Vecnt<n,T>& rhs);
00913
00914   template<unsigned int n, typename T>
00915   bool operator>(const Vecnt<n,T>& lhs, const Vecnt<n,T>& rhs);
00916
00917   // specializations for Vec3f, Vec4f
00918   template<>
00919   inline bool operator<(const Vecnt<3,float>& lhs, const Vecnt<3,float>& rhs)
00920   {
00921     return  lhs[0] < rhs[0]  ||
00922             !(lhs[0] > rhs[0]) && lhs[1] < rhs[1] ||
00923             !(lhs[0] > rhs[0]) && !(lhs[1] > rhs[1]) && lhs[2] < rhs[2];
00924   }
00925
00926   template<>
00927   inline bool operator>(const Vecnt<3,float>& lhs, const Vecnt<3,float>& rhs)
00928   {
00929     return  lhs[0] > rhs[0]  ||
00930             !(lhs[0] < rhs[0]) && lhs[1] > rhs[1] ||
00931             !(lhs[0] < rhs[0]) && !(lhs[1] < rhs[1]) && lhs[2] > rhs[2];
00932   }
00933
00934   template<>
00935   inline bool operator<(const Vecnt<4,float>& lhs, const Vecnt<4,float>& rhs)
00936   {
00937     return  lhs[0] < rhs[0]  ||
00938             !(lhs[0] > rhs[0]) && lhs[1] < rhs[1] ||
00939             !(lhs[0] > rhs[0]) && !(lhs[1] > rhs[1]) && lhs[2] < rhs[2] ||
00940             !(lhs[0] > rhs[0]) && !(lhs[1] > rhs[1]) && !(lhs[2] > rhs[2]) && lhs[3] < rhs[3];
00941   }
00942
00943   template<>
00944   inline bool operator>(const Vecnt<4,float>& lhs, const Vecnt<4,float>& rhs)
00945   {
00946     return  lhs[0] > rhs[0]  ||
00947             !(lhs[0] < rhs[0]) && lhs[1] > rhs[1] ||
00948             !(lhs[0] < rhs[0]) && !(lhs[1] < rhs[1]) && lhs[2] > rhs[2] ||
00949             !(lhs[0] < rhs[0]) && !(lhs[1] < rhs[1]) && !(lhs[2] < rhs[2]) && lhs[3] > rhs[3];
00950   }
00951
00952   template<unsigned int n, typename T>
00953   inline Vecnt<n,T> orthonormal( const Vecnt<n,T> & v )
00954   {
00955     NVSG_CTASSERT( 1 < n );
00956     NVSG_CTASSERT( ! std::numeric_limits<T>::is_integer );
00957
00958     T firstV(-1), secondV(-1);
00959     unsigned int firstI(0), secondI(0);
00960     Vecnt<n,T> result;
00961     for ( unsigned int i=0 ; i<n ; i++ )
00962     {
00963       T avi = abs( v[i] );
00964       if ( firstV < avi )
00965       {
00966         firstV = avi;
00967         firstI = i;
00968       }
00969       else if ( secondV < avi )
00970       {
00971         secondV = avi;
00972         secondI = i;
00973       }
00974       result[i] = T(0);
00975     }
00976     NVSG_ASSERT( ( T(0) < firstV ) && ( firstI != secondI ) );
00977     result[firstI] = secondV;
00978     result[secondI] = -firstV;
00979     result.normalize();
00980     return( result );
00981   }
00982
00983   template<unsigned int n, typename T>
00984   inline Vecnt<n,T>  orthonormalize( const Vecnt<n,T> & v0, const Vecnt<n,T> & v1 )
00985   {
00986     NVSG_PRIVATE_ASSERT( isNormalized( v0 ) && isNormalized( v1 ) && !areCollinear( v0, v1 ) );
00987     //  determine the orthogonal projection of v1 on v0 : ( v0 * v1 ) * v0
00988     //  and subtract it from v1 resulting in the orthogonalized version of v1
00989     Vecnt<n,T> vr = v1 - ( v0 * v1 ) * v0;
00990     vr.normalize();
00991     //  don't assert the general case, because this orthonormalization is far from exact
00992     //  NVSG_PRIVATE_ASSERT( areOrthonormal( vr, v0 ) );
00993     return( vr );
00994   }
00995
00996   template<typename T>
00997   inline Vecnt<3,T> orthonormalize( const Vecnt<3,T> & v0, const Vecnt<3,T> & v1 )
00998   {
00999     NVSG_PRIVATE_ASSERT( isNormalized( v0 ) && isNormalized( v1 ) && !areCollinear( v0, v1 ) );
01000     Vecnt<3,T> vr = v0 ^ ( v1 ^ v0 );
01001     vr.normalize();
01002     NVSG_PRIVATE_ASSERT( areOrthonormal( vr, v0 ) );
01003     return( vr );
01004   }
01005
01006   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01007   // inlined non-member functions, specialized for n == 1
01008   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01009
01010   template<typename T>
01011   inline Vecnt<1,T> & setVec( Vecnt<1,T> & v, T x )
01012   {
01013     v[0] = x;
01014     return( v );
01015   }
01016
01017
01018   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01019   // inlined non-member functions, specialized for n == 2
01020   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01021
01022   template<typename T>
01023   inline Vecnt<2,T> & setVec( Vecnt<2,T> & v, T x, T y )
01024   {
01025     v[0] = x;
01026     v[1] = y;
01027     return( v );
01028   }
01029
01030
01031   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01032   // inlined non-member functions, specialized for n == 3
01033   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01034
01035   template<typename T>
01036   inline Vecnt<3,T> operator^( const Vecnt<3,T> &v0, const Vecnt<3,T> &v1 )
01037   {
01038     Vecnt<3,T> ret;
01039     ret[0] = v0[1] * v1[2] - v0[2] * v1[1];
01040     ret[1] = v0[2] * v1[0] - v0[0] * v1[2];
01041     ret[2] = v0[0] * v1[1] - v0[1] * v1[0];
01042     NVSG_PRIVATE_ASSERT( areOrthogonal( ret, v0 ) && areOrthogonal( ret, v1 ) );
01043     return( ret );
01044   }
01045
01046   template<typename T>
01047   inline Vecnt<3,T> & setVec( Vecnt<3,T> & v, T x, T y, T z )
01048   {
01049     v[0] = x;
01050     v[1] = y;
01051     v[2] = z;
01052     return( v );
01053   }
01054
01055   template<typename T>
01056   size_t _hash( const Vecnt<3,T> &vertex, const Vecnt<3,T> &base, const Vecnt<3,T> &scale
01057               , size_t numVertices )
01058   {
01059 #if 1
01060     size_t value = static_cast<size_t>(floor( ( vertex - base ) * scale ));
01061     NVSG_ASSERT( value < numVertices );
01062     return( value );
01063 #else
01064     int value = (int) floor( ( vertex - base ) * scale );
01065     if ( value < 0 )
01066     {
01067       value = 0;
01068     }
01069     else if ( numVertices <= value )
01070     {
01071       value = (int) numVertices - 1;
01072     }
01073     return( value );
01074 #endif
01075   }
01076
01077   template<typename T>
01078   inline void smoothNormals( const std::vector<Vecnt<3,T> > &vertices, const Spherent<3,T> &sphere
01079                            , T creaseAngle, std::vector<Vecnt<3,T> > &normals )
01080   {
01081     if ( creaseAngle < T(0.01) )
01082     {
01083       for_each( normals.begin(), normals.end(), std::mem_fun_ref(&Vecnt<3,T>::normalize) );
01084     }
01085     else
01086     {
01087       //  the face normals are un-normalized (for weighting them in the smoothing process)
01088       //  and we need the normalized too
01089       std::vector<Vecnt<3,T> > normalizedNormals(normals);
01090       for_each( normalizedNormals.begin(), normalizedNormals.end()
01091               , std::mem_fun_ref(&Vecnt<3,T>::normalize) );
01092
01093       //  the tolerance to distinguish different points is a function of the given radius
01094       T tolerance = sphere.getRadius() / 10000;
01095
01096       //  the toleranceVector is used to determine all slices of the bounding box (_hash entries)
01097       //  within the given tolerance from the current point
01098       Vecnt<3,T> toleranceVector( tolerance, tolerance, tolerance );
01099
01100       //  we create a _hash by using diagonal slices through the bounding box (or some approximation
01101       //  to it)
01102       T halfWidth = sphere.getRadius() + tolerance;
01103       Vecnt<3,T> hashBase = sphere.getCenter() - Vecnt<3,T>( halfWidth, halfWidth, halfWidth );
01104
01105       //  The _hash function is a linear function of x, y, and z such that one corner of the
01106       //  bounding box (hashBase) maps to the key "0" and the opposite corner maps to the key
01107       //  "numVertices()".
01108       T scale = vertices.size() / ( 3 * 2 * halfWidth ) ;
01109       Vecnt<3,T> hashScale( scale, scale, scale );
01110
01111       //  The "indirect" table is a circularly linked list of indices that are within tolerance of
01112       //  each other.
01113       std::vector<size_t>  indirect( vertices.size() );
01114
01115       //  create a _hash table as a vector of lists of indices into the vertex array
01116       std::vector<std::list<size_t> > hashTable( vertices.size() );
01117       for ( size_t i=0 ; i<vertices.size() ; i++ )
01118       {
01119         //  look for an other (previous) vertex that is within tolerance
01120         bool found = false;
01121         size_t lowHashValue = _hash( vertices[i] - toleranceVector, hashBase, hashScale, vertices.size() );
01122         size_t highHashValue = _hash( vertices[i] + toleranceVector, hashBase, hashScale, vertices.size() );
01123         for ( size_t hv=lowHashValue ; ! found && hv<=highHashValue ; hv++ )
01124         {
01125           for ( std::list<size_t>::const_iterator hlit=hashTable[hv].begin()
01126             ; ! found && hlit!=hashTable[hv].end()
01127             ; ++hlit )
01128           {
01129             if ( areSimilar( vertices[i], vertices[*hlit], tolerance ) )
01130             {
01131               indirect[i] = indirect[*hlit];
01132               indirect[*hlit] = i;
01133               found = true;
01134             }
01135           }
01136         }
01137
01138         if ( ! found )
01139         {
01140           //  there is no similar (previous) point, so add it to the hashTable
01141           size_t hashValue = _hash( vertices[i], hashBase, hashScale, vertices.size() );
01142           hashTable[hashValue].push_back( i );
01143           indirect[i] = i;
01144         }
01145       }
01146
01147       //  now the indirect vector maps all vertices i to the (similar) vertex j
01148       std::vector<Vecnt<3,T> > vertexNormals( vertices.size() );
01149       T cosCreaseAngle = cos( creaseAngle );
01150       for ( size_t i=0 ; i<vertices.size() ; i++ )
01151       {
01152         Vecnt<3,T> sum = normals[i];
01153         for ( size_t j=indirect[i] ; j!=i ; j=indirect[j] )
01154         {
01155           if ( normalizedNormals[i] * normalizedNormals[j] > cosCreaseAngle )
01156           {
01157             sum += normals[j];
01158           }
01159         }
01160         sum.normalize();
01161         vertexNormals[i] = sum;
01162       }
01163
01164       //  finally, set the vertex normals
01165       normals.swap( vertexNormals );
01166     }
01167   }
01168
01169
01170   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01171   // inlined non-member functions, specialized for n == 4
01172   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
01173
01174   template<typename T>
01175   inline Vecnt<4,T> & setVec( Vecnt<4,T> & v, T x, T y, T z, T w )
01176   {
01177     v[0] = x;
01178     v[1] = y;
01179     v[2] = z;
01180     v[3] = w;
01181     return( v );
01182   }
01183 } // namespace nvmath
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: VertexAttribute.h File Reference

inc / nvsg / nvsg

VertexAttribute.h File Reference

#include "nvsgcommon.h"
#include "nvutil/HashGenerator.h"
#include "nvsg/Buffer.h"

Include dependency graph for VertexAttribute.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | nvmath

Functions

NVSG_API void | normalize (VertexAttribute &va)
Normalize all vertex data elements of a VertexAttribute.
NVSG_API bool | operator== (const VertexAttribute &va0, const VertexAttribute &va1)
Equality operator.
NVSG_API bool | operator!= (const VertexAttribute &va0, const VertexAttribute &va1)
Inequality operator.
NVSG_API void | lerp (float alpha, const nvsg::VertexAttribute &va0, const nvsg::VertexAttribute &va1, nvsg::VertexAttribute &var)
Linear interpolation between two VertexAttributes.

Detailed Description

Function Documentation

NVSG_API void normalize ( VertexAttribute & va )

Normalize all vertex data elements of a VertexAttribute.

Parameters:
va The VertexAttribute to normalize.
Remarks:
The function normalize is called for every vertex data element.

bool operator== | ( | const VertexAttribute & | va0,
 |  | const VertexAttribute & | va1
 | ) | [inline]

Equality operator.

Parameters:
va0 | First VertexAttribute to compare.
va1 | Second VertexAttribute to compare.
Returns:
true, if va0 and va1 are equal, otherwise false.
See also:
operator!=

bool operator!= | ( | const VertexAttribute & | va0,
 |  | const VertexAttribute & | va1
 | ) | [inline]

Inequality operator.

Parameters:
va0 | First VertexAttribute to compare.
va1 | Second VertexAttribute to compare.
Returns:
true, if va0 and va1 are not equal, otherwise false.
See also:
operator==

NVSG_API void lerp | ( | float | alpha,
 |  | const nvsg::VertexAttribute & | va0,
 |  | const nvsg::VertexAttribute & | va1,
 |  | nvsg::VertexAttribute & | var
 | ) |

Linear interpolation between two VertexAttributes.

Parameters:
alpha | The interpolation parameter.
va0 | The starting value for the interpolation.
va1 | The ending value for the interpolation.
var | The resulting value of the interpolation.
Remarks:
Two VertexAttributes are linearly interpolated by linearly interpolating each of the corresponding vertex data elements.

Generated on Fri Jul 13 13:28:42 2012 for SceniX


SceniX: VertexAttribute.h Source File

inc / nvsg / nvsg

VertexAttribute.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvutil/HashGenerator.h"
00017 #include "nvsg/Buffer.h"
00018
00019 namespace nvsg
00020 {
00026   class VertexAttribute
00027   {
00028     public:
00029       typedef unsigned char mem_t;
00030       typedef mem_t * memptr_t;
00031
00032     public:
00034       NVSG_API VertexAttribute();
00035
00038       NVSG_API VertexAttribute(const VertexAttribute& rhs);
00039
00041       NVSG_API ~VertexAttribute();
00042
00049       NVSG_API void swapData(VertexAttribute& rhs);
00050
00062       NVSG_API void reserveData( unsigned int size, unsigned int type, unsigned int count );
00063
00077       NVSG_API void setData(unsigned int size, unsigned int type, const void * data, unsigned int strideInBytes, unsigned int count);
00078
00098       NVSG_API void setData(unsigned int pos, unsigned int size, unsigned int type, const void * data, unsigned int strideInBytes, unsigned int count);
00099
00114       NVSG_API void setData(unsigned int size, unsigned int type, const BufferSharedPtr &buffer, unsigned int offset, unsigned int strideInBytes, unsigned int count);
00115
00126       template <typename ValueType>
00127       typename Buffer::ConstIterator<ValueType>::Type getData() const;
00128
00139       template <typename ValueType>
00140       typename Buffer::Iterator<ValueType>::Type getData();
00141
00145       template <typename ValueType>
00146       typename Buffer::Iterator<ValueType>::Type begin();
00147
00151       template <typename ValueType>
00152       typename Buffer::ConstIterator<ValueType>::Type beginRead() const;
00153
00157       template <typename ValueType>
00158       typename Buffer::Iterator<ValueType>::Type end();
00159
00163       template <typename ValueType>
00164       typename Buffer::ConstIterator<ValueType>::Type endRead() const;
00165
00169       NVSG_API void removeData();
00170
00173       NVSG_API unsigned int getVertexDataCount() const;
00174
00179       NVSG_API unsigned int getVertexDataSize()  const;
00180
00190       NVSG_API unsigned int getVertexDataType()  const;
00191
00196       NVSG_API unsigned int getVertexDataBytes() const;
00197
00201       NVSG_API unsigned int getVertexDataStrideInBytes() const;
00202
00206       NVSG_API unsigned int getVertexDataOffsetInBytes() const;
00207
00211       NVSG_API const BufferSharedPtr & getBuffer() const;
00212
00217       NVSG_API bool isContiguous() const;
00218
00223       NVSG_API VertexAttribute & operator=( const VertexAttribute & rhs );
00224
00232       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00233
00234     private:
00235       //initiatialize m_size, m_type and m_bytes
00236       void initData( unsigned int size, unsigned int type );
00237
00238     private:
00239       unsigned int    m_count;  // # vertex data
00240       unsigned int    m_size;   // # coordinates per vertex
00241       unsigned int    m_type;   // symbolic constant indicating the type of coordinates
00242       unsigned int    m_bytes;  // size of vertex in bytes
00243       unsigned int    m_offset;
00244       unsigned int    m_strideInBytes; // stride in bytes between two elements in the buffer
00245       BufferSharedPtr m_buffer;
00246   };
00247
00251   NVSG_API void normalize( VertexAttribute & va );
00252
00258   NVSG_API bool operator==( const VertexAttribute & va0, const VertexAttribute & va1 );
00259
00265   NVSG_API bool operator!=( const VertexAttribute & va0, const VertexAttribute & va1 );
00266
00267
00268   template <typename ValueType>
00269   inline typename Buffer::ConstIterator<ValueType>::Type VertexAttribute::getData() const
00270   {
00271     return m_buffer ? beginRead<ValueType>() : Buffer::ConstIterator<ValueType>();
00272   }
00273
00274   template <typename ValueType>
00275   inline typename Buffer::Iterator<ValueType>::Type VertexAttribute::getData()
00276   {
00277     return m_buffer ? begin<ValueType>() : Buffer::Iterator<ValueType>();
00278   }
00279
00280   inline unsigned int VertexAttribute::getVertexDataCount() const
00281   {
00282     return( m_count );
00283   }
00284
00285   inline unsigned int VertexAttribute::getVertexDataSize() const
00286   {
00287     return( m_size );
00288   }
00289
00290   inline unsigned int VertexAttribute::getVertexDataType() const
00291   {
00292     return( m_type );
00293   }
00294
00295   inline unsigned int VertexAttribute::getVertexDataBytes() const
00296   {
00297     return( m_bytes );
00298   }
00299
00300   inline unsigned int VertexAttribute::getVertexDataStrideInBytes() const
00301   {
00302     return( m_strideInBytes );
00303   }
00304
00305   inline unsigned int VertexAttribute::getVertexDataOffsetInBytes() const
00306   {
00307     return( m_offset );
00308   }
00309
00310   inline const BufferSharedPtr & VertexAttribute::getBuffer() const
00311   {
00312     return( m_buffer );
00313   }
00314
00315   inline bool VertexAttribute::isContiguous() const
00316   {
00317     return( m_strideInBytes == m_bytes );
00318   }
00319
00320   inline bool operator==( const VertexAttribute & va0, const VertexAttribute & va1 )
00321   {
00322     return(     ( va0.getVertexDataBytes() == va1.getVertexDataBytes() )
00323             &&  ( va0.getVertexDataStrideInBytes() == va1.getVertexDataStrideInBytes() )
00324             &&  ( va0.getVertexDataOffsetInBytes() == va1.getVertexDataOffsetInBytes() )
00325             &&  ( va0.getVertexDataCount() == va1.getVertexDataCount() )
00326             &&  ( va0.getVertexDataSize()  == va1.getVertexDataSize() )
00327             &&  ( va0.getVertexDataType()  == va1.getVertexDataType() )
00328             &&  ( va0.getBuffer() == va1.getBuffer() )
00329            );
00330   }
00331
00332   inline bool operator!=( const VertexAttribute & va0, const VertexAttribute & va1 )
00333   {
00334     return( ! ( va0 == va1 ) );
00335   }
00336
00337   template <typename ValueType>
00338   typename Buffer::Iterator<ValueType>::Type VertexAttribute::begin()
00339   {
00340     Buffer::DataWriteLock lock = Buffer::DataWriteLock( m_buffer, Buffer::MAP_READWRITE, m_offset, m_count * m_strideInBytes );
00341     return typename Buffer::Iterator<ValueType>::Type( lock.getPtr<ValueType>(), m_strideInBytes, lock );
00342   }
00343
00344   template <typename ValueType>
00345   typename Buffer::ConstIterator<ValueType>::Type VertexAttribute::beginRead() const
00346   {
00347     Buffer::DataReadLock lock = Buffer::DataReadLock( m_buffer, m_offset, m_count * m_strideInBytes );
00348     return typename Buffer::ConstIterator<ValueType>::Type( lock.getPtr<ValueType>(), m_strideInBytes, lock );
00349   }
00350
00351   template <typename ValueType>
00352   typename Buffer::Iterator<ValueType>::Type VertexAttribute::end()
00353   {
00354     Buffer::DataWriteLock lock = Buffer::DataWriteLock( m_buffer, Buffer::MAP_READWRITE, m_offset, m_count * m_strideInBytes );
00355     void *end = lock.getPtr<char>() + m_count * m_strideInBytes;
00356     return typename Buffer::Iterator<ValueType>::Type( reinterpret_cast<ValueType*>(end) , m_strideInBytes, lock );
00357   }
00358
00359   template <typename ValueType>
00360   typename Buffer::ConstIterator<ValueType>::Type VertexAttribute::endRead() const
00361   {
00362     Buffer::DataReadLock lock = Buffer::DataReadLock( m_buffer, m_offset, m_count * m_strideInBytes );
00363     const void *end = lock.getPtr<char>() + m_count * m_strideInBytes;
00364     return typename Buffer::ConstIterator<ValueType>::Type( reinterpret_cast<const ValueType*>(end) , m_strideInBytes, lock );
00365   }
00366 } //  namespace nvsg
00367
00368
00369 namespace nvmath
00370 {
00378   NVSG_API void lerp( float alpha, const nvsg::VertexAttribute & va0
00379                     , const nvsg::VertexAttribute & va1, nvsg::VertexAttribute & var );
00380 } //  namespace nvmath
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: VertexAttributeSet.h File Reference

inc / nvsg / nvsg

VertexAttributeSet.h File Reference

#include "nvsgcommon.h"
#include "nvsg/OwnedObject.h"
#include "nvsg/Types.h"
#include "nvsg/VertexAttribute.h"
#include "nvmath/Spherent.h"
#include "nvutil/BitMask.h"
#include "nvutil/HashGenerator.h"

Include dependency graph for VertexAttributeSet.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg

Enumerations

enum | TextureCoordType { TCT_CYLINDRICAL, TCT_PLANAR, TCT_SPHERICAL }
Type to specify the type of texture coordinate to generate. More...

Functions

NVSG_API void | copy (const VertexAttributeSetReadLock &src, const VertexAttributeSetWriteLock &dst)
NVSG_API void | copySelectedVertices (const VertexAttributeSetSharedPtr &from, const VertexAttributeSetSharedPtr &to, std::vector< unsigned int > &indices)
Copy selected vertices from one VertexAttributeSet to another.
NVSG_API void | copySelectedVertices (const VertexAttributeSetSharedPtr &from, const VertexAttributeSetSharedPtr &to, std::vector< std::vector< unsigned int > > &indices)
Copy selected vertices from one VertexAttributeSet to another.
NVSG_API bool | genericAttrib (unsigned int attrib)
Determine if an attribute identifier identifies a generic or a conventional attribute.
NVSG_API unsigned int | attribIndex (unsigned int attrib)
Translates an attribute identifier to the corresponding conventional attribute identifier.

Detailed Description

Enumeration Type Documentation

enum TextureCoordType

Type to specify the type of texture coordinate to generate.

There are three different types of texture coordinate generation available: cylindrical, planar, and spherical.

Enumeration values:
TCT_CYLINDRICAL | Puts a cylinder around the BoundingSphere with the z-axis as it's axis and projects the vertices of the VertexAttributeSet on it to get the texture coordinates.
TCT_PLANAR | Puts a plane in the x-y-plane and vertically projects the vertices of the VertexAttributeSet on that plane to the the texture coordinates.
TCT_SPHERICAL | Projects the vertices of the VertexAttributeSet radially on the BoundingSphere to get the texture coordinates.

Function Documentation

NVSG_API void copySelectedVertices | ( | const VertexAttributeSetSharedPtr & | from,
 |  | const VertexAttributeSetSharedPtr & | to,
 |  | std::vector< unsigned int > & | indices
 | ) |

Copy selected vertices from one VertexAttributeSet to another.

Parameters:
from | The VertexAttributeSet to copy from.
to | The VertexAttributeSet to copy to.
indices | A reference to a vector of indices pointing into from, that determine the vertices to copy. After the copy operation, it holds the corresponding indices pointing into to.
Remarks:
This function is used to copy selected vertices of IndependentPrimitiveSets

NVSG_API void copySelectedVertices | ( | const VertexAttributeSetSharedPtr & | from,
 |  | const VertexAttributeSetSharedPtr & | to,
 |  | std::vector< std::vector< unsigned int > > & | indices
 | ) |

Copy selected vertices from one VertexAttributeSet to another.

Parameters:
from | The VertexAttributeSet to copy from.
to | The VertexAttributeSet to copy to.
indices | A reference to a vector of indices into from, that determine the vertices to copy. After the copy operation, it holds the corresponding indices into to.
Remarks:
This function is used to copy selected vertices of StrippedPrimitiveSets

bool genericAttrib ( unsigned int attrib ) [inline]

Determine if an attribute identifier identifies a generic or a conventional attribute.

Parameters:
attrib The attribute identifier to test.
Returns:
true if attrib identifies a generic attribute, otherwise false.
See also:
attribIndex

unsigned int attribIndex ( unsigned int attrib ) [inline]

Translates an attribute identifier to the corresponding conventional attribute identifier.

Parameters:
attrib The attribute identifier to translate.
Returns:
The conventional attribute identifier corresponding to attrib.
Remarks:
If attrib already identifies a conventional attribute, it is returned unchanged. Otherwise it is a generic attribute identifier and the corresponding conventional one is returned.
See also:
genericAttrib

Generated on Fri Jul 13 13:28:43 2012 for SceniX


SceniX: VertexAttributeSet.h Source File

inc / nvsg / nvsg

VertexAttributeSet.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/OwnedObject.h"
00017 #include "nvsg/Types.h"
00018 #include "nvsg/VertexAttribute.h"
00019 #include "nvmath/Spherent.h"
00020 #include "nvutil/BitMask.h"
00021 #include "nvutil/HashGenerator.h"
00022
00023
00024 namespace nvsg
00025 {
00038   class VertexAttributeSet : public OwnedObject<Object>
00039   {
00040     friend class PrimitiveSet;
00041
00042     public:
00043       NVSG_API static VertexAttributeSetSharedPtr create();
00044
00045     public:
00046
00047       enum
00048       {
00049         // conventional vertex attributes
00050         NVSG_POSITION = 0,
00051         NVSG_VERTEX_WEIGHT,
00052         NVSG_NORMAL,
00053         NVSG_COLOR,
00054         NVSG_SECONDARY_COLOR,
00055         NVSG_FOG_COORD,
00056         NVSG_UNUSED_1,
00057         NVSG_UNUSED_2,
00058         NVSG_TEXCOORD0,
00059         NVSG_TEXCOORD1,
00060         NVSG_TEXCOORD2,
00061         NVSG_TEXCOORD3,
00062         NVSG_TEXCOORD4,
00063         NVSG_TEXCOORD5,
00064         NVSG_TEXCOORD6, NVSG_TANGENT = NVSG_TEXCOORD6,
00065         NVSG_TEXCOORD7, NVSG_BINORMAL = NVSG_TEXCOORD7,
00066
00067         // generic vertex attributes
00068         NVSG_ATTR0,
00069         NVSG_ATTR1,
00070         NVSG_ATTR2,
00071         NVSG_ATTR3,
00072         NVSG_ATTR4,
00073         NVSG_ATTR5,
00074         NVSG_ATTR6,
00075         NVSG_ATTR7,
00076         NVSG_ATTR8,
00077         NVSG_ATTR9,
00078         NVSG_ATTR10,
00079         NVSG_ATTR11,
00080         NVSG_ATTR12,
00081         NVSG_ATTR13,
00082         NVSG_ATTR14,
00083         NVSG_ATTR15,
00084
00085         NVSG_VERTEX_ATTRIB_COUNT = 16
00086
00087       };
00088
00089
00091
00092       NVSG_API virtual bool isDataShared( void ) const;
00093
00095
00096       NVSG_API virtual DataID getDataID( void ) const;
00097
00116       NVSG_API virtual void swapVertexData(unsigned int attrib, VertexAttribute& rhs);
00117
00131       NVSG_API virtual void reserveVertexData( unsigned int attrib, unsigned int size
00132                                              , unsigned int type, unsigned int count );
00133
00212       NVSG_API virtual void setVertexData( unsigned int attrib, unsigned int size, unsigned int type
00213                                          , const void * data, unsigned int strideInBytes, unsigned int count );
00214
00233       NVSG_API virtual void setVertexData( unsigned int attrib, unsigned int pos, unsigned int size
00234                                          , unsigned int type, const void * data, unsigned int strideInBytes
00235                                          , unsigned int count );
00236
00252       NVSG_API virtual void setVertexData( unsigned int attrib, unsigned int size, unsigned int type
00253                                          , const BufferSharedPtr &buffer, unsigned int offset
00254                                          , unsigned int strideInBytes, unsigned int count );
00255
00290       NVSG_API virtual void setVertexData( unsigned int attrib, const unsigned int * to
00291                                          , const unsigned int * from, unsigned int size
00292                                          , unsigned int type, const void * data, unsigned int stride, unsigned int count );
00293
00306       NVSG_API virtual void removeVertexData(unsigned int attrib);
00307
00319       NVSG_API virtual Buffer::DataReadLock getVertexData(unsigned int attrib) const;
00320
00325       NVSG_API virtual const BufferSharedPtr & getVertexBuffer(unsigned int attrib) const;
00326
00327       template <typename ValueType>
00328       typename Buffer::ConstIterator<ValueType>::Type getVertexData(unsigned int attrib) const;
00329
00335       NVSG_API virtual unsigned int getSizeOfVertexData(unsigned int attrib) const;
00336
00348       NVSG_API virtual unsigned int getTypeOfVertexData(unsigned int attrib) const;
00349
00353       NVSG_API virtual unsigned int getNumberOfVertexData(unsigned int attrib) const;
00354
00359       NVSG_API virtual unsigned int getStrideOfVertexData( unsigned int attrib ) const;
00360
00365       NVSG_API virtual unsigned int getOffsetOfVertexData( unsigned int attrib ) const;
00366
00371       NVSG_API virtual bool isContiguousVertexData( unsigned int attrib ) const;
00372
00383       NVSG_API void setEnabled(unsigned int attrib, bool enable);
00384
00389       NVSG_API bool isEnabled(unsigned int attrib) const;
00390
00403       NVSG_API void setNormalizeEnabled(unsigned int attrib, bool enable);
00404
00409       NVSG_API bool isNormalizeEnabled(unsigned int attrib) const;
00410
00424       NVSG_API void setVertices(const nvmath::Vec3f * vertices, unsigned int count);
00425
00436       NVSG_API void setVertices(unsigned int pos, const nvmath::Vec3f * vertices, unsigned int count);
00437
00443       NVSG_API Buffer::ConstIterator<nvmath::Vec3f>::Type getVertices() const;
00444
00447       NVSG_API unsigned int getNumberOfVertices() const;
00448
00451       NVSG_API unsigned int getPerVertexBytes() const;
00452
00453       // no -longer supported
00454       //NVSG_API void setVertexWeights(const float * weights, unsigned int count);
00455       //NVSG_API void setVertexWeights(unsigned int pos, const float * weights, unsigned int count);
00456       //NVSG_API const void * getVertexWeights() const;
00457       //NVSG_API unsigned int getNumberOfVertexWeights() const;
00458
00471       NVSG_API void setNormals(const nvmath::Vec3f * normals, unsigned int count);
00472
00482       NVSG_API void setNormals(unsigned int pos, const nvmath::Vec3f * normals, unsigned int count);
00483
00489       NVSG_API Buffer::ConstIterator<nvmath::Vec3f>::Type getNormals() const;
00490
00493       NVSG_API unsigned int getNumberOfNormals() const;
00494
00509       template <unsigned int N, typename T> void setColors(const nvmath::Vecnt<N,T> * colors, unsigned int count);
00510
00523       template <unsigned int N, typename T> void setColors(unsigned int pos, const nvmath::Vecnt<N,T> * colors, unsigned int count);
00524
00527       template <typename ValueType> typename Buffer::ConstIterator<ValueType>::Type getColors() const;
00528
00531       NVSG_API unsigned int getNumberOfColors() const;
00532
00536       NVSG_API unsigned int getSizeOfColors() const;
00537
00541       NVSG_API unsigned int getTypeOfColors() const;
00542
00557       template <typename T> void setSecondaryColors(const nvmath::Vecnt<3,T> * colors, unsigned int count);
00558
00571       template <typename ValueType> void setSecondaryColors(unsigned int pos, const nvmath::Vecnt<3,ValueType> * colors, unsigned int count);
00572
00575       template <typename ValueType> typename Buffer::ConstIterator<ValueType>::Type getSecondaryColors() const;
00576
00579       NVSG_API unsigned int getNumberOfSecondaryColors() const;
00580
00584       NVSG_API unsigned int getTypeOfSecondaryColors() const;
00585
00599       template <typename T> void setFogCoords(const T * coords, unsigned int count);
00600
00612       template <typename T> void setFogCoords(unsigned int pos, T * coords, unsigned int count);
00613
00619       Buffer::ConstIterator<float>::Type getFogCoords() const;
00620
00623       NVSG_API unsigned int getNumberOfFogCoords() const;
00624
00628       NVSG_API unsigned int getTypeOfFogCoords() const;
00629
00645       template <unsigned int N, typename T> void setTexCoords(unsigned int unit, const nvmath::Vecnt<N,T> * coords, unsigned int count);
00646
00660       template <unsigned int N, typename T> void setTexCoords(unsigned int unit, unsigned int pos, const nvmath::Vecnt<N,T> * coords, unsigned int count);
00661
00665       template <typename ValueType> typename Buffer::ConstIterator<ValueType>::Type getTexCoords(unsigned int unit) const;
00666
00671       NVSG_API unsigned int getNumberOfTexCoords(unsigned int unit) const;
00672
00676       NVSG_API unsigned int getSizeOfTexCoords(unsigned int unit) const;
00677
00682       NVSG_API unsigned int getTypeOfTexCoords(unsigned int unit) const;
00683
00689       NVSG_API void setVertexAttribute( unsigned int attrib, const VertexAttribute &vertexAttribute );
00690
00695       NVSG_API const VertexAttribute &getVertexAttribute( int attrib ) const;
00696
00698
00699       NVSG_API VertexAttributeSet & operator=(const VertexAttributeSet & rhs);
00700
00702
00703       NVSG_API virtual bool isEquivalent( const Object *p
00704                                         , bool ignoreNames
00705                                         , bool deepCompare
00706                                         ) const;
00707
00708       NVSG_API virtual void notifyChange( const Subject * originator, unsigned int state = 0 ) const;
00709
00710       REFLECTION_INFO_API( NVSG_API, VertexAttributeSet );
00711     protected:
00712       friend struct nvutil::Holder<VertexAttributeSet>;
00714       NVSG_API VertexAttributeSet();
00715
00717       NVSG_API VertexAttributeSet( const VertexAttributeSet &rhs );
00718
00720       NVSG_API virtual ~VertexAttributeSet(void);
00721
00723       NVSG_API void releaseCachedData();
00724
00725       NVSG_API void subscribeBuffer( int attrib );
00726       NVSG_API void unsubscribeBuffer( int attrib );
00727
00731       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00732
00733       NVSG_API virtual void incrementVertexAttributeSetIncarnation() const;
00734       NVSG_API virtual const nvutil::Incarnation & queryVertexAttributeSetIncarnation() const;
00735
00736     private:
00737       unsigned int                                          m_enableFlags; // bits 0-15 conventional attributes, bits 16-31 generic aliases
00738       unsigned int                                          m_normalizeEnableFlags; // only for generic attributes
00739       nvutil::SmartPtr<nvutil::RCVector<VertexAttribute> >  m_vattribs;
00740
00741       mutable nvutil::Incarnation m_vertexAttributeSetIncarnation; // tracks unspecified vertexattributeset changes
00742   };
00743
00744
00745   NVSG_API void copy( const VertexAttributeSetReadLock & src, const VertexAttributeSetWriteLock & dst );
00746
00753   NVSG_API void copySelectedVertices( const VertexAttributeSetSharedPtr & from
00754                                     , const VertexAttributeSetSharedPtr & to
00755                                     , std::vector<unsigned int> & indices );
00756
00763   NVSG_API void copySelectedVertices( const VertexAttributeSetSharedPtr & from
00764                                     , const VertexAttributeSetSharedPtr & to
00765                                     , std::vector<std::vector<unsigned int> > &indices );
00766
00768
00769   typedef enum
00770   {
00771     TCT_CYLINDRICAL,
00772     TCT_PLANAR,
00773     TCT_SPHERICAL,
00774   } TextureCoordType;
00775
00783   NVSG_API void generateTexCoords( VertexAttributeSet * vas
00784                                  , TextureCoordType tct
00785                                  , const nvmath::Sphere3f &sphere
00786                                  , unsigned int tc = VertexAttributeSet::NVSG_TEXCOORD0
00787                                  );
00788
00793   NVSG_API bool genericAttrib( unsigned int attrib );
00794
00802   NVSG_API unsigned int attribIndex( unsigned int attrib );
00803
00804   template <typename ValueType>
00805   typename Buffer::ConstIterator<ValueType>::Type VertexAttributeSet::getVertexData(unsigned int attrib) const
00806   {
00807     NVSG_TRACE();
00808     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00809     NVSG_ASSERT(attrib>=NVSG_POSITION && attrib<=NVSG_ATTR15); // undefined behavior on invalid attrib
00810
00811     // we alias generic and conventional vertex attributes, that is -
00812     // pairs of generic and conventional vertex attributes are sharing the same storage
00813     unsigned int attrIndex = attribIndex(attrib);
00814     const VertexAttribute &vattrib = (*m_vattribs)[attrIndex];
00815     Buffer::DataReadLock lock = getVertexData( attrib );
00816     return typename Buffer::ConstIterator<ValueType>::Type( lock.getPtr<ValueType>(), vattrib.getVertexDataStrideInBytes(), lock );
00817   }
00818
00819   inline void VertexAttributeSet::setEnabled(unsigned int attrib, bool enable)
00820   {
00821     NVSG_TRACE();
00822     NVSG_ASSERT(attrib>=NVSG_POSITION && attrib<=NVSG_ATTR15);
00823     m_enableFlags &= ~(1<<attrib);
00824     m_enableFlags |= ((!!enable)<<attrib);
00825     notifyChange( this, VertexAttributeSet::NVSG_VAS_INCARNATION );
00826   }
00827
00828   inline bool VertexAttributeSet::isEnabled(unsigned int attrib) const
00829   {
00830     NVSG_TRACE();
00831     NVSG_ASSERT(attrib>=NVSG_POSITION && attrib<=NVSG_ATTR15);
00832     return !!(m_enableFlags & (1<<attrib));
00833   }
00834
00835   inline void VertexAttributeSet::setNormalizeEnabled(unsigned int attrib, bool enable)
00836   {
00837     NVSG_TRACE();
00838     NVSG_ASSERT(attrib>=NVSG_ATTR0 && attrib<=NVSG_ATTR15); // only for generic attributes!
00839     m_normalizeEnableFlags &= ~(1<<attrib);
00840     m_normalizeEnableFlags |= ~((!!enable)<<attrib);
00841     notifyChange( this, VertexAttributeSet::NVSG_VAS_INCARNATION );
00842   }
00843
00844   inline bool VertexAttributeSet::isNormalizeEnabled(unsigned int attrib) const
00845   {
00846     NVSG_TRACE();
00847     NVSG_ASSERT(attrib>=NVSG_POSITION && attrib<=NVSG_ATTR15);
00848     return !!(m_normalizeEnableFlags & (1<<attrib));
00849   }
00850
00851   inline void VertexAttributeSet::setVertices(const nvmath::Vec3f * vertices, unsigned int count)
00852   {
00853     NVSG_TRACE();
00854     setVertexData(NVSG_POSITION, 3, NVSG_FLOAT, &vertices[0], 0, count);
00855     setEnabled(NVSG_POSITION, true); // initially enabled!
00856   }
00857
00858   inline void VertexAttributeSet::setVertices(unsigned int pos, const nvmath::Vec3f * vertices, unsigned int count)
00859   {
00860     NVSG_TRACE();
00861     setVertexData(NVSG_POSITION, pos, 3, NVSG_FLOAT, &vertices[0], 0, count);
00862     setEnabled(NVSG_POSITION, true); // initially enabled!
00863   }
00864
00865   inline Buffer::ConstIterator<nvmath::Vec3f>::Type VertexAttributeSet::getVertices() const
00866   {
00867     NVSG_TRACE();
00868
00869     // debug checks on current limitations
00870     NVSG_ASSERT( getSizeOfVertexData(NVSG_POSITION) == 3 );
00871     NVSG_ASSERT( getTypeOfVertexData(NVSG_POSITION) == NVSG_FLOAT );
00872
00873     return getVertexData<nvmath::Vec3f>(NVSG_POSITION);
00874   }
00875
00876   inline unsigned int VertexAttributeSet::getNumberOfVertices() const
00877   {
00878     NVSG_TRACE();
00879     return getNumberOfVertexData(NVSG_POSITION);
00880   }
00881
00882   inline unsigned int VertexAttributeSet::getPerVertexBytes() const
00883   {
00884     NVSG_TRACE();
00885     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00886
00887     unsigned int sz = 0;
00888     for(unsigned int ctr = 0; ctr < nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT; ++ctr )
00889     {
00890       if(isEnabled(ctr))
00891       {
00892         sz += (*m_vattribs)[ctr].getVertexDataBytes();
00893       }
00894     }
00895
00896     return sz;
00897   }
00898
00899   //inline void VertexAttributeSet::setVertexWeights(const float * weights, unsigned int count)
00900   //{
00901   //  NVSG_TRACE();
00902   //  setVertexData(NVSG_VERTEX_WEIGHT, 1, NVSG_FLOAT, weights, count);
00903   //}
00904
00905   //inline void VertexAttributeSet::setVertexWeights(unsigned int pos, const float * weights, unsigned int count)
00906   //{
00907   //  NVSG_TRACE();
00908   //  setVertexData(NVSG_VERTEX_WEIGHT, pos, 1, NVSG_FLOAT, weights, count);
00909   //}
00910
00911   //inline const void * VertexAttributeSet::getVertexWeights() const
00912   // {
00913   //  NVSG_TRACE();
00914   //  return( (     ( getSizeOfVertexData(NVSG_VERTEX_WEIGHT) == 1 )
00915   //            &&  ( getTypeOfVertexData(NVSG_VERTEX_WEIGHT) == NVSG_FLOAT ) )
00916   //          ? (const nvmath::Vec3f*)getVertexData(NVSG_VERTEX_WEIGHT)
00917   //          : NULL );
00918   //}
00919
00920   //inline unsigned int VertexAttributeSet::getNumberOfVertexWeights() const
00921   //{
00922   //  NVSG_TRACE();
00923   //  return getNumberOfVertexData(NVSG_VERTEX_WEIGHT);
00924   //}
00925
00926   inline void VertexAttributeSet::setNormals(const nvmath::Vec3f * normals, unsigned int count)
00927   {
00928     NVSG_TRACE();
00929     setVertexData(NVSG_NORMAL, 3, NVSG_FLOAT, normals, 0, count);
00930     setEnabled(NVSG_NORMAL, true); // initially enabled!
00931   }
00932
00933   inline void VertexAttributeSet::setNormals(unsigned int pos, const nvmath::Vec3f * normals, unsigned int count)
00934   {
00935     NVSG_TRACE();
00936     setVertexData(NVSG_NORMAL, pos, 3, NVSG_FLOAT, normals, 0, count);
00937     setEnabled(NVSG_NORMAL, true); // initially enabled!
00938   }
00939
00940   inline Buffer::ConstIterator<nvmath::Vec3f>::Type VertexAttributeSet::getNormals() const
00941   {
00942     NVSG_TRACE();
00943
00944     // debug checks on current limitations
00945     NVSG_ASSERT( getSizeOfVertexData(NVSG_NORMAL) == 3 );
00946     NVSG_ASSERT( getTypeOfVertexData(NVSG_NORMAL) == NVSG_FLOAT );
00947
00948     return getVertexData<nvmath::Vec3f>(NVSG_NORMAL);
00949   }
00950
00951   inline unsigned int VertexAttributeSet::getNumberOfNormals() const
00952   {
00953     NVSG_TRACE();
00954     return getNumberOfVertexData(NVSG_NORMAL);
00955   }
00956
00957   template <unsigned int N, typename T>
00958   inline void VertexAttributeSet::setColors(const nvmath::Vecnt<N,T> * colors, unsigned int count)
00959   {
00960     NVSG_TRACE();
00961     setVertexData(NVSG_COLOR, N, Type2EnumType<T>::type, colors, 0, count);
00962     setEnabled(NVSG_COLOR, true); // initially enabled!
00963   }
00964
00965   template <unsigned int N, typename T>
00966   inline void VertexAttributeSet::setColors(unsigned int pos, const nvmath::Vecnt<N,T> * colors, unsigned int count)
00967   {
00968     NVSG_TRACE();
00969     setVertexData(NVSG_COLOR, pos, N, Type2EnumType<T>::type, colors, 0, count);
00970     setEnabled(NVSG_COLOR, true); // initially enabled!
00971   }
00972
00973   template <typename ValueType>
00974   inline typename Buffer::ConstIterator<ValueType>::Type VertexAttributeSet::getColors() const
00975   {
00976     NVSG_TRACE();
00977     return getVertexData<ValueType>(NVSG_COLOR);
00978   }
00979
00980   inline unsigned int VertexAttributeSet::getNumberOfColors() const
00981   {
00982     NVSG_TRACE();
00983     return getNumberOfVertexData(NVSG_COLOR);
00984   }
00985
00986   inline unsigned int VertexAttributeSet::getSizeOfColors() const
00987   {
00988     NVSG_TRACE();
00989     return getSizeOfVertexData(NVSG_COLOR);
00990   }
00991
00992   inline unsigned int VertexAttributeSet::getTypeOfColors() const
00993   {
00994     NVSG_TRACE();
00995     return getTypeOfVertexData(NVSG_COLOR);
00996   }
00997
00998   template <typename T>
00999   inline void VertexAttributeSet::setSecondaryColors(const nvmath::Vecnt<3,T> * colors, unsigned int count)
01000   {
01001     NVSG_TRACE();
01002     setVertexData(NVSG_SECONDARY_COLOR, 3, Type2EnumType<T>::type, colors, 0, count);
01003     setEnabled(NVSG_SECONDARY_COLOR, true); // initially enabled!
01004   }
01005
01006   template <typename T>
01007   inline void VertexAttributeSet::setSecondaryColors(unsigned int pos, const nvmath::Vecnt<3,T> * colors, unsigned int count)
01008   {
01009     NVSG_TRACE();
01010     setVertexData(NVSG_SECONDARY_COLOR, pos, 3, Type2EnumType<T>::type, colors, 0, count);
01011     setEnabled(NVSG_SECONDARY_COLOR, true); // initially enabled!
01012   }
01013
01014   template <typename ValueType>
01015   inline typename Buffer::ConstIterator<ValueType>::Type VertexAttributeSet::getSecondaryColors() const
01016   {
01017     NVSG_TRACE();
01018     return getVertexData<ValueType>(NVSG_SECONDARY_COLOR);
01019   }
01020
01021   inline unsigned int VertexAttributeSet::getNumberOfSecondaryColors() const
01022   {
01023     NVSG_TRACE();
01024     return getNumberOfVertexData(NVSG_SECONDARY_COLOR);
01025   }
01026
01027   inline unsigned int VertexAttributeSet::getTypeOfSecondaryColors() const
01028   {
01029     NVSG_TRACE();
01030     return getTypeOfVertexData(NVSG_SECONDARY_COLOR);
01031   }
01032
01033   template <typename T>
01034   inline void VertexAttributeSet::setFogCoords(const T * coords, unsigned int count)
01035   {
01036     NVSG_TRACE();
01037     setVertexData(NVSG_FOG_COORD, 1, Type2EnumType<T>::type, coords, 0, count);
01038     setEnabled(NVSG_FOG_COORD, true); // initially enabled!
01039   }
01040
01041   template <typename T>
01042   inline void VertexAttributeSet::setFogCoords(unsigned int pos, T * coords, unsigned int count)
01043   {
01044     NVSG_TRACE();
01045     setVertexData(NVSG_FOG_COORD, pos, 1, Type2EnumType<T>::type, coords, 0, count);
01046     setEnabled(NVSG_FOG_COORD, true); // initially enabled!
01047   }
01048
01049   inline Buffer::ConstIterator<float>::Type VertexAttributeSet::getFogCoords() const
01050   {
01051     NVSG_TRACE();
01052     return( ( getSizeOfVertexData(NVSG_FOG_COORD) == 1 ) ? getVertexData<float>(NVSG_FOG_COORD) : Buffer::ConstIterator<float>::Type() );
01053   }
01054
01055   inline unsigned int VertexAttributeSet::getNumberOfFogCoords() const
01056   {
01057     NVSG_TRACE();
01058     return getNumberOfVertexData(NVSG_FOG_COORD);
01059   }
01060
01061   inline unsigned int VertexAttributeSet::getTypeOfFogCoords() const
01062   {
01063     NVSG_TRACE();
01064     return getTypeOfVertexData(NVSG_FOG_COORD);
01065   }
01066
01067   template <unsigned int N, typename T>
01068   inline void VertexAttributeSet::setTexCoords(unsigned int unit, const nvmath::Vecnt<N,T> * coords, unsigned int count)
01069   {
01070     NVSG_TRACE();
01071     NVSG_ASSERT(unit<8);
01072     setVertexData(NVSG_TEXCOORD0+unit, N, Type2EnumType<T>::type, coords, 0, count);
01073     setEnabled(NVSG_TEXCOORD0+unit, true); // initially enabled!
01074   }
01075
01076   template <unsigned int N, typename T>
01077   inline void VertexAttributeSet::setTexCoords(unsigned int unit, unsigned int pos, const nvmath::Vecnt<N,T> * coords, unsigned int count)
01078   {
01079     NVSG_TRACE();
01080     NVSG_ASSERT(unit<8);
01081     setVertexData(NVSG_TEXCOORD0+unit, pos, N, Type2EnumType<T>::type, coords, 0, count);
01082     setEnabled(NVSG_TEXCOORD0+unit, true); // initially enabled!
01083   }
01084
01085   template <typename ValueType>
01086   inline typename Buffer::ConstIterator<ValueType>::Type VertexAttributeSet::getTexCoords(unsigned int unit) const
01087   {
01088     NVSG_TRACE();
01089     NVSG_ASSERT(unit<8);
01090     return getVertexData<ValueType>(NVSG_TEXCOORD0+unit);
01091   }
01092
01093   inline unsigned int VertexAttributeSet::getNumberOfTexCoords(unsigned int unit) const
01094   {
01095     NVSG_TRACE();
01096     NVSG_ASSERT(unit<8);
01097     return getNumberOfVertexData(NVSG_TEXCOORD0+unit);
01098   }
01099
01100   inline unsigned int VertexAttributeSet::getSizeOfTexCoords(unsigned int unit) const
01101   {
01102     NVSG_TRACE();
01103     NVSG_ASSERT(unit<8);
01104     return getSizeOfVertexData(NVSG_TEXCOORD0+unit);
01105   }
01106
01107   inline unsigned int VertexAttributeSet::getTypeOfTexCoords(unsigned int unit) const
01108   {
01109     NVSG_TRACE();
01110     NVSG_ASSERT(unit<8);
01111     return getTypeOfVertexData(NVSG_TEXCOORD0+unit);
01112   }
01113
01114   inline bool genericAttrib(unsigned int attrib)
01115   {
01116     return attrib >= VertexAttributeSet::NVSG_ATTR0;
01117   }
01118
01119   inline unsigned int attribIndex(unsigned int attrib)
01120   {
01121     if ( genericAttrib(attrib) )
01122     {
01123       return attrib - VertexAttributeSet::NVSG_ATTR0;
01124     }
01125     return attrib;
01126   }
01127
01128   inline const VertexAttribute &VertexAttributeSet::getVertexAttribute( int attrib ) const
01129   {
01130     NVSG_TRACE();
01131     NVSG_ASSERT(NVSG_POSITION <= attrib && attrib <= NVSG_ATTR15); // undefined behavior on invalid attrib
01132     return (*m_vattribs)[attribIndex( attrib )];
01133   }
01134
01135   inline void VertexAttributeSet::incrementVertexAttributeSetIncarnation() const
01136   {
01137     NVSG_TRACE();
01138     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
01139     nvutil::AutoLock lock(m_mutableLock); // secure exclusive write access to mutable members!
01140     m_vertexAttributeSetIncarnation++;
01141   }
01142
01143   inline const nvutil::Incarnation & VertexAttributeSet::queryVertexAttributeSetIncarnation() const
01144   {
01145     return( m_vertexAttributeSetIncarnation );
01146   }
01147
01148 } //  namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: ViewState.h File Reference

inc / nvsg / nvsg

ViewState.h File Reference

#include "nvsgcommon.h"
#include "nvsg/nvsg.h"
#include "nvsg/Camera.h"
#include "nvsg/MapList.h"
#include "nvsg/Scene.h"
#include "nvui/RenderTarget.h"
#include "nvutil/BackLinkObserver.h"
#include "nvutil/Reflection.h"

Include dependency graph for ViewState.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvsg

Detailed Description

Generated on Fri Jul 13 13:28:44 2012 for SceniX


SceniX: ViewState.h Source File

inc / nvsg / nvsg

ViewState.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvsgcommon.h"
00016 #include "nvsg/nvsg.h"
00017 #include "nvsg/Camera.h"
00018 #include "nvsg/MapList.h"
00019 #include "nvsg/Scene.h"
00020 #include "nvui/RenderTarget.h"
00021 #include "nvutil/BackLinkObserver.h"
00022 #include "nvutil/Reflection.h"
00023
00024 namespace nvsg
00025 {
00038   class ViewState : public nvutil::HandledObject
00039   {
00040     public:
00041       NVSG_API static ViewStateSharedPtr create();
00042
00043     public:
00046       NVSG_API ViewState& operator=( const ViewState& rhs );
00047
00052       NVSG_API bool isAnimating() const;
00053
00059       NVSG_API void setAnimating( bool animating );
00060
00067       NVSG_API bool advanceAnimation( unsigned int tick, int delta = 1 );
00068
00074       NVSG_API unsigned int getCurrentTick() const;
00075
00080       NVSG_API int getCurrentDelta() const;
00081
00086       NVSG_API void setCamera(const CameraSharedPtr & camera);
00087
00091       NVSG_API void setRendererOptions(const nvui::RendererOptionsSharedPtr &rendererOptions);
00092
00096       NVSG_API const nvui::RendererOptionsSharedPtr &getRendererOptions( ) const;
00097
00102       NVSG_API const CameraSharedPtr & getCamera() const;
00103
00108       NVSG_API float getTargetDistance() const;
00109
00114       NVSG_API void setTargetDistance(float dist);
00115
00123       NVSG_API bool isStereoAutomaticEyeDistanceAdjustment() const;
00124
00131       NVSG_API void setStereoAutomaticEyeDistanceAdjustment(bool state);
00132
00140       NVSG_API float getStereoAutomaticEyeDistanceFactor() const;
00141
00152       NVSG_API void setStereoAutomaticEyeDistanceFactor(float factor);
00153
00164       NVSG_API float getStereoEyeDistance() const;
00165
00172       NVSG_API void setStereoEyeDistance(float distance);
00173
00178       NVSG_API void setStereoReversedEyes( bool state );
00179
00185       NVSG_API bool isStereoReversedEyes() const;
00186
00196       NVSG_API void setLODRangeScale(float factor);
00197
00199
00208       NVSG_API float getLODRangeScale() const;
00209
00218       NVSG_API const MapListSharedPtr & getMapList() const;
00219
00227       NVSG_API void setMapList( const MapListSharedPtr & ml );
00228
00238       NVSG_API void setTraversalMask( unsigned int mask );
00239
00243       NVSG_API unsigned int getTraversalMask() const;
00244
00248       NVSG_API const SceneSharedPtr & getScene() const;
00249
00253       NVSG_API void setScene( const SceneSharedPtr & scene );
00254
00258       NVSG_API bool getAutoClipPlanes() const;
00259
00267       NVSG_API void setAutoClipPlanes( bool enable );
00268
00275       NVSG_API const nvutil::Incarnation& getIncarnation() const;
00276
00277     // reflected properties
00278     public:
00279       REFLECTION_INFO_API( NVSG_API, ViewState );
00280       BEGIN_DECLARE_STATIC_PROPERTIES
00281           NVSG_API DECLARE_STATIC_PROPERTY( AutoClipPlanes );
00282           NVSG_API DECLARE_STATIC_PROPERTY( TargetDistance );
00283           NVSG_API DECLARE_STATIC_PROPERTY( StereoAutomaticEyeDistanceFactor );
00284           NVSG_API DECLARE_STATIC_PROPERTY( StereoEyeDistance );
00285           NVSG_API DECLARE_STATIC_PROPERTY( LODRangeScale );
00286           NVSG_API DECLARE_STATIC_PROPERTY( TraversalMask );
00287       END_DECLARE_STATIC_PROPERTIES
00288
00289     protected:
00290       friend struct nvutil::Holder<ViewState>;
00291
00299       NVSG_API ViewState();
00300
00303       NVSG_API ViewState( const ViewState& rhs );
00304
00306       NVSG_API virtual ~ViewState();
00307
00308     private:
00309       bool                           m_autoClipPlanes;
00310       CameraSharedPtr                m_camera;
00311       int                            m_currentDelta;
00312       unsigned int                   m_currentTick;
00313       nvui::RendererOptionsSharedPtr m_rendererOptions;
00314       unsigned int                   m_traversalMask;
00315
00316       float                         m_targetDistance;
00317       bool                          m_stereoAutomaticEyeDistanceAdjustment;
00318       float                         m_stereoAutomaticEyeDistanceFactor;
00319       float                         m_stereoEyeDistance;
00320       bool                          m_reversedEyes;
00321       float                         m_scaleLODRange;
00322       // the animation state might be modified by concurrently executing threads,
00323       // declare it as volatile for this reason
00324       volatile bool                 m_animating;
00325
00326       MapListSharedPtr  m_mapList;
00327
00328       nvui::SmartRenderTarget m_renderTarget;
00329       nvsg::SceneSharedPtr    m_scene;
00330
00331       nvutil::SWMRSync            m_lock;
00332       mutable nvutil::Incarnation m_incarnation;  // will be incremented on edits
00333       mutable nvutil::Incarnation m_acpCameraIncarnation;             // needed to check for changes in getCamera()
00334       mutable bool                m_acpCameraIncarnationValid;
00335       mutable nvutil::Incarnation m_acpRootBoundingVolumeIncarnation; // needed to check for changes in getCamera()
00336       mutable bool                m_acpRootBoundingVolumeIncarnationValid;
00337
00338       nvutil::BackLinkObserverSharedPtr m_cameraObserver;
00339       nvutil::Subject::SmartPayload     m_payload;
00340   };
00341
00342
00343   inline bool ViewState::isAnimating() const
00344   {
00345     NVSG_TRACE();
00346     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00347     return( m_animating );
00348   }
00349
00350   inline void ViewState::setAnimating( bool animating )
00351   {
00352     NVSG_TRACE();
00353     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00354     if ( m_animating != animating )
00355     {
00356       m_animating = animating;
00357       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00358       ++m_incarnation;
00359     }
00360   }
00361
00362   inline unsigned int ViewState::getCurrentTick() const
00363   {
00364     NVSG_TRACE();
00365     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00366     return( m_currentTick );
00367   }
00368
00369   inline int ViewState::getCurrentDelta() const
00370   {
00371     NVSG_TRACE();
00372     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00373     return( m_currentDelta );
00374   }
00375
00376   inline float ViewState::getTargetDistance() const
00377   {
00378     NVSG_TRACE();
00379     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00380     return( m_targetDistance );
00381   }
00382
00383   inline void ViewState::setTargetDistance( float dist )
00384   {
00385     NVSG_TRACE();
00386     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00387     if ( dist != m_targetDistance )
00388     {
00389       m_targetDistance = dist;
00390       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00391       ++m_incarnation;
00392       notify( PID_TargetDistance );
00393     }
00394   }
00395
00396   inline bool ViewState::isStereoAutomaticEyeDistanceAdjustment() const
00397   {
00398     NVSG_TRACE();
00399     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00400     return( m_stereoAutomaticEyeDistanceAdjustment );
00401   }
00402
00403   inline void ViewState::setStereoAutomaticEyeDistanceAdjustment( bool state )
00404   {
00405     NVSG_TRACE();
00406     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00407     if ( m_stereoAutomaticEyeDistanceAdjustment != state )
00408     {
00409       m_stereoAutomaticEyeDistanceAdjustment = state;
00410       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00411       ++m_incarnation;
00412     }
00413   }
00414
00415   inline float ViewState::getStereoAutomaticEyeDistanceFactor() const
00416   {
00417     NVSG_TRACE();
00418     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00419     return( m_stereoAutomaticEyeDistanceFactor );
00420   }
00421
00422   inline void ViewState::setStereoAutomaticEyeDistanceFactor( float factor )
00423   {
00424     NVSG_TRACE();
00425     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00426     if ( factor != m_stereoAutomaticEyeDistanceFactor )
00427     {
00428       m_stereoAutomaticEyeDistanceFactor = factor;
00429       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00430       ++m_incarnation;
00431       notify( PID_StereoAutomaticEyeDistanceFactor );
00432     }
00433   }
00434
00435   inline float ViewState::getStereoEyeDistance() const
00436   {
00437     NVSG_TRACE();
00438     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00439     if ( m_stereoAutomaticEyeDistanceAdjustment && m_camera )
00440     {
00441       CameraReadLock camera(m_camera);
00442       return(m_stereoAutomaticEyeDistanceFactor * camera->getFocusDistance());
00443     }
00444     else
00445     {
00446       return(m_stereoEyeDistance);
00447     }
00448   }
00449
00450   inline void ViewState::setStereoEyeDistance( float distance )
00451   {
00452     NVSG_TRACE();
00453     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00454     if ( distance != m_stereoEyeDistance )
00455     {
00456       m_stereoEyeDistance = distance;
00457       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00458       ++m_incarnation;
00459       notify( PID_StereoEyeDistance );
00460     }
00461   }
00462
00463   inline void ViewState::setStereoReversedEyes( bool state )
00464   {
00465     NVSG_TRACE();
00466     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00467     if ( m_reversedEyes != state )
00468     {
00469       m_reversedEyes = state;
00470       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00471       ++m_incarnation;
00472     }
00473   }
00474
00475   inline bool ViewState::isStereoReversedEyes() const
00476   {
00477     NVSG_TRACE();
00478     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00479     return( m_reversedEyes );
00480   }
00481
00482   inline void ViewState::setLODRangeScale(float factor)
00483   {
00484     NVSG_TRACE();
00485     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00486     if ( factor != m_scaleLODRange )
00487     {
00488       m_scaleLODRange = factor;
00489       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00490       ++m_incarnation;
00491       notify( PID_LODRangeScale );
00492     }
00493   }
00494
00495   inline float ViewState::getLODRangeScale() const
00496   {
00497     NVSG_TRACE();
00498     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00499     return m_scaleLODRange;
00500   }
00501
00502   inline const MapListSharedPtr & ViewState::getMapList() const
00503   {
00504     NVSG_TRACE();
00505     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00506     return( m_mapList );
00507   }
00508
00509   inline void ViewState::setMapList( const MapListSharedPtr & ml )
00510   {
00511     NVSG_TRACE();
00512     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00513     if ( m_mapList != ml )
00514     {
00515       m_mapList = ml;
00516       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00517       ++m_incarnation;
00518     }
00519   }
00520
00521   inline unsigned int ViewState::getTraversalMask() const
00522   {
00523     NVSG_TRACE();
00524     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00525     return( m_traversalMask );
00526   }
00527
00528   inline void ViewState::setTraversalMask( unsigned int mask )
00529   {
00530     NVSG_TRACE();
00531     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00532     if ( m_traversalMask != mask )
00533     {
00534       m_traversalMask = mask;
00535       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00536       ++m_incarnation;
00537       notify( PID_TraversalMask );
00538     }
00539   }
00540
00541   inline bool ViewState::getAutoClipPlanes() const
00542   {
00543     NVSG_TRACE();
00544     NVSG_ASSERT_OBJECT_READ_LOCKED(this);
00545     return( m_autoClipPlanes );
00546   }
00547
00548   inline void ViewState::setAutoClipPlanes( bool enable )
00549   {
00550     NVSG_TRACE();
00551     NVSG_ASSERT_OBJECT_WRITE_LOCKED(this);
00552     if ( enable != m_autoClipPlanes )
00553     {
00554       m_autoClipPlanes = enable;
00555       nvutil::AutoLock lock(m_lock);    // lock mutable m_incarnation
00556       ++m_incarnation;
00557       notify( PID_AutoClipPlanes );
00558     }
00559   }
00560
00561 } // namespace
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: VRMLTypes.h File Reference

src / Loader / WRLLoader

VRMLTypes.h File Reference

#include "nvmath/Quatt.h"
#include "nvmath/Vecnt.h"
#include "nvsg/Object.h"

Include dependency graph for VRMLTypes.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace | nvsg
namespace | vrml

Detailed Description

Generated on Fri Jul 13 13:28:44 2012 for SceniX


SceniX: VRMLTypes.h Source File

src / Loader / WRLLoader

VRMLTypes.h

Go to the documentation of this file.
00001  // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include "nvmath/Quatt.h"
00016 #include "nvmath/Vecnt.h"
00017 #include "nvsg/Object.h"
00018
00019 namespace nvsg
00020 {
00021   class Billboard;
00022   class DirectedLight;
00023   class GeoNode;
00024   class Group;
00025   class LOD;
00026   class Material;
00027   class Node;
00028   class PointLight;
00029   class SpotLight;
00030   class StateSet;
00031   class Switch;
00032   class TextureAttribute;
00033   class Transform;
00034 }
00035
00036 namespace vrml
00037 {
00038
00039   //  it's not neccessary to document all these helper classes !
00040 #if ! defined( DOXYGEN_IGNORE )
00041
00042   class Object : public nvutil::RCObject
00043   {
00044     public:
00045       virtual ~Object() {}
00046       virtual const std::string & getType() const;
00047       const std::string& getName() const { return name; }
00048       void setName(const std::string& n) { name = n; }
00049     private:
00050       std::string name;
00051   };
00052
00053   template<typename T>
00054   inline bool isTypeOf( Object *p )
00055   {
00056     return( dynamic_cast<T *>( p ) != NULL );
00057   }
00058
00059   typedef bool                            SFBool;
00060   typedef nvmath::Vec3f                   SFColor;
00061   typedef std::vector<SFColor>            MFColor;
00062   typedef float                           SFFloat;
00063   typedef std::vector<SFFloat>            MFFloat;
00064   typedef char                            SFInt8;
00065   typedef int                             SFInt32;
00066   typedef std::vector<SFInt32>            MFInt32;
00067   typedef nvutil::SmartPtr<vrml::Object>  SFNode;
00068   typedef std::vector<SFNode>             MFNode;
00069   typedef std::string                     SFString;
00070   typedef std::vector<SFString>           MFString;
00071   typedef double                          SFTime;
00072   typedef std::vector<SFTime>             MFTime;
00073   typedef nvmath::Vec2f                   SFVec2f;
00074   typedef std::vector<SFVec2f>            MFVec2f;
00075   typedef nvmath::Vec3f                   SFVec3f;
00076   typedef std::vector<SFVec3f>            MFVec3f;
00077
00078   class SFImage
00079   {
00080     public:
00081       SFImage();
00082       ~SFImage();
00083
00084     public:
00085       SFInt32   width;
00086       SFInt32   height;
00087       SFInt32   numComponents;
00088       SFInt8  * pixelsValues;
00089   };
00090
00091   class SFRotation : public nvmath::Vec4f
00092   {
00093     public:
00094       SFRotation()  {}
00095       SFRotation( const SFVec3f &axis, SFFloat angle );
00096       SFRotation( const nvmath::Vec4f &v )
00097         : nvmath::Vec4f( v )
00098       {
00099       }
00100   };
00101   typedef std::vector<SFRotation>  MFRotation;
00102
00103   inline SFRotation lerp( float alpha, const SFRotation &r0, const SFRotation &r1 )
00104   {
00105     nvmath::Quatf q0(nvmath::Vec3f(r0[0],r0[1],r0[2]),r0[3]);
00106     nvmath::Quatf q1(nvmath::Vec3f(r1[0],r1[1],r1[2]),r1[3]);
00107     nvmath::Quatf q = nvmath::lerp( alpha, q0, q1 );
00108     nvmath::Vec3f axis;
00109     float angle;
00110     decompose( q, axis, angle );
00111     return( SFRotation( axis, angle ) );
00112   }
00113
00114
00115   class Geometry : public Object
00116   {
00117     public:
00118       virtual ~Geometry() {}
00119       virtual const std::string & getType( void ) const;
00120   };
00121
00122   class Group : public Object
00123   {
00124     public:
00125       Group();
00126       virtual ~Group();
00127       virtual const std::string & getType( void ) const;
00128
00129     public:
00130       SFVec3f bboxCenter;
00131       SFVec3f bboxSize;
00132       MFNode  children;
00133
00134       nvsg::GroupSharedPtr  pGroup;
00135   };
00136
00137   class Sensor : public Object
00138   {
00139     public:
00140       Sensor();
00141       virtual ~Sensor()  {}
00142       virtual const std::string & getType( void ) const;
00143
00144     public:
00145       SFBool  enabled;
00146   };
00147
00148   class TimeSensor : public Sensor
00149   {
00150     public:
00151       TimeSensor();
00152       virtual ~TimeSensor()  {}
00153       virtual const std::string & getType( void ) const;
00154
00155     public:
00156       SFTime  cycleInterval;
00157       SFBool  loop;
00158       SFTime  startTime;
00159       SFTime  stopTime;
00160   };
00161
00162   class Interpolator : public Object
00163   {
00164     public:
00165       Interpolator();
00166       virtual ~Interpolator();
00167       virtual const std::string & getType( void ) const;
00168
00169     public:
00170       MFFloat                       key;
00171       bool                          interpreted;
00172       nvutil::SmartPtr<TimeSensor>  set_fraction;
00173       std::vector<unsigned int>     steps;
00174   };
00175
00176   class Light : public Object
00177   {
00178     public:
00179       Light();
00180       virtual ~Light()  {}
00181       virtual const std::string & getType( void ) const;
00182
00183     public:
00184       SFFloat ambientIntensity;
00185       SFColor color;
00186       SFFloat intensity;
00187       SFBool  on;
00188   };
00189
00190   class Texture : public Object
00191   {
00192     public:
00193       Texture();
00194       virtual ~Texture()  {}
00195       virtual const std::string & getType( void ) const;
00196
00197     public:
00198       SFBool  repeatS;
00199       SFBool  repeatT;
00200   };
00201
00202   class Anchor : public Group
00203   {
00204     public:
00205       virtual ~Anchor() {}
00206       virtual const std::string & getType( void ) const;
00207
00208     public:
00209       SFString  description;
00210       MFString  parameter;
00211       MFString  url;
00212   };
00213
00214   class Appearance : public Object
00215   {
00216     public:
00217       Appearance();
00218       virtual ~Appearance();
00219       virtual const std::string & getType( void ) const;
00220
00221     public:
00222       SFNode  material;
00223       SFNode  texture;
00224       SFNode  textureTransform;
00225
00226       nvsg::StateSetSharedPtr pStateSet;
00227   };
00228
00229   class AudioClip : public Object
00230   {
00231     public:
00232       AudioClip();
00233       virtual ~AudioClip()  {}
00234       virtual const std::string & getType( void ) const;
00235
00236     public:
00237       SFString  description;
00238       SFBool    loop;
00239       SFFloat   pitch;
00240       SFTime    startTime;
00241       SFTime    stopTime;
00242       MFString  url;
00243   };
00244
00245   class Background : public Object
00246   {
00247     public:
00248       Background();
00249       virtual ~Background() {}
00250       virtual const std::string & getType( void ) const;
00251
00252     public:
00253       MFFloat   groundAngle;
00254       MFColor   groundColor;
00255       MFString  backUrl;
00256       MFString  bottomUrl;
00257       MFString  frontUrl;
00258       MFString  leftUrl;
00259       MFString  rightUrl;
00260       MFString  topUrl;
00261       MFFloat   skyAngle;
00262       MFColor   skyColor;
00263   };
00264
00265   class Billboard : public Group
00266   {
00267     public:
00268       Billboard();
00269       virtual ~Billboard();
00270       virtual const std::string & getType( void ) const;
00271
00272     public:
00273       SFVec3f axisOfRotation;
00274
00275       nvsg::BillboardSharedPtr  pBillboard;
00276   };
00277
00278   class Box : public Geometry
00279   {
00280     public:
00281       Box();
00282       virtual ~Box();
00283       virtual const std::string & getType( void ) const;
00284
00285     public:
00286       SFVec3f size;
00287
00288       nvsg::PrimitiveSharedPtr pTriangles;
00289       nvsg::PrimitiveSharedPtr pQuads;
00290   };
00291
00292   class Collision : public Group
00293   {
00294     public:
00295       Collision();
00296       virtual ~Collision();
00297       virtual const std::string & getType( void ) const;
00298
00299     public:
00300       SFBool  collide;
00301       SFNode  proxy;
00302   };
00303
00304   class ColorInterpolator : public Interpolator
00305   {
00306     public:
00307       virtual ~ColorInterpolator()  {}
00308       virtual const std::string & getType( void ) const;
00309
00310     public:
00311       MFColor keyValue;
00312   };
00313
00314   class Color : public Object
00315   {
00316     public:
00317       Color();
00318       virtual ~Color() {}
00319       virtual const std::string & getType( void ) const;
00320
00321     public:
00322       MFColor                             color;
00323       bool                                interpreted;
00324       nvutil::SmartPtr<ColorInterpolator> set_color;
00325   };
00326
00327   class Cone : public Geometry
00328   {
00329     public:
00330       Cone();
00331       virtual ~Cone() {}
00332       virtual const std::string & getType( void ) const;
00333
00334     public:
00335       SFBool  bottom;
00336       SFFloat bottomRadius;
00337       SFFloat height;
00338       SFBool  side;
00339
00340       nvsg::PrimitiveSharedPtr pTriangles;
00341       nvsg::PrimitiveSharedPtr pQuads;
00342   };
00343
00344   class CoordinateInterpolator : public Interpolator
00345   {
00346     public:
00347       virtual ~CoordinateInterpolator()  {}
00348       virtual const std::string & getType( void ) const;
00349
00350     public:
00351       MFVec3f keyValue;
00352   };
00353
00354   class Coordinate : public Object
00355   {
00356     public:
00357       Coordinate();
00358       virtual ~Coordinate();
00359       virtual const std::string & getType( void ) const;
00360
00361     public:
00362       MFVec3f                                   point;
00363       bool                                      interpreted;
00364       nvutil::SmartPtr<CoordinateInterpolator>  set_point;
00365   };
00366
00367   class Cylinder : public Geometry
00368   {
00369     public:
00370       Cylinder();
00371       virtual ~Cylinder() {}
00372       virtual const std::string & getType( void ) const;
00373
00374     public:
00375       SFBool  bottom;
00376       SFFloat height;
00377       SFFloat radius;
00378       SFBool  side;
00379       SFBool  top;
00380
00381       nvsg::PrimitiveSharedPtr pTriangles;
00382       nvsg::PrimitiveSharedPtr pQuads;
00383   };
00384
00385   class CylinderSensor : public Sensor
00386   {
00387     public:
00388       CylinderSensor();
00389       virtual ~CylinderSensor()  {}
00390       virtual const std::string & getType( void ) const;
00391
00392     public:
00393       SFBool  autoOffset;
00394       SFFloat diskAngle;
00395       SFFloat maxAngle;
00396       SFFloat minAngle;
00397       SFFloat offset;
00398   };
00399
00400   class DirectionalLight : public Light
00401   {
00402     public:
00403       DirectionalLight();
00404       virtual ~DirectionalLight();
00405       virtual const std::string & getType( void ) const;
00406
00407     public:
00408       SFVec3f direction;
00409
00410       nvsg::DirectedLightSharedPtr  pDirectedLight;
00411   };
00412
00413   class ElevationGrid : public Geometry
00414   {
00415     public:
00416       ElevationGrid();
00417       virtual ~ElevationGrid();
00418       virtual const std::string & getType( void ) const;
00419
00420     public:
00421       SFNode  color;
00422       SFNode  normal;
00423       SFNode  texCoord;
00424       MFFloat height;
00425       SFBool  ccw;
00426       SFBool  colorPerVertex;
00427       SFFloat creaseAngle;
00428       SFBool  normalPerVertex;
00429       SFBool  solid;
00430       SFInt32 xDimension;
00431       SFFloat xSpacing;
00432       SFInt32 zDimension;
00433       SFFloat zSpacing;
00434
00435       nvsg::PrimitiveSharedPtr pTriangles;
00436       nvsg::PrimitiveSharedPtr pQuads;
00437   };
00438
00439   class Extrusion : public Geometry
00440   {
00441     public:
00442       Extrusion();
00443       virtual ~Extrusion()  {}
00444       virtual const std::string & getType( void ) const;
00445
00446     public:
00447       SFBool      beginCap;
00448       SFBool      ccw;
00449       SFBool      convex;
00450       SFFloat     creaseAngle;
00451       MFVec2f     crossSection;
00452       SFBool      endCap;
00453       MFRotation  orientation;
00454       MFVec2f     scale;
00455       SFBool      solid;
00456       MFVec3f     spine;
00457   };
00458
00459   class Fog : public Object
00460   {
00461     public:
00462       Fog();
00463       virtual ~Fog()  {}
00464       virtual const std::string & getType( void ) const;
00465
00466     public:
00467       SFColor   color;
00468       SFString  fogType;
00469       SFFloat   visibilityRange;
00470   };
00471
00472   class FontStyle : public Object
00473   {
00474     public:
00475       FontStyle();
00476       virtual ~FontStyle()  {}
00477       virtual const std::string & getType( void ) const;
00478
00479     public:
00480       MFString  family;
00481       SFBool    horizontal;
00482       MFString  justify;
00483       SFString  language;
00484       SFBool    leftToRight;
00485       SFFloat   size;
00486       SFFloat   spacing;
00487       SFString  style;
00488       SFBool    topToBottom;
00489   };
00490
00491   class ImageTexture : public Texture
00492   {
00493     public:
00494       ImageTexture();
00495       virtual ~ImageTexture();
00496       virtual const std::string & getType( void ) const;
00497
00498     public:
00499       MFString  url;
00500
00501       nvsg::TextureAttributeSharedPtr pTextureAttribute;
00502   };
00503
00504   class IndexedFaceSet : public Geometry
00505   {
00506     public:
00507       IndexedFaceSet();
00508       virtual ~IndexedFaceSet();
00509       virtual const std::string & getType( void ) const;
00510
00511     public:
00512       SFNode  color;
00513       SFNode  coord;
00514       SFNode  normal;
00515       SFNode  texCoord;
00516       SFBool  ccw;
00517       MFInt32 colorIndex;
00518       SFBool  colorPerVertex;
00519       SFBool  convex;
00520       MFInt32 coordIndex;
00521       SFFloat creaseAngle;
00522       MFInt32 normalIndex;
00523       SFBool  normalPerVertex;
00524       SFBool  solid;
00525       MFInt32 texCoordIndex;
00526
00527       nvsg::PrimitiveSharedPtr pTriangles;
00528       nvsg::PrimitiveSharedPtr pQuads;
00529       nvsg::PrimitiveSharedPtr pPolygons;
00530   };
00531
00532   class IndexedLineSet : public Geometry
00533   {
00534     public:
00535       IndexedLineSet();
00536       virtual ~IndexedLineSet();
00537       virtual const std::string & getType( void ) const;
00538
00539     public:
00540       SFNode  color;
00541       SFNode  coord;
00542       MFInt32 colorIndex;
00543       SFBool  colorPerVertex;
00544       MFInt32 coordIndex;
00545
00546       nvsg::PrimitiveSharedPtr  pLineStrips;
00547   };
00548
00549   class Inline : public Object
00550   {
00551     public:
00552       Inline();
00553       virtual ~Inline();
00554       virtual const std::string & getType( void ) const;
00555
00556     public:
00557       MFString  url;
00558       SFVec3f   bboxCenter;
00559       SFVec3f   bboxSize;
00560
00561       nvsg::NodeSharedPtr pNode;
00562   };
00563
00564   class LOD : public Group
00565   {
00566     public:
00567       LOD();
00568       virtual ~LOD();
00569       virtual const std::string & getType( void ) const;
00570
00571     public:
00572       SFVec3f center;
00573       MFFloat range;
00574
00575       nvsg::LODSharedPtr  pLOD;
00576   };
00577
00578   class Material : public Object
00579   {
00580     public:
00581       Material();
00582       virtual ~Material();
00583       virtual const std::string & getType( void ) const;
00584
00585     public:
00586       SFFloat ambientIntensity;
00587       SFColor diffuseColor;
00588       SFColor emissiveColor;
00589       SFFloat shininess;
00590       SFColor specularColor;
00591       SFFloat transparency;
00592
00593       nvsg::MaterialSharedPtr pMaterial;
00594   };
00595
00596   class MovieTexture : public Texture
00597   {
00598     public:
00599       MovieTexture();
00600       virtual ~MovieTexture()  {}
00601       virtual const std::string & getType( void ) const;
00602
00603     public:
00604       SFBool    loop;
00605       SFFloat   speed;
00606       SFTime    startTime;
00607       SFTime    stopTime;
00608       MFString  url;
00609   };
00610
00611   class NavigationInfo : public Object
00612   {
00613     public:
00614       NavigationInfo();
00615       virtual ~NavigationInfo() {}
00616       virtual const std::string & getType( void ) const;
00617
00618     public:
00619       MFFloat   avatarSize;
00620       SFBool    headlight;
00621       SFFloat   speed;
00622       MFString  type;
00623       SFFloat   visibilityLimit;
00624   };
00625
00626   class NormalInterpolator : public Interpolator
00627   {
00628     public:
00629       virtual ~NormalInterpolator()  {}
00630       virtual const std::string & getType( void ) const;
00631
00632     public:
00633       MFVec3f keyValue;
00634   };
00635
00636   class Normal : public Object
00637   {
00638     public:
00639       Normal();
00640       virtual ~Normal();
00641       virtual const std::string & getType( void ) const;
00642
00643     public:
00644       MFVec3f                               vector;
00645       bool                                  interpreted;
00646       nvutil::SmartPtr<NormalInterpolator>  set_vector;
00647   };
00648
00649   class OrientationInterpolator : public Interpolator
00650   {
00651     public:
00652       virtual ~OrientationInterpolator()  {}
00653       virtual const std::string & getType( void ) const;
00654
00655     public:
00656       MFRotation  keyValue;
00657
00658       std::vector<nvmath::Quatf> keyValueQuatf;
00659   };
00660
00661   class PixelTexture : public Texture
00662   {
00663     public:
00664       PixelTexture();
00665       virtual ~PixelTexture()  {}
00666       virtual const std::string & getType( void ) const;
00667
00668     public:
00669       SFImage image;
00670   };
00671
00672   class PlaneSensor : public Sensor
00673   {
00674     public:
00675       PlaneSensor();
00676       virtual ~PlaneSensor()  {}
00677       virtual const std::string & getType( void ) const;
00678
00679     public:
00680       SFBool  autoOffset;
00681       SFVec2f maxPosition;
00682       SFVec2f minPosition;
00683       SFVec3f offset;
00684   };
00685
00686   class PointLight : public Light
00687   {
00688     public:
00689       PointLight();
00690       virtual ~PointLight();
00691       virtual const std::string & getType( void ) const;
00692
00693     public:
00694       SFVec3f attenuation;
00695       SFVec3f location;
00696       SFFloat radius;
00697
00698       nvsg::PointLightSharedPtr pPointLight;
00699   };
00700
00701   class PointSet : public Geometry
00702   {
00703     public:
00704       PointSet();
00705       virtual ~PointSet();
00706       virtual const std::string & getType( void ) const;
00707
00708     public:
00709       SFNode  color;
00710       SFNode  coord;
00711
00712       nvsg::PrimitiveSharedPtr  pPoints;
00713   };
00714
00715   class PositionInterpolator : public Interpolator
00716   {
00717     public:
00718       virtual ~PositionInterpolator()  {}
00719       virtual const std::string & getType( void ) const;
00720
00721     public:
00722       MFVec3f keyValue;
00723   };
00724
00725   class ProximitySensor : public Sensor
00726   {
00727     public:
00728       ProximitySensor();
00729       virtual ~ProximitySensor()  {}
00730       virtual const std::string & getType( void ) const;
00731
00732     public:
00733       SFVec3f center;
00734       SFVec3f size;
00735   };
00736
00737   class ScalarInterpolator : public Interpolator
00738   {
00739     public:
00740       virtual ~ScalarInterpolator()  {}
00741       virtual const std::string & getType( void ) const;
00742
00743     public:
00744       MFFloat keyValue;
00745   };
00746
00747   class Script : public Object
00748   {
00749     public:
00750       Script();
00751       virtual ~Script() {}
00752       virtual const std::string & getType( void ) const;
00753
00754     public:
00755       MFString  url;
00756       SFBool    directOutput;
00757       SFBool    mustEvaluate;
00758   };
00759
00760   class Shape : public Object
00761   {
00762     public:
00763       Shape();
00764       virtual ~Shape();
00765       virtual const std::string & getType( void ) const;
00766
00767     public:
00768       SFNode  appearance;
00769       SFNode  geometry;
00770
00771       nvsg::GeoNodeSharedPtr  pGeoNode;
00772   };
00773
00774   class Sound : public Object
00775   {
00776     public:
00777       Sound();
00778       virtual ~Sound();
00779       virtual const std::string & getType( void ) const;
00780
00781     public:
00782       SFVec3f direction;
00783       SFFloat intensity;
00784       SFVec3f location;
00785       SFFloat maxBack;
00786       SFFloat maxFront;
00787       SFFloat minBack;
00788       SFFloat minFront;
00789       SFFloat priority;
00790       SFNode  source;
00791       SFBool  spatialize;
00792   };
00793
00794   class Sphere : public Geometry
00795   {
00796     public:
00797       Sphere();
00798       virtual ~Sphere() {}
00799       virtual const std::string & getType( void ) const;
00800
00801     public:
00802       SFFloat radius;
00803
00804       nvsg::PrimitiveSharedPtr pTriangles;
00805       nvsg::PrimitiveSharedPtr pQuads;
00806   };
00807
00808   class SphereSensor : public Sensor
00809   {
00810     public:
00811       SphereSensor();
00812       virtual ~SphereSensor()  {}
00813       virtual const std::string & getType( void ) const;
00814
00815     public:
00816       SFBool      autoOffset;
00817       SFRotation  offset;
00818   };
00819
00820   class SpotLight : public Light
00821   {
00822     public:
00823       SpotLight();
00824       virtual ~SpotLight();
00825       virtual const std::string & getType( void ) const;
00826
00827     public:
00828       SFVec3f attenuation;
00829       SFFloat beamWidth;
00830       SFFloat cutOffAngle;
00831       SFVec3f direction;
00832       SFVec3f location;
00833       SFFloat radius;
00834
00835       nvsg::SpotLightSharedPtr  pSpotLight;
00836   };
00837
00838   class Switch : public Group
00839   {
00840     public:
00841       Switch();
00842       virtual ~Switch();
00843       virtual const std::string & getType( void ) const;
00844
00845     public:
00846       SFInt32 whichChoice;
00847
00848       nvsg::SwitchSharedPtr pSwitch;
00849   };
00850
00851   class Text : public Geometry
00852   {
00853     public:
00854       Text();
00855       virtual ~Text();
00856       virtual const std::string & getType( void ) const;
00857
00858     public:
00859       MFString  string;
00860       SFNode    fontStyle;
00861       MFFloat   length;
00862       SFFloat   maxExtent;
00863   };
00864
00865   class TextureCoordinate : public Object
00866   {
00867     public:
00868       virtual ~TextureCoordinate()  {}
00869       virtual const std::string & getType( void ) const;
00870
00871     public:
00872       MFVec2f point;
00873   };
00874
00875   class TextureTransform : public Object
00876   {
00877     public:
00878       TextureTransform();
00879       virtual ~TextureTransform()  {}
00880       virtual const std::string & getType( void ) const;
00881
00882     public:
00883       SFVec2f center;
00884       SFFloat rotation;
00885       SFVec2f scale;
00886       SFVec2f translation;
00887   };
00888
00889   class TouchSensor : public Sensor
00890   {
00891     public:
00892       virtual ~TouchSensor()  {}
00893       virtual const std::string & getType( void ) const;
00894   };
00895
00896   class Transform : public Group
00897   {
00898     public:
00899       Transform();
00900       virtual ~Transform();
00901       virtual const std::string & getType( void ) const;
00902
00903     public:
00904       SFVec3f     center;
00905       SFRotation  rotation;
00906       SFVec3f     scale;
00907       SFRotation  scaleOrientation;
00908       SFVec3f     translation;
00909
00910       nvutil::SmartPtr<PositionInterpolator>    set_center;
00911       nvutil::SmartPtr<OrientationInterpolator> set_rotation;
00912       nvutil::SmartPtr<PositionInterpolator>    set_scale;
00913       nvutil::SmartPtr<PositionInterpolator>    set_translation;
00914
00915       nvsg::TransformSharedPtr  pTransform;
00916   };
00917
00918   class Viewpoint : public Object
00919   {
00920     public:
00921       Viewpoint();
00922       virtual ~Viewpoint();
00923       virtual const std::string & getType( void ) const;
00924
00925     public:
00926       SFFloat     fieldOfView;
00927       SFBool      jump;
00928       SFRotation  orientation;
00929       SFVec3f     position;
00930       SFString    description;
00931
00932       nvutil::SmartPtr<OrientationInterpolator> set_orientation;
00933       nvutil::SmartPtr<PositionInterpolator>    set_position;
00934   };
00935
00936   class VisibilitySensor : public Sensor
00937   {
00938     public:
00939       VisibilitySensor();
00940       virtual ~VisibilitySensor()  {}
00941       virtual const std::string & getType( void ) const;
00942
00943     public:
00944       SFVec3f center;
00945       SFVec3f size;
00946   };
00947
00948   class WorldInfo : public Object
00949   {
00950     public:
00951       virtual ~WorldInfo()  {}
00952       virtual const std::string & getType( void ) const;
00953
00954     public:
00955       MFString  info;
00956       SFString  title;
00957   };
00958
00959
00960   class ROUTE
00961   {
00962     public:
00963       ROUTE();
00964       ~ROUTE();
00965
00966     public:
00967       SFNode  fromNode;
00968       std::string  fromAction;
00969       SFNode  toNode;
00970       std::string  toAction;
00971   };
00972
00973
00974   template  <typename T>  inline  bool  is( const Object *p )
00975   {
00976     return( dynamic_cast<const T *>( p ) != NULL );
00977   }
00978
00979 #endif  //  DOXYGEN_IGNORE
00980
00981 } //  namespace vrml
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: WritableObject.h File Reference

inc / nvsg / nvutil

WritableObject.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace nvutil

Detailed Description

Generated on Fri Jul 13 13:28:45 2012 for SceniX


SceniX: WritableObject.h Source File

inc / nvsg / nvutil

WritableObject.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00013 #pragma once
00014
00015 namespace nvutil
00016 {
00017   template<typename T>
00018   class WritableObject
00019   {
00020     public:
00021       template <typename U> explicit WritableObject( U * h )
00022       {
00023         NVSG_ASSERT(h);
00024         obj = static_cast<T *>(h->beginEdit());
00025       }
00026
00027       template <typename U> explicit WritableObject( const SmartPtr<U> &h )
00028       {
00029         NVSG_ASSERT(h.get());
00030         obj = static_cast<T *>(h.get()->beginEdit());
00031       }
00032
00033       ~WritableObject()
00034       {
00035         HandledObjectWeakPtr ptr(getWeakPtr<HandledObject>(obj));
00036         ptr->endEdit();
00037       }
00038
00039       // make it behave like a pointer
00040       T * operator->() const
00041       {
00042         return obj;
00043       }
00044
00045       T & operator*() const
00046       {
00047         return *obj;
00048       }
00049
00050       // implicit conversion to T*
00051       operator T *() const
00052       {
00053         return obj;
00054       }
00055
00056     private:
00057       WritableObject(const WritableObject&);            // copying not permitted!
00058       WritableObject& operator=(const WritableObject&); // assigning a WritableObject not permitted!
00059       WritableObject& operator=( const T& rhs );        // assigning an object of type T not permitted!
00060
00061     private:
00062       T * obj;
00063   };
00064
00065 } // namespace nvutil
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: WRLLoader.h File Reference

src / Loader / WRLLoader / inc

WRLLoader.h File Reference

#include <windows.h>
#include <fstream>
#include <set>
#include "nvsg/nvsg.h"
#include "nvsg/PlugInterface.h"
#include "nvtraverser/SmoothTraverser.h"
#include "VRMLTypes.h"

Include dependency graph for WRLLoader.h:

Go to the source code of this file.

Functions

void | lib_init () __attribute__((constructor))
WRLLOADER_API bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.
WRLLOADER_API bool | queryPlugInterfaceType (const nvutil::UPITID &pitid, std::vector< nvutil::UPIID > &piids)
Query the supported types of PlugIn Interfaces.

Detailed Description

Function Documentation

WRLLOADER_API bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) |

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a WRLLoader. If the PlugIn ID piid equals PIID_WRL_SCENE_LOADER, a WRLLoader is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

WRLLOADER_API bool queryPlugInterfaceType | ( | const nvutil::UPITID & | pitid,
 |  | std::vector< nvutil::UPIID > & | piids
 | ) |

Query the supported types of PlugIn Interfaces.

Every PlugIn has to resolve this function. It is used to query the supported Interface types of this PlugIn. If the Plug In Type ID pitid equals PITID_SCENE_LOADER, the vector piids is filled with one element PIID_WRL_SCENE_LOADER.

Returns:
true, if a PITID_SCENE_LOADER is requested, otherwise false

Generated on Fri Jul 13 13:28:45 2012 for SceniX


SceniX: WRLLoader.h Source File

src / Loader / WRLLoader / inc

WRLLoader.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #if defined(_WIN32) || defined(_WIN64)
00016 # define WIN32_LEAN_AND_MEAN    // Exclude rarely-used stuff from Windows headers
00017 # include <windows.h>         // MFC core and standard components
00018 #endif
00019
00020 #include  <fstream>
00021 #include  <set>
00022 #include  "nvsg/nvsg.h"
00023 #include  "nvsg/PlugInterface.h"
00024 #include  "nvtraverser/SmoothTraverser.h"
00025 #include  "VRMLTypes.h"
00026
00027
00028 //  Don't need to document the API specifier
00029 #if ! defined( DOXYGEN_IGNORE ) && defined(_WIN32)
00030 # ifdef WRLLOADER_EXPORTS
00031 # define WRLLOADER_API __declspec(dllexport)
00032 # else
00033 # define WRLLOADER_API __declspec(dllimport)
00034 # endif
00035 #else
00036 # define WRLLOADER_API
00037 #endif
00038
00039 #if defined(LINUX)
00040 void lib_init() __attribute__ ((constructor));   // will be called before dlopen() returns
00041 #endif
00042
00044
00048 #if defined(LINUX)
00049 extern "C"
00050 {
00051 #endif
00052 WRLLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00053
00055
00060 WRLLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00061 #if defined(LINUX)
00062 }
00063 #endif
00064
00277 class WRLLoader : public nvsg::SceneLoader
00278 {
00279   public :
00280     //  Default constructor/destructor.
00281     WRLLoader();
00282     ~WRLLoader();
00283
00284   public :
00291     unsigned int getStepsPerUnit() const;
00292
00299     void setStepsPerUnit( unsigned int stepsPerUnit );
00300
00302
00303     void deleteThis( void );
00304
00306
00311     nvsg::SceneSharedPtr load( const std::string& filename
00312                                , const std::vector<std::string> &searchPaths
00313                                , nvsg::ViewStateSharedPtr & viewState
00315                                );
00316
00317   private :
00318     void                                              createBox( nvutil::SmartPtr<vrml::IndexedFaceSet>& pIndexedFaceSet
00319                                                                , const vrml::SFVec3f& size, bool textured );
00320     void                                              createCone( nvutil::SmartPtr<vrml::IndexedFaceSet>& pIndexedFaceSet, float radius, float height
00321                                                                 , bool bottom, bool side, bool textured );
00322     void                                              createCylinder( nvutil::SmartPtr<vrml::IndexedFaceSet> & indexedFaceSet, float radius, float height
00323                                                                     , bool bottom, bool side, bool top, bool textured );
00324     void                                              createSphere( nvutil::SmartPtr<vrml::IndexedFaceSet> & indexedFaceSet
00325                                                                   , float radius, bool textured );
00326     void                                              determineTexGen( vrml::ElevationGrid * pElevationGrid
00327                                                                      , const nvsg::StateSetSharedPtr & pStateSet );
00328     void                                              determineTexGen( const nvutil::SmartPtr<vrml::IndexedFaceSet> & pIndexedFaceSet
00329                                                                      , const nvsg::StateSetSharedPtr & pStateSet );
00330     template<typename VType>
00331       void                                            eraseIndex( unsigned int f, unsigned int i, unsigned int count
00332                                                                 , bool perVertex, vrml::MFInt32 &index, VType &vec );
00333     vrml::SFNode                                      findNode( const vrml::SFNode currentNode, std::string name );
00334     std::vector<unsigned int>                         getCombinedKeys( const nvutil::SmartPtr<vrml::PositionInterpolator> & center
00335                                                                      , const nvutil::SmartPtr<vrml::OrientationInterpolator> & rotation
00336                                                                      , const nvutil::SmartPtr<vrml::PositionInterpolator> & scale
00337                                                                      , const nvutil::SmartPtr<vrml::PositionInterpolator> & translation );
00338     bool                                              getNextLine( void );
00339     std::string                                     & getNextToken( void );
00340     vrml::SFNode                                      getNode( const std::string &nodeName, std::string &token );
00341     void                                              ignoreBlock( const std::string &open, const std::string &close
00342                                                                  , std::string &token );
00343     nvsg::SceneSharedPtr                              import( const std::string &filename );
00344     nvsg::StateSetSharedPtr                           interpretAppearance( const nvutil::SmartPtr<vrml::Appearance> & pAppearance );
00345     void                                              interpretChildren( vrml::MFNode &children, nvsg::Group *pNVSGGroup );
00346     void                                              interpretBackground( const nvutil::SmartPtr<vrml::Background> & pBackground );
00347     nvsg::BillboardSharedPtr                          interpretBillboard( const nvutil::SmartPtr<vrml::Billboard> & pVRMLBillboard );
00348     void                                              interpretBox( const nvutil::SmartPtr<vrml::Box> & pBox
00349                                                                   , std::vector<nvsg::DrawableSharedPtr> &drawables
00350                                                                   , bool textured = false );
00351     void                                              interpretColor( const nvutil::SmartPtr<vrml::Color> & pColor );
00352     void                                              interpretColorInterpolator( const nvutil::SmartPtr<vrml::ColorInterpolator> & pColorInterpolator
00353                                                                                 , unsigned int colorCount );
00354     void                                              interpretCone( const nvutil::SmartPtr<vrml::Cone> & pCone
00355                                                                    , std::vector<nvsg::DrawableSharedPtr> &drawables
00356                                                                    , bool textured = false );
00357     void                                              interpretCoordinate( const nvutil::SmartPtr<vrml::Coordinate> & pCoordinate );
00358     void                                              interpretCoordinateInterpolator( const nvutil::SmartPtr<vrml::CoordinateInterpolator> & pCoordinateInterpolator
00359                                                                                      , unsigned int pointCount );
00360     void                                              interpretCylinder( const nvutil::SmartPtr<vrml::Cylinder> & pCylinder
00361                                                                        , std::vector<nvsg::DrawableSharedPtr> &drawables
00362                                                                        , bool textured = false );
00363     nvsg::DirectedLightSharedPtr                      interpretDirectionalLight( const nvutil::SmartPtr<vrml::DirectionalLight> & pDirectionalLight );
00364     void                                              interpretElevationGrid( const nvutil::SmartPtr<vrml::ElevationGrid> & pElevationGrid
00365                                                                             , std::vector<nvsg::DrawableSharedPtr> &drawables );
00366     void                                              interpretGeometry( const nvutil::SmartPtr<vrml::Geometry> & pGeometry
00367                                                                        , std::vector<nvsg::DrawableSharedPtr> &drawables
00368                                                                        , bool textured = false );
00369     nvsg::GroupSharedPtr                              interpretGroup( const nvutil::SmartPtr<vrml::Group> & pGroup );
00370     nvsg::TextureAttributeSharedPtr                   interpretImageTexture( const nvutil::SmartPtr<vrml::ImageTexture> & pImageTexture );
00371     void                                              interpretIndexedFaceSet( const nvutil::SmartPtr<vrml::IndexedFaceSet> & pIndexedFaceSet
00372                                                                              , std::vector<nvsg::DrawableSharedPtr> &drawables );
00373     void                                              interpretIndexedLineSet( const nvutil::SmartPtr<vrml::IndexedLineSet> & pIndexedLineSet
00374                                                                              , std::vector<nvsg::DrawableSharedPtr> &drawables );
00375     nvsg::NodeSharedPtr                               interpretInline( const nvutil::SmartPtr<vrml::Inline> & pInline );
00376     nvsg::LODSharedPtr                                interpretLOD( const nvutil::SmartPtr<vrml::LOD> & pVRMLLOD );
00377     nvsg::MaterialSharedPtr                           interpretMaterial( const nvutil::SmartPtr<vrml::Material> & pVRMLMaterial );
00378     nvsg::TextureAttributeSharedPtr                   interpretMovieTexture( const nvutil::SmartPtr<vrml::MovieTexture> & pMovieTexture );
00379     void                                              interpretNormal( const nvutil::SmartPtr<vrml::Normal> & pNormal );
00380     void                                              interpretNormalInterpolator( const nvutil::SmartPtr<vrml::NormalInterpolator> & pNormalInterpolator
00381                                                                                  , unsigned int vectorCount );
00382     void                                              interpretOrientationInterpolator( const nvutil::SmartPtr<vrml::OrientationInterpolator> & pOI );
00383     nvsg::TextureAttributeSharedPtr                   interpretPixelTexture( const nvutil::SmartPtr<vrml::PixelTexture> & pPixelTexture );
00384     nvsg::PointLightSharedPtr                         interpretPointLight( const nvutil::SmartPtr<vrml::PointLight> & pVRMLPointLight );
00385     void                                              interpretPointSet( const nvutil::SmartPtr<vrml::PointSet> & pPointSet
00386                                                                        , std::vector<nvsg::DrawableSharedPtr> &drawables );
00387     void                                              interpretPositionInterpolator( const nvutil::SmartPtr<vrml::PositionInterpolator> & pPositionInterpolator );
00388     nvmath::Vec3f                                     interpretSFColor( const vrml::SFColor &c );
00389     nvsg::ObjectSharedPtr                             interpretSFNode( const vrml::SFNode n );
00390     nvmath::Quatf                                     interpretSFRotation( const vrml::SFRotation &r );
00391     nvsg::GeoNodeSharedPtr                            interpretShape( const nvutil::SmartPtr<vrml::Shape> & pShape );
00392     void                                              interpretSphere( const nvutil::SmartPtr<vrml::Sphere> & pSphere
00393                                                                      , std::vector<nvsg::DrawableSharedPtr> &drawables
00394                                                                      , bool textured = false );
00395     nvsg::SpotLightSharedPtr                          interpretSpotLight( const nvutil::SmartPtr<vrml::SpotLight> & pVRMLSpotLight );
00396     nvsg::SwitchSharedPtr                             interpretSwitch( const nvutil::SmartPtr<vrml::Switch> & pVRMLSwitch );
00397     nvsg::TextureAttributeSharedPtr                   interpretTexture( const nvutil::SmartPtr<vrml::Texture> & pTexture );
00398     void                                              interpretTextureTransform( const nvutil::SmartPtr<vrml::TextureTransform> & pTextureTransform
00399                                                                                , const nvsg::TextureAttributeSharedPtr & pTextureAttribute );
00400     nvsg::TransformSharedPtr                          interpretTransform( const nvutil::SmartPtr<vrml::Transform> & pVRMLTransform );
00401     bool                                              interpretURL( const vrml::MFString &url, std::string &fileName );
00402     nvsg::VertexAttributeSetSharedPtr                 interpretVertexAttributeSet( const nvutil::SmartPtr<vrml::IndexedFaceSet> & pIndexedFaceSet
00403                                                                                  , unsigned int numberOfVertices
00404                                                                                  , nvsg::IndexList startIndices
00405                                                                                  , nvsg::IndexList faceIndices );
00406     nvsg::ObjectSharedPtr                             interpretViewpoint( const nvutil::SmartPtr<vrml::Viewpoint> & pViewpoint );
00407     void                                              interpretVRMLTree( void );
00408     bool                                              isValidScaling( const nvutil::SmartPtr<vrml::PositionInterpolator> & pPositionInterpolator ) const;
00409     bool                                              isValidScaling( const vrml::SFVec3f &sfVec3f ) const;
00410     bool                                              onIncompatibleValues( int value0, int value1, const std::string &node
00411                                                                           , const std::string &field0
00412                                                                           , const std::string &field1 ) const;
00413     template<typename T>
00414       bool                                            onInvalidValue( T value, const std::string &node
00415                                                                     , const std::string &field ) const;
00416     bool                                              onEmptyToken( const std::string &tokenType, const std::string &token ) const;
00417     bool                                              onFileNotFound( const vrml::SFString &url ) const;
00418     bool                                              onFilesNotFound( bool found, const vrml::MFString &url ) const;
00419     void                                              onUnexpectedEndOfFile( bool error ) const;
00420     void                                              onUnexpectedToken( const std::string &expected
00421                                                                        , const std::string &token ) const;
00422     void                                              onUnknownToken( const std::string &tokenType
00423                                                                     , const std::string &token ) const;
00424     bool                                              onUndefinedToken( const std::string &tokenType
00425                                                                       , const std::string &token ) const;
00426     bool                                              onUnsupportedToken( const std::string &tokenType
00427                                                                         , const std::string &token ) const;
00428     nvutil::SmartPtr<vrml::Anchor>                    readAnchor( const std::string &nodeName );
00429     nvutil::SmartPtr<vrml::Appearance>                readAppearance( const std::string &nodeName );
00430     nvutil::SmartPtr<vrml::AudioClip>                 readAudioClip( const std::string &nodeName );
00431     nvutil::SmartPtr<vrml::Background>                readBackground( const std::string &nodeName );
00432     nvutil::SmartPtr<vrml::Billboard>                 readBillboard( const std::string &nodeName );
00433     nvutil::SmartPtr<vrml::Box>                       readBox( const std::string &nodeName );
00434     nvutil::SmartPtr<vrml::Collision>                 readCollision( const std::string &nodeName );
00435     nvutil::SmartPtr<vrml::Color>                     readColor( const std::string &nodeName );
00436     nvutil::SmartPtr<vrml::ColorInterpolator>         readColorInterpolator( const std::string &nodeName );
00437     nvutil::SmartPtr<vrml::Cone>                      readCone( const std::string &nodeName );
00438     nvutil::SmartPtr<vrml::Coordinate>                readCoordinate( const std::string &nodeName );
00439     nvutil::SmartPtr<vrml::CoordinateInterpolator>    readCoordinateInterpolator( const std::string &nodeName );
00440     nvutil::SmartPtr<vrml::Cylinder>                  readCylinder( const std::string &nodeName );
00441     nvutil::SmartPtr<vrml::CylinderSensor>            readCylinderSensor( const std::string &nodeName );
00442     nvutil::SmartPtr<vrml::DirectionalLight>          readDirectionalLight( const std::string &nodeName );
00443     nvutil::SmartPtr<vrml::ElevationGrid>             readElevationGrid( const std::string &nodeName );
00444     void                                              readEXTERNPROTO( void );
00445     nvutil::SmartPtr<vrml::Extrusion>                 readExtrusion( const std::string &nodeName );
00446     nvutil::SmartPtr<vrml::Fog>                       readFog( const std::string &nodeName );
00447     nvutil::SmartPtr<vrml::FontStyle>                 readFontStyle( const std::string &nodeName );
00448     nvutil::SmartPtr<vrml::Group>                     readGroup( const std::string &nodeName );
00449     nvutil::SmartPtr<vrml::ImageTexture>              readImageTexture( const std::string &nodeName );
00450     void                                              readIndex( std::vector<vrml::SFInt32> &mf );
00451     nvutil::SmartPtr<vrml::IndexedFaceSet>            readIndexedFaceSet( const std::string &nodeName );
00452     nvutil::SmartPtr<vrml::IndexedLineSet>            readIndexedLineSet( const std::string &nodeName );
00453     nvutil::SmartPtr<vrml::Inline>                    readInline( const std::string &nodeName );
00454     nvutil::SmartPtr<vrml::LOD>                       readLOD( const std::string &nodeName );
00455     nvutil::SmartPtr<vrml::Material>                  readMaterial( const std::string &nodeName );
00456     void                                              readMFNode( const nvutil::SmartPtr<vrml::Group> & fatherNode );
00457     template<typename SFType>
00458       void                                            readMFType( std::vector<SFType> &mf
00459                                                                 , void (WRLLoader::*readSFType)( SFType &sf, std::string &token ) );
00460     nvutil::SmartPtr<vrml::MovieTexture>              readMovieTexture( const std::string &nodeName );
00461     nvutil::SmartPtr<vrml::NavigationInfo>            readNavigationInfo( const std::string &nodeName );
00462     nvutil::SmartPtr<vrml::Normal>                    readNormal( const std::string &nodeName );
00463     nvutil::SmartPtr<vrml::NormalInterpolator>        readNormalInterpolator( const std::string &nodeName );
00464     nvutil::SmartPtr<vrml::OrientationInterpolator>   readOrientationInterpolator( const std::string &nodeName );
00465     nvutil::SmartPtr<vrml::PixelTexture>              readPixelTexture( const std::string &nodeName );
00466     nvutil::SmartPtr<vrml::PlaneSensor>               readPlaneSensor( const std::string &nodeName );
00467     nvutil::SmartPtr<vrml::PointLight>                readPointLight( const std::string &nodeName );
00468     nvutil::SmartPtr<vrml::PointSet>                  readPointSet( const std::string &nodeName );
00469     nvutil::SmartPtr<vrml::PositionInterpolator>      readPositionInterpolator( const std::string &nodeName );
00470     void                                              readPROTO( void );
00471     nvutil::SmartPtr<vrml::ProximitySensor>           readProximitySensor( const std::string &nodeName );
00472     void                                              readROUTE( const vrml::SFNode currentNode );
00473     nvutil::SmartPtr<vrml::ScalarInterpolator>        readScalarInterpolator( const std::string &nodeName );
00474     nvutil::SmartPtr<vrml::Script>                    readScript( const std::string &nodeName );
00475     void                                              readSFBool( vrml::SFBool &b );
00476     void                                              readSFColor( vrml::SFColor &c, std::string &token );
00477     void                                              readSFFloat( vrml::SFFloat &f, std::string &token );
00478     void                                              readSFImage( vrml::SFImage &i );
00479     void                                              readSFInt8( vrml::SFInt8 &i );
00480     void                                              readSFInt32( vrml::SFInt32 &i, std::string &token );
00481     void                                              readSFNode( const vrml::SFNode fatherNode, vrml::SFNode &n, std::string &token );
00482     void                                              readSFRotation( vrml::SFRotation &r, std::string &token );
00483     void                                              readSFString( vrml::SFString &s, std::string &token );
00484     void                                              readSFTime( vrml::SFTime &t );
00485     void                                              readSFVec2f( vrml::SFVec2f &v, std::string &token );
00486     void                                              readSFVec3f( vrml::SFVec3f &v, std::string &token );
00487     nvutil::SmartPtr<vrml::Shape>                     readShape( const std::string &nodeName );
00488     nvutil::SmartPtr<vrml::Sound>                     readSound( const std::string &nodeName );
00489     nvutil::SmartPtr<vrml::Sphere>                    readSphere( const std::string &nodeName );
00490     nvutil::SmartPtr<vrml::SphereSensor>              readSphereSensor( const std::string &nodeName );
00491     nvutil::SmartPtr<vrml::SpotLight>                 readSpotLight( const std::string &nodeName );
00492     void                                              readStatements( void );
00493     nvutil::SmartPtr<vrml::Switch>                    readSwitch( const std::string &nodeName );
00494     nvutil::SmartPtr<vrml::Text>                      readText( const std::string &nodeName );
00495     nvutil::SmartPtr<vrml::TextureCoordinate>         readTextureCoordinate( const std::string &nodeName );
00496     nvutil::SmartPtr<vrml::TextureTransform>          readTextureTransform( const std::string &nodeName );
00497     nvutil::SmartPtr<vrml::TimeSensor>                readTimeSensor( const std::string &nodeName );
00498     nvutil::SmartPtr<vrml::TouchSensor>               readTouchSensor( const std::string &nodeName );
00499     nvutil::SmartPtr<vrml::Transform>                 readTransform( const std::string &nodeName );
00500     nvutil::SmartPtr<vrml::Viewpoint>                 readViewpoint( const std::string &nodeName );
00501     nvutil::SmartPtr<vrml::VisibilitySensor>          readVisibilitySensor( const std::string &nodeName );
00502     nvutil::SmartPtr<vrml::WorldInfo>                 readWorldInfo( const std::string &nodeName );
00503     template<typename T>
00504       void                                            resampleKeyValues( vrml::MFFloat & keys, std::vector<T> & values
00505                                                                        , unsigned int valuesPerKey
00506                                                                        , std::vector<unsigned int> & steps
00507                                                                        , vrml::SFTime cycleInterval );
00508     void                                              setNextToken( void );
00509     bool                                              testWRLVersion( const std::string &filename );
00510
00511   private :
00512     std::string                                     m_currentString;
00513     std::string                                     m_currentToken;
00514     std::map<std::string,vrml::SFNode>              m_defNodes;
00515     bool                                            m_eof;
00516     FILE                                          * m_fh;
00517     std::vector<vrml::SFNode>                       m_inlines;
00518     char                                          * m_line;
00519     unsigned int                                    m_lineLength;
00520     unsigned int                                    m_lineNumber;
00521     std::multimap<nvsg::HashKey,nvsg::MaterialSharedPtr> m_materials;
00522     std::string::size_type                          m_nextTokenEnd;
00523     std::string::size_type                          m_nextTokenStart;
00524     std::vector<vrml::SFNode>                       m_openNodes;
00525     std::set<std::string>                           m_PROTONames;
00526     nvsg::GroupSharedPtr                            m_rootNode;
00527     nvsg::SceneSharedPtr                            m_scene;
00528     std::vector<std::string>                        m_searchPaths;
00529     nvutil::SmartPtr<nvtraverser::SmoothTraverser>  m_smoothTraverser;
00530     unsigned int                                    m_stepsPerUnit;
00531     nvutil::SmartPtr<vrml::Group>                   m_topLevelGroup;
00532     bool                                            m_strict;
00533     std::map<std::string,nvsg::TextureHostWeakPtr>  m_textureFiles;
00534     std::string                                     m_ungetToken;
00535     int                                             m_subdivisions[6];  // 3 circular and 3 rectangular subdivision limits.
00536     // Minimum, standard at radius 1.0, and maximum subdivisions for a full circle of a sphere, cylinder, cone tessellation depending on their radii and heights.
00537     // Minimum, standard at size 1.0, and maximum subdivisions for a Box depending on its size. (Note that the default Box has size 2.0)
00538     // Defaults are matching this setting: NVSG_WRL_SUBDIVISIONS=12 36 90 2 4 8
00539 };
00540
00541 inline void WRLLoader::deleteThis( void )
00542 {
00543   delete this;
00544 }
00545
00546 inline unsigned int WRLLoader::getStepsPerUnit() const
00547 {
00548   return( m_stepsPerUnit );
00549 }
00550
00551 inline void WRLLoader::setStepsPerUnit( unsigned int stepsPerUnit )
00552 {
00553   m_stepsPerUnit = stepsPerUnit;
00554 }
00555
00556 inline  nvmath::Vec3f WRLLoader::interpretSFColor( const vrml::SFColor &c )
00557 {
00558   return( * (nvmath::Vec3f *) &c );
00559 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: WRLLoadTraverser.h File Reference

src / Loader / WRLLoader / inc

WRLLoadTraverser.h File Reference

#include "nvtraverser/Traverser.h"

Include dependency graph for WRLLoadTraverser.h:

Go to the source code of this file.

Detailed Description

Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: WRLLoadTraverser.h Source File

src / Loader / WRLLoader / inc

WRLLoadTraverser.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00015 #include  "nvtraverser/Traverser.h"
00016
00017
00019 class WRLLoadTraverser : public nvtraverser::ExclusiveTraverser
00020 {
00021   public:
00023     WRLLoadTraverser();
00024
00026     virtual ~WRLLoadTraverser(void);
00027
00028   protected:
00030
00032     virtual void  doApply( const nvsg::NodeSharedPtr & root );
00033
00035
00037     virtual void  handleAnimatedTransform( nvsg::AnimatedTransform * p );
00038
00040
00042     virtual void  handleBillboard( nvsg::Billboard *p );
00043
00045
00047     virtual void  handleGroup( nvsg::Group *p );
00048
00050
00052     virtual void  handleSwitch( nvsg::Switch *p );
00053
00055
00057     virtual void  handleLOD( nvsg::LOD *p );
00058
00060
00062     virtual void  handleTransform( nvsg::Transform *p );
00063
00064   private:
00065     void processGroup( nvsg::Group * p );
00066     void transformLightSource( const nvmath::Trafo &trafo, nvsg::LightSource * lightSource );
00067
00068   private:
00069     std::vector<nvsg::LightSourceSharedPtr> m_lights;
00070 };
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Class List

SceniX Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
Allocator | Internal manager for memory allocations
AlphaTestAttribute | StateAttribute that defines the Alpha test
AnalyzeResult | Base class of the analyzing results determined with the AnalyzeTraverser
AnalyzeTraverser | Traverser that analyzes a tree and reports about potential deficiencies
AnimatedTransform | Class representing an animated Transform
AnimatedVertexAttributeSet | Provides functionality to work with animated vertex attribute data
Animation | Template class for animations
AnimationDescription | Base class to describe the data of and access to an animation
AnimationObjectCode< unsigned int > |
AnimationState | Base class of all Animation classes
AppTraverser | AppTraverser Class
AutoLock | Helper class to provide a scoped usage of an SWMRSync lock
BackLinkObserver | Observer class with a back-link to a HandledObject
BellFilter | ScaleFilter functor providing bell filter functionality
BezierCurve | A class to manage a bezier curve
BezierExtrapolationTraverser | Traverser to convert Triangles to TriPatches4 and Quads to QuadPatches4x4
BezierInterpolationTraverser | Traverser to convert sets of Triangles to TriPatches4, and sets of Quads to QuadPatches4x4
BezierRect | Class to manage a rectangular bezier patch
BezierTriangle | Class to manage a triangular bezier patch
Billboard | Class that adds billboard properties to a Group
Bit | Template class for easy definition of a single-bit bitmask
BlendAttribute | StateAttribute that determines the blending modes to use
bone_t | The bone_t structure specifies how a bone is stored in a .NBF file
BoxFilter | ScaleFilter functor providing box filter functionality
Boxnt | Represents an axis-aligned box
BSplineFilter | ScaleFilter functor providing BSpline filter functionality
Buffer | Interface for buffers used as storage for SceniX
Buffer::DataReadLock | Object to acquire a thread-safe read access to the buffer's data
Buffer::DataWriteLock | Object to acquire a thread-safe write, read or read-write access to the buffer's data
BufferGL | This class uses an OpenGL buffer object as storage for the data of an nvsg::Buffer. For all operations on an nvgl::BufferGL object it is necessary to have a valid OpenGL context current
BufferHost | Buffer implementation using memory on the host as storage
byteArray_t | The byteArray_t structure specifies how an array of bytes is stored in a .NBF file
Callback | Callback class to link objects with an observer
Camera | Abstract base class for parallel and perspective cameras
CgFx | A StateAttribute to apply render effects that are compliant to the Cg 1.4 standard
CgFxContext | CgFxContext wraps multiplexed CGcontexts and maintains its state machine configuration
CgFxEffect | Abstracts a render effect to be applied to a specific geometry
Chunk | Chunk of memory for our low level memory managment of fixed size objects
ClipPlane | Defines a user clipping plane
ClipPlanesElement | Helper class to hold the clip planes valid for a number of PrimitiveSets
CloneObject | Functor class to clone an object
CombinableResult | AnalyzeResult indicating that a number of Objects can be combined
CombineTraverser | Traverser that combines a number of Objects, if appropriate
Conversion | Helper class to detect at compile time when U is derived from T or when U is T
Conversion< T, T > | Specialization of the templated Conversion class for check of identical classes
ConvertPrimitivesTraverser | Traverser to convert Legacy primitive types to Primitive
CPUSkinningProcessor | CPUSkinningProcessor Class
DALData | Device Abstraction Link Data
DALDataCreator | Represents the interface required for a creator of DALData
DALHost | Represents an object capable to host a Device Abstraction Link
DeindexTraverser | Traverser to convert indexed Primitive nodes to non-indexed Primitive nodes
DenormalizedNormalsResult | AnalyzeResult indicating a VertexAttributeSet with denormalized normals
DepthAttribute | StateAttribute that determines the depth settings to use
DestrippingTraverser | Traverser to destripify stripped primitives
DirectedLight | LightSource representing a directed light
domain_t | The domain_t structure specifies how an RTFx domain parameter is stored in a .NBF file
Drawable | The abstract base class of all drawable objects
DrawCallback | Provides an interface to perform custom pre- and post-processing with rendering a Drawable
EliminateTraverser | Traverser that eliminates a number of Objects, if appropriate
EmptyResult | AnalyzeResult indicating an empty object
EquivalenceResult | AnalyzeResult indicating equivalent objects
ExclusiveModelViewTraverser | Traverser that can handle the model view transform stack
ExclusiveTraverser | Base class providing an interface for read-write traversing of a given scene graph
ExtractGeometryTraverser | Traverser that can handle the model view transform stack
Face | Simple helper class for Lines, Quads, and Triangles
FaceAttribute | PrimitiveAttribute specific for Drawables with faces, like Triangles or QuadStrips
FaceConnections | Helper class to determine face connectivity from triangle or quad soups
FileMapping | Helper class to ease efficient reading and writing of large files
FixedAllocator | Manages allocation requests for objects of a certain size only
FlipbookAnimation | Class representing a flipbook animation
FramedAnimationDescription | Template class of an Animation that holds a complete data set for each frame
FrustumCamera | Class describing a perspective or parallel Camera
FunctorGet | Functor to get a property value from an object
FunctorGetEnum | Functor to get an enum property value from an object. It's possible to use an int or enum as return value
FunctorGetInvalid | Functor to set a value which always asserts. This is being used for RO properties
FunctorGetMember | Functor to get a member value from an object
FunctorSet | Functor to set a property value in an object
FunctorSetEnum | Functor to set an enum property value in an object. This is special because enums can be either set as ints or by their enum type
FunctorSetInvalid | Functor to set a value which always asserts. This is being used for RO properties
FunctorSetMember | Functor to set the value of a member of an object
geometrySet_t | The geometrySet_t structure specifies how a geometry set is stored in a .NBF file
GeoNode | Leaf Node to maintain geometry
GeoNode::Geometry | A helper structure to hold a StateSet and the associated Drawables
GeoNode::StateSetConstIterator | The const iterator over the StateSetContainer
GeoNode::StateSetIterator | The iterator over the StateSetContainer
GLContext | Wrapper for OpenGL functions to provide caching, extension handling, and, in debug mode, error handling per context
GLFunctions | The GLFunctions class holds the OpenGL extension function pointers
GLObjects | The GLObjects class is a container of OpenGL objects
GLTexImageFmt | GLTexImageFmt specifies the format and data type of a texture image
GLUploadTraverser | UploadTraverser using OpenGL
GPUSkinningProcessor | GPUSkinningProcessor Class
Group | Provides grouping of Node objects
Handle | Controls access to the the handled object
Handle< T, Handle< U, V > > | Specialization template for Handle-derived Handle types
Handle< T, NullType > | Specialized stand-alone Handle
HashGenerator | HashGenerator is the interface defining class for creating a hash out of some arbitrary data
HashGeneratorMD5 | HashGenerator class implementing the MD5 algorithm
IAllocator | An allocator interface
IdentityResult | AnalyzeResult indicating identity transformations
IdentityToGroupTraverser | Traverser that replaces identity transforms by groups
ILTexLoader | A Texture Loader that encapsulates DevIL so it can be used with the SceniX PlugIn mechanism
ILTexSaver | A Texture Saver that encapsulates DevIL so it can be used with the NVSG PlugIn mechanism
Image | Helper structure to hold the data of an image
Incarnation | This class abstracts an incarnation count
IndependentPrimitiveSet | Abstract base class for PrimitiveSet objects with independent primitives
indexList_t | The indexList_t structure specifies how an index set is stored in a .NBF file
IndexMesh | IndexList specialization used with a MeshedPrimitiveSet
IndexSet | Provides an interface to handle indices to be attached to a Primitive
IndexSet::ConstIterator | ConstIterator to iterate the indices as a particular index type
indexSet_t | The indexSet_t structure specifies how primitive indices are stored in a .NBF file
Intersection | Intersection class
KeyFramedAnimationDescription | Abstract base class for key-framed Animations of type T
keyVariant_t | The keyVariant_t structure specifies how a pair of a VariantKey and a StateVariant is stored in a .NBF file
Lanczos3Filter | ScaleFilter functor providing lanczos3 filter functionality
LightingAttribute | StateAttribute indicating whether lighting should be disabled
LightSource | Abstract base class for all light sources
LinearInterpolatedAnimationDescription | An KeyFramedAnimationDescription class that performs linear interpolation
LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo > |
LineAttribute | PrimitiveAttribute specific for Drawables with lines, like Lines or LineStrips
Lines | IndependentPrimitiveSet for lines
LineStrips | StrippedPrimitiveSet for line strips
LinkGroupToCameraAsTargetCallback | Callback to link a Group to a Camera as its target
LinkGroupToCameraCallback | Callback to link a Group to a Camera
LinkGroupToLightSourceCallback | Callback to link a Group to a LightSource
LinkGroupToSpotLightAsTargetCallback | Callback to link a Group to a SpotLight as its target
LinkTransformToCameraAsPositionAndRollCallback | Callback to link a Transform to a Camera as its position and up vector
LinkTransformToSpotLightAsPositionCallback | Callback to link a Transform to a SpotLight as its position
LOD | Distance-based level of detail class
LODLessThan | Performs a lexical less than comparison of two LODs This functor can be used as comparison function to order elements of LODSharedPtr in an associative STL container like map
Log | Logging test results
LogListCompare | Functor class to order ProblemInfo objects
Map | Abstract base class for Map objects
MapArray | Class to hold an array of Map objects
MapElement | Class to hold a single Map
MapList | Class to hold a list of two-dimensional maps
MapMatrix | Class to hold a matrix of Map objects
MapObject | Abstract base class to position one or more Map objects
Material | StateAttribute that describes material properties
Matnnt | Matrix class of fixed size and type
MatrixCamera | Class describing a Camera by a projection matrix
MemFunTbl | Member Function Table template
MeshedPrimitiveSet | Abstract base class for PrimitiveSet objects with points organized as meshes
meshSet_t | The meshSet_t structure specifies how an mesh set is stored in a .NBF file
MissingResult | AnalyzeResult indicating non-complete objects
NBFAlphaTestAttribute | The NBFAlphaTestAttribute structure represents an alpha test state attribute in the NBF format
NBFAnimatedTransform | The NBFAnimatedTransform structure represents an animated transform group node
NBFAnimatedVertexAttributeSet | The NBFAnimatedVertexAttributeSet structure represents a set of animated vertex attributes
NBFAnimation | The NBFAnimation structure represents an animation object
NBFAnimationDescription | The NBFAnimationDescription structure represents an animation description object
NBFAnimationState | The NBFAnimationState structure represents the common anchor of all animation structures
NBFBillboard | The NBFBillboard structure represents a billboard group node
NBFBlendAttribute | The NBFBlendAttribute structure represents a blend function
NBFCamera | The NBFCamera represents a camera
NBFCgFx | The NBFCgFx structure represents an effect attribute
NBFDepthAttribute | The NBFDepthAttribute structure represents depth buffer settings
NBFDirectedLight |
NBFDrawable | The NBFDrawable represents any kind of a drawable object
NBFFaceAttribute | The NBFFaceAttribute structure represents a render mode
NBFFlipbookAnimation | The NBFFlipbookAnimation structure represents an animated group node
NBFFramedAnimationDescription | The NBFFramedAnimationDescription structure represents a framed animation
NBFFramedIndexAnimationDescription | The NBFFramedIndexAnimationDescription structure represents a framed animation that will be applied to uint_t objects
NBFFramedTrafoAnimationDescription | The NBFFramedTrafoAnimationDescription structure represents a framed animation that will be applied to trafo_t objects
NBFFramedVertexAttributeAnimationDescription | The NBFFramedVertexAttributeAnimationDescription structure represents a framed animation that will be applied to vertexAttrib_t objects
NBFFrustumCamera | The NBFFrustumCamera structure is the base of the NBFParalleleCamera and the NBFPerspectiveCamera
NBFGeoNode | The NBFGeoNode structure represents a geometry node
NBFGroup | The NBFGroup structure represents a group node
NBFHeader | The NBFHeader structure represents the NBF header format
NBFIndependentPrimitiveSet | The NBFIndependentPrimitiveSet structure represents a set of independent primitives
NBFIndexAnimation | The NBFIndexAnimation represents an animation that will be applied to uint_t objects
NBFKeyFramedAnimationDescription | The NBFKeyFramedAnimationDescription structure represents a interpolated animation
NBFKeyFramedTrafoAnimationDescription | The NBFKeyFramedTrafoAnimationDescription structure represents a interpolated animation that will be applied to trafo_t objects
NBFKeyFramedVertexAttributeAnimationDescription | The NBFKeyFramedVertexAttributeAnimationDescription structure represents a interpolated animation that will be applied to vertexAttrib_t objects
NBFLightingAttribute | The NBFLightingAttribute structure represents a render mode
NBFLightSource | The NBFLightSource structure represents a light source node
NBFLinearInterpolatedTrafoAnimationDescription |
NBFLinearInterpolatedVertexAttributeAnimationDescription |
NBFLineAttribute | The NBFLineAttribute structure represents a render mode
NBFLink | The NBFLink structure represents a link between two objects using a callback
NBFLoader | A Scene Loader for nbf files
NBFLOD | The NBFLOD structure represents a 'Level Of Detail' group node
NBFMaterial | The NBFMaterial structure represents a material
NBFMatrixCamera | The NBFMatrixCamera structure represents a general matrix camera
NBFMeshedPrimitiveSet | The NBFMeshedPrimitiveSet structure represents a mesh set
NBFNode | The NBFNode structure represents a general node
NBFObject | The NBFObject structure represents general object data
NBFParallelCamera | The NBFParallelCamera represents a parallel camera
NBFPatchesBase | The NBFPatchesBase structure is the base of all patches structures
NBFPerspectiveCamera | The NBFPerspectiveCamera represents a perspective camera
NBFPointAttribute | The NBFPointAttribute structure represents a render mode
NBFPointLight |
NBFPrimitive | The NBFPrimitive structure represents a geometry with an NBFVertexAttributeSet, and possibly an index set
NBFPrimitiveSet | The NBFPrimitiveSet structure represents a geometry with an NBFVertexAttributeSet
NBFQuadPatches | The NBFQuadPatches structure represents a general quad patches object
NBFQuadPatches4x4 | The NBFQuadPatches4x4 structure represents a 4x4 quad patches object
NBFRectPatches | The NBFRectPatches structure represents a general rectangular patches object
NBFRTBufferAttribute | The NBFRTBufferAttribute structure represents a ray tracing buffer attribute
NBFRTFx | The NBFRTFx structure represents an effect attribute
NBFRTFxBase | An NBFRTFxBase is a common base for both RTFx and RTFxSceneAttribute
NBFRTFxParameter | An NBFRTFxParameter specifies on parameter in an RTFxBase
NBFRTFxProgram | The NBFRTFxProgram structure represents an RTFx program
NBFSaver | A scene saver capable to save a NVSG scene to a "NBF" (Nvsg Binary File format) file
NBFSaveTraverser | A Traverser to traverse a scene on saving to "NBF" binary file format
NBFScene | The NBFScene structure represents a scene in the context of computer graphics
NBFSkin | The NBFSkin structure represents a set of skin information for a vertex attribute
NBFSkinnedTriangles | The NBFSkinnedTriangles structure represents skin animated triangles
NBFSpotLight |
NBFStateAttribute | The NBFStateAttribute structure represents a state attribute
NBFStatePass | The NBFStatePass structure represents a set of heterogeneous NBFStateAttributes
NBFStateSet | The NBFStateSet structure represents a set of pairs of VariantKeys and StateVariants
NBFStateVariant | The NBFStateVariant structure represents a set of StatePasses
NBFStencilAttribute | The NBFStencilAttribute structure represents a stencil attribute
NBFStrippedPrimitiveSet | The NBFStrippedPrimitiveSet structure represents a strip set
NBFSwitch | The NBFSwitch structure represents a switch group node
NBFTextureAttribute | The NBFTextureAttribute structure represents a texture attribute
NBFTextureAttributeItem | The NBFTextureAttributeItem structure represents a single texture object
NBFTrafoAnimation | The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects
NBFTransform | The NBFTransform structure represents a transform group node
NBFTriPatches | The NBFRectPatches structure represents a general triangular patches object
NBFTriPatches4 | The NBFTriPatches4 structure represents a 4-vertices-per-edge triangular patches object
NBFUnlitColorAttribute | The NBFUnlitColorAttribute structure represents the color for unlit objects
NBFVertexAttributeAnimation | The NBFVertexAttributeAnimation represents an animation that will be applied to vertexAttrib_t objects
NBFVertexAttributeSet | The NBFVertexAttributeSet structure represents a set of vertex attributes
NBFViewState | The NBFViewState represents an optional view state used to render the scene
Node | Serves as base class for all tree nodes
NormalizeTraverser | Traverser that normalizes all normals
NullNormalsResult | AnalyzeResult indicating a VertexAttributeSet with null normals
NVSGException |
NVSGLight | The NVSGLight structure specifies the data layout for an effect light parameter
NVSGLoader | A Scene Loader for nvsg files
NVSGMaterial | The NVSGMaterial structure specifies the data layout for an effect material parameter
NVSGSaver | A Scene Saver for nvsg files
NVSGSaveTraverser | A Traverser to traverse a scene on saving to nvsg file format
NVSGScene | The NVSGScene structure specifies some global scene relevant data
NVSGTexImageFmt | Internal data structure used to describe formats
Object | Serves as base class for all traversable objects
ObjectTraits | Typedefs for objects The following typedefs should be defined for an object. Handle SharedPtr WeakPtr ReadLock WriteLock
OBJSaver | A Scene Saver for obj files
Observer | Class used to observe other subjects
OptimizeTraverser | Base for Traversers that perform some optimizations on a scene
OwnedObject | Helper class to hold a vector of owners of an Object
ParallelCamera | Class describing a parallel (non-perspective) Camera
parameter_t | The parameter_t structure specifies how a parameter is stored in a .NBF file
PatchesBase | Base class for various Patches classes
Path | Class that represents a path through the tree
PerspectiveCamera | Class describing a perspective Camera
plane_t | The plane_t structure specifies how a clipping plane is stored in an .NBF file
Planent | Plane class
PlugIn | Plug-in base class
PlugInCallback | PlugInCallback base class
PlugInCallback::DegenerateGeometryInfo | Information structure used for warning PICW_DEGENERATE_GEOMETRY
PlugInCallback::EmptyTokenInfo | Information structure used for warning PICW_EMPTY_TOKEN
PlugInCallback::FileAccessFailedInfo | Information structure used for error PICE_FILE_ACCESS_ERROR
PlugInCallback::FileMappingFailedInfo | Information structure used for error PICE_FILE_MAPPING_ERROR
PlugInCallback::IncompatibleFileInfo | Information structure used for error PICE_INCOMPATIBLE_FILE
PlugInCallback::IncompatibleValueInfo | Information structure used for warning PICW_INCOMPATIBLE_VALUES
PlugInCallback::InvalidFileInfo | Information structure used for error PICE_INVALID_FILE
PlugInCallback::InvalidValueInfo | Information structure used for warning PICW_INVALID_VALUE
PlugInCallback::UndefinedTokenInfo | Information structure used for warning PICW_UNDEFINED_TOKEN
PlugInCallback::UnexpectedTokenInfo | Information structure used for error PICE_UNEXPECTED_TOKEN
PlugInCallback::UnknownTokenInfo | Information structure used for error PICE_UNKNOWN_TOKEN
PlugInCallback::UnsupportedTokenInfo | Information structure used for warning PICW_UNSUPPORTED_TOKEN
PlugInServer | Plug-in management
PLYLoader | A Scene Loader for PLY files
PointAttribute | PrimitiveAttribute specific for Points
PointLight | LightSource representing a point light
Points | IndependentPrimitiveSet for points
PostBuildTraverser | PostBuildTraverser Class
Primitive | Class for Drawable objects holding a VertexAttributeSet
PrimitiveAttribute | Base class for all primitive related StateAttribute classes
PrimitiveSet | Base class for Drawable objects holding a VertexAttributeSet
ProblemInfo | Class that holds the problem information
ProblemLog | Class to log problems
Profile | Profiling class
Property | This is the base class for all Properties. It's being used as Handle to a Property. All property implementations need to derive from
PropertyList | This is the base class for a list of Properties. It's possible to implement this interace for custom property lists, i.e. mapping properties of an CgFx or an RTFx
PropertyListChain | This PropertyList implementation will provide a view on multiple PropertyList with a single List only. Changes to the added PropertyLists are immideatly visible in this view
PropertyListImpl | Default implementation of a PropertyList. Add the new function addProperty to add Properties
QuadMeshes | MeshedPrimitiveSet for quad meshes
QuadPatches | IndependentPrimitiveSet for quadratic patches
QuadPatches4x4 | IndependentPrimitiveSet for 4x4 patches
Quads | IndependentPrimitiveSet for quads
QuadStrips | StrippedPrimitiveSet for quad strips
Quatt | Quaternion class
RayIntersectTraverser | RayIntersectTraverser
RCObject | Provides an interface for reference counted objects
RCVector | A reference counted vector
ReadMapping | Helper class to ease efficient reading of large files
RectPatches | IndependentPrimitiveSet for rectangular patches
RedundantIndexSetResult | AnalyzeResult indicating redundant IndexSets
RedundantLODRangesResult | AnalyzeResult indicating LODs with redundant ranges
Reflection | This is the base class for all objects which support the Reflection/Property mechanism. It's basically a PropertyListChain which will get Base class for all objects with properties. Use this as base class for all objects which provide properties *
ReflectionInfo | This class stores reflection information for one object type. There will be exactly one instance of this object per object type
ReflectionStorage |
RegVal | Template class for easy access to the Registry
RenderbufferGL | RenderbufferGL is a wrapper around OpenGL renderbuffers. It can be used as attachment by nvgl::RenderTargetGLFBO or as standalone object. If the buffer is used as attachment the size is managed by the RenderTarget
RenderContextGL | RenderContextGL wraps an OpenGL context
RenderContextGL::NativeContext |
Renderer | Renderer is the base class for algorithms which operate on an nvui::RenderTarget
RendererGLFSQ | Renderer to draw a "Full Screen" (ie: viewport-filling) quad, using a supplied CgFX
RendererOptions | This class is a container for RendererOptions
RendererOptionsProvider | Base class for classes that need RendererOptions
RenderTarget | An nvui::RenderTarget specifies a render surface to be used in conjunction with an nvui::Renderer. SceniX supports RenderTargets for OptiX (nvrt::RenderTargetRT, nvrt::RenderTargetRTBuiltin), for OpenGL (nvgl::RenderTargetGLFB, nvgl::RenderTargetGLFBO)
RenderTargetGL | RenderTargetGL is the base class for OpenGL based RenderTargets like nvgl::RenderTargetGLFB and nvgl::RenderTargetGLFBO. It contains basic OpenGL functionality like OpenGL context managment, framebuffer grabbing and clearing the background
RenderTargetGLFB | RenderTarget for the OpenGL framebuffer. If the attached OpenGL context has a stereo pixelformat stereo will be enabled automatically
RenderTargetGLFBO | This RenderTarget supports OpenGL offscreen rendering with FBOs. It is possible to render to nvgl::TextureGL objects for streaming textures and nvgl::RenderbufferGL objects. Stereo is also supported by attaching separate objects to the left and right eye targets
RenderTargetGLFBO::Attachment | Base class for all attachments of nvgl::RenderTargetGLFBO
RenderTargetGLFBO::AttachmentRenderbuffer | Class to attach an OpenGL renderbuffer to an nvgl::RenderTargetGLFBO
RenderTargetGLFBO::AttachmentTexture | Class to attach an TextureGL object to a RenderTargetFBO object
RTBufferAttribute | StateAttribute that defines an RTBuffer used for Ray Tracing
RTFx | A StateAttribute to represent a per-object ray tracing effect
RTFxBase | A StateAttribute to apply render effects to the Ray Tracing System
RTFxSceneAttribute | A SceneAttribute to represent a per-scene ray tracing effect
sampler_t | The sampler_t structure specifies how a sampler parameter is stored in a .NBF file
ScaleFilter | Scale Filter Functor
Scene | Container class to hold all scene related information
SceneAttribute | Abstract base class of all Scene attribute objects
SceneLoader | Pure virtual base class for SceniX scene loader plug-ins
SceneRenderer | SceneRenderer is the base class for all Renderers which visualize a scene. On a stereo nvui::RenderTarget stereo rendering is turned on automatically. SceniX supports a default implementation of nvui::SceneRenderer::StereoViewStateProvider which supports nvsg::PerspectiveCamera. For other cameras it is possible to specify the camera matrices for the left and right eye by implementing a custom nvui::SceneRenderer::StereoViewStateProvider
SceneRenderer::StereoViewStateProvider | This class generates an nvsg::ViewState for the left and right eye based on a monoscopic nvsg::ViewState
SceneRendererGL2 | SceneRendererGL2 is an OpenGL 2.1 based renderer. The OpenGL context used during the first render call must not be changed for successive calls. It is necessary to remove all references to this object before the attached OpenGL context gets destroyed. Deleting this object after destroying the corresponding OpenGL context will result in a crash during resource cleanup. OpenGL resources like VBOs, display lists and textures will be shared between multiple SceneRendererGL2 objects if the corresponding OpenGL contexts are being shared
SceneSaver | Pure virtual base class for SceniX scene saver plug-ins
SceniXIterator | Iterator base class for various iterators in SceniX
SearchTraverser | Traverser to search for a tree object by class type or by name. You want to apply a SearchTraverser on a scene or a certain node to search for tree objects by name or by class type. If you search for objects by class type you can configure the SearchTraverser to search for an explicit class type or for objects that have the specified class typ as base class
ShaderLoader | Pure virtual base class for shader loader plugins
Shape | Abstract base class for shaped geometries like Boxes, Spheres, etc
SharedModelViewTraverser | Traverser that can handle the model view transform stack
SharedTraverser | Base class providing an interface for read-only traversing of a given scene graph
ShareGroupGL::Key | Key used for ResourceMap *
ShareGroupGLResourceHolder | A ShareGroupGLResourceHolder holds a reference to a Resource in a ShareGroupGL. It'll keep the used count of the resource always up to date
ShareGroupGLTask | A ShareGroupTask is a small task which can be executed in the GL thread of a ShareGroup
ShortStrippedResult | AnalyzeResult indicating a StrippedPrimitiveSet with very short strips
SingleChildResult | AnalyzeResult indicating a Group with a single child
Singleton | A Singleton framework
Skin | Provides functionality to work with skinned vertex attribute data
skin_t | The skin_t structure specifies how a skin is stored in a .NBF file
SmartPtr | Pointer object to auto-support lifetime management for reference-counted objects
SmoothTraverser | Traverser that can smooth some drawables
Spherent | Sphere class
SpotLight | LightSource representing a spot light
sstr_t | The sstr_t structure specifies how a small string is stored in a .NBF file
StatAlphaTestAttribute | Class to hold statistics information about AlphaTestAttribute objects
StatAnimatedTransform | Class to hold statistics information about AnimatedTransform objects
StatAnimatedVertexAttributeSet | Class to hold statistics information about AnimatedVertexAttributeSet objects
StatAnimationState | Class to hold statistics information about AnimationState objects
StatBillboard | Class to hold statistics information about Billboard objects
StatBlendAttribute | Class to hold statistics information about BlendAttribute objects
StatCamera | Class to hold statistics information about Camera objects
StatCgFx | Class to hold statistics information about CgFx objects
StatDepthAttribute | Class to hold statistics information about DepthAttribute objects
StatDirectedLight | Class to hold statistics information about DirectedLight objects
StatDrawable | Class to hold statistics information about Drawable objects
StateAttribute | Abstract base class of all attribute objects
StatePass | Container class to hold a number of StateAttribute objects
StateSet | Container class to hold a number of StateVariant objects
StateVariant | Container class to hold a number of StatePass objects
StatFaceAttribute | Class to hold statistics information about FaceAttribute objects
StatFlipbookAnimation | Class to hold statistics information about FlipbookAnimation objects
StatFramedIndexAnimationDescription | Class to hold statistics information about FramedIndexAnimationDescription objects
StatFramedTrafoAnimationDescription | Class to hold statistics information about FramedTrafoAnimationDescription objects
StatFramedVertexAttributeAnimationDescription | Class to hold statistics information about FramedVertexAttributeAnimationDescription objects
StatFrustumCamera | Class to hold statistics information about FrustumCamera objects
StatGeoNode | Class to hold statistics information about GeoNode objects
StatGroup | Class to hold statistics information about Group objects
StatIndexAnimation | Class to hold statistics information about IndexAnimation objects
StatIndexAnimationDescription | Class to hold statistics information about IndexAnimationDescription objects
Statistics | Class to hold statistics information about all objects
StatisticsBase | Base class of all statistics classes
StatisticsTraverser | Traverser to record some statistics of a scene
StatKeyFramedTrafoAnimationDescription | Class to hold statistics information about KeyFramedTrafoAnimationDescription objects
StatKeyFramedVertexAttributeAnimationDescription | Class to hold statistics information about KeyFramedVertexAttributeAnimationDescription objects
StatLightingAttribute | Class to hold statistics information about LightingAttribute objects
StatLightSource | Class to hold statistics information about LightSource objects
StatLinearInterpolatedTrafoAnimationDescription | Class to hold statistics information about LinearInterpolatedTrafoAnimationDescription objects
StatLinearInterpolatedVertexAttributeAnimationDescription | Class to hold statistics information about LinearInterpolatedVertexAttributeAnimationDescription objects
StatLineAttribute | Class to hold statistics information about LineAttribute objects
StatLines | Class to hold statistics information about Lines objects
StatLineStrips | Class to hold statistics information about LineStrips objects
StatLOD | Class to hold statistics information about LOD objects
StatMapArray | Class to hold statistics information about MapArray objects
StatMapElement | Class to hold statistics information about MapElement objects
StatMapList | Class to hold statistics information about MapList objects
StatMapMatrix | Class to hold statistics information about MapMatrix objects
StatMapObject | Class to hold statistics information about MapObject objects
StatMaterial | Class to hold statistics information about Material objects
StatMatrixCamera | Class to hold statistics information about MatrixCamera objects
StatMeshedPrimitiveSet | Class to hold statistics information about MeshedPrimitiveSet objects
StatNode | Class to hold statistics information about Node objects
StatObject | Class to hold statistics information about Object objects
StatParallelCamera | Class to hold statistics information about ParallelCamera objects
StatPatches | Class to hold statistics information about Patches objects
StatPatchesBase | Class to hold statistics information about PatchesBase objects
StatPerspectiveCamera | Class to hold statistics information about PerspectiveCamera objects
StatPointAttribute | Class to hold statistics information about PointAttribute objects
StatPointLight | Class to hold statistics information about PointLight objects
StatPoints | Class to hold statistics information about Points objects
StatPrimitive | Class to hold statistics information about Primitive objects
StatPrimitiveSet | Class to hold statistics information about PrimitiveSet objects
StatQuadMeshes | Class to hold statistics information about QuadMeshes objects
StatQuadPatches | Class to hold statistics information about QuadPatches objects
StatQuadPatches4x4 | Class to hold statistics information about QuadPatches4x4 objects
StatQuads | Class to hold statistics information about Quads objects
StatQuadStrips | Class to hold statistics information about QuadStrips objects
StatRectPatches | Class to hold statistics information about RectPatches objects
StatRTFx | Class to hold statistics information about RTFx objects
StatRTFxProgram | Class to hold statistics information about RTFxProgram objects
StatShape | Class to hold statistics information about Shape objects
StatSkin | Class to hold statistics information about Skin objects
StatSpotLight | Class to hold statistics information about SpotLight objects
StatStateAttribute | Class to hold statistics information about StateAttribute objects
StatStatePass | Class to hold statistics information about StatePass objects
StatStateSet | Class to hold statistics information about StateSet objects
StatStateVariant | Class to hold statistics information about StateVariant objects
StatStrippedPrimitiveSet | Class to hold statistics information about StrippedPrimitiveSet objects
StatSwitch | Class to hold statistics information about Switch objects
StatTexture | Class to hold statistics information about Texture objects
StatTextureAttribute | Class to hold statistics information about TextureAttribute objects
StatTextureAttributeItem | Class to hold statistics information about TextureAttributeItem objects
StatTrafoAnimation | Class to hold statistics information about TrafoAnimation objects
StatTrafoAnimationDescription | Class to hold statistics information about TrafoAnimationDescription objects
StatTransform | Class to hold statistics information about Transform objects
StatTriangles | Class to hold statistics information about Triangles objects
StatTriFans | Class to hold statistics information about TriFans objects
StatTriPatches | Class to hold statistics information about TriPatches objects
StatTriPatches4 | Class to hold statistics information about TriPatches4 objects
StatTriStrips | Class to hold statistics information about TriStrips objects
StatVertexAttributeAnimation | Class to hold statistics information about VertexAttributeAnimation objects
StatVertexAttributeAnimationDescription | Class to hold statistics information about VertexAttributeAnimationDescription objects
StatVertexAttributeSet | Class to hold statistics information about VertexAttributeSet objects
StencilAttribute | Lets you specify a stencil test to apply to a number of Drawable objects
str_t | The str_t structure specifies how a string is stored in a .NBF file
StrippedPrimitiveSet | Abstract base class for PrimitiveSet objects with points organized as strips
StrippingTraverser | Traverser to convert Triangles to TriStrips, and Quads to QuadStrips
StrTokenizer | Separate a string into tokens
Subject | A Subject is observable by some Oberver objects
Switch | Switch node
switchMask_t | The switchMask_t structure specifies how a SwitchMask is stored in a .NBF file
SWMRSync | Single write, multiple read synchronization class
SWMRSyncImpl | Interface class for SWMRSync *
TempLocale | Sets a temporary locale for the lifetime of the object
texBinding_t | The texBinding_t structure specifies how a texture binding is stored in a .NBF file
texCoordSet_t | The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file
texImage_t | The texImage_t structure specifies how a texture image is stored in a .NBF file
Texture | Interface for textures used as storage for SceniX
texture_t | The texture_t structure specifies how an RTFx texture parameter is stored in a .NBF file
TextureAttribute | Texture attribute
TextureAttributeItem | Texture attribute item
TextureAttributeItemData | Data of a texture attribute item that is worth sharing
TextureGL | Base class to represent an OpenGL texture
TextureGL1D | Class for 1D OpenGL textures
TextureGL1DArray | Class for 1D array OpenGL textures
TextureGL2D | Class for 2D OpenGL textures
TextureGL2DArray | Class for 2D array OpenGL textures
TextureGL2DMultisample | Class for 2D multisample OpenGL textures
TextureGL2DMultisampleArray | Class for 2D multisample array OpenGL textures
TextureGL3D | Class for 3D OpenGL textures
TextureGLBuffer | Class for buffer OpenGL textures
TextureGLCubemap | Class for cubemap OpenGL textures
TextureGLCubemapArray | Class for cubemap array OpenGL textures
TextureGLRectangle | Class for rectangle OpenGL textures
TextureHost | A texture image abstraction class
TextureLoader | Pure virtual base class for texture loader plugins
TextureSaver | Pure virtual base class for texture saver plugins
Timer | A simple timer class. This timer class can be used on Windows and Linux systems to measure time intervals in milliseconds. The timer can be started and stopped several times and accumulates time elapsed between the start() and stop() calls
Trace | Trace class template
traceConsoleDebugOutput | Output to console _AND_ attached debugger
traceConsoleOutput | Output to console
traceDebugOutput | Output to attached debugger
traceFileConsoleOutput | Output to log file _AND_ console
traceFileDebugOutput | Output to log file _AND_ attached debugger
traceFileOutput | Output to file
TraceFunctor | Uses the function given as template argument to print out a given string
Trackball | Trackball class for simulating a virtual trackball
Trafo | Transformation class
trafo_t | The trafo_t structure specifies how a transformation is stored in a .NBF file
Transform | Transform node
TransformStack | Utility class to hold a stack of concatenated transformation matrices
Traverser | Virtual base class providing the common interface part of ExclusiveTraverser and SharedTraverser
TriangleFilter | ScaleFilter functor providing triangle filter functionality
Triangles | IndependentPrimitiveSet for triangles
TriangulateTraverser | Traverser that converts all flavors of quads to triangles
TriFans | StrippedPrimitiveSet for quad strips
TriPatches | IndependentPrimitiveSet for triangular patches
TriPatches4 | IndependentPrimitiveSet for triangular patches with four vertices per side
TriStrips | StrippedPrimitiveSet for triangle strips
tweak_t | The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file
Type2EnumType | Converts a given type into a symbolic constant representing a SceniX type
TypedProperty | This is the templated baseclass for all properties of a given type<T>. All properties must derive from this class
TypedPropertyEnum< bool > | Specialization of the TypedPropertyEnum template for type bool
TypedPropertyEnum< float > | Specialization of the TypedPropertyEnum template for type float
TypedPropertyEnum< int > | Specialization of the TypedPropertyEnum template for type int
TypedPropertyEnum< nvmath::Box2f > | Specialization of the TypedPropertyEnum template for type nvmath::Box2f
TypedPropertyEnum< nvmath::Box3f > | Specialization of the TypedPropertyEnum template for type nvmath::Box3f
TypedPropertyEnum< nvmath::Box4f > | Specialization of the TypedPropertyEnum template for type nvmath::Box4f
TypedPropertyEnum< nvmath::Mat33f > | Specialization of the TypedPropertyEnum template for type nvmath::Mat33f
TypedPropertyEnum< nvmath::Mat44f > | Specialization of the TypedPropertyEnum template for type nvmath::Mat44f
TypedPropertyEnum< nvmath::Quatf > | Specialization of the TypedPropertyEnum template for type nvmath::Quatf
TypedPropertyEnum< nvmath::Trafo > | Specialization of the TypedPropertyEnum template for type nvmath::Trafo
TypedPropertyEnum< nvmath::Vec2f > | Specialization of the TypedPropertyEnum template for type nvmath::Vec2f
TypedPropertyEnum< nvmath::Vec2i > | Specialization of the TypedPropertyEnum template for type nvmath::Vec2i
TypedPropertyEnum< nvmath::Vec2ui > | Specialization of the TypedPropertyEnum template for type nvmath::Vec2ui
TypedPropertyEnum< nvmath::Vec3f > | Specialization of the TypedPropertyEnum template for type nvmath::Vec3f
TypedPropertyEnum< nvmath::Vec3i > | Specialization of the TypedPropertyEnum template for type nvmath::Vec3i
TypedPropertyEnum< nvmath::Vec3ui > | Specialization of the TypedPropertyEnum template for type nvmath::Vec3ui
TypedPropertyEnum< nvmath::Vec4f > | Specialization of the TypedPropertyEnum template for type nvmath::Vec4f
TypedPropertyEnum< nvmath::Vec4i > | Specialization of the TypedPropertyEnum template for type nvmath::Vec4i
TypedPropertyEnum< nvmath::Vec4ui > | Specialization of the TypedPropertyEnum template for type nvmath::Vec4ui
TypedPropertyEnum< nvsg::SceneSharedPtr > | Specialization of the TypedPropertyEnum template for type nvsg::SceneSharedPtr
TypedPropertyEnum< nvsg::VertexAttribute > | Specialization of the TypedPropertyEnum template for type nvsg::VertexAttribute
TypedPropertyEnum< nvsg::ViewStateSharedPtr > | Specialization of the TypedPropertyEnum template for type nvsg::ViewStateSharedPtr
TypedPropertyEnum< nvui::SmartRenderTarget > | Specialization of the TypedPropertyEnum template for type nvui::SmartRenderTarget
TypedPropertyEnum< Reflection > | Specialization of the TypedPropertyEnum template for type Reflection
TypedPropertyEnum< std::set< unsigned int > > | Specialization of the TypedPropertyEnum template for type std::set<unsigned int>
TypedPropertyEnum< std::string > | Specialization of the TypedPropertyEnum template for type std::string
TypedPropertyEnum< unsigned int > | Specialization of the TypedPropertyEnum template for type unsigned int
TypedPropertyImpl | A delegating property implementation. This class is used for most of the properties
TypedPropertyImplEnum | A delegating property implementation with enum as int support. This class is used for all enum properties
TypedPropertyValue | A property object holding a value directly
TypeTraits< ValueType, const_reference > | Partial specialization of the TypeTraits template for const reference types
TypeTraits< ValueType, value > | Type for the TypeTraits template * Type for the TypeTraits template * This template convertes a pair ValueType/(const_reference/value) to the corresponding parameter signature. TypeTraits<ValueType, value>::value_type is of type ValueType TypeTraits<ValueType, value>::parameter_type is of type ValueType TypeTraits<ValueType, const_reference>::value_type is of type ValueType TypeTraits<ValueType, const_reference>::parameter_type is of type const ValueType & Partial specialization of the TypeTraits template for value types
UnifyTraverser | OptimizeTraverser that can unify identical objects in a scene
UnlitColorAttribute | StateAttribute specifying the color in case there is no lighting
UnusedVerticesResult | AnalyzeResult indicating unused vertices
UPIID | Unique Plug Interface ID
UPITID | Unique Plug Interface Type ID
Validated | Adds a validation state to some data
Vecnt | Vector class of fixed size and type
vertexAttrib_t | The vertexAttrib_t structure specifies how vertex attributes are stored in a .NBF file
VertexAttribute | Class to hold the data of one vertex attribute
VertexAttributeSet | Provides an interface to deal with vertex attribute data
ViewState | Encapsulates view-specific state
WriteMapping | Helper class to ease efficient writing of large files
WRLLoader | A Scene loader for wrl files
WRLLoadTraverser | Internally used traverser for post-processing a just loaded VRML file
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Allocator Class Reference

nvutil::Allocator

Allocator Class Reference

Internal manager for memory allocations. More...

#include <Allocator.h>

Collaboration diagram for Allocator:

[legend]
List of all members.

Public Member Functions

NVSG_API | Allocator ()
Default constructor.
NVSG_API | ~Allocator ()
Destructor.
void * | alloc (size_t size)
Allocate continuous memory of size size.
void * | alloc (size_t size, const char *src, unsigned int ln)
Allocate continuous memory of size size in debug mode.
NVSG_API void | dumpAllocations ()
Dump all current memory allocations.
void | pushAllocations ()
Push current set of memory allocations for use with dumpDiffAllocations.
void | popAllocations ()
pop last set of memory allocations
NVSG_API void | dumpDiffAllocations ()
dump the difference between the head of the stack and the current memory allocs
void | dealloc (void *p, size_t size)
Deallocate previously allocated memory.

Classes

struct | DbgAllocInfo
struct | DbgLessThan
struct | LeakWarning
struct | UsageInfo

Detailed Description

Internal manager for memory allocations.

This class is used as a Singleton by IAllocator, which is the base of all RCObject classes. It manages the efficient allocation of small objects by using an array of FixedAllocator objects, one for each small size up to maxBlockSize. Allocations larger than that size are redirected to the standard allocation ::new.

Constructor & Destructor Documentation

NVSG_API Allocator ( )

Default constructor.

Initializes the array of FixedAllocator objects.

NVSG_API ~Allocator ( )

Destructor.

In debug mode warnings on not deleted objects are emitted.

Member Function Documentation

void * alloc ( size_t size ) [inline]

Allocate continuous memory of size size.

Forwards either to the FixedAllocator of the specified size, or to the global new operator.

Parameters:
size size of memory to allocate

void * alloc | ( | size_t | size,
 |  | const char * | src,
 |  | unsigned int | ln
 | ) | [inline]

Allocate continuous memory of size size in debug mode.

Forwards either to the FixedAllocator of the specified size, or to the global new operator. In addition, it stores information for memory leak detection.

Parameters:
size | size of memory to allocate
src | source file name where this memory is allocated
ln | line in the source file

NVSG_API void dumpAllocations ( )

Dump all current memory allocations.

void pushAllocations ( ) [inline]

Push current set of memory allocations for use with dumpDiffAllocations.

void popAllocations ( ) [inline]

pop last set of memory allocations

NVSG_API void dumpDiffAllocations ( )

dump the difference between the head of the stack and the current memory allocs

void dealloc | ( | void * | p,
 |  | size_t | size
 | ) | [inline]

Deallocate previously allocated memory.

Forwards either to the FixedAllocator of the specified size, or to the global delete operator. In debug mode, the corresponding information stored by alloc is erased.

Parameters:
p | pointer to the memory to deallocate
size | size of the allocated memory

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

Allocator Member List

This is the complete list of members for Allocator, including all inherited members.

alloc(size_t size) | Allocator | [inline]
alloc(size_t size, const char *src, unsigned int ln) | Allocator | [inline]
Allocator() | Allocator |
dealloc(void *p, size_t size) | Allocator | [inline]
dumpAllocations() | Allocator |
dumpDiffAllocations() | Allocator |
popAllocations() | Allocator | [inline]
pushAllocations() | Allocator | [inline]
~Allocator() | Allocator |

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: AlphaTestAttribute Class Reference

nvsg::AlphaTestAttribute

AlphaTestAttribute Class Reference

StateAttribute that defines the Alpha test. More...

#include <AlphaTestAttribute.h>

Inheritance diagram for AlphaTestAttribute:

[legend]
Collaboration diagram for AlphaTestAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setAlphaFunction (AlphaFunction func)
Set the comparison function.
NVSG_API AlphaFunction | getAlphaFunction () const
Get the compare function.
NVSG_API void | setThreshold (float threshold)
Set the threshold value.
NVSG_API float | getThreshold () const
Get the threshold value.
NVSG_API bool | getEnabledDuringMultiSampleAlpha () const
Get the "enabled during MultiSampleAlpha" flag.
NVSG_API void | setEnabledDuringMultiSampleAlpha (bool state)
Set the "enabled during MultiSampleAlpha" flag.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another AlphaTestAttribute.
NVSG_API AlphaTestAttribute & | operator= (const AlphaTestAttribute &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, AlphaTestAttribute)

Static Public Member Functions

static NVSG_API AlphaTestAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | AlphaTestAttribute ()
Default-constructs a AlphaTestAttribute.
NVSG_API | AlphaTestAttribute (const AlphaTestAttribute &rhs)
Constructs a AlphaTestAttribute as a copy from another AlphaTestAttribute.
virtual NVSG_API | ~AlphaTestAttribute ()
Destructs a AlphaTestAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute that defines the Alpha test.

Namespace: nvsg
Remarks:
An AlphaTestAttribute defines an equation that can be used to cull or draw fragments based on the alpha value of that fragment. AlphaTestAttribute reduces the alpha test to a simple pass fail based on the supplied AlphaFunction and threshold value. If the fragment passes the test, it is drawn - otherwise it is culled.
See also:
BlendAttribute, LineAttribute, PointAttribute, StateAttribute

Constructor & Destructor Documentation

NVSG_API AlphaTestAttribute ( ) [protected]

Default-constructs a AlphaTestAttribute.

Remarks:
A default-constructed AlphaTestAttribute is initialized with AlphaFunction to AF_ALWAYS and threshold to 0.0 - allowing all fragments to be drawn.

NVSG_API AlphaTestAttribute ( const AlphaTestAttribute & rhs ) [protected]

Constructs a AlphaTestAttribute as a copy from another AlphaTestAttribute.

Parameters:
rhs Source AlphaTestAttribute.

virtual NVSG_API ~AlphaTestAttribute ( ) [protected, virtual]

Destructs a AlphaTestAttribute.

Member Function Documentation

NVSG_API void setAlphaFunction ( AlphaFunction func )

Set the comparison function.

Parameters:
func The conditional for the comparison equation.
Remarks:
This function controls whether alpha values will cause certain fragments to be culled or drawn. If the equation: (fragment.a AlphaFunction threshold) == true, the fragment is drawn.
See also:
AlphaFunction

AlphaFunction getAlphaFunction ( ) const [inline]

Get the compare function.

Returns:
nvsg::AlphaFunction indicating the compare function.
See also:
setAlphaFunction

NVSG_API void setThreshold ( float threshold )

Set the threshold value.

Parameters:
threshold The threshold value used as described in setAlphaFunction.
See also:
getThreshold

float getThreshold ( ) const [inline]

Get the threshold value.

Returns:
float indicating the current threshold value
See also:
setThreshold

bool getEnabledDuringMultiSampleAlpha ( ) const [inline]

Get the "enabled during MultiSampleAlpha" flag.

Returns:
bool indicating whether this StateAttribute should be left enabled or set to disabled when using MultiSampleAlpha Coverage for transparency.
See also:
setAffectsMultiSampleAlpha

NVSG_API void setEnabledDuringMultiSampleAlpha ( bool state )

Set the "enabled during MultiSampleAlpha" flag.

Parameters:
state boolean indicating whether this StateAttribute should be left enabled or set to disabled when using MultiSampleAlpha Coverage for transparency. Disabling AlphaFunc during MultiSample can provide improved image quality (with reduced performance) in certain circumstances - specifically where AlphaFunc is being used as a performance transparency mode.
See also:
getEnabledDuringMultiSampleAlpha

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another AlphaTestAttribute.

Parameters:
p | Pointer to the constant AlphaTestAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the AlphaTestAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as StateAttribute, they are considered to be equivalent if they have the same nvsg::AlphaFunction and the same threshold values.
Note:
The behaviour is undefined if p is not a AlphaTestAttribute nor derived from one.
See also:
StateAttribute, getAlphaFunction

Reimplemented from Object.

NVSG_API AlphaTestAttribute& operator= ( const AlphaTestAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant AlphaTestAttribute to copy from
Returns:
A reference to the assigned AlphaTestAttribute
Remarks:
The assignment operator calls the assignment operator of StateAttribute and copies the AlphaTestAttribute specific data then.
See also:
PrimitiveAttribute

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • AlphaTestAttribute.h
Generated on Fri Jul 13 13:29:49 2012 for SceniX


SceniX: Member List

AlphaTestAttribute Member List

This is the complete list of members for AlphaTestAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
AlphaTestAttribute() | AlphaTestAttribute | [protected]
AlphaTestAttribute(const AlphaTestAttribute &rhs) | AlphaTestAttribute | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in AlphaTestAttribute) | AlphaTestAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | AlphaTestAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAlphaFunction() const | AlphaTestAttribute | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getEnabledDuringMultiSampleAlpha() const | AlphaTestAttribute | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getThreshold() const | AlphaTestAttribute | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | AlphaTestAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const AlphaTestAttribute &rhs) | AlphaTestAttribute |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, AlphaTestAttribute) (defined in AlphaTestAttribute) | AlphaTestAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAlphaFunction(AlphaFunction func) | AlphaTestAttribute |
setAnnotation(const std::string &anno) | Object |
setEnabledDuringMultiSampleAlpha(bool state) | AlphaTestAttribute |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setThreshold(float threshold) | AlphaTestAttribute |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~AlphaTestAttribute() | AlphaTestAttribute | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:29:49 2012 for SceniX


SceniX: AnalyzeResult Class Reference

nvtraverser::AnalyzeResult

AnalyzeResult Class Reference

Base class of the analyzing results determined with the AnalyzeTraverser. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for AnalyzeResult:

[legend]
List of all members.

Public Member Functions

virtual | ~AnalyzeResult ()
Virtual Destructor.

Public Attributes

unsigned int | objectCode
The code of objects, this result refers to.
unsigned int | objectCount
The number of objects of this type.

Detailed Description

Base class of the analyzing results determined with the AnalyzeTraverser.

Namespace: nvsg
Remarks:
The AnalyzeResult holds the objectCode of the object that this result refers to, and the number of objects that have been encountered in the scene graph.
See also:
AnalyzeTraverser, CombinableResult, DenormalizedNormalsResult, EmptyResult, EquivalenceResult, IdentityResult, MissingResult, NullNormalsResult, RedundantIndexSetResult, SingleChildResult, ShortStrippedResult, UnusedVerticesResult

Constructor & Destructor Documentation

virtual ~AnalyzeResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int objectCode

The code of objects, this result refers to.

unsigned int objectCount

The number of objects of this type.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: Member List

AnalyzeResult Member List

This is the complete list of members for AnalyzeResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]

Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: AnalyzeTraverser Class Reference

nvtraverser::AnalyzeTraverser

AnalyzeTraverser Class Reference

Traverser that analyzes a tree and reports about potential deficiencies. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for AnalyzeTraverser:

[legend]
Collaboration diagram for AnalyzeTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | AnalyzeTraverser (void)
Default Constructor.
NVSG_API unsigned int | getAnalysis (std::vector< AnalyzeResult * > &results) const
Get the analysis results of the latest traversal.

Protected Member Functions

virtual NVSG_API | ~AnalyzeTraverser (void)
Protected destructor to prevent explicit creation.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Override of the doApply method.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Analyze an nvsg::AnimatedTransform.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *p)
Analyze an nvsg::AnimatedVertexAttributeSet.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *p)
Analyze a nvsg::Billboard.
virtual NVSG_API void | handleBlendAttribute (const nvsg::BlendAttribute *p)
Analyze a nvsg::BlendAttribute.
virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Analyze a nvsg::CgFx.
virtual NVSG_API void | handleDepthAttribute (const nvsg::DepthAttribute *p)
Analyze a nvsg::DepthAttribute.
virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Analyze a nvsg::DirectedLight.
virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Analyze a nvsg::FaceAttribute.
virtual NVSG_API void | handleFlipbookAnimation (const nvsg::FlipbookAnimation *p)
Analyze a nvsg::FlipbookAnimation.
virtual NVSG_API void | handleFramedIndexAnimationDescription (const nvsg::FramedAnimationDescription< unsigned int > *p)
Analyze a nvsg::FramedAnimationDescription of type unsigned int.
virtual NVSG_API void | handleFramedTrafoAnimationDescription (const nvsg::FramedAnimationDescription< nvmath::Trafo > *p)
Analyze a nvsg::FramedAnimationDescription of type nvmath::Trafo.
virtual NVSG_API void | handleFramedVertexAttributeAnimationDescription (const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Analyze a nvsg::FramedAnimationDescription of type nvsg::VertexAttribute.
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Analyze a nvsg::GeoNode.
virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Analyze a nvsg::Group.
virtual NVSG_API void | handleIndexAnimation (const nvsg::Animation< unsigned int > *p)
Analyze an nvsg::Animation of type unsigned int.
virtual NVSG_API void | handleLinearInterpolatedTrafoAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *p)
Analyze a nvsg::LinearInterpolatedAnimationDescription of type nvmath::Trafo.
virtual NVSG_API void | handleLinearInterpolatedVertexAttributeAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Analyze a nvsg::LinearInterpolatedAnimationDescription of type nvsg::VertexAttribute.
virtual NVSG_API void | handleLineAttribute (const nvsg::LineAttribute *p)
Analyze a nvsg::LineAttribute.
virtual NVSG_API void | handleLines (const nvsg::Lines *p)
Analyze a nvsg::Lines.
virtual NVSG_API void | handleLineStrips (const nvsg::LineStrips *p)
Analyze a nvsg::LineStrips.
virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Analyze a nvsg::LOD.
virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Analyze a nvsg::Material.
virtual NVSG_API void | handlePointAttribute (const nvsg::PointAttribute *p)
Analyze a nvsg::PointAttribute.
virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Analyze a nvsg::PointLight.
virtual NVSG_API void | handlePoints (const nvsg::Points *p)
Analyze a nvsg::Points.
virtual NVSG_API void | handleQuadMeshes (const nvsg::QuadMeshes *p)
Analyze a nvsg::QuadMeshes.
virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Analyze a nvsg::Quads.
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Analyze a nvsg::QuadStrips.
virtual NVSG_API void | handleRTFx (const nvsg::RTFx *p)
Handler function for an RTFx.
virtual NVSG_API void | handleRTFxProgram (const nvsg::RTFxProgram *p)
virtual NVSG_API void | handleShape (const nvsg::Shape *p)
Analyze a nvsg::Shape.
virtual NVSG_API void | handleSkin (const nvsg::Skin *p)
Analyze a nvsg::Skin.
virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Analyze a nvsg::SpotLight.
virtual NVSG_API void | handleStatePass (const nvsg::StatePass *p)
Analyze a nvsg::StatePass.
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Analyze a nvsg::StateSet.
virtual NVSG_API void | handleStateVariant (const nvsg::StateVariant *p)
Analyze a nvsg::StateVariant.
virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Analyze a nvsg::Switch.
virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Analyze a nvsg::TextureAttribute.
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p)
Analyze a nvsg::TextureAttributeItem.
virtual NVSG_API void | handleTrafoAnimation (const nvsg::Animation< nvmath::Trafo > *p)
Analyze an nvsg::Animation of type nvmath::Trafo.
virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Analyze a nvsg::Transform.
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Analyze a nvsg::Triangles.
virtual NVSG_API void | handleTriFans (const nvsg::TriFans *p)
Analyze a nvsg::TriFans.
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Analyze a nvsg::TriStrips.
virtual NVSG_API void | handleVertexAttributeAnimation (const nvsg::Animation< nvsg::VertexAttribute > *p)
Analyze an nvsg::Animation of type VertexAttribute.
virtual NVSG_API void | handleVertexAttributeSet (const nvsg::VertexAttributeSet *p)
Analyze a nvsg::VertexAttributeSet.
virtual NVSG_API void | traversePrimitive (const nvsg::Primitive *p)
Analyze an nvsg::Primitive.

Classes

class | CombinableMap
class | EquivalenceInfo

Detailed Description

Traverser that analyzes a tree and reports about potential deficiencies.

Namespace: nvsg
Remarks:
The AnalyzeTraverser is a scene graph analyzing tool. It can give you hints on potential problems in your scene graph.
Example
To get the results of the AnalyzeTraverser on a given Scene, do something like that:
    SmartPtr<AnalyzeTraverser> analyzeTraverser( new AnalyzeTraverser );
    analyzeTraverser->apply( pScene );
    std::vector<AnalyzeResult *> results;
    unsigned int numberOfResults = analyzeTraverser->getAnalysis( results );
    for ( unsigned int i=0 ; i<numberOfResults ; i++ )
    {
      if ( dynamic_cast<EmptyResult *>( results[i] ) != NULL )
      {
        EmptyResult * emptyResult = dynamic_cast<EmptyResult *>( results[i] );
        // handle empty results
      }
      else if ( dynamic_cast<EquivalenceResult *>( results[i] ) != NULL )
      {
        EquivalenceResult * equivalenceResult = dynamic_cast<EquivalenceResult *>( results[i] );
        // handle equivalence results
      }
      else if ( ... )
      // handle other known results
      // ...
      else
      {
        // handle any unknown AnalyzeResult
      }
      // delete the result after interpretation
      delete results[i];
    }
See also:
AnalyzeResult, Traverser

Constructor & Destructor Documentation

NVSG_API AnalyzeTraverser ( void )

Default Constructor.

virtual NVSG_API ~AnalyzeTraverser ( void ) [protected, virtual]

Protected destructor to prevent explicit creation.

Remarks:
The destructor is never used explicitly, but only when the reference count of the AnalyzeTraverser is decremented to zero.

Member Function Documentation

NVSG_API unsigned int getAnalysis ( std::vector< AnalyzeResult * > & results ) const

Get the analysis results of the latest traversal.

Parameters:
results A reference to the vector pointers to an AnalyzeResult object to fill.
Returns:
The number of AnalyzeResult objects generated.
Remarks:
On return, each element of the vector results holds a pointer to an AnalyzeResult. Those objects are owned by the requester, then. There can be multiple AnalyzeResult objects of the same type, but referring to different types of objects in the Scene.
See also:
AnalyzeResult

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the doApply method.

Parameters:
root A pointer to the read-locked root node of the tree to analyze.
Remarks:
The doApply method is the traversal entry point of a Traverser. The local data is cleared and Traverser::doApply() is called to start traversal.
See also:
nvsg::Scene, Traverser

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Analyze an nvsg::AnimatedTransform.

Parameters:
p A pointer to the read-locked nvsg::AnimatedTransform to analyze.
Remarks:
An nvsg::AnimatedTransform is tested for emptiness (no children), equivalence with any previously encountered nvsg::AnimatedTransform, and for a missing nvsg::Animation.
See also:
nvsg::AnimatedTransform, EmptyResult, EquivalenceResult, MissingResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( const nvsg::AnimatedVertexAttributeSet * p ) [protected, virtual]

Analyze an nvsg::AnimatedVertexAttributeSet.

Parameters:
p A pointer to the read-locked nvsg::AnimatedVertexAttributeSet to analyze.
Remarks:
An nvsg::AnimatedVertexAttributeSet is tested for emptiness (no vertices), equivalence with any previously encountered nvsg::AnimatedVertexAttributSet, and if there are any unnormalized normals.
See also:
nvsg::AnimatedVertexAttributeSet, EmptyResult, EquivalenceResult, NullNormalsResult, DenormalizedNormalsResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Analyze a nvsg::Billboard.

Parameters:
p A pointer to the read-locked nvsg::Billboard to analyze.
Remarks:
A nvsg::Billboard is tested for emptiness (no children), and equivalence with any previously encountered nvsg::Billboard.
See also:
nvsg::Billboard, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleBlendAttribute ( const nvsg::BlendAttribute * p ) [protected, virtual]

Analyze a nvsg::BlendAttribute.

Parameters:
p A pointer to the read-locked nvsg::BlendAttribute to analyze.
Remarks:
A nvsg::BlendAttribute is tested for equivalence with any previously encountered nvsg::BlendAttribute.
See also:
nvsg::BlendAttribute, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Analyze a nvsg::CgFx.

Parameters:
p A pointer to the read-locked nvsg::CgFx to analyze.
Remarks:
A nvsg::CgFx is tested for equivalence with any previously encountered nvsg::CgFx.
See also:
nvsg::CgFx, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleDepthAttribute ( const nvsg::DepthAttribute * p ) [protected, virtual]

Analyze a nvsg::DepthAttribute.

Parameters:
p A pointer to the read-locked nvsg::DepthAttribute to analyze.
Remarks:
A nvsg::DepthAttribute is tested for equivalence with any previously encountered nvsg::DepthAttribute.
See also:
nvsg::DepthAttribute, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Analyze a nvsg::DirectedLight.

Parameters:
p A pointer to the read-locked nvsg::DirectedLight to analyze.
Remarks:
A nvsg::DirectedLight is tested for equivalence with any previously encountered nvsg::DirectedLight.
See also:
nvsg::DirectedLight, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Analyze a nvsg::FaceAttribute.

Parameters:
p A pointer to the read-locked nvsg::FaceAttribute to analyze.
Remarks:
A nvsg::FaceAttribute is tested for equivalence with any previously encountered nvsg::FaceAttribute.
See also:
nvsg::FaceAttribute, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFlipbookAnimation ( const nvsg::FlipbookAnimation * p ) [protected, virtual]

Analyze a nvsg::FlipbookAnimation.

Parameters:
p A pointer to the read-locked nvsg::FlipbookAnimation to analyze.
Remarks:
A nvsg::FlipbookAnimation is tested for emptiness (no children), equivalence with any previously encountered nvsg::FlipbookAnimation, and for a missing nvsg::Animation.
See also:
nvsg::AnimatedTransform, EmptyResult, EquivalenceResult, MissingResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedIndexAnimationDescription ( const nvsg::FramedAnimationDescription< unsigned int > * p ) [protected, virtual]

Analyze a nvsg::FramedAnimationDescription of type unsigned int.

Parameters:
p A pointer to the read-locked nvsg::FramedAnimationDescription of type unsigned int to analyze.
Remarks:
A nvsg::FramedAnimationDescription of type unsigned int is tested for emptiness (no frames) and for equivalence with any previously encountered nvsg::FramedAnimationDescription of type unsigned int.
See also:
nvsg::FramedAnimationDescription, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedTrafoAnimationDescription ( const nvsg::FramedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Analyze a nvsg::FramedAnimationDescription of type nvmath::Trafo.

Parameters:
p A pointer to the read-locked nvsg::FramedAnimationDescription of type nvmath::Trafo to analyze.
Remarks:
A nvsg::FramedAnimationDescription of type nvmath::Trafo is tested for emptiness (no frames) and for equivalence with any previously encountered nvsg::FramedAnimationDescription of type nvmath::Trafo.
See also:
nvsg::FramedAnimationDescription, nvmath::Trafo, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedVertexAttributeAnimationDescription ( const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Analyze a nvsg::FramedAnimationDescription of type nvsg::VertexAttribute.

Parameters:
p A pointer to the read-locked nvsg::FramedAnimationDescription of type nvsg::VertexAttribute to analyze.
Remarks:
A nvsg::FramedAnimationDescription of type nvsg::VertexAttribute is tested for emptiness (no frames) and for equivalence with any previously encountered nvsg::FramedAnimationDescription of type nvsg::VertexAttribute.
See also:
nvsg::FramedAnimationDescription, nvsg::VertexAttribute, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Analyze a nvsg::GeoNode.

Parameters:
p A pointer to the read-locked nvsg::GeoNode to analyze.
Remarks:
A nvsg::GeoNode is tested for emptiness (no geometries) and for equivalence with any previously encountered nvsg::GeoNode.
See also:
nvsg::GeoNode, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGroup ( const nvsg::Group * p ) [protected, virtual]

Analyze a nvsg::Group.

Parameters:
p A pointer to the read-locked nvsg::Group to analyze.
Remarks:
A nvsg::Group is tested for emptiness (no children), for equivalence with any previously encountered nvsg::Group, and for holding a single child only.
See also:
nvsg::Group, EmptyResult, EquivalenceResult, SingleChildResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleIndexAnimation ( const nvsg::Animation< unsigned int > * p ) [protected, virtual]

Analyze an nvsg::Animation of type unsigned int.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
An Animation of type unsigned int is tested for emptiness (no AnimationDescription) and for equivalence with any previously encounted Animation of type unsigned int.
See also:
nvsg::AnimationState, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLinearInterpolatedTrafoAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Analyze a nvsg::LinearInterpolatedAnimationDescription of type nvmath::Trafo.

Parameters:
p A pointer to the read-locked nvsg::LinearInterpolatedAnimationDescription of type nvmath::Trafo to analyze.
Remarks:
A nvsg::LinearInterpolatedAnimationDescription of type nvmath::Trafo is tested for emptiness (no keys) and for equivalence with any previously encountered nvsg::LinearInterpolatedAnimationDescription of type nvmath::Trafo.
See also:
nvsg::LinearInterpolatedAnimationDescription, nvmath::Trafo, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLinearInterpolatedVertexAttributeAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Analyze a nvsg::LinearInterpolatedAnimationDescription of type nvsg::VertexAttribute.

Parameters:
p A pointer to the read-locked nvsg::LinearInterpolatedAnimationDescription of type nvsg::VertexAttribute to analyze.
Remarks:
A nvsg::LinearInterpolatedAnimationDescription of type nvsg::VertexAttribute is tested for emptiness (no keys) and for equivalence with any previously encountered nvsg::LinearInterpolatedAnimationDescription of type nvsg::VertexAttribute.
See also:
nvsg::LinearInterpolatedAnimationDescription, nvsg::VertexAttribute, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineAttribute ( const nvsg::LineAttribute * p ) [protected, virtual]

Analyze a nvsg::LineAttribute.

Parameters:
p A pointer to the read-locked nvsg::LineAttribute to analyze.
Remarks:
A nvsg::LineAttribute is tested for equivalence with any previously encountered nvsg::LineAttribute.
See also:
nvsg::LineAttribute, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLines ( const nvsg::Lines * p ) [protected, virtual]

Analyze a nvsg::Lines.

Parameters:
p A pointer to the read-locked nvsg::Lines to analyze.
Remarks:
A nvsg::Lines is tested for emptiness (no indices) and for equivalence with any previously encountered nvsg::Lines.
See also:
nvsg::Lines, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineStrips ( const nvsg::LineStrips * p ) [protected, virtual]

Analyze a nvsg::LineStrips.

Parameters:
p A pointer to the read-locked nvsg::LineStrips to analyze.
Remarks:
A nvsg::LineStrips is tested for emptiness (no strips) and for equivalence with any previously encountered nvsg::LineStrips.
See also:
nvsg::LineStrips, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Analyze a nvsg::LOD.

Parameters:
p A pointer to the read-locked nvsg::LOD to analyze.
Remarks:
A nvsg::LOD is tested for emptiness (no children), for equivalence with any previously encountered nvsg::LOD, and for holding a single child only.
See also:
nvsg::LOD, EmptyResult, EquivalenceResult, RedundantLODRangesResult, SingleChildResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Analyze a nvsg::Material.

Parameters:
p A pointer to the read-locked nvsg::Material to analyze.
Remarks:
A nvsg::Material is tested for equivalence with any previously encountered nvsg::Material.
See also:
nvsg::Material, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointAttribute ( const nvsg::PointAttribute * p ) [protected, virtual]

Analyze a nvsg::PointAttribute.

Parameters:
p A pointer to the read-locked nvsg::PointAttribute to analyze.
Remarks:
A nvsg::PointAttribute is tested for equivalence with any previously encountered nvsg::PointAttribute.
See also:
nvsg::PointAttribute, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Analyze a nvsg::PointLight.

Parameters:
p A pointer to the read-locked nvsg::PointLight to analyze.
Remarks:
A nvsg::PointLight is tested for equivalence with any previously encountered nvsg::PointLight.
See also:
nvsg::PointLight, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePoints ( const nvsg::Points * p ) [protected, virtual]

Analyze a nvsg::Points.

Parameters:
p A pointer to the read-locked nvsg::Points to analyze.
Remarks:
A nvsg::Points is tested for emptiness (no indices) and for equivalence with any previously encountered nvsg::Points.
See also:
nvsg::Points, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadMeshes ( const nvsg::QuadMeshes * p ) [protected, virtual]

Analyze a nvsg::QuadMeshes.

Parameters:
p A pointer to the read-locked nvsg::QuadMeshes to analyze.
Remarks:
A nvsg::QuadMeshes is tested for emptiness (no meshes) and for equivalence with any previously encountered nvsg::QuadMeshes.
See also:
nvsg::QuadMeshes, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Analyze a nvsg::Quads.

Parameters:
p A pointer to the read-locked nvsg::Quads to analyze.
Remarks:
A nvsg::Quads is tested for emptiness (no indices) and for equivalence with any previously encountered nvsg::Quads.
See also:
nvsg::Quads, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Analyze a nvsg::QuadStrips.

Parameters:
p A pointer to the read-locked nvsg::QuadStrips to analyze.
Remarks:
A nvsg::QuadStrips is tested for emptiness (no strips), for equivalence with any previously encountered nvsg::Quads, and for holding strips of length up to only four.
See also:
nvsg::QuadStrips, EmptyResult, EquivalenceResult, ShortStrippedResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRTFx ( const nvsg::RTFx * p ) [protected, virtual]

Handler function for an RTFx.

Parameters:
rtfx A pointer to the read-locked RTFx being traversed.
Remarks:
This function is called from the framework whenever an RTFx is encountered on traversal. The RTFx rtfx is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleShape ( const nvsg::Shape * p ) [protected, virtual]

Analyze a nvsg::Shape.

Parameters:
p A pointer to the read-locked nvsg::Shape to analyze.
Remarks:
A nvsg::Shape is tested for emptiness (no primitive sets) and for equivalence with any previously encountered nvsg::Shape.
See also:
nvsg::Shape, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSkin ( const nvsg::Skin * p ) [protected, virtual]

Analyze a nvsg::Skin.

Parameters:
p A pointer to the read-locked nvsg::Skin to analyze.
Remarks:
A nvsg::Skin is tested for emptiness (no joints) and equivalence with any previously encountered nvsg::Skin.
See also:
nvsg::Skin, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Analyze a nvsg::SpotLight.

Parameters:
p A pointer to the read-locked nvsg::SpotLight to analyze.
Remarks:
A nvsg::SpotLight is tested for equivalence with any previously encountered nvsg::SpotLight.
See also:
nvsg::SpotLight, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStatePass ( const nvsg::StatePass * p ) [protected, virtual]

Analyze a nvsg::StatePass.

Parameters:
p A pointer to the read-locked nvsg::StatePass to analyze.
Remarks:
A nvsg::StatePass is tested for emptiness (no attributes) and for equivalence with any previously encountered nvsg::StatePass.
See also:
nvsg::StatePass, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Analyze a nvsg::StateSet.

Parameters:
p A pointer to the read-locked nvsg::StateSet to analyze.
Remarks:
A nvsg::StateSet is tested for emptiness (no variants) and for equivalence with any previously encountered nvsg::StateSet.
See also:
nvsg::StateSet, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateVariant ( const nvsg::StateVariant * p ) [protected, virtual]

Analyze a nvsg::StateVariant.

Parameters:
p A pointer to the read-locked nvsg::StateVariant to analyze.
Remarks:
A nvsg::StateVariant is tested for emptiness (no passes) and for equivalence with any previously encountered nvsg::StateVariant.
See also:
nvsg::StateVariant, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Analyze a nvsg::Switch.

Parameters:
p A pointer to the read-locked nvsg::Switch to analyze.
Remarks:
A nvsg::Switch is tested for emptiness (no children) and for equivalence with any previously encountered nvsg::Switch.
See also:
nvsg::Switch, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Analyze a nvsg::TextureAttribute.

Parameters:
p A pointer to the read-locked nvsg::TextureAttribute to analyze.
Remarks:
A nvsg::TextureAttribute is tested for emptiness (no items) and for equivalence with any previously encountered nvsg::TextureAttribute.
See also:
nvsg::TextureAttribute, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * p ) [protected, virtual]

Analyze a nvsg::TextureAttributeItem.

Parameters:
p A pointer to the read-locked nvsg::TextureAttributeItem to analyze.
Remarks:
A nvsg::TextureAttributeItem is tested for equivalence with any previously encountered nvsg::TextureAttributeItem.
See also:
nvsg::TextureAttributeItem, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTrafoAnimation ( const nvsg::Animation< nvmath::Trafo > * p ) [protected, virtual]

Analyze an nvsg::Animation of type nvmath::Trafo.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
An Animation of type nvmath::Trafo is tested for emptiness (no AnimationDescription) and for equivalence with any previously encounted Animation of type nvmath::Trafo.
See also:
nvsg::AnimationState, nvmath::Trafo, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Analyze a nvsg::Transform.

Parameters:
p A pointer to the read-locked nvsg::Transform to analyze.
Remarks:
A nvsg::Transform is tested for emptiness (no children), for equivalence with any previously encountered nvsg::Transform, and for being the identity transform.
See also:
nvsg::Transform, EmptyResult, EquivalenceResult, IdentityResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Analyze a nvsg::Triangles.

Parameters:
p A pointer to the read-locked nvsg::Triangles to analyze.
Remarks:
A nvsg::Triangles is tested for emptiness (no indices) and for equivalence with any previously encountered nvsg::Triangles.
See also:
nvsg::Triangles, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriFans ( const nvsg::TriFans * p ) [protected, virtual]

Analyze a nvsg::TriFans.

Parameters:
p A pointer to the read-locked nvsg::TriFans to analyze.
Remarks:
A nvsg::TriFans is tested for emptiness (no strips), for equivalence with any previously encountered nvsg::TriFans, and for holding fans of length up to only three.
See also:
nvsg::TriFans, EmptyResult, EquivalenceResult, ShortStrippedResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Analyze a nvsg::TriStrips.

Parameters:
p A pointer to the read-locked nvsg::TriStrips to analyze.
Remarks:
A nvsg::TriStrips is tested for emptiness (no strips), for equivalence with any previously encountered nvsg::TriStrips, and for holding strips of length up to only three.
See also:
nvsg::TriStrips, EmptyResult, EquivalenceResult, ShortStrippedResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleVertexAttributeAnimation ( const nvsg::Animation< nvsg::VertexAttribute > * p ) [protected, virtual]

Analyze an nvsg::Animation of type VertexAttribute.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
An Animation of type VertexAttribute is tested for emptiness (no AnimationDescription) and for equivalence with any previously encounted Animation of type VertexAttributeSet.
See also:
nvsg::AnimationState, VertexAttribute, EmptyResult, EquivalenceResult

Reimplemented from SharedTraverser.

virtual NVSG_API void handleVertexAttributeSet ( const nvsg::VertexAttributeSet * p ) [protected, virtual]

Analyze a nvsg::VertexAttributeSet.

Parameters:
p A pointer to the read-locked nvsg::VertexAttributeSet to analyze.
Remarks:
A nvsg::VertexAttributeSet is tested for emptiness (no vertices), for equivalence with any previously encountered nvsg::VertexAttributeSet, and for holding denormalized normals.
See also:
nvsg::VertexAttributeSet, EmptyResult, EquivalenceResult, DenormalizedNormalsResult, NullNormalsResult

Reimplemented from SharedTraverser.

virtual NVSG_API void traversePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Analyze an nvsg::Primitive.

Parameters:
p A poitner to the read-locked nvsg::Primitive to analyze.
Remarks:
An nvsg::Primitive is tested for combinability, emptiness, equivalence containing a redundant nvsg::IndexSet, and holding a VertexAttributeSet with unused vertices.
See also:
CombinableResult, EmptyResult, EquivalenceResult, RedundantIndexSetResult, UnusedVerticesResult

Reimplemented from SharedTraverser.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:38 2012 for SceniX


SceniX: Member List

AnalyzeTraverser Member List

This is the complete list of members for AnalyzeTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
AnalyzeTraverser(void) | AnalyzeTraverser |
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | AnalyzeTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getAnalysis(std::vector< AnalyzeResult * > &results) const | AnalyzeTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | SharedTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | AnalyzeTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *p) | AnalyzeTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | AnalyzeTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *p) | AnalyzeTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | AnalyzeTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *p) | AnalyzeTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | AnalyzeTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | AnalyzeTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *p) | AnalyzeTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *p) | AnalyzeTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *p) | AnalyzeTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | AnalyzeTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | AnalyzeTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | AnalyzeTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *p) | AnalyzeTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *p) | AnalyzeTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | AnalyzeTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *p) | AnalyzeTraverser | [protected, virtual]
handleLines(const nvsg::Lines *p) | AnalyzeTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *p) | AnalyzeTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | AnalyzeTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | AnalyzeTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *camera) | SharedTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *camera) | SharedTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *camera) | SharedTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *p) | AnalyzeTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | AnalyzeTraverser | [protected, virtual]
handlePoints(const nvsg::Points *p) | AnalyzeTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *primitive) | SharedTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *p) | AnalyzeTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *patches) | SharedTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *patches) | SharedTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | AnalyzeTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | AnalyzeTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *patches) | SharedTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | SharedTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *p) | AnalyzeTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *p) (defined in AnalyzeTraverser) | AnalyzeTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *p) | AnalyzeTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *p) | AnalyzeTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | AnalyzeTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *p) | AnalyzeTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | AnalyzeTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *p) | AnalyzeTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | SharedTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | AnalyzeTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | AnalyzeTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p) | AnalyzeTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *p) | AnalyzeTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | AnalyzeTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | AnalyzeTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *p) | AnalyzeTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *patches) | SharedTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *patches) | SharedTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | AnalyzeTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | SharedTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *p) | AnalyzeTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *p) | AnalyzeTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | AnalyzeTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~AnalyzeTraverser(void) | AnalyzeTraverser | [protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:38 2012 for SceniX


SceniX: AnimatedTransform Class Reference

nvsg::AnimatedTransform

AnimatedTransform Class Reference

Class representing an animated Transform. More...

#include <AnimatedTransform.h>

Inheritance diagram for AnimatedTransform:

[legend]
Collaboration diagram for AnimatedTransform:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const nvmath::Trafo & | getTrafo (void) const
Get the current transformation represented by this AnimatedTransform.
virtual NVSG_API void | setTrafo (const nvmath::Trafo &trafo)
Set the current transformation for this AnimatedTransform.
NVSG_API const TrafoAnimationSharedPtr & | getAnimation () const
Get a pointer to the constant Animation.
NVSG_API void | setAnimation (const TrafoAnimationSharedPtr &animation)
Set the Animation.
NVSG_API AnimatedTransform & | operator= (const AnimatedTransform &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another AnimatedTransform.
REFLECTION_INFO_API (NVSG_API, AnimatedTransform)

Static Public Member Functions

static NVSG_API AnimatedTransformSharedPtr | create ()

Protected Member Functions

NVSG_API | AnimatedTransform ()
Default-constructs a AnimatedTransform.
NVSG_API | AnimatedTransform (const AnimatedTransform &rhs)
Constructs a AnimatedTransform as a copy of another AnimatedTransform.
virtual NVSG_API | ~AnimatedTransform ()
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API bool | determineAnimationContainment () const
Returns whether an animation is attached.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the AnimatedTransform's axis-aligned bounding box.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculates the AnimatedTransform's bounding sphere.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class representing an animated Transform.

Namespace: nvsg
Remarks:
An AnimatedTransform is a Transform that also holds an Animation of nvmath::Trafo objects. The nvmath::Trafo to use is determined from the Animation of each frame.
See also:
Animation, nvmath::Trafo, Transform

Constructor & Destructor Documentation

NVSG_API AnimatedTransform ( ) [protected]

Default-constructs a AnimatedTransform.

NVSG_API AnimatedTransform ( const AnimatedTransform & rhs ) [protected]

Constructs a AnimatedTransform as a copy of another AnimatedTransform.

virtual NVSG_API ~AnimatedTransform ( ) [protected, virtual]

Destructs a AnimatedTransform

Member Function Documentation

const nvmath::Trafo & getTrafo ( void ) const [inline, virtual]

Get the current transformation represented by this AnimatedTransform.

Returns:
The nvmath::Trafo, representing the current transformation.
See also:
nvmath::Trafo, setTrafo

Reimplemented from Transform.

virtual NVSG_API void setTrafo ( const nvmath::Trafo & trafo ) [virtual]

Set the current transformation for this AnimatedTransform.

Parameters:
trafo A reference to the constant nvmath::Trafo to use.
Remarks:
The current transformation is replaced by trafo.
See also:
nvmath::Trafo, getTrafo

Reimplemented from Transform.

const TrafoAnimationSharedPtr & getAnimation ( ) const [inline]

Get a pointer to the constant Animation.

Returns:
The Animation of this AnimatedTransform.
See also:
Animation, nvmath::Trafo

NVSG_API void setAnimation ( const TrafoAnimationSharedPtr & animation )

Set the Animation.

Parameters:
animation The Animation to set.
Remarks:
If these a current Animation and the new Animation hold a different number of frames, the number of frames is invalidated. The current frame is reset to zero.
Note:
The behavior is undefined if animation is not valid.
See also:
Animation, nvmath::Trafo, invalidateAnimationContainment

NVSG_API AnimatedTransform& operator= ( const AnimatedTransform & rhs )

Assignment operator.

Parameters:
rhs Reference to a constant AnimatedTransform to copy from
Returns:
A reference to the assigned AnimatedTransform
Remarks:
The assignment operator first calls the assignment operator of Transform. Then the reference count of the current Animation is decremented, the Animation of rhs is cloned, and it's reference count is incremented.
See also:
Animation, Transform

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another AnimatedTransform.

Parameters:
p | Pointer to the constant AnimatedTransform to test for equivalence with
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the AnimatedTransform p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Transform objects, their Animation objects are tested for equivalence. If deepCompare is false, they are considered to be equivalent if they are the same pointers. Otherwise, a full equivalence test is performed.
Note:
The behavior is undefined if p is not an AnimatedTransform nor derived from one.
See also:
Animation, Object, Transform

Reimplemented from Transform.

bool determineAnimationContainment ( ) const [inline, protected, virtual]

Returns whether an animation is attached.

Returns:
true if an animation is attached. false otherwise.
Remarks:
This function overrides the base class implementation to report back correct status of animation containment. It is called from the framework on query through the Object::containsAnimation API if the current animation containment status is detected not valid.
See also:
Object::containsAnimation

Reimplemented from Group.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the AnimatedTransform's axis-aligned bounding box.

Returns:
The function returns the AnimatedTransform's axis-aligned bounding box in world space.
Remarks:
This function overrides Transform::calculateBoundingBox in order to also flag the bounding box of the attached Animation object valid. This is required for the reverse process of invalidating bounding volumes to work as expected. The bounding volume of an AnimatedTransform becomes invalid as the attached Animation advances. In this case the Animation calls invalidateBoundingVolumes to notify owning Objects about the status change. The change in bounding volumes will be communicated up the hierarchy only if the bounding volume status of the Animation is flagged valid.
See also:
Object::invalidateBoundingVolumes

Reimplemented from Transform.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculates the AnimatedTransform's bounding sphere.

Returns:
The function returns the AnimatedTransform's bounding sphere in world space.
Remarks:
This function overrides Transform::calculateBoundingBox in order to also flag the bounding box of the attached Animation object valid. This is required for the reverse process of invalidating bounding volumes to work as expected. The bounding volume of an AnimatedTransform becomes invalid as the attached Animation advances. In this case the Animation calls invalidateBoundingVolumes to notify owning Objects about the status change. The change in bounding volumes will be communicated up the hierarchy only if the bounding volume status of the Animation is flagged valid.
See also:
Object::invalidateBoundingVolumes

Reimplemented from Transform.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Transform.

The documentation for this class was generated from the following file:
  • AnimatedTransform.h
Generated on Fri Jul 13 13:29:49 2012 for SceniX


SceniX: Member List

AnimatedTransform Member List

This is the complete list of members for AnimatedTransform, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
AnimatedTransform() | AnimatedTransform | [protected]
AnimatedTransform(const AnimatedTransform &rhs) | AnimatedTransform | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
calculateBoundingBox() const | AnimatedTransform | [protected, virtual]
calculateBoundingSphere() const | AnimatedTransform | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in AnimatedTransform) | AnimatedTransform | [static]
DECLARE_STATIC_PROPERTY(Center) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(ScaleOrientation) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Scaling) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Translation) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Matrix) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Inverse) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
decrementJointCount() | Transform | [protected]
determineAnimationContainment() const | AnimatedTransform | [inline, protected, virtual]
determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Group) | Group | [protected, virtual]
determineLODContainment() const (defined in Group) | Group | [protected, virtual]
determineShaderContainment() const (defined in Group) | Group | [protected, virtual]
determineTransparencyContainment() const (defined in Group) | Group | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | AnimatedTransform | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
getAnimation() const | AnimatedTransform | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getCenter(void) const (defined in Transform) | Transform | [inline]
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverse(void) const (defined in Transform) | Transform | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMatrix(void) const (defined in Transform) | Transform | [inline]
getName() const | Object |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const (defined in Transform) | Transform | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getScaleOrientation(void) const (defined in Transform) | Transform | [inline]
getScaling(void) const (defined in Transform) | Transform | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTrafo(void) const | AnimatedTransform | [inline, virtual]
getTranslation(void) const (defined in Transform) | Transform | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementJointCount() | Transform | [protected]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | AnimatedTransform | [virtual]
isJoint() const | Transform | [inline]
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const AnimatedTransform &rhs) | AnimatedTransform |
nvsg::Transform::operator=(const Transform &rhs) | Transform |
nvsg::Group::operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postAddChild(unsigned int position) | Group | [protected, virtual]
postRemoveChild(unsigned int position) | Group | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, AnimatedTransform) (defined in AnimatedTransform) | AnimatedTransform |
REFLECTION_INFO_API(NVSG_API, Transform) (defined in Transform) | Transform |
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setAnimation(const TrafoAnimationSharedPtr &animation) | AnimatedTransform |
setAnnotation(const std::string &anno) | Object |
setCenter(const nvmath::Vec3f &value) (defined in Transform) | Transform |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMatrix(const nvmath::Mat44f &value) (defined in Transform) | Transform |
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &value) (defined in Transform) | Transform |
setScaleOrientation(const nvmath::Quatf &value) (defined in Transform) | Transform |
setScaling(const nvmath::Vec3f &value) (defined in Transform) | Transform |
setTrafo(const nvmath::Trafo &trafo) | AnimatedTransform | [virtual]
setTranslation(const nvmath::Vec3f &value) (defined in Transform) | Transform |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in AnimatedTransform) | AnimatedTransform | [protected, virtual]
Transform(void) | Transform | [protected]
Transform(const Transform &rhs) | Transform | [protected]
~AnimatedTransform() | AnimatedTransform | [protected, virtual]
~Group() | Group | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]
~Transform(void) | Transform | [protected, virtual]

Generated on Fri Jul 13 13:29:49 2012 for SceniX


SceniX: AnimatedVertexAttributeSet Class Reference

nvsg::AnimatedVertexAttributeSet

AnimatedVertexAttributeSet Class Reference

Provides functionality to work with animated vertex attribute data. More...

#include <AnimatedVertexAttributeSet.h>

Inheritance diagram for AnimatedVertexAttributeSet:

[legend]
Collaboration diagram for AnimatedVertexAttributeSet:

[legend]
List of all members.

Public Member Functions

NVSG_API AnimatedVertexAttributeSet & | operator= (const AnimatedVertexAttributeSet &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other AnimatedVertexAttributeSet.
virtual NVSG_API void | setVertexData (unsigned int attrib, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Overwrite of setVertexData in VertexAttributeSet.
virtual NVSG_API void | setVertexData (unsigned int attrib, unsigned int pos, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Overwrite of setVertexData in VertexAttributeSet.
virtual NVSG_API void | setVertexData (unsigned int attrib, const unsigned int *to, const unsigned int *from, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Overwrite of setVertexData in VertexAttributeSet.
virtual NVSG_API void | removeVertexData (unsigned int attrib)
Overwrite of removeVertexData in VertexAttributeSet.
virtual NVSG_API Buffer::DataReadLock | getVertexData (unsigned int attrib) const
Overwrite of getVertexData in VertexAttributeSet.
virtual NVSG_API const BufferSharedPtr & | getVertexBuffer (unsigned int attrib) const
Retrieve the nvsg::BufferSharedPtr corresponding to the given attribute at the current animation value.
virtual NVSG_API unsigned int | getSizeOfVertexData (unsigned int attrib) const
Overwrite of getSizeOfVertexData in VertexAttribute.
virtual NVSG_API unsigned int | getTypeOfVertexData (unsigned int attrib) const
Overwrite of getSizeOfVertexData in VertexAttributeSet.
virtual NVSG_API unsigned int | getNumberOfVertexData (unsigned int attrib) const
Overwrite to getNumberOfVertexData in VertexAttributeSet.
NVSG_API const VertexAttributeAnimationSharedPtr & | getAnimation (unsigned int attrib) const
Get the animation of a specified VertexAttribute.
NVSG_API void | setAnimation (unsigned int attrib, const VertexAttributeAnimationSharedPtr &animation)
Set the animation of a specified VertexAttribute.
NVSG_API void | setNormalize (unsigned int attrib, bool normalize)
Set the normalize flag for a specified VertexAttribute.
NVSG_API bool | getNormalize (unsigned int attrib) const
Get the normalize flag for a specified VertexAttribute.
NVSG_API unsigned int | getNormalizeFlags () const
Get the normalize flags of all VertexAttributes as a bit mask.
REFLECTION_INFO_API (NVSG_API, AnimatedVertexAttributeSet)

Static Public Member Functions

static NVSG_API AnimatedVertexAttributeSetSharedPtr | create ()

Protected Member Functions

NVSG_API | AnimatedVertexAttributeSet ()
Default constructor.
NVSG_API | AnimatedVertexAttributeSet (const AnimatedVertexAttributeSet &rhs)
Copy constructor.
virtual NVSG_API | ~AnimatedVertexAttributeSet ()
Destructor.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API bool | determineAnimationContainment () const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Provides functionality to work with animated vertex attribute data.

Remarks:
An AnimatedVertexAttributeSet holds a set of pointers to VertexAttributeAnimation, one for each animated vertex attribute. The values for a specified animation frame are copied into corresponding vertex attribute data of the base class. Vertex attributes without an animation are not changed there. That way, for example vertices and normals of a VertexAttributeSet can be animated while any texture coordinates are kept constant.
See also:
VertexAttributeData, VertexAttribute, VertexAttributeAnimation

Constructor & Destructor Documentation

NVSG_API AnimatedVertexAttributeSet ( ) [protected]

Default constructor.

Remarks:
Creates an empty AnimatedVertexAttributeSet, without any animations.

NVSG_API AnimatedVertexAttributeSet ( const AnimatedVertexAttributeSet & rhs ) [protected]

Copy constructor.

Parameters:
rhs AnimatedVertexAttributeSet to copy from.
Remarks:
Creates an AnimatedVertexAttributeSet by copying the data from rhs. Any animations in rhs are referenced in the resulting AnimatedVertexAttributeSet.

virtual NVSG_API ~AnimatedVertexAttributeSet ( ) [protected, virtual]

Destructor.

Remarks:
Any Animation in that AnimatedVertexAttributeSet is dereferenced once.
See also:
Animation

Member Function Documentation

NVSG_API AnimatedVertexAttributeSet& operator= ( const AnimatedVertexAttributeSet & rhs )

Assignment operator.

Parameters:
rhs AnimatedVertexAttributeSet to assign.
Returns:
A reference to this.
Remarks:
Any animations in rhs are referenced once.
See also:
Animation

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other AnimatedVertexAttributeSet.

Parameters:
p | A pointer to an Object to test for equivalence with.
ignoreNames | true, if names are to be ignored in the equivalence test, otherwise false.
deepCompare | true, if a deep compare should be done, otherwise false.
Returns:
true, if this and p are equivalent, otherwise false.
Remarks:
An Object p is considered to be equivalent to the AnimatedVertexAttributeSet this, if it also is an AnimatedVertexAttributeSet, is equivalent as a VertexAttributeSet, have the same normalize flags, and, if deepCompare is true, have animations on the same vertex attributes and those are pairwise equivalent, or, if deepCompare is false, have the exact same animations on the vertex attributes.
See also:
Animation, VertexAttribute

Reimplemented from VertexAttributeSet.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) | [virtual]

Overwrite of setVertexData in VertexAttributeSet.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, sympbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
If there's an animation defined for the specified attribute, the data is also set into the current step of the animation.
See also:
VertexAttributeSet, removeVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | unsigned int | pos,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) | [virtual]

Overwrite of setVertexData in VertexAttributeSet.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
pos | Marks the position of the first vertex inside the already specified array of vertex data, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of vertex data.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, sympbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
If there's an animation defined for the specified attribute, the data is also set into the current step of the animation.
See also:
VertexAttributeSet, removeVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | const unsigned int * | to,
 |  | const unsigned int * | from,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) | [virtual]

Overwrite of setVertexData in VertexAttributeSet.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
to | Specifies the start address of the index array, that will be taken to reference the respective vertex data to be re-specified. If NULL is passed here, the input vertex data will be appended to the array of vertex data that previously was specified.
from | Specifies the start address of the index array, that will be taken to reference the input vertex data to overwrite the previously specified vertex data.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, sympbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
If there's an animation defined for the specified attribute, the data is also set into the current step of the animation.
See also:
VertexAttributeSet, removeVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API void removeVertexData ( unsigned int attrib ) [virtual]

Overwrite of removeVertexData in VertexAttributeSet.

Parameters:
attrib Specifies the vertex attribute for which to remove previously copied vertex data.
Remarks:
If there's an animation defined for the specified attribute, the data of the current step is removed.
See also:
VertexAttributeSet, setVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API Buffer::DataReadLock getVertexData ( unsigned int attrib ) const [virtual]

Overwrite of getVertexData in VertexAttributeSet.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns a type-less pointer to the vertex data that was assigned to the vertex attribute indicated by attrib prior to this call. If for this vertex attribute no vertex data was specified before, the function returns NULL.
Remarks:
If there's an animation defined for the specified attribute, the VertexAttribute data from the current animation step is returned.
See also:
getSizeOfVertexData, getTypeOfVertexData, getNumberOfVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API const BufferSharedPtr& getVertexBuffer ( unsigned int attrib ) const [virtual]

Retrieve the nvsg::BufferSharedPtr corresponding to the given attribute at the current animation value.

Parameters:
attrib Specifies the vertex attribute from which to get the vertex data.
Returns:
The Buffer for the given attribute. It is invalid if no data was specified before.

Reimplemented from VertexAttributeSet.

virtual NVSG_API unsigned int getSizeOfVertexData ( unsigned int attrib ) const [virtual]

Overwrite of getSizeOfVertexData in VertexAttribute.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns the number of coordinates per vertex stored for the indicated attribute. This number can be 1, 2, 3, or 4. If no vertex data was specified for this vertex attribute before, the function returns 0.
Remarks:
If there's an animation defined for the specified attribute, the size of the VertexAttribute data from the current animation step is returned.
See also:
getVertexData, getTypeOfVertexData, getNumberOfVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API unsigned int getTypeOfVertexData ( unsigned int attrib ) const [virtual]

Overwrite of getSizeOfVertexData in VertexAttributeSet.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns a symbolic constant indicating the type of each coordinate in the vertex array stored for the specified vertex attribute. If no vertex data was specified for this vertex attribute before, the function returns NVSG_UNSUPPORTED_TYPE.
Remarks:
The function returns the per-coordinate type specifier that was used with a corresponding call to setVertexData. Use getSizeOfVertexData to query the number of coordinates for each vertex stored. You can use the nvsg::sizeOfType convenient function to determine the size in bytes of the type returned by this function.

If there's an animation defined for the specified attribute, the type of the VertexAttribute data from the current animation step is returned.

See also:
getVertexData, getSizeOfVertexData, getNumberOfVertexData

Reimplemented from VertexAttributeSet.

virtual NVSG_API unsigned int getNumberOfVertexData ( unsigned int attrib ) const [virtual]

Overwrite to getNumberOfVertexData in VertexAttributeSet.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns the number of data elements stored for the indicated vertex attribute.
Remarks:
If there's an animation defined for the specified attribute, the number of data elements of the VertexAttribute data from the current animation step is returned.
See also:
getVertexData, getSieOfVertexData, getTypeOfVertexData

Reimplemented from VertexAttributeSet.

const VertexAttributeAnimationSharedPtr & getAnimation ( unsigned int attrib ) const [inline]

Get the animation of a specified VertexAttribute.

Parameters:
attrib The identifier of the VertexAttribute.
Returns:
The VertexAttributeAnimation attached to the VertexAttribute attrib.
See also:
Animation, VertexAttribute, setAnimation

NVSG_API void setAnimation | ( | unsigned int | attrib,
 |  | const VertexAttributeAnimationSharedPtr & | animation
 | ) |

Set the animation of a specified VertexAttribute.

Parameters:
attrib | The identifier of the VertexAttribute.
animation | The VertexAttributeAnimation to attach to the VertexAttribute attrib
Remarks:
If animation is not NULL, it's reference count is incremented. If there is an animation attached to the VertexAttribute specified by \ attrib, it's reference count is decremented. animation is stored as the animation of the VertexAttribute attrib, if the current frame is set, the corresponding values are copied from the new animation into the VertexAttribute, and the incarnation of this AnimatedVertexAttributeSet is invalidated.
See also:
getAnimation

NVSG_API void setNormalize | ( | unsigned int | attrib,
 |  | bool | normalize
 | ) |

Set the normalize flag for a specified VertexAttribute.

Parameters:
attrib | The identifier of the VertexAttribute.
normalize | true, if this VertexAttribute should be normalized, otherwise false.
Remarks:
Some animations perform some kind of interpolation between two or more key frame values. If the normalize flag is set for such a VertexAttribute, the resulting values are normalized. This is necessary for normals, for example.
See also:
getNormalize

bool getNormalize ( unsigned int attrib ) const [inline]

Get the normalize flag for a specified VertexAttribute.

Parameters:
attrib The identifier of the VertexAttribute.
Returns:
true, if the normalize flag for the VertexAttribute specified by attrib is set, otherwise false.
See also:
setNormalize

unsigned int getNormalizeFlags ( ) const [inline]

Get the normalize flags of all VertexAttributes as a bit mask.

Returns:
The normalize flags of all VertexAttributes as a bit mask.
See also:
getNormalize, setNormalize

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from VertexAttributeSet.

The documentation for this class was generated from the following file:
  • AnimatedVertexAttributeSet.h
Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: Member List

AnimatedVertexAttributeSet Member List

This is the complete list of members for AnimatedVertexAttributeSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
AnimatedVertexAttributeSet() | AnimatedVertexAttributeSet | [protected]
AnimatedVertexAttributeSet(const AnimatedVertexAttributeSet &rhs) | AnimatedVertexAttributeSet | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in AnimatedVertexAttributeSet) | AnimatedVertexAttributeSet | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in AnimatedVertexAttributeSet) | AnimatedVertexAttributeSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | AnimatedVertexAttributeSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateTexCoords(VertexAttributeSet *vas, TextureCoordType tct, const nvmath::Sphere3f &sphere, unsigned int tc=VertexAttributeSet::NVSG_TEXCOORD0) | VertexAttributeSet | [related]
getAnimation(unsigned int attrib) const | AnimatedVertexAttributeSet | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getColors() const | VertexAttributeSet | [inline]
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | VertexAttributeSet | [virtual]
getFogCoords() const | VertexAttributeSet | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNormalize(unsigned int attrib) const | AnimatedVertexAttributeSet | [inline]
getNormalizeFlags() const | AnimatedVertexAttributeSet | [inline]
getNormals() const | VertexAttributeSet | [inline]
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfColors() const | VertexAttributeSet | [inline]
getNumberOfFogCoords() const | VertexAttributeSet | [inline]
getNumberOfNormals() const | VertexAttributeSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfSecondaryColors() const | VertexAttributeSet | [inline]
getNumberOfTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getNumberOfVertexData(unsigned int attrib) const | AnimatedVertexAttributeSet | [virtual]
getNumberOfVertices() const | VertexAttributeSet | [inline]
getObjectCode() const | Object | [inline]
getOffsetOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPerVertexBytes() const | VertexAttributeSet | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSecondaryColors() const | VertexAttributeSet | [inline]
getSizeOfColors() const | VertexAttributeSet | [inline]
getSizeOfTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getSizeOfVertexData(unsigned int attrib) const | AnimatedVertexAttributeSet | [virtual]
getStrideOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getTypeOfColors() const | VertexAttributeSet | [inline]
getTypeOfFogCoords() const | VertexAttributeSet | [inline]
getTypeOfSecondaryColors() const | VertexAttributeSet | [inline]
getTypeOfTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getTypeOfVertexData(unsigned int attrib) const | AnimatedVertexAttributeSet | [virtual]
getUserData() const | Object | [inline]
getVertexAttribute(int attrib) const | VertexAttributeSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getVertexBuffer(unsigned int attrib) const | AnimatedVertexAttributeSet | [virtual]
getVertexData(unsigned int attrib) const | AnimatedVertexAttributeSet | [virtual]
getVertices() const | VertexAttributeSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in VertexAttributeSet) | VertexAttributeSet | [inline, protected, virtual]
isContiguousVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
isDataShared(void) const | VertexAttributeSet | [virtual]
isEnabled(unsigned int attrib) const | VertexAttributeSet | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | AnimatedVertexAttributeSet | [virtual]
isNormalizeEnabled(unsigned int attrib) const | VertexAttributeSet | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in VertexAttributeSet) | VertexAttributeSet | [virtual]
NVSG_ATTR0 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR1 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR10 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR11 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR12 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR13 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR14 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR15 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR2 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR3 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR4 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR5 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR6 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR7 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR8 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR9 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_BINORMAL enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_COLOR enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_FOG_COORD enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_NORMAL enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_POSITION enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SECONDARY_COLOR enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TANGENT enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD0 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD1 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD2 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD3 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD4 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD5 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD6 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD7 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_UNUSED_1 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_UNUSED_2 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
NVSG_VERTEX_ATTRIB_COUNT enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_VERTEX_WEIGHT enum value (defined in VertexAttributeSet) | VertexAttributeSet |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const AnimatedVertexAttributeSet &rhs) | AnimatedVertexAttributeSet |
nvsg::VertexAttributeSet::operator=(const VertexAttributeSet &rhs) | VertexAttributeSet |
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in VertexAttributeSet) | VertexAttributeSet | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, AnimatedVertexAttributeSet) (defined in AnimatedVertexAttributeSet) | AnimatedVertexAttributeSet |
REFLECTION_INFO_API(NVSG_API, VertexAttributeSet) (defined in VertexAttributeSet) | VertexAttributeSet |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseCachedData() | VertexAttributeSet | [protected]
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
removeVertexData(unsigned int attrib) | AnimatedVertexAttributeSet | [virtual]
reserveVertexData(unsigned int attrib, unsigned int size, unsigned int type, unsigned int count) | VertexAttributeSet | [virtual]
setAnimation(unsigned int attrib, const VertexAttributeAnimationSharedPtr &animation) | AnimatedVertexAttributeSet |
setAnnotation(const std::string &anno) | Object |
setColors(const nvmath::Vecnt< N, T > *colors, unsigned int count) | VertexAttributeSet | [inline]
setColors(unsigned int pos, const nvmath::Vecnt< N, T > *colors, unsigned int count) | VertexAttributeSet | [inline]
setEnabled(unsigned int attrib, bool enable) | VertexAttributeSet | [inline]
setFogCoords(const T *coords, unsigned int count) | VertexAttributeSet | [inline]
setFogCoords(unsigned int pos, T *coords, unsigned int count) | VertexAttributeSet | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setNormalize(unsigned int attrib, bool normalize) | AnimatedVertexAttributeSet |
setNormalizeEnabled(unsigned int attrib, bool enable) | VertexAttributeSet | [inline]
setNormals(const nvmath::Vec3f *normals, unsigned int count) | VertexAttributeSet | [inline]
setNormals(unsigned int pos, const nvmath::Vec3f *normals, unsigned int count) | VertexAttributeSet | [inline]
setSecondaryColors(const nvmath::Vecnt< 3, T > *colors, unsigned int count) | VertexAttributeSet | [inline]
setSecondaryColors(unsigned int pos, const nvmath::Vecnt< 3, ValueType > *colors, unsigned int count) | VertexAttributeSet | [inline]
setTexCoords(unsigned int unit, const nvmath::Vecnt< N, T > *coords, unsigned int count) | VertexAttributeSet | [inline]
setTexCoords(unsigned int unit, unsigned int pos, const nvmath::Vecnt< N, T > *coords, unsigned int count) | VertexAttributeSet | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttribute(unsigned int attrib, const VertexAttribute &vertexAttribute) | VertexAttributeSet |
setVertexData(unsigned int attrib, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | AnimatedVertexAttributeSet | [virtual]
setVertexData(unsigned int attrib, unsigned int pos, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | AnimatedVertexAttributeSet | [virtual]
setVertexData(unsigned int attrib, const unsigned int *to, const unsigned int *from, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | AnimatedVertexAttributeSet | [virtual]
nvsg::VertexAttributeSet::setVertexData(unsigned int attrib, unsigned int size, unsigned int type, const BufferSharedPtr &buffer, unsigned int offset, unsigned int strideInBytes, unsigned int count) | VertexAttributeSet | [virtual]
setVertices(const nvmath::Vec3f *vertices, unsigned int count) | VertexAttributeSet | [inline]
setVertices(unsigned int pos, const nvmath::Vec3f *vertices, unsigned int count) | VertexAttributeSet | [inline]
subscribeBuffer(int attrib) (defined in VertexAttributeSet) | VertexAttributeSet | [protected]
swapVertexData(unsigned int attrib, VertexAttribute &rhs) | VertexAttributeSet | [virtual]
syncIncarnation(PFNGETINCARNATION) const (defined in AnimatedVertexAttributeSet) | AnimatedVertexAttributeSet | [protected, virtual]
unsubscribeBuffer(int attrib) (defined in VertexAttributeSet) | VertexAttributeSet | [protected]
VertexAttributeSet() | VertexAttributeSet | [protected]
VertexAttributeSet(const VertexAttributeSet &rhs) | VertexAttributeSet | [protected]
~AnimatedVertexAttributeSet() | AnimatedVertexAttributeSet | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~VertexAttributeSet(void) | VertexAttributeSet | [protected, virtual]

Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: Animation Class Template Reference

nvsg::Animation

Animation Class Template Reference

Template class for animations. More...

#include <Animation.h>

Inheritance diagram for Animation:

[legend]
Collaboration diagram for Animation:

[legend]
List of all members.

Public Member Functions

Animation ()
Default-constructs a FramedAnimationDescription.
Animation (const Animation< T > &rhs)
Constructs an Animation as a copy of another Animation.
virtual | ~Animation ()
Destructs a FramedAnimationDescription.
const T & | getCurrentValue () const
Get the current value of this Animation.
unsigned int | getNumberOfFrames () const
Get the number of frames in this Animation.
unsigned int | getNumberOfSteps () const
Get the number of steps in this Animation.
T | getFrameValue (unsigned int frame) const
Get the value of this Animation at the specified frame.
const nvutil::ObjectTraits<
AnimationDescription< T
> >::SharedPtr & 		getDescription () const
Get the AnimationDescription of this Animation.
void | setDescription (const typename nvutil::ObjectTraits< AnimationDescription< T > >::SharedPtr &description)
Set the AnimationDescription of this Animation.
virtual bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other Animation.
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (CurrentValue)

Static Public Member Functions

static nvutil::ObjectTraits<
Animation< T > >::SharedPtr 		create ()

Protected Member Functions

Animation< T > & | operator= (const Animation< T > &rhs)
Protected assignment operator.
virtual void | onInvalidate ()
Tracks Animation's status changes.
virtual unsigned int | frameToStep (unsigned int frame) const
Translates a frame index into a step index.
virtual void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

template<typename T>
class nvsg::Animation< T >

Template class for animations.

Remarks:
An Animation holds the status data of an Animation (via its base class AnimationState), and an AnimationDescription of the appropriate type, that holds the animation data. Together, you can use one set of animation data (AnimationDescription) from multiple Animations (of the same type, of course), to provide animations of different speed or directions, using the same animation data.
See also:
AnimationState, AnimationDescription

Constructor & Destructor Documentation

Animation ( ) [inline]

Default-constructs a FramedAnimationDescription.

Animation ( const Animation< T > & rhs ) [inline]

Constructs an Animation as a copy of another Animation.

~Animation ( ) [inline, virtual]

Destructs a FramedAnimationDescription.

Member Function Documentation

const T & getCurrentValue ( ) const [inline]

Get the current value of this Animation.

Returns:
The current value of this Animation.
Remarks:
The current value is used in the current animation step.
See also:
getCurrentStep

unsigned int getNumberOfFrames ( ) const [inline, virtual]

Get the number of frames in this Animation.

Returns:
The number of frames in this Animation.
Remarks:
The number of frames is determined by the number of steps, the number of loops, and the looping mode (either looping or swinging). If the Animation is infinite (due to the loop count set to zero) or larger than UINT_MAX, UINT_MAX is returned.
See also:
getNumberOfSteps

Implements AnimationState.

unsigned int getNumberOfSteps ( ) const [inline, virtual]

Get the number of steps in this Animation.

Returns:
The number of steps in this Animation.
Remarks:
The number of steps of an animation is the pure length of it, without considering any loops or the looping mode. It is always finite.
See also:
getNumberOfFrames

Implements AnimationState.

T getFrameValue ( unsigned int frame ) const [inline]

Get the value of this Animation at the specified frame.

Parameters:
frame The frame index of the Animation to get the value at.
Returns:
The value of this Animation at the specified step.
See also:
getStepValue

const nvutil::ObjectTraits< AnimationDescription< T > >::SharedPtr & getDescription ( ) const

Get the AnimationDescription of this Animation.

Returns:
The AnimationDescription of this Animation.
Remarks:
An Animation holds an AnimationDescription that holds the data for this Animation.
See also:
setDescription

void setDescription ( const typename nvutil::ObjectTraits< AnimationDescription< T > >::SharedPtr & description ) [inline]

Set the AnimationDescription of this Animation.

Parameters:
description The AnimationDescription to set.
Remarks:
An Animation holds an AnimationDescription that holds the data for this Animation.
See also:
getDescription

bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Test for equivalence with an other Animation.

Parameters:
p | A pointer to an Object to test for equivalence with.
ignoreNames | true, if names are to be ignored in the equivalence test, otherwise false.
deepCompare | true, if a deep compare should be done, otherwise false.
Returns:
true, if this and p are equivalent, otherwise false.
Remarks:
An Object p is considered to be equivalent to the Animation this, if it is also an Animation of type T, and it is equivalent to this as an Object.

Reimplemented from AnimationState.

Animation< T > & operator= ( const Animation< T > & rhs ) [inline, protected]

Protected assignment operator.

Parameters:
rhs Reference of the constant Animation to copy from
Returns:
A reference to the assigned Animation.
Remarks:
The assignment operator just calls the assignment operator of Object.
See also:
Object

void onInvalidate ( ) [inline, protected, virtual]

Tracks Animation's status changes.

Remarks:
This function overrides AnimationState::onInvalidate to invalidate internal animation status.

Reimplemented from AnimationState.

unsigned int frameToStep ( unsigned int frame ) const [inline, protected, virtual]

Translates a frame index into a step index.

Parameters:
frame The frame index to translate.
Returns:
The step index corresponding to the frame index frame.
Remarks:
The index-operator operator[i] simply accesses the i'th value of an Animation. To access the value corresponding to a frame counter, you have to translate that frame counter to the step counter. This function does that calculation.
See also:
getNumberOfSteps

Implements AnimationState.

void feedHashGenerator ( nvutil::HashGenerator & hg ) const [inline, protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from AnimationState.

The documentation for this class was generated from the following file:
  • Animation.h
Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: Member List

Animation Member List

This is the complete list of members for Animation, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
advance(unsigned int tick, int delta=1) | AnimationState | [inline]
Animation() | Animation | [inline]
Animation(const Animation< T > &rhs) | Animation | [inline]
AnimationState(void) | AnimationState | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Animation) | Animation | [inline, static]
DECLARE_STATIC_PROPERTY(CurrentValue) (defined in Animation) | Animation |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Animation | [inline, protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
frameToStep(unsigned int frame) const | Animation | [inline, protected, virtual]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getCurrentFrame() const | AnimationState | [inline]
getCurrentStep() const | AnimationState | [inline]
getCurrentValue() const | Animation | [inline]
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDescription() const | Animation |
getFrameValue(unsigned int frame) const | Animation | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getLoopCount() const | AnimationState | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFrames() const | Animation | [inline, virtual]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfSteps() const | Animation | [inline, virtual]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSpeed() const | AnimationState | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
invalidate() | AnimationState | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Animation | [inline, virtual]
isForwardAnimation() const | AnimationState | [inline]
isRunning() const | AnimationState | [inline]
isSwingingAnimation() const | AnimationState | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
onInvalidate() | Animation | [inline, protected, virtual]
operator=(const Animation< T > &rhs) | Animation | [inline, protected]
nvsg::AnimationState::operator=(const AnimationState &rhs) | AnimationState | [inline, protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setCurrentFrame(unsigned int frame) | AnimationState | [inline]
setCurrentStep(unsigned int step) | AnimationState | [inline, protected, virtual]
setDescription(const typename nvutil::ObjectTraits< AnimationDescription< T > >::SharedPtr &description) | Animation | [inline]
setForwardAnimation(bool forward=true) | AnimationState | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setLoopCount(unsigned int count) | AnimationState | [inline]
setName(const std::string &name) | Object |
setSpeed(unsigned int stepsOnAdvance) | AnimationState | [inline]
setSwingingAnimation(bool swing=true) | AnimationState | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
start() | AnimationState | [inline]
stop() | AnimationState | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Animation() | Animation | [inline, virtual]
~AnimationState() (defined in AnimationState) | AnimationState | [inline, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]

Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: AnimationDescription Class Template Reference

nvsg::AnimationDescription

AnimationDescription Class Template Reference

Base class to describe the data of and access to an animation. More...

#include <AnimationDescription.h>

Inheritance diagram for AnimationDescription:

[legend]
Collaboration diagram for AnimationDescription:

[legend]
List of all members.

Public Member Functions

virtual bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other AnimationDescription.
virtual unsigned int | getNumberOfSteps () const =0
Interface to get the number of steps in this AnimationDescription.
virtual T | getStepValue (unsigned int step) const =0
Interface to get the value of the AnimationDescription at the specified step.
virtual void | replaceStep (unsigned int step, const T &value)=0
Interface to replace the value of the AnimationDescription at the specified step.
virtual void | removeStep (unsigned int step)=0
Interface to remove one step of the AnimationDescription.
void | invalidate ()

Protected Member Functions

AnimationDescription (void)
Protected constructor to prevent explicit creation.
AnimationDescription & | operator= (const AnimationDescription &rhs)
Protected assignment operator.

Detailed Description

template<typename T>
class nvsg::AnimationDescription< T >

Base class to describe the data of and access to an animation.

Remarks:
A concrete AnimationDescription provides the per-step access to the animation data.
See also:
AnimationState, Animation, FramedAnimationDescription, KeyFramedAnimationDescription

Constructor & Destructor Documentation

AnimationDescription ( void ) [inline, protected]

Protected constructor to prevent explicit creation.

Remarks:
Because AnimationDescription is an abstract class, its constructor is never used explicitly, but rather in the constructor of derived classes.
See also:
FramedAnimationDescription, KeyFramedAnimationDescription

Member Function Documentation

bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Test for equivalence with an other AnimationDescription.

Parameters:
p | A pointer to an Object to test for equivalence with.
ignoreNames | true, if names are to be ignored in the equivalence test, otherwise false.
deepCompare | true, if a deep compare should be done, otherwise false.
Returns:
true, if this and p are equivalent, otherwise false.
Remarks:
An Object p is considered to be equivalent to the AnimationDescription this, if it is also an AnimationDescription, and it is equivalent to this as an Object.

Reimplemented from Object.

Reimplemented in FramedAnimationDescription, and KeyFramedAnimationDescription.

virtual unsigned int getNumberOfSteps ( ) const [pure virtual]

Interface to get the number of steps in this AnimationDescription.

Returns:
The number of steps in this AnimationDescription.
Remarks:
This is the number of steps to run once from the first to the last defined frame.
See also:
getNumberOfFrames

Implemented in FramedAnimationDescription, and KeyFramedAnimationDescription.

virtual T getStepValue ( unsigned int step ) const [pure virtual]

Interface to get the value of the AnimationDescription at the specified step.

Parameters:
step The step to get the value of the AnimationDescription.
Returns:
The value of the AnimationDescription at the specified step.
See also:
getNumberOfSteps

Implemented in FramedAnimationDescription, KeyFramedAnimationDescription, and LinearInterpolatedAnimationDescription.

virtual void replaceStep | ( | unsigned int | step,
 |  | const T & | value
 | ) | [pure virtual]

Interface to replace the value of the AnimationDescription at the specified step.

Parameters:
step | The step to be replaced in the AnimationDescription
value | The value to be set in the AnimationDescription at the specified step.
See also:
getNumberOfSteps, getStepValue, removeStep

Implemented in FramedAnimationDescription, and KeyFramedAnimationDescription.

virtual void removeStep ( unsigned int step ) [pure virtual]

Interface to remove one step of the AnimationDescription.

Parameters:
step The step to remove from the AnimationDescription.
See also:
getNumberOfSteps, getStepValue, replaceStep

Implemented in FramedAnimationDescription, and KeyFramedAnimationDescription.

AnimationDescription< T > & operator= ( const AnimationDescription< T > & rhs ) [inline, protected]

Protected assignment operator.

Parameters:
rhs Reference of the constant AnimationDescription to copy from
Returns:
A reference to the assigned AnimationDescription.
Remarks:
The assignment operator just calls the assignment operator of Object.
See also:
Object

The documentation for this class was generated from the following file:
  • AnimationDescription.h
Generated on Fri Jul 13 13:29:51 2012 for SceniX


SceniX: Member List

AnimationDescription Member List

This is the complete list of members for AnimationDescription, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
AnimationDescription(void) | AnimationDescription | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Animation< T > > |
getNumberOfSteps() const =0 | AnimationDescription | [pure virtual]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Animation< T > > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getStepValue(unsigned int step) const =0 | AnimationDescription | [pure virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
invalidate() (defined in AnimationDescription) | AnimationDescription | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | AnimationDescription | [inline, virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const AnimationDescription &rhs) | AnimationDescription | [inline, protected]
nvsg::OwnedObject< Animation< T > >::operator=(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Animation< T > > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Animation< T > > | [protected]
OwnedObject(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > | [protected]
OwnerContainer typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
OwnerIterator typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
ownersBegin() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
ownersEnd() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
removeStep(unsigned int step)=0 | AnimationDescription | [pure virtual]
replaceStep(unsigned int step, const T &value)=0 | AnimationDescription | [pure virtual]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~AnimationDescription() (defined in AnimationDescription) | AnimationDescription | [inline, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Animation< T > > | [protected]

Generated on Fri Jul 13 13:29:51 2012 for SceniX


SceniX: AnimationObjectCode< unsigned int > Struct Template Reference

nvsg::AnimationObjectCode< unsigned int >

AnimationObjectCode< unsigned int > Struct Template Reference

#include <Animation.h>

List of all members.

Public Types

enum { ObjectCode = OC_INDEXANIMATION }

Detailed Description

template<typename T>
struct nvsg::AnimationObjectCode< unsigned int >

Helper class for Animation *

The documentation for this struct was generated from the following file:
  • Animation.h
Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

AnimationObjectCode< unsigned int > Member List

This is the complete list of members for AnimationObjectCode< unsigned int >, including all inherited members.

ObjectCode enum value (defined in AnimationObjectCode< unsigned int >) AnimationObjectCode< unsigned int >

Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: AnimationState Class Reference

nvsg::AnimationState

AnimationState Class Reference

Base class of all Animation classes. More...

#include <Animation.h>

Inheritance diagram for AnimationState:

[legend]
Collaboration diagram for AnimationState:

[legend]
List of all members.

Public Member Functions

NVSG_API void | start ()
Start the Animation.
NVSG_API void | stop ()
Stop the Animation.
NVSG_API bool | isRunning () const
Query if this Animation is running.
NVSG_API bool | advance (unsigned int tick, int delta=1)
Advance the Animation.
NVSG_API void | setSpeed (unsigned int stepsOnAdvance)
Set the animation speed.
NVSG_API unsigned int | getSpeed () const
Get the animation speed.
virtual unsigned int | getNumberOfFrames () const =0
Get the number of frames in this Animation.
virtual unsigned int | getNumberOfSteps () const =0
Get the number of steps in this Animation.
NVSG_API unsigned int | getCurrentFrame () const
Get the current frame index of this Animation.
NVSG_API bool | setCurrentFrame (unsigned int frame)
Set the current frame index of this Animation.
NVSG_API unsigned int | getCurrentStep () const
The the current step index of this Animation.
NVSG_API void | setLoopCount (unsigned int count)
Set the number of loops to run.
NVSG_API int | getLoopCount () const
Get the number of loops to run.
NVSG_API void | setForwardAnimation (bool forward=true)
Set the running direction of this Animation.
NVSG_API bool | isForwardAnimation () const
Query if this Animation is running in forward direction.
NVSG_API void | setSwingingAnimation (bool swing=true)
Set the loop behavior of this Animation.
NVSG_API bool | isSwingingAnimation () const
Query if this Animation is running in swing-mode.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other AnimationState.
NVSG_API void | invalidate ()
Signals a change in the AnimationState.

Protected Member Functions

NVSG_API | AnimationState (void)
Protected constructor to prevent explicit creation.
NVSG_API AnimationState & | operator= (const AnimationState &rhs)
Protected assignment operator.
virtual NVSG_API void | setCurrentStep (unsigned int step)
Sets the specified step as the current one.
virtual NVSG_API unsigned int | frameToStep (unsigned int frame) const =0
Translates a frame index into a step index.
virtual NVSG_API void | onInvalidate ()
Called from invalidate.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Base class of all Animation classes.

Remarks:
An AnimationState holds the status data of an Animation. Those data are independent of the type of the animation data.

Constructor & Destructor Documentation

AnimationState ( void ) [inline, protected]

Protected constructor to prevent explicit creation.

Remarks:
Because Animation is an abstract class, its constructor is never used explicitly, but rather in the constructor of derived classes.
See also:
FramedAnimationDescription, InterpolatedAnimation

Member Function Documentation

void start ( ) [inline]

Start the Animation.

Remarks:
While the Animation is running, calling advance() advances the Animation.
Note:
Starting the Animation invalidates the incarnation.
See also:
stop, advance, isRunning, setSpeed, getSpeed

void stop ( ) [inline]

Stop the Animation.

Remarks:
While the Animation is stopped, calling advance() does nothing.
Note:
Stopping the Animation invalidates the incarnation.
See also:
start, advance, isRunning

bool isRunning ( ) const [inline]

Query if this Animation is running.

Returns:
true, if the Animation is running, otherwise false.
See also:
start, stop

bool advance | ( | unsigned int | tick,
 |  | int | delta = 1
 | ) | [inline]

Advance the Animation.

Parameters:
tick | The current tick.
delta | The number of steps to go.
Returns:
true, if the frame did change due to the running animation, otherwise false.
Remarks:
If the Animation is running and its current tick is different from tick, the Animation is advanced by the number of steps specified by setSpeed() times delta, and tick is stored as the current tick. Otherwise nothing is done.
Note:
Advancing the Animation invalidates the incarnation.
See also:
start, stop, isRunning, setSpeed, getSpeed

void setSpeed ( unsigned int stepsOnAdvance ) [inline]

Set the animation speed.

Parameters:
stepsOnAdvance The number of steps in the Animation to advance on a new tick.
Remarks:
Whenever advance() is called with a different tick while the Animation is running, the Animation is advanced by stepsOnAdvance steps.
Note:
Changing the speed invalidates the incarnation.
See also:
getSpeed, advance, start, stop

unsigned int getSpeed ( ) const [inline]

Get the animation speed.

Returns:
The number of steps in the Animation to advance on a new tick.
Remarks:
Whenever advance() is called with a different tick while the Animation is running, the Animation is advanced by the number of steps returned.
See also:
setSpeed

virtual unsigned int getNumberOfFrames ( ) const [pure virtual]

Get the number of frames in this Animation.

Returns:
The number of frames in this Animation.
Remarks:
The number of frames is determined by the number of steps, the number of loops, and the looping mode (either looping or swinging). If the Animation is infinite (due to the loop count set to zero) or larger than UINT_MAX, UINT_MAX is returned.
See also:
getNumberOfSteps

Implemented in Animation.

virtual unsigned int getNumberOfSteps ( ) const [pure virtual]

Get the number of steps in this Animation.

Returns:
The number of steps in this Animation.
Remarks:
The number of steps of an animation is the pure length of it, without considering any loops or the looping mode. It is always finite.
See also:
getNumberOfFrames

Implemented in Animation.

unsigned int getCurrentFrame ( ) const [inline]

Get the current frame index of this Animation.

Returns:
The current frame index of this Animation.
Remarks:
The current frame is the currently used frame. The frame index is mapped to an animation step, using the number of steps, number of loops, and the looping/swinging mode.
See also:
getCurrentStep, getNumberOfFrames

bool setCurrentFrame ( unsigned int frame ) [inline]

Set the current frame index of this Animation.

Returns:
true, if the frame did change, otherwise false.
See also:
advance, getCurrentFrame

unsigned int getCurrentStep ( ) const [inline]

The the current step index of this Animation.

Returns:
The current step index of this Animation.
Remarks:
The current step is the currently used step. The step index is the index into the Animation that defines the currently used value.
See also:
getCurrentValue

void setLoopCount ( unsigned int count ) [inline]

Set the number of loops to run.

Parameters:
count The number of loops to run.
Remarks:
An animation can either run "infinitely" (the loop count is 0), or a finite times. One run is from the first to the last frame in loop-mode (or from the last to the first if running backwards), or from the first to the last and back to the first in swing-mode (or from the last to the first and back to the last if running backwards).
Note:
Changing the loop count invalidates the incarnation.
See also:
getLoopCount, setForwardAnimation, setSwingingAnimation

int getLoopCount ( ) const [inline]

Get the number of loops to run.

Returns:
The number of loops to run.
Remarks:
An animation can either run "infinitely" (the loop count is 0), or a finite times. One run is from the first to the last frame in loop-mode (or from the last to the first if running backwards), or from the first to the last and back to the first in swing-mode (or from the last to the first and back to the last if running backwards).
See also:
setLoopCount, isForwardAnimation, isSwingingAnimation

void setForwardAnimation ( bool forward = true ) [inline]

Set the running direction of this Animation.

Parameters:
forward true to set the direction to forward, false to set it to backwards.
Remarks:
An Animation can either run forward or backward.
Note:
Changing the direction of the Animation invalidates the incarnation.
See also:
isForwardAnimation, setSwingingAnimation, setLoopCount

bool isForwardAnimation ( ) const [inline]

Query if this Animation is running in forward direction.

Returns:
true, if this Animation is running in forward direction, otherwise false.
Remarks:
An Animation can either run forward or backward.
See also:
setForwardAnimation, isSwingingAnimation, getLoopCount

void setSwingingAnimation ( bool swing = true ) [inline]

Set the loop behavior of this Animation.

Parameters:
swing true to set the Animation into swing-mode, false to set it to loop-mode.
Remarks:
An Animation can either run in swing-mode or in loop-mode. In loop-mode, each iteration of the Animation is done in the same running direction. In swing-mode, each iteration of the Animation is once to and once fro.
Note:
Changing the loop behavior of the Animation invalidates the incarnation.
See also:
isSwingingAnimation, isForwardAnimation, getLoopCount

bool isSwingingAnimation ( ) const [inline]

Query if this Animation is running in swing-mode.

Returns:
true, if this Animation is running in swing-mode, otherwise false.
Remarks:
An Animation can either run in swing-mode or in loop-mode. In loop-mode, each iteration of the Animation is done in the same running direction. In swing-mode, each iteration of the Animation is once to and once fro.
See also:
setSwingingAnimation, isForwardAnimation, getLoopCount

bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Test for equivalence with an other AnimationState.

Parameters:
p | A pointer to an Object to test for equivalence with.
ignoreNames | true, if names are to be ignored in the equivalence test, otherwise false.
deepCompare | true, if a deep compare should be done, otherwise false.
Returns:
true, if this and p are equivalent, otherwise false.
Remarks:
An Object p is considered to be equivalent to the Animation this, if it is also an Animation of type T, and it is equivalent to this as an Object.

Reimplemented from Object.

Reimplemented in Animation.

void invalidate ( ) [inline]

Signals a change in the AnimationState.

Remarks:
Calling this function signals a change in the AnimationState. The function calls the onInvalidate virtual function, which derived AnimationStates should override to invalidate their internal status.

AnimationState & operator= ( const AnimationState & rhs ) [inline, protected]

Protected assignment operator.

Parameters:
rhs Reference of the constant Animation to copy from
Returns:
A reference to the assigned Animation.
Remarks:
The assignment operator just calls the assignment operator of Object.
See also:
Object

void setCurrentStep ( unsigned int step ) [inline, protected, virtual]

Sets the specified step as the current one.

Parameters:
step The step index to set as the current one.
Remarks:
This function invalidates the incarnation.

virtual NVSG_API unsigned int frameToStep ( unsigned int frame ) const [protected, pure virtual]

Translates a frame index into a step index.

Parameters:
frame The frame index to translate.
Returns:
The step index corresponding to the frame index frame.
Remarks:
The index-operator operator[i] simply accesses the i'th value of an Animation. To access the value corresponding to a frame counter, you have to translate that frame counter to the step counter. This function does that calculation.
See also:
getNumberOfSteps

Implemented in Animation.

virtual NVSG_API void onInvalidate ( ) [inline, protected, virtual]

Called from invalidate.

Remarks:
This function gets called from the invalidate interface. For derived AnimationStates it is recommended to override this function in order to invalidate their internal animation status.
See also:
invalidate

Reimplemented in Animation.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in Animation.

The documentation for this class was generated from the following file:
  • Animation.h
Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: Member List

AnimationState Member List

This is the complete list of members for AnimationState, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
advance(unsigned int tick, int delta=1) | AnimationState | [inline]
AnimationState(void) | AnimationState | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | AnimationState | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
frameToStep(unsigned int frame) const =0 | AnimationState | [protected, pure virtual]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getCurrentFrame() const | AnimationState | [inline]
getCurrentStep() const | AnimationState | [inline]
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getLoopCount() const | AnimationState | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFrames() const =0 | AnimationState | [pure virtual]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfSteps() const =0 | AnimationState | [pure virtual]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSpeed() const | AnimationState | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
invalidate() | AnimationState | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | AnimationState | [inline, virtual]
isForwardAnimation() const | AnimationState | [inline]
isRunning() const | AnimationState | [inline]
isSwingingAnimation() const | AnimationState | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
onInvalidate() | AnimationState | [inline, protected, virtual]
operator=(const AnimationState &rhs) | AnimationState | [inline, protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setCurrentFrame(unsigned int frame) | AnimationState | [inline]
setCurrentStep(unsigned int step) | AnimationState | [inline, protected, virtual]
setForwardAnimation(bool forward=true) | AnimationState | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setLoopCount(unsigned int count) | AnimationState | [inline]
setName(const std::string &name) | Object |
setSpeed(unsigned int stepsOnAdvance) | AnimationState | [inline]
setSwingingAnimation(bool swing=true) | AnimationState | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
start() | AnimationState | [inline]
stop() | AnimationState | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~AnimationState() (defined in AnimationState) | AnimationState | [inline, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]

Generated on Fri Jul 13 13:29:50 2012 for SceniX


SceniX: AppTraverser Class Reference

nvtraverser::AppTraverser

AppTraverser Class Reference

AppTraverser Class. More...

#include <AppTraverser.h>

Inheritance diagram for AppTraverser:

[legend]
Collaboration diagram for AppTraverser:

[legend]
List of all members.

Public Types

enum SkinningProcessorType {
SKINNING_PROCESSOR_NONE, SKINNING_PROCESSOR_CPU, SKINNING_PROCESSOR_GPUG80GL, SKINNING_PROCESSOR_CUDA,
SKINNING_PROCESSOR_USER
}

Public Member Functions

NVSG_API | AppTraverser ()
Default constructor.
NVSG_API bool | isSkinningProcessorSupported (SkinningProcessorType type)
Check if a particular skinning processor is supported.
NVSG_API bool | setSkinningProcessor (SkinningProcessorType type)
Set the skinning processor, by type.
NVSG_API SkinningProcessor * | getSkinningProcessor ()
Get a pointer to the current skinning processor.
NVSG_API void | setSkinningProcessor (SkinningProcessor *a)
Set the skinning processor by pointer.
NVSG_API void | forceTraversal ()
Force traversal on the next frame.

Protected Member Functions

virtual NVSG_API | ~AppTraverser ()
Default destructor.
virtual NVSG_API bool | needsTraversal (const nvsg::NodeSharedPtr &root) const
Determines if the AppTraverser really should traverse the tree.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
doApply override
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *at)
Provide special treatment of an AnimatedTransform node.
virtual NVSG_API void | handleCgFx (nvsg::CgFx *cgfx)
Handler function for a CgFx.
virtual NVSG_API void | handleIndexAnimation (nvsg::Animation< unsigned int > *anim)
Handle function for an Animation of indices.
virtual NVSG_API void | handleTrafoAnimation (nvsg::Animation< nvmath::Trafo > *anim)
Handle function for an Animation of Trafos.
virtual NVSG_API void | handleVertexAttributeAnimation (nvsg::Animation< nvsg::VertexAttribute > *anim)
Handle function for an Animation of VertexAttributes.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *gnode)
Handler function for a GeoNode.
virtual NVSG_API void | handleTransform (nvsg::Transform *p)
Provide special treatment of a Transform node.
virtual NVSG_API bool | preTraverseTransform (const nvmath::Trafo *p)
Handle a Transform before traversing it.
virtual NVSG_API void | postTraverseTransform (const nvmath::Trafo *p)
Handle a Transform after traversing it.
virtual NVSG_API void | traversePrimitiveSet (nvsg::PrimitiveSet *pset)
Handle each PrimitiveSet on traversal.
virtual NVSG_API void | traversePrimitive (nvsg::Primitive *prim)
Handle each Primitive on traversal.
virtual NVSG_API void | postTraverseObject (const nvsg::Object *object)
Handle each Object after traversal.

Protected Attributes

bool | m_bApplyingCgFx
Flag that signals if a CgFX effect needs to be handled (tangentspace calculation).
unsigned int | m_animationFrame
Current animation frame.

Classes

class | SkinningProcessor

Detailed Description

AppTraverser Class.

This class provides the mechanism to apply changes and update the scene graph. (The 'apply' step of the application.) Use an AppTraverser derived class as a unique entry point for manipulating nodes in the scene, such as data from gadgets, animations, and interactions.

Note:
The current implementation takes care of the animation frames, camera clip planes highlighting, etc...

Needs a valid ViewState, which in turns holds a valid camera. Call setViewState prior to apply().

Constructor & Destructor Documentation

NVSG_API AppTraverser ( )

Default constructor.

virtual NVSG_API ~AppTraverser ( ) [protected, virtual]

Default destructor.

Member Function Documentation

virtual NVSG_API bool needsTraversal ( const nvsg::NodeSharedPtr & root ) const [protected, virtual]

Determines if the AppTraverser really should traverse the tree.

Depending on some internal data, the traversal is recognized to be necessary. The AppTraverser needs to traverse if the ViewState, the Scene, or the animation frame changed.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

doApply override

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * at ) [protected, virtual]

Provide special treatment of an AnimatedTransform node.

An AnimatedTransform is handled as a Transform.

Reimplemented from ExclusiveModelViewTraverser.

virtual NVSG_API void handleCgFx ( nvsg::CgFx * cgfx ) [protected, virtual]

Handler function for a CgFx.

Parameters:
cgfx A pointer to the write-locked CgFx being traversed.
Remarks:
This function is called from the framework whenever a CgFx is encountered on traversal. The CgFx cgfx is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleIndexAnimation ( nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Handle function for an Animation of indices.

Parameters:
anim A pointer to the write-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of indices is encountered on traversal. The Animation anim is already write-locked.
The base implementation just does nothing.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTrafoAnimation ( nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Handle function for an Animation of Trafos.

Parameters:
anim A pointer to the write-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of Trafos is encountered on traversal. The Animation anim is already write-locked.
The base implementation just does nothing.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleVertexAttributeAnimation ( nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Handle function for an Animation of VertexAttributes.

Parameters:
anim A pointer to the write-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of VertexAttributes is encountered on traversal. Then Animation anim is already write-locked.
The base implementation just does nothing.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * gnode ) [protected, virtual]

Handler function for a GeoNode.

Parameters:
gnode A pointer to the write-locked GeoNode being traversed.
Remarks:
This function is called from the framework whenever a GeoNode is encountered on traversal. The GeoNode gnode is already write-locked.
The base implementation just calls Traverser::traverseGeoNode().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGeoNode

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Reimplemented from ExclusiveModelViewTraverser.

virtual NVSG_API bool preTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handle a Transform before traversing it.

The information on the current transform is stored, then ModelViewTraverser::preTraverseTransform() is called for further pre traversal processing.

Parameters:
p Trafo of node to handle pre-traversal

Reimplemented from ExclusiveModelViewTraverser.

virtual NVSG_API void postTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handle a Transform after traversing it.

After calling ModelViewTraverser::postTraverseTransform() for other post traversal processing on that Transform, transformation informations are restored from what was current before traversing that Transform.

Parameters:
p Trafo of node to handle post-traversal

Reimplemented from ExclusiveModelViewTraverser.

virtual NVSG_API void traversePrimitiveSet ( nvsg::PrimitiveSet * pset ) [protected, virtual]

Handle each PrimitiveSet on traversal.

Parameters:
pset A pointer to the write-locked PrimitiveSet currently traversed.
Remarks:
For each PrimitiveSet (like Triangles, Quads,...) this function is called. If pset holds a Skin and a SkinningProcessor is currently active, pset is added as a skinned PrimitiveSet to that SkinningProcessor for later usage.
See also:
SkinningProcessor

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void traversePrimitive ( nvsg::Primitive * prim ) [protected, virtual]

Handle each Primitive on traversal.

Parameters:
pset A pointer to the write-locked PrimitiveSet currently traversed.
Remarks:
For each PrimitiveSet (like Triangles, Quads,...) this function is called. If pset holds a Skin and a SkinningProcessor is currently active, pset is added as a skinned PrimitiveSet to that SkinningProcessor for later usage.
See also:
SkinningProcessor

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void postTraverseObject ( const nvsg::Object * object ) [protected, virtual]

Handle each Object after traversal.

Parameters:
object A pointer to the read-locked object that was just traversed.
Remarks:
Each app callbacks of the object is called.
See also:
Callback

Reimplemented from Traverser.

NVSG_API bool isSkinningProcessorSupported ( SkinningProcessorType type )

Check if a particular skinning processor is supported.

Check current hardware to see if a particular skinning processor is supported.

Remarks:
Note that most "processors" require a current Rendering ctext for their detection routines to function correctly. Therefore, in order to check whether a particular skinning processor is supported, the application should retrieve the AppTraverser from the RenderArea, once the RenderArea has been created, and then call this routine on the skinning processor in question. This will ensure that an appropriate context is available.
See also:
RenderArea::getAppTraverser

NVSG_API bool setSkinningProcessor ( SkinningProcessorType type )

Set the skinning processor, by type.

Note:
Always deletes the old processor before setting a new one.
Returns:
true if processor was supported, false otherwise

NVSG_API SkinningProcessor* getSkinningProcessor ( )

Get a pointer to the current skinning processor.

NVSG_API void setSkinningProcessor ( SkinningProcessor * a )

Set the skinning processor by pointer.

This can be used to set custom skinning processors.

Parameters:
a The new skinning processor to use, or NULL. If the parameter is NULL, then no skinning processor will be used, and therefore skinning will not be performed.
Remarks:
The skinning processors are reference counted in this routine.

void forceTraversal ( ) [inline]

Force traversal on the next frame.

Remarks:
The AppTraverser tries to traverse the scene as seldom as possible. In some circumstances it might be necessary to force a traversal. That can be done with this function.
See also:
needsTraversal

Member Data Documentation

bool m_bApplyingCgFx [protected]

Flag that signals if a CgFX effect needs to be handled (tangentspace calculation).

unsigned int m_animationFrame [protected]

Current animation frame.

The documentation for this class was generated from the following file:
  • AppTraverser.h
Generated on Fri Jul 13 13:30:38 2012 for SceniX


SceniX: Member List

AppTraverser Member List

This is the complete list of members for AppTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
AppTraverser() | AppTraverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | AppTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveModelViewTraverser() | ExclusiveModelViewTraverser | [protected]
ExclusiveTraverser() | ExclusiveTraverser |
forceTraversal() | AppTraverser | [inline]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getSkinningProcessor() | AppTraverser |
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *at) | AppTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | AppTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | AppTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | AppTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | AppTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | AppTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | AppTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
isSkinningProcessorSupported(SkinningProcessorType type) | AppTraverser |
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_animationFrame | AppTraverser | [protected]
m_bApplyingCgFx | AppTraverser | [protected]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_transformStack | ExclusiveModelViewTraverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
needsTraversal(const nvsg::NodeSharedPtr &root) const | AppTraverser | [protected, virtual]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | AppTraverser | [protected, virtual]
postTraverseTransform(const nvmath::Trafo *p) | AppTraverser | [protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
preTraverseTransform(const nvmath::Trafo *p) | AppTraverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setSkinningProcessor(SkinningProcessorType type) | AppTraverser |
setSkinningProcessor(SkinningProcessor *a) | AppTraverser |
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SKINNING_PROCESSOR_CPU enum value (defined in AppTraverser) | AppTraverser |
SKINNING_PROCESSOR_CUDA enum value (defined in AppTraverser) | AppTraverser |
SKINNING_PROCESSOR_GPUG80GL enum value (defined in AppTraverser) | AppTraverser |
SKINNING_PROCESSOR_NONE enum value (defined in AppTraverser) | AppTraverser |
SKINNING_PROCESSOR_USER enum value (defined in AppTraverser) | AppTraverser |
SkinningProcessorType enum name (defined in AppTraverser) | AppTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveModelViewTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *prim) | AppTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | AppTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~AppTraverser() | AppTraverser | [protected, virtual]
~ExclusiveModelViewTraverser() | ExclusiveModelViewTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:38 2012 for SceniX


SceniX: AutoLock Class Reference

nvutil::AutoLock

AutoLock Class Reference

Helper class to provide a scoped usage of an SWMRSync lock. More...

#include <SWMRSync.h>

Collaboration diagram for AutoLock:

[legend]
List of all members.

Public Member Functions

AutoLock (const SWMRSync &lock)
Constructor of an AutoLock.
~AutoLock ()
Destructor of an AutoLock.

Detailed Description

Helper class to provide a scoped usage of an SWMRSync lock.

Constructor & Destructor Documentation

AutoLock ( const SWMRSync & lock ) [inline, explicit]

Constructor of an AutoLock.

Parameters:
lock An SWMRSync to be exclusively locked for the lifetime of this AutoLock object.

~AutoLock ( ) [inline]

Destructor of an AutoLock.

Remarks:
On desctruction of this object, the exclusive lock from the constructor is released.

The documentation for this class was generated from the following file:
  • SWMRSync.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

AutoLock Member List

This is the complete list of members for AutoLock, including all inherited members.

AutoLock(const SWMRSync &lock) | AutoLock | [inline, explicit]
~AutoLock() | AutoLock | [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: BackLinkObserver Class Reference

nvutil::BackLinkObserver

BackLinkObserver Class Reference

Observer class with a back-link to a HandledObject. More...

#include <BackLinkObserver.h>

Inheritance diagram for BackLinkObserver:

[legend]
Collaboration diagram for BackLinkObserver:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setBackLink (const HandledObjectWeakPtr &backLink)
Needed to be called once for initialization!

Static Public Member Functions

static NVSG_API BackLinkObserverSharedPtr | create ()
Static member function to create a BackLinkObserverSharedPtr.

Protected Member Functions

virtual NVSG_API unsigned int | onUpdate (const Subject *subject, unsigned int currentState, unsigned int changeState, const nvutil::Subject::SmartPayload &payload) const
Called by the framework when a state has changed.

Detailed Description

Observer class with a back-link to a HandledObject.

Remarks:
A BackLinkObserver can be used to carry changed state information up a hierarchy of objects. Every nvsg::Object, for example, holds a BackLinkObserver for that reason.

Member Function Documentation

BackLinkObserverSharedPtr create ( ) [inline, static]

Static member function to create a BackLinkObserverSharedPtr.

Returns:
A newly created BackLinkObserverSharedPtr.

void setBackLink ( const HandledObjectWeakPtr & backLink ) [inline]

Needed to be called once for initialization!

unsigned int onUpdate | ( | const Subject * | subject,
 |  | unsigned int | currentState,
 |  | unsigned int | changeState,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | const [inline, protected, virtual]

Called by the framework when a state has changed.

Parameters:
subject | Pointer to the subject that changed.
currentState | Bitfield representing the current state.
changeState | Bitfield representing the changing state.
payload | Payload object passed to the Subject::attach method.
Returns:
Provide the new state which should be stored by the observer. Usually it should be currentState | changeState.

Reimplemented from Observer.

The documentation for this class was generated from the following file:
  • BackLinkObserver.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

BackLinkObserver Member List

This is the complete list of members for BackLinkObserver, including all inherited members.

BackLinkObserver() (defined in BackLinkObserver) | BackLinkObserver | [inline, protected]
clear(unsigned int state) | Observer |
create() | BackLinkObserver | [inline, static]
destroyed(const Subject *subject, const nvutil::Subject::SmartPayload &payload) | Observer |
Observer() (defined in Observer) | Observer |
onDestroyed(const Subject *subject, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostGroupExchanged(const nvsg::Group *group, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onUpdate(const Subject *subject, unsigned int currentState, unsigned int changeState, const nvutil::Subject::SmartPayload &payload) const | BackLinkObserver | [inline, protected, virtual]
nvutil::Observer::onUpdate(const Subject *subject, PropertyId propertyId, const nvutil::Subject::SmartPayload &payload) const | Observer | [protected, virtual]
postAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer |
postAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload) | Observer |
postAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer |
postGroupExchanged(const nvsg::Group *group, const Subject::SmartPayload &payload) | Observer |
preRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer |
preRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const Subject::SmartPayload &payload) | Observer |
preRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer |
setBackLink(const HandledObjectWeakPtr &backLink) | BackLinkObserver | [inline]
update(const Subject *subject, unsigned int state, const nvutil::Subject::SmartPayload &payload) | Observer |
update(const Subject *subject, PropertyId propertyId, const Subject::SmartPayload &payload) | Observer |
~BackLinkObserver() (defined in BackLinkObserver) | BackLinkObserver | [inline, protected, virtual]
~Observer() (defined in Observer) | Observer | [virtual]

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: BellFilter Class Reference

nvsg::BellFilter

BellFilter Class Reference

ScaleFilter functor providing bell filter functionality. More...

#include <TextureHost.h>

Inheritance diagram for BellFilter:

[legend]
Collaboration diagram for BellFilter:

[legend]
List of all members.

Public Member Functions

NVSG_API float | getSupportWidth (void) const
Get the support width of the BellFilter.
NVSG_API float | operator() (float t) const
Weight calculation operator.

Detailed Description

ScaleFilter functor providing bell filter functionality.

A BellFilter has a support width of 1.5. For distances t between source and destination texel in the half open interval [0.0,0.5), the weight is ( 0.75 - t^2 ), if t is in the half open interval [0.5,1.5), the weight is ( 0.5 * ( 1.5 - t )^2 ), otherwise 0.0.

Member Function Documentation

float getSupportWidth ( void ) const [inline, virtual]

Get the support width of the BellFilter.

Returns:
the support width of the BellFilter is 1.5.

Implements ScaleFilter.

NVSG_API float operator() ( float t ) const [virtual]

Weight calculation operator.

Returns:
( 0.75 - t^2 ), if t is in the interval [0.0,0.5), ( 0.5 * ( 1.5 - t )^2 ) if t is in the interval [0.5,1.5), otherwise 0.0.

Implements ScaleFilter.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: Member List

BellFilter Member List

This is the complete list of members for BellFilter, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getSupportWidth(void) const | BellFilter | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(float t) const | BellFilter | [virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: BezierCurve Class Template Reference

nvmath::BezierCurve

BezierCurve Class Template Reference

A class to manage a bezier curve. More...

#include <Beziernt.h>

List of all members.

Public Member Functions

BezierCurve (unsigned int degree, const T *vertices)
Constructor out of an indexed set of vertices.
BezierCurve (unsigned int degree, const T *vertices, const nvsg::IndexSet::ConstIterator< unsigned int > &indices)
Constructor out of an indexed set of vertices.
unsigned int | degree () const
Get the degree of this BezierCurve.
BezierCurve | derivative () const
Determine the derivative BezierCurve.
T | evaluate (float t)
Evaluate the BezierCurve at the parameter t.
void | evaluateStrip (unsigned int count, T *results)
Evaluate the BezierCurve at count evenly spaced parameters.
const T & | operator[] (unsigned int index) const
Get the index's vertex of the control polygon.

Detailed Description

template<typename T>
class nvmath::BezierCurve< T >

A class to manage a bezier curve.

Remarks:
A bezier curve of degree degree holds a control polyline of degree + 1 vertices.
See also:
BezierRect, BezierTriangle

Constructor & Destructor Documentation

BezierCurve | ( | unsigned int | degree,
 |  | const T * | vertices
 | ) | [inline]

Constructor out of an indexed set of vertices.

Parameters:
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the vertices for this curve.
Note:
The vertices used for this BezierCurve are copied to local storage.
See also:
degree, evaluate, evaluateStrip

BezierCurve | ( | unsigned int | degree,
 |  | const T * | vertices,
 |  | const nvsg::IndexSet::ConstIterator< unsigned int > & | indices
 | ) | [inline]

Constructor out of an indexed set of vertices.

Parameters:
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the vertices for this curve.
indices | An ConstIterator<unsigned int> that is a degree + 1 indices, into the array of vertices.
Note:
The vertices used for this BezierCurve are copied to local storage.
See also:
degree, evaluate, evaluateStrip

Member Function Documentation

unsigned int degree ( ) const [inline]

Get the degree of this BezierCurve.

Returns:
The degree of this BezierCurve.
See also:
evaluate, evaluateStrip

BezierCurve< T > derivative ( ) const [inline]

Determine the derivative BezierCurve.

Returns:
The derivative BezierCurve of this.

T evaluate ( float t ) [inline]

Evaluate the BezierCurve at the parameter t.

Parameters:
t The parameter to evaluate the BezierCurve at. With t in the interval [0,1], you get a point on the curve between the end points.
Returns:
The point on the curve at parameter t.
See also:
degree, evaluateStrip

void evaluateStrip | ( | unsigned int | count,
 |  | T * | results
 | ) | [inline]

Evaluate the BezierCurve at count evenly spaced parameters.

Parameters:
count | The number of evaluations to do. It has to be at least 2.
results | A pointer to hold count evaluation results.
Remarks:
The BezierCurve is evaluate at the parameters 0, 1/(count-1), 2/(count-1),..., 1.
See also:
degree, evaluate

const T & operator[] ( unsigned int index ) const [inline]

Get the index's vertex of the control polygon.

Parameters:
index Index of the vertex to get.
Remarks:
The behaviour of this function is undefined, if index is equal to or larger than the number of control vertices in this BezierCurve.

The documentation for this class was generated from the following file:
  • Beziernt.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

BezierCurve Member List

This is the complete list of members for BezierCurve, including all inherited members.

BezierCurve(unsigned int degree, const T *vertices) | BezierCurve | [inline]
BezierCurve(unsigned int degree, const T *vertices, const nvsg::IndexSet::ConstIterator< unsigned int > &indices) | BezierCurve | [inline]
degree() const | BezierCurve | [inline]
derivative() const | BezierCurve | [inline]
evaluate(float t) | BezierCurve | [inline]
evaluateStrip(unsigned int count, T *results) | BezierCurve | [inline]
operator[](unsigned int index) const | BezierCurve | [inline]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: BezierExtrapolationTraverser Class Reference

nvtraverser::BezierExtrapolationTraverser

BezierExtrapolationTraverser Class Reference

Traverser to convert Triangles to TriPatches4 and Quads to QuadPatches4x4. More...

#include <BezierExtrapolationTraverser.h>

Inheritance diagram for BezierExtrapolationTraverser:

[legend]
Collaboration diagram for BezierExtrapolationTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | BezierExtrapolationTraverser (void)
Constructor.
NVSG_API void | setTessellationCgFxs (const nvsg::CgFxSharedPtr &triPatchesCgFx, const nvsg::CgFxSharedPtr &quadPatchesCgFx)
Set the CgFxs to be used with the newly created patches.

Protected Member Functions

virtual NVSG_API | ~BezierExtrapolationTraverser (void)
Protected destructor to prevent instantiation of a BezierExtrapolationTraverser.
virtual NVSG_API void | postApply (const nvsg::NodeSharedPtr &root)
Clears internal caches on multiple invocations.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Convert each Quads to a QuadStrips and a Quads, and each Triangles to a TriStrips and a Triangles.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Hold the Primitives to extrapolate in handleGeoNode.
virtual NVSG_API void | handleQuads (nvsg::Quads *p)
Hold the Quads to strip in handleGeoNode.
virtual NVSG_API void | handleTriangles (nvsg::Triangles *p)
Hold the Triangles to strip in handleGeoNode.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (nvsg::AnimatedVertexAttributeSet *p)
Set the complexVAS flag to true, to prevent patchifying Primitives holding an AnimatedVertexAttributeSet.
virtual NVSG_API void | handleSkin (nvsg::Skin *p)
Set the complexVAS flag to true, to prevent patchifying Primitives holding a Skin.

Detailed Description

Traverser to convert Triangles to TriPatches4 and Quads to QuadPatches4x4.

Remarks:
This traverser converts single triangles or quads to entries in a TriPatches4 or a QuadPatches4x4, respectively. It introduces new vertices and vertex attributes. The three vertices of a triangle are extrapolated to 10 vertices of a cubic bezier triangle; the four vertices of a quad are extrapolated to 16 vertices of a bicubic bezier quad.
Note:
The patches need to have a CgFx attached that contain a TessellationControlProgram (TCP) and a TessellationEvaluationProgram (TEP). Those programs can't be automatically derived from a given CgFx with just a VertexProgram (VP), possibly a GeometryProgram (GP) and a FragmentProgram (FP).

This traverser can be used to exchange any triangles or quads not interpolated by the BezierInterpolationTraverser to bezier patches, resulting in a scene containing only patches as geometry.

It's worth to run the UnifyTraverser with UnifyTarget UT_VERTICES on the extrapolated scene to unify the newly introduced vertices on the edges of the patches.

Constructor & Destructor Documentation

NVSG_API BezierExtrapolationTraverser ( void )

Constructor.

virtual NVSG_API ~BezierExtrapolationTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a BezierExtrapolationTraverser.

Member Function Documentation

NVSG_API void setTessellationCgFxs | ( | const nvsg::CgFxSharedPtr & | triPatchesCgFx,
 |  | const nvsg::CgFxSharedPtr & | quadPatchesCgFx
 | ) |

Set the CgFxs to be used with the newly created patches.

Parameters:
triPatchesCgFx | The CgFx to use with TriPatches4.
quadPatchesCgFx | The CgFx to use with QuadPatches4x4.
Remarks:
The provided CgFxs will be used by the newly created patches of the corresponding types.

virtual NVSG_API void postApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Clears internal caches on multiple invocations.

This in particular is required if the same instance of a BezierExtrapolationTraverser is invoked multiple times on different root nodes.

Reimplemented from Traverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Convert each Quads to a QuadStrips and a Quads, and each Triangles to a TriStrips and a Triangles.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Hold the Primitives to extrapolate in handleGeoNode.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * p ) [protected, virtual]

Hold the Quads to strip in handleGeoNode.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriangles ( nvsg::Triangles * p ) [protected, virtual]

Hold the Triangles to strip in handleGeoNode.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( nvsg::AnimatedVertexAttributeSet * p ) [protected, virtual]

Set the complexVAS flag to true, to prevent patchifying Primitives holding an AnimatedVertexAttributeSet.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSkin ( nvsg::Skin * p ) [protected, virtual]

Set the complexVAS flag to true, to prevent patchifying Primitives holding a Skin.

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • BezierExtrapolationTraverser.h
Generated on Fri Jul 13 13:30:41 2012 for SceniX


SceniX: Member List

BezierExtrapolationTraverser Member List

This is the complete list of members for BezierExtrapolationTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
BezierExtrapolationTraverser(void) | BezierExtrapolationTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *p) | BezierExtrapolationTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | BezierExtrapolationTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | BezierExtrapolationTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *p) | BezierExtrapolationTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *p) | BezierExtrapolationTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *p) | BezierExtrapolationTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | BezierExtrapolationTraverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTessellationCgFxs(const nvsg::CgFxSharedPtr &triPatchesCgFx, const nvsg::CgFxSharedPtr &quadPatchesCgFx) | BezierExtrapolationTraverser |
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~BezierExtrapolationTraverser(void) | BezierExtrapolationTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:41 2012 for SceniX


SceniX: BezierInterpolationTraverser Class Reference

nvtraverser::BezierInterpolationTraverser

BezierInterpolationTraverser Class Reference

Traverser to convert sets of Triangles to TriPatches4, and sets of Quads to QuadPatches4x4. More...

#include <BezierInterpolationTraverser.h>

Inheritance diagram for BezierInterpolationTraverser:

[legend]
Collaboration diagram for BezierInterpolationTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | BezierInterpolationTraverser (void)
Constructor.
NVSG_API void | setTessellationCgFxs (const nvsg::CgFxSharedPtr &triPatchesCgFx, const nvsg::CgFxSharedPtr &quadPatchesCgFx)
Set the CgFxs to be used with the newly created patches.

Protected Member Functions

virtual NVSG_API | ~BezierInterpolationTraverser (void)
Protected destructor to prevent instantiation of a BezierInterpolationTraverser.
virtual NVSG_API void | postApply (const nvsg::NodeSharedPtr &root)
Clears internal caches on multiple invocations.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Extract a QuadPatches4x4 or a TriPatches4 out of each Primitive of type PRIMITIVE_QUADS or PRIMITIVE_TRIANGLES, respectively.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Generate QuadPatches4x4 or TriPatches4 out of a Primitive of type PRIMITIVE_QUADS or PRIMITIVE_TRIANGLES, respectively.
virtual NVSG_API void | handleStateSet (nvsg::StateSet *p)
Get the currently active StateSet.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (nvsg::AnimatedVertexAttributeSet *p)
Set the complexVAS flag to true, to prevent patchifying Primitives holding an AnimatedVertexAttributeSet.
virtual NVSG_API void | handleSkin (nvsg::Skin *p)
Set the complexVAS flag to true, to prevent pathifying Primitives holding a Skin.
virtual NVSG_API bool | optimizationAllowed (const nvsg::Object *p)
Test whether this Object should be optimized.

Detailed Description

Traverser to convert sets of Triangles to TriPatches4, and sets of Quads to QuadPatches4x4.

Remarks:
This traverser identifies triangular sets of 10 triangles or quadrilateral sets of 9 quads and converts each such set to a TriPatches4 or a QuadPatches4x4, respectively. The number of vertices does not change by this conversion, but due to some triangles or quads not fitting in those sets of triangles or quads, some vertices have to be duplicated.
Note:
The patches need to have a CgFx attached that contain a TessellationControlProgram (TCP) and a TessellationEvaluationProgram (TEP). Those programs can't be automatically derived from a given CgFx with just a VertexProgram (VP), possibly a GeometryProgram (GP) and a FragmentProgram (FP).

It is strongly recommended to use a VertexUnifyTraverser before using this BezierInterpolationTraverser, because it works only on indices.

Constructor & Destructor Documentation

NVSG_API BezierInterpolationTraverser ( void )

Constructor.

virtual NVSG_API ~BezierInterpolationTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a BezierInterpolationTraverser.

Member Function Documentation

NVSG_API void setTessellationCgFxs | ( | const nvsg::CgFxSharedPtr & | triPatchesCgFx,
 |  | const nvsg::CgFxSharedPtr & | quadPatchesCgFx
 | ) |

Set the CgFxs to be used with the newly created patches.

Parameters:
triPatchesCgFx | The CgFx to use with TriPatches4.
quadPatchesCgFx | The CgFx to use with QuadPatches4x4.
Remarks:
The provided CgFxs will be used by the newly created patches of the corresponding types.

virtual NVSG_API void postApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Clears internal caches on multiple invocations.

This in particular is required if the same instance of a BezierInterpolationTraverser is invoked multiple times on different root nodes.

Reimplemented from Traverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Extract a QuadPatches4x4 or a TriPatches4 out of each Primitive of type PRIMITIVE_QUADS or PRIMITIVE_TRIANGLES, respectively.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Generate QuadPatches4x4 or TriPatches4 out of a Primitive of type PRIMITIVE_QUADS or PRIMITIVE_TRIANGLES, respectively.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStateSet ( nvsg::StateSet * p ) [protected, virtual]

Get the currently active StateSet.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( nvsg::AnimatedVertexAttributeSet * p ) [protected, virtual]

Set the complexVAS flag to true, to prevent patchifying Primitives holding an AnimatedVertexAttributeSet.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSkin ( nvsg::Skin * p ) [protected, virtual]

Set the complexVAS flag to true, to prevent pathifying Primitives holding a Skin.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API bool optimizationAllowed ( const nvsg::Object * p ) [protected, virtual]

Test whether this Object should be optimized.

Parameters:
p A pointer to the constant nvsg::Object to test.

The documentation for this class was generated from the following file:
  • BezierInterpolationTraverser.h
Generated on Fri Jul 13 13:30:41 2012 for SceniX


SceniX: Member List

BezierInterpolationTraverser Member List

This is the complete list of members for BezierInterpolationTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
BezierInterpolationTraverser(void) | BezierInterpolationTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *p) | BezierInterpolationTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | BezierInterpolationTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | BezierInterpolationTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *p) | BezierInterpolationTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *p) | BezierInterpolationTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *p) | BezierInterpolationTraverser | [protected, virtual]
postApply(const nvsg::NodeSharedPtr &root) | BezierInterpolationTraverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTessellationCgFxs(const nvsg::CgFxSharedPtr &triPatchesCgFx, const nvsg::CgFxSharedPtr &quadPatchesCgFx) | BezierInterpolationTraverser |
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~BezierInterpolationTraverser(void) | BezierInterpolationTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:41 2012 for SceniX


SceniX: BezierRect Class Template Reference

nvmath::BezierRect

BezierRect Class Template Reference

Class to manage a rectangular bezier patch. More...

#include <Beziernt.h>

List of all members.

Public Member Functions

BezierRect (unsigned int degreeU, unsigned int degreeV, typename nvsg::Buffer::ConstIterator< T >::Type vertices, const nvsg::IndexSet::ConstIterator< unsigned int > &indices)
Constructor out of an indexed set of vertices.
T | evaluate (float u, float v)
Evaluate the BezierRect at the parameters u, v.
void | evaluateMesh (unsigned int width, unsigned int height, T *results)
Evaluate the BezierRect at width * height evenly spaced parameters.

Detailed Description

template<typename T>
class nvmath::BezierRect< T >

Class to manage a rectangular bezier patch.

Remarks:
For a rectangular bezier patch of degrees degreeU and degreeV, there are (degreeU + 1 ) * (degreeV + 1 ) control points. BezierCurve, BezierTriangle

Constructor & Destructor Documentation

BezierRect | ( | unsigned int | degreeU,
 |  | unsigned int | degreeV,
 |  | typename nvsg::Buffer::ConstIterator< T >::Type | vertices,
 |  | const nvsg::IndexSet::ConstIterator< unsigned int > & | indices
 | ) | [inline]

Constructor out of an indexed set of vertices.

Parameters:
degreeU | The degree of the patch in u-direction.
degreeV | The degree of the patch in v-direction.
vertices | A Buffer::ConstIterator of vertices for this patch.
indices | A pointer to ( degreeU + 1 ) * ( degreeV + 1 ) indices, into the array of vertices.
Remarks:
The first degreeU + 1 points form the lower edge of the rectangle, while the last degree U + 1 points form the upper edge. With B00 specifying the lower left corner, Bu0 the lower right corner, B0v the upper left corner, and Buv the upper right corner, you've got the following correspondence to the array of vertices: (u==0, v==0) B00 <-> vertices[indices[0]] (u==1, v==0) Bu0 <-> vertices[indices[degreeU]] (u==0, v==1) B0v <-> vertices[indices[(degreeU+1)*degreeV]] (u==1, v==1) Buv <-> vertices[indices[(degreeU+1)*(degreeV+1)-1]]

Member Function Documentation

T evaluate | ( | float | u,
 |  | float | v
 | ) | [inline]

Evaluate the BezierRect at the parameters u, v.

Parameters:
t The parameter to evaluate the BezierCurve at. With t in the interval [0,1], you get a point on the curve between the end points.
Returns:
The point on the curve at parameter t.
See also:
evaluateMesh

void evaluateMesh | ( | unsigned int | width,
 |  | unsigned int | height,
 |  | T * | results
 | ) | [inline]

Evaluate the BezierRect at width * height evenly spaced parameters.

Parameters:
width | The number of evaluations to do in u-direction. It has to be at least 2.
height | The number of evaluations to do in v-direction. It has to be at least 2.
results | A pointer to hold width * height evaluation results.
Remarks:
The BezierRect is evaluate at the parameters (0,0), (1/(width-1),0), (2/(width-1),0), ..., (1,0), (0,1/(height-1)), (1/(width-1),1/(height-1)), ..., (1,1/(height-1)), .... (0,1) (1/(width-1),1), (2/(width-1),1), ..., (1,1)
See also:
evaluate

The documentation for this class was generated from the following file:
  • Beziernt.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

BezierRect Member List

This is the complete list of members for BezierRect, including all inherited members.

BezierRect(unsigned int degreeU, unsigned int degreeV, typename nvsg::Buffer::ConstIterator< T >::Type vertices, const nvsg::IndexSet::ConstIterator< unsigned int > &indices) | BezierRect | [inline]
evaluate(float u, float v) | BezierRect | [inline]
evaluateMesh(unsigned int width, unsigned int height, T *results) | BezierRect | [inline]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: BezierTriangle Class Template Reference

nvmath::BezierTriangle

BezierTriangle Class Template Reference

Class to manage a triangular bezier patch. More...

#include <Beziernt.h>

List of all members.

Public Member Functions

BezierTriangle (unsigned int degree, typename nvsg::Buffer::ConstIterator< T >::Type vertices, const nvsg::IndexSet::ConstIterator< unsigned int > &indices)
Constructor out of an indexed set of vertices.
T | evaluate (float u, float v)
Evaluate the BezierTriangle at the barycentric coordinate ( u, v, 1 - u - v ).
void | evaluateMesh (unsigned int size, T *results)
Evaluate the BezierTriangle at size * ( size + 1 ) / 2 evenly spaced parameters.

Detailed Description

template<typename T>
class nvmath::BezierTriangle< T >

Class to manage a triangular bezier patch.

Remarks:
For a triangular bezier patch of degree degree, there are (degree + 1 ) * (degree + 2 ) / 2 control points. BezierCurve, BezierRect

Constructor & Destructor Documentation

BezierTriangle | ( | unsigned int | degree,
 |  | typename nvsg::Buffer::ConstIterator< T >::Type | vertices,
 |  | const nvsg::IndexSet::ConstIterator< unsigned int > & | indices
 | ) | [inline]

Constructor out of an indexed set of vertices.

Parameters:
degree | The degree of the patch.
vertices | An iterator of vertices for this patch.
indices | A pointer to ( degree + 1 ) * ( degree + 2 ) / 2 indices, into the array of vertices.
Remarks:
The first degree + 1 points form the lower edge of the triangle, the next degree points form the row above the lower edge, while the last vertex is the top of the triangle. With Bd00 specifying the lower left corner (u==1), B0d0 the lower right corner (v==1), and B00d the top corner (w==1), you've got the following correspondence to the array of vertices: (u==1) Bd00 <-> vertices[indices[0]] (v==1) B0d0 <-> vertices[indices[degree]] (w==1) B00d <-> vertices[indices[(degree+1)*(degree+2)/2-1]]

Member Function Documentation

T evaluate | ( | float | u,
 |  | float | v
 | ) | [inline]

Evaluate the BezierTriangle at the barycentric coordinate ( u, v, 1 - u - v ).

Parameters:
u | The first baricentric coordinate to evaluate the BezierTriangle at.
v | The second baricentric coordinates to evaluate the BezierTriangle at.
Returns:
The point on the curve at the baricentric coordinate ( u, v, 1 - u - v ).
Remarks:
You get an evaluation inside the triangular patch, if 0 <= u, 0 <= v, and u + v <= 1.
See also:
evaluateMesh

void evaluateMesh | ( | unsigned int | size,
 |  | T * | results
 | ) | [inline]

Evaluate the BezierTriangle at size * ( size + 1 ) / 2 evenly spaced parameters.

Parameters:
size | The number of evaluations on an edge of the BezierTriangle.
results | A pointer to hold size * ( size + 1 ) / 2 evaluation results.
Remarks:
The BezierTriangle is evaluate at the parameters (1,0,0), ((size-2)/(size-1),1/(size-1),0), ..., (0,1,0), ((size-2)/(size-1),0,1/(size-1)), ((size-3)/(size-1),1/(size-1),1/(size-1)), ..., (0,(size-2)/(size-1),1/(size-1)), .... (0,0,1)
See also:
evaluate

The documentation for this class was generated from the following file:
  • Beziernt.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

BezierTriangle Member List

This is the complete list of members for BezierTriangle, including all inherited members.

BezierTriangle(unsigned int degree, typename nvsg::Buffer::ConstIterator< T >::Type vertices, const nvsg::IndexSet::ConstIterator< unsigned int > &indices) | BezierTriangle | [inline]
evaluate(float u, float v) | BezierTriangle | [inline]
evaluateMesh(unsigned int size, T *results) | BezierTriangle | [inline]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Billboard Class Reference

nvsg::Billboard

Billboard Class Reference

Class that adds billboard properties to a Group. More...

#include <Billboard.h>

Inheritance diagram for Billboard:

[legend]
Collaboration diagram for Billboard:

[legend]
List of all members.

Public Types

enum | Alignment { BA_AXIS, BA_VIEWER, BA_SCREEN }
Enumeration type to describe the alignment of a Billboard. More...

Public Member Functions

NVSG_API nvmath::Trafo | getTrafo (const Camera &cam, const nvmath::Mat44f &worldToModel) const
Get the current Trafo of the Billboard.
NVSG_API Alignment | getAlignment () const
Get the alignment type of the Billboard.
NVSG_API void | setAlignment (Alignment ba)
Set the Billboard alignment type.
NVSG_API const nvmath::Vec3f & | getRotationAxis () const
Get the rotation axis.
NVSG_API void | setRotationAxis (const nvmath::Vec3f &axis)
Set the rotation axis.
NVSG_API Billboard & | operator= (const Billboard &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another Billboard.
REFLECTION_INFO_API (NVSG_API, Billboard)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Alignment)
NVSG_API | DECLARE_STATIC_PROPERTY (RotationAxis)

Static Public Member Functions

static NVSG_API BillboardSharedPtr | create ()

Protected Member Functions

NVSG_API | Billboard ()
Default-constructs a Billboard.
NVSG_API | Billboard (const Billboard &rhs)
Copy-constructs a Billboard from another Billboard.
virtual NVSG_API | ~Billboard ()
Destructs a Billboard.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class that adds billboard properties to a Group.

Namespace: nvsg
Remarks:
The Billboard is a special transforming Group that performs a rotation either around and rotationAxis, or around the camera's upVector, such that the contents of the Group is either always oriented towards the viewer or screen aligned.
See also:
Group, Transform

Member Enumeration Documentation

enum Alignment

Enumeration type to describe the alignment of a Billboard.

Enumeration values:
BA_AXIS | Axis aligned Billboard: rotate around a specified axis.
BA_VIEWER | Viewer aligned Billboard: align the Billboard to always face the viewer.
BA_SCREEN | Screen aligned Billboard: keep the Billboard aligned to the screen.

Constructor & Destructor Documentation

NVSG_API Billboard ( ) [protected]

Default-constructs a Billboard.

Remarks:
. The Billboard initially has the y-axis as rotation axis and is not screen aligned.

NVSG_API Billboard ( const Billboard & rhs ) [protected]

Copy-constructs a Billboard from another Billboard.

Parameters:
rhs Source Billboard.

virtual NVSG_API ~Billboard ( ) [protected, virtual]

Destructs a Billboard.

Member Function Documentation

NVSG_API nvmath::Trafo getTrafo | ( | const Camera & | cam,
 |  | const nvmath::Mat44f & | worldToModel
 | ) | const

Get the current Trafo of the Billboard.

Parameters:
cam | Specifies the read-only Camera to use in aligning the Billboard.
worldToModel | Specifies the current mapping from world to model.
Returns:
An nvmath::Trafo, that represents the transformation of the Billboard.
Remarks:
Depending on the alignment of the Billboard, a different Trafo is determined.
See also:
getAlignment, setAlignment

Billboard::Alignment getAlignment ( ) const [inline]

Get the alignment type of the Billboard.

Returns:
The enumeration value describing the alignment type.
See also:
Billboard::Alignment, setAlignment

void setAlignment ( Alignment ba ) [inline]

Set the Billboard alignment type.

Parameters:
ba The enumeration value describing the alignment type.
See also:
Billboard::Alignment, getAlignment

const nvmath::Vec3f & getRotationAxis ( ) const [inline]

Get the rotation axis.

Returns:
A reference to the constant rotation axis.
Remarks:
The rotation axis specifies which axis to use to perform the rotation. This axis is defined in the local coordinates of the Billboard. The default is the local y-axis, that is (0.0,1.0,0.0). The rotation axis is used only if the Billboard is not to be screen aligned.
See also:
isViewerAligned, setRotationAxis

void setRotationAxis ( const nvmath::Vec3f & axis ) [inline]

Set the rotation axis.

Parameters:
axis A reference to the constant rotation axis.
Remarks:
The rotation axis specifies which axis to use to perform the rotation. This axis is defined in the local coordinates of the Billboard. The default is the local y-axis, that is (0.0,1.0,0.0). The rotation axis is used only if the Billboard is not to be screen aligned.
See also:
getRotationAxis, setViewerAligned

NVSG_API Billboard& operator= ( const Billboard & rhs )

Assignment operator.

Parameters:
rhs Reference to the constant Billboard to copy from
Returns:
A reference to the assigned Billboard
Remarks:
The assignment operator first calls the assignment operator of Group. Then the rotation axis and the screen alignment flag are copied.
See also:
Group

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another Billboard.

Parameters:
p | Pointer to the constant Billboard to test for equivalence with
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparison; default is false
Returns:
true if the Billboard p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as a group, they are equivalent if they are both screen aligned, or if they are not screen aligned but have the same rotation axis.
Note:
The behavior is undefined if p is not a Billboard nor derived from one.
See also:
Group, getRotationAxis, isViewerAligned

Reimplemented from Group.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Group.

The documentation for this class was generated from the following file:
  • Billboard.h
Generated on Fri Jul 13 13:29:51 2012 for SceniX


SceniX: Member List

Billboard Member List

This is the complete list of members for Billboard, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
Alignment enum name | Billboard |
BA_AXIS enum value | Billboard |
BA_SCREEN enum value | Billboard |
BA_VIEWER enum value | Billboard |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
Billboard() | Billboard | [protected]
Billboard(const Billboard &rhs) | Billboard | [protected]
calculateBoundingBox() const | Group | [protected, virtual]
calculateBoundingSphere() const | Group | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Billboard) | Billboard | [static]
DECLARE_STATIC_PROPERTY(Alignment) (defined in Billboard) | Billboard |
DECLARE_STATIC_PROPERTY(RotationAxis) (defined in Billboard) | Billboard |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Group) | Group | [protected, virtual]
determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Group) | Group | [protected, virtual]
determineLODContainment() const (defined in Group) | Group | [protected, virtual]
determineShaderContainment() const (defined in Group) | Group | [protected, virtual]
determineTransparencyContainment() const (defined in Group) | Group | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Billboard | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
getAlignment() const | Billboard | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getRotationAxis() const | Billboard | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTrafo(const Camera &cam, const nvmath::Mat44f &worldToModel) const | Billboard |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Billboard | [virtual]
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Billboard &rhs) | Billboard |
nvsg::Group::operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postAddChild(unsigned int position) | Group | [protected, virtual]
postRemoveChild(unsigned int position) | Group | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Billboard) (defined in Billboard) | Billboard |
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setAlignment(Alignment ba) | Billboard | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setRotationAxis(const nvmath::Vec3f &axis) | Billboard | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Group) | Group | [protected, virtual]
~Billboard() | Billboard | [protected, virtual]
~Group() | Group | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:29:51 2012 for SceniX


SceniX: Bit Class Template Reference

nvutil::Bit

Bit Class Template Reference

Template class for easy definition of a single-bit bitmask. More...

#include <BitMask.h>

List of all members.

Public Types

enum { mask = 1<<n }

Detailed Description

template<int n>
class nvutil::Bit< n >

Template class for easy definition of a single-bit bitmask.

The documentation for this class was generated from the following file:
  • BitMask.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Bit Member List

This is the complete list of members for Bit, including all inherited members.

mask enum value (defined in Bit) Bit

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: BlendAttribute Class Reference

nvsg::BlendAttribute

BlendAttribute Class Reference

StateAttribute that determines the blending modes to use. More...

#include <BlendAttribute.h>

Inheritance diagram for BlendAttribute:

[legend]
Collaboration diagram for BlendAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setBlendFunctions (BlendFunction sourceFunction, BlendFunction destinationFunction)
Set the blending functions for source and destination.
NVSG_API BlendFunction | getSourceFunction () const
Get the source blending function.
NVSG_API BlendFunction | getDestinationFunction () const
Get the destination blending function.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another BlendAttribute.
NVSG_API BlendAttribute & | operator= (const BlendAttribute &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, BlendAttribute)

Static Public Member Functions

static NVSG_API BlendAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | BlendAttribute ()
Default-constructs a BlendAttribute.
NVSG_API | BlendAttribute (const BlendAttribute &rhs)
Constructs a BlendAttribute as a copy from another BlendAttribute.
virtual NVSG_API | ~BlendAttribute ()
Destructs a BlendAttribute.
virtual NVSG_API bool | determineTransparencyContainment () const
Determine the transparency status of this BlendAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute that determines the blending modes to use.

Namespace: nvsg
Remarks:
A BlendAttribute defines a nvsg::BlendFunction for both the source and the destination fragment. Blending can be completely controlled through use of a BlendAttribute.
Note:
A BlendAttribute takes precedence over both the blending of transparent geometries as well as the blending of antialiased lines and points.
See also:
BlendFunction, LineAttribute, PointAttribute, StateAttribute,

Constructor & Destructor Documentation

NVSG_API BlendAttribute ( ) [protected]

Default-constructs a BlendAttribute.

Remarks:
A default-constructed BlendAttribute is initialized with BF_ONE as source function and BF_ZERO as destination function.

NVSG_API BlendAttribute ( const BlendAttribute & rhs ) [protected]

Constructs a BlendAttribute as a copy from another BlendAttribute.

Parameters:
rhs Source BlendAttribute.

virtual NVSG_API ~BlendAttribute ( ) [protected, virtual]

Destructs a BlendAttribute.

Member Function Documentation

NVSG_API void setBlendFunctions | ( | BlendFunction | sourceFunction,
 |  | BlendFunction | destinationFunction
 | ) |

Set the blending functions for source and destination.

Parameters:
sourceFunction | Blending function for the source
destinationFunction | Blending function for the destination
Remarks:
This function controls how color values in the fragment being processed (the source) are combined with those already stored in the framebuffer (the destination). The argument sourceFunction indicates how to compute a source blending function; the argument destinationFunction indicates how to compute a destination blending function.
See also:
BlendFunction

BlendFunction getSourceFunction ( ) const [inline]

Get the source blending function.

Returns:
nvsg::BlendFunction indicating the source blending function.
See also:
getDestinationFunction, setBlendFunctions

BlendFunction getDestinationFunction ( ) const [inline]

Get the destination blending function.

Returns:
nvsg::BlendFunction indicating the destination blending function.
See also:
getSourceFunction, setBlendFunctions

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another BlendAttribute.

Parameters:
p | Pointer to the constant BlendAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the BlendAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as StateAttribute, they are considered to be equivalent if they have the same nvsg::BlendFunction for the source and the destination.
Note:
The behaviour is undefined if p is not a BlendAttribute nor derived from one.
See also:
StateAttribute, getDestinationFunction, getSourceFunction

Reimplemented from Object.

NVSG_API BlendAttribute& operator= ( const BlendAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant BlendAttribute to copy from
Returns:
A reference to the assigned BlendAttribute
Remarks:
The assignment operator calls the assignment operator of StateAttribute and copies the BlendAttribute specific data then.
See also:
PrimitiveAttribute

virtual NVSG_API bool determineTransparencyContainment ( ) const [protected, virtual]

Determine the transparency status of this BlendAttribute.

Returns:
true, if this BlendAttribute is transparent, otherwise false.
Remarks:
A BlendAttribute is considered to be transparent, if the source function is one of BF_DESTINATION_COLOR, BF_ONE_MINUS_DESTINATION_COLOR, BF_DESTINATION_ALPHA, BF_ONE_MINUS_DESTINATION_ALPHA, or BF_SOURCE_ALPHA_SATURATE, or the destination function is not BF_ZERO.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • BlendAttribute.h
Generated on Fri Jul 13 13:29:51 2012 for SceniX


SceniX: Member List

BlendAttribute Member List

This is the complete list of members for BlendAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
BlendAttribute() | BlendAttribute | [protected]
BlendAttribute(const BlendAttribute &rhs) | BlendAttribute | [protected]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in BlendAttribute) | BlendAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const | BlendAttribute | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | BlendAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDestinationFunction() const | BlendAttribute | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSourceFunction() const | BlendAttribute | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | BlendAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const BlendAttribute &rhs) | BlendAttribute |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, BlendAttribute) (defined in BlendAttribute) | BlendAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setBlendFunctions(BlendFunction sourceFunction, BlendFunction destinationFunction) | BlendAttribute |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~BlendAttribute() | BlendAttribute | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:29:51 2012 for SceniX


SceniX: bone_t Struct Reference

bone_t Struct Reference

The bone_t structure specifies how a bone is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

float weight
uint_t animation

Detailed Description

The bone_t structure specifies how a bone is stored in a .NBF file.

Bones need to be considered in conjunction with the skin_t structure.

Member Data Documentation

float weight

Specifies a weight factor to be applied to the initial vertices and normals of the actual skin.

uint_t animation

Specifies the file offset to the animation to be applied to the initial vertices and normals of the actual skin.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Member List

bone_t Member List

This is the complete list of members for bone_t, including all inherited members.

animation | bone_t
weight | bone_t

Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: BoxFilter Class Reference

nvsg::BoxFilter

BoxFilter Class Reference

ScaleFilter functor providing box filter functionality. More...

#include <TextureHost.h>

Inheritance diagram for BoxFilter:

[legend]
Collaboration diagram for BoxFilter:

[legend]
List of all members.

Public Member Functions

NVSG_API float | getSupportWidth (void) const
Get the support width of the BoxFilter.
NVSG_API float | operator() (float t) const
Weight calculation operator.

Detailed Description

ScaleFilter functor providing box filter functionality.

A BoxFilter has a support width of 0.5. For distances between source and destination texel of up to 0.5, the weight is 1.0, otherwise 0.0.

Member Function Documentation

float getSupportWidth ( void ) const [inline, virtual]

Get the support width of the BoxFilter.

Returns:
the support width of the BoxFilter is 0.5.

Implements ScaleFilter.

float operator() ( float t ) const [inline, virtual]

Weight calculation operator.

Returns:
1.0, if t is less than or equal to 0.5, otherwise 0.0.

Implements ScaleFilter.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:29 2012 for SceniX


SceniX: Member List

BoxFilter Member List

This is the complete list of members for BoxFilter, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getSupportWidth(void) const | BoxFilter | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(float t) const | BoxFilter | [inline, virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:29 2012 for SceniX


SceniX: Boxnt Class Template Reference

nvmath::Boxnt

Boxnt Class Template Reference

Represents an axis-aligned box. More...

#include <Boxnt.h>

List of all members.

Public Member Functions

Boxnt ()
Default-constructs an axis-aligned box.
Boxnt (const Boxnt &rhs)
Copy-constructs an axis-aligned box.
Boxnt (const Vecnt< n, T > &p0, const Vecnt< n, T > &p1)
Constructs an axis-aligned box out of two points.
const Vecnt< n, T > & | getLower () const
Returns the lower edge of the box.
const Vecnt< n, T > & | getUpper () const
Returns the upper edge of the box.
Vecnt< n, T > | getSize () const
Returns the size of the box.
Vecnt< n, T > | getCenter () const
Returns the center of the box.
void | update (const Vecnt< n, T > &point)
Updates the box by a specified point.

Detailed Description

template<unsigned int n, typename T>
class nvmath::Boxnt< n, T >

Represents an axis-aligned box.

Parameters:
n | Specifies the box dimension.
T | Specifies the coordinate type used to represent the box.
Remarks:
This class can be used to represent an axis-aligned minimum bounding box for a set of points in an n-dimensional space.

Constructor & Destructor Documentation

Boxnt ( ) [inline]

Default-constructs an axis-aligned box.

Remarks:
A default-constructed box initially is empty.

Boxnt ( const Boxnt< n, T > & rhs ) [inline]

Copy-constructs an axis-aligned box.

Parameters:
rhs Specifies the master copy.
Remarks:
After instantiation the box has the same extends as the master copy.

Boxnt | ( | const Vecnt< n, T > & | p0,
 |  | const Vecnt< n, T > & | p1
 | ) | [inline]

Constructs an axis-aligned box out of two points.

Parameters:
p0 | Specifies the first point to consider.
p1 | Specifies the second point to consider.

Member Function Documentation

const Vecnt< n, T > & getLower ( ) const [inline]

Returns the lower edge of the box.

Returns:
The lower edge of the axis-aligned box.

const Vecnt< n, T > & getUpper ( ) const [inline]

Returns the upper edge of the box.

Returns:
The upper edge of the axis-aligned box.

Vecnt< n, T > getSize ( ) const [inline]

Returns the size of the box.

Returns:
The size of the axis-aligned box.

Vecnt< n, T > getCenter ( ) const [inline]

Returns the center of the box.

Returns:
The center of the axis-aligned box.

void update ( const Vecnt< n, T > & point ) [inline]

Updates the box by a specified point.

Parameters:
point The point by which to update the axis-aligned box.
Remarks:
The function calculates new axis-aligned lower and upper edges from the input point.

The documentation for this class was generated from the following file:
  • Boxnt.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

Boxnt Member List

This is the complete list of members for Boxnt, including all inherited members.

Boxnt() | Boxnt | [inline]
Boxnt(const Boxnt &rhs) | Boxnt | [inline]
Boxnt(const Vecnt< n, T > &p0, const Vecnt< n, T > &p1) | Boxnt | [inline]
getCenter() const | Boxnt | [inline]
getLower() const | Boxnt | [inline]
getSize() const | Boxnt | [inline]
getUpper() const | Boxnt | [inline]
update(const Vecnt< n, T > &point) | Boxnt | [inline]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: BSplineFilter Class Reference

nvsg::BSplineFilter

BSplineFilter Class Reference

ScaleFilter functor providing BSpline filter functionality. More...

#include <TextureHost.h>

Inheritance diagram for BSplineFilter:

[legend]
Collaboration diagram for BSplineFilter:

[legend]
List of all members.

Public Member Functions

NVSG_API float | getSupportWidth (void) const
Get the support width of the BSplineFilter.
NVSG_API float | operator() (float t) const
Weight calculation operator.

Detailed Description

ScaleFilter functor providing BSpline filter functionality.

A BSplineFilter has a support width of 2.0. For distances t between source and destination texel in the half open interval [0.0,1.0), the weight is ( 2.0/3.0 - t^2 + 0.5 * t^3 ), if t is in the half open interval [1.0,2.0), the weight is ( 1.0/6.0 * ( 2.0 - t )^3 ), otherwise 0.0.

Member Function Documentation

float getSupportWidth ( void ) const [inline, virtual]

Get the support width of the BSplineFilter.

Returns:
the support width of the BSplineFilter is 2.0.

Implements ScaleFilter.

NVSG_API float operator() ( float t ) const [virtual]

Weight calculation operator.

Returns:
( 2.0/3.0 - t^2 + 0.5 * t^3 ), if t is in the interval [0.0,1.0), ( 1.0/6.0 * ( 2.0 - t )^3 ) if t is in the interval [1.0,2.0), otherwise 0.0.

Implements ScaleFilter.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: Member List

BSplineFilter Member List

This is the complete list of members for BSplineFilter, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getSupportWidth(void) const | BSplineFilter | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(float t) const | BSplineFilter | [virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: Buffer Class Reference

nvsg::Buffer

Buffer Class Reference

Interface for buffers used as storage for SceniX. More...

#include <Buffer.h>

Inheritance diagram for Buffer:

[legend]
Collaboration diagram for Buffer:

[legend]
List of all members.

Public Types

enum | MapMode { MAP_NONE = 0, MAP_READ = 1, MAP_WRITE = 2, MAP_READWRITE = MAP_READ | MAP_WRITE }

Public Member Functions

virtual NVSG_API void | setData (size_t dst_offset, size_t length, const void *src_data)
copy the continuous memory from another buffer to self
virtual NVSG_API void | setData (size_t dst_offset, size_t length, const BufferSharedPtr &src_buffer, size_t src_offset)
virtual NVSG_API void | getData (size_t src_offset, size_t length, void *dst_data) const
copy the continuous memory to another buffer
virtual NVSG_API void | getData (size_t src_offset, size_t length, const BufferSharedPtr &dst_buffer, size_t dst_offset) const
virtual NVSG_API size_t | getSize () const =0
Retrieve the size of the Buffer.
virtual NVSG_API void | setSize (size_t size)=0
Resize the Buffer. Any data currently stored in this buffer will be lost. \.
virtual NVSG_API void | resize (size_t size)
Resize the Buffer. This function keeps data currently stored in the buffer if possible. \.
virtual NVSG_API nvutil::Incarnation | getIncarnation () const =0
Get the incarnation count of the buffer.
NVSG_API bool | isManagedBySystem () const
Get whether buffer is managed by internal system or user.
template<typename ValueType>
Buffer::Iterator< ValueType
>::Type 		getIterator (MapMode mapMode, size_t offset=0, int strideInBytes=0)
Returns an StridedIterator to access the buffer. The buffer stays write-locked as long as an iterator constructed from the returned one exist.
template<typename ValueType>
ConstIterator< ValueType
>::Type 		getConstIterator (size_t offset=0, int strideInBytes=0) const
Returns an StridedConstIterator to access the buffer. The buffer stays write-locked as long as an iterator constructed from the returned one exist.

Protected Member Functions

virtual NVSG_API void * | map (MapMode mode)
Retrieve pointer to a range within buffer data. Only use the pointers the way the MapMode describes it!
virtual NVSG_API void * | map (MapMode mode, size_t offset, size_t length)=0
virtual NVSG_API const void * | mapRead () const
virtual NVSG_API const void * | mapRead (size_t offset, size_t length) const =0
virtual NVSG_API void | unmap ()=0
virtual NVSG_API void | unmapRead () const =0
void * | lock (MapMode mapMode)
void * | lock (MapMode mode, size_t offset, size_t length)
const void * | lockRead () const
const void * | lockRead (size_t offset, size_t length) const
void | unlock ()
void | unlockRead () const

Classes

struct | ConstIterator
class | DataReadLock
Object to acquire a thread-safe read access to the buffer's data. More...
class | DataWriteLock
Object to acquire a thread-safe write, read or read-write access to the buffer's data. More...
struct | Iterator

Detailed Description

Interface for buffers used as storage for SceniX.

See also:
BufferHost, BufferGL

Member Function Documentation

virtual NVSG_API void setData | ( | size_t | dst_offset,
 |  | size_t | length,
 |  | const void * | src_data
 | ) | [virtual]

copy the continuous memory from another buffer to self

virtual NVSG_API void getData | ( | size_t | src_offset,
 |  | size_t | length,
 |  | void * | dst_data
 | ) | const [virtual]

copy the continuous memory to another buffer

virtual NVSG_API size_t getSize ( ) const [pure virtual]

Retrieve the size of the Buffer.

Implemented in BufferGL, and BufferHost.

virtual NVSG_API void setSize ( size_t size ) [pure virtual]

Resize the Buffer. Any data currently stored in this buffer will be lost. \.

Parameters:
New size for the buffer

Implemented in BufferGL, and BufferHost.

void resize ( size_t size ) [inline, virtual]

Resize the Buffer. This function keeps data currently stored in the buffer if possible. \.

Parameters:
New size for the buffer

virtual NVSG_API nvutil::Incarnation getIncarnation ( ) const [pure virtual]

Get the incarnation count of the buffer.

Reimplemented from Object.

Implemented in BufferGL, and BufferHost.

bool isManagedBySystem ( ) const [inline]

Get whether buffer is managed by internal system or user.

Buffer::Iterator< ValueType >::Type getIterator | ( | MapMode | mapMode,
 |  | size_t | offset = 0,
 |  | int | strideInBytes = 0
 | ) |

Returns an StridedIterator to access the buffer. The buffer stays write-locked as long as an iterator constructed from the returned one exist.

Parameters:
mapMode | Access mode to this buffer
offset | offset in bytes of the first element to access
strideInBytes | Stride between two elements in the buffer in bytes. A stride of 0 will use siezof(ValueType) as stride.

Buffer::ConstIterator< ValueType >::Type getConstIterator | ( | size_t | offset = 0,
 |  | int | strideInBytes = 0
 | ) | const

Returns an StridedConstIterator to access the buffer. The buffer stays write-locked as long as an iterator constructed from the returned one exist.

Parameters:
offset | offset in bytes of the first element to access
strideInBytes | Stride between two elements in bytes. A stride of 0 will use siezof(ValueType) as stride.

void * map ( MapMode mode ) [inline, protected, virtual]

Retrieve pointer to a range within buffer data. Only use the pointers the way the MapMode describes it!

Parameters:
mode | desired MapMode to the buffer
offset | in bytes to start map from
length | in bytes for the mapped range
Note:
Mapping with MAP_WRITE must not be used to retrieve data, and when using MAP_READ you must not write data. Both operations are legal on the C++ side as you get a non-const pointer when mapping, but are illegal for the system's integrity. Buffer implementations will have undefined behavior when you use the MapMode wrongly.
See also:
unmap

virtual NVSG_API void unmap ( ) [protected, pure virtual]

Unmap the previously mapped buffer

See also:
map

Implemented in BufferGL, and BufferHost.

The documentation for this class was generated from the following file:
  • Buffer.h
Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: Member List

Buffer Member List

This is the complete list of members for Buffer, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
Buffer() (defined in Buffer) | Buffer | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getConstIterator(size_t offset=0, int strideInBytes=0) const | Buffer |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getData(size_t src_offset, size_t length, void *dst_data) const | Buffer | [virtual]
getData(size_t src_offset, size_t length, const BufferSharedPtr &dst_buffer, size_t dst_offset) const (defined in Buffer) | Buffer | [virtual]
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const =0 | Buffer | [pure virtual]
getIndexSetIncarnation() const (defined in Object) | Object |
getIterator(MapMode mapMode, size_t offset=0, int strideInBytes=0) | Buffer |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSize() const =0 | Buffer | [pure virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
isManagedBySystem() const | Buffer | [inline]
lock(MapMode mapMode) (defined in Buffer) | Buffer | [inline, protected]
lock(MapMode mode, size_t offset, size_t length) (defined in Buffer) | Buffer | [inline, protected]
lockRead() const (defined in Buffer) | Buffer | [inline, protected]
lockRead(size_t offset, size_t length) const (defined in Buffer) | Buffer | [inline, protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
map(MapMode mode) | Buffer | [inline, protected, virtual]
map(MapMode mode, size_t offset, size_t length)=0 (defined in Buffer) | Buffer | [protected, pure virtual]
MAP_NONE enum value (defined in Buffer) | Buffer |
MAP_READ enum value (defined in Buffer) | Buffer |
MAP_READWRITE enum value (defined in Buffer) | Buffer |
MAP_WRITE enum value (defined in Buffer) | Buffer |
MapMode enum name (defined in Buffer) | Buffer |
mapRead() const (defined in Buffer) | Buffer | [inline, protected, virtual]
mapRead(size_t offset, size_t length) const =0 (defined in Buffer) | Buffer | [protected, pure virtual]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
resize(size_t size) | Buffer | [inline, virtual]
setAnnotation(const std::string &anno) | Object |
setData(size_t dst_offset, size_t length, const void *src_data) | Buffer | [virtual]
setData(size_t dst_offset, size_t length, const BufferSharedPtr &src_buffer, size_t src_offset) (defined in Buffer) | Buffer | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSize(size_t size)=0 | Buffer | [pure virtual]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
unlock() (defined in Buffer) | Buffer | [inline, protected]
unlockRead() const (defined in Buffer) | Buffer | [inline, protected]
unmap()=0 | Buffer | [protected, pure virtual]
unmapRead() const =0 (defined in Buffer) | Buffer | [protected, pure virtual]
~Buffer() (defined in Buffer) | Buffer | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]

Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: Buffer::DataReadLock Class Reference

nvsg::Buffer::DataReadLock

Buffer::DataReadLock Class Reference

Object to acquire a thread-safe read access to the buffer's data. More...

#include <Buffer.h>

Collaboration diagram for Buffer::DataReadLock:

[legend]
List of all members.

Public Member Functions

NVSG_API | DataReadLock ()
Prepare thread-safe access to a range within buffer data. Only use the pointers the way the MapMode describes it!
NVSG_API | DataReadLock (const BufferSharedPtr &buffer)
NVSG_API | DataReadLock (const BufferSharedPtr &buffer, size_t offset, size_t length)
NVSG_API | DataReadLock (const DataReadLock &rhs)
NVSG_API DataReadLock & | operator= (const DataReadLock &rhs)
void | reset ()
template<typename ValueType>
const ValueType * | getPtr () const
Returns the pointer to the mapped range within the buffer.
NVSG_API const void * | getPtr () const

Classes

class | ReadLockImpl

Detailed Description

Object to acquire a thread-safe read access to the buffer's data.

See also:
WriteLock

Constructor & Destructor Documentation

NVSG_API DataReadLock ( ) [inline]

Prepare thread-safe access to a range within buffer data. Only use the pointers the way the MapMode describes it!

Parameters:
mode | desired MapMode to the buffer
offset | in bytes to start map from
length | in bytes for the mapped range

Member Function Documentation

const ValueType* getPtr ( ) const [inline]

Returns the pointer to the mapped range within the buffer.

The documentation for this class was generated from the following file:
  • Buffer.h
Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: Member List

Buffer::DataReadLock Member List

This is the complete list of members for Buffer::DataReadLock, including all inherited members.

DataReadLock() | Buffer::DataReadLock | [inline]
DataReadLock(const BufferSharedPtr &buffer) (defined in Buffer::DataReadLock) | Buffer::DataReadLock | [inline]
DataReadLock(const BufferSharedPtr &buffer, size_t offset, size_t length) (defined in Buffer::DataReadLock) | Buffer::DataReadLock | [inline]
DataReadLock(const DataReadLock &rhs) (defined in Buffer::DataReadLock) | Buffer::DataReadLock | [inline]
getPtr() const | Buffer::DataReadLock | [inline]
getPtr() const (defined in Buffer::DataReadLock) | Buffer::DataReadLock | [inline]
operator=(const DataReadLock &rhs) (defined in Buffer::DataReadLock) | Buffer::DataReadLock | [inline]
reset() (defined in Buffer::DataReadLock) | Buffer::DataReadLock | [inline]

Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: Buffer::DataWriteLock Class Reference

nvsg::Buffer::DataWriteLock

Buffer::DataWriteLock Class Reference

Object to acquire a thread-safe write, read or read-write access to the buffer's data. More...

#include <Buffer.h>

Collaboration diagram for Buffer::DataWriteLock:

[legend]
List of all members.

Public Member Functions

NVSG_API | DataWriteLock ()
Prepare thread-safe access to a range within buffer data. Only use the pointers the way the MapMode describes it!
NVSG_API | DataWriteLock (const BufferSharedPtr &buffer, Buffer::MapMode mapMode)
NVSG_API | DataWriteLock (const BufferSharedPtr &buffer, Buffer::MapMode mapMode, size_t offset, size_t length)
NVSG_API | DataWriteLock (const DataWriteLock &rhs)
NVSG_API DataWriteLock & | operator= (const DataWriteLock &rhs)
NVSG_API void | reset ()
NVSG_API void * | getPtr () const
Returns the pointer to the mapped range within the buffer. Make sure you only use it according to MapMode.
template<typename ValueType>
ValueType * | getPtr () const

Classes

class | WriteLockImpl

Detailed Description

Object to acquire a thread-safe write, read or read-write access to the buffer's data.

See also:
ReadLock

Constructor & Destructor Documentation

NVSG_API DataWriteLock ( ) [inline]

Prepare thread-safe access to a range within buffer data. Only use the pointers the way the MapMode describes it!

Parameters:
mapMode | desired MapMode to the buffer.
offset | in bytes to start map from
length | in bytes for the mapped range
Note:
Mapping with MAP_WRITE must not be used to retrieve data, and when using MAP_READ you must not write data. Both operations are legal on the C++ side as you get a non-const pointer when mapping, but are illegal for the system's integrity. Buffer implementations will have undefined behavior when you use the MapMode wrongly.
See also:
getPtr

Member Function Documentation

NVSG_API void* getPtr ( ) const [inline]

Returns the pointer to the mapped range within the buffer. Make sure you only use it according to MapMode.

The documentation for this class was generated from the following file:
  • Buffer.h
Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: Member List

Buffer::DataWriteLock Member List

This is the complete list of members for Buffer::DataWriteLock, including all inherited members.

DataWriteLock() | Buffer::DataWriteLock | [inline]
DataWriteLock(const BufferSharedPtr &buffer, Buffer::MapMode mapMode) (defined in Buffer::DataWriteLock) | Buffer::DataWriteLock | [inline]
DataWriteLock(const BufferSharedPtr &buffer, Buffer::MapMode mapMode, size_t offset, size_t length) (defined in Buffer::DataWriteLock) | Buffer::DataWriteLock | [inline]
DataWriteLock(const DataWriteLock &rhs) (defined in Buffer::DataWriteLock) | Buffer::DataWriteLock | [inline]
getPtr() const | Buffer::DataWriteLock | [inline]
getPtr() const (defined in Buffer::DataWriteLock) | Buffer::DataWriteLock | [inline]
operator=(const DataWriteLock &rhs) (defined in Buffer::DataWriteLock) | Buffer::DataWriteLock | [inline]
reset() (defined in Buffer::DataWriteLock) | Buffer::DataWriteLock | [inline]

Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: BufferGL Class Reference

nvgl::BufferGL

BufferGL Class Reference

This class uses an OpenGL buffer object as storage for the data of an nvsg::Buffer. For all operations on an nvgl::BufferGL object it is necessary to have a valid OpenGL context current. More...

#include <BufferGL.h>

Inheritance diagram for BufferGL:

[legend]
Collaboration diagram for BufferGL:

[legend]
List of all members.

Public Types

enum | BufferState { STATE_MANAGED = BIT0, STATE_CAPABILITY_RANGE = BIT1, STATE_CAPABILITY_COPY = BIT2, STATE_CAPABILITY_RANGEANDCOPY = STATE_CAPABILITY_RANGE | STATE_CAPABILITY_COPY }

Public Member Functions

NVSG_API void | bind ()
Bind the buffer to the target specified by the setTarget function !
NVSG_API void | bind (GLenum target)
Bind the buffer to the given target.
NVSG_API void | unbind ()
Unbind the buffer from the target specified by the setTarget function !
NVSG_API void | unbind (GLenum target)
Bind the buffer from the given target.
virtual NVSG_API void | getData (size_t srcOffset, size_t length, const nvsg::BufferSharedPtr &dstBuffer, size_t dstOffset) const
Copy data from this buffer into the given buffer.
virtual NVSG_API void | setData (size_t dstOffset, size_t length, const nvsg::BufferSharedPtr &srcBuffer, size_t srcOffset)
Copy data from a given buffer into this buffer.
virtual NVSG_API void | setSize (size_t size)
Resize the buffer. This function will resize the underlying storage. All data stored in this buffer will be lost.
virtual NVSG_API size_t | getSize () const
Query the size of this buffer.
NVSG_API void | setTarget (GLenum target)
Sets the OpenGL target this buffer will be bound to.
NVSG_API GLenum | getTarget () const
Query the OpenGL target of this buffer.
NVSG_API void | setUsage (GLenum usage)
Sets the OpenGL access usage of this object. Becomes effective with the next resize of setSize operation.
NVSG_API GLenum | getUsage () const
Query the OpenGL access usage of this buffer.
NVSG_API GLuint | getGLId () const
Query the OpenGL buffer object name of this buffer.
virtual NVSG_API nvutil::Incarnation | getIncarnation () const
Get the incarnation count of the buffer.

Static Public Member Functions

static NVSG_API BufferGLSharedPtr | create ()
Create a new nvgl::BufferGL object. It is required that an OpenGL context is current when calling this function.

Protected Member Functions

NVSG_API | BufferGL ()
Default constructor !
virtual NVSG_API | ~BufferGL ()
Destructor !
virtual NVSG_API void * | map (MapMode mode, size_t offset, size_t length)
virtual NVSG_API void | unmap ()
virtual NVSG_API const void * | mapRead (size_t offset, size_t length) const
virtual NVSG_API void | unmapRead () const

Protected Attributes

Buffer::MapMode | m_mapMode
GLuint | m_glId
GLenum | m_target
GLenum | m_usage
size_t | m_sizeInBytes
unsigned int | m_stateFlags
nvutil::Incarnation | m_incarnation
ShareGroupGLSharedPtr | m_shareGroupGL

Detailed Description

This class uses an OpenGL buffer object as storage for the data of an nvsg::Buffer. For all operations on an nvgl::BufferGL object it is necessary to have a valid OpenGL context current.

Constructor & Destructor Documentation

NVSG_API BufferGL ( ) [protected]

Default constructor !

virtual NVSG_API ~BufferGL ( ) [protected, virtual]

Destructor !

Member Function Documentation

static NVSG_API BufferGLSharedPtr create ( ) [static]

Create a new nvgl::BufferGL object. It is required that an OpenGL context is current when calling this function.

Returns:
An nvgl::BufferGLSharedPtr to the created object. !

NVSG_API void bind ( )

Bind the buffer to the target specified by the setTarget function !

NVSG_API void bind ( GLenum target )

Bind the buffer to the given target.

Parameters:
target OpenGL target (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, ...) !

NVSG_API void unbind ( )

Unbind the buffer from the target specified by the setTarget function !

NVSG_API void unbind ( GLenum target )

Bind the buffer from the given target.

Parameters:
target OpenGL target (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, ...) !

virtual NVSG_API void getData | ( | size_t | srcOffset,
 |  | size_t | length,
 |  | const nvsg::BufferSharedPtr & | dstBuffer,
 |  | size_t | dstOffset
 | ) | const [virtual]

Copy data from this buffer into the given buffer.

Parameters:
srcOffset | Offset in source buffer in bytes.
length | Number of bytes to copy from source buffer to destination buffer.
dstBuffer | Buffer which should receive the data.
dstOffset | Offset in destination buffer in bytes. !

virtual NVSG_API void setData | ( | size_t | dstOffset,
 |  | size_t | length,
 |  | const nvsg::BufferSharedPtr & | srcBuffer,
 |  | size_t | srcOffset
 | ) | [virtual]

Copy data from a given buffer into this buffer.

Parameters:
srcOffset | Offset in this buffer in bytes.
length | Number of bytes to copy from source buffer into this buffer.
srcBuffer | Source for copy operation.
srcOffset | Offset in source buffer in bytes. !

virtual NVSG_API void setSize ( size_t size ) [virtual]

Resize the buffer. This function will resize the underlying storage. All data stored in this buffer will be lost.

Remarks:
Use resize( size_t ) to change the size without losing data in this buffer. !

Implements Buffer.

virtual NVSG_API size_t getSize ( ) const [virtual]

Query the size of this buffer.

Returns:
Size of this buffer. !

Implements Buffer.

void setTarget ( GLenum target ) [inline]

Sets the OpenGL target this buffer will be bound to.

Parameters:
target OpenGL target (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, ...) !

GLenum getTarget ( ) const [inline]

Query the OpenGL target of this buffer.

Returns:
OpenGL target of this buffer. !

void setUsage ( GLenum usage ) [inline]

Sets the OpenGL access usage of this object. Becomes effective with the next resize of setSize operation.

Parameters:
usage (GL_STATIC_DRAW, GL_DYNAMIC_READ, ...). !

GLenum getUsage ( ) const [inline]

Query the OpenGL access usage of this buffer.

Returns:
Usage of this buffer (GL_STATIC_DRAW, GL_DYNAMIC_READ, ...).

NVSG_API GLuint getGLId ( ) const

Query the OpenGL buffer object name of this buffer.

Returns:
OpenGL buffer object name.

virtual NVSG_API nvutil::Incarnation getIncarnation ( ) const [inline, virtual]

Get the incarnation count of the buffer.

Implements Buffer.

virtual NVSG_API void unmap ( ) [protected, virtual]

Unmap the previously mapped buffer

See also:
map

Implements Buffer.

The documentation for this class was generated from the following file:
  • BufferGL.h
Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: Member List

BufferGL Member List

This is the complete list of members for BufferGL, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
bind() | BufferGL |
bind(GLenum target) | BufferGL |
Buffer() (defined in Buffer) | Buffer | [inline]
BufferGL() | BufferGL | [protected]
BufferState enum name (defined in BufferGL) | BufferGL |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() | BufferGL | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getConstIterator(size_t offset=0, int strideInBytes=0) const | Buffer |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getData(size_t srcOffset, size_t length, const nvsg::BufferSharedPtr &dstBuffer, size_t dstOffset) const | BufferGL | [virtual]
nvsg::Buffer::getData(size_t src_offset, size_t length, void *dst_data) const | Buffer | [virtual]
getData(size_t src_offset, size_t length, const BufferSharedPtr &dst_buffer, size_t dst_offset) const (defined in Buffer) | Buffer | [virtual]
getDataID() const | Object | [virtual]
getGLId() const | BufferGL |
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const | BufferGL | [inline, virtual]
getIndexSetIncarnation() const (defined in Object) | Object |
getIterator(MapMode mapMode, size_t offset=0, int strideInBytes=0) | Buffer |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSize() const | BufferGL | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTarget() const | BufferGL | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUsage() const | BufferGL | [inline]
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
isManagedBySystem() const | Buffer | [inline]
lock(MapMode mapMode) (defined in Buffer) | Buffer | [inline, protected]
lock(MapMode mode, size_t offset, size_t length) (defined in Buffer) | Buffer | [inline, protected]
lockRead() const (defined in Buffer) | Buffer | [inline, protected]
lockRead(size_t offset, size_t length) const (defined in Buffer) | Buffer | [inline, protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_glId (defined in BufferGL) | BufferGL | [protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_incarnation (defined in BufferGL) | BufferGL | [protected]
m_mapMode (defined in BufferGL) | BufferGL | [mutable, protected]
m_objectCode | Object | [protected]
m_shareGroupGL (defined in BufferGL) | BufferGL | [protected]
m_sizeInBytes (defined in BufferGL) | BufferGL | [protected]
m_stateFlags (defined in BufferGL) | BufferGL | [protected]
m_target (defined in BufferGL) | BufferGL | [protected]
m_usage (defined in BufferGL) | BufferGL | [protected]
map(MapMode mode, size_t offset, size_t length) (defined in BufferGL) | BufferGL | [protected, virtual]
nvsg::Buffer::map(MapMode mode) | Buffer | [inline, protected, virtual]
MAP_NONE enum value (defined in Buffer) | Buffer |
MAP_READ enum value (defined in Buffer) | Buffer |
MAP_READWRITE enum value (defined in Buffer) | Buffer |
MAP_WRITE enum value (defined in Buffer) | Buffer |
MapMode enum name (defined in Buffer) | Buffer |
mapRead(size_t offset, size_t length) const (defined in BufferGL) | BufferGL | [protected, virtual]
mapRead() const (defined in Buffer) | Buffer | [inline, protected, virtual]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
resize(size_t size) | Buffer | [inline, virtual]
setAnnotation(const std::string &anno) | Object |
setData(size_t dstOffset, size_t length, const nvsg::BufferSharedPtr &srcBuffer, size_t srcOffset) | BufferGL | [virtual]
nvsg::Buffer::setData(size_t dst_offset, size_t length, const void *src_data) | Buffer | [virtual]
setData(size_t dst_offset, size_t length, const BufferSharedPtr &src_buffer, size_t src_offset) (defined in Buffer) | Buffer | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSize(size_t size) | BufferGL | [virtual]
setTarget(GLenum target) | BufferGL | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUsage(GLenum usage) | BufferGL | [inline]
setUserData(const void *userData) | Object | [inline]
STATE_CAPABILITY_COPY enum value (defined in BufferGL) | BufferGL |
STATE_CAPABILITY_RANGE enum value (defined in BufferGL) | BufferGL |
STATE_CAPABILITY_RANGEANDCOPY enum value (defined in BufferGL) | BufferGL |
STATE_MANAGED enum value (defined in BufferGL) | BufferGL |
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
unbind() | BufferGL |
unbind(GLenum target) | BufferGL |
unlock() (defined in Buffer) | Buffer | [inline, protected]
unlockRead() const (defined in Buffer) | Buffer | [inline, protected]
unmap() | BufferGL | [protected, virtual]
unmapRead() const (defined in BufferGL) | BufferGL | [protected, virtual]
~Buffer() (defined in Buffer) | Buffer | [virtual]
~BufferGL() | BufferGL | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]

Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: BufferHost Class Reference

nvsg::BufferHost

BufferHost Class Reference

Buffer implementation using memory on the host as storage. More...

#include <BufferHost.h>

Inheritance diagram for BufferHost:

[legend]
Collaboration diagram for BufferHost:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | setUnmanagedDataPtr (void *data)
virtual NVSG_API void | setSize (size_t size)
Resize the Buffer. Any data currently stored in this buffer will be lost. \.
virtual NVSG_API size_t | getSize () const
Retrieve the size of the Buffer.
virtual NVSG_API nvutil::Incarnation | getIncarnation () const
Get the incarnation count of the buffer.

Static Public Member Functions

static NVSG_API BufferHostSharedPtr | create ()

Protected Member Functions

virtual NVSG_API void * | map (MapMode mode, size_t offset, size_t length)
virtual NVSG_API void | unmap ()
virtual NVSG_API const void * | mapRead (size_t offset, size_t length) const
virtual NVSG_API void | unmapRead () const

Protected Attributes

Buffer::MapMode | m_mapMode
size_t | m_sizeInBytes
char * | m_data
nvutil::Incarnation | m_incarnation
bool | m_managed

Detailed Description

Buffer implementation using memory on the host as storage.

See also:
Buffer

Member Function Documentation

virtual NVSG_API void setSize ( size_t size ) [virtual]

Resize the Buffer. Any data currently stored in this buffer will be lost. \.

Parameters:
New size for the buffer

Implements Buffer.

virtual NVSG_API size_t getSize ( ) const [virtual]

Retrieve the size of the Buffer.

Implements Buffer.

virtual NVSG_API nvutil::Incarnation getIncarnation ( ) const [virtual]

Get the incarnation count of the buffer.

Implements Buffer.

virtual NVSG_API void unmap ( ) [protected, virtual]

Unmap the previously mapped buffer

See also:
map

Implements Buffer.

The documentation for this class was generated from the following file:
  • BufferHost.h
Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: Member List

BufferHost Member List

This is the complete list of members for BufferHost, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
Buffer() (defined in Buffer) | Buffer | [inline]
BufferHost() (defined in BufferHost) | BufferHost | [protected]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in BufferHost) | BufferHost | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getConstIterator(size_t offset=0, int strideInBytes=0) const | Buffer |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getData(size_t src_offset, size_t length, void *dst_data) const | Buffer | [virtual]
getData(size_t src_offset, size_t length, const BufferSharedPtr &dst_buffer, size_t dst_offset) const (defined in Buffer) | Buffer | [virtual]
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const | BufferHost | [virtual]
getIndexSetIncarnation() const (defined in Object) | Object |
getIterator(MapMode mapMode, size_t offset=0, int strideInBytes=0) | Buffer |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSize() const | BufferHost | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
isManagedBySystem() const | Buffer | [inline]
lock(MapMode mapMode) (defined in Buffer) | Buffer | [inline, protected]
lock(MapMode mode, size_t offset, size_t length) (defined in Buffer) | Buffer | [inline, protected]
lockRead() const (defined in Buffer) | Buffer | [inline, protected]
lockRead(size_t offset, size_t length) const (defined in Buffer) | Buffer | [inline, protected]
m_data (defined in BufferHost) | BufferHost | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_incarnation (defined in BufferHost) | BufferHost | [protected]
m_managed (defined in BufferHost) | BufferHost | [protected]
m_mapMode (defined in BufferHost) | BufferHost | [mutable, protected]
m_objectCode | Object | [protected]
m_sizeInBytes (defined in BufferHost) | BufferHost | [protected]
map(MapMode mode, size_t offset, size_t length) (defined in BufferHost) | BufferHost | [protected, virtual]
nvsg::Buffer::map(MapMode mode) | Buffer | [inline, protected, virtual]
MAP_NONE enum value (defined in Buffer) | Buffer |
MAP_READ enum value (defined in Buffer) | Buffer |
MAP_READWRITE enum value (defined in Buffer) | Buffer |
MAP_WRITE enum value (defined in Buffer) | Buffer |
MapMode enum name (defined in Buffer) | Buffer |
mapRead(size_t offset, size_t length) const (defined in BufferHost) | BufferHost | [protected, virtual]
mapRead() const (defined in Buffer) | Buffer | [inline, protected, virtual]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
resize(size_t size) | Buffer | [inline, virtual]
setAnnotation(const std::string &anno) | Object |
setData(size_t dst_offset, size_t length, const void *src_data) | Buffer | [virtual]
setData(size_t dst_offset, size_t length, const BufferSharedPtr &src_buffer, size_t src_offset) (defined in Buffer) | Buffer | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSize(size_t size) | BufferHost | [virtual]
setTraversalMask(unsigned int mask) | Object | [inline]
setUnmanagedDataPtr(void *data) (defined in BufferHost) | BufferHost | [virtual]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
unlock() (defined in Buffer) | Buffer | [inline, protected]
unlockRead() const (defined in Buffer) | Buffer | [inline, protected]
unmap() | BufferHost | [protected, virtual]
unmapRead() const (defined in BufferHost) | BufferHost | [protected, virtual]
~Buffer() (defined in Buffer) | Buffer | [virtual]
~BufferHost() (defined in BufferHost) | BufferHost | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]

Generated on Fri Jul 13 13:29:52 2012 for SceniX


SceniX: byteArray_t Struct Reference

byteArray_t Struct Reference

The byteArray_t structure specifies how an array of bytes is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numBytes
Specifies the number of bytes in the array.
uint_t bytes
Specifies the file offset to the byte data.

Detailed Description

The byteArray_t structure specifies how an array of bytes is stored in a .NBF file.

Member Data Documentation

uint_t numBytes

Specifies the number of bytes in the array.

uint_t bytes

Specifies the file offset to the byte data.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Member List

byteArray_t Member List

This is the complete list of members for byteArray_t, including all inherited members.

bytes | byteArray_t
numBytes | byteArray_t

Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Callback Class Reference

nvsg::Callback

Callback Class Reference

Callback class to link objects with an observer. More...

#include <Callback.h>

Inheritance diagram for Callback:

[legend]
Collaboration diagram for Callback:

[legend]
List of all members.

Public Member Functions

NVSG_API | Callback (const ObjectSharedPtr &observer)
Constructor of a Callback.
NVSG_API const ObjectSharedPtr & | getObserver () const
Get the observer of this callback.
virtual NVSG_API void | operator() (const Object *subject, const void *data=NULL) const =0
Interface for the function call operator used as the callback.
virtual NVSG_API unsigned int | getClassID () const =0
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const =0
Interface to get the name of the callback class.

Protected Member Functions

virtual NVSG_API | ~Callback ()
Destructor of this Callback.

Detailed Description

Callback class to link objects with an observer.

Remarks:
This is a pure virtual class to link an object with an observing object.

Constructor & Destructor Documentation

Callback ( const ObjectSharedPtr & observer ) [inline, explicit]

Constructor of a Callback.

Parameters:
observer Object to be the observer for this callback.
Remarks:
The observer can be used in the function operator() that is used as the callback. Note that the observer cannot be identical to the object that the callback is attached to, nor to one of this object's parents. Otherwise there will be circular references breaking object cleanup and the observer will be read locked when entering the operator() function.
See also:
Object

~Callback ( ) [inline, protected, virtual]

Destructor of this Callback.

Remarks:
The destructor is protected to prevent direct deletion. A Callback is reference counted, and to delete it it's reference count has to be decreased to zero.

Member Function Documentation

const ObjectSharedPtr & getObserver ( ) const [inline]

Get the observer of this callback.

Returns:
The Object that is the observer for this callback.
Remarks:
The observer can be used in the function operator() that is used as the callback.
See also:
Object

virtual NVSG_API void operator() | ( | const Object * | subject,
 |  | const void * | data = NULL
 | ) | const [pure virtual]

Interface for the function call operator used as the callback.

Parameters:
subject | The pointer to the read-locked object that is to be observed by observer of this callback.
data | A pointer to const for any callback specific data.

virtual NVSG_API unsigned int getClassID ( ) const [pure virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implemented in LinkGroupToCameraCallback, LinkGroupToCameraAsTargetCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToLightSourceCallback, LinkGroupToSpotLightAsTargetCallback, and LinkTransformToSpotLightAsPositionCallback.

virtual NVSG_API const char* getClassName ( ) const [pure virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implemented in LinkGroupToCameraCallback, LinkGroupToCameraAsTargetCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToLightSourceCallback, LinkGroupToSpotLightAsTargetCallback, and LinkTransformToSpotLightAsPositionCallback.

The documentation for this class was generated from the following file:
  • Callback.h
Generated on Fri Jul 13 13:29:53 2012 for SceniX


SceniX: Member List

Callback Member List

This is the complete list of members for Callback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const =0 | Callback | [pure virtual]
getClassName() const =0 | Callback | [pure virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:29:53 2012 for SceniX


SceniX: Camera Class Reference

nvsg::Camera

Camera Class Reference

Abstract base class for parallel and perspective cameras. More...

#include <Camera.h>

Inheritance diagram for Camera:

[legend]
Collaboration diagram for Camera:

[legend]
List of all members.

Public Types

typedef std::vector< LightSourceSharedPtr > | HeadLightContainer
The container type of the Camera's head lights.
typedef nvutil::SceniXIterator<
Camera, HeadLightContainer::iterator > 		HeadLightIterator
The iterator over the HeadLightContainer.
typedef nvutil::SceniXIterator<
Camera, HeadLightContainer::const_iterator > 		HeadLightConstIterator
The const iterator over the HeadLightContainer.

Public Member Functions

virtual NVSG_API | ~Camera (void)
Destructs a Camera.
NVSG_API const nvmath::Vec3f & | getPosition (void) const
Get the position of the Camera.
NVSG_API void | setPosition (const nvmath::Vec3f &pos)
Set the position of the Camera.
NVSG_API const nvmath::Quatf & | getOrientation (void) const
Get the orientation of the Camera.
NVSG_API void | setOrientation (const nvmath::Quatf &quat)
Set the orientation of the Camera by a Quaternion.
NVSG_API void | setOrientation (const nvmath::Vec3f &dir, const nvmath::Vec3f &up)
Set the orientation of the Camera by a view direction and an up vector.
NVSG_API nvmath::Vec3f | getDirection (void) const
Get the view direction.
NVSG_API void | setDirection (const nvmath::Vec3f &dir)
Set the viewing direction.
NVSG_API nvmath::Vec3f | getUpVector (void) const
Get the up vector of the Camera.
NVSG_API void | setUpVector (const nvmath::Vec3f &up)
Set the up vector of the Camera.
NVSG_API void | setWorldToViewMatrix (const nvmath::Mat44f &m)
Set the world to view matrix of the Camera.
NVSG_API const nvmath::Mat44f & | getWorldToViewMatrix (void) const
Get the world-to-view transformation.
NVSG_API void | setViewToWorldMatrix (const nvmath::Mat44f &m)
Set the view to world matrix of the Camera.
NVSG_API const nvmath::Mat44f & | getViewToWorldMatrix (void) const
Get the view-to-world transformation.
NVSG_API float | getFocusDistance (void) const
Get the distance to the projection plane.
virtual NVSG_API void | setFocusDistance (float fd)
Set the distance to the projection plane.
virtual NVSG_API nvmath::Mat44f | getProjection (void) const =0
Interface for getting the projection matrix of this Camera.
virtual NVSG_API nvmath::Mat44f | getInverseProjection (void) const =0
Interface for getting the inverse projection matrix of this Camera.
NVSG_API unsigned int | getNumberOfHeadLights (void) const
Get the number of headlights attached to this Camera.
NVSG_API HeadLightConstIterator | beginHeadLights () const
Returns a const iterator to the camera’s first headlight.
NVSG_API HeadLightIterator | beginHeadLights ()
Returns an iterator to the camera’s first headlight.
NVSG_API HeadLightConstIterator | endHeadLights () const
Returns a const iterator that points past the end of the camera’s headlights.
NVSG_API HeadLightIterator | endHeadLights ()
Returns an iterator that points past the end of the camera’s headlights.
NVSG_API HeadLightIterator | addHeadLight (const LightSourceSharedPtr &light)
Adds a LightSource as headlight to this Camera.
NVSG_API bool | replaceHeadLight (const LightSourceSharedPtr &newLight, const LightSourceSharedPtr &oldLight)
Replace a head light in this Camera by an other.
NVSG_API bool | replaceHeadLight (const LightSourceSharedPtr &newLight, const HeadLightIterator &oldLight)
Replace a head light in this Camera by an other.
NVSG_API bool | removeHeadLight (const LightSourceSharedPtr &light)
Remove a headlight from this Camera.
NVSG_API bool | removeHeadLight (const HeadLightIterator &light)
Remove a headlight from this Camera.
NVSG_API void | clearHeadLights (void)
Clear the list of headlights.
NVSG_API void | move (const nvmath::Vec3f &delta, bool cameraRelative=true)
Move the Camera.
NVSG_API void | orbit (const nvmath::Vec3f &axis, float targetDistance, float angle, bool cameraRelative=true)
Orbit the Camera.
NVSG_API void | rotate (const nvmath::Vec3f &axis, float angle, bool cameraRelative=true)
Rotate the Camera.
NVSG_API virtual void | zoom (float factor)=0
Zoom by a positive factor.
void | moveX (float val)
Convenience function to move to the right or left in Camera space.
void | moveY (float val)
Convenience function to move up or down in Camera space.
void | moveZ (float val)
Convenience function to move backward or forward in Camera space.
void | orbitX (float targetDistance, float angle)
Convenience function to orbit around the x-axis of the Camera.
void | orbitY (float targetDistance, float angle)
Convenience function to orbit around the y-axis of the Camera.
void | orbitZ (float targetDistance, float angle)
Convenience function to orbit around the z-axis of the Camera.
void | rotateX (float angle)
Convenience function to rotate around the x-axis of the Camera.
void | rotateY (float angle)
Convenience function to rotate around the y-axis of the Camera.
void | rotateZ (float angle)
Convenience function to rotate around the z-axis of the Camera.
virtual NVSG_API CullCode | determineCullCode (const nvmath::Sphere3f &sphere) const =0
Interface for determining the CullCode of a Sphere3f relative to the view volume.
REFLECTION_INFO_API (NVSG_API, Camera)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Position)
NVSG_API | DECLARE_STATIC_PROPERTY (Orientation)
NVSG_API | DECLARE_STATIC_PROPERTY (Direction)
NVSG_API | DECLARE_STATIC_PROPERTY (UpVector)
NVSG_API | DECLARE_STATIC_PROPERTY (FocusDistance)

Protected Member Functions

NVSG_API | Camera (void)
Protected constructor to prevent explicit creation.
NVSG_API | Camera (const Camera &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API Camera & | operator= (const Camera &rhs)
Protected assignment operator.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class for parallel and perspective cameras.

Namespace: nvsg
Remarks:
Besides defining the interface for a camera, a Camera provides some basic functionalities needed or used in all Camera classes.
A Camera has a focus, a near distance, and a far distance. These define planes that are orthogonal to the view direction. The near and far distance bind the volume seen by this Camera. The focus distance is somewhere in between the near and far distance. At that distance the window size is used, defining the sides of the viewing volume. For stereo vision, the focus distance determines the plane in focus.
A Camera holds zero or more LightSource objects as head lights that are positioned relative to the Camera position. These LightSource objects are not part of a Scene, but part of the Camera.
For deriving your own Camera, you have to overload the member functions clone(), getProjection(), and getInverseProjection(). You can also overload setFocusDistance().
See also:
Object, ParallelCamera, PerspectiveCamera

Member Typedef Documentation

typedef std::vector<LightSourceSharedPtr> HeadLightContainer

The container type of the Camera's head lights.

typedef nvutil::SceniXIterator<Camera,HeadLightContainer::iterator> HeadLightIterator

The iterator over the HeadLightContainer.

typedef nvutil::SceniXIterator<Camera,HeadLightContainer::const_iterator> HeadLightConstIterator

The const iterator over the HeadLightContainer.

Constructor & Destructor Documentation

virtual NVSG_API ~Camera ( void ) [virtual]

Destructs a Camera.

NVSG_API Camera ( void ) [protected]

Protected constructor to prevent explicit creation.

Remarks:
Because Camera is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.
See also:
ParallelCamera, PerspectiveCamera

NVSG_API Camera ( const Camera & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs Reference to the constant Camera to copy from
Remarks:
Because Camera is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.
See also:
ParallelCamera, PerspectiveCamera

Member Function Documentation

const nvmath::Vec3f & getPosition ( void ) const [inline]

Get the position of the Camera.

Returns:
A reference to the constant position of the Camera
Remarks:
The position of the Camera is given in world coordinates. The default position of a Camera is at (0.0,0.0,1.0).
See also:
getDirection, getOrientation, getUpVector, setPosition

NVSG_API void setPosition ( const nvmath::Vec3f & pos )

Set the position of the Camera.

Parameters:
pos A reference to the constant position to set
Remarks:
The position of the Camera is given in world coordinates. The default position of a Camera is at (0.0,0.0,1.0). Setting the position increases the Incarnation of the Camera.
See also:
getPosition, setDirection, setOrientation, setUpVector

const nvmath::Quatf & getOrientation ( void ) const [inline]

Get the orientation of the Camera.

Returns:
A reference to the constant orientation of the Camera
Remarks:
The orientation quaternion describes the rotation of the Camera from its standard orientation. The standard orientation is the negative z-axis (0.0,0.0,-1.0) as the view direction and the y-axis (0.0,1.0,0.0) as the up vector.
See also:
getDirection, getUpVector, setOrientation

NVSG_API void setOrientation ( const nvmath::Quatf & quat )

Set the orientation of the Camera by a Quaternion.

Parameters:
quat A reference to the constant orientation of the Camera.
Remarks:
The orientation of the Camera is the rotation from the default to the desired view direction and up vector. The default view direction is the negative z-axis (0.0,0.0,-1.0), and the default up vector is the y-axis (0.0,1.0,0.0). Setting the orientation is a simple way to set the view direction and the up vector in a consistent way. Setting the orientation increases the Incarnation.
See also:
getOrientation, setDirection, setUpVector

NVSG_API void setOrientation | ( | const nvmath::Vec3f & | dir,
 |  | const nvmath::Vec3f & | up
 | ) |

Set the orientation of the Camera by a view direction and an up vector.

Parameters:
dir | A reference to the constant view direction to set
up | A reference to the constant up vector to set.
Remarks:
Sets the orientation of the Camera by simultaneously setting the view direction and the up vector. The direction and the up vector have to be normalized and orthogonal to each other. Setting the orientation increases the Incarnation.
See also:
getOrientation, setDirection, setUpVector

nvmath::Vec3f getDirection ( void ) const [inline]

Get the view direction.

Returns:
The view direction of the Camera
Remarks:
The view direction is the vector in world space that defines the direction to which the Camera looks. The default view direction is the negative z-axis (0.0,0.0,-1.0).
See also:
getOrientation, getPosition, getUpVector, setDirection

NVSG_API void setDirection ( const nvmath::Vec3f & dir )

Set the viewing direction.

Parameters:
dir A reference to the constant view direction to set
Remarks:
The view direction is the vector in world space that defines the direction to which the Camera looks. The default view direction is the negative z-axis (0.0,0.0,-1.0). Setting the view direction changes the orientation of the Camera and might also change the up vector. Setting the view direction also increases the Incarnation of the Camera.
See also:
getDirection, setOrientation, setPosition, setUpVector

nvmath::Vec3f getUpVector ( void ) const [inline]

Get the up vector of the Camera.

Returns:
The up vector of the Camera
Remarks:
The up vector is the vector in world space that defines the up direction of the Camera. The default up vector is the y-axis (0.0,1.0,0.0).
See also:
getDirection, getOrientation, getPosition, setUpVector

NVSG_API void setUpVector ( const nvmath::Vec3f & up )

Set the up vector of the Camera.

Parameters:
up A reference to the constant up vector to set
Remarks:
The up vector is the vector in world space that defines the up direction of the Camera. The default up vector is the y-axis (0.0,1.0,0.0). Setting the up vector changes the orientation of the Camera and might also change the view direction. Setting the up vector also increases the Incarnation of the Camera.
See also:
getUpVector, setDirection, setOrientation, setPosition

NVSG_API void setWorldToViewMatrix ( const nvmath::Mat44f & m )

Set the world to view matrix of the Camera.

Parameters:
m A reference to the constant matrix to set as the world to view transfomation.
Remarks:
As SceniX holds the world to view transformation of a camera as a translation and a rotation, this convenience function determines those two elements out of the matrix m. As that calculation might not be exact, and takes some time to do, directly using setPosition and setOrientation should be preferred, if that data is available. getWorldToViewMatrix, setViewToWorldMatrix, setPosition, setOrientation

NVSG_API const nvmath::Mat44f& getWorldToViewMatrix ( void ) const

Get the world-to-view transformation.

Returns:
The world-to-view transformation
Remarks:
Based on the position and orientation of the Camera, the transformation as a nvmath::Mat44f is calculated.
See also:
getOrientation, getPosition, getViewToWorldMatrix

NVSG_API void setViewToWorldMatrix ( const nvmath::Mat44f & m )

Set the view to world matrix of the Camera.

Parameters:
m A reference to the constant matrix to set as the view to world transfomation.
Remarks:
As SceniX holds the world to view transformation of a camera as a translation and a rotation, this convenience function determines those two elements out of the matrix m. As that calculation might not be exact, and takes some time to do, directly using setPosition and setOrientation should be preferred, if that data is available. getWorldToViewMatrix, setViewToWorldMatrix, setPosition, setOrientation

NVSG_API const nvmath::Mat44f& getViewToWorldMatrix ( void ) const

Get the view-to-world transformation.

Returns:
The view-to-world transformation.
Remarks:
Based on the position and orientation of the Camera, the transformation as a nvmath::Mat44f is calculated.
See also:
getOrientation, getPosition, getWorldToViewMatrix

float getFocusDistance ( void ) const [inline]

Get the distance to the projection plane.

Returns:
The distance from the Camera position to the projection plane.
Remarks:
The focus distance is the orthogonal distance between the Camera and the projection plane. The focus distance should be greater-than or equal-to the near distance and less-than or equal-to the far distance. The default focus distance is 1.0.
See also:
getFarDistance, getNearDistance, setFocusDistance

virtual NVSG_API void setFocusDistance ( float fd ) [virtual]

Set the distance to the projection plane.

Parameters:
fd Distance to the projection plane to set
Remarks:
The focus distance is the orthogonal distance between the Camera and the projection plane. The focus distance should be greater-than or equal-to the near distance and less-than or equal-to the far distance. The default focus distance is 1.0. Setting the focus distance increases the Incarnation of the Camera.
See also:
getFocusDistance, setNearDistance, setFarDistance

Reimplemented in PerspectiveCamera.

virtual NVSG_API nvmath::Mat44f getProjection ( void ) const [pure virtual]

Interface for getting the projection matrix of this Camera.

Returns:
The projection transformation
See also:
getInverseProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implemented in MatrixCamera, ParallelCamera, and PerspectiveCamera.

virtual NVSG_API nvmath::Mat44f getInverseProjection ( void ) const [pure virtual]

Interface for getting the inverse projection matrix of this Camera.

Returns:
The inverse projection transformation
See also:
getProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implemented in MatrixCamera, ParallelCamera, and PerspectiveCamera.

unsigned int getNumberOfHeadLights ( void ) const [inline]

Get the number of headlights attached to this Camera.

Returns:
The number of headlights attached to this Camera
Remarks:
A Camera can have zero or more headlights that are LightSource objects positioned relative to the Camera position.
See also:
beginHeadLights, endHeadLights, addHeadLight, replaceHeadLight, removeHeadLight, clearHeadLights

Camera::HeadLightConstIterator beginHeadLights ( ) const [inline]

Returns a const iterator to the camera’s first headlight.

Returns:
A const iterator to the camera’s first headlight.
See also:
getNumberOfHeadLights, addHeadLight, endHeadLights, replaceHeadLight, removeHeadLight, clearHeadLights

Camera::HeadLightIterator beginHeadLights ( ) [inline]

Returns an iterator to the camera’s first headlight.

Returns:
An iterator to the camera’s first headlight.
See also:
getNumberOfHeadLights, addHeadLight, endHeadLights, replaceHeadLight, removeHeadLight, clearHeadLights

Camera::HeadLightConstIterator endHeadLights ( ) const [inline]

Returns a const iterator that points past the end of the camera’s headlights.

Returns:
A const iterator that points past the end of the camera’s headlights. If Camera::beginHeadlights() == Camera::endHeadlights(), the camera has not been assigned any headlights.
See also:
getNumberOfHeadLights, beginHeadLights, addHeadLight, replaceHeadLight, removeHeadLight, clearHeadLights

Camera::HeadLightIterator endHeadLights ( ) [inline]

Returns an iterator that points past the end of the camera’s headlights.

Returns:
An iterator that points past the end of the camera’s headlights. If Camera::beginHeadLights() == Camera::endHeadLights(), the camera has not been assigned any headlights.
See also:
getNumberOfHeadLights, beginHeadLights, addHeadLight, replaceHeadLight, removeHeadLight, clearHeadLights

NVSG_API HeadLightIterator addHeadLight ( const LightSourceSharedPtr & light )

Adds a LightSource as headlight to this Camera.

Parameters:
light The LightSource to add as headlight.
Returns:
An iterator to the newly added head light.
Remarks:
A Camera can have zero or more headlights that are LightSource objects positioned relative to the Camera position. The default position and orientation of a headlight is the Camera position and orientation. Adding a headlight increases the Incarnation of the Camera.
See also:
getNumberOfHeadLights, beginHeadLights, endHeadLights, replaceHeadLight, removeHeadLight, clearHeadLights

NVSG_API bool replaceHeadLight | ( | const LightSourceSharedPtr & | newLight,
 |  | const LightSourceSharedPtr & | oldLight
 | ) |

Replace a head light in this Camera by an other.

Parameters:
newLight | The light to replace.
oldLight | The head light to be replaced.
Returns:
true, if oldLight is different from newLight and is a head light of this camera, otherwise false.
See also:
getNumberOfHeadLights, beginHeadLights, endHeadLights, addHeadLight, removeHeadLight, clearHeadLights

NVSG_API bool replaceHeadLight | ( | const LightSourceSharedPtr & | newLight,
 |  | const HeadLightIterator & | oldLight
 | ) |

Replace a head light in this Camera by an other.

Parameters:
newLight | The light to replace.
oldLight | The iterator to the head light to be replaced.
Returns:
true, if oldLight is different from newLight and is a head light of this camera, otherwise false.
See also:
getNumberOfHeadLights, beginHeadLights, endHeadLights, addHeadLight, removeHeadLight, clearHeadLights

NVSG_API bool removeHeadLight ( const LightSourceSharedPtr & light )

Remove a headlight from this Camera.

Parameters:
light The head light to be removed.
Returns:
true, if light has been removed as a head light of this Camera, otherwise false.
See also:
getNumberOfHeadLights, beginHeadLights, endHeadLights, addHeadLight, replaceHeadLight, clearHeadLights

NVSG_API bool removeHeadLight ( const HeadLightIterator & light )

Remove a headlight from this Camera.

Parameters:
light The head light to be removed.
Returns:
true, if light has been removed as a head light of this Camera, otherwise false.
See also:
getNumberOfHeadLights, beginHeadLights, endHeadLights, addHeadLight, replaceHeadLight, clearHeadLights

NVSG_API void clearHeadLights ( void )

Clear the list of headlights.

See also:
getNumberOfHeadLights, beginHeadLights, endHeadLights, addHeadLight, replaceHeadLight, removeHeadLight

NVSG_API void move | ( | const nvmath::Vec3f & | delta,
 |  | bool | cameraRelative = true
 | ) |

Move the Camera.

Parameters:
delta | A reference to the constant delta to move
cameraRelative | Optional boolean controlling Camera relative or world relative movement. Default is Camera relative.
Remarks:
Moves the Camera by delta. If cameraRelative is true (the default), the Camera is moved the corresponding amounts along the local axes. Otherwise delta is just added to the position of the Camera (being in world space).
Moving the Camera increases the Incarnation.
See also:
moveX, moveY, moveZ, orbit, rotate, zoom,

NVSG_API void orbit | ( | const nvmath::Vec3f & | axis,
 |  | float | targetDistance,
 |  | float | angle,
 |  | bool | cameraRelative = true
 | ) |

Orbit the Camera.

Parameters:
axis | A reference to the normalized axis to orbit around in Camera relative coordinates.
targetDistance | Distance to target point to orbit around.
angle | Angle in radians to orbit.
cameraRelative | Optional boolean controlling Camera relative or world relative rotation. Default is Camera relative.
Remarks:
Orbiting a Camera performs a rotation by angle around the point at targetDistance along the view direction, using the axis of rotation. If cameraRelative is true (the default), axis is a vector in Camera local coordinates. This way, the Camera is moved on a great circle around the target point, modifying the view direction to keep that target point. If otherwise cameraRelative is false axis is in world coordinates.
Orbiting the Camera increases the Incarnation.
See also:
move, orbitX, orbitY, orbitZ, rotate,

NVSG_API void rotate | ( | const nvmath::Vec3f & | axis,
 |  | float | angle,
 |  | bool | cameraRelative = true
 | ) |

Rotate the Camera.

Parameters:
axis | A reference to the constant normalized axis to rotate around.
angle | Angle in radians to rotate
cameraRelative | Optional boolean controlling Camera relative or world relative rotation. Default is Camera relative.
Remarks:
Rotates the Camera around its position using axis of rotation by angle radians. If cameraRelative is true (the default), axis is a vector in Camera local coordinates. Otherwise axis is in world coordinates.
Rotating the Camera increases the Incarnation.
See also:
move, orbit, rotateX, rotateY, rotateZ

NVSG_API virtual void zoom ( float factor ) [pure virtual]

Zoom by a positive factor.

Parameters:
factor Factor to use in zooming
Remarks:
Zooming by a factor changes the window size of the Camera. The window size is the size of the world that is viewed at the projection plane. This plane is at a target distance along the view direction and orthogonal to the view direction.
When the factor is less than one, the window size is reduced, and thus the viewport shows less content in the same space. That is, it is zoomed in. When the factor is greater than one, it is zoomed out.
Zooming the Camera increases the Incarnation.
See also:
move, orbit, rotate, zoom

Implemented in FrustumCamera, and MatrixCamera.

void moveX ( float val ) [inline]

Convenience function to move to the right or left in Camera space.

Parameters:
val Amount to move to the right or left
Remarks:
With positive val the Camera is moved to the right; with negative val it is moved to the left.
See also:
move

void moveY ( float val ) [inline]

Convenience function to move up or down in Camera space.

Parameters:
val Amount to move up or down
Remarks:
With positive val the Camera is moved up; with negative val it is moved down.
See also:
move

void moveZ ( float val ) [inline]

Convenience function to move backward or forward in Camera space.

Parameters:
val Amount to move backward or forward
Remarks:
With positive val the Camera is moved backward; with negative val it is moved to the forward.
See also:
move

void orbitX | ( | float | targetDistance,
 |  | float | angle
 | ) | [inline]

Convenience function to orbit around the x-axis of the Camera.

Parameters:
targetDistance | Distance to target point to orbit around.
angle | Angle in radians to orbit.
Remarks:
With positive angle the Camera moves down while looking up; with negative angle it moves up while looking down.
See also:
orbit

void orbitY | ( | float | targetDistance,
 |  | float | angle
 | ) | [inline]

Convenience function to orbit around the y-axis of the Camera.

Parameters:
targetDistance | Distance to target point to orbit around
angle | Angle in radians to orbit
Remarks:
With positive angle the Camera moves to the right while looking to the left; with negative angle the Camera moves to the left while looking to the right.
See also:
orbit

void orbitZ | ( | float | targetDistance,
 |  | float | angle
 | ) | [inline]

Convenience function to orbit around the z-axis of the Camera.

Parameters:
targetDistance | Distance to target point to orbit around
angle | Angle in radians to orbit
Remarks:
Orbiting around the z-axis of the Camera has the same effect as rotating around it (rolling). With positive angle it rolls to the left; with positive angle it rolls to the right.
See also:
orbit, rotateZ

void rotateX ( float angle ) [inline]

Convenience function to rotate around the x-axis of the Camera.

Parameters:
angle Angle in radians to rotate
Remarks:
The Rotation around the x-axis of the Camera is also called Pitch. With positive angle the Camera looks up; with negative angle it looks down.
See also:
rotate

void rotateY ( float angle ) [inline]

Convenience function to rotate around the y-axis of the Camera.

Parameters:
angle Angle in radians to rotate
Remarks:
The Rotation around the y-axis of the Camera is also called Yaw. With positive angle the Camera looks to the left; with negative angle it looks to the right.
See also:
rotate

void rotateZ ( float angle ) [inline]

Convenience function to rotate around the z-axis of the Camera.

Parameters:
angle Angle in radians to rotate
Remarks:
The Rotation around the y-axis of the Camera is also called Roll. With positive angle the Camera rolls to the left; with negative angle it rolls to the right.
See also:
orbitZ, rotate

virtual NVSG_API CullCode determineCullCode ( const nvmath::Sphere3f & sphere ) const [pure virtual]

Interface for determining the CullCode of a Sphere3f relative to the view volume.

Parameters:
sphere A reference to the constant Sphere3f to determine the CullCode for.
Returns:
CC_IN, if the Sphere3f sphere is completely inside the view volume; CC_OUT if it is completely out of the view volume; otherwise CC_PART.
Remarks:
Behavior is undefined if sphere is invalid. This can be checked using !nvmathisValid()

Implemented in MatrixCamera, ParallelCamera, and PerspectiveCamera.

NVSG_API Camera& operator= ( const Camera & rhs ) [protected]

Protected assignment operator.

Parameters:
rhs Reference to the constant Camera to copy from
Returns:
A reference to the assigned Camera.
Remarks:
Besides assigning the Camera as an Object, each head light is copied as well as all Camera defining parameters.
See also:
LightSource, Object

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in FrustumCamera, and MatrixCamera.

The documentation for this class was generated from the following file:
  • Camera.h
Generated on Fri Jul 13 13:29:53 2012 for SceniX


SceniX: Member List

Camera Member List

This is the complete list of members for Camera, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHeadLight(const LightSourceSharedPtr &light) | Camera |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginHeadLights() const | Camera | [inline]
beginHeadLights() | Camera | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
Camera(void) | Camera | [protected]
Camera(const Camera &rhs) | Camera | [protected]
clearAppTraverserCallbacks() | Object | [inline]
clearHeadLights(void) | Camera |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Position) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Direction) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(UpVector) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(FocusDistance) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineCullCode(const nvmath::Sphere3f &sphere) const =0 | Camera | [pure virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endHeadLights() const | Camera | [inline]
endHeadLights() | Camera | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Camera | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDirection(void) const | Camera | [inline]
getFocusDistance(void) const | Camera | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverseProjection(void) const =0 | Camera | [pure virtual]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfHeadLights(void) const | Camera | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const | Camera | [inline]
getPosition(void) const | Camera | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getProjection(void) const =0 | Camera | [pure virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUpVector(void) const | Camera | [inline]
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getViewToWorldMatrix(void) const | Camera |
getWorldToViewMatrix(void) const | Camera |
HeadLightConstIterator typedef | Camera |
HeadLightContainer typedef | Camera |
HeadLightIterator typedef | Camera |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
move(const nvmath::Vec3f &delta, bool cameraRelative=true) | Camera |
moveX(float val) | Camera | [inline]
moveY(float val) | Camera | [inline]
moveZ(float val) | Camera | [inline]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Camera &rhs) | Camera | [protected]
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
orbit(const nvmath::Vec3f &axis, float targetDistance, float angle, bool cameraRelative=true) | Camera |
orbitX(float targetDistance, float angle) | Camera | [inline]
orbitY(float targetDistance, float angle) | Camera | [inline]
orbitZ(float targetDistance, float angle) | Camera | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Camera) (defined in Camera) | Camera |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHeadLight(const LightSourceSharedPtr &light) | Camera |
removeHeadLight(const HeadLightIterator &light) | Camera |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
replaceHeadLight(const LightSourceSharedPtr &newLight, const LightSourceSharedPtr &oldLight) | Camera |
replaceHeadLight(const LightSourceSharedPtr &newLight, const HeadLightIterator &oldLight) | Camera |
rotate(const nvmath::Vec3f &axis, float angle, bool cameraRelative=true) | Camera |
rotateX(float angle) | Camera | [inline]
rotateY(float angle) | Camera | [inline]
rotateZ(float angle) | Camera | [inline]
setAnnotation(const std::string &anno) | Object |
setDirection(const nvmath::Vec3f &dir) | Camera |
setFocusDistance(float fd) | Camera | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &quat) | Camera |
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | Camera |
setPosition(const nvmath::Vec3f &pos) | Camera |
setTraversalMask(unsigned int mask) | Object | [inline]
setUpVector(const nvmath::Vec3f &up) | Camera |
setUserData(const void *userData) | Object | [inline]
setViewToWorldMatrix(const nvmath::Mat44f &m) | Camera |
setWorldToViewMatrix(const nvmath::Mat44f &m) | Camera |
syncIncarnation(PFNGETINCARNATION) const (defined in Camera) | Camera | [protected, virtual]
zoom(float factor)=0 | Camera | [pure virtual]
~Camera(void) | Camera | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:29:53 2012 for SceniX


SceniX: CgFx Class Reference

nvsg::CgFx

CgFx Class Reference

A StateAttribute to apply render effects that are compliant to the Cg 1.4 standard. More...

#include <CgFx.h>

Inheritance diagram for CgFx:

[legend]
Collaboration diagram for CgFx:

[legend]
List of all members.

Public Member Functions

NVSG_API CgFx & | operator= (const CgFx &rhs)
Assigns contents from a source CgFx object.
virtual NVSG_API bool | isDataShared () const
Returns whether this object shares its embedded data with other CgFx objects.
virtual NVSG_API DataID | getDataID () const
Returns the unique data identifier for this object.
NVSG_API const CgFxEffectSharedPtr & | getEffect () const
Returns the embedded effect.
NVSG_API void | unloadPrograms ()
Unloads vertex and fragment programs of the embedded CgFxEffect.
virtual NVSG_API bool | isEquivalent (const Object *object, bool ignoreNames, bool deepCompare) const
Overrides Object::isEquivalent.
REFLECTION_INFO_API (NVSG_API, CgFx)

Static Public Member Functions

static NVSG_API CgFxSharedPtr | create ()
static NVSG_API CgFxSharedPtr | createFromFile (const std::string &file, const std::vector< std::string > &searchPaths, std::string &errorReturn, bool &failOnTextureLoadInOut)
Creates a CgFx Effect from a file, and performs all appropriate initialization, such as loading associated textures specified in the CgFx into the appropriate samplers.
static NVSG_API CgFxSharedPtr | createFromLump (const std::string &lump, const std::vector< std::string > &searchPaths, std::string &errorReturn, bool &failOnTextureLoadInOut)
Creates a CgFx Effect from a text string, and performs all appropriate initialization, such as loading associated textures specified in the CgFx into the appropriate samplers.

Protected Member Functions

NVSG_API | CgFx ()
Default-constructs a CgFx object.
NVSG_API | CgFx (const CgFx &rhs)
Constructs a CgFx object as a copy from another CgFx object.
virtual NVSG_API | ~CgFx ()
Destructs a CgFx object.
virtual NVSG_API bool | determineTransparencyContainment () const
Determine the transparency status of this CgFx.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

A StateAttribute to apply render effects that are compliant to the Cg 1.4 standard.

Namespace: nvsg

Constructor & Destructor Documentation

NVSG_API CgFx ( ) [protected]

Default-constructs a CgFx object.

NVSG_API CgFx ( const CgFx & rhs ) [protected]

Constructs a CgFx object as a copy from another CgFx object.

virtual NVSG_API ~CgFx ( ) [protected, virtual]

Destructs a CgFx object.

Member Function Documentation

NVSG_API CgFx& operator= ( const CgFx & rhs )

Assigns contents from a source CgFx object.

Parameters:
rhs Source CgFx object
Returns:
The assignment operator returns a reference to this CgFx object.
Remarks:
The assignment operator releases old contents before re-assigning the new contents.

virtual NVSG_API bool isDataShared ( ) const [virtual]

Returns whether this object shares its embedded data with other CgFx objects.

Returns:
The function returns true if the object shares its embedded data with another CgFx object. Otherwise, the function returns false.
Remarks:
This function is useful only if you need to deal with shared data.

A certain CgFx object shares its data with another CgFx object if it was either instantiated as a copy of the other object (CgFxHandle::clone), or if it was assigned to by the other object using the assignment operator .

If you need to write code that, for instance, saves a CgFx object to a file, you can use this function if you want your code to handle shared data. In this context, CgFx::getDataID would be also very helpful to identify the shared data.

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Returns the unique data identifier for this object.

Returns:
The function returns a 64-bit value which uniquely identifies the embedded data.
Remarks:
This function helps to identify shared CgFx objects. Two CgFx objects that share their data do have the same data ID. Use CgFx::isDataShared to determine whether a certain CgFx object shares its data with other CgFx objects.
See also:
CgFxHandle::clone, CgFx::operator=()

Reimplemented from Object.

NVSG_API const CgFxEffectSharedPtr& getEffect ( ) const

Returns the embedded effect.

Returns:
The function returns a pointer to the embedded const CgFxEffect object.
Remarks:
The function lets you access the embedded effect, for instance, to initialize it or to exchange data with it.

If you need to write-access the embedded effect, for example, to exchange data with it, you first need to make it writable using the type CgFxEfffectWriteLock. You should limit the scope of the write lock as shown in the example below.
Example:
   const CgFx * cgfx;
   [...]
   // assume a valid read-locked CgFx object here

   { // limit write access
     CgFxEffectWriteLock effect( cgfx->getEffect() );
     // write access the embedded effect
     [...]
   } // end of scope releases the writable effect

static NVSG_API CgFxSharedPtr createFromFile | ( | const std::string & | file,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::string & | errorReturn,
 |  | bool & | failOnTextureLoadInOut
 | ) | [static]

Creates a CgFx Effect from a file, and performs all appropriate initialization, such as loading associated textures specified in the CgFx into the appropriate samplers.

Returns:
The function returns a CgFxSharedPtr, which might be invalid, if there was an error. If it is returned invalid, check the text in "errorReturn" for the reason. failOnTextureLoad signifies whether creation of the CgFx should fail if one of the texture files specified in the CgFx file is not found. If failOnTextureLoad is true, and a texture is not found, createFromFile will return an invalid CgFxSharedPtr, and errorReturn will contain text about which texture was not found. If failOnTextureLoad is false on the way into the method, then its value on the way out will indicate whether any textures were not found. In this case, errorReturn will also contain text indicating which textures were not found. In other words, errorReturn contains valid text if the method returns an invalid SmartCgFXhandle or failOnTexLoad is true;
Remarks:
The function lets you load a complete cgfx, including textures. The CgFxEffect::createFromFile method will not load textures automatically.
Example:
   vector<string> searchPaths; // configure this to search paths
   string err;                 // will receive error in event of null return.
   bool failOnTexLoad = false; // don't fail if a texture was not found.
   CgFxSharedPtr cgfx = CgFx::createFromFile( "c:/hermannIsCool.cgfx", searchPaths, err, failOnTexLoad );
   [...]
   if( !cgfx )
   {
     printf("I guess hermann was not cool - error: %s\n", err.c_str() );
     return;
   }

   //
   // return value indicates whether textures were not found
   //
   if( failOnTexLoad )
   {
     printf("One or more textures were not found: %s\n", err.c_str() );
   }
See also:
CgFx, CgFxEffect::createFromFile

static NVSG_API CgFxSharedPtr createFromLump | ( | const std::string & | lump,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::string & | errorReturn,
 |  | bool & | failOnTextureLoadInOut
 | ) | [static]

Creates a CgFx Effect from a text string, and performs all appropriate initialization, such as loading associated textures specified in the CgFx into the appropriate samplers.

Returns:
The function returns a CgFxSharedPtr, which might be invalid, if there was an error. If it is returned invalid, check the text in "errorReturn" for the reason. failOnTextureLoad signifies whether creation of the CgFx should fail if one of the texture files specified in the CgFx file is not found. If failOnTextureLoad is true, and a texture is not found, createFromFile will return an invalid CgFxSharedPtr, and errorReturn will contain text about which texture was not found. If failOnTextureLoad is false on the way into the method, then its value on the way out will indicate whether any textures were not found. In this case, errorReturn will also contain text indicating which textures were not found. In other words, errorReturn contains valid text if the method returns an invalid SmartCgFXhandle or failOnTexLoad is true;
Remarks:
The function lets you load a complete cgfx, including textures. The CgFxEffect::createFromLump method will not load textures automatically.
Example:
   vector<string> searchPaths; // configure this to search paths
   string err;                 // will receive error in event of null return.
   bool failOnTexLoad = false; // don't fail if a texture was not found.
   CgFxSharedPtr cgfx = CgFx::createFromFile( "c:/hermannIsCool.cgfx", searchPaths, err, failOnTexLoad );
   [...]
   if( !cgfx )
   {
     printf("I guess hermann was not cool - error: %s\n", err.c_str() );
     return;
   }

   //
   // return value indicates whether textures were not found
   //
   if( failOnTexLoad )
   {
     printf("One or more textures were not found: %s\n", err.c_str() );
   }

NVSG_API void unloadPrograms ( )

Unloads vertex and fragment programs of the embedded CgFxEffect.

Remarks:
This function unloads all currently loaded vertex and fragment programs of the embedded effect. This will be necessary after the render context for which the programs were loaded has been destroyed and the geometry with this CgFx attribute applied is going to be rendered to a new created render context.

virtual NVSG_API bool isEquivalent | ( | const Object * | object,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Overrides Object::isEquivalent.

Parameters:
object | Pointer to the const Object to test for equivalence with this CgFx object.
ignoreNames | Object names will be ignored while testing if this is true.
deepCompare | The function performs a deep-compare instead of a shallow compare if this is true.
Returns:
The function returns true if the Object pointed to by object is detected to be equivalent to this CgFx object.
Remarks:
The test will consider the optional control parameters ignoreNames and deepCompare. If you omit these two, the function ignores the object names and performs a shallow compare only.
See also:
Object::isEquivalent

Reimplemented from Object.

virtual NVSG_API bool determineTransparencyContainment ( ) const [protected, virtual]

Determine the transparency status of this CgFx.

Returns:
true, if this CgFx is transparent, otherwise false.
Remarks:
A CgFx is considered to be transparent, if the underlying CgFxEffect is valid, and at least one pass of the current technique is transparent.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • CgFx.h
Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: Member List

CgFx Member List

This is the complete list of members for CgFx, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
CgFx() | CgFx | [protected]
CgFx(const CgFx &rhs) | CgFx | [protected]
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in CgFx) | CgFx | [static]
createFromFile(const std::string &file, const std::vector< std::string > &searchPaths, std::string &errorReturn, bool &failOnTextureLoadInOut) | CgFx | [static]
createFromLump(const std::string &lump, const std::vector< std::string > &searchPaths, std::string &errorReturn, bool &failOnTextureLoadInOut) | CgFx | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const | CgFx | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | CgFx | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | CgFx | [virtual]
getEffect() const | CgFx |
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | CgFx | [virtual]
isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const | CgFx | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const CgFx &rhs) | CgFx |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, CgFx) (defined in CgFx) | CgFx |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in CgFx) | CgFx | [protected, virtual]
unloadPrograms() | CgFx |
~CgFx() | CgFx | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: CgFxContext Class Reference

nvsg::CgFxContext

CgFxContext Class Reference

CgFxContext wraps multiplexed CGcontexts and maintains its state machine configuration. More...

#include <CgFx.h>

Collaboration diagram for CgFxContext:

[legend]
List of all members.

Public Types

enum | CgFxStateMachineEnum { CGFX_STATE_MACHINE_INVALID = 0, CGFX_STATE_MACHINE_GL }
CgFxStateMachineEnum enumeration type. More...
enum | BufferAccess { ACCESS_READ_ONLY = CG_MAP_READ, ACCESS_READ_WRITE = CG_MAP_READ_WRITE, ACCESS_WRITE_ONLY = CG_MAP_WRITE }

Public Member Functions

NVSG_API | CgFxContext ()
Constructs a CgFxContext.
NVSG_API | ~CgFxContext ()
Destructs a CgFxContext.
NVSG_API void | lock ()
Exclusively locks the CgFxContext.
NVSG_API void | unlock ()
Releases an exclusive lock.
NVSG_API | operator CGMcontext () const
Implicit converts a CgFxContext to a CGMcontext where needed.
NVSG_API CgFxStateMachineEnum | getStateMachine () const
Returns the state machine for which the CgFxContext currently is configured.
NVSG_API bool | initialize (CgFxStateMachineEnum stateMachine, int num_gpus)
Re-configures the CgFxContext for the specified state machine.
NVSG_API void | uninitialize ()
Uninitializes the CgFxContext and releases all resources.
NVSG_API CgFxBuffer | createBuffer (size_t initialSize, BufferAccess bam)
Creates a CgFxBuffer object.
NVSG_API void | destroyBuffer (CgFxBuffer buf)
Destroys a CgFxBuffer object.
NVSG_API size_t | getBufferSize (CgFxBuffer buf)
Gets the current size of a CgFxBuffer object.
NVSG_API void | setBufferData (CgFxBuffer buf, const void *data, size_t size)
Sets data in a buffer object, beginning at offset 0 within the buffer.
NVSG_API void | setBufferSubData (CgFxBuffer buf, size_t offset, const void *data, size_t size)
Sets data in a buffer object, beginning at the offset specified.
NVSG_API unsigned int | getBufferMaxIndex ()
Gets the maximum allowable index for CgFxBuffer objects.
NVSG_API unsigned int | getBufferMaxSize ()
Gets the maximum allowable size for CgFxBuffer objects, in bytes.

Friends

NVSG_API std::string | cgfxGetLastError (CGerror &)
Returns last error that occurred during a Cg-runtime operation.

Detailed Description

CgFxContext wraps multiplexed CGcontexts and maintains its state machine configuration.

Namespace: nvsg
Remarks:
To apply a Cg effect to a certain geometry it requires the associated CGcontext to be properly configured using a state machine (OpenGL, D3D) to perform state management as the effect's technique passes get applied. A CgFxContext wraps a CGMcontext and maintains its actual state machine configuration.

SceniX core maintains a global CgFxContext singleton object to share between all effects that are applied to geometry by means of a CgFx state attribute. The user can access this CgFxContext through nvsg::cgfxContext. Normally, the user only needs to access the shared CgFxContext to either query its current state machine configuration, or to re-configure the CgFxContext's state machine if required. For this two actions the CgFxContext provides the two APIs CgFxContext::getStateMachine, and CgFxContext::setStateMachine.

There is no need for the SceniX user to take care of CgFxContext creation or deletion. This entirely is handled by the SceniX core framework. Effects that are going to be applied to a certain geometry by means of a CgFx state attribute, automatically will share the global CgFxContext singleton object which is available after nvsg::nvsgInitialize returns.

Member Enumeration Documentation

enum CgFxStateMachineEnum

CgFxStateMachineEnum enumeration type.

Enumeration values:
CGFX_STATE_MACHINE_INVALID | Indicates an invalid state machine.
CGFX_STATE_MACHINE_GL | Indicates an OpenGL state machine.

Constructor & Destructor Documentation

NVSG_API CgFxContext ( ) [explicit]

Constructs a CgFxContext.

Remarks:
This creates the singleton CgFxContext object which is in an unconfigured state. The object must later be initialized by calling CgFxContext::initialize().

The SceniX core uses a global CgFxContext singleton object, which can be accessed through nvsg::cgfxContext. This CgFxContext by default will be shared between all effects in a Scene.

NVSG_API ~CgFxContext ( )

Destructs a CgFxContext.

Remarks:
The wrapped CGMcontext will be destroyed.

Member Function Documentation

NVSG_API void lock ( ) [inline]

Exclusively locks the CgFxContext.

Remarks:
If different renderer access the same CgFxContext from different threads, these renderer need to ensure the CgFxContext's configuration remains unchanged while applying effects that belong to that CgFxContext. Otherwise, the runtime behaviour would be undefined.

Use unlock to release the CgFxContext after the effects have been applied.

Note that this function is a NOP, if the SceniX runtime is not configured to run in a multithreaded environment. You can configure the SceniX runtime to run in a multithreaded environment by passing NVSG_MULTITHREADED to the nvsg::nvsgInitialize entry point.

NVSG_API void unlock ( ) [inline]

Releases an exclusive lock.

Remarks:
This function is a NOP, if the SceniX runtime is not configured to run in a multithreaded environment. You can configure the SceniX runtime to run in a multithreaded environment by passing NVSG_MULTITHREADED to the nvsg::nvsgInitialize entry point.

NVSG_API operator CGMcontext ( ) const [inline]

Implicit converts a CgFxContext to a CGMcontext where needed.

Remarks:
This operator enables you to always pass a CgFxContext where a CGMcontext is expected. The wrapped CGMcontext then will be passed implicitly.

NVSG_API CgFxStateMachineEnum getStateMachine ( ) const [inline]

Returns the state machine for which the CgFxContext currently is configured.

Returns:
The function returns a CgFxStateMachineEnum indicating the state machine for which this CgFxContext currently is configured.
Remarks:
A CgFxContext can be configured for only one state machine at a time. A renderer that is going to apply an effect that belongs to this CgFxContext, needs to ensure that a suitable state machine is configured. If an unsuitable state machine is configured, the renderer needs to re-configure the CgFxContext for the right state machine prior to apply the effect. Use setStateMachine to re-configure the state machine.

NVSG_API bool initialize | ( | CgFxStateMachineEnum | stateMachine,
 |  | int | num_gpus
 | ) |

Re-configures the CgFxContext for the specified state machine.

Parameters:
stateMachine | Specifies the state machine for which the CgFxContext should be re-configured.
num_gpus | Specifies the number of GPUs the CgFxContext should be re-configured for.
Returns:
The function returns true if the CgFxContext successfully was re-configured for the specified state machine. Otherwise, the function returns false. The CgFxContext remains configured for the previous state machine in case of failure.
Remarks:
A CgFxContext can be configured for only one state machine at a time. A renderer that is going to apply an effect that belongs to this CgFxContext, needs to ensure that a suitable state machine is configured, and, if necessary, needs to re-configure the CgFxContext for the right state machine prior to apply the effect.

Use getStateMachine to check what state machine currently is used by the CgFxContext.

Note that re-configuring the CgFxContext for a different state machine requires a re-validation of the effect's current technique. Use CgFxEffect::validateCurrentTechnique to perform current technique validation.

NVSG_API void uninitialize ( )

Uninitializes the CgFxContext and releases all resources.

NVSG_API CgFxBuffer createBuffer | ( | size_t | initialSize,
 |  | BufferAccess | bam
 | ) |

Creates a CgFxBuffer object.

Namespace: nvsg
Parameters:
initialSize | The intial size of the buffer. Must be smaller than the value returned by getBufferMaxSize() or an error is returned.
bam | BufferAccess mode to use.
Remarks:
This class provides an interface to Cg's buffer objects. Buffer objects provide a method to send a large amount of data to a shader. The shader can then interpret this data in any way it chooses. Buffer objects can be accessed from a shader using the following method:
float4 value : BUFFER[index][offset (in bytes)];

Variables with BUFFER semantics are not considered "tweakable."

On G80 hardware, the memory layout for buffers are organized as 4096 vectors of 4-component floats. This leads to 128 bit memory alignment for all data types, as shown below:

A buffer declared as "float4" would expect to find each 4 component float in memory like this:

float4 myBuffer[1024] : BUFFER[0];

Bytes: 0-3 4-7 8-11 12-15 (X) (Y) (Z) (W) Vector 0 [float float float float] Vector 1 [float float float float] [...]

A buffer declared simply as "float" would expect to find each floating point value in memory like this:

float myBuffer[1024] : BUFFER[0];

Bytes: 0-3 4-7 8-11 12-15 (X) (Y) (Z) (W) Vector 0 [float xxxxx xxxxx xxxxx] Vector 1 [float xxxxx xxxxx xxxxx] [...] x = don't care

It is essential that the application understand the data packing requirements of the hardware in order to properly pack the data.

The CgFxBuffer class is always considered in conjunction with a CgFxEffect and applied to a particular CgFxProgram within that effect.

NVSG_API void destroyBuffer ( CgFxBuffer buf )

Destroys a CgFxBuffer object.

Parameters:
buf The buffer to destroy.
Namespace: nvsg
Remarks:
The bufer object must be unbound before it is destroyed.

NVSG_API size_t getBufferSize ( CgFxBuffer buf )

Gets the current size of a CgFxBuffer object.

Parameters:
buf The buffer to get the size of.
Namespace: nvsg

NVSG_API void setBufferData | ( | CgFxBuffer | buf,
 |  | const void * | data,
 |  | size_t | size
 | ) |

Sets data in a buffer object, beginning at offset 0 within the buffer.

Namespace: nvsg
Parameters:
buf | The buffer to set data in.
data | Pointer to the data.
size | The length of the data.
Remarks:
This method will fail if the buffer object is currently mapped.

NVSG_API void setBufferSubData | ( | CgFxBuffer | buf,
 |  | size_t | offset,
 |  | const void * | data,
 |  | size_t | size
 | ) |

Sets data in a buffer object, beginning at the offset specified.

Namespace: nvsg
Parameters:
buf | The buffer to set data in.
offset | An offset into the buffer to begin writing.
data | Pointer to the data.
size | The length of the data.
Remarks:
This method will fail if the buffer object is currently mapped.

NVSG_API unsigned int getBufferMaxIndex ( )

Gets the maximum allowable index for CgFxBuffer objects.

Namespace: nvsg
Remarks:
This method will typically return '9' meaning 10 buffers are available to each program stage in an effect. This number will always be less than the hardware's maximum, since SceniX reserves several buffers for future global parameter updates.

NVSG_API unsigned int getBufferMaxSize ( )

Gets the maximum allowable size for CgFxBuffer objects, in bytes.

Namespace: nvsg
Remarks:
While GL buffer objects can be very large, CgFxBuffers are limited in size. This size is hardware dependent, and on G80 is currently 4096 vectors of 4 floats, or 16384 bytes.

Friends And Related Function Documentation

NVSG_API std::string cgfxGetLastError ( CGerror & ) [friend]

Returns last error that occurred during a Cg-runtime operation.

Parameters:
error Retrieves the CGerror code.
Returns:
The last error listing from the CGcontext that was current while the error occurred.
Remarks:
The function retrieves the last most error that occurred during a Cg-runtime operation and returns the corresponding listing as string. The last error retrieved will be popped off the internal error stack. Immediately calling this function again will retrieve the second last error and so on. If no errors are left anymore on the internal stack, CG_NO_ERROR will be retrieved.

The documentation for this class was generated from the following file:
  • CgFx.h
Generated on Fri Jul 13 13:29:53 2012 for SceniX


SceniX: Member List

CgFxContext Member List

This is the complete list of members for CgFxContext, including all inherited members.

ACCESS_READ_ONLY enum value (defined in CgFxContext) | CgFxContext |
ACCESS_READ_WRITE enum value (defined in CgFxContext) | CgFxContext |
ACCESS_WRITE_ONLY enum value (defined in CgFxContext) | CgFxContext |
BufferAccess enum name (defined in CgFxContext) | CgFxContext |
CGFX_STATE_MACHINE_GL enum value | CgFxContext |
CGFX_STATE_MACHINE_INVALID enum value | CgFxContext |
CgFxContext() | CgFxContext | [explicit]
cgfxGetLastError(CGerror &) | CgFxContext | [friend]
CgFxStateMachineEnum enum name | CgFxContext |
createBuffer(size_t initialSize, BufferAccess bam) | CgFxContext |
destroyBuffer(CgFxBuffer buf) | CgFxContext |
getBufferMaxIndex() | CgFxContext |
getBufferMaxSize() | CgFxContext |
getBufferSize(CgFxBuffer buf) | CgFxContext |
getStateMachine() const | CgFxContext | [inline]
initialize(CgFxStateMachineEnum stateMachine, int num_gpus) | CgFxContext |
lock() | CgFxContext | [inline]
operator CGMcontext() const | CgFxContext | [inline]
setBufferData(CgFxBuffer buf, const void *data, size_t size) | CgFxContext |
setBufferSubData(CgFxBuffer buf, size_t offset, const void *data, size_t size) | CgFxContext |
uninitialize() | CgFxContext |
unlock() | CgFxContext | [inline]
~CgFxContext() | CgFxContext |

Generated on Fri Jul 13 13:29:53 2012 for SceniX


SceniX: CgFxEffect Class Reference

nvsg::CgFxEffect

CgFxEffect Class Reference

Abstracts a render effect to be applied to a specific geometry. More...

#include <CgFx.h>

Inheritance diagram for CgFxEffect:

[legend]
Collaboration diagram for CgFxEffect:

[legend]
List of all members.

Public Types

enum TransformType {
TRAFO_UNKNOWN = -1, TRAFO_WORLD = 0, TRAFO_MODEL = TRAFO_WORLD, TRAFO_VIEW,
TRAFO_PROJECTION, TRAFO_WORLDT, TRAFO_MODELT = TRAFO_WORLDT, TRAFO_WORLDTRANSPOSE = TRAFO_WORLDT,
TRAFO_MODELTRANSPOSE = TRAFO_WORLDT, TRAFO_VIEWT, TRAFO_VIEWTRANSPOSE = TRAFO_VIEWT, TRAFO_PROJECTIONT,
TRAFO_PROJECTIONTRANSPOSE = TRAFO_PROJECTIONT, TRAFO_WORLDI, TRAFO_MODELI = TRAFO_WORLDI, TRAFO_WORLDINVERSE = TRAFO_WORLDI,
TRAFO_MODELINVERSE = TRAFO_WORLDI, TRAFO_VIEWI, TRAFO_VIEWINVERSE = TRAFO_VIEWI, TRAFO_PROJECTIONI,
TRAFO_PROJECTIONINVERSE = TRAFO_PROJECTIONI, TRAFO_WORLDIT, TRAFO_MODELIT = TRAFO_WORLDIT, TRAFO_WORLDINVERSETRANSPOSE = TRAFO_WORLDIT,
TRAFO_MODELINVERSETRANSPOSE = TRAFO_WORLDIT, TRAFO_VIEWIT, TRAFO_VIEWINVERSETRANSPOSE = TRAFO_VIEWIT, TRAFO_PROJECTIONIT,
TRAFO_PROJECTIONINVERSETRANSPOSE = TRAFO_PROJECTIONIT, TRAFO_WORLDVIEW, TRAFO_MODELVIEW = TRAFO_WORLDVIEW, TRAFO_VIEWPROJECTION,
TRAFO_WORLDVIEWPROJECTION, TRAFO_MODELVIEWPROJECTION = TRAFO_WORLDVIEWPROJECTION, TRAFO_WORLDVIEWT, TRAFO_MODELVIEWT = TRAFO_WORLDVIEWT,
TRAFO_WORLDVIEWTRANSPOSE = TRAFO_WORLDVIEWT, TRAFO_MODELVIEWTRANSPOSE = TRAFO_WORLDVIEWT, TRAFO_VIEWPROJECTIONT, TRAFO_VIEWPROJECTIONTRANSPOSE = TRAFO_VIEWPROJECTIONT,
TRAFO_WORLDVIEWPROJECTIONT, TRAFO_MODELVIEWPROJECTIONT = TRAFO_WORLDVIEWPROJECTIONT, TRAFO_WORLDVIEWPROJECTIONTRANSPOSE = TRAFO_WORLDVIEWPROJECTIONT, TRAFO_MODELVIEWPROJECTIONTRANSPOSE = TRAFO_WORLDVIEWPROJECTIONT,
TRAFO_WORLDVIEWI, TRAFO_MODELVIEWI = TRAFO_WORLDVIEWI, TRAFO_WORLDVIEWINVERSE = TRAFO_WORLDVIEWI, TRAFO_MODELVIEWINVERSE = TRAFO_WORLDVIEWI,
TRAFO_VIEWPROJECTIONI, TRAFO_VIEWPROJECTIONINVERSE = TRAFO_VIEWPROJECTIONI, TRAFO_WORLDVIEWPROJECTIONI, TRAFO_MODELVIEWPROJECTIONI = TRAFO_WORLDVIEWPROJECTIONI,
TRAFO_WORLDVIEWPROJECTIONINVERSE = TRAFO_WORLDVIEWPROJECTIONI, TRAFO_MODELVIEWPROJECTIONINVERSE = TRAFO_WORLDVIEWPROJECTIONI, TRAFO_WORLDVIEWIT, TRAFO_MODELVIEWIT = TRAFO_WORLDVIEWIT,
TRAFO_WORLDVIEWINVERSETRANSPOSE = TRAFO_WORLDVIEWIT, TRAFO_MODELVIEWINVERSETRANSPOSE = TRAFO_WORLDVIEWIT, TRAFO_VIEWPROJECTIONIT, TRAFO_VIEWPROJECTIONINVERSETRANSPOSE = TRAFO_VIEWPROJECTIONIT,
TRAFO_WORLDVIEWPROJECTIONIT, TRAFO_MODELVIEWPROJECTIONIT = TRAFO_WORLDVIEWPROJECTIONIT, TRAFO_WORLDVIEWPROJECTIONINVERSETRANSPOSE = TRAFO_WORLDVIEWPROJECTIONIT, TRAFO_MODELVIEWPROJECTIONINVERSETRANSPOSE = TRAFO_WORLDVIEWPROJECTIONIT,
NUM_TRAFOS
}
Enumeration type to identify specific transforms. More...
enum ProgramIOType {
PROGRAM_IO_VERTEX = CG_VERTEX, PROGRAM_IO_FRAGMENT = CG_FRAGMENT, PROGRAM_IO_POINT = CG_POINT, PROGRAM_IO_LINE = CG_LINE,
PROGRAM_IO_LINE_ADJ = CG_LINE_ADJ, PROGRAM_IO_TRIANGLE = CG_TRIANGLE, PROGRAM_IO_TRIANGLE_ADJ = CG_TRIANGLE_ADJ
}
Enumeration type to identify input or output of shaders. More...
enum | { MSL_MAX_LIGHTS = 8, MSL_LIGHT_POSITION = 0, MSL_LIGHT_SPOT = 1, MSL_LIGHT_INFINITE = 2 }

Public Member Functions

NVSG_API bool | createFromFile (const std::string &file, const std::vector< std::string > &searchPaths, std::string &err)
Creates a render effect from an input file.
NVSG_API bool | createFromLump (const std::string &lump, const std::vector< std::string > &searchPaths, std::string &err)
Creates a render effect from a code string.
NVSG_API bool | isValid () const
Returns whether the effect is valid.
NVSG_API CGMcontext | getContext () const
Returns the CGMcontext associated with the effect.
NVSG_API bool | updateTransformState (size_t firstLabel, size_t secondLabel)
Labels the current transform state.
NVSG_API bool | updateLightingState (size_t firstLabel, size_t secondLabel)
Labels the current lighting state.
NVSG_API bool | updateMaterialState (size_t firstLabel, size_t secondLabel)
Labels the current material state.
NVSG_API bool | updateSceneState (size_t firstLabel, size_t secondLabel)
Labels the current scene state.
NVSG_API bool | isFromFile () const
Returns whether the effect was created from a file.
NVSG_API bool | isFromLump () const
Returns whether the effect was created from a lump of CgFX source code.
NVSG_API bool | getFileName (std::string &file) const
Returns the file name of the CgFX source file from which the effect was created.
NVSG_API bool | getSourceCode (std::string &code) const
Returns CgFX source string from which the effect was created.
NVSG_API unsigned int | getNumberOfParameterAnnotations (CgFxParameter param) const
Returns the number of annotations available for a specified parameter.
NVSG_API CgFxAnnotation | getParameterAnnotation (CgFxParameter param, unsigned int index) const
Returns the parameter annotation at the specified zero-based index.
NVSG_API CgFxAnnotation | getParameterAnnotationByName (CgFxParameter param, const std::string &name) const
Returns an annotation of the specified parameter by name.
NVSG_API unsigned int | getNumberOfTechniqueAnnotations (CgFxTechnique tech) const
Returns the number of annotations available for a specified technique.
NVSG_API CgFxAnnotation | getTechniqueAnnotation (CgFxTechnique tech, unsigned int index) const
Returns the technique annotation at the specified zero-based index.
NVSG_API CgFxAnnotation | getTechniqueAnnotationByName (CgFxTechnique tech, const std::string &name) const
Returns an annotation of the specified technique by name.
NVSG_API unsigned int | getNumberOfPassAnnotations (CgFxPass pass) const
Returns the number of annotations available for a specified render pass.
NVSG_API CgFxAnnotation | getPassAnnotation (CgFxPass pass, unsigned int index) const
Returns the pass annotation at the specified zero-based index.
NVSG_API CgFxAnnotation | getPassAnnotationByName (CgFxPass pass, const std::string &name) const
Returns an annotation of the specified pass by name.
NVSG_API const std::string & | getAnnotationName (CgFxAnnotation anno) const
Returns the name of the specified annotation.
NVSG_API const std::string & | getAnnotationTypeString (CgFxAnnotation anno) const
Returns the type string of the specified annotation's value.
NVSG_API bool | isFloatAnnotation (CgFxAnnotation anno) const
Returns whether the specified annotation is a float-type annotation.
NVSG_API bool | isIntAnnotation (CgFxAnnotation anno) const
Returns whether the specified annotation is a integer-type annotation.
NVSG_API bool | isBoolAnnotation (CgFxAnnotation anno) const
Returns whether the specified annotation is a boolean-type annotation.
NVSG_API bool | isStringAnnotation (CgFxAnnotation anno) const
Returns whether the specified annotation is a string-type annotation.
NVSG_API unsigned int | getAnnotationValueSize (CgFxAnnotation anno) const
Returns the size in bytes of the annotation value.
NVSG_API unsigned int | getNumberOfAnnotationValueComponents (CgFxAnnotation anno) const
Returns the number of components the annotation value has.
NVSG_API bool | getFloatAnnotationValue (CgFxAnnotation anno, float *value) const
Returns the value of a float-type annotation.
NVSG_API bool | getIntAnnotationValue (CgFxAnnotation anno, int *value) const
Returns the value of a integer-type annotation.
NVSG_API bool | getBoolAnnotationValue (CgFxAnnotation anno, int *value) const
Returns the value of a boolean-type annotation.
NVSG_API bool | getStringAnnotationValue (CgFxAnnotation anno, std::string &value) const
Returns the value of a string-type annotation.
NVSG_API const std::string & | getParameterName (CgFxParameter param) const
Returns the name of the specified effect parameter.
NVSG_API const std::string & | getParameterSemantic (CgFxParameter param) const
Returns the semantic of the specified effect parameter.
NVSG_API const std::string & | getParameterTypeString (CgFxParameter param) const
Returns the type of the specified parameter as string.
NVSG_API CgFxParameter | getParameterByName (const std::string &name) const
Returns an effect parameter by name.
NVSG_API CgFxParameter | getParameterBySemantic (const std::string &semantic) const
Returns an effect parameter by semantic.
NVSG_API unsigned int | getNumberOfArrayParameterElements (CgFxParameter param) const
Returns the array size of the specified array parameter.
NVSG_API CgFxParameter | getArrayParameterElement (CgFxParameter param, unsigned int index) const
Returns the array element at a specified zero-based index.
NVSG_API unsigned int | getNumberOfStructParameterMembers (CgFxParameter param) const
Returns the number of members for the specifies struct parameter.
NVSG_API CgFxParameter | getStructParameterMember (CgFxParameter param, unsigned int index) const
Returns the struct member at a specified zero-based index.
NVSG_API CgFxParameter | getStructParameterMemberByName (CgFxParameter param, const std::string &member) const
Returns a struct member by name.
NVSG_API unsigned int | getParameterValueSize (CgFxParameter param) const
Returns the size in bytes of the parameter value.
NVSG_API unsigned int | getNumberOfParameterValueComponents (CgFxParameter param) const
Returns the number of components the parameter value has. Returns the number of components the parameter value has.
NVSG_API bool | isScalarParameter (CgFxParameter param) const
Returns whether the specified parameter is a scalar-type parameter.
NVSG_API bool | isVector2Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 2-component vector-type parameter.
NVSG_API bool | isVector3Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 3-component vector-type parameter.
NVSG_API bool | isVector4Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 4-component vector-type parameter.
NVSG_API bool | isMatrix22Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 2x2 matrix-type parameter.
NVSG_API bool | isMatrix23Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 2x3 matrix-type parameter.
NVSG_API bool | isMatrix24Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 2x4 matrix-type parameter.
NVSG_API bool | isMatrix32Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 3x2 matrix-type parameter.
NVSG_API bool | isMatrix33Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 3x3 matrix-type parameter.
NVSG_API bool | isMatrix34Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 3x4 matrix-type parameter.
NVSG_API bool | isMatrix42Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 4x2 matrix-type parameter.
NVSG_API bool | isMatrix43Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 4x3 matrix-type parameter.
NVSG_API bool | isMatrix44Parameter (CgFxParameter param) const
Returns whether the specified parameter is a 4x4 matrix-type parameter.
NVSG_API bool | isFloatParameter (CgFxParameter param) const
Returns whether the specified parameter is a float-type parameter.
NVSG_API bool | isIntParameter (CgFxParameter param) const
Returns whether the specified parameter is a integer-type parameter.
NVSG_API bool | isBoolParameter (CgFxParameter param) const
Returns whether the specified parameter is a boolean-type parameter.
NVSG_API bool | isStringParameter (CgFxParameter param) const
Returns whether the specified parameter is a string-type parameter.
NVSG_API bool | isSamplerParameter (CgFxParameter param) const
Returns whether the specified parameter is a sampler-type parameter.
NVSG_API bool | isSampler1DParameter (CgFxParameter param) const
Returns whether the specified parameter is a sampler1D-type parameter.
NVSG_API bool | isSampler2DParameter (CgFxParameter param) const
Returns whether the specified parameter is a sampler2D-type parameter.
NVSG_API bool | isSampler3DParameter (CgFxParameter param) const
Returns whether the specified parameter is a sampler3D-type parameter.
NVSG_API bool | isSamplerRectParameter (CgFxParameter param) const
Returns whether the specified parameter is a samplerRECT-type parameter.
NVSG_API bool | isSamplerCubeParameter (CgFxParameter param) const
Returns whether the specified parameter is a samplerCUBE-type parameter.
NVSG_API bool | isSamplerBufParameter (CgFxParameter param) const
Returns whether the specified parameter is a samplerBUF-type parameter.
NVSG_API bool | isSamplerArrayParameter (CgFxParameter param) const
Returns whether the specified parameter is a sampler array type parameter.
NVSG_API bool | isBufferedParameter (CgFxParameter param) const
Returns whether the specified parameter is part of a CgFxBuffer.
NVSG_API bool | isLightParameter (CgFxParameter param) const
Returns whether the specified parameter is a light parameter.
NVSG_API bool | isLightPositionParameter (CgFxParameter param) const
Returns wheteher the specified parameter represents a light position.
NVSG_API bool | isLightDirectionParameter (CgFxParameter param) const
Returns wheteher the specified parameter represents a light direction.
NVSG_API bool | isLightTypeParameter (CgFxParameter param) const
Returns wheteher the specified parameter represents a light type.
NVSG_API bool | isLightArrayParameter (CgFxParameter param) const
Returns whether the specified parameter specifies an array of light parameters.
NVSG_API bool | isDynamicLightArrayParameter (CgFxParameter param) const
Returns whether the specified parameter specifies a dynamic array of light parameters.
NVSG_API bool | isMaterialParameter (CgFxParameter param) const
Returns whether the specified parameter represents a Material Parameter.
NVSG_API bool | isSceneParameter (CgFxParameter param) const
Returns whether the specified parameter is a Scene Parameter.
NVSG_API bool | isTransformParameter (CgFxParameter param) const
Returns whether the specified parameter is a transform parameter.
NVSG_API bool | isArrayParameter (CgFxParameter param) const
Returns whether the specified parameter is an array parameter.
NVSG_API bool | isStructParameter (CgFxParameter param) const
Returns whether the specified parameter is a struct parameter.
NVSG_API unsigned int | getNumberOfTransforms () const
Returns the number of transform parameters available.
NVSG_API CgFxParameter | getTransform (unsigned int index) const
Returns the transform parameter at the specified zero-based index.
NVSG_API TransformType | getTransformType (CgFxParameter param) const
Returns the transform type of the specified transform parameter.
NVSG_API bool | setTransformValue (CgFxParameter param, const float *value)
Uploads a 4x4 transform matrix to the underlying effect resource.
NVSG_API unsigned int | getNumberOfTweakables () const
Returns the number of alterable effect parameters (so called 'tweakables').
NVSG_API CgFxParameter | getTweakable (unsigned int index) const
Returns the tweakable at the specified zero-based index.
NVSG_API CgFxParameter | getTweakableBySemantic (const std::string &semantic) const
Returns a tweakable effect parameter by semantic.
NVSG_API CgFxParameter | getTweakableByName (const std::string &name) const
Returns a tweakable effect parameter by name.
NVSG_API unsigned int | getNumberOfLights () const
Returns the number of NVSGLight-typed parameters defined for the effect.
NVSG_API CgFxParameter | getLight (unsigned int index) const
Returns the light parameter at the indicated index.
NVSG_API CgFxParameter | getLightBySemantic (const std::string &semantic) const
Returns a light parameter by semantic.
NVSG_API CgFxParameter | getLightByName (const std::string &name) const
Returns a light parameter by name.
NVSG_API bool | hasDynamicNumberOfLights () const
Returns whether this effect contains a dynamically sized light array.
NVSG_API void | setDynamicNumberOfLights (unsigned int num)
Set the desired number of lights of a dynamically sized light array.
NVSG_API unsigned int | getDynamicNumberOfLights () const
Get the current number of lights.
NVSG_API CgFxParameter | getMaterial () const
Returns the effects Material Parameter if available.
NVSG_API CgFxParameter | getScene () const
Returns the effect's Scene Parameter.
NVSG_API bool | getParameterValueAsFloat (CgFxParameter param, float *value) const
Returns a numeric-type parameter value as 32-bit float values.
NVSG_API bool | setParameterValueAsFloat (CgFxParameter param, const float *value)
Sets the value of a numeric-type parameter as 32-bit float value.
NVSG_API bool | getFloatParameterValue (CgFxParameter param, float *value) const
Returns the value of a float-type parameter.
NVSG_API bool | setFloatParameterValue (CgFxParameter param, const float *value)
Sets the value of a float-type parameter.
NVSG_API bool | flushFloatParameterValue (CgFxParameter param, const float *value)
Flush the value of a float-type parameter.
NVSG_API bool | getIntParameterValue (CgFxParameter param, int *value) const
Returns the value of a integer-type parameter.
NVSG_API bool | setIntParameterValue (CgFxParameter param, const int *value)
Sets the value of a integer-type parameter.
NVSG_API bool | flushIntParameterValue (CgFxParameter param, const int *value)
Flush the value of an integer-type parameter.
NVSG_API bool | getBoolParameterValue (CgFxParameter param, int *value) const
Returns the value of a 32-bit boolean-type parameter.
NVSG_API bool | setBoolParameterValue (CgFxParameter param, const int *value)
Sets the value of a 32-bit boolean-type parameter.
NVSG_API bool | flushBoolParameterValue (CgFxParameter param, const int *value)
Flush the value of a 32-bit boolean-type parameter.
NVSG_API bool | getStringParameterValue (CgFxParameter param, std::string &value) const
Returns the string value of a string-type parameter.
NVSG_API bool | setStringParameterValue (CgFxParameter param, const std::string &value)
Sets the string value for a string-type parameter.
NVSG_API void | resetSceneValues (CgFxParameter param)
Resets the specified Scene to default.
NVSG_API bool | getSceneAmbientValue (CgFxParameter param, float *value) const
Returns the ambient RGBA intensity of the entire scene.
NVSG_API bool | setSceneAmbientValue (CgFxParameter param, const float *value)
Sets the ambient RGBA intensity of the entire scene.
NVSG_API bool | getSceneFrameNumberValue (CgFxParameter param, int *value) const
Returns the scene frame number.
NVSG_API bool | setSceneFrameNumberValue (CgFxParameter param, const int *value)
Sets the current frame number.
NVSG_API void | resetMaterialValues (CgFxParameter param)
Resets the specified material to default.
NVSG_API bool | getMaterialEmissionValue (CgFxParameter param, float *value) const
Returns the RGBA emitted light intensity of the specified material.
NVSG_API bool | setMaterialEmissionValue (CgFxParameter param, const float *value)
Sets the RGBA emitted light intensity for the specified material.
NVSG_API bool | getMaterialAmbientValue (CgFxParameter param, float *value) const
Returns the ambient RGBA reflectance of the specified material.
NVSG_API bool | setMaterialAmbientValue (CgFxParameter param, const float *value)
Sets the ambient RGBA reflectance for the specified material.
NVSG_API bool | getMaterialDiffuseValue (CgFxParameter param, float *value) const
Returns the diffuse RGBA reflectance of the specified material.
NVSG_API bool | setMaterialDiffuseValue (CgFxParameter param, const float *value)
Sets the diffuse RGBA reflectance for the specified material.
NVSG_API bool | getMaterialSpecularValue (CgFxParameter param, float *value) const
Returns the specular RGBA reflectance of the specified material.
NVSG_API bool | setMaterialSpecularValue (CgFxParameter param, const float *value)
Sets the specular RGBA reflectance for the specified material.
NVSG_API bool | getMaterialShininessValue (CgFxParameter param, float *value) const
Returns the RGBA specular exponent of the specified material.
NVSG_API bool | setMaterialShininessValue (CgFxParameter param, const float *value)
Sets the RGBA specular exponent for the specified material.
NVSG_API void | resetLightValues (CgFxParameter param)
Resets the values for the specified light to default.
NVSG_API bool | getLightAmbientValue (CgFxParameter param, float *value) const
Returns the ambient RGBA intensity of the specified light.
NVSG_API bool | setLightAmbientValue (CgFxParameter param, const float *value)
Sets the ambient RGBA intensity for the specified light.
NVSG_API bool | getLightDiffuseValue (CgFxParameter param, float *value) const
Returns the diffuse RGBA intensity of the specified light.
NVSG_API bool | setLightDiffuseValue (CgFxParameter param, const float *value)
Sets the diffuse RGBA intensity for the specified light.
NVSG_API bool | getLightSpecularValue (CgFxParameter param, float *value) const
Returns the specular RGBA intensity of the specified light.
NVSG_API bool | setLightSpecularValue (CgFxParameter param, const float *value)
Sets the specular RGBA intensity for the specified light.
NVSG_API bool | getLightPositionValue (CgFxParameter param, float *value) const
Returns the position of the specified light.
NVSG_API bool | setLightPositionValue (CgFxParameter param, const float *value)
Sets the position for the specified light.
NVSG_API bool | getLightDirectionValue (CgFxParameter param, float *value) const
Returns the direction of the specified light.
NVSG_API bool | setLightDirectionValue (CgFxParameter param, const float *value)
Sets the direction for the specified light.
NVSG_API bool | getLightSpotExponentValue (CgFxParameter param, float *value) const
Returns the intensity distribution of the specified light.
NVSG_API bool | setLightSpotExponentValue (CgFxParameter param, const float *value)
Sets the intensity distribution for the specified light.
NVSG_API bool | getLightSpotCutoffValue (CgFxParameter param, float *value) const
Returns the maximum spread angle of the specified light.
NVSG_API bool | setLightSpotCutoffValue (CgFxParameter param, const float *value)
Sets the maximum spread angle for the specified light.
NVSG_API bool | getLightConstantAttenuationValue (CgFxParameter param, float *value) const
Returns the constant attenuation factor of the specified light.
NVSG_API bool | setLightConstantAttenuationValue (CgFxParameter param, const float *value)
Sets the constant attenuation factor for the specified light.
NVSG_API bool | getLightLinearAttenuationValue (CgFxParameter param, float *value) const
Returns the linear attenuation factor of the specified light.
NVSG_API bool | setLightLinearAttenuationValue (CgFxParameter param, const float *value)
Sets the linear attenuation factor for the specified light.
NVSG_API bool | getLightQuadraticAttenuationValue (CgFxParameter param, float *value) const
Returns the quadratic attenuation factor of the specified light.
NVSG_API bool | setLightQuadraticAttenuationValue (CgFxParameter param, const float *value)
Sets the quadratic attenuation factor for the specified light.
NVSG_API CgFxParameter | getMslLightPosition (unsigned int i) const
Returns the position parameter for the i-th light.
NVSG_API CgFxParameter | getMslLightDirection (unsigned int i) const
Returns the direction parameter for the i-th light.
NVSG_API CgFxParameter | getMslLightType (unsigned int i) const
Returns the type parameter for the i-th light.
NVSG_API bool | getMslLightPositionValue (CgFxParameter param, float *value) const
Retrieves the value of the indicated light position parameter.
NVSG_API bool | getMslLightDirectionValue (CgFxParameter param, float *value) const
Retrieves the value of the indicated light direction parameter.
NVSG_API bool | getMslLightTypeValue (CgFxParameter param, int *value) const
Retrieves the value of the indicated light type parameter.
NVSG_API bool | setMslLightPositionValue (CgFxParameter param, const float *value)
Sets the value for the indicated light position parameter.
NVSG_API bool | setMslLightDirectionValue (CgFxParameter param, const float *value)
Sets the value for the indicated light direction parameter.
NVSG_API bool | setMslLightTypeValue (CgFxParameter param, int value)
Sets the value for the indicated light type parameter.
NVSG_API unsigned int | getNumberOfSamplers () const
Returns the number of sampler available.
NVSG_API CgFxParameter | getSampler (unsigned int index) const
Returns the sampler at the specified zero-based index.
NVSG_API CgFxParameter | getSamplerByName (const std::string &name) const
Returns a sampler parameter by name.
NVSG_API CgFxParameter | getSamplerByTextureParameterName (const std::string &name) const
Returns a sampler parameter by the name of its associated texture parameter.
NVSG_API CGparameter | getSamplerTextureParameter (CgFxParameter param) const
Returns the CGparameter handle that corresponds to the specified sampler parameter.
NVSG_API unsigned int | getNumberOfProgramSamplers (CgFxProgram prog) const
Returns the number of samplers used in a particular program.
NVSG_API CgFxParameter | getProgramSampler (CgFxProgram prog, unsigned int index) const
Returns the sampler at the specified zero-based index in the given program. Returns the sampler at the specified zero-based index.
NVSG_API ProgramIOType | getProgramInputType (CgFxProgram prog) const
Returns the input type for the given program.
NVSG_API ProgramIOType | getProgramOutputType (CgFxProgram prog) const
Returns the output type for the given program.
NVSG_API bool | isMipmapSamplerState (CgFxParameter sampler) const
Returns whether the sampler state for the specified sampler requires explicit mipmap specification on the client-site.
NVSG_API bool | isTextureSamplerCompliant (CgFxParameter sampler, const TextureSharedPtr &image) const
Returns whether the indicated Texture is compliant to the specified sampler.
NVSG_API bool | setSamplerTexture (CgFxParameter param, const TextureSharedPtr &image)
Assigns a new Texture to the specified sampler parameter.
NVSG_API bool | getSamplerTextureFileName (CgFxParameter param, std::string &file) const
Returns the file name that is associated with the sampler's texture image.
NVSG_API const TextureSharedPtr & | getSamplerTexture (CgFxParameter param) const
Returns the texture assigned to the specified sampler parameter.
NVSG_API bool | hasSamplerTextureHost (CgFxParameter param) const
Returns whether a TextureHost is assigned to the sampler.
NVSG_API bool | setSamplerTextureGPUFormat (CgFxParameter param, TextureHost::TextureGPUFormat format)
Requests a particular texture GPU format that be used for this sampler.
NVSG_API bool | getSamplerTextureGPUFormat (CgFxParameter param, TextureHost::TextureGPUFormat &format) const
Returns the texture GPU format that was requested of this sampler.
NVSG_API TextureTarget | getSamplerTextureTarget (CgFxParameter param) const
Retrieves the TextureTarget for the specified sampler parameter.
NVSG_API unsigned int | getNumberOfSamplerStateValueComponents (CgFxParameter param, const std::string &name) const
Returns the number of components the specified named sampler state value has.
NVSG_API bool | isFloatSamplerState (CgFxParameter param, const std::string &name) const
Returns whether the specified sampler state is a float-type sampler state.
NVSG_API bool | isIntSamplerState (CgFxParameter param, const std::string &name) const
Returns whether the specified sampler state is a integer-type sampler state.
NVSG_API bool | isBoolSamplerState (CgFxParameter param, const std::string &name) const
Returns whether the specified sampler state is a boolean-type sampler state.
NVSG_API bool | getFloatSamplerStateValue (CgFxParameter param, const std::string &name, float *value) const
Returns the value of the specified float-type sampler state.
NVSG_API bool | setFloatSamplerStateValue (CgFxParameter param, const std::string &name, const float *value) const
Sets the value of the specified float-type sampler state.
NVSG_API bool | createFloatSamplerStateValue (CgFxParameter param, const std::string &name, int components, const float *value) const
Creates and sets the value of the specified float-type sampler state.
NVSG_API bool | getIntSamplerStateValue (CgFxParameter param, const std::string &name, int *value) const
Returns the value of the specified integer-type sampler state.
NVSG_API bool | setIntSamplerStateValue (CgFxParameter param, const std::string &name, const int *value) const
Sets the value of the specified int-type sampler state.
NVSG_API bool | createIntSamplerStateValue (CgFxParameter param, const std::string &name, int components, const int *value) const
Creates and sets the value of the specified int-type sampler state.
NVSG_API bool | getBoolSamplerStateValue (CgFxParameter param, const std::string &name, int *value) const
Returns the value of the specified 32-bit boolean-type sampler state.
NVSG_API bool | setBoolSamplerStateValue (CgFxParameter param, const std::string &name, const int *value) const
Sets the value of the specified bool-type sampler state.
NVSG_API bool | createBoolSamplerStateValue (CgFxParameter param, const std::string &name, int components, const int *value) const
Creates and sets the value of the specified bool-type sampler state.
NVSG_API unsigned int | getNumberOfTechniques () const
Returns the number of techniques defined for this effect.
NVSG_API CgFxTechnique | getTechnique (unsigned int index) const
Returns the technique at the specified zero-based index.
NVSG_API CgFxTechnique | getTechniqueByName (const std::string &name) const
Returns a technique by name.
NVSG_API unsigned int | getTechniqueIndex (CgFxTechnique tech) const
Returns the zero-based index of the specified technique.
NVSG_API const std::string & | getTechniqueName (CgFxTechnique tech) const
Returns the name of the specified technique.
NVSG_API CgFxTechnique | getCurrentTechnique () const
Returns the current technique.
NVSG_API void | setCurrentTechnique (CgFxTechnique tech)
Sets the current technique to be used with rendering.
NVSG_API bool | validateCurrentTechnique ()
Validates the current technique.
NVSG_API bool | containsTessellationProgram (CgFxTechnique tech) const
Returns whether the specified technique contains tessellation a program.
NVSG_API unsigned int | getNumberOfPasses (CgFxTechnique tech) const
Returns the number of render passes defined for the specified technique.
NVSG_API CgFxPass | getPass (CgFxTechnique tech, unsigned int index) const
Returns the pass at the specified zero-based index defined in the specified technique.
NVSG_API CgFxPass | getPassByName (CgFxTechnique tech, const std::string &name) const
Returns a pass of a specified technique by name.
NVSG_API const std::string & | getPassName (CgFxPass pass) const
Returns the name of the specified render pass.
NVSG_API bool | isTransparentPass (CgFxPass pass) const
Tests whether the specified pass forces transparency.
NVSG_API void | applyPass (unsigned int index)
Applies the specified render pass.
NVSG_API void | resetPass (unsigned int index)
Resets the specified render pass.
NVSG_API unsigned int | getNumberOfPassStateValueComponents (CgFxPass pass, const std::string &name) const
Returns the number of components the specified pass state value has.
NVSG_API bool | isFloatPassState (CgFxPass pass, const std::string &name) const
Returns whether the specified pass state is a float-type pass state.
NVSG_API bool | isIntPassState (CgFxPass pass, const std::string &name) const
Returns whether the specified pass state is a integer-type pass state.
NVSG_API bool | isBoolPassState (CgFxPass pass, const std::string &name) const
Returns whether the specified pass state is a 32-bit boolean-type pass state.
NVSG_API bool | getFloatPassStateValue (CgFxPass pass, const std::string &name, float *value) const
Returns the value of the specified float-type pass state.
NVSG_API bool | getIntPassStateValue (CgFxPass pass, const std::string &name, int *value) const
Returns the value of the specified integer-type pass state.
NVSG_API bool | getBoolPassStateValue (CgFxPass pass, const std::string &name, int *value) const
Returns the value of the specified 32-bit boolean-type pass state.
NVSG_API CgFxProgram | getVertexProgram (CgFxPass pass) const
Returns the vertex program defined for the specified pass.
NVSG_API CgFxProgram | getTessellationControlProgram (CgFxPass pass) const
Returns the tessellation control program defined for the specified pass.
NVSG_API CgFxProgram | getTessellationEvaluationProgram (CgFxPass pass) const
Returns the tessellation evaluation program defined for the specified pass.
NVSG_API CgFxProgram | getGeometryProgram (CgFxPass pass) const
Returns the geometry program defined for the specified pass.
NVSG_API CgFxProgram | getFragmentProgram (CgFxPass pass) const
Returns the fragment program defined for the specified pass.
NVSG_API bool | isProgramCompiled (CgFxProgram prog) const
Returns whether the specified program is compiled.
NVSG_API bool | compileProgram (CgFxProgram prog)
Compiles the specified program.
NVSG_API bool | setProgramProfile (CgFxProgram prog, CGprofile profile)
Sets the profile to be used to compile the specified program.
NVSG_API CGprofile | getProgramProfile (CgFxProgram prog) const
Returns the actual profile used to compile the specified program.
NVSG_API unsigned int | getNumberOfProgramParameters (CgFxProgram prog) const
Returns the number of parameters passed to the specified program.
NVSG_API CgFxParameter | getProgramParameter (CgFxProgram prog, unsigned int index) const
Returns the program parameter at the specified zero-based index.
NVSG_API bool | isInputProgramParameter (CgFxProgram prog, CgFxParameter param) const
Returns whether the specified program parameter is an input parameter.
NVSG_API bool | isOutputProgramParameter (CgFxProgram prog, CgFxParameter param) const
Returns whether the specified program parameter is an output parameter.
NVSG_API CgFxBuffer | getProgramBuffer (CgFxProgram prog, size_t index) const
Gets the buffer at the given index from the given program.
NVSG_API bool | setProgramBuffer (CgFxProgram prog, CgFxBuffer b, size_t index)
Sets the buffer at the given index on the given program.
NVSG_API int | getParameterBufferIndex (CgFxParameter param) const
Retrieves the parameter buffer index of a parameter.
NVSG_API int | getParameterBufferOffset (CgFxParameter param) const
Retrieves the parameter buffer offset of a parameter.
NVSG_API int | getParameterResourceSize (CgFxParameter param) const
Retrieves the size, in bytes, of a parameter associated with a buffer.
NVSG_API CGtype | getParameterResourceType (CgFxParameter param) const
Retrieves the type of a parameter associated with a buffer.
REFLECTION_INFO_API (NVSG_API, CgFxEffect)

Static Public Member Functions

static NVSG_API CgFxEffectSharedPtr | create ()

Protected Member Functions

CgFxEffect ()
Default-constructs a CgFxEffect.
CgFxEffect (const CgFxEffect &rhs)
Constructs a CgFxEffect as a copy from another CgFxEffect.
~CgFxEffect ()
Destructs a CgFxEffect.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Classes

struct | SharedParams

Detailed Description

Abstracts a render effect to be applied to a specific geometry.

Namespace: nvsg
Remarks:
This class provides interfaces that lets you
  • Create a render effect from either a file or a source string,
  • Query dependent data from the underlying effect resource,
  • Exchange dependent data with the underlying effect resource, and
  • Apply the render effect to a specific geometry.

The CgFxEffect class is always considered in conjunction with a CgFx state attribute. A CgFxEffect object cannot be instantiated directly, but will be instantiated through its associated CgFx attribute. You need to call CgFx::getEffect to get the embedded CgFxEffect object of a certain CgFx attribute. The CgFx::getEffect function returns a CgFxEffectWeakPtr. If you need read or write access to the CgFxEffectWeakPtr, you have to use the CgFxEffectReadLock or CgFxEffectWriteLock types to gain access to the objects members. The scope of the locks determines the duration of the read/write access. See the documentation on the "handles-based" interface for more information.

Member Enumeration Documentation

enum TransformType

Enumeration type to identify specific transforms.

Remarks:
Uniform transform parameters always have a defined meaning. Knowing this meaning is essential, for example, when a renderer needs to update transform data for a certain transform parameter.

CgFxEffect::getTransformType lets you determine what kind of transform a certain transform parameter represents.
Enumeration values:
TRAFO_UNKNOWN | Indicates an unknown transform.
TRAFO_WORLD | Indicates a transform from object space to world space.
TRAFO_MODEL | Indicates a transform from object space to world space.
TRAFO_VIEW | Indicates a transform from world space to eye space.
TRAFO_PROJECTION | Indicates a transform from eye space to clip space.
TRAFO_WORLDT | Indicates a transposed transform from object space to world space.
TRAFO_MODELT | Indicates a transposed transform from object space to world space.
TRAFO_WORLDTRANSPOSE | Indicates a transposed transform from object space to world space.
TRAFO_MODELTRANSPOSE | Indicates a transposed transform from object space to world space.
TRAFO_VIEWT | Indicates a transposed transform from world space to eye space.
TRAFO_VIEWTRANSPOSE | Indicates a transposed transform from world space to eye space.
TRAFO_PROJECTIONT | Indicates a transposed transform from eye space to clip space.
TRAFO_PROJECTIONTRANSPOSE | Indicates a transposed transform from eye space to clip space.
TRAFO_WORLDI | Indicates a transform from world space to object space.
TRAFO_MODELI | Indicates a transform from world space to object space.
TRAFO_WORLDINVERSE | Indicates a transform from world space to object space.
TRAFO_MODELINVERSE | Indicates a transform from world space to object space.
TRAFO_VIEWI | Indicates a transform from eye space to world space.
TRAFO_VIEWINVERSE | Indicates a transform from eye space to world space.
TRAFO_PROJECTIONI | Indicates a transform from clip space to eye space.
TRAFO_PROJECTIONINVERSE | Indicates a transform from clip space to eye space.
TRAFO_WORLDIT | Indicates a transposed transform from world space to object space.
TRAFO_MODELIT | Indicates a transposed transform from world space to object space.
TRAFO_WORLDINVERSETRANSPOSE | Indicates a transposed transform from world space to object space.
TRAFO_MODELINVERSETRANSPOSE | Indicates a transposed transform from world space to object space.
TRAFO_VIEWIT | Indicates a transposed transform from eye space to world space.
TRAFO_VIEWINVERSETRANSPOSE | Indicates a transposed transform from eye space to world space.
TRAFO_PROJECTIONIT | Indicates a transposed transform from clip space to eye space.
TRAFO_PROJECTIONINVERSETRANSPOSE | Indicates a transposed transform from clip space to eye space.
TRAFO_WORLDVIEW | Indicates a transform from object space to eye space.
TRAFO_MODELVIEW | Indicates a transform from object space to eye space.
TRAFO_VIEWPROJECTION | Indicates a transform from world space to clip space.
TRAFO_WORLDVIEWPROJECTION | Indicates a transform from object space to clip space.
TRAFO_MODELVIEWPROJECTION | Indicates a transform from object space to clip space.
TRAFO_WORLDVIEWT | Indicates a transposed transform from object space to eye space.
TRAFO_MODELVIEWT | Indicates a transposed transform from object space to eye space.
TRAFO_WORLDVIEWTRANSPOSE | Indicates a transposed transform from object space to eye space.
TRAFO_MODELVIEWTRANSPOSE | Indicates a transposed transform from object space to eye space.
TRAFO_VIEWPROJECTIONT | Indicates a transposed transform from world space to clip space.
TRAFO_VIEWPROJECTIONTRANSPOSE | Indicates a transposed transform from world space to clip space.
TRAFO_WORLDVIEWPROJECTIONT | Indicates a transposed transform from object space to clip space.
TRAFO_MODELVIEWPROJECTIONT | Indicates a transposed transform from object space to clip space.
TRAFO_WORLDVIEWPROJECTIONTRANSPOSE | Indicates a transposed transform from object space to clip space.
TRAFO_MODELVIEWPROJECTIONTRANSPOSE | Indicates a transposed transform from object space to clip space.
TRAFO_WORLDVIEWI | Indicates a transform from eye space to object space.
TRAFO_MODELVIEWI | Indicates a transform from eye space to object space.
TRAFO_WORLDVIEWINVERSE | Indicates a transform from eye space to object space.
TRAFO_MODELVIEWINVERSE | Indicates a transform from eye space to object space.
TRAFO_VIEWPROJECTIONI | Indicates a transform from clip space to world space.
TRAFO_VIEWPROJECTIONINVERSE | Indicates a transform from clip space to world space.
TRAFO_WORLDVIEWPROJECTIONI | Indicates a transform from clip space to object space.
TRAFO_MODELVIEWPROJECTIONI | Indicates a transform from clip space to object space.
TRAFO_WORLDVIEWPROJECTIONINVERSE | Indicates a transform from clip space to object space.
TRAFO_MODELVIEWPROJECTIONINVERSE | Indicates a transform from clip space to object space.
TRAFO_WORLDVIEWIT | Indicates a transposed transform from eye space to object space.
TRAFO_MODELVIEWIT | Indicates a transposed transform from eye space to object space.
TRAFO_WORLDVIEWINVERSETRANSPOSE | Indicates a transposed transform from eye space to object space.
TRAFO_MODELVIEWINVERSETRANSPOSE | Indicates a transposed transform from eye space to object space.
TRAFO_VIEWPROJECTIONIT | Indicates a transposed transform from clip space to world space.
TRAFO_VIEWPROJECTIONINVERSETRANSPOSE | Indicates a transposed transform from clip space to world space.
TRAFO_WORLDVIEWPROJECTIONIT | Indicates a transposed transform from clip space to object space.
TRAFO_MODELVIEWPROJECTIONIT | Indicates a transposed transform from clip space to object space.
TRAFO_WORLDVIEWPROJECTIONINVERSETRANSPOSE | Indicates a transposed transform from clip space to object space.
TRAFO_MODELVIEWPROJECTIONINVERSETRANSPOSE | Indicates a transposed transform from clip space to object space.

enum ProgramIOType

Enumeration type to identify input or output of shaders.

Remarks:
CgFxEffect::getProgramInputType and CgFxEffect::getProgramOutputType let you determine the input or output types of the programs.
Enumeration values:
PROGRAM_IO_VERTEX | input/output is a vertex
PROGRAM_IO_FRAGMENT | input/output is a fragment
PROGRAM_IO_POINT | input/output is a point
PROGRAM_IO_LINE | input/output is a line
PROGRAM_IO_LINE_ADJ | input/output is a line with adjacency
PROGRAM_IO_TRIANGLE | input/output is a triangle
PROGRAM_IO_TRIANGLE_ADJ | input/output is a triangle with adjacency

anonymous enum

Enumeration values:
MSL_MAX_LIGHTS | Maximum number of simultaneously supported MetaSL light parameters as Light Position Parameters, Light Direction Parameters, and Light Type Parameters.
MSL_LIGHT_POSITION | Accepted as type argument by CgFxEffect::setMslLightTypeValue to indicate a positional light.
MSL_LIGHT_SPOT | Accepted as type argument by CgFxEffect::setMslLightTypeValue to indicate a spot light.
MSL_LIGHT_INFINITE | Accepted as type argument by CgFxEffect::setMslLightTypeValue to indicate a directional light.

Constructor & Destructor Documentation

CgFxEffect ( ) [protected]

Default-constructs a CgFxEffect.

CgFxEffect ( const CgFxEffect & rhs ) [protected]

Constructs a CgFxEffect as a copy from another CgFxEffect.

Parameters:
rhs Source CgFxEffect.

~CgFxEffect ( ) [protected]

Destructs a CgFxEffect.

Member Function Documentation

NVSG_API bool createFromFile | ( | const std::string & | file,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::string & | err
 | ) |

Creates a render effect from an input file.

Parameters:
file | Specifies the path and filename of the effect's source file.
searchPaths | Specifies additional include directories to the Cg compiler. The drive+dir string of the input file will be added as first additional include directory for the Cg compiler if the searchPaths vector doesn't already contain it. This will resolve the usual case of #include directives for headers located relative to the input file directory.
err | Reference to a string that receives an error string in the event an error occurred during creation.
Returns:
The function returns true if the effect creation was successful. If the effect creation fails, the function returns false.
Remarks:
The function tries to create an effect from the CgFX source file specified by file. Known file extensions for files to hold valid CgFX code are .cg and .cgfx. For the effect to be created successfully, the CgFX source code must comply with Cg 1.4 specification. More detailed information about Cg/CgFX can be found at http://developer.nvidia.com/page/cg_main.html

If an error occurred during creation, the function returns an error string in err which provides more information about the root cause of the error.
Example:
 // create a CgFX State Attribute Handle through the reference counted interface.
 CgFxSharedPtr hCgfx(CgFx::create());
 {
   // gain writable access to the CgFx handle
   CgFxWriteLock cg( hCgfx );
   // gain writable access to the CgFxEffect
   CgFxEffectWriteLock effect( cg->getEffect() );
   //
   // Create effect from the file
   //
   vector<string> searchPaths; // Empty, add additional search paths here.
   std::string err;
   if(! effect->createFromFile( "c:\morrisonIsCool.cgfx", searchPaths, err ) )
   {
     nvutil::IO::errorMessage("effect creation failed", err, true);
     return false;
   }
   // effect creation succeeded - modify as needed
   [...]

  }
  // write access to the Cg shader and CgFxEffect ended inside above scope

  // ...
See also:
CgFx, CgFx::getEffect, CgFxEffect::createFromLump

NVSG_API bool createFromLump | ( | const std::string & | lump,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::string & | err
 | ) |

Creates a render effect from a code string.

Parameters:
lump | Specifies the code string from which to create the effect.
searchPaths | Reference to a vector of strings which are used as additional include directories in the Cg compiler. This allows to use the same shader code inside createFromFile() and createFromLump() with #include directives. If the searchPaths vector is empty the shader source string should be self contained. Avoid #include directives then, they would only be resolved to the application's current working directory by the Cg compiler
err | Reference to a string that receives an error string in case an error occurred during creation.
Returns:
The function returns true if the effect creation was successful. If the effect creation fails, the function returns false.
Remarks:
In contrast to CgFxEffect::createFromFile, this function attempts to create a render effect from a string of CgFX source code. For the effect to be created successfully, The CgFX source code must comply with Cg 1.4 specification. More detailed information about Cg/CgFX can be found at http://developer.nvidia.com/page/cg_main.html

If an error occurred during creation, the function returns an error string in err which provides more information about the root cause of the error.
Example:
This example shows how to create a render effect from a CgFX source string.
 #include "nvsg/CgFx.h"
 #include "nvutil/IOLayer.h"
 #include "nvutil/SWMRSync.h"
 #include <string> // STL string

 using namespace nvsg;
 using namespace nvutil;
 using namespace nvutil::IO;

 std::string visualizeNormals(
   "float4x4 mvp : ModelViewProjection;                \n"
   "                                                   \n"
   "void vertex( float3 position : POSITION            \n"
   "           , float3 normal   : NORMAL              \n"
   "           , out float4 pos : POSITION             \n"
   "           , out float3 nor : TEXCOORD0 )          \n"
   "{                                                  \n"
   "  pos = mul(mvp, float4(position, 1.0f));          \n"
   "  nor = normal; // visualize object space normals  \n"
   "}                                                  \n"
   "                                                   \n"
   "float4 fragment ( float4 position : POSITION       \n"
   "                , float3 normal   : TEXCOORD0      \n"
   "                ) : COLOR                          \n"
   "{                                                  \n"
   "  float3 n = normalize(normal) * 0.5f + 0.5f;      \n"
   "  return float4(n, 1.0f);                          \n"
   "}                                                  \n"
   "                                                   \n"
   "technique t0                                       \n"
   "{                                                  \n"
   "  pass p0                                          \n"
   "  {                                                \n"
   "    VertexProgram   = compile latest vertex();     \n"
   "    FragmentProgram = compile latest fragment();   \n"
   "  }                                                \n"
   "}                                                  \n"
 );

 // create a CgFX State Attribute Handle through the reference counted interface.
 CgFxSharedPtr hCgfx(CgFx::create());
 {
   CgFxWriteLock cgfx( hCgfx );
   CgFxEffectWriteLock effect( cgfx->getEffect() );

   vector<string> searchPaths; // No searchPaths needed, shader code is self contained.
   std::string err;
   if ( !effect->createFromLump(visualizeNormals, searchPaths, err) )
   {
       errorMessage("effect creation failed", err, true);
       return false;
   }
   // effect creation succeeded - go ahead

 } // exit of scope release write access to cgfx and effect
 // ...
See also:
CgFx, CgFxEffect::createFromFile

NVSG_API bool isValid ( ) const

Returns whether the effect is valid.

Returns:
The function returns true if the effect is valid. If the effect is invalid, the function returns false.
Remarks:
An effect should be valid if it was previously created successfully. A render effect can be either created from a file using CgFxEffect::createFromFile, or alternatively from a string of source code using CgFxEffect::createFromLump.

This function primarily serves runtime checks to prevent an invalid effect from being applied to a geometry. Applying an invalid effect to a geometry results in undefined runtime behavior.
See also:
CgFxEffect::createFromFile, CgFxEffect::createFromLump

NVSG_API CGMcontext getContext ( ) const

Returns the CGMcontext associated with the effect.

Returns:
The function returns a handle to the CGMcontext that is associated with the effect.
Remarks:
Creating an effect requires a valid CGMcontext to be created in beforehand. The creation of a valid CGMcontext is wrapped by CgFxEffect::createFromFile and CgFxEffect::createFromLump . Therefore, the user does not need to take care of the CGMcontext creation by himself. However, one can think of situations where the application needs to call the Cg-runtime directly, in particular when it comes to device (e.g. OpenGL) dependent calls that require a valid CGMcontext handle as a parameter.

NVSG_API bool updateTransformState | ( | size_t | firstLabel,
 |  | size_t | secondLabel
 | ) |

Labels the current transform state.

Parameters:
firstLabel | First user defined label to identify a transform state.
secondLabel | Second user defined label to identify a transform state.
Returns:
If the specified label does not match the previously set label, the function returns true to indicate an invalid transform state. Otherwise the function returns false, indicating that no update of the transform state is required.
Remarks:
This function enables clients to label the current transform state for caching purposes. An altered transform state needs to be synch'ed to the render effect immediately prior to apply the effect. This function labels a client-side transform state and reports back whether the effect's transform state requires an update. The label passed in from the client is treated as 'user-defined', and is only taken for comparison purposes.

NVSG_API bool updateLightingState | ( | size_t | firstLabel,
 |  | size_t | secondLabel
 | ) |

Labels the current lighting state.

Parameters:
firstLabel | First user defined label to identify a lighting state.
secondLabel | Second user defined label to identify a lighting state.
Returns:
If the specified label does not match the previously set label, the function returns true to indicate an invalid lighting state. Otherwise the function returns false, indicating that no update of the lighting state is required.
Remarks:
This function enables clients to label the current lighting state for caching purposes. An altered lighting state needs to be synch'ed to the render effect immediately prior to apply the effect. This function labels a client-side lighting state and reports back whether the effect's lighting state requires an update. The label passed in from the client is treated as 'user-defined', and is only taken for comparison purposes.

NVSG_API bool updateMaterialState | ( | size_t | firstLabel,
 |  | size_t | secondLabel
 | ) |

Labels the current material state.

Parameters:
firstLabel | First user defined label to identify a material state.
secondLabel | Second user defined label to identify a material state.
Returns:
If the specified label does not match the previously set label, the function returns true to indicate an invalid material state. Otherwise the function returns false, indicating that no update of the material state is required.
Remarks:
This function enables clients to label the current material state for caching purposes. An altered material state needs to be synch'ed to the render effect immediately prior to apply the effect. This function labels a client-side material state and reports back whether the effect's material state requires an update. The label passed in from the client is treated as 'user-defined', and is only taken for comparison purposes.

NVSG_API bool updateSceneState | ( | size_t | firstLabel,
 |  | size_t | secondLabel
 | ) |

Labels the current scene state.

Parameters:
firstLabel | First user defined label to identify a scene state.
secondLabel | Second user defined label to identify a scene state.
Returns:
If the specified label does not match the previously set label, the function returns true to indicate an invalid scene state. Otherwise the function returns false, indicating that no update of the scene state is required.
Remarks:
This function enables clients to label the current scene state for caching purposes. An altered scene state needs to be synch'ed to the render effect immediately prior to apply the effect. This function labels a client-side scene state and reports back whether the effect's scene state requires an update. The label passed in from the client is treated as 'user-defined', and is only taken for comparison purposes.

NVSG_API bool isFromFile ( ) const

Returns whether the effect was created from a file.

Returns:
The function returns true if the effect was create from a CgFX source file. Otherwise, the function returns false.
Remarks:
A render effect can be created either from a CgFX source file using CgFxEffect::createFromFile, or alternatively from a string of CgFX source code using CgFxEffect::createFromLump.

Information on whether a certain effect was created from a file or a string could be useful, for example, for implementing a scene saver which probably needs to track this information.
See also:
CgFxEffect::createFromFile

NVSG_API bool isFromLump ( ) const

Returns whether the effect was created from a lump of CgFX source code.

Returns:
The function returns true if the effect was create from a lump of CgFX source code. Otherwise the function returns false.
Remarks:
A render effect can be either created from a CgFX source file using CgFxEffect::createFromFile, or alternatively from a string of CgFX source code using CgFxEffect::createFromLump.

Information on whether a certain effect was created from a file or a lump could be useful, for example, for implementing a scene saver which probably needs to track this information.
See also:
CgFxEffect::createFromLump

NVSG_API bool getFileName ( std::string & file ) const

Returns the file name of the CgFX source file from which the effect was created.

Parameters:
file Reference to a string that receives the file name of the source file.
Returns:
The function returns true if a source file name could be received successfully. Otherwise, the function returns false and file will receive an empty string.
Remarks:
If the function succeeds, the parameter file holds the path and file name of the particular CgFX source file from which the effect was previously created.

The function will fail if either the creation from file failed in beforehand, or if the effect was not created from a file but from a source string. You can use CgFxEffect::isFromFile to test whether the effect was created from a file.
Example:
 void printEffectFileName(const CgFx * cgfx)
 {
     // assumes cgfx is read locked
     CgFxEffectReadLock effect( cgfx->getEffect() );
     if ( effect->isFromFile() )
     {
         string filename;
         NVSG_VERIFY(effect->getFileName(filename));
         printf("The effect was created from %s\n", filename.c_str());
     }
     else
     {
         printf("The effect was not created from a file.\n");
     }
 }
See also:
CgFxEffect::isFromFile, CgFxEffect::createFromFile

NVSG_API bool getSourceCode ( std::string & code ) const

Returns CgFX source string from which the effect was created.

Parameters:
code Reference to a string that receives the string of CgFX source code.
Returns:
The function returns true if the source code could be received successfully. Otherwise, the function returns false and code will receive an empty string.
Remarks:
If the function succeeds, the parameter code holds the source code from which the effect was previously created through CgFxEffect::createFromLump.

The function will fail if either the creation from a source string failed beforehand, or if the effect was not created from a source string but from a file. You can use CgFxEffect::isFromLump to test whether the effect was created from a source string.
Example:
 void printEffectSources(const CgFx * cgfx)
 {
     // assumes cgfx is read locked
     CgFxEffectReadLock effect(cgfx->getEffect());
     if ( effect->isFromLump() )
     {
         string code;
         NVSG_VERIFY(effect->getSourceCode(code));
         printf("%s\n", code.c_str());
     }
     else
     {
         printf("The effect was not created from a source string.\n");
     }
 }
See also:
CgFxEfect::isFromLump, CgFxEffect::createFromLump

NVSG_API unsigned int getNumberOfParameterAnnotations ( CgFxParameter param ) const

Returns the number of annotations available for a specified parameter.

Parameters:
param Handle to the effect parameter from which to query the number of available annotations.
Returns:
The function returns the number of annotations available for the parameter specified by param.
Remarks:
The function is particularly useful if you need to iterate over all available annotations for a certain effect parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use getTweakable, getParameterByName, or getParameterBySemantic to get a valid handle to a specific effect parameter.
Example:
 void printParameterAnnotationNames(const CgFxEffect * effect, CgFxParameter param)
 {
     unsigned int numAnnos = effect->getNumberOfParameterAnnotations(param);
     for ( unsigned int i=0; i<numAnnos; ++i )
     {
         CgFxAnnotation anno = effect->getParameterAnnotation(param, i);
         printf("Annotation %d: %s\n", i, effect->getAnnotationName(anno).c_str());
     }
 }
See also:
CgFxEffect::getParameterAnnotation, CgFxEffect::getTweakable, CgFxEffect::getParameterByName, CgFxEffect::getParameterBySemantic

NVSG_API CgFxAnnotation getParameterAnnotation | ( | CgFxParameter | param,
 |  | unsigned int | index
 | ) | const

Returns the parameter annotation at the specified zero-based index.

Parameters:
param | Handle to the effect parameter from which to get the annotation.
index | Zero-based index of the annotation.
Returns:
The function returns a handle to the queried parameter annotation.
Remarks:
For example, to query an annotation's name, its value type, or its value, you need a handle to that annotation. This function is particularly useful if you don't know the exact names of a certain parameter's annotations. If you want to get a particular annotation that you know by name, it would be more effective to get the annotation by calling CgFxEffect::getParameterAnnotationByName instead.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

You should use the function always in conjunction with CgFxEffect::getNumberOfParameterAnnotations to secure always passing a valid index to the function. Passing an invalid index - that is, an index greater or equal to what CgFxEffect::getNumberOfParameterAnnotation returns for the specified parameter - would result in undefined runtime behavior.
Example:
 const CgFxEffect * effect;
 CgFxParameter param;
 [...]
 // Assume a valid read-locked effect and a valid parameter here
 unsigned int numAnnos = effect->getNumberOfParameterAnnotations(param);

 for ( unsigned int i=0; i<numAnnos; ++i )
 {
     CgFxAnnotation anno = effect->getParameterAnnotation(param, i);
     // proceed with annotation
     [...]
 }
See also:
CgFxEffec::getParameterAnnotationByName, CgFxEffect::getTweakable, CgFxEffect::getParameterByName, CgFxEffect::getParameterBySemantic

NVSG_API CgFxAnnotation getParameterAnnotationByName | ( | CgFxParameter | param,
 |  | const std::string & | name
 | ) | const

Returns an annotation of the specified parameter by name.

Parameters:
param | Handle to the effect parameter for which to get the named annotation.
name | A string holding the name of the annotation to query for.
Returns:
The function returns a valid annotation handle if a matching annotation was found. Otherwise, a NULL handle is returned to indicate that an annotation with the specified name could not be found.
Remarks:
To query a parameter annotation for a certain attributes such as its name, its value type, or its value, you need a valid handle to that annotation. Use this function if you know the annotation by name, or if you expect a certain kind of parameter to have a conventional annotation. For example a texture parameter often has the File annotation to hold the filename of the default texture file to load the texture image from. Or you might conventionally add a Description annotation to your effect parameters, which holds a general parameter description that you might offer to the user by means of a graphical user interface (GUI).

If you are not interested in a certain 'named' annotation but you want to access all available annotations for a certain parameter, you should use getParameterAnnotation instead, which accesses the available parameter annotations by a zero-based index.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use getTweakable, getParameterByName, or getParameterBySemantic to get a valid handle to a certain effect parameter.
Example:
 void printParameterDescription(const CgFxEffect * effect, CgFxParameter param)
 {
     CgFxAnnotation anno = effect->getParameterAnnotationByName(param, "Description");
     if ( anno )
     {
         // description should be a string
         NVSG_ASSERT(effect->isStringAnnotation(anno));
         std::string desc;
         effect->getStringAnnotationValue(anno, desc);
         printf("Description: %s\n", desc.c_str());
     }
 }
See also:
CgFxEffect::getParameterAnnotation, CgFxEffect::getTweakable, CgFxEffect::getParameterByName, CgFxEffect::getParameterBySemantic

NVSG_API unsigned int getNumberOfTechniqueAnnotations ( CgFxTechnique tech ) const

Returns the number of annotations available for a specified technique.

Parameters:
tech Handle to the technique from which to query the number of available annotations.
Returns:
The function returns the number of annotations available for the technique specified by tech.
Remarks:
The function is particularly useful if you need to iterate over all available annotations for a certain technique.

Calling this function for an invalid technique handle results in undefined runtime behavior. You can use getTechnique or getTechniqueByName to get a valid handle to a certain technique.
Example:
 void printTechniqueAnnotationNames(const CgFxEffect * effect, CgFxTechnique tech)
 {
     unsigned int numAnnos = effect->getNumberOfTechniqueAnnotations(tech);
     for ( unsigned int i=0; i<numAnnos; ++i )
     {
         CgFxAnnotation anno = effect->getTechniqueAnnotation(tech, i);
         printf("Annotation %d: %s\n", i, effect->getAnnotationName(anno).c_str());
     }
 }
See also:
CgFxEffect::getTechniqueAnnotation, CgFxEffect::getTechnique, CgFxEffect::getTechniqueByName

NVSG_API CgFxAnnotation getTechniqueAnnotation | ( | CgFxTechnique | tech,
 |  | unsigned int | index
 | ) | const

Returns the technique annotation at the specified zero-based index.

Parameters:
tech | Handle to the technique from which to get the annotation.
index | Zero-based index of the annotation.
Returns:
The function returns a handle to the queried technique annotation.
Remarks:
For example, to query an annotation's name, its value type, or its value, you need a handle to that annotation. This function is particularly useful if you don't know the exact names of a certain technique's annotations. If you want to get a particular annotation that you know by name, it would be more effective to get the annotation by calling getTechniqueAnnotationByName instead.

Calling this function for an invalid technique handle results in undefined runtime behavior. You can use getTechnique or getTechniqueByName to get a valid handle to a certain technique.

You should use the function always in conjunction with getNumberOfTechniqueAnnotations to secure always passing a valid index to the function. Passing an invalid index - that is, an index greater or equal to what getNumberOfTechniqueAnnotation returns for the specified technique - would result in undefined runtime behavior.
Example:
 const CgFxEffect * effect;
 CgFxTechnique tech;
 [...]
 // assume a valid read-locked effect and a valid technique here
 unsigned int numAnnos = effect->getNumberOfTechniqueAnnotations(tech);

 for ( unsigned int i=0; i<numAnnos; ++i )
 {
     CgFxAnnotation anno = effect->getTechniqueAnnotation(tech, i);
     // proceed with annotation
     [...]
 }
See also:
CgFxEffec::getTechniqueAnnotationByName, CgFxEffect::getTechnique, CgFxEffect::getTechniqueByName

NVSG_API CgFxAnnotation getTechniqueAnnotationByName | ( | CgFxTechnique | tech,
 |  | const std::string & | name
 | ) | const

Returns an annotation of the specified technique by name.

Parameters:
tech | Handle to the technique for which to get the named annotation.
name | A string holding the name of the annotation to query for.
Returns:
The function returns a valid annotation handle if a matching annotation was found. Otherwise a NULL handle is returned to indicate that an annotation with the specified name could not be found.
Remarks:
To query a technique annotation for a certain attribute such as its name, its value type, or its value, you need a valid handle to that annotation. Use this function if you know the annotation by name, or if you expect a technique to have a conventional annotation. For example, you might conventionally add a Description annotation to your techniques, which holds a general technique description that you might offer to the user by means of a graphical user interface (GUI).

If you are not interested in a certain 'named' annotation but you want to access all available annotations for a certain technique, you should use getTechniqueAnnotation instead, which accesses the available technique annotations by a zero-based index.

Calling this function for an invalid technique handle results in undefined runtime behavior. You can use getTechnique or getTechniqueByName to get a valid handle to a certain technique.
Example:
 void printTechniqueDescription(const CgFxEffect * effect, CgFxTechnique tech)
 {
     CgFxAnnotation anno = effect->getTechniqueAnnotationByName(tech, "Description");
     if ( anno )
     {
         // description should be a string
         NVSG_ASSERT(effect->isStringAnnotation(anno));
         std::string desc;
         effect->getStringAnnotationValue(anno, desc);
         printf("Description: %s\n", desc.c_str());
     }
 }
See also:
CgFxEffect::getTechniqueAnnotation, CgFxEffect::getTechnique, CgFxEffect::getTechniqueByName

NVSG_API unsigned int getNumberOfPassAnnotations ( CgFxPass pass ) const

Returns the number of annotations available for a specified render pass.

Parameters:
pass Handle to the pass from which to query the number of available annotations.
Returns:
The function returns the number of annotations available for the render pass specified by pass.
Remarks:
The function is particularly useful if you need to iterate over all annotations available for a certain render pass.

Calling this function for an invalid pass handle results in undefined runtime behavior. You can use getPass or getPassByName to get a valid handle to a certain render pass.
Example:
 void printPassAnnotationNames(const CgFxEffect * effect, CgFxPass pass)
 {
     unsigned int numAnnos = effect->getNumberOfPassAnnotations(pass);
     for ( unsigned int i=0; i<numAnnos; ++i )
     {
         CgFxAnnotation anno = effect->getPassAnnotation(pass, i);
         printf("Annotation %d: %s\n", i, effect->getAnnotationName(anno).c_str());
     }
 }
See also:
CgFxEffect::getPassAnnotation, CgFxEffect::getPass, CgFxEffect::getPassByName

NVSG_API CgFxAnnotation getPassAnnotation | ( | CgFxPass | pass,
 |  | unsigned int | index
 | ) | const

Returns the pass annotation at the specified zero-based index.

Parameters:
pass | Handle to the pass from which to get the annotation.
index | Zero-based index of the annotation.
Returns:
The function returns a handle to the queried pass annotation.
Remarks:
For example, to query an annotation's name, its value type, or its value, you need a handle to that annotation. This function in particular is useful if you don't know the exact names of a certain pass's annotations. If you want to get a particular annotation that you know by name, it would be more effective to get the annotation by calling getTechniqueAnnotationByName instead.

Calling this function for an invalid pass handle results in undefined runtime behavior. You can use getPass or getPassByName to get a valid handle to a certain render pass.

You should use the function always in conjunction with getNumberOfPassAnnotations to avoid passing an invalid index to the function. Passing an invalid index - , that is, an index greater or equal to what getNumberOfPassAnnotation returns for the specified pass - would result in undefined runtime behaviour.
Example:
 const CgFxEffect * effect;
 CgFxPass pass;
 [...]
 // assume a valid read-locked effect and a valid pass here
 unsigned int numAnnos = effect->getNumberOfPassAnnotations(pass);

 for ( unsigned int i=0; i<numAnnos; ++i )
 {
     CgFxAnnotation anno = effect->getPassAnnotation(pass, i);
     // proceed with annotation
     [...]
 }
See also:
CgFxEffec::getPassAnnotationByName, CgFxEffect::getPass, CgFxEffect::getPassByName

NVSG_API CgFxAnnotation getPassAnnotationByName | ( | CgFxPass | pass,
 |  | const std::string & | name
 | ) | const

Returns an annotation of the specified pass by name.

Parameters:
pass | Handle to the render pass for which to get the named annotation.
name | A string holding the name of the annotation to query for.
Returns:
The function returns a valid annotation handle if a matching annotation was found. Otherwise a NULL handle is returned to indicate that an annotation with the specified name could not be found.
Remarks:
To query a pass annotation for a certain attributes such as its name, its value type, or its value, you need a valid handle to that annotation. Use this function if you know the annotation by name, or if you expect a render pass to have a conventional annotation. For example, you might conventionally add a Description annotation to your render passes, which holds a general pass description that you might offer to the user by means of a graphical user interface (GUI).

If you are not interested in a certain 'named' annotation but you want to access all annotations available for a certain pass, you should use getPassAnnotation instead, which accesses the available pass annotations by a zero-based index.

Calling this function for an invalid pass handle results in undefined runtime behavior. You can use getPass or getPassByName to get a valid handle to a certain render pass.
Example:
 void printPassDescription(const CgFxEffect * effect, CgFxPass pass)
 {
     CgFxAnnotation anno = effect->getPassAnnotationByName(pass, "Description");
     if ( anno )
     {
         // description should be a string
         NVSG_ASSERT(effect->isStringAnnotation(anno));
         std::string desc;
         effect->getStringAnnotationValue(anno, desc);
         printf("Description: %s\n", desc.c_str());
     }
 }
See also:
CgFxEffect::getPassAnnotation, CgFxEffect::getPass, CgFxEffect::getPassByName

NVSG_API const std::string& getAnnotationName ( CgFxAnnotation anno ) const

Returns the name of the specified annotation.

Parameters:
anno Handle to the annotation for which to get the name.
Returns:
The function returns a reference to a string holding the annotation's name as specified in the CgFx effect sources.

Annotations can be optionally added to effect parameters, to techniques, or to render passes. Annotations are thought to provide additional information that might be useful for certain applications. For an effect technique, for example, the effect writer could add an optional Description annotation that describes exactly what the technique does.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For a CgFxParameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
See also:
CgFxEffect::getParameterAnnotation, CgFxEffect::GetTechniqueAnnotation, CgFxEffect::getPassAnnotation

NVSG_API const std::string& getAnnotationTypeString ( CgFxAnnotation anno ) const

Returns the type string of the specified annotation's value.

Parameters:
anno Handle to the annotation for which to get the type string.
Returns:
The function returns a reference to a string holding annotation value's type string. For a string-type annotation, for example, this would be "string".
Remarks:
Each annotation has a value of a certain type. Use this function if you need this value as a string.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For a CgFxParameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
See also:
CgFxEffect::getParameterAnnotation, CgFxEffect::GetTechniqueAnnotation, CgFxEffect::getPassAnnotation

NVSG_API bool isFloatAnnotation ( CgFxAnnotation anno ) const

Returns whether the specified annotation is a float-type annotation.

Parameters:
anno Handle to the annotation to query.
Returns:
The function returns true if the annotations value is of type float. Otherwise, the function returns false.
Remarks:
To query an annotation value, you must know the value type and then call the corresponding 'getValue' function to receive the value. For a float-type annotation value, for example, you must call CgFxEffect::getFloatAnnotationValue, whereas for a string-type annotation value you must call CgFxEffect::getStringAnnotationValue to get the value.

This function tells you if the annotation value is a float-type value. It does not tell you how many components - that is, how many single float values - the value has. To determine this, you additioally need to call CgFxEffect::getNumberOfAnnotationValueComponents.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
Example:
 const CgFxEffect * effect;
 CgFxAnnotation anno;
 // ...
 // assume a valid read-locked effect and a valid annotation handle here
 if ( effect->isFloatAnnotation(anno) )
 {
     if ( 1==effect->getNumberOfAnnotationValueComponents(anno) )
     {
         // its a single float value
         float value;
         effect->getFloatAnnotationValue(anno, &value);
         printf("Value: %f\n", value);
     }
     else
     {
       // more components ...
     }
 }
 // other type
 else
 // ...
See also:
CgFxEffect::getFloatAnnotationValue, CgFxEffect::getNumberOfAnnotationValueComponents

NVSG_API bool isIntAnnotation ( CgFxAnnotation anno ) const

Returns whether the specified annotation is a integer-type annotation.

Parameters:
anno Handle to the annotation to query.
Returns:
The function returns true if the annotations value is of type int. Otherwise, the function returns false.
Remarks:
To query an annotation value, you must know the value type and then call the corresponding 'getValue' function to receive the value. For a integer-type annotation value, for example, you must call CgFxEffect::getIntAnnotationValue, whereas for a string-type annotation value you must call CgFxEffect::getStringAnnotationValue to get the value.

This function tells you if the annotation value is a integer-type value. It does not tell you how many components - that is, how many single integer values - the value has. To determine this, you additionally need to call CgFxEffect::getNumberOfAnnotationValueComponents.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
Example:
 const CgFxEffect * effect;
 CgFxAnnotation anno;
 // ...
 // assume a valid read-locked effect and a valid annotation handle here
 if ( effect->isIntAnnotation(anno) )
 {
     if ( 4==effect->getNumberOfAnnotationValueComponents(anno) )
     {
         // its a 4-component integer value
         int value[4]; // array to receive the 4-component integer value
         effect->getIntAnnotationValue(anno, value);
         printf("Value: %d, %d, %d, %d\n", value[0], value[1], value[2], value[3]);
     }
     else
     {
       // ...
     }
 }
 // other type
 else
 // ...
See also:
CgFxEffect::getIntAnnotationValue, CgFxEffect::getNumberOfAnnotationValueComponents

NVSG_API bool isBoolAnnotation ( CgFxAnnotation anno ) const

Returns whether the specified annotation is a boolean-type annotation.

Parameters:
anno Handle to the annotation to query.
Returns:
The function returns true if the annotations value is of type 32-bit bool. Otherwise, the function returns false.
Remarks:
To query an annotation value, you must know the value type and then call the corresponding 'getValue' function to receive the value. For a boolean-type annotation value, for example, you must call CgFxEffect::getBoolAnnotationValue, whereas for a string-type annotation value you must call CgFxEffect::getStringAnnotationValue to get the value.

This function tells you if the annotation value is a boolean-type value. It does not tell you how many components - that is, how many single integer values - the value has. To determine this, you additionally need to call CgFxEffect::getNumberOfAnnotationValueComponents.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
Example:
 const CgFxEffect * effect;
 CgFxAnnotation anno;
 // ...
 // assume a valid read-locked effect and a valid annotation handle here
 if ( effect->isBoolAnnotation(anno) )
 {
     if ( 1==effect->getNumberOfAnnotationValueComponents(anno) )
     {
         // its a 1-component 32-bit boolean value
         int value; // value to receive the 1-component 32-bit boolean value
         effect->getBoolAnnotationValue(anno, &value);
         printf("Value: %s\n", value ? "TRUE" : "FALSE");
     }
     else
     {
       // ...
     }
 }
 // other type
 else
 // ...
See also:
CgFxEffect::getBoolAnnotationValue, CgFxEffect::getNumberOfAnnotationValueComponents

NVSG_API bool isStringAnnotation ( CgFxAnnotation anno ) const

Returns whether the specified annotation is a string-type annotation.

Parameters:
anno Handle to the annotation to query.
Returns:
The function returns true if the annotations value is of type string. Otherwise, the function returns false.
Remarks:
To query an annotation value, you must know the value type and then call the corresponding 'getValue' function to receive the value. For a string-type annotation value, for example, you must call CgFxEffect::getStringAnnotationValue, whereas for a float-type annotation value you must call CgFxEffect::getFloatAnnotationValue to get the value.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter for example, you can use getParameterAnnotation to get a valid annotation handle.
Example:
 const CgFxEffect * effect;
 CgFxAnnotation anno;
 // ...
 // assume a valid read-locked effect and a valid annotation handle here
 if ( effect->isStringAnnotation(anno) )
 {
     // its a string value
     std::string value; // value to receive the string
     effect->getStringAnnotationValue(anno, value);
     printf("Value: %s\n", value.c_str());
 }
 // other type
 else
 // ...
See also:
CgFxEffect::getBoolAnnotationValue, CgFxEffect::getNumberOfAnnotationValueComponents

NVSG_API unsigned int getAnnotationValueSize ( CgFxAnnotation anno ) const

Returns the size in bytes of the annotation value.

Parameters:
anno Handle to the annotation to query.
Returns:
The function returns the size in bytes of the annotation value.
Remarks:
To receive an annotation value the user must provide a value buffer large enough to hold the value. This function can be used to determine how large the receiving buffer needs to be in bytes.

Alternatively, you can use CgFxEffect::getNumberOfAnnotationValueComponents together with the value's type information (e.g. CgFxEffect::isFloatAnnotation) to determine the size of the receiving value buffer.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter for example, you can use getParameterAnnotation to get a valid annotation handle.
See also:
CgFxEffect::getNumberOfAnnotationValueComponents

NVSG_API unsigned int getNumberOfAnnotationValueComponents ( CgFxAnnotation anno ) const

Returns the number of components the annotation value has.

Parameters:
anno Handle to the annotation to query.
Returns:
The function returns the number of value components. An annotation of type float4, for example, has 4 value components.
Remarks:
To receive an annotation value the user must provide a value buffer large enough to hold the value. This function together with the value type information ( e.g. CgFxEffect::isFloatAnnotation" can be used to determine how large the receiving buffer needs to be.

Note that this function is meaningful only for numeric value types like float, integer, or boolean types. For string annotations the value will be received in a STL string object (see CgFxEffect::getStringAnnotationValue) instead of a plain value buffer.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
See also:
CgFxEffect::getAnnotationValueSize

NVSG_API bool getFloatAnnotationValue | ( | CgFxAnnotation | anno,
 |  | float * | value
 | ) | const

Returns the value of a float-type annotation.

Parameters:
anno | Handle to the float-type annotation to get the value from.
value | Pointer to a float buffer that will receive the annotation value.
Returns:
The function returns true if the value successfully could have copied to the value buffer. Otherwise, the function returns false.
Remarks:
The function is dedicated to be used with float-type annotations only. The function returns false if it is called for other than float-type annotations. Use CgFxEffect::isFloatAnnotation to determine whether the annotation is a float-type annotation.

The caller must provide a buffer large enough to hold the annotation value. Use either CgFxEffect::getNumberOfAnnotationValueComponents or CgFxEffect::getAnnotationValueSize to determine the required size for the buffer to receive the value.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.

The behavior also is undefined if either the pointer to the value buffer is invalid, or the buffer behind is not large enough to hold the annotation value.
See also:
CgFxEffect::isFloatAnnotation, CgFxEffect::getNumberOfAnnotationValueComponents, CgFxEffect::getAnnotationValueSize

NVSG_API bool getIntAnnotationValue | ( | CgFxAnnotation | anno,
 |  | int * | value
 | ) | const

Returns the value of a integer-type annotation.

Parameters:
anno | Handle to the integer-type annotation to get the value from.
value | Pointer to an integer buffer that will receive the annotation value.
Returns:
The function returns true if the value successfully could have copied to the value buffer. Otherwise, the function returns false.
Remarks:
The function is dedicated to be used with integer-type annotations only. The function returns false if it is called for other than integer-type annotations. Use CgFxEffect::isIntAnnotation to determine whether the annotation is an integer-type annotation.

The caller must provide a buffer large enough to hold the annotation value. Use either CgFxEffect::getNumberOfAnnotationValueComponents or CgFxEffect::getAnnotationValueSize to determine the required size for the buffer to receive the value.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.

The behavior also is undefined if either the pointer to the value buffer is invalid, or the buffer behind is not large enough to hold the annotation value.
See also:
CgFxEffect::isIntAnnotation, CgFxEffect::getNumberOfAnnotationValueComponents, CgFxEffect::getAnnotationValueSize

NVSG_API bool getBoolAnnotationValue | ( | CgFxAnnotation | anno,
 |  | int * | value
 | ) | const

Returns the value of a boolean-type annotation.

Parameters:
anno | Handle to the boolean-type annotation to get the value from.
value | Pointer to an integer buffer that will receive the annotation value.
Returns:
The function returns true if the value successfully could have copied to the value buffer. Otherwise, the function returns false.
Remarks:
The function is dedicated to be used with boolean-type annotations only. The function returns false if it is called for other than boolean-type annotations. Use CgFxEffect::isBoolAnnotation to determine whether the annotation is a boolean-type annotation.

The caller must provide a buffer large enough to hold the annotation value. Use either CgFxEffect::getNumberOfAnnotationValueComponents or CgFxEffect::getAnnotationValueSize to determine the required size for the buffer to receive the value. Keep in mind that a boolean in this context is a 32-bit integer value!

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.

The behavior also is undefined if either the pointer to the value buffer is invalid, or the buffer behind is not large enough to hold the annotation value.
See also:
CgFxEffect::isBoolAnnotation, CgFxEffect::getNumberOfAnnotationValueComponents, CgFxEffect::getAnnotationValueSize

NVSG_API bool getStringAnnotationValue | ( | CgFxAnnotation | anno,
 |  | std::string & | value
 | ) | const

Returns the value of a string-type annotation.

Parameters:
anno | Handle to the string-type annotation to get the value from.
value | Reference to a STL string that receives the value
Returns:
The function returns true if the string value could have assigned to value. Otherwise, the function returns false.
Remarks:
The function is dedicated to be used with string-type annotations only. The function returns false if it is called for other than string-type annotations. Use CgFxEffect::isStringAnnotation to determine whether the annotation is a string-type annotation.

Calling this function for an invalid annotation handle results in undefined runtime behavior. For an effect parameter, for example, you can use getParameterAnnotation to get a valid annotation handle.
See also:
CgFxEffect::isStringAnnotation

NVSG_API const std::string& getParameterName ( CgFxParameter param ) const

Returns the name of the specified effect parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns a reference to a const STL string that holds the parameter name.
Remarks:
The parameter name will be received as specified in the CgFX sources.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getTweakable, CgFxEffect::getParameterByName, CgFxEffect::getParameterBySemantic

NVSG_API const std::string& getParameterSemantic ( CgFxParameter param ) const

Returns the semantic of the specified effect parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns a reference to a const STL string that holds the semantic.
Remarks:
The parameter semantic will be received as specified in the CgFX sources.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getTweakable, CgFxEffect::getParameterByName, CgFxEffect::getParameterBySemantic

NVSG_API const std::string& getParameterTypeString ( CgFxParameter param ) const

Returns the type of the specified parameter as string.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns a reference to a const STL string that holds the type string. For a float4-type parameter, for example, this would be "float4".
Remarks:
Each parameter is of a certain type. Use this function if you need this type as a string.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getTweakable, CgFxEffect::getParameterByName, CgFxEffect::getParameterBySemantic

NVSG_API CgFxParameter getParameterByName ( const std::string & name ) const

Returns an effect parameter by name.

Parameters:
name Specifies the name of the desired effect parameter.
Returns:
The function returns a valid parameter handle if a parameter with the specified name was found in the effect. Otherwise, NULL is returned to indicate that an effect parameter with the specified name could not be found.
Remarks:
The function case-sensitive looks up the effect parameter by its name. Note that for SceniX only tweakables and sampler parameters are considered effect parameters! Parameters that automatically get connected to objects in the scene graph, like NVSGLight, NVSGMaterial, NVSGScene, MetaSL specific light parameters as
 '__light<N>_position',
    * '__light<N>_direction', and '__light<N>_type',
and transform parameters, can not be queried using this function.

The parameters of an effect can be retrieved directly by name using this function. The names of the parameters in an effect can be discovered by iterating through the effect parameters (see e.g. CgFxEffect::getNumberOfTweakables and CgFxEffect::getTweakable), and calling CgFxEffect::getParameterName for each parameter in turn.
Example:
The parameter name does not have to be a complete name for a leaf node parameter. For example, if you have a CgFX effect with the following parameters:
 struct FooStruct
 {
     float4 A;
     float4 B;
 };

 struct BarStruct
 {
     FooStruct Foo[2];
 };

 BarStruct Bar[3];
The following leaf-node parameters will be generated:
 Bar[0].Foo[0].A
 Bar[0].Foo[0].B
 Bar[0].Foo[1].A
 Bar[0].Foo[1].B
 Bar[1].Foo[0].A
 Bar[1].Foo[0].B
 Bar[1].Foo[1].A
 Bar[1].Foo[1].B
 Bar[2].Foo[0].A
 Bar[2].Foo[0].B
 Bar[2].Foo[1].A
 Bar[2].Foo[1].B
A handle to any of the non-leaf arrays or structs can be directly obtained by using the appropriate name. The following are a few examples of valid names that may be used with CgFxEffect::getParameterByName given the above example CgFX effect:
 "Bar"
 "Bar[1]"
 "Bar[1].Foo"
 "Bar[1].Foo[0]"
 "Bar[1].Foo[0].B"
 ...
See also:
CgFxEffect::getNumberOfTweakables, CgFxEffect::getTweakable

NVSG_API CgFxParameter getParameterBySemantic ( const std::string & semantic ) const

Returns an effect parameter by semantic.

Parameters:
semantic Specifies the semantic of the desired effect parameter.
Returns:
The function returns a valid parameter handle if a matching effect parameter was found. Otherwise, NULL is returned to indicate that an effect parameter with the specified semantic could not be found.
Remarks:
The function case-sensitive looks up the effect parameter by it's optional semantic. Note that for SceniX only tweakables and sampler parameters are considered effect parameters! Parameters that automatically get connected to objects in the scene graph, like NVSGLight, NVSGMaterial, NVSGScene, MetaSL specific light parameters as
 '__light<N>_position',
    * '__light<N>_direction', and '__light<N>_type',
and transform parameters, can not be queried using this function.
See also:
CgFxEffect::getParameterByName

NVSG_API unsigned int getNumberOfArrayParameterElements ( CgFxParameter param ) const

Returns the array size of the specified array parameter.

Parameters:
param Handle to the array parameter to query.
Returns:
The function returns the number of array elements - that is,the size of the array.
Remarks:
This function in conjunction with CgFxEffect::getArrayParameterElement can be used to iterate through the elements of an array parameter.

Calling this function for other than array parameters results in undefined behavior. Use CgFxEffect::isArrayParameter to determine whether the parameter is an array parameter.
See also:
CgFxEffect::getArrayParameterElement

NVSG_API CgFxParameter getArrayParameterElement | ( | CgFxParameter | param,
 |  | unsigned int | index
 | ) | const

Returns the array element at a specified zero-based index.

Parameters:
param | Handle to the array parameter to retrieve the specified element from.
index | Zero-based index of the array element to retrieve.
Returns:
The function returns a handle to the index-th element of the specified array parameter.
Remarks:
Use this function to get the single elements of the specified array parameter. You should use this function always in conjunction with CgFxEffect::getNumberOfArrayParameterElements to avoid passing an invalid element index to the function. Passing an invalid index - that is, an index greater or equal to what CgFxEffect::GetNumberOfArrayParameterElements returns - results in undefined runtime behavior.

Calling this function for other than array parameters also results in undefined behavior. Use CgFxEffect::isArrayParameter to determine whether the parameter is an array parameter.
See also:
CgFxEffect::getArrayParameterElement, CgFxEffect::GetNumberOfArrayParameterElements

NVSG_API unsigned int getNumberOfStructParameterMembers ( CgFxParameter param ) const

Returns the number of members for the specifies struct parameter.

Parameters:
param Handle to the struct parameter to query.
Returns:
The function returns the number of struct members
Remarks:
This function in conjunction with CgFxEffect::getStructParameterMember supports iterating through the members of a struct parameter. For direct access to a named struct parameter it is recommend to use CgFxEffect::getStructParameterMemberByName instead.

Calling this function for others than struct parameters results in undefined behavior. Use CgFxEffect::isStructParameter to determine whether the parameter is a struct parameter.
See also:
CgFxEffect::getStructParameterMember, CgFxEffect::getStructParameterMemberByName

NVSG_API CgFxParameter getStructParameterMember | ( | CgFxParameter | param,
 |  | unsigned int | index
 | ) | const

Returns the struct member at a specified zero-based index.

Parameters:
param | Handle to the struct parameter from which to retrieve the member.
index | Zero-based index of the struct member.
Returns:
The function returns a handle to the index-th struct member.
Remarks:
Use this function together with CgFxEffect::getNumberOfStructParameterMembers to iterate through a struct parameter's members. Note that the function does not guarantee to preserve the order of struct members as specified in the struct definition. For direct access to a named struct parameter it is recommended to use CgFxEffect::getStructParameterMemberByName instead.

Calling this function for others than struct parameters results in undefined behavior. Use CgFxEffect::isStructParameter to determine whether the parameter is a struct parameter.

Passing an invalid index to the function also results in undefined behavior. Use CgFxEffect::getNumberOfStructParameterMembers to determine a valid range for the index to pass.
See also:
CgFxEffect::getNumberOfStructParameterMembers, CgFxEffect::getStructParameterMemberByName

NVSG_API CgFxParameter getStructParameterMemberByName | ( | CgFxParameter | param,
 |  | const std::string & | member
 | ) | const

Returns a struct member by name.

Parameters:
param | Handle to the struct parameter to retrieve the member from.
member | Name of the struct member to retrieve.
Returns:
The function returns a valid parameter handle to the to the struct member if the look-up was successful. Otherwise, the function returns NULL to indicate that a member with the specified name does not exist for the struct parameter.
Remarks:
The function case-sensitive looks up the struct member by name. Note that names of struct members need to be fully qualified to successfully look up the member!

To retrieve the names of a struct parameter's members you can iterate through the members of a struct parameter using CgFxEffect::getNumberOfStructParameterMembers and CgFxEffect::getStructParameterMember, and then call CgFxEffect::getParameterName for each in turn.

Calling this function for other than struct parameters results in undefined behavior. Use CgFxEffect::isStructParameter to determine whether the parameter is a struct parameter.
Example:
If a struct type is defined as follows:
 struct FooStruct
 {
     float4 a;
     float3 b;
 };
And you have defined a parameter of type FooStruct as follows:
 FooStruct foo;
The right way to look up the member 'b' would be to fully qualify its name:

 CgFxParameter fooB = effect->getStructParameterMemberByName(param, "foo.b");

Equivalent for an array of FooStructs:

 FooStruct bar[5];

The right way to look up the member 'b' of the first array element would be again to fully qualify its name:

 CgFxParameter barB = effect->getStructParameterMemberByName(param, "bar[0].b");

See also:
CgFxEffect::getNumberOfStructParameterMembers, CgFxEffect::getStructParameterMember

NVSG_API unsigned int getParameterValueSize ( CgFxParameter param ) const

Returns the size in bytes of the parameter value.

Parameters:
param Handle to the parameter to retrieve the value size from.
Returns:
The function returns the size in bytes of the parameter value.
Remarks:
To get parameter values, the caller needs to provide a buffer large enough to receive the value. Use this function to determine the amount of bytes the parameter value consumes. Alternatively you can use CgFxEffect::getNumberOfParameterValueComponents together with the parameter's type information (e.g. CgFxEffect::isFloatParameter, or CgFxEffect::isIntParameter) to determine what size the receiving buffer needs to be.

Note that only leaf parameters have a value. For example, a struct parameter has no concrete value (hence, CgFxEffect::getParameterValueSize would return 0) but the struct members, if they are leaf parameters, have a value.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getNumberOfParameterValueComponents

NVSG_API unsigned int getNumberOfParameterValueComponents ( CgFxParameter param ) const

Returns the number of components the parameter value has. Returns the number of components the parameter value has.

Parameters:
param Handle to the parameter to query
Returns:
The function returns the number of components the parameter value has. A parameter of type float4, for example, has 4 value components.
Remarks:
This function makes sense for numerical parameters only, as they can have multiple components (e.g. vectors or matrices).

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getParameterValueSize

NVSG_API bool isScalarParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a scalar-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a scalar-type parameter, that is - a single component, numerical type. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isVector2Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 2-component vector-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 2-component vector-type parameter, that is - a 2-component, numerical type. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isVector3Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 3-component vector-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 3-component vector-type parameter, that is - a 3-component, numerical type. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isVector4Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 4-component vector-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 4-component vector-type parameter, that is - a 4-component, numerical type. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix22Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 2x2 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 2x2 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix23Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 2x3 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 2x3 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix24Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 2x4 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 2x4 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix32Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 3x2 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 3x2 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix33Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 3x3 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 3x3 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix34Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 3x4 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 3x4 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix42Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 4x2 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 4x2 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix43Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 4x3 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 4x3 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isMatrix44Parameter ( CgFxParameter param ) const

Returns whether the specified parameter is a 4x4 matrix-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a 4x4 matrix-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isFloatParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a float-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a float-type parameter (e.g. float, float2, float3, float4x4, ...). Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isIntParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a integer-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a integer-type parameter (e.g. int, int2, int4x4, ...). Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isBoolParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a boolean-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a integer-type parameter (e.g. bool, bool2, bool4x4, ...). Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isStringParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a string-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a string-type parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSamplerParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a sampler-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a sampler-type parameter, that is - either sampler1D, sampler2D, sampler3D, samplerRECT, samplerCUBE or samplerBUF. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSampler1DParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a sampler1D-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a sampler1D-type parameter. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. The 1D suffix for the sampler1D type indicates that the texture is a conventional one-dimensional texture.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSampler2DParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a sampler2D-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a sampler2D-type parameter. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. The 2D suffix for the sampler2D type indicates that the texture is a conventional two-dimensional texture.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSampler3DParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a sampler3D-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a sampler3D-type parameter. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. The 3D suffix for the sampler2D type indicates that the texture is a conventional three-dimensional texture.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSamplerRectParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a samplerRECT-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a samplerRECT-type parameter. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. The RECT suffix for the samplerRECT type indicates that the texture is a rectangular (non-power-of-two) texture.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSamplerCubeParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a samplerCUBE-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a samplerCUBE-type parameter. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. The CUBE suffix for the samplerCUBE type indicates that the texture is a cube map.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSamplerBufParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a samplerBUF-type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a samplerBUF-type parameter. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. The BUF suffix for the samplerCUBE type indicates that the texture is a buffer.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isSamplerArrayParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a sampler array type parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a sampler array. Otherwise, the function returns false.
Remarks:
A sampler in Cg refers to an external object that Cg can sample, such as a texture. Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isBufferedParameter ( CgFxParameter param ) const

Returns whether the specified parameter is part of a CgFxBuffer.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a buffered parameter. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.

NVSG_API bool isLightParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a light parameter.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter is a light parameter. Otherwise, the function returns false.
Remarks:
Light Parameters fall into the category of Auto-connected Effect Parameters.

NVSG_API bool isLightPositionParameter ( CgFxParameter param ) const

Returns wheteher the specified parameter represents a light position.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter represents a light position.
Remarks:
Light Position Parameters fall into the category of Auto-connected Effect Parameters.

NVSG_API bool isLightDirectionParameter ( CgFxParameter param ) const

Returns wheteher the specified parameter represents a light direction.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter represents a light direction.
Remarks:
Light Direction Parameters fall into the category of Auto-connected Effect Parameters.

NVSG_API bool isLightTypeParameter ( CgFxParameter param ) const

Returns wheteher the specified parameter represents a light type.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter represents a light type.
Remarks:
Light Type Parameters fall into the category of Auto-connected Effect Parameters.

NVSG_API bool isLightArrayParameter ( CgFxParameter param ) const

Returns whether the specified parameter specifies an array of light parameters.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter specifies an array of Light Parameters. Otherwise, the function returns false.
Remarks:
Light Parameters fall into the category of Auto-connected Effect Parameters.

NVSG_API bool isDynamicLightArrayParameter ( CgFxParameter param ) const

Returns whether the specified parameter specifies a dynamic array of light parameters.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter specifies a dynamic array of Light Parameters. Otherwise, the function returns false.
Remarks:
Light Parameters fall into the category of Auto-connected Effect Parameters.

NVSG_API bool isMaterialParameter ( CgFxParameter param ) const

Returns whether the specified parameter represents a Material Parameter.

Parameters:
param Parameter to query.
Returns:
The function returns true if param is a material parameter. Otherwise, the function returns false.
Remarks:
A Material Parameter falls into the category of Auto-connected Effect Parameters.

NVSG_API bool isSceneParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a Scene Parameter.

Parameters:
param Parameter to query.
Returns:
The function returns true if param represents a scene parameter. Otherwise, the function returns false.
Remarks:
A Scene Parameter falls into the category of Auto-connected Effect Parameters.

NVSG_API bool isTransformParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a transform parameter.

Parameters:
param Parameter to query.
Returns:
The function returns true if the specified parameter is a transform parameter. Otherwise the function returns false.
Remarks:
A transform parameter falls into the category of Auto-connected Effect Parameters.

NVSG_API bool isArrayParameter ( CgFxParameter param ) const

Returns whether the specified parameter is an array parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is an array parameter. Otherwise, the function returns false.
See also:
CgFxEffect::getNumberOfArrayParameterElements, CgFxEffect::getArrayParameterElement

NVSG_API bool isStructParameter ( CgFxParameter param ) const

Returns whether the specified parameter is a struct parameter.

Parameters:
param Handle to the parameter to query.
Returns:
The function returns true if the specified parameter is a struct parameter. Otherwise the function returns false.
See also:
CgFxEffect::getNumberOfStructParameterMembers, CgFxEffect::getStructParameterMember, CgFxEffect::getStructParameterMemberByName

NVSG_API unsigned int getNumberOfTransforms ( ) const

Returns the number of transform parameters available.

Returns:
The function returns the number transform parameters available for this effect.
Remarks:
See the documentation on CgFxEffect::isTransformParameter for a more detailed description about transform parameters.

Use this function together with CgFxEffect::getTransform to iterate through all available transform parameters of this effect.

NVSG_API CgFxParameter getTransform ( unsigned int index ) const

Returns the transform parameter at the specified zero-based index.

Parameters:
index Zero-based index of the transform parameter to retrieve.
Returns:
The function returns the index-th transform parameter.
Remarks:
Use this function together with CgFxEffect::getNumberOfTransforms to iterate through all Transform Parameters that are used by the effect.
Usage example:
 void printTransformSemantics(const CgFxEffect * effect)
 {
   unsigned int numTrafos = effect->getNumberOfTransforms();
   for ( unsigned int i=0; i<numTrafos; ++i )
   {
       CgFxParameter trafo = effect->getTransform(i);
       printf( "%s %s : %s\n"
             , effect->getParameterTypeString(trafo).c_str()
             , effect->getParameterName(trafo).c_str()
             , effect->getParameterSemantic(trafo).c_str() );
   }
 }
See also:

NVSG_API TransformType getTransformType ( CgFxParameter param ) const

Returns the transform type of the specified transform parameter.

Parameters:
param Transform parameter to query.
Returns:
The function returns a CgFxEffect::TransformType enum that indicates what kind of transform the parameter specifies.
Remarks:
The transform type of a transform parameter is tightly related to its semantic. For example, a renderer needs this information to always upload the correct state matrix to the underlying effect resource.

The behaviour is undefined if this function is called for a non-transform parameter.

NVSG_API bool setTransformValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Uploads a 4x4 transform matrix to the underlying effect resource.

Parameters:
param | Handle to the transform parameter.
value | Pointer to the 16 32-bit float values to upload.
Returns:
The function return true if the matrix upload was successful. Otherwise the function returns false.
Remarks:
The function copies 16 32-bit float values from the buffer pointed to by value to the underlying effect resource.

Calling this function for other than transform parameters results in undefined behavior. Use CgFxEffect::isTransformParameter to test whether a certain parameter is a transform parameter.

The runtime behavior also is undefined if value specifies an invalid pointer.

NVSG_API unsigned int getNumberOfTweakables ( ) const

Returns the number of alterable effect parameters (so called 'tweakables').

Returns:
The function returns the number of tweakables available for this effect.
Remarks:
Tweakables are all alterable effect parameters that will not be automatically updated by the SceniX framework but need to be manually updated as wanted. For example, light or material parameters (see CgFxEffect::isLightParameter and CgFxEffect::isMaterialParameter) will be automatically updated by the SceniX framework every frame, and hence, are not recognized as tweakables. Same is true for transform parameters (see CgFxEffect::isTransformParameter).

An application can offer a graphical user interface that allows for manipulating the tweakable values manually.

NVSG_API CgFxParameter getTweakable ( unsigned int index ) const

Returns the tweakable at the specified zero-based index.

Parameters:
index Zero-based index of the tweakable to retrieve.
Returns:
The function returns a valid handle to the index-th tweakable.
Remarks:
This function is particularly useful when iterating through all tweakables available for this effect.

Passing an invalid index results in undefined behavior. Use CgFxEffect::getNumberOfTweakables to determine a valid range for the indices to pass.

NVSG_API CgFxParameter getTweakableBySemantic ( const std::string & semantic ) const

Returns a tweakable effect parameter by semantic.

Parameters:
semantic Semantic string used to look up the tweakable.
Returns:
The function returns a valid handle to the tweakable with the specified semantic, if found. Otherwise, the function returns NULL, to indicate that a tweakable with that semantic does not exist.
Remarks:
A tweakable can be directly accessed by its semantic. This function case-sensitive looks up the tweakable by it's semantic string.

NVSG_API CgFxParameter getTweakableByName ( const std::string & name ) const

Returns a tweakable effect parameter by name.

Parameters:
name Name string used to look up the tweakable.
Returns:
The function returns a valid handle to the tweakable with the specified name, if found. Otherwise, the function returns NULL, to indicate that a tweakable with that name does not exist.
Remarks:
A tweakable can be directly accessed by its name. This function case-sensitive looks up the tweakable by it's name string.

NVSG_API unsigned int getNumberOfLights ( ) const

Returns the number of NVSGLight-typed parameters defined for the effect.

Returns:
The function returns the number of NVSGLight parameters available.
Remarks:
Use this function together with CgFxEffect::getLight to iterate through all available effect lights.

Parameters are considered Light Parameters if they are declared as NVSGLight parameters in the effect source.

NVSG_API CgFxParameter getLight ( unsigned int index ) const

Returns the light parameter at the indicated index.

Returns:
The function returns the light parameter at the indicated zero-based index.
Remarks:
Use this function together with CgFxEffect::getNumberOfLights to iterate through all light parameters declared in the effect. Light Parameters will be auto-connected to tree lights, and they will be updated automatically by SceniX's render framework. If you derive your own renderer, and you plan to also update (connect) light parameters as your renderer gets applied, you should exclusively use the dedicated setLight member functions for this task.

NVSG_API CgFxParameter getLightBySemantic ( const std::string & semantic ) const

Returns a light parameter by semantic.

Parameters:
semantic Semantic string used to look up the light parameter.
Returns:
The function returns a valid handle to the light parameter with the specified semantic, if found. Otherwise, the function returns NULL, to indicate that a light parameter with that semantic does not exist.

NVSG_API CgFxParameter getLightByName ( const std::string & name ) const

Returns a light parameter by name.

Parameters:
name Name string used to look up the light parameter.
Returns:
The function returns a valid handle to the light parameter with the specified name, if found. Otherwise, the function returns NULL, to indicate that a light parameter with that name does not exist.

NVSG_API bool hasDynamicNumberOfLights ( ) const

Returns whether this effect contains a dynamically sized light array.

Returns:
true, if the effect contains a dynamically sized light array, false otherwise.
Remarks:
An effect can either contain a dynamically sized light array or a number of normal lights and light arrays.

NVSG_API void setDynamicNumberOfLights ( unsigned int num )

Set the desired number of lights of a dynamically sized light array.

Parameters:
num The number of lights the effect should have
Remarks:
An effect can either contain a dynamically sized light array or a number of normal lights and light arrays. If the num is equal to the current number of lights, the function has no effect.

NVSG_API unsigned int getDynamicNumberOfLights ( ) const

Get the current number of lights.

Returns:
The current number of lights, if the effect contains a dynamic array of lights.

NVSG_API CgFxParameter getMaterial ( ) const

Returns the effects Material Parameter if available.

Returns:
The function returns a valid handle to the material parameter, if available. Otherwise, the function returns NULL, to indicate that a material parameter is not available for this effect.
Remarks:
A Material Parameter falls into the category of Auto-connected Effect Parameters
See also:
nvsg::Material, CgFxEffect::isMaterialParameter

NVSG_API CgFxParameter getScene ( ) const

Returns the effect's Scene Parameter.

Returns:
The function returns a valid handle to the NVSGScene parameter, if available. Otherwise, the function returns NULL, to indicate that a scene parameter is not available for this effect. Note that this is NOT the nvsg::Scene, but the NVSGScene data structure that may be defined in the effect!
See also:
nvsg::Scene, CgFxEffect::isSceneParameter

NVSG_API bool getParameterValueAsFloat | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns a numeric-type parameter value as 32-bit float values.

Parameters:
param | Handle to the parameter to retrieve the value from.
value | Pointer to the buffer that receives the float values.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise the function returns false.
Remarks:
This function lets you get a numerical parameter's value as float value regardless of what the real type of the numerical parameter is. This could save a lot of type-testing on numerical parameters where applicable.

The function returns the value in the buffer pointed to by value. The number of floats that will be copied to value corresponds to the number of value components for the specified numeric-type parameter. The caller must provide a buffer large enough to hold all the value components. Use CgFxEffect::getNumberOfParameterValueComponents to determine the required size for the output buffer. Note that the behavior is undefined if the buffer provided is not large enough to hold all the value components!

The function has no effect if called for a non-numeric-type parameter!

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getNumberOfParameterValueComponents

NVSG_API bool setParameterValueAsFloat | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the value of a numeric-type parameter as 32-bit float value.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to the buffer from which to read the new values.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
The function lets you set the value for an arbitrary numerical parameter as 32-bit floating point numbers. This probably could save you a lot of type-checking where applicable.

The function uploads the 32-bit float values from the buffer pointed to by value to the underlying effect resource.

The number of floats that will be copied from value corresponds to the number of value components for the specified numeric-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine how many components the specified parameter has.

The function has no effect if called for a non-numeric-type parameter!

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getNumberOfParameterValueComponents

NVSG_API bool getFloatParameterValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the value of a float-type parameter.

Parameters:
param | Handle to the parameter from which to retrieve the value.
value | Pointer to a buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to retrieve the value of a float-type parameter. The function returns false if called for parameters other than float-type parameters to indicate that no values have been copied to the output buffer. Use CgFxEffect::isFloatParameter to test whether a certain parameter is a float-type parameter.

The number of floats that will be copied to value corresponds to the number of value components for the specified float-type parameter. The caller must provide a buffer large enough to hold all the value components. Use CgFxEffect::getNumberOfParameterValueComponents to determine the required size for the output buffer. Note that the behavior is undefined if the buffer provided is not large enough to hold all the value components!

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::setFloatParameterValue

NVSG_API bool setFloatParameterValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the value of a float-type parameter.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to a buffer from which to read the new value.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
Use this function to update the value of a float-type parameter. The function returns false if called for parameters other than float-type parameters to indicate that no values have been updated. Use CgFxEffect::isFloatParameter to test whether a certain parameter is a float-type parameter.

The number of floats that will be copied from value corresponds to the number of value components for the specified float-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine the number of value components for the specified parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
Note:
This function stores the parameter value in an internal flush list, and it's flushed with the next call to applyPass.
See also:
CgFxEffect::getFloatParameterValue, CgFxEffect::flushFloatParameterValue

NVSG_API bool flushFloatParameterValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Flush the value of a float-type parameter.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to a buffer from which to read the new value.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
Use this function to immediatly update the value of a float-type parameter. The function returns false if called for parameters other than float-type parameters to indicate that no values have been updated. Use CgFxEffect::isFloatParameter to test whether a certain parameter is a float-type parameter.

The number of floats that will be copied from value corresponds to the number of value components for the specified float-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine the number of value components for the specified parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
Note:
This function directly flushes the parameter value. Its value is not stored locally for later flushes during calls to applyPass. If that same CgFxParameter is also set via setFloatParameterValue and thus locally stored, that locally stored value is flushed with the next applyPass.
See also:
CgFxEffect::getFloatParameterValue, CgFxEffect::setFloatParameterValue

NVSG_API bool getIntParameterValue | ( | CgFxParameter | param,
 |  | int * | value
 | ) | const

Returns the value of a integer-type parameter.

Parameters:
param | Handle to the parameter from which to retrieve the value.
value | Pointer to a buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to retrieve the value of an integer-type parameter. The function returns false if called for parameters other than integer-type parameters to indicate that no values have been copied to the output buffer. Use CgFxEffect::isIntParameter to test whether a certain parameter is a integer-type parameter.

The number of integers that will be copied to value corresponds to the number of value components for the specified integer-type parameter. The caller must provide a buffer large enough to hold all the value components. Use CgFxEffect::getNumberOfParameterValueComponents to determine the required size for the output buffer. Note that the behavior is undefined if the buffer provided is not large enough to hold all the value components!

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::setIntParameterValue

NVSG_API bool setIntParameterValue | ( | CgFxParameter | param,
 |  | const int * | value
 | ) |

Sets the value of a integer-type parameter.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to a buffer from which to read the new value.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
Use this function to update the value of an integer-type parameter. The function returns false if called for parameters other than integer-type parameters to indicate that no values have been updated. Use CgFxEffect::isIntParameter to test whether a certain parameter is a integer-type parameter.

The number of integers that will be copied from value corresponds to the number of value components for the specified integer-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine the number of value components for the specified parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
Note:
This function stores the parameter value in an internal flush list, and it's flushed with the next call to applyPass.
See also:
CgFxEffect::getIntParameterValue, CgFxEffect::flushIntParameterValue

NVSG_API bool flushIntParameterValue | ( | CgFxParameter | param,
 |  | const int * | value
 | ) |

Flush the value of an integer-type parameter.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to a buffer from which to read the new value.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
Use this function to immediatly update the value of an integer-type parameter. The function returns false if called for parameters other than integer-type parameters to indicate that no values have been updated. Use CgFxEffect::isIntParameter to test whether a certain parameter is an integer-type parameter.

The number of integers that will be copied from value corresponds to the number of value components for the specified integer-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine the number of value components for the specified parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
Note:
This function directly flushes the parameter value. Its value is not stored locally for later flushes during calls to applyPass. If that same CgFxParameter is also set via setIntParameterValue and thus locally stored, that locally stored value is flushed with the next applyPass.
See also:
CgFxEffect::getIntParameterValue, CgFxEffect::setIntParameterValue

NVSG_API bool getBoolParameterValue | ( | CgFxParameter | param,
 |  | int * | value
 | ) | const

Returns the value of a 32-bit boolean-type parameter.

Parameters:
param | Handle to the parameter from which to retrieve the value.
value | Pointer to a buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to retrieve the value of a boolean-type parameter. The function returns false if called for parameters other than boolean-type parameters to indicate that no values have been copied to the output buffer. Use CgFxEffect::isBoolParameter to test whether a certain parameter is a boolean-type parameter.

The number of 32-bit booleans that will be copied to value corresponds to the number of value components for the specified boolean-type parameter. The caller is responsible for providing a buffer large enough to hold all the value components. Use CgFxEffect::getNumberOfParameterValueComponents to determine the required size for the output buffer. Note that the behavior is undefined if the buffer provided is not large enough to hold all the value components!

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::setBoolParameterValue

NVSG_API bool setBoolParameterValue | ( | CgFxParameter | param,
 |  | const int * | value
 | ) |

Sets the value of a 32-bit boolean-type parameter.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to a buffer from which to read the new value.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
Use this function to update the value of a boolean-type parameter. The function returns false if called for parameters other than boolean-type parameters to indicate that no values have been updated. Use CgFxEffect::isBoolParameter to test whether a certain parameter is a boolean-type parameter.

The number of 32-bit booleans that will be copied from value corresponds to the number of value components for the specified boolean-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine the number of value components for the specified parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
Note:
This function stores the parameter value in an internal flush list, and it's flushed with the next call to applyPass.
See also:
CgFxEffect::getBoolParameterValue, CgFxEffect::flushBoolParameterValue

NVSG_API bool flushBoolParameterValue | ( | CgFxParameter | param,
 |  | const int * | value
 | ) |

Flush the value of a 32-bit boolean-type parameter.

Parameters:
param | Handle to the parameter for which to set the value.
value | Pointer to a buffer from which to read the new value.
Returns:
The function returns true if the parameter value could be updated successfully. Otherwise, the function returns false.
Remarks:
Use this function to update the value of a boolean-type parameter. The function returns false if called for parameters other than boolean-type parameters to indicate that no values have been updated. Use CgFxEffect::isBoolParameter to test whether a certain parameter is a boolean-type parameter.

The number of 32-bit booleans that will be copied from value corresponds to the number of value components for the specified boolean-type parameter. Use CgFxEffect::getNumberOfParameterValueComponents to determine the number of value components for the specified parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
Note:
This function directly flushes the parameter value. Its value is not stored locally for later flushes during calls to applyPass. If that same CgFxParameter is also set via setBoolParameterValue and thus locally stored, that locally stored value is flushed with the next applyPass.
See also:
CgFxEffect::getBoolParameterValue, CgFxEffect::setBoolParameterValue

NVSG_API bool getStringParameterValue | ( | CgFxParameter | param,
 |  | std::string & | value
 | ) | const

Returns the string value of a string-type parameter.

Parameters:
param | Handle to the string-type parameter to query.
value | Reference to a STL string that receives the string value.
Returns:
The function returns true if the string could have been retrieved successfully. Otherwise the function returns false.
Remarks:
Use this function to retrieve the string from a string-type parameter. The function returns false if called for other parameters than string-type parameters to indicate that no string could have been retrieved. Use CgFxEffect::isStringParameter to test whether a certain parameter is a string-type parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::setStringParameterValue

NVSG_API bool setStringParameterValue | ( | CgFxParameter | param,
 |  | const std::string & | value
 | ) |

Sets the string value for a string-type parameter.

Parameters:
param | Handle to the string-type parameter for which to set the string.
value | Reference to a STL string that holds the string to set.
Returns:
Use this function to update the string value of a string-type parameter. The function returns false if called for parameters other than string-type parameters to indicate that the parameter's string value has not been updated. Use CgFxEffect::isStringParameter to test whether a certain parameter is a string-type parameter.

Calling this function for an invalid parameter handle results in undefined runtime behavior. You can use CgFxEffect::getTweakable, CgFxEffect::getParameterByName, or CgFxEffect::getParameterBySemantic to get a valid handle to a certain effect parameter.
See also:
CgFxEffect::getStringParameterValue

NVSG_API void resetSceneValues ( CgFxParameter param )

Resets the specified Scene to default.

Parameters:
param Handle to the Scene to reset
Remarks:
Calling this function for other than Scene parameters results in undefined behavior. Use CgFxEffect::isSceneParameter to test whether a certain parameter is a Scene parameter.

NVSG_API bool getSceneAmbientValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the ambient RGBA intensity of the entire scene.

Parameters:
param | Handle to the Scene parameter.
value | Pointer to the buffer that receives four floating-point values that represent the ambient RGBA intensity.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Typically, this value will track the Scene::Ambient color automatically. Calling this function for other than Scene parameters results in undefined behavior. Use CgFxEffect::isSceneParameter to test whether a certain parameter specifies a Scene parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setSceneAmbientValue

Scene::setAmbientColor Scene::getAmbientColor

NVSG_API bool setSceneAmbientValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the ambient RGBA intensity of the entire scene.

Parameters:
param | Handle to the material.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise, the function returns false.
Remarks:
Typically, this value will track the Scene::Ambient color automatically. Calling this function for other than Scene parameters results in undefined behavior. Use CgFxEffect::isSceneParameter to test whether a certain parameter specifies a Scene parameter.
See also:
CgFxEffect::getSceneAmbientValue

Scene::setAmbientColor Scene::getAmbientColor

NVSG_API bool getSceneFrameNumberValue | ( | CgFxParameter | param,
 |  | int * | value
 | ) | const

Returns the scene frame number.

Parameters:
param | Handle to the Scene parameter.
value | Pointer to the buffer that receives the unsigned int
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Typically, this value will track the number of times the scene has been rendered automatically. Calling this function for other than Scene parameters results in undefined behavior. Use CgFxEffect::isSceneParameter to test whether a certain parameter specifies a Scene parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold a single 32-bit integer See notes in Scene::setFrameNumber for range issues with this value.
See also:
CgFxEffect::setSceneFrameNumberValue

Scene::setFrameNumber Scene::getFrameNumber

NVSG_API bool setSceneFrameNumberValue | ( | CgFxParameter | param,
 |  | const int * | value
 | ) |

Sets the current frame number.

Parameters:
param | Handle to the scene parameter.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise, the function returns false.
Remarks:
Typically, this value will track the Scene::FrameNumber automatically. Calling this function for other than Scene parameters results in undefined behavior. Use CgFxEffect::isSceneParameter to test whether a certain parameter specifies a Scene parameter. See notes in Scene::setFrameNumber for range issues with this value.
See also:
CgFxEffect::getSceneFrameNumberValue

Scene::setFrameNumber Scene::getFrameNumber

NVSG_API void resetMaterialValues ( CgFxParameter param )

Resets the specified material to default.

Parameters:
param Handle to the material to reset
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter is a material parameter.

NVSG_API bool getMaterialEmissionValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the RGBA emitted light intensity of the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer that receives four floating-point values that represent the RGBA emitted light intensity.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setMaterialEmissionValue

NVSG_API bool setMaterialEmissionValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the RGBA emitted light intensity for the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.
See also:
CgFxEffect::getMaterialEmissionValue

NVSG_API bool getMaterialAmbientValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the ambient RGBA reflectance of the specified material.

Parameters:
param | Handle to the material parameter.
value | Pointer to the buffer that receives four floating-point values that represent the ambient RGBA reflectance values.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setMaterialAmbientValue

NVSG_API bool setMaterialAmbientValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the ambient RGBA reflectance for the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.
See also:
CgFxEffect::getMaterialAmbientValue

NVSG_API bool getMaterialDiffuseValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the diffuse RGBA reflectance of the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer that receives four floating-point values that represent the diffuse RGBA reflectance values.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setMaterialDiffuseValue

NVSG_API bool setMaterialDiffuseValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the diffuse RGBA reflectance for the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.
See also:
CgFxEffect::getMaterialDiffuseValue

NVSG_API bool getMaterialSpecularValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the specular RGBA reflectance of the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer that receives four floating-point values that represent the specular RGBA reflectance values.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setMaterialSpecularValue

NVSG_API bool setMaterialSpecularValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the specular RGBA reflectance for the specified material.

Parameters:
param | Handle to the material.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.
See also:
CgFxEffect::getMaterialSpecularValue

NVSG_API bool getMaterialShininessValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the RGBA specular exponent of the specified material.

Parameters:
param | Handle to the material.
value | Pointer to a single float value that represents the specular exponent.
Returns:
The function returns true if the requested value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.

The behaviour also is undefined if value specifies an invalid pointer.
See also:
CgFxEffect::setMaterialShininessValue

NVSG_API bool setMaterialShininessValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the RGBA specular exponent for the specified material.

Parameters:
param | Handle to the material.
value | Pointer to a single float to read the input value from.
Returns:
The function returns true if the value could be updated successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than material parameters results in undefined behavior. Use CgFxEffect::isMaterialParameter to test whether a certain parameter specifies a material parameter.
See also:
CgFxEffect::getMaterialShininessValue

NVSG_API void resetLightValues ( CgFxParameter param )

Resets the values for the specified light to default.

Parameters:
param Handle to the light parameter to reset
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter is a material parameter.

NVSG_API bool getLightAmbientValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the ambient RGBA intensity of the specified light.

Parameters:
param | Handle to the light.
value | Pointer to the buffer that receives four floating-point values that represent the ambient RGBA intensity values.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setLightAmbientValue

NVSG_API bool setLightAmbientValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the ambient RGBA intensity for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightAmbientValue

NVSG_API bool getLightDiffuseValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the diffuse RGBA intensity of the specified light.

Parameters:
param | Handle to the light.
value | Pointer to the buffer that receives four floating-point values that represent the diffuse RGBA intensity values.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating point values.
See also:
CgFxEffect::setLightDiffuseValue

NVSG_API bool setLightDiffuseValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the diffuse RGBA intensity for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightDiffuseValue

NVSG_API bool getLightSpecularValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the specular RGBA intensity of the specified light.

Parameters:
param | Handle to the light.
value | Pointer to the buffer that receives four floating-point values that represent the specular RGBA intensity values.
Returns:
The function returns true if the requested values could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating-point values.
See also:
CgFxEffect::setLightSpecularValue

NVSG_API bool setLightSpecularValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the specular RGBA intensity for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to the buffer to read the input values from.
Returns:
The function returns true if the values could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightSpecularValue

NVSG_API bool getLightPositionValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the position of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives four floating-point values that represent the light position in homogeneous world coordinates.
Returns:
The function returns true if the light position could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating-point values.
See also:
CgFxEffect::setLightPositionValue

NVSG_API bool setLightPositionValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the position for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a buffer of four floating-point values that represents the new light position in homogeneous world coordinates.
Returns:
The function returns true if the values could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightPositionValue

NVSG_API bool getLightDirectionValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the direction of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives four floating-point values that represent the light direction in homogeneous world coordinates.
Returns:
The function returns true if the light direction could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if the output buffer pointed to by value is not large enough to hold four 32-bit floating-point values.
See also:
CgFxEffect::setLightDirectionValue

NVSG_API bool setLightDirectionValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the direction for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a buffer of four floating-point values that represents the new light direction in homogeneous world coordinates.
Returns:
The function returns true if the values could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightDirectionValue

NVSG_API bool getLightSpotExponentValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the intensity distribution of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives a single floating-point value that represents the intensity distribution of the light.
Returns:
The function returns true if the intensity distribution could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if value specifies an invalid pointer.
See also:
CgFxEffect::setLightSpotExponentValue

NVSG_API bool setLightSpotExponentValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the intensity distribution for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a single float value that represents the new intensity distribution.
Returns:
The function returns true if the value could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightSpotExponentValue

NVSG_API bool getLightSpotCutoffValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the maximum spread angle of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives a single floating-point value that represents the maximum spread angle of the light.
Returns:
The function returns true if the maximum spread angle could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if value specifies an invalid pointer.
See also:
CgFxEffect::setLightPosition

NVSG_API bool setLightSpotCutoffValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the maximum spread angle for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a single float value that represents the new maximum spread angle.
Returns:
The function returns true if the value could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightSpotCutoffValue

NVSG_API bool getLightConstantAttenuationValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the constant attenuation factor of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives a single floating-point value that represents the constant attenuation factor of the light.
Returns:
The function returns true if the constant attenuation factor could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if value specifies an invalid pointer.
See also:
CgFxEffect::setLightPosition

NVSG_API bool setLightConstantAttenuationValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the constant attenuation factor for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a single float value that represents the constant attenuation factor.
Returns:
The function returns true if the value could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightConstantAttenuationValue

NVSG_API bool getLightLinearAttenuationValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the linear attenuation factor of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives a single floating-point value that represents the linear attenuation factor of the light.
Returns:
The function returns true if the linear attenuation factor could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if value specifies an invalid pointer.
See also:
CgFxEffect::setLightPosition

NVSG_API bool setLightLinearAttenuationValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the linear attenuation factor for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a single float value that represents the linear attenuation factor.
Returns:
The function returns true if the value could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightLinearAttenuationValue

NVSG_API bool getLightQuadraticAttenuationValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Returns the quadratic attenuation factor of the specified light.

Parameters:
param | Handle to the light
value | Pointer to the buffer that receives a single floating-point value that represents the quadratic attenuation factor of the light.
Returns:
The function returns true if the quadratic attenuation factor could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.

The behaviour also is undefined if value specifies an invalid pointer.
See also:
CgFxEffect::setLightPosition

NVSG_API bool setLightQuadraticAttenuationValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the quadratic attenuation factor for the specified light.

Parameters:
param | Handle to the light.
value | Pointer to a single float value that represents the quadratic attenuation factor.
Returns:
The function returns true if the value could be updated successfully. Otherwise the function returns false.
Remarks:
Calling this function for other than light parameters results in undefined behavior. Use CgFxEffect::isLightParameter to test whether a certain parameter specifies a light parameter.
See also:
CgFxEffect::getLightQuadraticAttenuationValue

NVSG_API CgFxParameter getMslLightPosition ( unsigned int i ) const

Returns the position parameter for the i-th light.

Returns:
The function returns a valid parameter handle to the position parameter of the i-th light. If no such parameter was declared in the effect, the function returns NULL.
Remarks:
Light Position Parameters fall into the category of Auto-connected Effect Parameters

NVSG_API CgFxParameter getMslLightDirection ( unsigned int i ) const

Returns the direction parameter for the i-th light.

Returns:
The function returns a valid parameter handle to the direction parameter of the i-th light. If no such parameter was declared in the effect, the function returns NULL.
Remarks:
Light Direction Parameters fall into the category of Auto-connected Effect Parameters

NVSG_API CgFxParameter getMslLightType ( unsigned int i ) const

Returns the type parameter for the i-th light.

Returns:
The function returns a valid parameter handle to the type parameter of the i-th light. If no such parameter was declared in the effect, the function returns NULL.
Remarks:
Light Type Parameters fall into the category of Auto-connected Effect Parameters

NVSG_API bool getMslLightPositionValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Retrieves the value of the indicated light position parameter.

Parameters:
param | Parameter representing the light position.
value | Start address of a buffer of floats to retrieve the value. The buffer must be large enough to hold 3 floats.
Returns:
The function returns true if the value was successfully retrieved. Otherwise the function returns false.
See also:
Light Position Parameters

NVSG_API bool getMslLightDirectionValue | ( | CgFxParameter | param,
 |  | float * | value
 | ) | const

Retrieves the value of the indicated light direction parameter.

Parameters:
param | Parameter representing the light direction.
value | Start address of a buffer of floats to retrieve the value. The buffer must be large enough to hold 3 floats.
Returns:
The function returns true if the value was successfully retrieved. Otherwise the function returns false.
See also:
Light Direction Parameters

NVSG_API bool getMslLightTypeValue | ( | CgFxParameter | param,
 |  | int * | value
 | ) | const

Retrieves the value of the indicated light type parameter.

Parameters:
param | Parameter representing the light type.
value | Start address of an integer buffer to retrieve the value.
Returns:
The function returns true if the value was successfully retrieved. Otherwise the function returns false.
See also:
Light Type Parameters

NVSG_API bool setMslLightPositionValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the value for the indicated light position parameter.

Parameters:
param | Light position parameter for which to set the value.
value | Source buffer from which the value will be read.
Returns:
The function returns true.
See also:
Light Position Parameters

NVSG_API bool setMslLightDirectionValue | ( | CgFxParameter | param,
 |  | const float * | value
 | ) |

Sets the value for the indicated light direction parameter.

Parameters:
param | Light direction parameter for which to set the value.
value | Source buffer from which the value will be read.
Returns:
The function returns true.
See also:
Light Direction Parameters

NVSG_API bool setMslLightTypeValue | ( | CgFxParameter | param,
 |  | int | value
 | ) |

Sets the value for the indicated light type parameter.

Parameters:
param | Light type parameter for which to set the value.
value | Source buffer from which the value will be read.
Returns:
The function returns true.
See also:
Light Type Parameters

NVSG_API unsigned int getNumberOfSamplers ( ) const

Returns the number of sampler available.

Returns:
The function returns the number of samplers available for this effect.
Remarks:
This function in conjunction with CgFxEffect::getSampler is useful for iterating through the effect samplers.

NVSG_API CgFxParameter getSampler ( unsigned int index ) const

Returns the sampler at the specified zero-based index.

Parameters:
index Zero-based index of the sampler.
Returns:
The function returns a handle to the requested sampler.
Remarks:
Passing an invalid index, that is - an index greater or equal to what CgFxEffect::getNumberOfSamplers returns results in undefined behavior.

NVSG_API CgFxParameter getSamplerByName ( const std::string & name ) const

Returns a sampler parameter by name.

Parameters:
name Name of the parameter to get.
Returns:
The function returns a handle to the sampler if found by name. Otherwise, the function returns NULL to indicate that a sampler with the specified name does not exist.
Remarks:
A sampler can be directly accessed by name using this function. The function case-sensitive looks up the sampler parameter by name.

NVSG_API CgFxParameter getSamplerByTextureParameterName ( const std::string & name ) const

Returns a sampler parameter by the name of its associated texture parameter.

Parameters:
name Name of the associated texture parameter.
Returns:
The function returns a handle to the requested sampler if the lookup was successful. Otherwise, the function returns NULL to indicate that no such sampler is available.
Remarks:
If in a CgFx source a texture parameter and a sampler parameter are defined as follows:
 texture environment
 <
     string FILE = "textures/myenv.dds"
 >;

 samplerCUBE environmentSampler = sampler_state
 {
     Texture = <environment>;
     MinFilter = LinearMipMapLinear;
     MagFilter = Linear;
     WrapS  = ClampToEdge;
     WrapT  = ClampToEdge;
 };
We call the sampler 'environmentSampler' to be associated with the texture 'environment'.
See also:
CgFxEffect::getSamplerTexture

NVSG_API CGparameter getSamplerTextureParameter ( CgFxParameter param ) const

Returns the CGparameter handle that corresponds to the specified sampler parameter.

Parameters:
param Handle to the sampler.
Returns:
The function returns the CGparameter handle that corresponds to the specified sampler parameter.
Remarks:
A CGparameter handle sometimes is required for platform dependent calls that need to be executed, for example, from a certain renderer to pass platform dependent texture resources to the underlying effect or to manage platform dependent texture states. These platform dependent calls are not wrapped by SceniX, and hence, require the original Cg types instead of the SceniX wrapped types. If SceniX is initialized for multiple GPUs, the GPU specific CGparameter is returned.

NVSG_API unsigned int getNumberOfProgramSamplers ( CgFxProgram prog ) const

Returns the number of samplers used in a particular program.

Returns:
The function returns the number of samplers in the given program.
Remarks:
This function in conjunction with CgFxEffect::getProgramSampler is useful for iterating through the samplers in a given program.

NVSG_API CgFxParameter getProgramSampler | ( | CgFxProgram | prog,
 |  | unsigned int | index
 | ) | const

Returns the sampler at the specified zero-based index in the given program. Returns the sampler at the specified zero-based index.

Parameters:
prog | Program (bound to this effect) to query.
index | Zero-based index of the sampler.
Returns:
The function returns a handle to the requested sampler.
Remarks:
Passing an invalid index, that is - an index greater or equal to what CgFxEffect::getNumberOfSamplers returns results in undefined behavior.

NVSG_API ProgramIOType getProgramInputType ( CgFxProgram prog ) const

Returns the input type for the given program.

This function is typically only useful for geometry programs, since the input and output to Vertex and Fragment programs are Vertices and Fragments. Hence, the return value for Vertex and Fragment programs will be PROGRAM_IO_VERTEX and PROGRAM_IO_FRAGMENT respectively.

The behavior is undefined if passed an invalid program.

Returns:
A ProgramIOType associated with this program.
See also:
ProgramIOType, CgFxEffect::getProgramOutputType

NVSG_API ProgramIOType getProgramOutputType ( CgFxProgram prog ) const

Returns the output type for the given program.

This function is typically only useful for geometry programs, since the input and output to Vertex and Fragment programs are Vertices and Fragments. Hence, the return value for Vertex and Fragment programs will be PROGRAM_IO_VERTEX and PROGRAM_IO_FRAGMENT respectively.

The behavior is undefined if passed an invalid program.

Returns:
A ProgramIOType associated with this program.
See also:
ProgramIOType, CgFxEffect::getProgramInputType

NVSG_API bool isMipmapSamplerState ( CgFxParameter sampler ) const

Returns whether the sampler state for the specified sampler requires explicit mipmap specification on the client-site.

Parameters:
sampler Specifies the sampler for which to query information.
Returns:
true if mipmap specification on the client-site is required, false otherwise.
Remarks:
The function evaluates if the current MinFilter and GenerateMipmap sampler state assignments require explicit mipmap specification for the assigned texture on the client-site. This is true if the MinFilter state is set to LinearMipMapNearest, NearestMipMapNearest, NearestMipMapLinear, or LinearMipMapLinear, and the GenerateMipmap state is either not specified, or set to false. If GenerateMipmap is set to true, mipmap auto-generation will be enabled and only mipmap level 0 needs to be uploaded from the client-site.
Note:
Calling this function for others than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter is a sampler parameter.
See also:
isSamplerParameter

NVSG_API bool isTextureSamplerCompliant | ( | CgFxParameter | sampler,
 |  | const TextureSharedPtr & | image
 | ) | const

Returns whether the indicated Texture is compliant to the specified sampler.

Parameters:
sampler | Handle to the sampler.
image | Specifies the Texture to test for compliance.
Returns:
The function returns true if the indicated Texture is compliant to the specified sampler, and hence, could be assigned to the sampler. Otherwise the function returns false.
Remarks:
A Texture that is not compliant to a given sampler cannot be assigned to that sampler. For example, a cube map Texture cannot be assigned to a Sampler2D. Doing so, would result in display corruption during rendering.

Calling this function for others than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter is a sampler parameter.
See also:
setSamplerTexture

NVSG_API bool setSamplerTexture | ( | CgFxParameter | param,
 |  | const TextureSharedPtr & | image
 | ) |

Assigns a new Texture to the specified sampler parameter.

Parameters:
param | Handle to the sampler.
image | Specifies the new Texture.
Returns:
The function returns true if the re-specification of the sampler's texture image was successful. Otherwise, the function returns false.
Remarks:
The function can be used to re-specify a sampler's texture image.
If the type of the passed through Texture doesn't match the sampler's type, or if the type is not convertible to a type matching the sampler's type, the current assignment remains unchanged, and the function returns false, to indicate an error. Use isTextureSamplerCompliant to obtain if a given Texture is compliant to a given sampler.
If the type of the new Texture matches the sampler's type, the new Texture will be assigned. If the new Texture is convertible to a type matching the sampler's type, the new Texture will be converted prior to assignment.
A previously assigned Texture will be unreferenced prior to assign the new Texture. If the previously assigned Texture is not referenced by any other objects, it will be destroyed as it gets unreferenced.

Calling this function for others than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter is a sampler parameter.
See also:
getSamplerTexture, isTextureSamplerCompliant, Texture

NVSG_API bool getSamplerTextureFileName | ( | CgFxParameter | param,
 |  | std::string & | file
 | ) | const

Returns the file name that is associated with the sampler's texture image.

Parameters:
param | Handle to the sampler.
file | Reference to a STL string that receives the requested file name.
Returns:
The function returns true if a file is associated with the sampler's texture image and the file name could have been successfully assigned to file. Otherwise the function returns false.
Remarks:
If a valid filename is associated with the sampler's texture image, the function returns the filename in the string object referenced by file.
See also:
cgFxEffect::getSamplerTexture

NVSG_API const TextureSharedPtr& getSamplerTexture ( CgFxParameter param ) const

Returns the texture assigned to the specified sampler parameter.

Parameters:
param Handle to the sampler.
Returns:
The function returns the Texture that is associated with the specified sampler.

The function returns NULL if there is no Texture associated with the sampler.
Remarks:
Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.

NVSG_API bool hasSamplerTextureHost ( CgFxParameter param ) const

Returns whether a TextureHost is assigned to the sampler.

Parameters:
param Handle to the sampler.
Returns:
the function returns true if a TextureHost is assigned to the sampler, otherwise false.
Remarks:
The return value is a cached result from setSamplerTexture operations.

NVSG_API bool setSamplerTextureGPUFormat | ( | CgFxParameter | param,
 |  | TextureHost::TextureGPUFormat | format
 | ) |

Requests a particular texture GPU format that be used for this sampler.

Parameters:
param | Handle to the sampler.
format | The format from TextureGPUFormat enum.
Returns:
The function returns false if there is no texture associated with this parameter.
See also:
getSamplerTextureGPUFormat

NVSG_API bool getSamplerTextureGPUFormat | ( | CgFxParameter | param,
 |  | TextureHost::TextureGPUFormat & | format
 | ) | const

Returns the texture GPU format that was requested of this sampler.

Parameters:
param | Handle to the sampler.
format | The returned format.
Returns:
The function returns the GPU format that was requested for this sampler. Note that the return value does not indicate the ACTUAL GPU format used, only the one that was requested.

The function returns false if there is no texture associated with this parameter.
See also:
setSamplerTextureGPUFormat

NVSG_API TextureTarget getSamplerTextureTarget ( CgFxParameter param ) const

Retrieves the TextureTarget for the specified sampler parameter.

Parameters:
param Handle to the Sampler to query.
Returns:
The function returns a TextureTarget specifier that indicates the texture target to which the assigned Texture should be bound by the renderer. The texture target for a certain sampler is determined by it's unambiguous type. This is read-only information and cannot be changed through the CgFxEffect API.
See also:
setSamplerTexture

NVSG_API unsigned int getNumberOfSamplerStateValueComponents | ( | CgFxParameter | param,
 |  | const std::string & | name
 | ) | const

Returns the number of components the specified named sampler state value has.

Parameters:
param | Handle to the sampler.
name | Specifies the name of the sampler state to query.
Returns:
The function returns the number of value components for the sampler state identified by name. If for the specified sampler the named state could not be found, the function returns 0.
Remarks:
This function is particularly useful when calculating the size of a certain sampler state's value. Together with the type information for the sampler state (e.g. CgFxEffect::isFloatSamplerState) this is an easy task: Calculating the size that a certain sampler state's value consumes is essential when querying the value (e.g. CgFxEffect::getFloatSamplerStateValue).

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.

NVSG_API bool isFloatSamplerState | ( | CgFxParameter | param,
 |  | const std::string & | name
 | ) | const

Returns whether the specified sampler state is a float-type sampler state.

Parameters:
param | Handle to the sampler.
name | Specifies the name of the sampler state to query.
Returns:
The function returns true if the specified sampler state is a float-type sampler state. If the sampler state is of another type, or if the named sampler state is not defined for the sampler, the function returns false.
Remarks:
To query the current value of a certain sampler state, one need to know what type the sampler state is because corresponding query functions are type dependent (e.g. CgFxEffect::getFloatSamplerStateValue or CgFxEffect::getIntSamplerStateValue).

Calling this function for others than sampler parameter results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.

NVSG_API bool isIntSamplerState | ( | CgFxParameter | param,
 |  | const std::string & | name
 | ) | const

Returns whether the specified sampler state is a integer-type sampler state.

Parameters:
param | Handle to the sampler.
name | Specifies the name of the sampler state to query.
Returns:
The function returns true if the specified sampler state is a integer-type sampler state. If the sampler state is of another type, or if the named sampler state is not defined for the sampler, the function returns false.
Remarks:
To query the current value of a certain sampler state, you need to know what type the sampler state is because corresponding query functions are type dependent (e.g. CgFxEffect::getIntSamplerStateValue or CgFxEffect::getFloatSamplerStateValue).

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.

NVSG_API bool isBoolSamplerState | ( | CgFxParameter | param,
 |  | const std::string & | name
 | ) | const

Returns whether the specified sampler state is a boolean-type sampler state.

Parameters:
param | Handle to the sampler.
name | Specifies the name of the sampler state to query.
Returns:
The function returns true if the specified sampler state is a boolean-type sampler state. If the sampler state is of another type, or if the named sampler state is not defined for the sampler, the function returns false.
Remarks:
To query the current value of a certain sampler state, you need to know what type the sampler state is because corresponding query functions are type dependent (e.g. CgFxEffect::getBoolSamplerStateValue or CgFxEffect::getIntSamplerStateValue).

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.

NVSG_API bool getFloatSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | float * | value
 | ) | const

Returns the value of the specified float-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to query.
value | Pointer to the buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to get hold of the the value of the float-type sampler state specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfSamplerStateValueComponents to determine the number of components a certain sampler state value has. Together with the sampler state's type information (e.g. CgFxEffect::isFloatSamplerState) it is easy to calculate the right size for the receiving buffer.

The function has no effect if called for other than float-type sampler states! Use CgFxEffect::isFloatSamplerState to determine whether a certain sampler state is a float-type sampler state.

The value for a certain sampler state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.
See also:
CgFxEffect::getIntSamplerStateValue, CgFxEffect::getBoolSamplerStateValue

NVSG_API bool setFloatSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | const float * | value
 | ) | const

Sets the value of the specified float-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to set.
value | Pointer to the buffer that contains the data to be set.
Returns:
The function returns true if the sampler contained the state assignment specified with name and the value(s) could be set successfully. Otherwise, the function returns false.
Remarks:
Use this function to override an existing float sampler state assignment specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfSamplerStateValueComponents to determine the number of components a certain sampler state value has. Together with the sampler state's type information (e.g. CgFxEffect::isFloatSamplerState) it is easy to calculate the right size for the source buffer.

The function has no effect if called for other than float-type sampler states! Use CgFxEffect::isFloatSamplerState to determine whether a certain sampler state is a float-type sampler state.

The value for a certain sampler state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter. Note that modifications to the sampler state assignments on CgFX shaders loaded from a file will not be saved in the modified state as the CgFX file's contents are not touched by current savers.
See also:
CgFxEffect::setIntSamplerStateValue, CgFxEffect::setBoolSamplerStateValue, CgFxEffect::createFloatSamplerStateValue

NVSG_API bool createFloatSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | int | components,
 |  | const float * | value
 | ) | const

Creates and sets the value of the specified float-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to set.
components | Number of components of the float-type sampler state, must be in the range [1,4], but currently there are only two kinds of float-type sampler states: float and float4 (BorderColor).
value | Pointer to the buffer that contains the data to be set.
Returns:
The function returns true if the sampler state assignment specified with name could be created and the value(s) could be set successfully. Otherwise, the function returns false.
Remarks:
Use this function to create and set sampler state assignments which have not been specified inside a CgFX file. This function required for cases where a CgFX file doesn't contain a sampler state assignment which should be changed during runtime from the default to some other value. Currently there are only float and float4 sampler state assignments The rest of the functionality is identical to
See also:
CgFxEffect::setFloatSamplerStateValue. Note that modifications to the sampler state assignments on CgFX shaders loaded from a file will not be saved in the modified state as the CgFX file's contents are not touched by current savers.

CgFxEffect::createIntSamplerStateValue, CgFxEffect::createBoolSamplerStateValue

NVSG_API bool getIntSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | int * | value
 | ) | const

Returns the value of the specified integer-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to query.
value | Pointer to the buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to get the value of the integer-type sampler state specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfSamplerStateValueComponents to determine the number of components a certain sampler state value has. Together with the sampler state's type information (e.g. CgFxEffect::isIntSamplerState) it is easy to calculate the right size for the receiving buffer.

The function has no effect if called for other than integer-type sampler states! Use CgFxEffect::isIntSamplerState to determine whether a certain sampler state is a integer-type sampler state.

The value for a certain sampler state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.
See also:
CgFxEffect::getFloatSamplerStateValue, CgFxEffect::getBoolSamplerStateValue

NVSG_API bool setIntSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | const int * | value
 | ) | const

Sets the value of the specified int-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to set.
value | Pointer to the buffer that contains the data to be set. Currently there are only single integer sampler states supported.
Returns:
The function returns true if the sampler contained the state assignment specified with name and the value(s) could be set successfully. Otherwise, the function returns false.
Remarks:
Use this function to override an existing int sampler state assignment specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfSamplerStateValueComponents to determine the number of components a certain sampler state value has. Together with the sampler state's type information (e.g. CgFxEffect::isIntSamplerState) it is easy to calculate the right size for the source buffer.

The function has no effect if called for other than int-type sampler states! Use CgFxEffect::isIntSamplerState to determine whether a certain sampler state is a int-type sampler state.

The value for a certain sampler state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter. Note that modifications to the sampler state assignments on CgFX shaders loaded from a file will not be saved in the modified state as the CgFX file's contents are not touched by current savers.
See also:
CgFxEffect::setFloatSamplerStateValue, CgFxEffect::setBoolSamplerStateValue, CgFxEffect::createintSamplerStateValue

NVSG_API bool createIntSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | int | components,
 |  | const int * | value
 | ) | const

Creates and sets the value of the specified int-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to set.
components | Number of components of the int-type sampler state, must be 1 today. because currently there exist only single int-type sampler states.
value | Pointer to the buffer that contains the source data to be set.
Returns:
The function returns true if the sampler state assignment specified with name could be created and the value(s) could be set successfully. Otherwise, the function returns false.
Remarks:
Use this function to create and set sampler state assignments which have not been specified inside a CgFX file. This function is required for cases where a CgFX file doesn't contain a sampler state assignment which should be changed during runtime from the default to some other value. The rest of the functionality is identical to
See also:
CgFxEffect::setIntSamplerStateValue Note that modifications to the sampler state assignments on CgFX shaders loaded from a file will not be saved in the modified state as the CgFX file's contents are not touched by current savers.

CgFxEffect::createIntSamplerStateValue, CgFxEffect::createBoolSamplerStateValue

NVSG_API bool getBoolSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | int * | value
 | ) | const

Returns the value of the specified 32-bit boolean-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to query.
value | Pointer to the buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to get the value of the 32-bit boolean-type sampler state specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfSamplerStateValueComponents to determine the number of components a certain sampler state value has. Together with the sampler state's type information (e.g. CgFxEffect::isBoolSamplerState) it is easy to calculate the right size for the receiving buffer.

The function has no effect if called for other than 32-bit boolean-type sampler states! Use CgFxEffect::isBoolSamplerState to determine whether a certain sampler state is a 32-bit boolean-type sampler state.

The value for a certain sampler state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter.
See also:
CgFxEffect::getIntSamplerStateValue, CgFxEffect::getFloatSamplerStateValue

NVSG_API bool setBoolSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | const int * | value
 | ) | const

Sets the value of the specified bool-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to set. The only boolean sampler state is GenerateMipMap.
value | Pointer to the buffer that contains the data to be set. Note that the values are provided as integers (0 == false), not booleans.
Returns:
The function returns true if the sampler contained the state assignment specified with name and the value(s) could be set successfully. Otherwise, the function returns false.
Remarks:
Use this function to override an existing bool sampler state assignment specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfSamplerStateValueComponents to determine the number of components a certain sampler state value has. Together with the sampler state's type information (e.g. CgFxEffect::isBoolSamplerState) it is easy to calculate the right size for the source buffer.

The function has no effect if called for other than bool-type sampler states! Use CgFxEffect::isBoolSamplerState to determine whether a certain sampler state is a bool-type sampler state.

The value for a certain sampler state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Calling this function for other than sampler parameters results in undefined behavior. Use CgFxEffect::isSamplerParameter to test whether a certain parameter specifies a sampler parameter. Note that modifications to the sampler state assignments on CgFX shaders loaded from a file will not be saved in the modified state as the CgFX file's contents are not touched by current savers.
See also:
CgFxEffect::setFloatSamplerStateValue, CgFxEffect::setIntSamplerStateValue, CgFxEffect::createBoolSamplerStateValue

NVSG_API bool createBoolSamplerStateValue | ( | CgFxParameter | param,
 |  | const std::string & | name,
 |  | int | components,
 |  | const int * | value
 | ) | const

Creates and sets the value of the specified bool-type sampler state.

Parameters:
param | Handle to the sampler
name | Specifies the name of the sampler state to set.
components | Number of components of the bool-type sampler state, must be 1 today, because currently there exists only single bool-type sampler state: GenerateMipMap.
value | Pointer to the buffer that contains the source data to be set. Note that the values are provided as integers (0 == false), not booleans.
Returns:
The function returns true if the sampler state assignment specified with name could be created and the value(s) could be set successfully. Otherwise, the function returns false.
Remarks:
Use this function to create and set sampler state assignments which have not been specified inside a CgFX file. This function is required for cases where a CgFX file doesn't contain a sampler state assignment which should be changed during runtime from the default to some other value. The rest of the functionality is identical to
See also:
CgFxEffect::setBoolSamplerStateValue Note that modifications to the sampler state assignments on CgFX shaders loaded from a file will not be saved in the modified state as the CgFX file's contents are not touched by current savers.

CgFxEffect::createFloatSamplerStateValue, CgFxEffect::createIntSamplerStateValue

NVSG_API unsigned int getNumberOfTechniques ( ) const

Returns the number of techniques defined for this effect.

Returns:
The function returns the number of techniques defined for this effect.
Remarks:
Use this function together with CgFxEffect::getTechnique to iterate through all techniques defined for this effect.
Example:
 const CgFxEffect * effect;
 // ...
 // assume a valid read-locked effect here
 unsigned int numTechs = effect->getNumberOfTechniques();
 for ( unsigned int i=0; i<numTechs; ++i )
 {
     CgFxTechnique tech = effect->getTechnique(i);
     // proceed with the technique received ...
 }
See also:
CgFxEffect::setCurrentTechnique, CgFxEffect::validateCurrentTechnique

NVSG_API CgFxTechnique getTechnique ( unsigned int index ) const

Returns the technique at the specified zero-based index.

Parameters:
index Zero-based index of the technique to query.
Returns:
The function returns the index-th technique defined in the effect.
Remarks:
This function together with CgFxEffect::getNumberOfTechniques can be used to iterate through all techniques defined in the effect.

Calling this function with an invalid index, that is - an index greater or equal to what CgFxEffect::getNumberOfTechniques returns, results in undefined behavior.
See also:
CgFxEffect::getTechniqueByName

NVSG_API CgFxTechnique getTechniqueByName ( const std::string & name ) const

Returns a technique by name.

Parameters:
name Specifies the name of the technique to retrieve.
Returns:
If a technique with the specified name could be found in the effect, the function returns a valid handle to that technique. Otherwise, the function returns NULL.
Remarks:
A technique defined in an effect can be accessed directly by name. The names of the techniques defined in an effect can be discovered by iterating through all techniques using CgFxEffect::getNumberOfTechniques and CgFxEffect::getTechnique, and in turn calling CgFxEffect::getTechniqueName for each.
See also:
CgFxEffect::getTechnique

NVSG_API unsigned int getTechniqueIndex ( CgFxTechnique tech ) const

Returns the zero-based index of the specified technique.

Parameters:
tech Handle to the technique to query.
Returns:
The function returns the zero-based index of the specified technique if found. The function returns ~0 if the technique could not be found.
See also:
getTechnique

NVSG_API const std::string& getTechniqueName ( CgFxTechnique tech ) const

Returns the name of the specified technique.

Parameters:
tech Handle to the technique to query.
Returns:
The function returns a reference to a const STL string that holds the name of the technique.
Remarks:
Once a the name of a technique is determined, the technique can be directly accessed by its name using CgFxEffect::getTechniqueByName.

Calling this function for an invalid technique results in undefined behavior. Use either CgFxEffect::getTechnique or CgFxEffect::getTechniqueByName to get hold of valid techniques defined in the effect.

NVSG_API CgFxTechnique getCurrentTechnique ( ) const

Returns the current technique.

Returns:
The function returns a handle to the technique currently used for rendering.
Remarks:
The function returns the current technique used for rendering. Initially this is the first technique found in the effect. Use CgFxEffect::setCurrentTechnique to alter the current technique as wanted. Note that before using the current technique for rendering, it must be validated using CgFxEffect::validateCurrentTechniqe.

NVSG_API void setCurrentTechnique ( CgFxTechnique tech )

Sets the current technique to be used with rendering.

Parameters:
tech Handle to the technique to make current.
Remarks:
Before using the current technique for rendering, it must be validated using CgFxEffect::validateCurrentTechniqe.

Calling this function for an invalid technique results in undefined behavior. Use either CgFxEffect::getTechnique or CgFxEffect::getTechniqueByName to get hold of valid techniques defined in the effect.
See also:
CgFxEffect::getCurrentTechnique

NVSG_API bool validateCurrentTechnique ( )

Validates the current technique.

Returns:
The function returns true if the validation succeeded. Otherwise the function returns false.
Remarks:
Before using the current technique, it is important to validate it. A technique validation can fail if, for instance, for a fragment program an unsupported profile is used, or if the technique includes an unsupported state assignment.
See also:
CgFxEffect::setCurrentTechnique

NVSG_API bool containsTessellationProgram ( CgFxTechnique tech ) const

Returns whether the specified technique contains tessellation a program.

Parameters:
tech Handle to the technique to query.
Returns:
The function returns true if the specified technique contains a tessellation program, otherwise false.
Remarks:
Calling this function for an invalid technique results in undefined behavior. Use either CgFxEffect::getTechnique or CgFxEffect::getTechniqueByName to get hold of valid techniques defined in the effect.

NVSG_API unsigned int getNumberOfPasses ( CgFxTechnique tech ) const

Returns the number of render passes defined for the specified technique.

Parameters:
tech Handle to the technique to query.
Returns:
The function returns the number of passes defined for the specified technique.
Remarks:
A pass in CgFX defines, for example, what vertex and fragment programs should be applied, and what specific render states need to be assigned to achieve the desired render effect.

Use this function together with CgFxEffect::getPass to iterate through all passes defined in the specified technique.

Calling this function for an invalid technique results in undefined behavior. Use either CgFxEffect::getTechnique or CgFxEffect::getTechniqueByName to get hold of valid techniques defined in the effect.

NVSG_API CgFxPass getPass | ( | CgFxTechnique | tech,
 |  | unsigned int | index
 | ) | const

Returns the pass at the specified zero-based index defined in the specified technique.

Parameters:
tech | Handle to the technique to query.
index | Zero-based index of the pass to retrieve.
Returns:
The function returns a handle to the index-th pass defined in the specified technique.
Remarks:
A pass in CgFX defines, for example, what vertex and fragment programs should be applied, and what specific render states need to be assigned to achieve the desired render effect.

Calling this function for an invalid technique results in undefined behavior. Use either CgFxEffect::getTechnique or CgFxEffect::getTechniqueByName to get hold of valid techniques defined in the effect.

Passing an invalid index - that is, an index greater or equal to what CgFxEffect::getNumberOfPasses returns - also results in undefined behavior.

NVSG_API CgFxPass getPassByName | ( | CgFxTechnique | tech,
 |  | const std::string & | name
 | ) | const

Returns a pass of a specified technique by name.

Parameters:
tech | Handle to the technique to query.
name | Name of the pass to retrieve.
Returns:
If a pass with the specified name could be found in the specified technique, the function returns a valid handle to that pass. Otherwise, the function returns NULL.
Remarks:
A pass can be accessed directly by name. The names of all passes defined in a technique can be discovered by iterating through all passes using CgFxEffect::getNumberOfPasses and CgFxEffect::getPass, and in turn calling CgFxEffect::getPassName for each.

A pass in CgFX defines, for example, what vertex and fragment programs should be applied, and what specific render states need to be assigned to achieve the desired render effect.

Calling this function for an invalid technique results in undefined behavior. Use either CgFxEffect::getTechnique or CgFxEffect::getTechniqueByName to get valid techniques defined in the effect.

NVSG_API const std::string& getPassName ( CgFxPass pass ) const

Returns the name of the specified render pass.

Parameters:
pass Handle to the pass to query.
Returns:
The function returns a reference to a STL string that holds the name of the pass.
Remarks:
Once a the name of a pass is determined, the pass can be directly accessed by its name using CgFxEffect::getPassByName.

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.

NVSG_API bool isTransparentPass ( CgFxPass pass ) const

Tests whether the specified pass forces transparency.

Parameters:
pass Handle to the pass to query
Returns:
The function returns true if the pass forces the respective geometry to appear transparent. Otherwise, the function returns false.
Remarks:
Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get valid passes defined for a certain technique.
See also:
CgFX::determineTransparency

NVSG_API void applyPass ( unsigned int index )

Applies the specified render pass.

Parameters:
index Zero-based index of the pass of the current technique
Remarks:
The function applies all state assignments of the index-th pass of the current technique. The function must be called immediately before sending the geometry for that pass down the pipeline. After the geometry was sent you need to un-apply the pass by calling CgFxEffect::resetPass. This call sequence (apply-draw-reset) must be repeated for all passes available in the current technique. Passes must be applied in ascending order starting at the first pass (index 0).

Note that before applying the passes of the current technique, the current technique must be validated using CgFxEffect::validateCurrentTechnique.

Passing an invalid index - that is, an index greater or equal to what CgFxEffect::getNumberOfPasses for the current technique returns - results in undefined behavior.
Example:
 const CgFx * cgfx;
 // ...
 { // limit effect writable scope

   // assume a valid write-locked CgFx attribute here
   CgFxEffectWriteLock effect( cgfx->getEffect() );
   if ( effect->validateCurrentTechnique() )
   {
     // prepare the effect for rendering, that is
     // - setup all required textures (platform dependent), and
     // - update uniform transforms
     // ...

     // apply all the passes
     CgFxTechnique tech = effect->getCurrentTechnique();
     unsigned int numPasses = effect->getNumberOfPasses(tech);
     unsigned int currPass = 0;
     do
     {
         effect->applyPass(currPass);
         DrawGeometry(); // send geometry down the pipeline
         effect->resetPass(currPass);
     } while (++currPass < numPasses)
   }
 } // end writable scope
See also:
CgFxEffect::setCurrentTechnique

NVSG_API void resetPass ( unsigned int index )

Resets the specified render pass.

Parameters:
index Zero-based index of the pass of the current technique
Remarks:
The function resets all state assignments specified in the index-th pass of the current technique. This function should be called after the pass was applied and geometry was sent down the pipeline.

Passing an invalid index - that is, an index greater or equal to what CgFxEffect::getNumberOfPasses for the current technique returns - results in undefined behavior.
See also:
CgFxEffect::applyPass

NVSG_API unsigned int getNumberOfPassStateValueComponents | ( | CgFxPass | pass,
 |  | const std::string & | name
 | ) | const

Returns the number of components the specified pass state value has.

Parameters:
pass | Handle to the pass.
name | Specifies the name of the pass state to query.
Returns:
The function returns the number of value components for the pass state identified by name. If for the specified pass the named state could not be found, the function returns 0.
Remarks:
This function is particularly useful when calculating the size of a certain pass state's value. Together with the type information for the pass state (e.g. CgFxEffect::isFloatPassState) this is an easy task: Calculating the size that a certain pass state's value consumes is essential when querying the value (e.g. CgFxEffect::getFloatPassStateValue).

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.

NVSG_API bool isFloatPassState | ( | CgFxPass | pass,
 |  | const std::string & | name
 | ) | const

Returns whether the specified pass state is a float-type pass state.

Parameters:
pass | Handle to the pass.
name | Specifies the name of the pass state to query.
Returns:
The function returns true if the specified pass state is a float-type pass state. If the pass state is of another type, or if the named pass state is not defined for the pass, the function returns false.
Remarks:
To query the current value of a certain pass state, one need to know what type the pass state is, because the corresponding query functions are type dependent (e.g. CgFxEffect::getFloatPassStateValue or CgFxEffect::getIntPassStateValue).

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.

NVSG_API bool isIntPassState | ( | CgFxPass | pass,
 |  | const std::string & | name
 | ) | const

Returns whether the specified pass state is a integer-type pass state.

Parameters:
pass | Handle to the pass.
name | Specifies the name of the pass state to query.
Returns:
The function returns true if the specified pass state is a integer-type pass state. If the pass state is of another type, or if the named pass state is not defined for the pass, the function returns false.
Remarks:
To query the current value of a certain pass state, you need to know what type the pass state is, because the corresponding query functions are type dependent (e.g. CgFxEffect::getIntPassStateValue or CgFxEffect::getFloatPassStateValue).

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.

NVSG_API bool isBoolPassState | ( | CgFxPass | pass,
 |  | const std::string & | name
 | ) | const

Returns whether the specified pass state is a 32-bit boolean-type pass state.

Parameters:
pass | Handle to the pass.
name | Specifies the name of the pass state to query.
Returns:
The function returns true if the specified pass state is a 32-bit boolean-type pass state. If the pass state is of another type, or if the named pass state is not defined for the pass, the function returns false.
Remarks:
To query the current value of a certain pass state, you need to know what type the pass state is, because the corresponding query functions are type dependent (e.g. CgFxEffect::getBoolPassStateValue or CgFxEffect::getFloatPassStateValue).

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.

NVSG_API bool getFloatPassStateValue | ( | CgFxPass | pass,
 |  | const std::string & | name,
 |  | float * | value
 | ) | const

Returns the value of the specified float-type pass state.

Parameters:
pass | Handle to the pass
name | Specifies the name of the pass state to query.
value | Pointer to the buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to get the value of the float-type pass state specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfPassStateValueComponents to determine the number of components a certain pass state value has. Together with the pass state's type information (e.g. CgFxEffect::isFloatPassState) it is easy to calculate the right size for the receiving buffer.

The function has no effect if called for others than float-type pass states! Use CgFxEffect::isFloatPassState to determine whether a certain pass state is a float-type pass state.

The value for a certain pass state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Note that pass states are read-only. Hence, there is no corresponding function to modify a certain pass state's value.

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.
See also:
CgFxEffect::getIntPassStateValue, CgFxEffect::getBoolPassStateValue

NVSG_API bool getIntPassStateValue | ( | CgFxPass | pass,
 |  | const std::string & | name,
 |  | int * | value
 | ) | const

Returns the value of the specified integer-type pass state.

Parameters:
pass | Handle to the pass
name | Specifies the name of the pass state to query.
value | Pointer to the buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to get the value of the integer-type pass state specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfPassStateValueComponents to determine the number of components a certain pass state value has. Together with the pass state's type information (e.g. CgFxEffect::isIntPassState) it is easy to calculate the right size for the receiving buffer.

The function has no effect if called for other than integer-type pass states! Use CgFxEffect::isIntPassState to determine whether a certain pass state is a integer-type pass state.

The value for a certain pass state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Note that pass states are read-only. Hence, there is no corresponding function to modify a certain pass state's value.

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.
See also:
CgFxEffect::getFloatPassStateValue, CgFxEffect::getBoolPassStateValue

NVSG_API bool getBoolPassStateValue | ( | CgFxPass | pass,
 |  | const std::string & | name,
 |  | int * | value
 | ) | const

Returns the value of the specified 32-bit boolean-type pass state.

Parameters:
pass | Handle to the pass
name | Specifies the name of the pass state to query.
value | Pointer to the buffer that receives the value.
Returns:
The function returns true if the value could be retrieved successfully. Otherwise, the function returns false.
Remarks:
Use this function to get the value of the 32-bit boolean-type pass state specified by name. The user must provide a buffer large enough to hold the value. The behavior is undefined if the buffer pointed to by value does not fulfill this requirement. You can call CgFxEffect::getNumberOfPassStateValueComponents to determine the number of components a certain pass state value has. Together with the pass state's type information (e.g. CgFxEffect::isBoolPassState) it is easy to calculate the right size for the receiving buffer.

The function has no effect if called for other than 32-bit boolean-type pass states! Use CgFxEffect::isBoolPassState to determine whether a certain pass state is a 32-bit boolean-type pass state.

The value for a certain pass state corresponds to the actual Cg 1.4 specification. More details regarding the Cg 1.4 specification can be found at http://developer.nvidia.com/page/cg_main.html

Note that pass states are read-only. Hence, there is no corresponding function to modify a certain pass state's value.

Calling this function for an invalid pass results in undefined behavior. Use either CgFxEffect::getPass or CgFxEffect::getPassByName to get hold of valid passes defined for a certain technique.
See also:
CgFxEffect::getFloatPassStateValue, CgFxEffect::getIntPassStateValue

NVSG_API CgFxProgram getVertexProgram ( CgFxPass pass ) const

Returns the vertex program defined for the specified pass.

Parameters:
pass Handle to the pass to query.
Returns:
If a vertex program is defined for the specified pass, the function returns a handle to that vertex program. Otherwise, the function returns NULL.

NVSG_API CgFxProgram getTessellationControlProgram ( CgFxPass pass ) const

Returns the tessellation control program defined for the specified pass.

Parameters:
pass Handle to the pass to query.
Returns:
If a tessellation control program is defined for the specified pass, the function returns a handle to that tessellation control program. Otherwise, the function returns NULL.

NVSG_API CgFxProgram getTessellationEvaluationProgram ( CgFxPass pass ) const

Returns the tessellation evaluation program defined for the specified pass.

Parameters:
pass Handle to the pass to query.
Returns:
If a tessellation evaluation program is defined for the specified pass, the function returns a handle to that tessellation evaluation program. Otherwise, the function returns NULL.

NVSG_API CgFxProgram getGeometryProgram ( CgFxPass pass ) const

Returns the geometry program defined for the specified pass.

Parameters:
pass Handle to the pass to query.
Returns:
If a geometry program is defined for the specified pass, the function returns a handle to that geometry program. Otherwise, the function returns NULL.

NVSG_API CgFxProgram getFragmentProgram ( CgFxPass pass ) const

Returns the fragment program defined for the specified pass.

Parameters:
pass Handle to the pass to query.
Returns:
If a fragment program is defined for the specified pass, the function returns a handle to that fragment program. Otherwise, the function returns NULL.

NVSG_API bool isProgramCompiled ( CgFxProgram prog ) const

Returns whether the specified program is compiled.

Parameters:
prog Handle to the program.
Returns:
The function returns true if the specified program is compiled. Otherwise the function returns false.
Remarks:
Passing this function an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.
See also:
CgFxEffect::compileProgram

NVSG_API bool compileProgram ( CgFxProgram prog )

Compiles the specified program.

Parameters:
prog Handle to the program to compile.
Returns:
The function returns true if the compilation succeeded. Otherwise, the function returns false.
Remarks:
The function compiles the specified program for its target profile. Use CgFxEffect::getProgramProfile to determine the current profile used for the program compilation. CgFxEffect::setProgramProfile lets you change that profile as needed.

A program must be compiled before its parameters can be inspected.

Passing this function an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.

NVSG_API bool setProgramProfile | ( | CgFxProgram | prog,
 |  | CGprofile | profile
 | ) |

Sets the profile to be used to compile the specified program.

Parameters:
prog | Handle to the program.
profile | The new CGprofile to use for program compilation.
Returns:
The function returns true if the profile is recognized as a known profile, and hence, could have been set successfully. Otherwise the function returns false.
Remarks:
Dependent on the graphics platform, a profile may not be supported. For OpenGL, for example, this would be the case if a certain OpenGL extension, the profile requires, is not available.

If the specified profile could not be set for some reasons, the former profile remains the current one.

Note that the program must be recompiled if the program's profile changes in order to take effect.

Calling this function passing it an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.
See also:
CgFxEffect::compileProgram

NVSG_API CGprofile getProgramProfile ( CgFxProgram prog ) const

Returns the actual profile used to compile the specified program.

Parameters:
prog Handle to the program.
Returns:
The function returns the CGprofile used to compile the specified program.
Remarks:
Passing this function an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.
See also:
CgFxEffect::setProgramProfile

NVSG_API unsigned int getNumberOfProgramParameters ( CgFxProgram prog ) const

Returns the number of parameters passed to the specified program.

Parameters:
prog Handle to the program.
Returns:
The function returns the number of parameters passed to the specified program.
Remarks:
Use this function together with CgFxEffect::getProgramParameter to iterate through all parameters passed to the specified program.

Passing this function an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.

NVSG_API CgFxParameter getProgramParameter | ( | CgFxProgram | prog,
 |  | unsigned int | index
 | ) | const

Returns the program parameter at the specified zero-based index.

Parameters:
prog | Handle to the program.
index | Zero-based index of the parameter to query
Returns:
The function returns a handle to the requested program parameter.
Remarks:
Use this function together with CgFxEffect::getNumberOfProgramParameter to iterate through all parameters passed to the specified program.

Passing this an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.

NVSG_API bool isInputProgramParameter | ( | CgFxProgram | prog,
 |  | CgFxParameter | param
 | ) | const

Returns whether the specified program parameter is an input parameter.

Parameters:
prog | Handle to the program
param | Handle to the program parameter.
Returns:
The function returns true if the specified parameter is either an input parameter or an input/output parameter. Otherwise, the function returns false.
Remarks:
Passing this function an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.

The behavior also is undefined if an invalid parameter handle is passed. Use CgFxEffect::getProgramParameter together with CgFxEffect::getNumberOfProgramParameter to iterate through all parameters of a program.
See also:
CgFxEffect::isOutputProgramParameter

NVSG_API bool isOutputProgramParameter | ( | CgFxProgram | prog,
 |  | CgFxParameter | param
 | ) | const

Returns whether the specified program parameter is an output parameter.

Parameters:
prog | Handle to the program
param | Handle to the program parameter.
Returns:
The function returns true if the specified parameter is either an output parameter or an input/output parameter. Otherwise, the function returns false.
Remarks:
Passing this function an invalid program handle results in undefined behavior. Use either CgFxEffect::getVertexProgram or CgFxEffect::getFragmentProgram to get a valid handle to either the vertex program or the fragment program defined for a certain pass.

The behavior also is undefined if an invalid parameter handle is passed. Use CgFxEffect::getProgramParameter together with CgFxEffect::getNumberOfProgramParameter to iterate through all parameters of a program.
See also:
CgFxEffect::isInputProgramParameter

NVSG_API CgFxBuffer getProgramBuffer | ( | CgFxProgram | prog,
 |  | size_t | index
 | ) | const

Gets the buffer at the given index from the given program.

Parameters:
prog | Handle to the program
index | The buffer index to use. There are a small, fixed, number of buffers available. Buffer indices range from 0 to the value returned from CgFxContext::getBufferMaxIndex() (typically "9"). SceniX reserves several buffers for future use.
Returns:
The function returns a pointer to the CgFxBuffer at the given index. If no buffer exists at that index, NULL is returned. The function returns NULL if a buffer index greater than the maximum
Remarks:
Passing this function an invalid program handle results in undefined behavior. Use CgFxEffect::get[Vertex|Geometry|Fragment]Program to get a valid handle to either the vertex, geometry or fragment program defined for a certain pass.
See also:
CgFxEffect::setProgramBuffer CgFxBuffer

NVSG_API bool setProgramBuffer | ( | CgFxProgram | prog,
 |  | CgFxBuffer | b,
 |  | size_t | index
 | ) |

Sets the buffer at the given index on the given program.

Parameters:
prog | Handle to the program
b | Pointer to the CgFxBuffer. If this parameter is NULL, it clears the buffer binding at this index.
index | The buffer index. See the notes in
See also:
CgFxEffect::setProgramBuffer
Returns:
The function returns true if the buffer was able to be set, false otherwise. The function returns false if an invalid index is specified.
Remarks:
Passing this function an invalid buffer or program handle results in undefined behavior. Buffers are not managed by the program. This means that if a program is deleted, any associated buffer objects will NOT be deleted. It is the application's responsibility to manage buffers across multiple programs/effects. If an effect is cloned, the buffer object pointers will simply be copied. Use CgFxEffect::get[Vertex|Geometry|Fragment]Program to get a valid handle to either the vertex, geometry or fragment program defined for a certain pass.
See also:
CgFxEffect::getProgramBuffer CgFxBuffer

NVSG_API int getParameterBufferIndex ( CgFxParameter param ) const

Retrieves the parameter buffer index of a parameter.

Parameters:
param Handle to a parameter
Returns:
The function returns the index of a CgFxBuffer object that this parameter was assigned to, or -1 if this parameter is not associated with a buffer.
See also:
CgFxEffect::getParameterBufferOffset

CgFxEffect::getParameterResourceSize

CgFxEffect::getParameterResourceType

CgFxBuffer

NVSG_API int getParameterBufferOffset ( CgFxParameter param ) const

Retrieves the parameter buffer offset of a parameter.

Parameters:
param Handle to a parameter
Returns:
The function returns the offset within the CgFxBuffer object that this parameter was assigned to, or -1 if this parameter is not associated with a buffer.
See also:
CgFxEffect::getParameterBufferIndex

CgFxEffect::getParameterResourceSize

CgFxEffect::getParameterResourceType

CgFxBuffer

NVSG_API int getParameterResourceSize ( CgFxParameter param ) const

Retrieves the size, in bytes, of a parameter associated with a buffer.

Parameters:
param Handle to a parameter
Returns:
The function returns the size, in bytes, of the resource corresponding to the given parameter, if the parameter belongs to a CgFxBuffer object.
Remarks:
The size of sampler parameters is zero because they have no actual data storage. The size of an array parameter is the size of an array element parameter times the length of the array. The size of a structure parameter is the sum of the size of all the member elements, plus zero or more padding bytes which are implementation dependent.
See also:
CgFxEffect::getParameterBufferIndex

CgFxEffect::getParameterBufferOffset

CgFxEffect::getParameterResourceType

CgFxBuffer

NVSG_API CGtype getParameterResourceType ( CgFxParameter param ) const

Retrieves the type of a parameter associated with a buffer.

Parameters:
param Handle to a parameter
Returns:
The function returns the CGtype of the given parameters, if the parameter belongs to a CgFxBuffer object.
See also:
CgFxEffect::getParameterBufferIndex

CgFxEffect::getParameterBufferOffset

CgFxEffect::getParameterResourceSize

CgFxBuffer

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • CgFx.h
Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: Member List

CgFxEffect Member List

This is the complete list of members for CgFxEffect, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(CgFx *owner) (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > | [protected]
applyPass(unsigned int index) | CgFxEffect |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
CgFxEffect() | CgFxEffect | [protected]
CgFxEffect(const CgFxEffect &rhs) | CgFxEffect | [protected]
clearAppTraverserCallbacks() | Object | [inline]
compileProgram(CgFxProgram prog) | CgFxEffect |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTessellationProgram(CgFxTechnique tech) const | CgFxEffect |
containsTransparency() const (defined in Object) | Object |
create() (defined in CgFxEffect) | CgFxEffect | [static]
createBoolSamplerStateValue(CgFxParameter param, const std::string &name, int components, const int *value) const | CgFxEffect |
createFloatSamplerStateValue(CgFxParameter param, const std::string &name, int components, const float *value) const | CgFxEffect |
createFromFile(const std::string &file, const std::vector< std::string > &searchPaths, std::string &err) | CgFxEffect |
createFromLump(const std::string &lump, const std::vector< std::string > &searchPaths, std::string &err) | CgFxEffect |
createIntSamplerStateValue(CgFxParameter param, const std::string &name, int components, const int *value) const | CgFxEffect |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | CgFxEffect | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
flushBoolParameterValue(CgFxParameter param, const int *value) | CgFxEffect |
flushFloatParameterValue(CgFxParameter param, const float *value) | CgFxEffect |
flushIntParameterValue(CgFxParameter param, const int *value) | CgFxEffect |
getAnnotation() const | Object |
getAnnotationName(CgFxAnnotation anno) const | CgFxEffect |
getAnnotationTypeString(CgFxAnnotation anno) const | CgFxEffect |
getAnnotationValueSize(CgFxAnnotation anno) const | CgFxEffect |
getArrayParameterElement(CgFxParameter param, unsigned int index) const | CgFxEffect |
getBoolAnnotationValue(CgFxAnnotation anno, int *value) const | CgFxEffect |
getBoolParameterValue(CgFxParameter param, int *value) const | CgFxEffect |
getBoolPassStateValue(CgFxPass pass, const std::string &name, int *value) const | CgFxEffect |
getBoolSamplerStateValue(CgFxParameter param, const std::string &name, int *value) const | CgFxEffect |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getContext() const | CgFxEffect |
getCurrentTechnique() const | CgFxEffect |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDynamicNumberOfLights() const | CgFxEffect |
getFileName(std::string &file) const | CgFxEffect |
getFloatAnnotationValue(CgFxAnnotation anno, float *value) const | CgFxEffect |
getFloatParameterValue(CgFxParameter param, float *value) const | CgFxEffect |
getFloatPassStateValue(CgFxPass pass, const std::string &name, float *value) const | CgFxEffect |
getFloatSamplerStateValue(CgFxParameter param, const std::string &name, float *value) const | CgFxEffect |
getFragmentProgram(CgFxPass pass) const | CgFxEffect |
getGeometryProgram(CgFxPass pass) const | CgFxEffect |
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIntAnnotationValue(CgFxAnnotation anno, int *value) const | CgFxEffect |
getIntParameterValue(CgFxParameter param, int *value) const | CgFxEffect |
getIntPassStateValue(CgFxPass pass, const std::string &name, int *value) const | CgFxEffect |
getIntSamplerStateValue(CgFxParameter param, const std::string &name, int *value) const | CgFxEffect |
getLight(unsigned int index) const | CgFxEffect |
getLightAmbientValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightByName(const std::string &name) const | CgFxEffect |
getLightBySemantic(const std::string &semantic) const | CgFxEffect |
getLightConstantAttenuationValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightDiffuseValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightDirectionValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightLinearAttenuationValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightPositionValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightQuadraticAttenuationValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightSpecularValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightSpotCutoffValue(CgFxParameter param, float *value) const | CgFxEffect |
getLightSpotExponentValue(CgFxParameter param, float *value) const | CgFxEffect |
getMaterial() const | CgFxEffect |
getMaterialAmbientValue(CgFxParameter param, float *value) const | CgFxEffect |
getMaterialDiffuseValue(CgFxParameter param, float *value) const | CgFxEffect |
getMaterialEmissionValue(CgFxParameter param, float *value) const | CgFxEffect |
getMaterialIncarnation() const (defined in Object) | Object |
getMaterialShininessValue(CgFxParameter param, float *value) const | CgFxEffect |
getMaterialSpecularValue(CgFxParameter param, float *value) const | CgFxEffect |
getMslLightDirection(unsigned int i) const | CgFxEffect |
getMslLightDirectionValue(CgFxParameter param, float *value) const | CgFxEffect |
getMslLightPosition(unsigned int i) const | CgFxEffect |
getMslLightPositionValue(CgFxParameter param, float *value) const | CgFxEffect |
getMslLightType(unsigned int i) const | CgFxEffect |
getMslLightTypeValue(CgFxParameter param, int *value) const | CgFxEffect |
getName() const | Object |
getNumberOfAnnotationValueComponents(CgFxAnnotation anno) const | CgFxEffect |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfArrayParameterElements(CgFxParameter param) const | CgFxEffect |
getNumberOfLights() const | CgFxEffect |
getNumberOfOwners() const | OwnedObject< CgFx > |
getNumberOfParameterAnnotations(CgFxParameter param) const | CgFxEffect |
getNumberOfParameterValueComponents(CgFxParameter param) const | CgFxEffect |
getNumberOfPassAnnotations(CgFxPass pass) const | CgFxEffect |
getNumberOfPasses(CgFxTechnique tech) const | CgFxEffect |
getNumberOfPassStateValueComponents(CgFxPass pass, const std::string &name) const | CgFxEffect |
getNumberOfProgramParameters(CgFxProgram prog) const | CgFxEffect |
getNumberOfProgramSamplers(CgFxProgram prog) const | CgFxEffect |
getNumberOfSamplers() const | CgFxEffect |
getNumberOfSamplerStateValueComponents(CgFxParameter param, const std::string &name) const | CgFxEffect |
getNumberOfStructParameterMembers(CgFxParameter param) const | CgFxEffect |
getNumberOfTechniqueAnnotations(CgFxTechnique tech) const | CgFxEffect |
getNumberOfTechniques() const | CgFxEffect |
getNumberOfTransforms() const | CgFxEffect |
getNumberOfTweakables() const | CgFxEffect |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< CgFx > |
getParameterAnnotation(CgFxParameter param, unsigned int index) const | CgFxEffect |
getParameterAnnotationByName(CgFxParameter param, const std::string &name) const | CgFxEffect |
getParameterBufferIndex(CgFxParameter param) const | CgFxEffect |
getParameterBufferOffset(CgFxParameter param) const | CgFxEffect |
getParameterByName(const std::string &name) const | CgFxEffect |
getParameterBySemantic(const std::string &semantic) const | CgFxEffect |
getParameterName(CgFxParameter param) const | CgFxEffect |
getParameterResourceSize(CgFxParameter param) const | CgFxEffect |
getParameterResourceType(CgFxParameter param) const | CgFxEffect |
getParameterSemantic(CgFxParameter param) const | CgFxEffect |
getParameterTypeString(CgFxParameter param) const | CgFxEffect |
getParameterValueAsFloat(CgFxParameter param, float *value) const | CgFxEffect |
getParameterValueSize(CgFxParameter param) const | CgFxEffect |
getPass(CgFxTechnique tech, unsigned int index) const | CgFxEffect |
getPassAnnotation(CgFxPass pass, unsigned int index) const | CgFxEffect |
getPassAnnotationByName(CgFxPass pass, const std::string &name) const | CgFxEffect |
getPassByName(CgFxTechnique tech, const std::string &name) const | CgFxEffect |
getPassName(CgFxPass pass) const | CgFxEffect |
getPrimitiveIncarnation() const (defined in Object) | Object |
getProgramBuffer(CgFxProgram prog, size_t index) const | CgFxEffect |
getProgramInputType(CgFxProgram prog) const | CgFxEffect |
getProgramOutputType(CgFxProgram prog) const | CgFxEffect |
getProgramParameter(CgFxProgram prog, unsigned int index) const | CgFxEffect |
getProgramProfile(CgFxProgram prog) const | CgFxEffect |
getProgramSampler(CgFxProgram prog, unsigned int index) const | CgFxEffect |
getSampler(unsigned int index) const | CgFxEffect |
getSamplerByName(const std::string &name) const | CgFxEffect |
getSamplerByTextureParameterName(const std::string &name) const | CgFxEffect |
getSamplerTexture(CgFxParameter param) const | CgFxEffect |
getSamplerTextureFileName(CgFxParameter param, std::string &file) const | CgFxEffect |
getSamplerTextureGPUFormat(CgFxParameter param, TextureHost::TextureGPUFormat &format) const | CgFxEffect |
getSamplerTextureParameter(CgFxParameter param) const | CgFxEffect |
getSamplerTextureTarget(CgFxParameter param) const | CgFxEffect |
getScene() const | CgFxEffect |
getSceneAmbientValue(CgFxParameter param, float *value) const | CgFxEffect |
getSceneFrameNumberValue(CgFxParameter param, int *value) const | CgFxEffect |
getSourceCode(std::string &code) const | CgFxEffect |
getStringAnnotationValue(CgFxAnnotation anno, std::string &value) const | CgFxEffect |
getStringParameterValue(CgFxParameter param, std::string &value) const | CgFxEffect |
getStructParameterMember(CgFxParameter param, unsigned int index) const | CgFxEffect |
getStructParameterMemberByName(CgFxParameter param, const std::string &member) const | CgFxEffect |
getSwitchIncarnation() const (defined in Object) | Object |
getTechnique(unsigned int index) const | CgFxEffect |
getTechniqueAnnotation(CgFxTechnique tech, unsigned int index) const | CgFxEffect |
getTechniqueAnnotationByName(CgFxTechnique tech, const std::string &name) const | CgFxEffect |
getTechniqueByName(const std::string &name) const | CgFxEffect |
getTechniqueIndex(CgFxTechnique tech) const | CgFxEffect |
getTechniqueName(CgFxTechnique tech) const | CgFxEffect |
getTessellationControlProgram(CgFxPass pass) const | CgFxEffect |
getTessellationEvaluationProgram(CgFxPass pass) const | CgFxEffect |
getTransform(unsigned int index) const | CgFxEffect |
getTransformType(CgFxParameter param) const | CgFxEffect |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getTweakable(unsigned int index) const | CgFxEffect |
getTweakableByName(const std::string &name) const | CgFxEffect |
getTweakableBySemantic(const std::string &semantic) const | CgFxEffect |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getVertexProgram(CgFxPass pass) const | CgFxEffect |
hasDynamicNumberOfLights() const | CgFxEffect |
hasSamplerTextureHost(CgFxParameter param) const | CgFxEffect |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isArrayParameter(CgFxParameter param) const | CgFxEffect |
isBoolAnnotation(CgFxAnnotation anno) const | CgFxEffect |
isBoolParameter(CgFxParameter param) const | CgFxEffect |
isBoolPassState(CgFxPass pass, const std::string &name) const | CgFxEffect |
isBoolSamplerState(CgFxParameter param, const std::string &name) const | CgFxEffect |
isBufferedParameter(CgFxParameter param) const | CgFxEffect |
isDataShared() const | Object | [virtual]
isDynamicLightArrayParameter(CgFxParameter param) const | CgFxEffect |
nvsg::OwnedObject< CgFx >::isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
isFloatAnnotation(CgFxAnnotation anno) const | CgFxEffect |
isFloatParameter(CgFxParameter param) const | CgFxEffect |
isFloatPassState(CgFxPass pass, const std::string &name) const | CgFxEffect |
isFloatSamplerState(CgFxParameter param, const std::string &name) const | CgFxEffect |
isFromFile() const | CgFxEffect |
isFromLump() const | CgFxEffect |
isInputProgramParameter(CgFxProgram prog, CgFxParameter param) const | CgFxEffect |
isIntAnnotation(CgFxAnnotation anno) const | CgFxEffect |
isIntParameter(CgFxParameter param) const | CgFxEffect |
isIntPassState(CgFxPass pass, const std::string &name) const | CgFxEffect |
isIntSamplerState(CgFxParameter param, const std::string &name) const | CgFxEffect |
isLightArrayParameter(CgFxParameter param) const | CgFxEffect |
isLightDirectionParameter(CgFxParameter param) const | CgFxEffect |
isLightParameter(CgFxParameter param) const | CgFxEffect |
isLightPositionParameter(CgFxParameter param) const | CgFxEffect |
isLightTypeParameter(CgFxParameter param) const | CgFxEffect |
isMaterialParameter(CgFxParameter param) const | CgFxEffect |
isMatrix22Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix23Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix24Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix32Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix33Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix34Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix42Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix43Parameter(CgFxParameter param) const | CgFxEffect |
isMatrix44Parameter(CgFxParameter param) const | CgFxEffect |
isMipmapSamplerState(CgFxParameter sampler) const | CgFxEffect |
isOutputProgramParameter(CgFxProgram prog, CgFxParameter param) const | CgFxEffect |
isProgramCompiled(CgFxProgram prog) const | CgFxEffect |
isSampler1DParameter(CgFxParameter param) const | CgFxEffect |
isSampler2DParameter(CgFxParameter param) const | CgFxEffect |
isSampler3DParameter(CgFxParameter param) const | CgFxEffect |
isSamplerArrayParameter(CgFxParameter param) const | CgFxEffect |
isSamplerBufParameter(CgFxParameter param) const | CgFxEffect |
isSamplerCubeParameter(CgFxParameter param) const | CgFxEffect |
isSamplerParameter(CgFxParameter param) const | CgFxEffect |
isSamplerRectParameter(CgFxParameter param) const | CgFxEffect |
isScalarParameter(CgFxParameter param) const | CgFxEffect |
isSceneParameter(CgFxParameter param) const | CgFxEffect |
isStringAnnotation(CgFxAnnotation anno) const | CgFxEffect |
isStringParameter(CgFxParameter param) const | CgFxEffect |
isStructParameter(CgFxParameter param) const | CgFxEffect |
isTextureSamplerCompliant(CgFxParameter sampler, const TextureSharedPtr &image) const | CgFxEffect |
isTransformParameter(CgFxParameter param) const | CgFxEffect |
isTransparentPass(CgFxPass pass) const | CgFxEffect |
isValid() const | CgFxEffect |
isVector2Parameter(CgFxParameter param) const | CgFxEffect |
isVector3Parameter(CgFxParameter param) const | CgFxEffect |
isVector4Parameter(CgFxParameter param) const | CgFxEffect |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MSL_LIGHT_INFINITE enum value | CgFxEffect |
MSL_LIGHT_POSITION enum value | CgFxEffect |
MSL_LIGHT_SPOT enum value | CgFxEffect |
MSL_MAX_LIGHTS enum value | CgFxEffect |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NUM_TRAFOS enum value (defined in CgFxEffect) | CgFxEffect |
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
nvsg::OwnedObject< CgFx >::operator=(const OwnedObject< CgFx > &rhs) | OwnedObject< CgFx > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< CgFx > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< CgFx > | [protected]
OwnedObject(const OwnedObject< CgFx > &rhs) | OwnedObject< CgFx > | [protected]
OwnerContainer typedef (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > |
OwnerIterator typedef (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > |
ownersBegin() const (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > | [inline]
ownersEnd() const (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PROGRAM_IO_FRAGMENT enum value | CgFxEffect |
PROGRAM_IO_LINE enum value | CgFxEffect |
PROGRAM_IO_LINE_ADJ enum value | CgFxEffect |
PROGRAM_IO_POINT enum value | CgFxEffect |
PROGRAM_IO_TRIANGLE enum value | CgFxEffect |
PROGRAM_IO_TRIANGLE_ADJ enum value | CgFxEffect |
PROGRAM_IO_VERTEX enum value | CgFxEffect |
ProgramIOType enum name | CgFxEffect |
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, CgFxEffect) (defined in CgFxEffect) | CgFxEffect |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(CgFx *owner) (defined in OwnedObject< CgFx >) | OwnedObject< CgFx > | [protected]
resetLightValues(CgFxParameter param) | CgFxEffect |
resetMaterialValues(CgFxParameter param) | CgFxEffect |
resetPass(unsigned int index) | CgFxEffect |
resetSceneValues(CgFxParameter param) | CgFxEffect |
setAnnotation(const std::string &anno) | Object |
setBoolParameterValue(CgFxParameter param, const int *value) | CgFxEffect |
setBoolSamplerStateValue(CgFxParameter param, const std::string &name, const int *value) const | CgFxEffect |
setCurrentTechnique(CgFxTechnique tech) | CgFxEffect |
setDynamicNumberOfLights(unsigned int num) | CgFxEffect |
setFloatParameterValue(CgFxParameter param, const float *value) | CgFxEffect |
setFloatSamplerStateValue(CgFxParameter param, const std::string &name, const float *value) const | CgFxEffect |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIntParameterValue(CgFxParameter param, const int *value) | CgFxEffect |
setIntSamplerStateValue(CgFxParameter param, const std::string &name, const int *value) const | CgFxEffect |
setLightAmbientValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightConstantAttenuationValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightDiffuseValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightDirectionValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightLinearAttenuationValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightPositionValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightQuadraticAttenuationValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightSpecularValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightSpotCutoffValue(CgFxParameter param, const float *value) | CgFxEffect |
setLightSpotExponentValue(CgFxParameter param, const float *value) | CgFxEffect |
setMaterialAmbientValue(CgFxParameter param, const float *value) | CgFxEffect |
setMaterialDiffuseValue(CgFxParameter param, const float *value) | CgFxEffect |
setMaterialEmissionValue(CgFxParameter param, const float *value) | CgFxEffect |
setMaterialShininessValue(CgFxParameter param, const float *value) | CgFxEffect |
setMaterialSpecularValue(CgFxParameter param, const float *value) | CgFxEffect |
setMslLightDirectionValue(CgFxParameter param, const float *value) | CgFxEffect |
setMslLightPositionValue(CgFxParameter param, const float *value) | CgFxEffect |
setMslLightTypeValue(CgFxParameter param, int value) | CgFxEffect |
setName(const std::string &name) | Object |
setParameterValueAsFloat(CgFxParameter param, const float *value) | CgFxEffect |
setProgramBuffer(CgFxProgram prog, CgFxBuffer b, size_t index) | CgFxEffect |
setProgramProfile(CgFxProgram prog, CGprofile profile) | CgFxEffect |
setSamplerTexture(CgFxParameter param, const TextureSharedPtr &image) | CgFxEffect |
setSamplerTextureGPUFormat(CgFxParameter param, TextureHost::TextureGPUFormat format) | CgFxEffect |
setSceneAmbientValue(CgFxParameter param, const float *value) | CgFxEffect |
setSceneFrameNumberValue(CgFxParameter param, const int *value) | CgFxEffect |
setStringParameterValue(CgFxParameter param, const std::string &value) | CgFxEffect |
setTransformValue(CgFxParameter param, const float *value) | CgFxEffect |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
TRAFO_MODEL enum value | CgFxEffect |
TRAFO_MODELI enum value | CgFxEffect |
TRAFO_MODELINVERSE enum value | CgFxEffect |
TRAFO_MODELINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_MODELIT enum value | CgFxEffect |
TRAFO_MODELT enum value | CgFxEffect |
TRAFO_MODELTRANSPOSE enum value | CgFxEffect |
TRAFO_MODELVIEW enum value | CgFxEffect |
TRAFO_MODELVIEWI enum value | CgFxEffect |
TRAFO_MODELVIEWINVERSE enum value | CgFxEffect |
TRAFO_MODELVIEWINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_MODELVIEWIT enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTION enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTIONI enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTIONINVERSE enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTIONINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTIONIT enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTIONT enum value | CgFxEffect |
TRAFO_MODELVIEWPROJECTIONTRANSPOSE enum value | CgFxEffect |
TRAFO_MODELVIEWT enum value | CgFxEffect |
TRAFO_MODELVIEWTRANSPOSE enum value | CgFxEffect |
TRAFO_PROJECTION enum value | CgFxEffect |
TRAFO_PROJECTIONI enum value | CgFxEffect |
TRAFO_PROJECTIONINVERSE enum value | CgFxEffect |
TRAFO_PROJECTIONINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_PROJECTIONIT enum value | CgFxEffect |
TRAFO_PROJECTIONT enum value | CgFxEffect |
TRAFO_PROJECTIONTRANSPOSE enum value | CgFxEffect |
TRAFO_UNKNOWN enum value | CgFxEffect |
TRAFO_VIEW enum value | CgFxEffect |
TRAFO_VIEWI enum value | CgFxEffect |
TRAFO_VIEWINVERSE enum value | CgFxEffect |
TRAFO_VIEWINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_VIEWIT enum value | CgFxEffect |
TRAFO_VIEWPROJECTION enum value | CgFxEffect |
TRAFO_VIEWPROJECTIONI enum value | CgFxEffect |
TRAFO_VIEWPROJECTIONINVERSE enum value | CgFxEffect |
TRAFO_VIEWPROJECTIONINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_VIEWPROJECTIONIT enum value | CgFxEffect |
TRAFO_VIEWPROJECTIONT enum value | CgFxEffect |
TRAFO_VIEWPROJECTIONTRANSPOSE enum value | CgFxEffect |
TRAFO_VIEWT enum value | CgFxEffect |
TRAFO_VIEWTRANSPOSE enum value | CgFxEffect |
TRAFO_WORLD enum value | CgFxEffect |
TRAFO_WORLDI enum value | CgFxEffect |
TRAFO_WORLDINVERSE enum value | CgFxEffect |
TRAFO_WORLDINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_WORLDIT enum value | CgFxEffect |
TRAFO_WORLDT enum value | CgFxEffect |
TRAFO_WORLDTRANSPOSE enum value | CgFxEffect |
TRAFO_WORLDVIEW enum value | CgFxEffect |
TRAFO_WORLDVIEWI enum value | CgFxEffect |
TRAFO_WORLDVIEWINVERSE enum value | CgFxEffect |
TRAFO_WORLDVIEWINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_WORLDVIEWIT enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTION enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTIONI enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTIONINVERSE enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTIONINVERSETRANSPOSE enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTIONIT enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTIONT enum value | CgFxEffect |
TRAFO_WORLDVIEWPROJECTIONTRANSPOSE enum value | CgFxEffect |
TRAFO_WORLDVIEWT enum value | CgFxEffect |
TRAFO_WORLDVIEWTRANSPOSE enum value | CgFxEffect |
TransformType enum name | CgFxEffect |
updateLightingState(size_t firstLabel, size_t secondLabel) | CgFxEffect |
updateMaterialState(size_t firstLabel, size_t secondLabel) | CgFxEffect |
updateSceneState(size_t firstLabel, size_t secondLabel) | CgFxEffect |
updateTransformState(size_t firstLabel, size_t secondLabel) | CgFxEffect |
validateCurrentTechnique() | CgFxEffect |
~CgFxEffect() | CgFxEffect | [protected]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< CgFx > | [protected]

Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: Chunk Class Reference

nvutil::Chunk

Chunk Class Reference

Chunk of memory for our low level memory managment of fixed size objects. More...

#include <Allocator.h>

List of all members.

Public Member Functions

Chunk (size_t blockSize)
construct a chunk of blockSize bytes
bool | operator== (const Chunk &rhs) const
provide comparison of chunks
bool | operator!= (const Chunk &rhs) const
void * | alloc ()
memory management interface
void | dealloc (void *p)
void | freeMemory ()
explicitely free memory
unsigned char | blocksAvailable () const
provide number of blocks available in this chunk
bool | isUnused () const
for cleanup purposes, provide check if chunk is entirely unused
bool | isInsideBounds (void *p) const
provide address checking
void * | lowerBound () const
helpers used with address checking
void * | upperBound () const

Detailed Description

Chunk of memory for our low level memory managment of fixed size objects.

Constructor & Destructor Documentation

Chunk ( size_t blockSize )

construct a chunk of blockSize bytes

Member Function Documentation

bool operator== ( const Chunk & rhs ) const [inline]

provide comparison of chunks

Chunk::operator==()

returns true if rhs equals this chunk

bool operator!= ( const Chunk & rhs ) const [inline]

Chunk::operator!=()

returns true if rhs not equals this chunk

void * alloc ( ) [inline]

memory management interface

Chunk::alloc()

get one block from chunk; returns NULL if no blocks available

void dealloc ( void * p ) [inline]

Chunk::dealloc()

deallocate a block pointed to by p

void freeMemory ( ) [inline]

explicitely free memory

Chunk::freeMemory()

explicitely free chunk's raw memory

unsigned char blocksAvailable ( ) const [inline]

provide number of blocks available in this chunk

Chunk::blocksAvailable()

provides number of blocks available in this chunk

bool isUnused ( ) const [inline]

for cleanup purposes, provide check if chunk is entirely unused

Chunk::isUnused()

for cleanup purposes, provide check if chunk is entirely unused

bool isInsideBounds ( void * p ) const [inline]

provide address checking

Chunk::isInsideBounds()

returns true if the address given belongs to this chunk; false otherwise

void * lowerBound ( ) const [inline]

helpers used with address checking

Chunk::lowerBound()

query lower bound of memory chunk

void * upperBound ( ) const [inline]

Chunk::upperBound()

query upper bound of memory chunk

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

Chunk Member List

This is the complete list of members for Chunk, including all inherited members.

alloc() | Chunk | [inline]
blocksAvailable() const | Chunk | [inline]
Chunk(size_t blockSize) | Chunk |
dealloc(void *p) | Chunk | [inline]
freeMemory() | Chunk | [inline]
isInsideBounds(void *p) const | Chunk | [inline]
isUnused() const | Chunk | [inline]
lowerBound() const | Chunk | [inline]
operator!=(const Chunk &rhs) const | Chunk | [inline]
operator==(const Chunk &rhs) const | Chunk | [inline]
upperBound() const | Chunk | [inline]

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: ClipPlane Class Reference

nvsg::ClipPlane

ClipPlane Class Reference

Defines a user clipping plane. More...

#include <ClipPlane.h>

Inheritance diagram for ClipPlane:

[legend]
Collaboration diagram for ClipPlane:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setNormal (const nvmath::Vec3f &normal)
Defines the orientation of the ClipPlane.
NVSG_API const nvmath::Vec3f & | getNormal () const
Retrieves the ClipPlane's normal vector.
NVSG_API void | setOffset (float offset)
Defines the ClipPlane's offset.
NVSG_API float | getOffset () const
Retrieves the ClipPlane's offset.
NVSG_API void | setEnabled (bool onOff)
Specifies the enable state of the ClipPlane.
NVSG_API bool | isEnabled () const
Retrieves the ClipPlane's current enable state.
NVSG_API float | getDistance (const nvmath::Vec3f &point) const
Returns the distance of the specified point to this ClipPlane.
NVSG_API bool | isInside (const nvmath::Vec3f &point) const
Evaluates if the indicated point lies inside the half-space defined by the ClipPlane.
virtual NVSG_API bool | isEquivalent (const Object *object, bool ignoreNames, bool deepCompare) const
Tests whether the indicated object is equivalent to this ClipPlane.
REFLECTION_INFO_API (NVSG_API, ClipPlane)

Static Public Member Functions

static NVSG_API ClipPlaneSharedPtr | create ()

Protected Member Functions

NVSG_API | ClipPlane ()
Default-constructs a ClipPlane.
NVSG_API | ClipPlane (const ClipPlane &rhs)
Copy-constructs a ClipPlane from a source ClipPlane.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Defines a user clipping plane.

Remarks:
A ClipPlane will be defined through a normal vector, that is - a vector perpendicular to the plane, and the distance, or offset, to the origin along the ClipPlane's normal. The ClipPlane is specified in object space. All points x in object space that satisfy normal * x + offset >=0 lie in the half-space defined by the ClipPlane. All points outside this half-space will be clipped away during rendering.

A ClipPlane in SceniX can be added to a Group using the Group::addClipPlane API. If a ClipPlane is enabled, it will affect all children of the Group it was added to. Also, a ClipPlane will be transformed by the exact same hierarchy of Transforms that apply to the Group it was added to.
Namespace: nvsg

Constructor & Destructor Documentation

NVSG_API ClipPlane ( ) [protected]

Default-constructs a ClipPlane.

Remarks:
This constructor will be called on instantiation through ClipPlane::create(). All plane coefficients are set to 0 after default construction, and the ClipPlane is enabled.

NVSG_API ClipPlane ( const ClipPlane & rhs ) [protected]

Copy-constructs a ClipPlane from a source ClipPlane.

Parameters:
rhs ClipPlane object that is taken as source.
Remarks:
This copy-constructor will be called when ClipPlaneHandle::clone is invoked. It completely copies the state of the right-hand-sided object.

Member Function Documentation

NVSG_API void setNormal ( const nvmath::Vec3f & normal )

Defines the orientation of the ClipPlane.

Parameters:
normal Defines the normal vector of the ClipPlane which defines the orientation of the plane in object space.
Remarks:
This function lets you specify the orientation of the ClipPlane in object space. The ClipPlane's normal vector together with the ClipPlane's offset completely defines the ClipPlane. All points x in object space that satisfy normal * x + offset >= 0 lie in the half-space defined by the ClipPlane. All points outside this half-space are clipped away.
See also:
setOffset, getNormal

const nvmath::Vec3f & getNormal ( ) const [inline]

Retrieves the ClipPlane's normal vector.

Returns:
The function returns the normal vector of the ClipPlane as last specified through setNormal.
See also:
setNormal

NVSG_API void setOffset ( float offset )

Defines the ClipPlane's offset.

Parameters:
offset Specifies the offset of the ClipPlane in object space.
Remarks:
This function lets you specify the distance of the ClipPlane to the object space origin along the ClipPlane's normal vector. The ClipPlane's normal vector together with the ClipPlane's offset completely defines the ClipPlane. All points x in object space that satisfy normal * x + offset >= 0 lie in the half-space defined by the ClipPlane. All points outside this half-space are clipped away.
See also:
setNormal, getOffset

float getOffset ( ) const [inline]

Retrieves the ClipPlane's offset.

Returns:
The function returns the ClipPlane's offset as last specified through setOffset.
See also:
setOffset

NVSG_API void setEnabled ( bool onOff )

Specifies the enable state of the ClipPlane.

Parameters:
onOff Indicates the new enable state. If you pass false, the ClipPlane will be further on ignored during rendering until you re-enable it. Passing true enables the ClipPlane for rendering.
See also:
isEnabled

bool isEnabled ( ) const [inline]

Retrieves the ClipPlane's current enable state.

Returns:
true if the ClipPlane is enabled for rendering, false otherwise.
Remarks:
If a ClipPlane is disabled, that is - if this function returns false, it will be ignored during rendering.
See also:
setEnabled

float getDistance ( const nvmath::Vec3f & point ) const [inline]

Returns the distance of the specified point to this ClipPlane.

Parameters:
point The point, in object space, for which to calculate the distance to this ClipPlane.
Returns:
The function returns the distance of the given point to the ClipPlane along the ClipPlane's normal.
Remarks:
The function expects the point to evaluate to be in object space. A negative return value indicates that the point lies outside the half-space defined by this ClipPlane. If the ClipPlane is enabled, all points outside this half-space will be clipped away during rendering.
See also:
isInside

bool isInside ( const nvmath::Vec3f & point ) const [inline]

Evaluates if the indicated point lies inside the half-space defined by the ClipPlane.

Parameters:
point Indicates the point in object space to evaluate.
Returns:
The function returns true if the indicated point lies inside the half-space defined by the ClipPlane.
Remarks:
Use this function to test if a given point in object space lies inside the half-space defined by the ClipPlane. If the function returns false, the indicated point lies outside this half-space and would be clipped away during rendering if the ClipPlane is enabled. Alternative to this function, you can also use getDistance and evaluate its return value. If getDistance returns a negative value, the point lies outside the half-space defined by this ClipPlane. Otherwise, it lies inside the half-space.
See also:
getDistance

virtual NVSG_API bool isEquivalent | ( | const Object * | object,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Tests whether the indicated object is equivalent to this ClipPlane.

Parameters:
object | The object to test against this ClipPlane.
ignoreNames | Specifies if Object names should be considered for the test or not. If true, object names will be ignored while testing.
deepCompare | This parameter does not apply for testing ClipPlanes and can be ignored.
Remarks:
This function overrides Object::isEquivalent.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • ClipPlane.h
Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: Member List

ClipPlane Member List

This is the complete list of members for ClipPlane, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
ClipPlane() | ClipPlane | [protected]
ClipPlane(const ClipPlane &rhs) | ClipPlane | [protected]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in ClipPlane) | ClipPlane | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | ClipPlane | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDistance(const nvmath::Vec3f &point) const | ClipPlane | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNormal() const | ClipPlane | [inline]
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getObjectCode() const | Object | [inline]
getOffset() const | ClipPlane | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEnabled() const | ClipPlane | [inline]
isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const | ClipPlane | [virtual]
isInside(const nvmath::Vec3f &point) const | ClipPlane | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, ClipPlane) (defined in ClipPlane) | ClipPlane |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
setAnnotation(const std::string &anno) | Object |
setEnabled(bool onOff) | ClipPlane |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setNormal(const nvmath::Vec3f &normal) | ClipPlane |
setOffset(float offset) | ClipPlane |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: ClipPlanesElement Class Reference

nvtraverser::ClipPlanesElement

ClipPlanesElement Class Reference

Helper class to hold the clip planes valid for a number of PrimitiveSets. More...

#include <ClipPlanesElement.h>

List of all members.

Public Member Functions

NVSG_API | ClipPlanesElement ()
Default constructor.
NVSG_API | ClipPlanesElement (const nvsg::GroupSharedPtr &group, const nvmath::Mat44f &modelToWorld, const ClipPlanesElement &rhs)
Constructor of a ClipPlanesElement.
NVSG_API const nvmath::Plane3f & | getClipPlane (unsigned int index) const
Get the clip plane at index index.
NVSG_API const nvsg::GroupWeakPtr & | getGroup () const
Get the Group corresponding to this ClipPlanesElement.
NVSG_API const nvmath::Mat44f & | getModelToWorld (unsigned int index) const
Get the model-to-world transformation matrix at index index.
NVSG_API unsigned int | getNumberOfClipPlanes () const
Get the number of clip planes in this ClipPlanesElement.

Detailed Description

Helper class to hold the clip planes valid for a number of PrimitiveSets.

Remarks:
This class holds the complete clip plane information valid for the objects being beneath a Group in the scene tree.
See also:
BaseRenderElement

Constructor & Destructor Documentation

ClipPlanesElement ( ) [inline]

Default constructor.

Remarks:
The default constructor initializes the corresponding Group to be NULL. It is used to initialize the stack of ClipPlanesElements maintained by the RenderTraverser.

ClipPlanesElement | ( | const nvsg::GroupSharedPtr & | group,
 |  | const nvmath::Mat44f & | modelToWorld,
 |  | const ClipPlanesElement & | rhs
 | ) | [inline]

Constructor of a ClipPlanesElement.

Parameters:
group | A pointer to the Group that adds at least one clip plane.
modelToWorld | A reference to the corresponding constant model to world transformation matrix.
rhs | A reference to the constant ClipPlanesElement to get the first clip planes from.
Remarks:
The RenderTraverser maintains a stack of ClipPlaneElmenents. Whenever a Group with at least one clip plane is encountered on traversal, a new ClipPlaneElement is pushed on that stack, holding all the clip planes being valid at that point, plus the clip planes defined in that Group.

Member Function Documentation

const nvmath::Plane3f & getClipPlane ( unsigned int index ) const [inline]

Get the clip plane at index index.

Parameters:
index The index of the clip plane to get.
Returns:
The clip plane at index index.
Note:
The behavior is undefined, if index is larger or equal to the number of clip planes in this ClipPlanesElement.
See also:
getNumberOfClipPlanes, getModelToWorld

const nvsg::GroupWeakPtr & getGroup ( ) const [inline]

Get the Group corresponding to this ClipPlanesElement.

Returns:
The Group corresponding to this ClipPlanesElement.
Remarks:
This is used in RenderTraverser::postTraverseGroup to ensure that this is a Group that added some clip planes.

const nvmath::Mat44f & getModelToWorld ( unsigned int index ) const [inline]

Get the model-to-world transformation matrix at index index.

Parameters:
index The index of the model-to-world transformation matrix to get.
Returns:
The model-to-world transformation matrix corresponding to the clip plane at index index.
Note:
The behavior is undefined, if index is larger or equal to the number of clip planes in this ClipPlanesElement.
See also:
getNumberOfClipPlanes, getClipPlane

unsigned int getNumberOfClipPlanes ( ) const [inline]

Get the number of clip planes in this ClipPlanesElement.

Returns:
The number of clip planes in this ClipPlanesElement.
Remarks:
For each of the clip planes, there is a corresponding model-to-world transformation matrix.
See also:
getClipPlane, getModelToWorld

The documentation for this class was generated from the following file:
  • ClipPlanesElement.h
Generated on Fri Jul 13 13:30:41 2012 for SceniX


SceniX: Member List

ClipPlanesElement Member List

This is the complete list of members for ClipPlanesElement, including all inherited members.

ClipPlanesElement() | ClipPlanesElement | [inline]
ClipPlanesElement(const nvsg::GroupSharedPtr &group, const nvmath::Mat44f &modelToWorld, const ClipPlanesElement &rhs) | ClipPlanesElement | [inline]
getClipPlane(unsigned int index) const | ClipPlanesElement | [inline]
getGroup() const | ClipPlanesElement | [inline]
getModelToWorld(unsigned int index) const | ClipPlanesElement | [inline]
getNumberOfClipPlanes() const | ClipPlanesElement | [inline]

Generated on Fri Jul 13 13:30:41 2012 for SceniX


SceniX: CloneObject Struct Reference

nvutil::CloneObject

CloneObject Struct Reference

Functor class to clone an object. More...

#include <Handle.h>

List of all members.

Public Member Functions

template<typename T>
SmartPtr< T > operator() (const SmartPtr< T > &src)
The function call operator of this functor.

Detailed Description

Functor class to clone an object.

Remarks:
This Functor can be used, for example, to clone all objects of a STL container, using the STL algorithm transform.

Member Function Documentation

SmartPtr<T> operator() ( const SmartPtr< T > & src ) [inline]

The function call operator of this functor.

Parameters:
src A reference to the SmartPtr to clone.
Returns:
A clone of the parameter src.

The documentation for this struct was generated from the following file:
  • Handle.h
Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CloneObject Member List

This is the complete list of members for CloneObject, including all inherited members.

operator()(const SmartPtr< T > &src) CloneObject [inline]

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: CombinableResult Class Reference

nvtraverser::CombinableResult

CombinableResult Class Reference

AnalyzeResult indicating that a number of Objects can be combined. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for CombinableResult:

[legend]
Collaboration diagram for CombinableResult:

[legend]
List of all members.

Public Attributes

unsigned int | combinableCount
The number of combinable objects of this type.
unsigned int | reducedCount
The number of objects of this type, if combinable objects would be combined.

Detailed Description

AnalyzeResult indicating that a number of Objects can be combined.

Namespace: nvsg
Remarks:
Reports if, and how many, combinable Objects are in the tree. It tells how many objects of the type objectCode are combinable, and by how many objects they could be replaced with. Currently, the following objects are checked for combinability: nvsg::GeoNode, nvsg::Lines, nvsg::LineStrips, nvsg::Points, nvsg::QuadMeshes, nvsg::Quads, nvsg::QuatStrips, nvsg::Triangles, nvsg::TriFans, and nvsg::TriStrips.
See also:
AnalyzeResult AnalyzeTraverser

Member Data Documentation

unsigned int combinableCount

The number of combinable objects of this type.

unsigned int reducedCount

The number of objects of this type, if combinable objects would be combined.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: Member List

CombinableResult Member List

This is the complete list of members for CombinableResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
combinableCount | CombinableResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
reducedCount | CombinableResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~CombinableResult() (defined in CombinableResult) | CombinableResult | [inline, virtual]

Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: CombineTraverser Class Reference

nvtraverser::CombineTraverser

CombineTraverser Class Reference

Traverser that combines a number of Objects, if appropriate. More...

#include <CombineTraverser.h>

Inheritance diagram for CombineTraverser:

[legend]
Collaboration diagram for CombineTraverser:

[legend]
List of all members.

Public Types

enum {
CT_GEONODE = BIT0, CT_LOD = BIT1, CT_LOD_RANGES = BIT2, CT_PRIMITIVE_SET = BIT3,
CT_PRIMITIVE = CT_PRIMITIVE_SET, CT_TRANSFORM = BIT4, CT_ALL_TARGETS_MASK = ( CT_GEONODE | CT_LOD | CT_LOD_RANGES | CT_PRIMITIVE_SET | CT_TRANSFORM )
}

Public Member Functions

NVSG_API | CombineTraverser (void)
Constructor.
NVSG_API unsigned int | getCombineTargets () const
Get the bitmask describing the targets to combine.
NVSG_API void | setCombineTargets (unsigned int mask)
Set the bitmask describing the targets to combine.
NVSG_API bool | getIgnoreAccelerationBuilderHints () const
Get the 'ignore acceleration builder' hint.
NVSG_API void | setIgnoreAccelerationBuilderHints (bool ignore)
Set the 'ignore acceleration builder' hint.
REFLECTION_INFO_API (NVSG_API, CombineTraverser)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (CombineTargets)
NVSG_API | DECLARE_STATIC_PROPERTY (IgnoreAccelerationBuilderHints)

Static Public Member Functions

static NVSG_API bool | areCombinable (const nvsg::Drawable *p0, const nvsg::Drawable *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::Group *p0, const nvsg::Group *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::LOD *p0, const nvsg::LOD *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::Object *p0, const nvsg::Object *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::Primitive *p0, const nvsg::Primitive *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::QuadPatches *p0, const nvsg::QuadPatches *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::RectPatches *p0, const nvsg::RectPatches *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::Skin *p0, const nvsg::Skin *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::Transform *p0, const nvsg::Transform *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::TriPatches *p0, const nvsg::TriPatches *p1, bool ignoreNames)
static NVSG_API bool | areCombinable (const nvsg::VertexAttributeSet *p0, const nvsg::VertexAttributeSet *p1, bool ignoreNames)

Public Attributes

enum nvtraverser::CombineTraverser:: { ... } | CombineTarget

Protected Member Functions

virtual NVSG_API | ~CombineTraverser (void)
Protected destructor to prevent instantiation of a CombineTraverser on stack.
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *p)
Combine all GeoNodes and LODs directly underneath this AnimatedTransform.
virtual NVSG_API void | handleBillboard (nvsg::Billboard *p)
Combine all GeoNodes and LODs directly underneath this Billboard.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Combine all PrimitiveSets of the same type bound to the same StateSet.
virtual NVSG_API void | handleGroup (nvsg::Group *p)
Combine all GeoNodes and LODs directly underneath this Group.
virtual NVSG_API void | handleLines (nvsg::Lines *p)
Gather Lines to combine PrimitiveSets.
virtual NVSG_API void | handleLineStrips (nvsg::LineStrips *p)
Gather LineStrips to combine PrimitiveSets.
virtual NVSG_API void | handleLOD (nvsg::LOD *p)
Combine all consecutive LOD ranges referencing the same Node.
virtual NVSG_API void | handlePoints (nvsg::Points *p)
Gather Points to combine PrimitiveSets.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Gather Primitives to combine.
virtual NVSG_API void | handleQuadMeshes (nvsg::QuadMeshes *p)
Gather QuadMeshes to combine PrimitiveSets.
virtual NVSG_API void | handleQuadPatches (nvsg::QuadPatches *p)
Gather QuadPatches to combine Primitive.
virtual NVSG_API void | handleQuadPatches4x4 (nvsg::QuadPatches4x4 *p)
Gather QuadPatches4x4 to combine Primitive.
virtual NVSG_API void | handleQuads (nvsg::Quads *p)
Gather Quads to combine PrimitiveSets.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *p)
Gather QuadStrips to combine PrimitiveSets.
virtual NVSG_API void | handleRectPatches (nvsg::RectPatches *p)
Gather RectPatches to combine Primitive.
virtual NVSG_API void | handleTransform (nvsg::Transform *p)
Combine all GeoNodes and LODs directly underneath this Transform.
virtual NVSG_API void | handleTriangles (nvsg::Triangles *p)
Gather Triangles to combine PrimitiveSets.
virtual NVSG_API void | handleTriFans (nvsg::TriFans *p)
Gather TriFans to combine PrimitiveSets.
virtual NVSG_API void | handleTriPatches (nvsg::TriPatches *p)
Gather TriPatches to combine Primitive.
virtual NVSG_API void | handleTriPatches4 (nvsg::TriPatches4 *p)
Gather TriPatches4 to combine Primitive.
virtual NVSG_API void | handleTriStrips (nvsg::TriStrips *p)
Gather TriStrips to combine PrimitiveSets.
virtual NVSG_API bool | preTraverseDrawables (const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci)
Keep track of the current StateSet.

Classes

class | PrimitiveContainer
class | PrimitiveContainerContainer
class | PrimitiveMap

Detailed Description

Traverser that combines a number of Objects, if appropriate.

Remarks:
There are a number of different objects types combinable:
  • All geometries of all GeoNodes under one Group are combined into a single GeoNode.
  • All LODs with the same ranges under one Group into a single LOD.
  • Consecutive ranges in an LOD that reference the same Node into one range.
  • All PrimitveSets of the same type bound to the same StateSet are combined into one.

Member Enumeration Documentation

anonymous enum

Enumeration values:
CT_GEONODE | CombineTarget GeoNode: combine compatible GeoNode objects into one.
CT_LOD | CombineTarget LOD: combine compatible LOD objects into one.
CT_LOD_RANGES | CombineTarget LOD Range: combine identical adjacent LOD levels into one.
CT_PRIMITIVE_SET | CombineTarget PrimitiveSet: combine compatible PrimitiveSet objects into one.
CT_TRANSFORM | CombineTarget Transform: combine compatible Transform objects into one.

Constructor & Destructor Documentation

NVSG_API CombineTraverser ( void )

Constructor.

virtual NVSG_API ~CombineTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a CombineTraverser on stack.

Member Function Documentation

unsigned int getCombineTargets ( ) const [inline]

Get the bitmask describing the targets to combine.

Returns:
A bitmask describing the targets to combine.

void setCombineTargets ( unsigned int mask ) [inline]

Set the bitmask describing the targets to combine.

Parameters:
mask The bitmask describing the targets to combine.

bool getIgnoreAccelerationBuilderHints ( ) const [inline]

Get the 'ignore acceleration builder' hint.

If the 'ignore acceleration builder' hint is set, combinable objects with different hints are still considered for combining.

Returns:
true if the names will be ignored, otherwise false

void setIgnoreAccelerationBuilderHints ( bool ignore ) [inline]

Set the 'ignore acceleration builder' hint.

If the 'ignore acceleration builder' hint is set, combinable objects with different hints are still considered for combining.

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * p ) [protected, virtual]

Combine all GeoNodes and LODs directly underneath this AnimatedTransform.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleBillboard ( nvsg::Billboard * p ) [protected, virtual]

Combine all GeoNodes and LODs directly underneath this Billboard.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Combine all PrimitiveSets of the same type bound to the same StateSet.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGroup ( nvsg::Group * p ) [protected, virtual]

Combine all GeoNodes and LODs directly underneath this Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLines ( nvsg::Lines * p ) [protected, virtual]

Gather Lines to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLineStrips ( nvsg::LineStrips * p ) [protected, virtual]

Gather LineStrips to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLOD ( nvsg::LOD * p ) [protected, virtual]

Combine all consecutive LOD ranges referencing the same Node.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePoints ( nvsg::Points * p ) [protected, virtual]

Gather Points to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Gather Primitives to combine.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadMeshes ( nvsg::QuadMeshes * p ) [protected, virtual]

Gather QuadMeshes to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadPatches ( nvsg::QuadPatches * p ) [protected, virtual]

Gather QuadPatches to combine Primitive.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( nvsg::QuadPatches4x4 * p ) [protected, virtual]

Gather QuadPatches4x4 to combine Primitive.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * p ) [protected, virtual]

Gather Quads to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * p ) [protected, virtual]

Gather QuadStrips to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleRectPatches ( nvsg::RectPatches * p ) [protected, virtual]

Gather RectPatches to combine Primitive.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * p ) [protected, virtual]

Combine all GeoNodes and LODs directly underneath this Transform.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriangles ( nvsg::Triangles * p ) [protected, virtual]

Gather Triangles to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriFans ( nvsg::TriFans * p ) [protected, virtual]

Gather TriFans to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriPatches ( nvsg::TriPatches * p ) [protected, virtual]

Gather TriPatches to combine Primitive.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriPatches4 ( nvsg::TriPatches4 * p ) [protected, virtual]

Gather TriPatches4 to combine Primitive.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriStrips ( nvsg::TriStrips * p ) [protected, virtual]

Gather TriStrips to combine PrimitiveSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API bool preTraverseDrawables | ( | const nvsg::GeoNode * | gnode,
 |  | nvsg::GeoNode::StateSetConstIterator | ssci
 | ) | [protected, virtual]

Keep track of the current StateSet.

Reimplemented from Traverser.

The documentation for this class was generated from the following file:
  • CombineTraverser.h
Generated on Fri Jul 13 13:30:42 2012 for SceniX


SceniX: Member List

CombineTraverser Member List

This is the complete list of members for CombineTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
areCombinable(const nvsg::Drawable *p0, const nvsg::Drawable *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::Group *p0, const nvsg::Group *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::LOD *p0, const nvsg::LOD *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::Object *p0, const nvsg::Object *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::Primitive *p0, const nvsg::Primitive *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::QuadPatches *p0, const nvsg::QuadPatches *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::RectPatches *p0, const nvsg::RectPatches *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::Skin *p0, const nvsg::Skin *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::Transform *p0, const nvsg::Transform *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::TriPatches *p0, const nvsg::TriPatches *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
areCombinable(const nvsg::VertexAttributeSet *p0, const nvsg::VertexAttributeSet *p1, bool ignoreNames) (defined in CombineTraverser) | CombineTraverser | [static]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
CombineTarget (defined in CombineTraverser) | CombineTraverser |
CombineTraverser(void) | CombineTraverser |
CT_ALL_TARGETS_MASK enum value (defined in CombineTraverser) | CombineTraverser |
CT_GEONODE enum value | CombineTraverser |
CT_LOD enum value | CombineTraverser |
CT_LOD_RANGES enum value | CombineTraverser |
CT_PRIMITIVE enum value (defined in CombineTraverser) | CombineTraverser |
CT_PRIMITIVE_SET enum value | CombineTraverser |
CT_TRANSFORM enum value | CombineTraverser |
DECLARE_STATIC_PROPERTY(CombineTargets) (defined in CombineTraverser) | CombineTraverser |
DECLARE_STATIC_PROPERTY(IgnoreAccelerationBuilderHints) (defined in CombineTraverser) | CombineTraverser |
DECLARE_STATIC_PROPERTY(IgnoreNames) (defined in OptimizeTraverser) | OptimizeTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | OptimizeTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCombineTargets() const | CombineTraverser | [inline]
getCurrentTextureUnit() const | Traverser | [inline, protected]
getIgnoreAccelerationBuilderHints() const | CombineTraverser | [inline]
getIgnoreNames(void) const | OptimizeTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *p) | CombineTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | CombineTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | CombineTraverser | [protected, virtual]
handleGroup(nvsg::Group *p) | CombineTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *p) | CombineTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *p) | CombineTraverser | [protected, virtual]
handleLOD(nvsg::LOD *p) | CombineTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *p) | CombineTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | CombineTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *p) | CombineTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *p) | CombineTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *p) | CombineTraverser | [protected, virtual]
handleQuads(nvsg::Quads *p) | CombineTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *p) | CombineTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *p) | CombineTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | CombineTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *p) | CombineTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *p) | CombineTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *p) | CombineTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *p) | CombineTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *p) | CombineTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvtraverser::OptimizeTraverser::optimizationAllowed(const nvsg::Object *obj) | OptimizeTraverser | [protected, virtual]
OptimizeTraverser(void) | OptimizeTraverser |
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | CombineTraverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, CombineTraverser) (defined in CombineTraverser) | CombineTraverser |
REFLECTION_INFO_API(NVSG_API, OptimizeTraverser) (defined in OptimizeTraverser) | OptimizeTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCombineTargets(unsigned int mask) | CombineTraverser | [inline]
setIgnoreAccelerationBuilderHints(bool ignore) | CombineTraverser | [inline]
setIgnoreNames(bool ignore) | OptimizeTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~CombineTraverser(void) | CombineTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~OptimizeTraverser(void) | OptimizeTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:42 2012 for SceniX


SceniX: Conversion Class Template Reference

nvutil::Conversion

Conversion Class Template Reference

Helper class to detect at compile time when U is derived from T or when U is T. More...

#include <Conversion.h>

List of all members.

Public Types

enum | { exists = sizeof(test(makeT()))==sizeof(Small), sameType = 0 }

Classes

class | Big

Detailed Description

template<typename T, typename U>
class nvutil::Conversion< T, U >

Helper class to detect at compile time when U is derived from T or when U is T.

The documentation for this class was generated from the following file:
  • Conversion.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

Conversion Member List

This is the complete list of members for Conversion, including all inherited members.

exists enum value (defined in Conversion) | Conversion
sameType enum value (defined in Conversion) | Conversion

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Conversion< T, T > Class Template Reference

nvutil::Conversion< T, T >

Conversion< T, T > Class Template Reference

Specialization of the templated Conversion class for check of identical classes. More...

#include <Conversion.h>

List of all members.

Public Types

enum { exists = 1, sameType = 1 }

Detailed Description

template<typename T>
class nvutil::Conversion< T, T >

Specialization of the templated Conversion class for check of identical classes.

The documentation for this class was generated from the following file:
  • Conversion.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

Conversion< T, T > Member List

This is the complete list of members for Conversion< T, T >, including all inherited members.

exists enum value (defined in Conversion< T, T >) | Conversion< T, T >
sameType enum value (defined in Conversion< T, T >) | Conversion< T, T >

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: ConvertPrimitivesTraverser Class Reference

nvtraverser::ConvertPrimitivesTraverser

ConvertPrimitivesTraverser Class Reference

Traverser to convert Legacy primitive types to Primitive. More...

#include <ConvertPrimitivesTraverser.h>

Inheritance diagram for ConvertPrimitivesTraverser:

[legend]
Collaboration diagram for ConvertPrimitivesTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | ConvertPrimitivesTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~ConvertPrimitivesTraverser (void)
Protected destructor to prevent instantiation of a ConvertPrimitivesTraverser.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Override of the traversal initiating interface.
virtual NVSG_API void | postApply (const nvsg::NodeSharedPtr &root)
Notifier called from the framework directly after traversal.
virtual NVSG_API void | handleFlipbookAnimation (nvsg::FlipbookAnimation *p)
Handler function for a FlipbookAnimation.
virtual NVSG_API void | handleLOD (nvsg::LOD *p)
Handler function for an LOD.
virtual NVSG_API void | handleSwitch (nvsg::Switch *p)
Handler function for a Switch.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Handler function for a GeoNode.
virtual NVSG_API void | handlePoints (nvsg::Points *p)
Handler function for a Points.
virtual NVSG_API void | handleLines (nvsg::Lines *p)
Handler function for a Lines.
virtual NVSG_API void | handleTriangles (nvsg::Triangles *p)
Handler function for a Triangles.
virtual NVSG_API void | handleQuads (nvsg::Quads *p)
Handler function for a Quads.
virtual NVSG_API void | handleLineStrips (nvsg::LineStrips *p)
Handler function for a LineStrips.
virtual NVSG_API void | handleTriStrips (nvsg::TriStrips *p)
Handler function for a TriStrips.
virtual NVSG_API void | handleTriFans (nvsg::TriFans *p)
Handler function for a TriFans.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *p)
Handler function for a QuadStrips.
virtual NVSG_API void | handleQuadMeshes (nvsg::QuadMeshes *p)
Handler function for a QuadsMeshes.
virtual NVSG_API void | handleSkin (nvsg::Skin *p)
note, we currently don't support skinned primitives
NVSG_API nvsg::PrimitiveSharedPtr | convertPrimitive (nvsg::PrimitiveType primitiveType, const nvsg::IndependentPrimitiveSetWeakPtr &ip)
NVSG_API nvsg::PrimitiveSharedPtr | convertPrimitive (nvsg::PrimitiveType primitiveType, const nvsg::StrippedPrimitiveSetWeakPtr &sp)
NVSG_API nvsg::PrimitiveSharedPtr | convertPrimitive (nvsg::PrimitiveType primitiveType, const nvsg::MeshedPrimitiveSetWeakPtr &sp)

Detailed Description

Traverser to convert Legacy primitive types to Primitive.

Constructor & Destructor Documentation

NVSG_API ConvertPrimitivesTraverser ( void )

Constructor.

virtual NVSG_API ~ConvertPrimitivesTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a ConvertPrimitivesTraverser.

Member Function Documentation

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the traversal initiating interface.

Parameters:
root The Node to start traversal at.
Remarks:
This function is called from the framework after the Scene and the ViewState, if set, are locked. The actual traversal is done here.
See also:
preApply, postApply, lockViewState, unlockViewState

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void postApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Notifier called from the framework directly after traversal.

Parameters:
root The Node that was just traversed.
Remarks:
Custom traversers might override this notifier to process some post-traversal work. It is strongly recommended for custom overrides to call the base implementation in their code.
At the time of call, a custom override can rely on the optional Scene and the optional ViewState both _not_ being locked for read or write access by the calling thread.
Note:
Not calling the base implementation might result in undefined runtime behavior.
See also:
preApply

Reimplemented from Traverser.

virtual NVSG_API void handleFlipbookAnimation ( nvsg::FlipbookAnimation * p ) [protected, virtual]

Handler function for a FlipbookAnimation.

Parameters:
anim A pointer to the write-locked FlipbookAnimation being traversed.
Remarks:
This function is called from the framework whenever a FlipbookAnimation is encountered on traversal. The FlipbookAnimation anim is already write-locked.
The base implementation first traverses the associated IndexAnimation, and then calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup, IndexAnimation

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLOD ( nvsg::LOD * p ) [protected, virtual]

Handler function for an LOD.

Parameters:
lod A pointer to the write-locked LOD being traversed.
Remarks:
This function is called from the framework whenever an LOD is encountered on traversal. The LOD lod is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSwitch ( nvsg::Switch * p ) [protected, virtual]

Handler function for a Switch.

Parameters:
swtch A pointer to the write-locked Switch being traversed.
Remarks:
This function is called from the framework whenever a Switch is encountered on traversal. The Switch switch is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Handler function for a GeoNode.

Parameters:
gnode A pointer to the write-locked GeoNode being traversed.
Remarks:
This function is called from the framework whenever a GeoNode is encountered on traversal. The GeoNode gnode is already write-locked.
The base implementation just calls Traverser::traverseGeoNode().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGeoNode

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePoints ( nvsg::Points * p ) [protected, virtual]

Handler function for a Points.

Parameters:
points A pointer to the write-locked Points being traversed.
Remarks:
This function is called from the framework whenever a Points is encountered on traversal. The Points points is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLines ( nvsg::Lines * p ) [protected, virtual]

Handler function for a Lines.

Parameters:
lines A pointer to the write-locked Lines being traversed.
Remarks:
This function is called from the framework whenever a Lines is encountered on traversal. The Lines lines is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriangles ( nvsg::Triangles * p ) [protected, virtual]

Handler function for a Triangles.

Parameters:
triangles A pointer to the write-locked Triangles being traversed.
Remarks:
This function is called from the framework whenever a Triangles is encountered on traversal. The Triangles quads is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * p ) [protected, virtual]

Handler function for a Quads.

Parameters:
quads A pointer to the write-locked Quads being traversed.
Remarks:
This function is called from the framework whenever a Quads is encountered on traversal. The Quads quads is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLineStrips ( nvsg::LineStrips * p ) [protected, virtual]

Handler function for a LineStrips.

Parameters:
strips A pointer to the write-locked LineStrips being traversed.
Remarks:
This function is called from the framework whenever a LineStrips is encountered on traversal. The LineStrips strips is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriStrips ( nvsg::TriStrips * p ) [protected, virtual]

Handler function for a TriStrips.

Parameters:
strips A pointer to the write-locked TriStrips being traversed.
Remarks:
This function is called from the framework whenever a TriStrips is encountered on traversal. The TriStrips strips is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriFans ( nvsg::TriFans * p ) [protected, virtual]

Handler function for a TriFans.

Parameters:
fans A pointer to the write-locked TriFans being traversed.
Remarks:
This function is called from the framework whenever a TriFans is encountered on traversal. The TriFans fans is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * p ) [protected, virtual]

Handler function for a QuadStrips.

Parameters:
strips A pointer to the write-locked QuadStrips being traversed.
Remarks:
This function is called from the framework whenever a QuadStrips is encountered on traversal. The QuadStrips strips is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadMeshes ( nvsg::QuadMeshes * p ) [protected, virtual]

Handler function for a QuadsMeshes.

Parameters:
meshes A pointer to the write-locked QuadsMeshes being traversed.
Remarks:
This function is called from the framework whenever a QuadsMeshes is encountered on traversal. The QuadsMeshes meshes is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSkin ( nvsg::Skin * p ) [protected, virtual]

note, we currently don't support skinned primitives

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • ConvertPrimitivesTraverser.h
Generated on Fri Jul 13 13:30:42 2012 for SceniX


SceniX: Member List

ConvertPrimitivesTraverser Member List

This is the complete list of members for ConvertPrimitivesTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
convertPrimitive(nvsg::PrimitiveType primitiveType, const nvsg::IndependentPrimitiveSetWeakPtr &ip) (defined in ConvertPrimitivesTraverser) | ConvertPrimitivesTraverser | [protected]
convertPrimitive(nvsg::PrimitiveType primitiveType, const nvsg::StrippedPrimitiveSetWeakPtr &sp) (defined in ConvertPrimitivesTraverser) | ConvertPrimitivesTraverser | [protected]
convertPrimitive(nvsg::PrimitiveType primitiveType, const nvsg::MeshedPrimitiveSetWeakPtr &sp) (defined in ConvertPrimitivesTraverser) | ConvertPrimitivesTraverser | [protected]
ConvertPrimitivesTraverser(void) | ConvertPrimitivesTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ConvertPrimitivesTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleLOD(nvsg::LOD *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *p) | ConvertPrimitivesTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *p) | ConvertPrimitivesTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | ConvertPrimitivesTraverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ConvertPrimitivesTraverser(void) | ConvertPrimitivesTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:42 2012 for SceniX


SceniX: CPUSkinningProcessor Class Reference

nvtraverser::CPUSkinningProcessor

CPUSkinningProcessor Class Reference

CPUSkinningProcessor Class. More...

#include <CPUSkinningProcessor.h>

List of all members.

Public Member Functions

NVSG_API | CPUSkinningProcessor ()
Default constructor.
virtual NVSG_API void | process (bool process)
apply to scene
virtual NVSG_API AppTraverser::SkinningProcessorType | getType ()

Static Public Member Functions

static NVSG_API bool | isSupported (void)
is this processor supported on the current arch.

Protected Member Functions

virtual NVSG_API void | processSkin (const nvsg::SkinSharedPtr &skinwp, const nvsg::VertexAttributeSetSharedPtr &vaswp)

Detailed Description

CPUSkinningProcessor Class.

This class provides the mechanism to apply CPU skinning in the app post processor.

Constructor & Destructor Documentation

NVSG_API CPUSkinningProcessor ( )

Default constructor.

Member Function Documentation

virtual NVSG_API void process ( bool process ) [virtual]

apply to scene

static NVSG_API bool isSupported ( void ) [static]

is this processor supported on the current arch.

The documentation for this class was generated from the following file:
  • CPUSkinningProcessor.h
Generated on Fri Jul 13 13:30:42 2012 for SceniX


SceniX: Member List

CPUSkinningProcessor Member List

This is the complete list of members for CPUSkinningProcessor, including all inherited members.

CPUSkinningProcessor() | CPUSkinningProcessor |
getType() (defined in CPUSkinningProcessor) | CPUSkinningProcessor | [virtual]
isSupported(void) | CPUSkinningProcessor | [static]
process(bool process) | CPUSkinningProcessor | [virtual]
processSkin(const nvsg::SkinSharedPtr &skinwp, const nvsg::VertexAttributeSetSharedPtr &vaswp) (defined in CPUSkinningProcessor) | CPUSkinningProcessor | [protected, virtual]
~CPUSkinningProcessor() (defined in CPUSkinningProcessor) | CPUSkinningProcessor | [protected, virtual]

Generated on Fri Jul 13 13:30:42 2012 for SceniX


SceniX: DALData Class Reference

nvsg::DALData

DALData Class Reference

Device Abstraction Link Data. More...

#include <DAL.h>

Inheritance diagram for DALData:

[legend]
List of all members.

Public Types

enum {
DT_INVALID = ~0, DT_DALDATA = 0, DT_GLDALDATA, DT_GLARRAYBUFFERCACHE,
DT_GLDISPLAYLISTCACHE, DT_GLTEXTURECACHE, DT_GLELEMENTARRAYBUFFERCACHE, DT_GLPIXELBUFFERCACHE,
DT_RTDALDATA, DT_RTBUFFERCACHE, DT_RTVASBUFFERCACHE, DT_RTSELECTORCACHE,
DT_RTTRANSFORMCACHE, DT_RTGEOMETRYGROUPCACHE, DT_RTMATERIALCACHE, DT_RTFXSCENEATTRIBUTECACHE,
DT_RTGROUPCACHE, DT_RTGEOMETRYCACHE, DT_RTTEXTURESAMPLERCACHE, DT_CUSTOMDALDATA = 128
}
Codes for different DALData types. More...

Public Member Functions

NVSG_API unsigned int | getUserID () const
Get the user ID of this DALData.
NVSG_API void | setUserID (unsigned int userID)
Set the user ID of this DALData.
NVSG_API bool | verifyCreator (const DALDataCreator *creator) const
Verifies if this DALData was created by the indicated creator.
virtual NVSG_API bool | isTypeOf (int typeId) const

Protected Member Functions

NVSG_API | DALData (DALDataCreator *creator)
Constructs a DALData object.
virtual NVSG_API void | deleteThis ()
Induces the deletion of this DALData object.

Detailed Description

Device Abstraction Link Data.

Namespace: nvsg
Remarks:
DALData can be used to abstract device dependent data that will be linked to device independent data via a Device Abstraction Link (DAL).

Note that only a DALDataCreator is permitted to create DALData. DALData can be attached to a DAL using the interface of a DALHost.
See also:
DALHost, DALDataCreator

Member Enumeration Documentation

anonymous enum

Codes for different DALData types.

Enumeration values:
DT_INVALID | invalid DALData type
DT_DALDATA | DALData.
DT_GLDALDATA | GLDALData.
DT_GLARRAYBUFFERCACHE | GLArrayBufferCache.
DT_GLDISPLAYLISTCACHE | GLDisplayListCache.
DT_GLTEXTURECACHE | GLTextureCache.
DT_GLELEMENTARRAYBUFFERCACHE | GLElementArrayBufferCache.
DT_GLPIXELBUFFERCACHE | GLPixelBufferCache.
DT_RTDALDATA | Ray Tracing DAL data handling.
DT_CUSTOMDALDATA | Custom DALData types.

Constructor & Destructor Documentation

NVSG_API DALData ( DALDataCreator * creator ) [protected]

Constructs a DALData object.

Parameters:
creator Pointer to the DALDataCreator that creates, end hence, owns the data.
Remarks:
After DALData has been created it can be attached to Device Abstraction Link hosted by a DALHost using DALHost::storeDeviceAbstractionLink.

Member Function Documentation

unsigned int getUserID ( ) const [inline]

Get the user ID of this DALData.

Returns:
The current user ID of this DALData.
Remarks:
A DALData can hold an userID. The default value is 0. This ID can be used to identify special informations for this DALData.

For example, the CPUSkinningProcessor sets this ID to 'CPUS' in the array buffer caches, that hold the data for the skinned VertexAttributeSets. The GPUSkinningProcessor, in turn, tests if any array buffer cache of a VertexAttributeSet already available. If it is not zero, it is refilled with the (unskinned) data of that VertexAttributeSet.
See also:
setUserID

void setUserID ( unsigned int userID ) [inline]

Set the user ID of this DALData.

Parameters:
userID The user ID to use.
Remarks:
A DALData can hold an userID. The default value is 0. This ID can be used to identify special informations for this DALData.

See also:
getUserID

bool verifyCreator ( const DALDataCreator * creator ) const [inline]

Verifies if this DALData was created by the indicated creator.

Parameters:
creator Specifies the creator to test.
Returns:
The function returns true if this DALData was created by creator. Otherwise, it returns false. Use this function to check whether a DALData was created by a specific creator. This in particular is useful to verify if a DALData can be safely used in a given context.

virtual NVSG_API void deleteThis ( void ) [inline, protected, virtual]

Induces the deletion of this DALData object.

Remarks:
This function will be called from the DALServer framework when this DALData object is going to be released from a Device Abstraction Link hosted by a DALHost.

The default implementation calls delete on this pointer. If a custom memory manager is used, in particular a memory manager that does not issue new and delete for creating and deleting a DALData object, it is recommended to override this function so that the deletion of the DALData object will be performed correctly.

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jul 13 13:29:57 2012 for SceniX


SceniX: Member List

DALData Member List

This is the complete list of members for DALData, including all inherited members.

DALData(DALDataCreator *creator) | DALData | [protected]
deleteThis() | DALData | [inline, protected, virtual]
DT_CUSTOMDALDATA enum value | DALData |
DT_DALDATA enum value | DALData |
DT_GLARRAYBUFFERCACHE enum value | DALData |
DT_GLDALDATA enum value | DALData |
DT_GLDISPLAYLISTCACHE enum value | DALData |
DT_GLELEMENTARRAYBUFFERCACHE enum value | DALData |
DT_GLPIXELBUFFERCACHE enum value | DALData |
DT_GLTEXTURECACHE enum value | DALData |
DT_INVALID enum value | DALData |
DT_RTBUFFERCACHE enum value (defined in DALData) | DALData |
DT_RTDALDATA enum value | DALData |
DT_RTFXSCENEATTRIBUTECACHE enum value (defined in DALData) | DALData |
DT_RTGEOMETRYCACHE enum value (defined in DALData) | DALData |
DT_RTGEOMETRYGROUPCACHE enum value (defined in DALData) | DALData |
DT_RTGROUPCACHE enum value (defined in DALData) | DALData |
DT_RTMATERIALCACHE enum value (defined in DALData) | DALData |
DT_RTSELECTORCACHE enum value (defined in DALData) | DALData |
DT_RTTEXTURESAMPLERCACHE enum value (defined in DALData) | DALData |
DT_RTTRANSFORMCACHE enum value (defined in DALData) | DALData |
DT_RTVASBUFFERCACHE enum value (defined in DALData) | DALData |
getUserID() const | DALData | [inline]
isTypeOf(int typeId) const (defined in DALData) | DALData | [inline, virtual]
setUserID(unsigned int userID) | DALData | [inline]
verifyCreator(const DALDataCreator *creator) const | DALData | [inline]

Generated on Fri Jul 13 13:29:57 2012 for SceniX


SceniX: DALDataCreator Class Reference

nvsg::DALDataCreator

DALDataCreator Class Reference

Represents the interface required for a creator of DALData. More...

#include <DAL.h>

Inheritance diagram for DALDataCreator:

[legend]
List of all members.

Public Member Functions

virtual void | onReleaseDAL (HDAL hDAL)
Called from the framework immediately before the Device Abstraction Link (DAL) becomes invalid.

Protected Member Functions

NVSG_API void | releaseDeviceAbstractionLinkData (HDAL hDAL, unsigned int dataID)
Releases Device Abstraction Link Data.

Detailed Description

Represents the interface required for a creator of DALData.

Namespace: nvsg
Remarks:
Objects that create DALData to attach it to a Device Abstraction Link (DAL) hosted by a DALHost must derive from this base class.

Member Function Documentation

virtual void onReleaseDAL ( HDAL hDAL ) [inline, virtual]

Called from the framework immediately before the Device Abstraction Link (DAL) becomes invalid.

Parameters:
hDAL Handle to the Device Abstraction Link that is about to become invalid.
Remarks:
Called from the framework to inform creators that the DAL identified by hDAL immediately becomes invalid. For example, this is the case when the object that hosts the DAL will be deleted.

A concrete DALDataCreator usually overrides this function to dismiss all temporary stored handles to the DALs that the DALDataCreator has attached DALData to. A DAL handle will be returned to a DALDataCreator when it attaches DALdata to the DALHost through DALHost::storeDeviceAbstractionLinkData.

Note that the creator must not explicitly delete the attached data! The deletion of the attached data will be performed by the framework, immediately after this function was called.

void releaseDeviceAbstractionLinkData | ( | HDAL | hDAL,
 |  | unsigned int | dataID
 | ) | [inline, protected]

Releases Device Abstraction Link Data.

Parameters:
hDAL | Handle to the Device Abstraction Link the data to release is attached to.
dataID | Identifies the kind of data to release.
Remarks:
Releases the data identified by dataID that was attached to the Device Abstraction Link identified by hDAL.

This function should be called by the creator immediately before this creator becomes invalid, to free all the data of kind dataID that was created by this DALDataCreator and attached to the DAL identified by hDAL. The function deletes the data and removes the according entry from the DAL.

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jul 13 13:29:57 2012 for SceniX


SceniX: Member List

DALDataCreator Member List

This is the complete list of members for DALDataCreator, including all inherited members.

onReleaseDAL(HDAL hDAL) | DALDataCreator | [inline, virtual]
releaseDeviceAbstractionLinkData(HDAL hDAL, unsigned int dataID) | DALDataCreator | [inline, protected]

Generated on Fri Jul 13 13:29:57 2012 for SceniX


SceniX: DALHost Class Reference

nvsg::DALHost

DALHost Class Reference

Represents an object capable to host a Device Abstraction Link. More...

#include <DAL.h>

List of all members.

Public Member Functions

NVSG_API HDAL | storeDeviceAbstractionLinkData (unsigned int dataID, DALData *data)
Stores Device Abstraction Link Data.
NVSG_API void | releaseDeviceAbstractionLinkData ()
Releases Device Abstraction Link data.
template<typename DALDataType, typename TestFunc>
bool | getDeviceAbstractionLinkData (unsigned int dataID, DALDataType *&cache, TestFunc test) const
Retrieves Devices Abstraction Link data from the DALHost.
NVSG_API DALData * | getLastRecentlyUsedDeviceAbstractionLinkData () const
Returns the Device Abstraction Link data that was queried last.

Static Public Member Functions

static NVSG_API DALHostSharedPtr | create ()

Detailed Description

Represents an object capable to host a Device Abstraction Link.

Namespace: nvsg
Remarks:
A DALHost is intended to host a Device Abstraction Link (DAL) to attach arbitrary DALData. A DAL links device or platform dependent DALData created by a DALDataCreator to an independent DALHost.

An Object, for example, 'is a' DALHost.

Member Function Documentation

HDAL storeDeviceAbstractionLinkData | ( | unsigned int | dataID,
 |  | DALData * | data
 | ) | [inline]

Stores Device Abstraction Link Data.

Parameters:
dataID | Identifies the kind of data to store. This is so the user can identify the kind of data, especially when stored data will be retrieved later.
data | Pointer to the DALData to store.
Returns:
The function returns a handle that identifies the Device Abstraction Link the stored data is associated with. If the function fails, HDAL_INVALID will be returned.
Remarks:
The function attaches the DALData identified by dataID, and pointed to by data. Different DALDataCreators can store data with the same dataID. In turn, a certain DALDataCreator can retrieve DALData stored by a different DALDataCreator. That is, two or more DALDataCreators can share DALData if appropriate. For example, a particular OpenGL renderer (nvutil::GLTraverser) might use OpenGL specific texture information that was stored to a certain TextureHost by another OpenGL renderer, provided the two renderers share their render contexts.

Use DALHost::getDeviceAbstractionLinkData to retrieve particular data from the DALHost.

The handle to the Device Abstraction Link (DAL) that will be returned by the function must be stored by the DALDataCreator. This handle is used, for example, to communicate to the DALDataCreator that a certain DAL hosted by a DALHost has been destroyed, and hence, stored DALData has been released as a consequence (DALDataCreator::onReleaseDAL). Or, in turn, if a DALDataCreator needs to dismiss stored DALData, this handle is used to identify the DAL that is associated to that particular data.

The behavior is undefined if invalid DALData is passed. The behavior also is undefined if the DALData pointed to by data already is hosted by another host!
See also:
DALHost::getDeviceAbstractionLinkData, DALData, DALDataCreator

void releaseDeviceAbstractionLinkData ( ) [inline]

Releases Device Abstraction Link data.

Remarks:
The function releases the host's internal Device Abstraction link with all DALData attached to it. In turn, the particular DALDataCreator will be informed that the DALData they stored with this host became invalid, so the creator can dismiss the stored handles they received at the time they stored the data using DALHost::storeDeviceAbstractionLinkData.
See also:
DALHost::storeDeviceAbstractionLinkData

bool getDeviceAbstractionLinkData | ( | unsigned int | dataID,
 |  | DALDataType *& | cache,
 |  | TestFunc | test
 | ) | const [inline]

Retrieves Devices Abstraction Link data from the DALHost.

Parameters:
dataID | Identifies the kind of data to retrieve.
cache | Reference to a pointer to DALData that receives the pointer to the stored DALData.
test | A test function of the form 'bool test(const DALDataType*)' to be applied on the requested DALData.
Returns:
The function returns true if the DALData could have been retrieved successfully. Otherwise, the function returns false.
Remarks:
DALDataCreators can use this function to retrieve back DALData they previously stored using DALHost::storeDeviceAbstractionLinkData. For this, a creator needs to pass the same dataID as used with DALHost::storeDeviceAbstractionLinkData. In addition, the creator must specify a test function of the form 'bool test(const DALDataType *)'.

The function looks up the DALData by the dataID and, if found, passes that data to the test function. If the test function returns true, the pointer to the particular DALData will be assigned to cache and the function returns true.

The reason why the test function is needed here is so that different creators can store different data having the same data ID. The test function verifies that specific data is the right data the caller is looking for. A concrete example would be some texture information that was created by one renderer and used by some other renderer.
See also:
DALHost::getLastRecentlyUsedDeviceAbstractionLinkData

DALData * getLastRecentlyUsedDeviceAbstractionLinkData ( ) const [inline]

Returns the Device Abstraction Link data that was queried last.

Returns:
The function returns a pointer to the DALData that was successfully queried last.
Remarks:
If particular, DALData could have queried successfully using DALHost::getDeviceAbstractionLinkData, so the pointer to that data is cached as the most recently used data. For performance reasons, it is recommended to always call this function prior to DALHost::getDeviceAbstractionLinkData with DALData queries.
Example:
The following code example shows how the nvtraverser::GLTraverser queries a given nvsg::PrimitiveSet for a probably attached display list information structure.
 // isDLInfoValid is used as test function while querying DLInfo data attached to a DALHost,
 // which in this particular case is a PrimitiveSet
 bool GLTraverser::isDLInfoValid(const GLTraverser::DLInfo* info)
 { // a DLInfo is valid if the name of the display list object
   // is known by the current GL render context
   return glContext==info->context // we are fine if the current context corresponds the info's context
         || !!GLIsList(info->listID); // if not, we need to go deeper
 }

 // getCachedDLInfo queries a given PrimitiveSet for DLInfo that might be attached to the
 // PrimitiveSet earlier
 GLTraverser::DLInfo * GLTraverser::getCachedDLInfo( const PrimitiveSet *p ) const
 {
   DLInfo * dlInfo = dynamic_cast<DLInfo*>(p->getLastRecentlyUsedDeviceAbstractionLinkData());

   if ( !dlInfo || !isDLInfoValid(dlInfo) )
   {
     // the last recently queried data is not valid for us, we need to go deeper
     p->getDeviceAbstractionLinkData(GL_DL, dlInfo, &GLTraverser::isDLInfoValid);
   }
   return( dlInfo );
 }
See also:
DALHost::getDeviceAbstractionLinkData

The documentation for this class was generated from the following file:
  • DAL.h
Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: Member List

DALHost Member List

This is the complete list of members for DALHost, including all inherited members.

create() (defined in DALHost) | DALHost | [static]
getDeviceAbstractionLinkData(unsigned int dataID, DALDataType *&cache, TestFunc test) const | DALHost | [inline]
getLastRecentlyUsedDeviceAbstractionLinkData() const | DALHost | [inline]
releaseDeviceAbstractionLinkData() | DALHost | [inline]
storeDeviceAbstractionLinkData(unsigned int dataID, DALData *data) | DALHost | [inline]

Generated on Fri Jul 13 13:29:56 2012 for SceniX


SceniX: DeindexTraverser Class Reference

nvtraverser::DeindexTraverser

DeindexTraverser Class Reference

Traverser to convert indexed Primitive nodes to non-indexed Primitive nodes. More...

#include <DeindexTraverser.h>

Inheritance diagram for DeindexTraverser:

[legend]
Collaboration diagram for DeindexTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | DeindexTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~DeindexTraverser (void)
Protected destructor to prevent instantiation of a DeindexTraverser.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Override of the traversal initiating interface.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Handler function for a Primitive.

Detailed Description

Traverser to convert indexed Primitive nodes to non-indexed Primitive nodes.

Constructor & Destructor Documentation

NVSG_API DeindexTraverser ( void )

Constructor.

virtual NVSG_API ~DeindexTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a DeindexTraverser.

Member Function Documentation

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the traversal initiating interface.

Parameters:
root The Node to start traversal at.
Remarks:
This function is called from the framework after the Scene and the ViewState, if set, are locked. The actual traversal is done here.
See also:
preApply, postApply, lockViewState, unlockViewState

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Handler function for a Primitive.

Parameters:
primitive A pointer to the write-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive primitive is already write-locked.
The base implementation just calls Traverser::traversePrimitive().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitive

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • DeindexTraverser.h
Generated on Fri Jul 13 13:30:43 2012 for SceniX


SceniX: Member List

DeindexTraverser Member List

This is the complete list of members for DeindexTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DeindexTraverser(void) | DeindexTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | DeindexTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | DeindexTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~DeindexTraverser(void) | DeindexTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:43 2012 for SceniX


SceniX: DenormalizedNormalsResult Class Reference

nvtraverser::DenormalizedNormalsResult

DenormalizedNormalsResult Class Reference

AnalyzeResult indicating a VertexAttributeSet with denormalized normals. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for DenormalizedNormalsResult:

[legend]
Collaboration diagram for DenormalizedNormalsResult:

[legend]
List of all members.

Public Attributes

unsigned int | denormalizedNormalsCount
The number of objects with denormalized normals.
unsigned int | denormalizedNormalsNumber
The number of denormalized normals in those objects.

Detailed Description

AnalyzeResult indicating a VertexAttributeSet with denormalized normals.

Namespace: nvsg
Remarks:
Reports if there is a VertexAttributeSet with denormalized normals.
See also:
AnalyzeResult, AnalyzeTraverser

Member Data Documentation

unsigned int denormalizedNormalsCount

The number of objects with denormalized normals.

unsigned int denormalizedNormalsNumber

The number of denormalized normals in those objects.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: Member List

DenormalizedNormalsResult Member List

This is the complete list of members for DenormalizedNormalsResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
denormalizedNormalsCount | DenormalizedNormalsResult |
denormalizedNormalsNumber | DenormalizedNormalsResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~DenormalizedNormalsResult() (defined in DenormalizedNormalsResult) | DenormalizedNormalsResult | [inline, virtual]

Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: DepthAttribute Class Reference

nvsg::DepthAttribute

DepthAttribute Class Reference

StateAttribute that determines the depth settings to use. More...

#include <DepthAttribute.h>

Inheritance diagram for DepthAttribute:

[legend]
Collaboration diagram for DepthAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API nvsg::DepthFunction | getDepthFunction () const
Get the nvsg::DepthFunction of this DepthAttribute.
NVSG_API void | setDepthFunction (nvsg::DepthFunction df)
Set the nvsg::DepthFunction of this DepthAttribute.
NVSG_API bool | isDepthWritingEnabled () const
Returns whether depth buffer writes are enabled.
NVSG_API void | setDepthWritingEnabled (bool enabled)
Enables or disables depth buffer writes.
NVSG_API bool | isDepthTestingEnabled () const
Ask if depth buffer testing is enabled.
NVSG_API void | setDepthTestingEnabled (bool enabled)
Enable or disable depth buffer testing.
NVSG_API bool | isDepthClampingEnabled () const
Returns whether depth clamping is enabled.
NVSG_API void | setDepthClampingEnabled (bool enabled)
Enables or disables depth clamping.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another DepthAttribute.
NVSG_API DepthAttribute & | operator= (const DepthAttribute &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, DepthAttribute)

Static Public Member Functions

static NVSG_API DepthAttributeSharedPtr | create ()
static NVSG_API bool | isDepthClampingSupported ()
Returns whether depth clamping can be performed in the current GL context.

Protected Member Functions

NVSG_API | DepthAttribute ()
Default-constructs a DepthAttribute.
NVSG_API | DepthAttribute (const DepthAttribute &rhs)
Constructs a DepthAttribute as a copy from another DepthAttribute.
virtual NVSG_API | ~DepthAttribute ()
Destructs a DepthAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute that determines the depth settings to use.

Namespace: nvsg
Remarks:
A DepthAttribute defines a nvsg::DepthFunction for the depth test and determines if the depth buffer is enabled for testing and/or writing.
By default, the nvsg::DepthFunction is DF_LESS, the depth buffer is enabled for testing and writing and depth clamping is disabled.
Note:
In the transparent part of the rendering pass, depth buffer writing is disabled, and can't be changed by a DepthAttribute.
See also:
BlendAttribute, DepthFunction, Material, StateAttribute

Constructor & Destructor Documentation

NVSG_API DepthAttribute ( ) [protected]

Default-constructs a DepthAttribute.

Remarks:
The defaults of a DepthAttribute is DF_LESS for the depth function, depth buffer write enabled, clamping disabled, and a depth range from 0.0 to 1.0.

NVSG_API DepthAttribute ( const DepthAttribute & rhs ) [protected]

Constructs a DepthAttribute as a copy from another DepthAttribute.

virtual NVSG_API ~DepthAttribute ( ) [protected, virtual]

Destructs a DepthAttribute.

Member Function Documentation

static NVSG_API bool isDepthClampingSupported ( ) [static]

Returns whether depth clamping can be performed in the current GL context.

Remarks:
When depth clamping is enabled fragments are not rejected by clipping with the near- or far-plane. They will still be written to the framebuffer with depth values clamped to the currently active depth range, which eases implementation of stencil-based volume algorithms.

DepthFunction getDepthFunction ( ) const [inline]

Get the nvsg::DepthFunction of this DepthAttribute.

Returns:
The nvsg::DepthFunction of this DepthAttribute.
See also:
nvsg::DepthFunction, setDepthFunction

NVSG_API void setDepthFunction ( nvsg::DepthFunction df )

Set the nvsg::DepthFunction of this DepthAttribute.

Parameters:
df The nvsg::DepthFunction to use.
See also:
nvsg::DepthFunction, getDepthFunction

bool isDepthWritingEnabled ( ) const [inline]

Returns whether depth buffer writes are enabled.

Returns:
true, if writing to depth buffer is enabled, otherwise false.
See also:
isDepthTestingEnabled, setDepthWritingEnabled

NVSG_API void setDepthWritingEnabled ( bool enabled )

Enables or disables depth buffer writes.

Parameters:
enabled If true, writing to the depth buffer is enabled, otherwise it is disabled.
See also:
isDepthWritingEnabled, setDepthTestingEnabled

bool isDepthTestingEnabled ( ) const [inline]

Ask if depth buffer testing is enabled.

Returns:
true, if depth buffer testing is enabled, otherwise false.
See also:
isDepthWritingEnabled, setDepthTestingEnabled

NVSG_API void setDepthTestingEnabled ( bool enabled )

Enable or disable depth buffer testing.

Parameters:
enabled If true, depth buffer testing is enabled, otherwise it is disabled.
See also:
isDepthTestingEnabled, setDepthWritingEnabled

bool isDepthClampingEnabled ( ) const [inline]

Returns whether depth clamping is enabled.

Returns:
true, if depth clamping is enabled, otherwise false.
See also:
isDepthClampingEnabled, setDepthClampingEnabled

NVSG_API void setDepthClampingEnabled ( bool enabled )

Enables or disables depth clamping.

Parameters:
enabled If true, fragments which were clipped by near and far plane still contribute to depth buffer, otherwise not.
Remarks:
Will be ignored by the renderer if isDepthClampingSupported does not return true.
See also:
isDepthClampingEnabled, setDepthClampingEnabled

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another DepthAttribute.

Parameters:
p | Pointer to the constant DepthAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the DepthAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as StateAttribute, they are considered to be equivalent if they the same nvsg::DepthFunction and the same state of depth buffer testing and writing.
See also:
StateAttribute, getDepthFunction, isDepthTestingEnabled, isDepthWritingEnabled

Reimplemented from Object.

NVSG_API DepthAttribute& operator= ( const DepthAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant DepthAttribute to copy from
Returns:
A reference to the assigned DepthAttribute
Remarks:
The assignment operator calls the assignment operator of StateAttribute and copies the DepthAttribute specific data then.
See also:
PrimitiveAttribute

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • DepthAttribute.h
Generated on Fri Jul 13 13:29:57 2012 for SceniX


SceniX: Member List

DepthAttribute Member List

This is the complete list of members for DepthAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in DepthAttribute) | DepthAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
DepthAttribute() | DepthAttribute | [protected]
DepthAttribute(const DepthAttribute &rhs) | DepthAttribute | [protected]
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | DepthAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDepthFunction() const | DepthAttribute | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isDepthClampingEnabled() const | DepthAttribute | [inline]
isDepthClampingSupported() | DepthAttribute | [static]
isDepthTestingEnabled() const | DepthAttribute | [inline]
isDepthWritingEnabled() const | DepthAttribute | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | DepthAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const DepthAttribute &rhs) | DepthAttribute |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, DepthAttribute) (defined in DepthAttribute) | DepthAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setDepthClampingEnabled(bool enabled) | DepthAttribute |
setDepthFunction(nvsg::DepthFunction df) | DepthAttribute |
setDepthTestingEnabled(bool enabled) | DepthAttribute |
setDepthWritingEnabled(bool enabled) | DepthAttribute |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~DepthAttribute() | DepthAttribute | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:29:57 2012 for SceniX


SceniX: DestrippingTraverser Class Reference

nvtraverser::DestrippingTraverser

DestrippingTraverser Class Reference

Traverser to destripify stripped primitives. More...

#include <DestrippingTraverser.h>

Inheritance diagram for DestrippingTraverser:

[legend]
Collaboration diagram for DestrippingTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | DestrippingTraverser (void)
Default Constructor.

Protected Member Functions

virtual NVSG_API | ~DestrippingTraverser (void)
Protected destructor to prevent explicit creation.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Override of the doApply method.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Destripify the strips of this nvsg::GeoNode.
virtual NVSG_API void | handleLineStrips (nvsg::LineStrips *p)
Gather the nvsg::LineStrips to destrip.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Change stripped Primitives to non-stripped Primitives.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *p)
Gather the nvsg::QuadStrips to destrip.
virtual NVSG_API void | handleTriFans (nvsg::TriFans *p)
Gather the nvsg::TriFans to destrip.
virtual NVSG_API void | handleTriStrips (nvsg::TriStrips *p)
Gather the nvsg::TriStrips to destrip.
virtual NVSG_API bool | optimizationAllowed (const nvsg::Object *p)
Test whether this Object should be optimized.

Detailed Description

Traverser to destripify stripped primitives.

Namespace: nvsg
Remarks:
This Traverser destripifies nvsg::TriFans and nvsg::TriStrips to nvsg::Triangles, nvsg::QuadStrips to nvsg::Quads, and nvsg::LineStrips to nvsg::Lines.
Using good nvsg::TriStrips usually is more efficient than using nvsg::Triangles, but often it is more efficient to use nvsg::Triangles instead of badly stripped nvsg::TriStrips. That is, it might be worth to try to destrip all the nvsg::TriStrips to nvsg::Triangles. The same holds for the other primitive types.
See also:
OptimizeTraverser

Constructor & Destructor Documentation

NVSG_API DestrippingTraverser ( void )

Default Constructor.

Remarks:
A DestrippingTraverser potentially modifies the tree of the scene.

virtual NVSG_API ~DestrippingTraverser ( void ) [protected, virtual]

Protected destructor to prevent explicit creation.

Remarks:
The destructor is never used explicitly, but only when the reference count of the DestrippingTraverser is decremented to zero.

Member Function Documentation

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the doApply method.

Parameters:
root The Node to destripify.
Remarks:
The doApply method is the traversal entry point of a Traverser. Clears temporarily used data structures after traversing.
See also:
nvsg::Scene, Traverser

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Destripify the strips of this nvsg::GeoNode.

Parameters:
p A pointer to the constant nvsg::GeoNode whose strips are to be destripified.
Remarks:
All nvsg::TriFans and nvsg::TriStrips of this nvsg::GeoNode are destripified to nvsg::Triangles, all nvsg::QuadStrips to nvsg::Quads, and all nvsg::LineStrips to nvsg::Lines.
See also:
handleLineStrips, handleQuadStrips, handleTriFans, handleTriStrips

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLineStrips ( nvsg::LineStrips * p ) [protected, virtual]

Gather the nvsg::LineStrips to destrip.

Parameters:
p A pointer to the constant nvsg::LineStrip to destrip.
See also:
handleQuadStrips, handleTriFans, handleTriStrips

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Change stripped Primitives to non-stripped Primitives.

Parameters:
p A pointer to the nvsg::Primitive to handle.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * p ) [protected, virtual]

Gather the nvsg::QuadStrips to destrip.

Parameters:
p A pointer to the constant nvsg::QuadStrips to destrip.
See also:
handleLineStrips, handleTriFans, handleTriStrips

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriFans ( nvsg::TriFans * p ) [protected, virtual]

Gather the nvsg::TriFans to destrip.

Parameters:
p A pointer to the constant nvsg::TriFans to destrip.
See also:
handleLineStrips, handleQuadStrips, handleTriStrips

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriStrips ( nvsg::TriStrips * p ) [protected, virtual]

Gather the nvsg::TriStrips to destrip.

Parameters:
p A pointer to the constant nvsg::TriStrips to destrip.
See also:
handleLineStrips, handleQuadStrips, handleTriFans

Reimplemented from ExclusiveTraverser.

virtual NVSG_API bool optimizationAllowed ( const nvsg::Object * p ) [protected, virtual]

Test whether this Object should be optimized.

Parameters:
p A pointer to the constant nvsg::Object to test.

The documentation for this class was generated from the following file:
  • DestrippingTraverser.h
Generated on Fri Jul 13 13:30:43 2012 for SceniX


SceniX: Member List

DestrippingTraverser Member List

This is the complete list of members for DestrippingTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DestrippingTraverser(void) | DestrippingTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | DestrippingTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | DestrippingTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *p) | DestrippingTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | DestrippingTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *p) | DestrippingTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *p) | DestrippingTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *p) | DestrippingTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *p) | DestrippingTraverser | [protected, virtual]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~DestrippingTraverser(void) | DestrippingTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:43 2012 for SceniX


SceniX: DirectedLight Class Reference

nvsg::DirectedLight

DirectedLight Class Reference

LightSource representing a directed light. More...

#include <DirectedLight.h>

Inheritance diagram for DirectedLight:

[legend]
Collaboration diagram for DirectedLight:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | syncEffectLight (CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const
virtual NVSG_API void | syncMetaSLLightParameters (CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const
NVSG_API nvmath::Vec3f | getDirection () const
Get the direction of the light rays.
NVSG_API void | setDirection (const nvmath::Vec3f &direction)
Set the direction of the light rays.
NVSG_API const nvmath::Quatf & | getOrientation () const
Get the orientation of the light rays.
NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Set the orientation of the light rays.
NVSG_API DirectedLight & | operator= (const DirectedLight &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, DirectedLight)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Direction)
NVSG_API | DECLARE_STATIC_PROPERTY (Orientation)

Static Public Member Functions

static NVSG_API DirectedLightSharedPtr | create ()

Protected Member Functions

NVSG_API | DirectedLight ()
Default-constructs a DirectedLight.
NVSG_API | DirectedLight (const DirectedLight &rhs)
Constructs a PointLight as a copy of another DirectedLight.
virtual NVSG_API | ~DirectedLight ()
Destructs a DirectedLight.

Detailed Description

LightSource representing a directed light.

Namespace: nvsg
Remarks:
A DirectedLight is a LightSource with a direction (or orientation), but without a position. Its light is emitted along parallel rays from an infinite distance away.
See also:
LightSource, PointLight, SpotLight

Constructor & Destructor Documentation

NVSG_API DirectedLight ( ) [protected]

Default-constructs a DirectedLight.

NVSG_API DirectedLight ( const DirectedLight & rhs ) [protected]

Constructs a PointLight as a copy of another DirectedLight.

virtual NVSG_API ~DirectedLight ( ) [protected, virtual]

Destructs a DirectedLight.

Member Function Documentation

nvmath::Vec3f getDirection ( ) const [inline]

Get the direction of the light rays.

Returns:
The direction of the light rays.
Remarks:
The default direction is the negative z-axis (0.0,0.0,-1.0).
See also:
getOrientation, setDirection

NVSG_API void setDirection ( const nvmath::Vec3f & direction )

Set the direction of the light rays.

Parameters:
direction A reference to the constant direction of the light rays.
Remarks:
The default direction is the negative z-axis (0.0,0.0,-1.0).
Setting the direction increases the Incarnation.
Note:
The direction is expected to be normalized.
See also:
getDirection, setOrientation

NVSG_API const nvmath::Quatf& getOrientation ( ) const

Get the orientation of the light rays.

Returns:
The reference to the constant orientation of the light rays.
Remarks:
The orientation is the rotation from the default light direction, the negative z-axis (0.0,0.0,-1.0).
See also:
getDirection, setOrientation

NVSG_API void setOrientation ( const nvmath::Quatf & orientation )

Set the orientation of the light rays.

Parameters:
orientation A reference to the constant orientation of the light rays.
Remarks:
The orientation is the rotation from the default light direction, the negative z-axis (0.0,0.0,-1.0).
Setting the orientation increases the Incarnation.
See also:
getOrientation, setDirection

NVSG_API DirectedLight& operator= ( const DirectedLight & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant DirectedLight to copy from
Returns:
A reference to the assigned DirectedLight
Remarks:
The assignment operator just calls the assignment operator of LightSource.
See also:
LightSource

The documentation for this class was generated from the following file:
  • DirectedLight.h
Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: Member List

DirectedLight Member List

This is the complete list of members for DirectedLight, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in DirectedLight) | DirectedLight | [static]
DECLARE_STATIC_PROPERTY(Direction) (defined in DirectedLight) | DirectedLight |
DECLARE_STATIC_PROPERTY(Orientation) (defined in DirectedLight) | DirectedLight |
DECLARE_STATIC_PROPERTY(AmbientColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(DiffuseColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(SpecularColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Intensity) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Enabled) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(ShadowCasting) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineMetaSLLightParameterSpace(CgFxEffect *fx, CgFxParameter param, const nvmath::Mat44f &world, const nvmath::Mat44f &view, nvmath::Mat44f &transform) const | LightSource | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DirectedLight() | DirectedLight | [protected]
DirectedLight(const DirectedLight &rhs) | DirectedLight | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | LightSource | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAmbientColor() const | LightSource | [inline]
getAnimation() const | LightSource | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDiffuseColor() const | LightSource | [inline]
getDirection() const | DirectedLight | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIntensity() const | LightSource | [inline]
getInverse() const | LightSource | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getObjectCode() const | Object | [inline]
getOrientation() const | DirectedLight |
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSpecularColor() const | LightSource | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTransformationMatrix() const | LightSource | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEnabled() const | LightSource | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | LightSource | [virtual]
isShadowCasting() const | LightSource | [inline]
LightSource() | LightSource | [protected]
LightSource(const LightSource &rhs) | LightSource | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
m_trafo | LightSource | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const DirectedLight &rhs) | DirectedLight |
nvsg::LightSource::operator=(const LightSource &rhs) | LightSource | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, DirectedLight) (defined in DirectedLight) | DirectedLight |
REFLECTION_INFO_API(NVSG_API, LightSource) (defined in LightSource) | LightSource |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
setAmbientColor(const nvmath::Vec3f &color) | LightSource | [inline]
setAnimation(const TrafoAnimationSharedPtr &animation) | LightSource |
setAnnotation(const std::string &anno) | Object |
setDiffuseColor(const nvmath::Vec3f &color) | LightSource | [inline]
setDirection(const nvmath::Vec3f &direction) | DirectedLight |
setEnabled(bool enable) | LightSource | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIntensity(float intensity) | LightSource | [inline]
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &orientation) | DirectedLight |
setShadowCasting(bool cast) | LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &color) | LightSource | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncEffectLight(CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const (defined in DirectedLight) | DirectedLight | [virtual]
syncIncarnation(PFNGETINCARNATION) const (defined in LightSource) | LightSource | [protected, virtual]
syncMetaSLLightParameters(CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const (defined in DirectedLight) | DirectedLight | [virtual]
~DirectedLight() | DirectedLight | [protected, virtual]
~LightSource() | LightSource | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: domain_t Struct Reference

domain_t Struct Reference

The domain_t structure specifies how an RTFx domain parameter is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for domain_t:

[legend]
List of all members.

Public Member Functions

PADDING (4)
ensure modulo 4

Public Attributes

str_t name
Specifies the domains's name.
str_t entryPoint
Specifies the domains's entry point.
uint_t raytype
Specifies the ray type for this value.

Detailed Description

The domain_t structure specifies how an RTFx domain parameter is stored in a .NBF file.

Domains need to be considered in conjunction with NBFRTFx objects.

Member Function Documentation

PADDING ( 4 )

ensure modulo 4

Member Data Documentation

str_t name

Specifies the domains's name.

str_t entryPoint

Specifies the domains's entry point.

uint_t raytype

Specifies the ray type for this value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: Member List

domain_t Member List

This is the complete list of members for domain_t, including all inherited members.

entryPoint | domain_t
name | domain_t
PADDING(4) | domain_t
raytype | domain_t

Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: Drawable Class Reference

nvsg::Drawable

Drawable Class Reference

The abstract base class of all drawable objects. More...

#include <Drawable.h>

Inheritance diagram for Drawable:

[legend]
Collaboration diagram for Drawable:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~Drawable (void)
Destructs a Drawable.
NVSG_API bool | generateNormals (bool overwrite=true)
Generates vertex normals.
NVSG_API void | generateTexCoords (TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true)
Generates 2D texture coordinates.
NVSG_API void | generateTangentSpace (unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true)
Generates tangents and binormals.
virtual NVSG_API void | setDrawCallback (DrawCallback *cb)
Assigns the indicated DrawCallback to this Drawable.
NVSG_API DrawCallback * | getDrawCallback () const
Retrieves the last assigned DrawCallback object from the Drawable.
REFLECTION_INFO_API (NVSG_API, Drawable)

Protected Member Functions

NVSG_API | Drawable ()
Protected constructor to prevent explicit creation.
NVSG_API | Drawable (const Drawable &)
Protected copy constructor to prevent explicit creation.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Calculates vertex normals.
virtual NVSG_API void | calculateTexCoords (TextureCoordType type, unsigned int texcoords, bool overwrite)
Calculates 2D texture coordinates.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Calculates tangents and binormals.
virtual NVSG_API const nvmath::Box3f & | getBoundingBox (bool recalculate) const
virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (bool recalculate) const
NVSG_API Drawable & | operator= (const Drawable &rhs)
Assignment operator.

Detailed Description

The abstract base class of all drawable objects.

Namespace: nvsg
Remarks:
All drawable objects like PrimitiveSet or Shape derive from Drawable.
When deriving from Drawable, you have to overload the member functions clone(), and calculateBoundingSphere().
See also:
nvutil::Incarnation, Object, PrimitiveSet, Shape

Constructor & Destructor Documentation

virtual NVSG_API ~Drawable ( void ) [virtual]

Destructs a Drawable.

NVSG_API Drawable ( ) [protected]

Protected constructor to prevent explicit creation.

Remarks:
Because Drawable is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.
See also:
PrimitiveSet, Shape

NVSG_API Drawable ( const Drawable & ) [protected]

Protected copy constructor to prevent explicit creation.

Remarks:
Because Drawable is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.
See also:
PrimitiveSet, Shape

Member Function Documentation

NVSG_API bool generateNormals ( bool overwrite = true )

Generates vertex normals.

Parameters:
overwrite An optional flag indicating whether to overwrite existing vertex normals. The default is to overwrite existing data.
Returns:
true, if normals could be generated, otherwise false.
Remarks:
The function calls the protected virtual function calculateNormals, which concrete Drawables should override to provide correct calculation of vertex data.
See also:
calculateNormals

NVSG_API void generateTexCoords | ( | TextureCoordType | type,
 |  | unsigned int | texcoords = VertexAttributeSet::NVSG_TEXCOORD0,
 |  | bool | overwrite = true
 | ) |

Generates 2D texture coordinates.

Parameters:
type | Desired texture coordinate type. Accepted are TCT_CYLINDRICAL, TCT_PLANAR, and TCT_SPHERICAL.
texcoords | Addresses the vertex attribute where to output the generated texture coords. VertexAttributeSet::NVSG_TEXCOORD0 - VertexAttributeSet::NVSG_TEXCOORD7 are allowed identifiers. By default texture coords are written to VertexAttributeSet::NVSG_TEXCOORD0,
overwrite | An optional flag indicating whether to overwrite existing vertex data. The default is to overwrite existing data.
Remarks:
The function calls the protected virtual function calculateTexCoords, which concrete Drawables should override to provide correct texture coordinate calculation.
See also:
calculateTexCoords

NVSG_API void generateTangentSpace | ( | unsigned int | texcoords = VertexAttributeSet::NVSG_TEXCOORD0,
 |  | unsigned int | tangents = VertexAttributeSet::NVSG_TANGENT,
 |  | unsigned int | binormals = VertexAttributeSet::NVSG_BINORMAL,
 |  | bool | overwrite = true
 | ) |

Generates tangents and binormals.

Parameters:
texcoords | Addresses the vertex attribute to hold the input 2D texture coordinates used to calculate the tangent space. By default, input texture coordinates are taken from the VertexAttributeSet::NVSG_TEXCOORD0.
tangents | Addresses the vertex attribute where to output the calculated tangents. By default tangents are written to VertexAttributeSet::NVSG_TANGENT, which is aligned to the TANGENT binding semantic used by Cg for varying vertex shader input.
binormals | Addresses the vertex attribute where to output the calculated binormals. By default binormals are written to VertexAttributeSet::NVSG_BINORMAL, which is aligned to the BINORMAL binding semantic used by Cg for varying vertex shader input.
overwrite | An optional flag indicating whether to overwrite existing vertex data. The default is to overwrite existing data.
Remarks:
The function calls the protected virtual function calculateTangentSpace, which concrete Drawables should override to provide correct tangent space calculation.
See also:
calculateTangentSpace

void setDrawCallback ( DrawCallback * cb ) [inline, virtual]

Assigns the indicated DrawCallback to this Drawable.

Parameters:
cb Specifies the DrawCallback object If a DrawCallback is assigned to a Drawable, the DrawCallback::preDraw, DrawCallback::draw, and DrawCallback::postDraw functions will be invoked from the render framework when rendering the Drawable.
See also:
DrawCallback

Reimplemented in Shape.

DrawCallback * getDrawCallback ( ) const [inline]

Retrieves the last assigned DrawCallback object from the Drawable.

Returns:
The DrawCallback that was last assigned to the drawable.
See also:
setDrawCallback

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Calculates vertex normals.

Parameters:
overwrite A flag indicating whether to overwrite existing vertex normals.
Returns:
true, if normals could be calculated, otherwise false.
Remarks:
This function gets called from the generateNormals API. Concrete Drawables should override this function provide correct calculation of vertex normals. The base class implementation does nothing.
See also:
generateNormals

Reimplemented in Primitive, QuadMeshes, QuadPatches, QuadPatches4x4, Quads, QuadStrips, RectPatches, Shape, Triangles, TriFans, TriPatches, TriPatches4, and TriStrips.

virtual NVSG_API void calculateTexCoords | ( | TextureCoordType | type,
 |  | unsigned int | texcoords,
 |  | bool | overwrite
 | ) | [protected, virtual]

Calculates 2D texture coordinates.

Parameters:
type | Desired texture coordinate type. Accepted are TCT_CYLINDRICAL, TCT_PLANAR, and TCT_SPHERICAL.
texcoords | Addresses the vertex attribute where to output the generated texture coords.
overwrite | A flag indicating whether to overwrite existing vertex data.
Remarks:
This function gets called from the generateNormals API. Concrete Drawables should override this function to provide correct calculation of texture coords. The base class implementation does nothing.
See also:
generateNormals

Reimplemented in Primitive, PrimitiveSet, and Shape.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Calculates tangents and binormals.

Parameters:
texcoords | Addresses the vertex attribute to hold the input 2D texture coordinates used to calculate the tangent space.
tangents | Addresses the vertex attribute where to output the calculated tangents. which is aligned to the TANGENT binding semantic used by Cg for varying vertex shader input.
binormals | Addresses the vertex attribute where to output the calculated binormals. which is aligned to the BINORMAL binding semantic used by Cg for varying vertex shader input.
overwrite | A flag indicating whether to overwrite existing vertex data.
Remarks:
This function gets called from the generateTangentSpace API. Concrete Drawables should override this function to provide correct calculation of tangents and binormals. The base class implementation does nothing.
See also:
calculateTangentSpace

Reimplemented in Primitive, QuadMeshes, QuadPatches, QuadPatches4x4, Quads, QuadStrips, RectPatches, Shape, Triangles, TriFans, TriPatches, TriPatches4, and TriStrips.

NVSG_API Drawable& operator= ( const Drawable & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant Drawable to copy from
Returns:
A reference to the assigned Drawable
Remarks:
The assignment operator calls the assignment operator of Object and copies the bounding sphere.

The documentation for this class was generated from the following file:
  • Drawable.h
Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: Member List

Drawable Member List

This is the complete list of members for Drawable, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Drawable | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]

Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: DrawCallback Class Reference

nvsg::DrawCallback

DrawCallback Class Reference

Provides an interface to perform custom pre- and post-processing with rendering a Drawable. More...

#include <Drawable.h>

Inheritance diagram for DrawCallback:

[legend]
Collaboration diagram for DrawCallback:

[legend]
List of all members.

Public Member Functions

virtual bool | preDraw (const Drawable *p)
Called from the render framework prior to render the indicated Drawable.
virtual bool | draw (const Drawable *p)
Called from the render framework when the rendering of the indicated Drawable starts.
virtual void | postDraw (const Drawable *p)
Called from the render framework after the indicated Drawable was rendered.

Detailed Description

Provides an interface to perform custom pre- and post-processing with rendering a Drawable.

Remarks:
A DrawCallback can be assigned to an nvsg::Drawable, using the Drawable::setDrawCallback API, to implement a custom pre- and post-processing for that particular Drawable while it's being rendered. A DrawCallback must be instantiated on the heap using the new keyword. It's lifetime is managed through reference counting provided by the nvutil::RCObject base class. Typically, a custom DrawCallback will be assigned to a Drawable directly after the DrawCallback was instantiated. Doing so, the user hands over ownership of the DrawCallback to the Drawable, and is no longer responsible for destroying the DrawCallback afterwards:
   TrianglesWeakPtr htris = Triangles::create();
   {
     TrianglesWriteLock tris(htris);
     tris->setDrawCallback(new MyDrawCallback);
     ...
   }
A DrawCallback can also be assigned to a Drawable to completely overrule the core renderer's implementation as demonstrated in the following example:

 enum { OC_MYSPHERE = OC_CUSTOMOBJECT + 1 };

 class MySphere : public nvsg::Drawable
 {
 public:
   MySphere() { m_objectCode = OC_MYSPHERE; }
   // accessors
   void setRadius(float r) { m_radius = r; }
   float getRadius() const { return m_radius; }
   void setSlices(int slices) { m_slices = slices; }
   int getSlices() const { return m_slices; }
   void setStacks(int stacks) { m_stacks = stacks; }
   int getStacks() const { return m_stacks; }

 private:
   float m_radius;
   int m_slices, m_stacks;
 };

 CORE_TYPES( MySphere, Drawable );
 OBJECT_TRAITS( MySphere, Drawable );

 class MySphereGLDraw : public nvsg::DrawCallback
 {
    // overrules the core renderers implementation
    bool draw(const Drawable * p)
    {
      const MySphere * theSphere = dynamic_cast<const MySphere *>(p);
      if ( theSphere )
      {
        // [...] probably save some OpenGL state ...

        GLUquadric * q = gluNewQuadric();
        gluSphere(q, theSphere->getRadius(), theSphere->getSlices(), theSphere->getStacks());

        // [...] restore state

        // indicate owner draw
        return true;
      }
    }
 };

 GeoNodeWeakPtr createGnodeWithSphere()
 {
   MaterialWeakPtr hdlMat = Material::create();
   {
     MaterialWriteLock theMat(hdlMat);
     theMat->setAmbientColor( Vec3f(0.f, 0.f, 1.f) );
     theMat->setDiffuseColor( Vec3f(0.4f, 0.4f, 0.4f) );
     theMat->setEmissiveColor( Vec3f(0.f, 0.f, 0.f) );
     theMat->setSpecularColor( Vec3f(1.f, 1.f, 1.f) );
     theMat->setSpecularExponent( 10.f );
     theMat->setOpacity( 1.0f );
   }

   StateSetWeakPtr hdlSset = StateSet::create();
   {
     StateSetWriteLock theSset(hdlSset);
     theSset->addAttribute(hdlMat);
   }

   MySphereWeakPtr hdlSphere = MySphere::create();
   {
     MySphereWriteLock theSphere(hdlSphere);
     theSphere->setRadius(0.8f);
     theSphere->setSlices(16);
     theSphere->setStacks(16);

     theSphere->setDrawCallback(new MySphereGLDraw);
   }

   GeoNodeWeakPtr hdlGnode = GeoNode::create();
   {
     GeoNodeWriteLock theGnode(hdlGnode);
     theGnode->addDrawable( hdlSset, hdlSphere );
   }

   return hdlGnode;
 }

See also:
Drawable

Member Function Documentation

virtual bool preDraw ( const Drawable * p ) [inline, virtual]

Called from the render framework prior to render the indicated Drawable.

Parameters:
p Specifies the Drawable to render.
Returns:
The default implementation returns true, to indicate that rendering should proceed.
Remarks:
If a DrawCallback was assigned to a Drawable, this function will be called from the render framework immediately prior to render the Drawable. A derived DrawCallback can override this function to perform some preprocessing immediately before the Drawable will be rendered. If a derived DrawCallback's implementation returns false, rendering of the indicated Drawable will be skipped by the render framework.

virtual bool draw ( const Drawable * p ) [inline, virtual]

Called from the render framework when the rendering of the indicated Drawable starts.

Parameters:
p Specifies the Drawable to render.
Returns:
The default implementation returns false, to indicate that the currently configured renderer should process the rendering.
Remarks:
If a DrawCallback was assigned to a Drawable, this function will be called from the render framework when the rendering of the indicated Drawable starts. A derived DrawCallback can override this function to process the rendering on its own. In this case, the override function should return true, causing the render framework not to invoke the configured renderer to render the indicated Drawable.
Note, that the render framework will not call this function if the preDraw implementation of the same DrawCallback object returns false.

virtual void postDraw ( const Drawable * p ) [inline, virtual]

Called from the render framework after the indicated Drawable was rendered.

Parameters:
p Specifies the Drawable that was rendered immediately prior to this call.
Remarks:
If a DrawCallback was assigned to a Drawable, this function will be called from the render immediately after the indicated Drawable was rendered. A derived DrawCallback can override this function to perform some post-processing. The default implementation does nothing.
Note, that the render framework will not call this function if the preDraw implementation of the same DrawCallback object returns false.

The documentation for this class was generated from the following file:
  • Drawable.h
Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: Member List

DrawCallback Member List

This is the complete list of members for DrawCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
draw(const Drawable *p) | DrawCallback | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
postDraw(const Drawable *p) | DrawCallback | [inline, virtual]
preDraw(const Drawable *p) | DrawCallback | [inline, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~DrawCallback() (defined in DrawCallback) | DrawCallback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: EliminateTraverser Class Reference

nvtraverser::EliminateTraverser

EliminateTraverser Class Reference

Traverser that eliminates a number of Objects, if appropriate. More...

#include <EliminateTraverser.h>

Inheritance diagram for EliminateTraverser:

[legend]
Collaboration diagram for EliminateTraverser:

[legend]
List of all members.

Public Types

enum {
ET_GROUP = BIT0, ET_INDEX_SET = BIT1, ET_LOD = BIT2, ET_STATE_PASS = BIT3,
ET_STATE_SET = BIT4, ET_STATE_VARIANT = BIT5, ET_TEXTURE_ATTRIBUTE = BIT6, ET_TEXTURE_ATTRIBUTE_ITEM = BIT7,
ET_ALL_TARGETS_MASK
}

Public Member Functions

NVSG_API | EliminateTraverser (void)
Constructor.
NVSG_API unsigned int | getEliminateTargets () const
Get the bitmask describing the targets to eliminate.
NVSG_API void | setEliminateTargets (unsigned int mask)
Set the bitmask describing the targets to eliminate.
REFLECTION_INFO_API (NVSG_API, EliminateTraverser)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (EliminateTargets)

Public Attributes

enum nvtraverser::EliminateTraverser:: { ... } | EliminateTarget

Protected Member Functions

virtual NVSG_API | ~EliminateTraverser (void)
Protected destructor to prevent instantiation of a EliminateTraverser on stack.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
If the root node is a Group with a single child, it is removed.
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *p)
If the AnimatedTransform holds other Groups without lights or clip planes, they are replaced by their children.
virtual NVSG_API void | handleBillboard (nvsg::Billboard *p)
If the Billboard holds Groups without lights or clip planes, they are replaced by their children.
virtual NVSG_API void | handleFlipbookAnimation (nvsg::FlipbookAnimation *p)
Traverse a FlipbookAnimation like a Group.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Handler function for a GeoNode.
virtual NVSG_API void | handleGroup (nvsg::Group *p)
If the Group holds other Groups without lights or clip planes, they are replaced by their children.
virtual NVSG_API void | handleLOD (nvsg::LOD *p)
If the LOD holds Groups with one child without lights or clip planes, they are replaced by their respective child.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Handler function for a Primitive.
virtual NVSG_API void | handleStatePass (nvsg::StatePass *p)
Handler function for a StatePass.
virtual NVSG_API void | handleStateSet (nvsg::StateSet *p)
Handler function for a StateSet.
virtual NVSG_API void | handleStateVariant (nvsg::StateVariant *p)
Handler function for a StateVariant.
virtual NVSG_API void | handleSwitch (nvsg::Switch *p)
If the Switch holds Groups with one child without lights or clip planes, they are replaced by their respective child.
virtual NVSG_API void | handleTextureAttribute (nvsg::TextureAttribute *p)
Handler function for a TextureAttribute.
virtual NVSG_API void | handleTransform (nvsg::Transform *p)
If the Transform holds Groups without lights or clip planes, they are replaced by their children.

Detailed Description

Traverser that eliminates a number of Objects, if appropriate.

Remarks:
There are a number of different object types that can be eliminated:
  • A Group, that is a child of a Group or a Transform, and that does not hold clip planes or lights, can be replaced by its children.
  • A Group, that is a child of an LOD or a Switch or is the root node of the tree, and that does not hold clip planes or lights, but exactly one child, can be replaced by that child.
  • An LOD, that holds exactly one child (and no ranges) can be replaced by that child.
  • A StateSet that holds no StateVariants can be removed.
  • A StateVariant that holds no StatePasses can be removed.
See also:

Member Enumeration Documentation

anonymous enum

Enumeration values:
ET_GROUP | EliminateTarget Group: replace redundant Groups by their child/children.
ET_INDEX_SET | EliminateTarget IndexSet: remove IndexSet that just enumerates from 0 to n-1.
ET_LOD | EliminateTarget LOD: replace redundant LODs by its child.
ET_STATE_PASS | EliminateTarget StatePass: remove StatePasses without any StateAttributes.
ET_STATE_SET | EliminateTarget StateSet: remove StateSets without any StateVariants.
ET_STATE_VARIANT | EliminateTarget StateVariant: remove StateVariants with any StatePasses.
ET_TEXTURE_ATTRIBUTE | EliminateTarget TextureAttribute: remove TextureAttributes without any TextureAttributeItems.
ET_TEXTURE_ATTRIBUTE_ITEM | EliminateTarget TextureAttributeItem: unbind TextureAttributeItems without a TextureHost.

Constructor & Destructor Documentation

NVSG_API EliminateTraverser ( void )

Constructor.

virtual NVSG_API ~EliminateTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a EliminateTraverser on stack.

Member Function Documentation

unsigned int getEliminateTargets ( ) const [inline]

Get the bitmask describing the targets to eliminate.

Returns:
A bitmask describing the targets to eliminate.

void setEliminateTargets ( unsigned int mask ) [inline]

Set the bitmask describing the targets to eliminate.

Parameters:
mask The bitmask describing the targets to eliminate.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

If the root node is a Group with a single child, it is removed.

Reimplemented from OptimizeTraverser.

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * p ) [protected, virtual]

If the AnimatedTransform holds other Groups without lights or clip planes, they are replaced by their children.

An AnimatedTransform is handled as a Transform.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleBillboard ( nvsg::Billboard * p ) [protected, virtual]

If the Billboard holds Groups without lights or clip planes, they are replaced by their children.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleFlipbookAnimation ( nvsg::FlipbookAnimation * p ) [protected, virtual]

Traverse a FlipbookAnimation like a Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Handler function for a GeoNode.

Parameters:
gnode A pointer to the write-locked GeoNode being traversed.
Remarks:
This function is called from the framework whenever a GeoNode is encountered on traversal. The GeoNode gnode is already write-locked.
The base implementation just calls Traverser::traverseGeoNode().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGeoNode

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGroup ( nvsg::Group * p ) [protected, virtual]

If the Group holds other Groups without lights or clip planes, they are replaced by their children.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLOD ( nvsg::LOD * p ) [protected, virtual]

If the LOD holds Groups with one child without lights or clip planes, they are replaced by their respective child.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Handler function for a Primitive.

Parameters:
primitive A pointer to the write-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive primitive is already write-locked.
The base implementation just calls Traverser::traversePrimitive().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitive

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStatePass ( nvsg::StatePass * p ) [protected, virtual]

Handler function for a StatePass.

Parameters:
pass A pointer to the write-locked StatePass being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StatePass pass is already write-locked.
The base implementation just call Traverser::traverseStatePass().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStatePass

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStateSet ( nvsg::StateSet * p ) [protected, virtual]

Handler function for a StateSet.

Parameters:
stateSet A pointer to the write-locked StateSet being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StateSet stateSet is already write-locked.
The base implementation just traverses the active StateVariant.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
StateVariant

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStateVariant ( nvsg::StateVariant * p ) [protected, virtual]

Handler function for a StateVariant.

Parameters:
variant A pointer to the write-locked StateVariant being traversed.
Remarks:
This function is called from the framework whenever a StateVariant is encountered on traversal. The StateVariant variant is already write-locked.
The base implementation just call Traverser::traverseStateVariant().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStateVariant

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSwitch ( nvsg::Switch * p ) [protected, virtual]

If the Switch holds Groups with one child without lights or clip planes, they are replaced by their respective child.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTextureAttribute ( nvsg::TextureAttribute * p ) [protected, virtual]

Handler function for a TextureAttribute.

Parameters:
texAttrib A pointer to the write-locked TextureAttribute being traversed.
Remarks:
This function is called from the framework whenever a TextureAttribute is encountered on traversal. The TextureAttribute texAttrib is already write-locked.
The base implementation just calls Traverser::traverseTextureAttribute().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseTextureAttribute

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * p ) [protected, virtual]

If the Transform holds Groups without lights or clip planes, they are replaced by their children.

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • EliminateTraverser.h
Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: Member List

EliminateTraverser Member List

This is the complete list of members for EliminateTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DECLARE_STATIC_PROPERTY(EliminateTargets) (defined in EliminateTraverser) | EliminateTraverser |
DECLARE_STATIC_PROPERTY(IgnoreNames) (defined in OptimizeTraverser) | OptimizeTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | EliminateTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
EliminateTarget (defined in EliminateTraverser) | EliminateTraverser |
EliminateTraverser(void) | EliminateTraverser |
ET_ALL_TARGETS_MASK enum value (defined in EliminateTraverser) | EliminateTraverser |
ET_GROUP enum value | EliminateTraverser |
ET_INDEX_SET enum value | EliminateTraverser |
ET_LOD enum value | EliminateTraverser |
ET_STATE_PASS enum value | EliminateTraverser |
ET_STATE_SET enum value | EliminateTraverser |
ET_STATE_VARIANT enum value | EliminateTraverser |
ET_TEXTURE_ATTRIBUTE enum value | EliminateTraverser |
ET_TEXTURE_ATTRIBUTE_ITEM enum value | EliminateTraverser |
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getEliminateTargets() const | EliminateTraverser | [inline]
getIgnoreNames(void) const | OptimizeTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *p) | EliminateTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | EliminateTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *p) | EliminateTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | EliminateTraverser | [protected, virtual]
handleGroup(nvsg::Group *p) | EliminateTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *p) | EliminateTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | EliminateTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *p) | EliminateTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *p) | EliminateTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *p) | EliminateTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *p) | EliminateTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *p) | EliminateTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | EliminateTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *obj) | OptimizeTraverser | [protected, virtual]
OptimizeTraverser(void) | OptimizeTraverser |
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, EliminateTraverser) (defined in EliminateTraverser) | EliminateTraverser |
REFLECTION_INFO_API(NVSG_API, OptimizeTraverser) (defined in OptimizeTraverser) | OptimizeTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setEliminateTargets(unsigned int mask) | EliminateTraverser | [inline]
setIgnoreNames(bool ignore) | OptimizeTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~EliminateTraverser(void) | EliminateTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~OptimizeTraverser(void) | OptimizeTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: EmptyResult Class Reference

nvtraverser::EmptyResult

EmptyResult Class Reference

AnalyzeResult indicating an empty object. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for EmptyResult:

[legend]
Collaboration diagram for EmptyResult:

[legend]
List of all members.

Public Member Functions

virtual | ~EmptyResult ()
Virtual Destructor.

Public Attributes

unsigned int | emptyCount
The number of empty objects of this type.

Detailed Description

AnalyzeResult indicating an empty object.

Namespace: nvsg
Remarks:
All empty object in the tree (e.g. Groups without children, Triangles without indices,...) are reported with an EmptyResult.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~EmptyResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int emptyCount

The number of empty objects of this type.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: Member List

EmptyResult Member List

This is the complete list of members for EmptyResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
emptyCount | EmptyResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~EmptyResult() | EmptyResult | [inline, virtual]

Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: EquivalenceResult Class Reference

nvtraverser::EquivalenceResult

EquivalenceResult Class Reference

AnalyzeResult indicating equivalent objects. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for EquivalenceResult:

[legend]
Collaboration diagram for EquivalenceResult:

[legend]
List of all members.

Public Member Functions

virtual | ~EquivalenceResult ()
Virtual Destructor.

Public Attributes

unsigned int | equivalentCount
The number of equivalent objects of this type.
unsigned int | reducedCount
The number of objects of this type, if equivalent objects would be combined.

Detailed Description

AnalyzeResult indicating equivalent objects.

Namespace: nvsg
Remarks:
All equivalent objects in the tree (e.g. StateAttributes with the same settings) are reported with an EquivalenceResult.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~EquivalenceResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int equivalentCount

The number of equivalent objects of this type.

unsigned int reducedCount

The number of objects of this type, if equivalent objects would be combined.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: Member List

EquivalenceResult Member List

This is the complete list of members for EquivalenceResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
equivalentCount | EquivalenceResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
reducedCount | EquivalenceResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~EquivalenceResult() | EquivalenceResult | [inline, virtual]

Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: ExclusiveModelViewTraverser Class Reference

nvtraverser::ExclusiveModelViewTraverser

ExclusiveModelViewTraverser Class Reference

Traverser that can handle the model view transform stack. More...

#include <ModelViewTraverser.h>

Inheritance diagram for ExclusiveModelViewTraverser:

[legend]
Collaboration diagram for ExclusiveModelViewTraverser:

[legend]
List of all members.

Protected Member Functions

NVSG_API | ExclusiveModelViewTraverser ()
Protected constructor to prevent instantiation of a ModelViewTraverser.
virtual NVSG_API | ~ExclusiveModelViewTraverser ()
Protected destructor to prevent instantiation of a ExclusiveModelViewTraverser.
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *p)
Provide special treatment of an AnimatedTransform node.
virtual NVSG_API void | handleBillboard (nvsg::Billboard *p)
Provide special treatment of a Billboard node.
virtual NVSG_API void | handleTransform (nvsg::Transform *p)
Provide special treatment of a Transform node.
virtual NVSG_API bool | preTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between transform stack adjustment and traversal.
virtual NVSG_API void | postTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between traversal and transform stack adjustment.
virtual NVSG_API void | traverseCamera (nvsg::Camera *camera)
Handle any type of Camera on traversal.

Protected Attributes

nvutil::TransformStack m_transformStack
stack of transformations that holds the actual transformations while traversing a tree

Detailed Description

Traverser that can handle the model view transform stack.

Use this class as a base for traversers that need to maintain the current model view transformation.

Note:
All ModelViewTraverser based classes need a valid nvsg::ViewState . If the ViewState is not valid the runtime behaviour is not defined. Call setViewState() with a valid ViewState prior calling apply().

Constructor & Destructor Documentation

NVSG_API ExclusiveModelViewTraverser ( ) [protected]

Protected constructor to prevent instantiation of a ModelViewTraverser.

Note:
A ExclusiveModelViewTraverser doesn't change anything in the scene graph, but might be used by a modifying traverser. therefore, it gets the readOnly flag as a parameter to pass to Traverser.

virtual NVSG_API ~ExclusiveModelViewTraverser ( ) [protected, virtual]

Protected destructor to prevent instantiation of a ExclusiveModelViewTraverser.

Member Function Documentation

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * p ) [protected, virtual]

Provide special treatment of an AnimatedTransform node.

An AnimatedTransform is handled as a Transform.

Parameters:
p currently visited AnimatedTransform

Reimplemented from ExclusiveTraverser.

Reimplemented in AppTraverser.

virtual NVSG_API void handleBillboard ( nvsg::Billboard * p ) [protected, virtual]

Provide special treatment of a Billboard node.

On a Billboard the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Billboard to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Transform to handle

Reimplemented from ExclusiveTraverser.

Reimplemented in AppTraverser.

virtual NVSG_API bool preTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

In this base class, this is a NOP.

Parameters:
p Trafo of node to traverse next

Reimplemented in AppTraverser.

virtual NVSG_API void postTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between traversal and transform stack adjustment.

When this function returns true, the subtree beneath is traversed. Otherwise it isn't.

Returns:
true
Parameters:
p Trafo of node that was traversed immediately before this call.

Reimplemented in AppTraverser.

virtual NVSG_API void traverseCamera ( nvsg::Camera * camera ) [protected, virtual]

Handle any type of Camera on traversal.

Parameters:
camera The write-locked camera to traverse.
Remarks:
This function is called by the framework while traversing any type of Camera. On traversal, no or one camera will be traversed. The stack of transforms is initialized with the world-to-view and the view-to-clip matrices. Moreover, the camera is stored, referenced, and locked for further usage. It will be unlocked and unreferenced in doApply.
See also:
lockCamera, unlockCamera

Reimplemented from ExclusiveTraverser.

Member Data Documentation

nvutil::TransformStack m_transformStack [protected]

stack of transformations that holds the actual transformations while traversing a tree

The documentation for this class was generated from the following file:
  • ModelViewTraverser.h
Generated on Fri Jul 13 13:30:45 2012 for SceniX


SceniX: Member List

ExclusiveModelViewTraverser Member List

This is the complete list of members for ExclusiveModelViewTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveModelViewTraverser() | ExclusiveModelViewTraverser | [protected]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_transformStack | ExclusiveModelViewTraverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
postTraverseTransform(const nvmath::Trafo *p) | ExclusiveModelViewTraverser | [protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
preTraverseTransform(const nvmath::Trafo *p) | ExclusiveModelViewTraverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveModelViewTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveModelViewTraverser() | ExclusiveModelViewTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:45 2012 for SceniX


SceniX: ExclusiveTraverser Class Reference

nvtraverser::ExclusiveTraverser

ExclusiveTraverser Class Reference

Base class providing an interface for read-write traversing of a given scene graph. More...

#include <Traverser.h>

Inheritance diagram for ExclusiveTraverser:

[legend]
Collaboration diagram for ExclusiveTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | ExclusiveTraverser ()
Default constructor.
NVSG_API bool | getTreeModified (void) const
Query if the latest traversal did modify the tree.
virtual NVSG_API unsigned int | getTraversalMask () const
Get the current TraversalMask value.

Protected Member Functions

virtual NVSG_API | ~ExclusiveTraverser ()
Protected Destructor to prevent instantiation.
template<typename T, typename U>
void | addObjectHandler (unsigned int objectCode, void(T::*handler)(U *))
Template function to add a handler routine for a new class derived from Object.
template<typename T, typename U, typename V>
void | addObjectHandler (unsigned int objectCode, void(T::*handler)(U *, V))
Template function to add a handler routine for a new class derived from Object.
virtual NVSG_API void | lockViewState ()
Override of the ViewState locking interface.
virtual NVSG_API void | unlockViewState ()
Override of the ViewState unlocking interface.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Override of the traversal initiating interface.
virtual NVSG_API void | doTraverseObject (const nvsg::ObjectSharedPtr &p)
Function for performing the object traversal.
virtual NVSG_API void | doTraverseDrawable (const nvsg::DrawableSharedPtr &p)
Function for performing traversal of a Drawable.
virtual NVSG_API void | handleParallelCamera (nvsg::ParallelCamera *camera)
Handler function for a ParallelCamera.
virtual NVSG_API void | handlePerspectiveCamera (nvsg::PerspectiveCamera *camera)
Handler function for a PerspectiveCamera.
virtual NVSG_API void | handleMatrixCamera (nvsg::MatrixCamera *camera)
Handler function for a MatrixCamera.
virtual NVSG_API void | handleGroup (nvsg::Group *group)
Handler function for a Group.
virtual NVSG_API void | handleFlipbookAnimation (nvsg::FlipbookAnimation *anim)
Handler function for a FlipbookAnimation.
virtual NVSG_API void | handleTransform (nvsg::Transform *trafo)
Handler function for a Transform.
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *trafo)
Handler function for an AnimatedTransform.
virtual NVSG_API void | handleLOD (nvsg::LOD *lod)
Handler function for an LOD.
virtual NVSG_API void | handleSwitch (nvsg::Switch *swtch)
Handler function for a Switch.
virtual NVSG_API void | handleBillboard (nvsg::Billboard *billboard)
Handler function for a Billboard.
virtual NVSG_API void | handleDirectedLight (nvsg::DirectedLight *light)
Handler function for a DirectedLight.
virtual NVSG_API void | handlePointLight (nvsg::PointLight *light)
Handler function for a PointLight.
virtual NVSG_API void | handleSpotLight (nvsg::SpotLight *light)
Handler function for a SpotLight.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *gnode)
Handler function for a GeoNode.
virtual NVSG_API void | handleRectPatches (nvsg::RectPatches *patches)
Handler function for a RectPatches.
virtual NVSG_API void | handleQuadPatches (nvsg::QuadPatches *patches)
Handler function for a QuadPatches.
virtual NVSG_API void | handleQuadPatches4x4 (nvsg::QuadPatches4x4 *patches)
Handler function for a QuadPatches4x4.
virtual NVSG_API void | handleQuads (nvsg::Quads *quads)
Handler function for a Quads.
virtual NVSG_API void | handleTriangles (nvsg::Triangles *triangles)
Handler function for a Triangles.
virtual NVSG_API void | handleLines (nvsg::Lines *lines)
Handler function for a Lines.
virtual NVSG_API void | handlePoints (nvsg::Points *points)
Handler function for a Points.
virtual NVSG_API void | handleQuadMeshes (nvsg::QuadMeshes *meshes)
Handler function for a QuadsMeshes.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *strips)
Handler function for a QuadStrips.
virtual NVSG_API void | handleTriFans (nvsg::TriFans *fans)
Handler function for a TriFans.
virtual NVSG_API void | handleTriPatches (nvsg::TriPatches *patches)
Handler function for a TriPatches.
virtual NVSG_API void | handleTriPatches4 (nvsg::TriPatches4 *patches)
Handler function for a TriPatches4.
virtual NVSG_API void | handleTriStrips (nvsg::TriStrips *strips)
Handler function for a TriStrips.
virtual NVSG_API void | handleLineStrips (nvsg::LineStrips *strips)
Handler function for a LineStrips.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *primitive)
Handler function for a Primitive.
virtual NVSG_API void | handleShape (nvsg::Shape *shape)
Handler function for a Shape.
virtual NVSG_API void | handleStateSet (nvsg::StateSet *stateSet)
Handler function for a StateSet.
virtual NVSG_API void | handleStateVariant (nvsg::StateVariant *variant)
Handler function for a StateVariant.
virtual NVSG_API void | handleStatePass (nvsg::StatePass *pass)
Handler function for a StatePass.
virtual NVSG_API void | handleCgFx (nvsg::CgFx *cgfx)
Handler function for a CgFx.
virtual NVSG_API void | handleRTFx (nvsg::RTFx *rtfx)
Handler function for a RTFx.
virtual NVSG_API void | handleRTFxProgram (nvsg::RTFxProgram *rtfxProgram)
virtual NVSG_API void | handleRTBufferAttribute (nvsg::RTBufferAttribute *rtba)
Handler function for an RTBufferAttribute.
virtual NVSG_API void | handleMaterial (nvsg::Material *material)
Handler function for a Material.
virtual NVSG_API void | handleTextureAttribute (nvsg::TextureAttribute *texAttrib)
Handler function for a TextureAttribute.
virtual NVSG_API void | handleTextureAttributeItem (nvsg::TextureAttributeItem *texAttribItem)
Handler function for a TextureAttributeItem.
virtual NVSG_API void | handleAlphaTestAttribute (nvsg::AlphaTestAttribute *alphaTestAttrib)
Handler function for a AlphaTestAttribute.
virtual NVSG_API void | handleBlendAttribute (nvsg::BlendAttribute *blendAttrib)
Handler function for a BlendAttribute.
virtual NVSG_API void | handleDepthAttribute (nvsg::DepthAttribute *depthAttrib)
Handler function for a DepthAttribute.
virtual NVSG_API void | handleStencilAttribute (nvsg::StencilAttribute *stencilAttrib)
Handler function for a StencilAttribute.
virtual NVSG_API void | handleFaceAttribute (nvsg::FaceAttribute *faceAttrib)
Handler function for a FaceAttribute.
virtual NVSG_API void | handleLightingAttribute (nvsg::LightingAttribute *laAttrib)
Handler function for a LightingAttribute.
virtual NVSG_API void | handleLineAttribute (nvsg::LineAttribute *lineAttrib)
Handler function for a LineAttribute.
virtual NVSG_API void | handlePointAttribute (nvsg::PointAttribute *pointAttrib)
Handler function for a PointAttribute.
virtual NVSG_API void | handleUnlitColorAttribute (nvsg::UnlitColorAttribute *unlitColor)
Handler function for an UnlitColorAttribute.
virtual NVSG_API void | handleMapArray (nvsg::MapArray *mapArray)
Handler function for a MapArray.
virtual NVSG_API void | handleMapElement (nvsg::MapElement *mapElement)
Handler function for a MapElement.
virtual NVSG_API void | handleMapMatrix (nvsg::MapMatrix *mapMatrix)
Handler function for a MapMatrix.
virtual NVSG_API void | handleMapList (nvsg::MapList *mapList)
Handler function for a MapList.
virtual NVSG_API void | handleVertexAttributeSet (nvsg::VertexAttributeSet *vas)
Handler function for a VertexAttributeSet.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (nvsg::AnimatedVertexAttributeSet *avas)
Handler function for an AnimatedVertexAttributeSet.
virtual NVSG_API void | handleSkin (nvsg::Skin *skin)
Handler function for a Skin.
virtual NVSG_API void | handleIndexAnimation (nvsg::Animation< unsigned int > *anim)
Handle function for an Animation of indices.
virtual NVSG_API void | handleTrafoAnimation (nvsg::Animation< nvmath::Trafo > *anim)
Handle function for an Animation of Trafos.
virtual NVSG_API void | handleVertexAttributeAnimation (nvsg::Animation< nvsg::VertexAttribute > *anim)
Handle function for an Animation of VertexAttributes.
virtual NVSG_API void | handleFramedIndexAnimationDescription (nvsg::FramedAnimationDescription< unsigned int > *anim)
Handler function for a FramedAnimationDescription<unsigned int>.
virtual NVSG_API void | handleFramedTrafoAnimationDescription (nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo)
Handler function for a FramedAnimationDescription<nvmath::Trafo>.
virtual NVSG_API void | handleFramedVertexAttributeAnimationDescription (nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Handler function for a FramedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | handleLinearInterpolatedTrafoAnimationDescription (nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo)
Handler function for a LinearInterpolatedAnimationDescription<nvmath::Trafo>.
virtual NVSG_API void | handleLinearInterpolatedVertexAttributeAnimationDescription (nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Handler function for a LinearInterpolatedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | handleRTFxSceneAttribute (nvsg::RTFxSceneAttribute *rtfxsa)
Handler function for an RTFxSceneAttribute.
virtual NVSG_API void | traverseCamera (nvsg::Camera *camera)
Function for common handling of Camera classes.
virtual NVSG_API void | traverseFrustumCamera (nvsg::FrustumCamera *camera)
Function for common handling of FrustumCamera classes.
virtual NVSG_API void | traverseLight (nvsg::LightSource *light)
Function for common handling of LightSource classes.
virtual NVSG_API void | traversePrimitiveSet (nvsg::PrimitiveSet *pset)
Function for common handling of PrimitiveSet classes.
virtual NVSG_API void | traversePrimitive (nvsg::Primitive *p)
Function for common handling of Primitive classes.

Protected Attributes

std::auto_ptr< nvsg::CameraWriteLock > | m_lockedCamera
std::auto_ptr< nvsg::SceneWriteLock > | m_lockedScene
std::auto_ptr< nvsg::ViewStateWriteLock > | m_lockedViewState

Detailed Description

Base class providing an interface for read-write traversing of a given scene graph.

Remarks:
The ExclusiveTraverser class offers base functionality for all traversers that intend to provide read-write operations on a given scene graph. For all known and concrete Objects this class provides a set of overloadable handler routines, each ensuring that all components following the actual object in the graph hierarchy will be traversed correctly. Hence, for derived traversers it is recommended to always call the base implementation of an overridden handler routine for traversing purposes.
To provide new read-write operations to be applied on known and concrete components or objects arranged in a scene graph, it is sufficient to derive a new traverser from either ExclusiveTraverser or one of its derived traversers, and override the corresponding handler routines as needed.
See also:
SharedTraverser

Constructor & Destructor Documentation

NVSG_API ExclusiveTraverser ( )

Default constructor.

virtual NVSG_API ~ExclusiveTraverser ( ) [inline, protected, virtual]

Protected Destructor to prevent instantiation.

Member Function Documentation

bool getTreeModified ( void ) const [inline]

Query if the latest traversal did modify the tree.

Returns:
true if the tree was modified, otherwise false

unsigned int getTraversalMask ( ) const [inline, virtual]

Get the current TraversalMask value.

Returns:
mask The mask to be used.
Remarks:
If a ViewState has been set on this ExclusiveTraverser, this method will return the ViewState's TraversalMask. Otherwise, it will return the traversal mask set with Traverser::setTraversalMask.
See also:
setTraversalMask

Reimplemented from Traverser.

void addObjectHandler | ( | unsigned int | objectCode,
 |  | void(T::*)(U *) | handler
 | ) | [inline, protected]

Template function to add a handler routine for a new class derived from Object.

Parameters:
objectCode | Object code to identify an object type at run-time.
handler | Specifies the address of the handler routine.
Remarks:
The function registers the handler routine specified by handler to handle a concrete class, derived from Object, that is explicitly identified by objectCode.
A handler routine must be a member function of a Traverser-derived class. It must return void and expect a pointer to the concrete object as a first parameter, and can have one additional (optional) argument of arbitrary type. A handler routine must not have a default argument! If a handler routine is intended to remain overloadable, it should be declared virtual.
For derived classes intended to provide new operations for known objects arranged in a scene graph, it is strongly recommended not to add new handler routines for those objects but to override the corresponding handler routine. In this context, we refer to 'known objects' as objects that are known by the Traverser base class and for which a corresponding handler routine is provided.
However, addObjectHandler is indispensable if newly invented objects, and hence, objects that are unknown by the Traverser base class, need to be considered for traversing.
Note:
Any previously registered handler routine for the specified object code will be overridden by the new handler.
Example:
    addObjectHandler(
      OC_NEWGROUP   // object code for the new object NewGroup
                    // this must be provided by the author of NewGroup
      , &MyExclusiveTraverser::handleNewGroup // handler function
    );

void addObjectHandler | ( | unsigned int | objectCode,
 |  | void(T::*)(U *, V) | handler
 | ) | [inline, protected]

Template function to add a handler routine for a new class derived from Object.

Parameters:
objectCode | Object code to identify an object type at run-time.
handler | Specifies the address of the handler routine.
Remarks:
The function registers the handler routine specified by handler to handle a concrete class, derived from Object, that is explicitly identified by objectCode.
A handler routine must be a member function of a Traverser-derived class. It must return void and expect a pointer to the concrete object as a first parameter, and can have one additional (optional) argument of arbitrary type. A handler routine must not have a default argument! If a handler routine is intended to remain overloadable, it should be declared virtual.
For derived classes intended to provide new operations for known objects arranged in a scene graph, it is strongly recommended not to add new handler routines for those objects but to override the corresponding handler routine. In this context, we refer to 'known objects' as objects that are known by the Traverser base class and for which a corresponding handler routine is provided.
However, addObjectHandler is indispensable if newly invented objects, and hence, objects that are unknown by the Traverser base class, need to be considered for traversing.
Note:
Any previously registered handler routine for the specified object code will be overridden by the new handler.
Example:
    addObjectHandler(
      OC_NEWGROUP   // object code for the new object NewGroup
                    // this must be provided by the author of NewGroup
      , &MyExclusiveTraverser::handleNewGroup // handler function
    );

virtual NVSG_API void lockViewState ( ) [protected, virtual]

Override of the ViewState locking interface.

Remarks:
This function is called from the framework to lock the current ViewState, if any, for writing.
See also:
setViewState, unlockViewState

Implements Traverser.

virtual NVSG_API void unlockViewState ( ) [protected, virtual]

Override of the ViewState unlocking interface.

Remarks:
This function is called from the framework to unlock the current ViewState, if any, from writing.
See also:
setViewState, lockViewState

Implements Traverser.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the traversal initiating interface.

Parameters:
root The Node to start traversal at.
Remarks:
This function is called from the framework after the Scene and the ViewState, if set, are locked. The actual traversal is done here.
See also:
preApply, postApply, lockViewState, unlockViewState

Implements Traverser.

Reimplemented in WRLLoadTraverser, AppTraverser, ConvertPrimitivesTraverser, DeindexTraverser, DestrippingTraverser, EliminateTraverser, NormalizeTraverser, OptimizeTraverser, SmoothTraverser, and UnifyTraverser.

void doTraverseObject ( const nvsg::ObjectSharedPtr & p ) [inline, protected, virtual]

Function for performing the object traversal.

Parameters:
p The Object to traverse.
Remarks:
This function is called by the framework to really traverse an object.
See also:
traverseObject

Implements Traverser.

virtual NVSG_API void doTraverseDrawable ( const nvsg::DrawableSharedPtr & p ) [protected, virtual]

Function for performing traversal of a Drawable.

Parameters:
p The Drawable to traverse.
Remarks:
This function is called by the framework to traverse a Drawable.

Implements Traverser.

virtual NVSG_API void handleParallelCamera ( nvsg::ParallelCamera * camera ) [protected, virtual]

Handler function for a ParallelCamera.

Parameters:
camera A pointer to the write-locked ParallelCamera being traversed.
Remarks:
This function is called from the framework whenever a ParallelCamera is encountered on traversal. The ParallelCamera camera is already write-locked.
The base implementation traverses through all the head lights of this camera.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMatrixCamera, handlePerspectiveCamera

virtual NVSG_API void handlePerspectiveCamera ( nvsg::PerspectiveCamera * camera ) [protected, virtual]

Handler function for a PerspectiveCamera.

Parameters:
camera A pointer to the write-locked PerspectiveCamera being traversed.
Remarks:
This function is called from the framework whenever a PerspectiveCamera is encountered on traversal. The PerspectiveCamera camera is already write-locked.
The base implementation traverses through all the head lights of this camera.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMatrixCamera, handleParallelCamera

virtual NVSG_API void handleMatrixCamera ( nvsg::MatrixCamera * camera ) [protected, virtual]

Handler function for a MatrixCamera.

Parameters:
camera A pointer to the write-locked MatrixCamera being traversed.
Remarks:
This function is called from the framework whenever a MatrixCamera is encountered on traversal. The MatrixCamera camera is already read-locked.
The base implementation traverses through all the head lights of this camera.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleParallelCamera, handlePerspectiveCamera

virtual NVSG_API void handleGroup ( nvsg::Group * group ) [protected, virtual]

Handler function for a Group.

Parameters:
group A pointer to the write-locked Group being traversed.
Remarks:
This function is called from the framework whenever a Group is encountered on traversal. The Group group is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup

Reimplemented in WRLLoadTraverser, CombineTraverser, EliminateTraverser, IdentityToGroupTraverser, and UnifyTraverser.

virtual NVSG_API void handleFlipbookAnimation ( nvsg::FlipbookAnimation * anim ) [protected, virtual]

Handler function for a FlipbookAnimation.

Parameters:
anim A pointer to the write-locked FlipbookAnimation being traversed.
Remarks:
This function is called from the framework whenever a FlipbookAnimation is encountered on traversal. The FlipbookAnimation anim is already write-locked.
The base implementation first traverses the associated IndexAnimation, and then calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup, IndexAnimation

Reimplemented in PostBuildTraverser, ConvertPrimitivesTraverser, EliminateTraverser, and UnifyTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * trafo ) [protected, virtual]

Handler function for a Transform.

Parameters:
trafo A pointer to the write-locked Transform being traversed.
Remarks:
This function is called from the framework whenever a Transform is encountered on traversal. The Transform trafo is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in WRLLoadTraverser, AppTraverser, CombineTraverser, EliminateTraverser, IdentityToGroupTraverser, ExclusiveModelViewTraverser, and UnifyTraverser.

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * trafo ) [protected, virtual]

Handler function for an AnimatedTransform.

Parameters:
trafo A pointer to the write-locked AnimatedTransform being traversed.
Remarks:
This function is called from the framework whenever an AnimatedTransform is encountered on traversal. The AnimatedTransform trafo is already write-locked.
The base implementation first traverses the associated TrafoAnimation, and then calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup, TrafoAnimation

Reimplemented in WRLLoadTraverser, AppTraverser, CombineTraverser, EliminateTraverser, IdentityToGroupTraverser, ExclusiveModelViewTraverser, and UnifyTraverser.

virtual NVSG_API void handleLOD ( nvsg::LOD * lod ) [protected, virtual]

Handler function for an LOD.

Parameters:
lod A pointer to the write-locked LOD being traversed.
Remarks:
This function is called from the framework whenever an LOD is encountered on traversal. The LOD lod is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in WRLLoadTraverser, CombineTraverser, ConvertPrimitivesTraverser, EliminateTraverser, IdentityToGroupTraverser, and UnifyTraverser.

virtual NVSG_API void handleSwitch ( nvsg::Switch * swtch ) [protected, virtual]

Handler function for a Switch.

Parameters:
swtch A pointer to the write-locked Switch being traversed.
Remarks:
This function is called from the framework whenever a Switch is encountered on traversal. The Switch switch is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in PostBuildTraverser, WRLLoadTraverser, ConvertPrimitivesTraverser, EliminateTraverser, IdentityToGroupTraverser, and UnifyTraverser.

virtual NVSG_API void handleBillboard ( nvsg::Billboard * billboard ) [protected, virtual]

Handler function for a Billboard.

Parameters:
billboard A pointer to the write-locked Billboard being traversed.
Remarks:
This function is called from the framework whenever a Billboard is encountered on traversal. The Billboard billboard is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in WRLLoadTraverser, CombineTraverser, EliminateTraverser, IdentityToGroupTraverser, ExclusiveModelViewTraverser, and UnifyTraverser.

virtual NVSG_API void handleDirectedLight ( nvsg::DirectedLight * light ) [protected, virtual]

Handler function for a DirectedLight.

Parameters:
light A pointer to the write-locked DirectedLight being traversed.
Remarks:
This function is called from the framework whenever a DirectedLight is encountered on traversal. The DirectedLight light is already write-locked.
The base implementation just calls traverseLight().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseLight

virtual NVSG_API void handlePointLight ( nvsg::PointLight * light ) [protected, virtual]

Handler function for a PointLight.

Parameters:
light A pointer to the write-locked PointLight being traversed.
Remarks:
This function is called from the framework whenever a PointLight is encountered on traversal. The PointLight light is already write-locked.
The base implementation just calls traverseLight().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseLight

virtual NVSG_API void handleSpotLight ( nvsg::SpotLight * light ) [protected, virtual]

Handler function for a SpotLight.

Parameters:
light A pointer to the write-locked SpotLight being traversed.
Remarks:
This function is called from the framework whenever a SpotLight is encountered on traversal. The SpotLight light is already write-locked.
The base implementation just calls traverseLight().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseLight

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * gnode ) [protected, virtual]

Handler function for a GeoNode.

Parameters:
gnode A pointer to the write-locked GeoNode being traversed.
Remarks:
This function is called from the framework whenever a GeoNode is encountered on traversal. The GeoNode gnode is already write-locked.
The base implementation just calls Traverser::traverseGeoNode().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGeoNode

Reimplemented in AppTraverser, BezierExtrapolationTraverser, BezierInterpolationTraverser, CombineTraverser, ConvertPrimitivesTraverser, DestrippingTraverser, EliminateTraverser, SmoothTraverser, TriangulateTraverser, and UnifyTraverser.

virtual NVSG_API void handleRectPatches ( nvsg::RectPatches * patches ) [protected, virtual]

Handler function for a RectPatches.

Parameters:
patches A pointer to the read-locked RectPatches being traversed.
Remarks:
This function is called from the framework whenever a RectPatches is encountered on traversal. The RectPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleQuadPatches ( nvsg::QuadPatches * patches ) [protected, virtual]

Handler function for a QuadPatches.

Parameters:
patches A pointer to the read-locked QuadPatches being traversed.
Remarks:
This function is called from the framework whenever a QuadPatches is encountered on traversal. The QuadPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( nvsg::QuadPatches4x4 * patches ) [protected, virtual]

Handler function for a QuadPatches4x4.

Parameters:
patches A pointer to the read-locked QuadPatches4x4 being traversed.
Remarks:
This function is called from the framework whenever a QuadPatches4x4 is encountered on traversal. The QuadPatches4x4 patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * quads ) [protected, virtual]

Handler function for a Quads.

Parameters:
quads A pointer to the write-locked Quads being traversed.
Remarks:
This function is called from the framework whenever a Quads is encountered on traversal. The Quads quads is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in BezierExtrapolationTraverser, CombineTraverser, ConvertPrimitivesTraverser, SmoothTraverser, TriangulateTraverser, and UnifyTraverser.

virtual NVSG_API void handleTriangles ( nvsg::Triangles * triangles ) [protected, virtual]

Handler function for a Triangles.

Parameters:
triangles A pointer to the write-locked Triangles being traversed.
Remarks:
This function is called from the framework whenever a Triangles is encountered on traversal. The Triangles quads is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in BezierExtrapolationTraverser, CombineTraverser, ConvertPrimitivesTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleLines ( nvsg::Lines * lines ) [protected, virtual]

Handler function for a Lines.

Parameters:
lines A pointer to the write-locked Lines being traversed.
Remarks:
This function is called from the framework whenever a Lines is encountered on traversal. The Lines lines is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, and UnifyTraverser.

virtual NVSG_API void handlePoints ( nvsg::Points * points ) [protected, virtual]

Handler function for a Points.

Parameters:
points A pointer to the write-locked Points being traversed.
Remarks:
This function is called from the framework whenever a Points is encountered on traversal. The Points points is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, and UnifyTraverser.

virtual NVSG_API void handleQuadMeshes ( nvsg::QuadMeshes * meshes ) [protected, virtual]

Handler function for a QuadsMeshes.

Parameters:
meshes A pointer to the write-locked QuadsMeshes being traversed.
Remarks:
This function is called from the framework whenever a QuadsMeshes is encountered on traversal. The QuadsMeshes meshes is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, and UnifyTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * strips ) [protected, virtual]

Handler function for a QuadStrips.

Parameters:
strips A pointer to the write-locked QuadStrips being traversed.
Remarks:
This function is called from the framework whenever a QuadStrips is encountered on traversal. The QuadStrips strips is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, DestrippingTraverser, SmoothTraverser, TriangulateTraverser, and UnifyTraverser.

virtual NVSG_API void handleTriFans ( nvsg::TriFans * fans ) [protected, virtual]

Handler function for a TriFans.

Parameters:
fans A pointer to the write-locked TriFans being traversed.
Remarks:
This function is called from the framework whenever a TriFans is encountered on traversal. The TriFans fans is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, DestrippingTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleTriPatches ( nvsg::TriPatches * patches ) [protected, virtual]

Handler function for a TriPatches.

Parameters:
patches A pointer to the read-locked TriPatches being traversed.
Remarks:
This function is called from the framework whenever a TriPatches is encountered on traversal. The TriPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleTriPatches4 ( nvsg::TriPatches4 * patches ) [protected, virtual]

Handler function for a TriPatches4.

Parameters:
patches A pointer to the read-locked TriPatches4 being traversed.
Remarks:
This function is called from the framework whenever a TriPatches4 is encountered on traversal. The TriPatches4 patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleTriStrips ( nvsg::TriStrips * strips ) [protected, virtual]

Handler function for a TriStrips.

Parameters:
strips A pointer to the write-locked TriStrips being traversed.
Remarks:
This function is called from the framework whenever a TriStrips is encountered on traversal. The TriStrips strips is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, DestrippingTraverser, SmoothTraverser, and UnifyTraverser.

virtual NVSG_API void handleLineStrips ( nvsg::LineStrips * strips ) [protected, virtual]

Handler function for a LineStrips.

Parameters:
strips A pointer to the write-locked LineStrips being traversed.
Remarks:
This function is called from the framework whenever a LineStrips is encountered on traversal. The LineStrips strips is already write-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in CombineTraverser, ConvertPrimitivesTraverser, DestrippingTraverser, and UnifyTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * primitive ) [protected, virtual]

Handler function for a Primitive.

Parameters:
primitive A pointer to the write-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive primitive is already write-locked.
The base implementation just calls Traverser::traversePrimitive().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitive

Reimplemented in BezierExtrapolationTraverser, BezierInterpolationTraverser, CombineTraverser, DeindexTraverser, DestrippingTraverser, EliminateTraverser, SmoothTraverser, StrippingTraverser, TriangulateTraverser, and UnifyTraverser.

virtual NVSG_API void handleShape ( nvsg::Shape * shape ) [protected, virtual]

Handler function for a Shape.

Parameters:
shape A pointer to the write-locked Shape being traversed.
Remarks:
This function is called from the framework whenever a Shape is encountered on traversal. The Shape shape is already write-locked.
The base implementation just calls Traverser::traverseShape().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseShape

virtual NVSG_API void handleStateSet ( nvsg::StateSet * stateSet ) [protected, virtual]

Handler function for a StateSet.

Parameters:
stateSet A pointer to the write-locked StateSet being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StateSet stateSet is already write-locked.
The base implementation just traverses the active StateVariant.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
StateVariant

Reimplemented in BezierInterpolationTraverser, EliminateTraverser, and UnifyTraverser.

virtual NVSG_API void handleStateVariant ( nvsg::StateVariant * variant ) [protected, virtual]

Handler function for a StateVariant.

Parameters:
variant A pointer to the write-locked StateVariant being traversed.
Remarks:
This function is called from the framework whenever a StateVariant is encountered on traversal. The StateVariant variant is already write-locked.
The base implementation just call Traverser::traverseStateVariant().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStateVariant

Reimplemented in EliminateTraverser, and UnifyTraverser.

virtual NVSG_API void handleStatePass ( nvsg::StatePass * pass ) [protected, virtual]

Handler function for a StatePass.

Parameters:
pass A pointer to the write-locked StatePass being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StatePass pass is already write-locked.
The base implementation just call Traverser::traverseStatePass().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStatePass

Reimplemented in EliminateTraverser, and UnifyTraverser.

virtual NVSG_API void handleCgFx ( nvsg::CgFx * cgfx ) [protected, virtual]

Handler function for a CgFx.

Parameters:
cgfx A pointer to the write-locked CgFx being traversed.
Remarks:
This function is called from the framework whenever a CgFx is encountered on traversal. The CgFx cgfx is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in AppTraverser.

virtual NVSG_API void handleRTFx ( nvsg::RTFx * rtfx ) [protected, virtual]

Handler function for a RTFx.

Parameters:
rtfx A pointer to the write-locked RTFx being traversed.
Remarks:
This function is called from the framework whenever a RTFx is encountered on traversal. The RTFx rtfx is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in UnifyTraverser.

virtual NVSG_API void handleRTBufferAttribute ( nvsg::RTBufferAttribute * rtba ) [protected, virtual]

Handler function for an RTBufferAttribute.

Parameters:
rtba A pointer to the read-locked RTBufferAttribute being traversed.
Remarks:
This function is called from the framework whenever an RTBufferAttribute is encountered on traversal. The RTFx rtfx is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleMaterial ( nvsg::Material * material ) [protected, virtual]

Handler function for a Material.

Parameters:
material A pointer to the write-locked Material being traversed.
Remarks:
This function is called from the framework whenever a Material is encountered on traversal. The Material material is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleTextureAttribute ( nvsg::TextureAttribute * texAttrib ) [protected, virtual]

Handler function for a TextureAttribute.

Parameters:
texAttrib A pointer to the write-locked TextureAttribute being traversed.
Remarks:
This function is called from the framework whenever a TextureAttribute is encountered on traversal. The TextureAttribute texAttrib is already write-locked.
The base implementation just calls Traverser::traverseTextureAttribute().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseTextureAttribute

Reimplemented in EliminateTraverser, and UnifyTraverser.

virtual NVSG_API void handleTextureAttributeItem ( nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Handler function for a TextureAttributeItem.

Parameters:
texAttribItem A pointer to the write-locked TextureAttributeItem being traversed.
Remarks:
This function is called from the framework whenever a TextureAttributeItem is encountered on traversal. The TextureAttributeItem texAttribItem is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in UnifyTraverser.

virtual NVSG_API void handleAlphaTestAttribute ( nvsg::AlphaTestAttribute * alphaTestAttrib ) [protected, virtual]

Handler function for a AlphaTestAttribute.

Parameters:
alphaTestAttrib A pointer to the write-locked AlphaTestAttribute being traversed.
Remarks:
This function is called from the framework whenever a AlphaTestAttribute is encountered on traversal. The AlphaTestAttribute alphaTestAttrib is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleBlendAttribute ( nvsg::BlendAttribute * blendAttrib ) [protected, virtual]

Handler function for a BlendAttribute.

Parameters:
blendAttrib A pointer to the write-locked BlendAttribute being traversed.
Remarks:
This function is called from the framework whenever a BlendAttribute is encountered on traversal. The BlendAttribute blendAttrib is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleDepthAttribute ( nvsg::DepthAttribute * depthAttrib ) [protected, virtual]

Handler function for a DepthAttribute.

Parameters:
depthAttrib A pointer to the write-locked DepthAttribute being traversed.
Remarks:
This function is called from the framework whenever a DepthAttribute is encountered on traversal. The DepthAttribute depthAttrib is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleStencilAttribute ( nvsg::StencilAttribute * stencilAttrib ) [protected, virtual]

Handler function for a StencilAttribute.

Parameters:
stencilAttrib Specifies the StencilAttriburte to process.
Remarks:
This function is called from the framework whenever a StencilAttribute is encountered on traversal. The StencilAttribute attribute will be write-locked by the framework prior to call this handler function. The write lock will be released again, after the function returns. The base implementation performs no operation.

virtual NVSG_API void handleFaceAttribute ( nvsg::FaceAttribute * faceAttrib ) [protected, virtual]

Handler function for a FaceAttribute.

Parameters:
faceAttrib A pointer to the write-locked FaceAttribute being traversed.
Remarks:
This function is called from the framework whenever a FaceAttribute is encountered on traversal. The FaceAttribute faceAttrib is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleLightingAttribute ( nvsg::LightingAttribute * laAttrib ) [protected, virtual]

Handler function for a LightingAttribute.

Parameters:
laAttrib A pointer to the read-locked LightingAttribute being traversed.
Remarks:
This function is called from the framework whenever a LightingAttribute is encountered on traversal. The LightingAttribute laAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleLineAttribute ( nvsg::LineAttribute * lineAttrib ) [protected, virtual]

Handler function for a LineAttribute.

Parameters:
lineAttrib A pointer to the write-locked LineAttribute being traversed.
Remarks:
This function is called from the framework whenever a LineAttribute is encountered on traversal. The LineAttribute lineAttrib is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handlePointAttribute ( nvsg::PointAttribute * pointAttrib ) [protected, virtual]

Handler function for a PointAttribute.

Parameters:
pointAttrib A pointer to the write-locked PointAttribute being traversed.
Remarks:
This function is called from the framework whenever a PointAttribute is encountered on traversal. The PointAttribute pointAttrib is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleUnlitColorAttribute ( nvsg::UnlitColorAttribute * unlitColor ) [protected, virtual]

Handler function for an UnlitColorAttribute.

Parameters:
unlitColor A pointer to the write-locked UnlitColorAttribute being traversed.
Remarks:
This function is called from the framework whenever an UnlitColorAttribute is encountered on traversal. The UnlitColorAttribute unlitColor is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleMapArray ( nvsg::MapArray * mapArray ) [protected, virtual]

Handler function for a MapArray.

Parameters:
mapArray A pointer to the write-locked MapArray being traversed.
Remarks:
This function is called from the framework whenever a MapArray is encountered on traversal. The MapArray mapArray is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapElement, handleMapMatrix

virtual NVSG_API void handleMapElement ( nvsg::MapElement * mapElement ) [protected, virtual]

Handler function for a MapElement.

Parameters:
mapElement A pointer to the write-locked MapElement being traversed.
Remarks:
This function is called from the framework whenever a MapElement is encountered on traversal. The MapElement mapElement is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapArray, handleMapMatrix

virtual NVSG_API void handleMapMatrix ( nvsg::MapMatrix * mapMatrix ) [protected, virtual]

Handler function for a MapMatrix.

Parameters:
mapMatrix A pointer to the write-locked MapMatrix being traversed.
Remarks:
This function is called from the framework whenever a MapMatrix is encountered on traversal. The MapMatrix mapMatrix is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapArray, handleMapElement

virtual NVSG_API void handleMapList ( nvsg::MapList * mapList ) [protected, virtual]

Handler function for a MapList.

Parameters:
mapList A pointer to the write-locked MapList being traversed.
Remarks:
This function is called from the framework whenever a MapList is encountered on traversal. The MapList mapList is already write-locked.
The base implementation just calls Traverser::traverseMapList().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseMapList

virtual NVSG_API void handleVertexAttributeSet ( nvsg::VertexAttributeSet * vas ) [protected, virtual]

Handler function for a VertexAttributeSet.

Parameters:
vas A pointer to the write-locked VertexAttributeSet being traversed.
Remarks:
This function is called from the framework whenever a VertexAttributeSet is encountered on traversal. The VertexAttributeSet vas is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NormalizeTraverser, and UnifyTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( nvsg::AnimatedVertexAttributeSet * avas ) [protected, virtual]

Handler function for an AnimatedVertexAttributeSet.

Parameters:
avas A pointer to the write-locked AnimatedVertexAttributeSet being traversed.
Remarks:
This function is called from the framework whenever an AnimatedVertexAttributeSet is encountered on traversal. The AnimatedVertexAttributeSet avas is already write-locked.
The base implementation traverses each VertexAttributeAnimation of avas and holds the index of the currently traversed VertexAttributeAnimation in the protected member variable m_currentAttrib.

Reimplemented in BezierExtrapolationTraverser, BezierInterpolationTraverser, NormalizeTraverser, StrippingTraverser, and UnifyTraverser.

virtual NVSG_API void handleSkin ( nvsg::Skin * skin ) [protected, virtual]

Handler function for a Skin.

Parameters:
skin A pointer to the write-locked Skin being traversed.
Remarks:
This function is called from the framework whenever a Skin is encountered on traversal. The Skin skin is already read-locked.
The base implementation just does nothing.

Reimplemented in BezierExtrapolationTraverser, BezierInterpolationTraverser, ConvertPrimitivesTraverser, and StrippingTraverser.

virtual NVSG_API void handleIndexAnimation ( nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Handle function for an Animation of indices.

Parameters:
anim A pointer to the write-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of indices is encountered on traversal. The Animation anim is already write-locked.
The base implementation just does nothing.

Reimplemented in AppTraverser.

virtual NVSG_API void handleTrafoAnimation ( nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Handle function for an Animation of Trafos.

Parameters:
anim A pointer to the write-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of Trafos is encountered on traversal. The Animation anim is already write-locked.
The base implementation just does nothing.

Reimplemented in AppTraverser.

virtual NVSG_API void handleVertexAttributeAnimation ( nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Handle function for an Animation of VertexAttributes.

Parameters:
anim A pointer to the write-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of VertexAttributes is encountered on traversal. Then Animation anim is already write-locked.
The base implementation just does nothing.

Reimplemented in AppTraverser.

virtual NVSG_API void handleFramedIndexAnimationDescription ( nvsg::FramedAnimationDescription< unsigned int > * anim ) [protected, virtual]

Handler function for a FramedAnimationDescription<unsigned int>.

Parameters:
anim A pointer to the write-locked FramedAnimationDescription<unsigned int> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<unsigned int> is encountered on traversal. The FramedAnimationDescription<unsigned int> anim is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleFramedTrafoAnimationDescription ( nvsg::FramedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Handler function for a FramedAnimationDescription<nvmath::Trafo>.

Parameters:
trafo A pointer to the write-locked FramedAnimationDescription<nvmath::Trafo> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<nvmath::Trafo> is encountered on traversal. The FramedAnimationDescription<nvmath::Trafo> trafo is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleFramedVertexAttributeAnimationDescription ( nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Handler function for a FramedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the write-locked FramedAnimationDescription<VertexAttribute> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<VertexAttribute> is encountered on traversal. The FramedAnimationDescription<VertexAttribute> p is already write-locked.
The base implementation just does nothing
See also:
handleLinearInterpolatedVertexAttributeAnimationDescription

Reimplemented in NormalizeTraverser.

virtual NVSG_API void handleLinearInterpolatedTrafoAnimationDescription ( nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Handler function for a LinearInterpolatedAnimationDescription<nvmath::Trafo>.

Parameters:
trafo A pointer to the write-locked LinearInterpolatedAnimationDescription<nvmath::Trafo> being traversed.
Remarks:
This function is called from the framework whenever a LinearInterpolatedAnimationDescription<nvmath::Trafo> is encountered on traversal. The LinearInterpolatedAnimationDescription<nvmath::Trafo> trafo is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

virtual NVSG_API void handleLinearInterpolatedVertexAttributeAnimationDescription ( nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Handler function for a LinearInterpolatedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the write-locked LinearInterpolatedAnimationDescription<VertexAttribute> being traversed.
Remarks:
This function is called from the framework whenever a LinearInterpolatedAnimationDescription<VertexAttribute> is encountered on traversal. The LinearInterpolatedAnimationDescription<VertexAttribute> p is already write-locked.
The base implementation just does nothing
See also:
handleFramedVertexAttributeAnimationDescription

Reimplemented in NormalizeTraverser.

virtual NVSG_API void handleRTFxSceneAttribute ( nvsg::RTFxSceneAttribute * rtfxsa ) [protected, virtual]

Handler function for an RTFxSceneAttribute.

Parameters:
rtfxsa A pointer to the read-locked RTFxSceneAttribute being traversed.
Remarks:
This function is called from the framework whenever an RTFxSceneAttribute is encountered on traversal. The RTFxSceneAttribute rtfxsa is already read-locked.
The base implementation just calls Traverser::traverseSceneAttribute().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseSceneAttribute

virtual NVSG_API void traverseCamera ( nvsg::Camera * camera ) [protected, virtual]

Function for common handling of Camera classes.

Parameters:
camera A pointer to the write-locked Camera being traversed.
Remarks:
This function is called from the framework whenever a Camera is encountered on traversal. The Camera camera is already write-locked.
The base implementation traverses the headlights of camera.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
LightSource

Reimplemented in ExclusiveModelViewTraverser.

virtual NVSG_API void traverseFrustumCamera ( nvsg::FrustumCamera * camera ) [protected, virtual]

Function for common handling of FrustumCamera classes.

Parameters:
camera A pointer to the write-locked FrustumCamera being traversed.
Remarks:
This function is called from the framework whenever a FrustumCamera is encountered on traversal. The FrustumCamera camera is already write-locked.
The base implementation traverses the headlights of camera.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
LightSource

virtual NVSG_API void traverseLight ( nvsg::LightSource * light ) [protected, virtual]

Function for common handling of LightSource classes.

Parameters:
light A pointer to the write-locked LightSource being traversed.
Remarks:
This function is called from the framework whenever a LightSource is encountered on traversal. The LightSource light is already write-locked.
The base implementation traverses the Animation associated with light, if there is one.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
TrafoAnimation

virtual NVSG_API void traversePrimitiveSet ( nvsg::PrimitiveSet * pset ) [protected, virtual]

Function for common handling of PrimitiveSet classes.

Parameters:
pset A pointer to the write-locked PrimitiveSet being traversed.
Remarks:
This function is called from the framework whenever a PrimitiveSet is encountered on traversal. The PrimitiveSet pset is already write-locked.
The base implementation first traverses the Skin, if there is one, and then the VertexAttributeSet of pset, if there is one.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
VertexAttributeSet, Skin

Reimplemented in AppTraverser, and UnifyTraverser.

virtual NVSG_API void traversePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Function for common handling of Primitive classes.

Parameters:
p A pointer to the write-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive p is already write-locked.
The base implementation first traverses the Skin, if there is one, and then the VertexAttributeSet of p, if there is one.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
VertexAttributeSet, Skin

Reimplemented in AppTraverser.

The documentation for this class was generated from the following file:
  • Traverser.h
Generated on Fri Jul 13 13:31:18 2012 for SceniX


SceniX: Member List

ExclusiveTraverser Member List

This is the complete list of members for ExclusiveTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:31:18 2012 for SceniX


SceniX: ExtractGeometryTraverser Class Reference

ExtractGeometryTraverser Class Reference

Traverser that can handle the model view transform stack. More...

#include <ExtractGeometryTraverser.h>

Inheritance diagram for ExtractGeometryTraverser:

[legend]
Collaboration diagram for ExtractGeometryTraverser:

[legend]
List of all members.

Protected Member Functions

NVSG_API | ExtractGeometryTraverser ()
Protected constructor to prevent instantiation of a ModelViewTraverser.
virtual NVSG_API | ~ExtractGeometryTraverser ()
Protected destructor to prevent instantiation of a ExtractGeometryTraverser.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Provide special treatment of an AnimatedTransform node.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *p)
Provide special treatment of a Billboard node.
virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Provide special treatment of a Switch node.
virtual NVSG_API void | handleLOD (const nvsg::LOD *lod)
Handler function for an LOD.
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *stateSet)
Handler function for a StateSet.
virtual NVSG_API void | handleMaterial (const nvsg::Material *material)
Handler function for a Material.
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *texAttribItem)
Handler function for a TextureAttributeItem.
virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Provide special treatment of a Transform node.
virtual NVSG_API bool | preTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between transform stack adjustment and traversal.
virtual NVSG_API void | postTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between traversal and transform stack adjustment.
virtual NVSG_API void | traversePrimitive (const nvsg::Primitive *p)
Function for common handling of Primitive classes.
virtual NVSG_API void | submitIndexedTriangleSet (const std::vector< unsigned int > &indices, const std::vector< nvmath::Vec3f > &verts, const std::vector< nvmath::Vec3f > &normals, const std::vector< nvmath::Vec2f > &texCoords, const OBJMaterial &material)=0

Protected Attributes

nvutil::TransformStack m_transformStack
stack of transformations that holds the actual transformations while traversing a tree
std::string | m_annotation
OBJMaterial | m_material

Detailed Description

Traverser that can handle the model view transform stack.

Use this class as a base for traversers that need to maintain the current model view transformation.

Note:
All ModelViewTraverser based classes need a valid nvsg::ViewState . If the ViewState is not valid the runtime behaviour is not defined. Call setViewState() with a valid ViewState prior calling apply().

Constructor & Destructor Documentation

NVSG_API ExtractGeometryTraverser ( ) [protected]

Protected constructor to prevent instantiation of a ModelViewTraverser.

Note:
A ExtractGeometryTraverser doesn't change anything in the scene graph, but might be used by a modifying traverser. therefore, it gets the readOnly flag as a parameter to pass to Traverser.

virtual NVSG_API ~ExtractGeometryTraverser ( ) [protected, virtual]

Protected destructor to prevent instantiation of a ExtractGeometryTraverser.

Member Function Documentation

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Provide special treatment of an AnimatedTransform node.

An AnimatedTransform is handled as a Transform.

Parameters:
p currently visited AnimatedTransform

Reimplemented from SharedTraverser.

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Provide special treatment of a Billboard node.

On a Billboard the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Billboard to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Provide special treatment of a Switch node.

Parameters:
p Billboard to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLOD ( const nvsg::LOD * lod ) [protected, virtual]

Handler function for an LOD.

Parameters:
lod A pointer to the read-locked LOD being traversed.
Remarks:
This function is called from the framework whenever an LOD is encountered on traversal. The LOD lod is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateSet ( const nvsg::StateSet * stateSet ) [protected, virtual]

Handler function for a StateSet.

Parameters:
stateSet A pointer to the read-locked StateSet being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StateSet stateSet is already read-locked.
The base implementation just traverses the active StateVariant.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
StateVariant

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMaterial ( const nvsg::Material * material ) [protected, virtual]

Handler function for a Material.

Parameters:
material A pointer to the read-locked Material being traversed.
Remarks:
This function is called from the framework whenever a Material is encountered on traversal. The Material material is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Handler function for a TextureAttributeItem.

Parameters:
texAttribItem A pointer to the read-locked TextureAttributeItem being traversed.
Remarks:
This function is called from the framework whenever a TextureAttributeItem is encountered on traversal. The TextureAttributeItem texAttribItem is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
getCurrentTextureUnit

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Transform to handle

Reimplemented from SharedTraverser.

virtual NVSG_API bool preTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

In this base class, this is a NOP.

Parameters:
p Trafo of node to traverse next

virtual NVSG_API void postTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between traversal and transform stack adjustment.

When this function returns true, the subtree beneath is traversed. Otherwise it isn't.

Returns:
true
Parameters:
p Trafo of node that was traversed immediately before this call.

virtual NVSG_API void traversePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Function for common handling of Primitive classes.

Parameters:
p A pointer to the read-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive p is already read-locked.
The base implementation first traverses the Skin, if there is one, and then the VertexAttributeSet of p, if there is one.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
VertexAttributeSet, Skin

Reimplemented from SharedTraverser.

Member Data Documentation

nvutil::TransformStack m_transformStack [protected]

stack of transformations that holds the actual transformations while traversing a tree

The documentation for this class was generated from the following file:
  • ExtractGeometryTraverser.h
Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: Member List

ExtractGeometryTraverser Member List

This is the complete list of members for ExtractGeometryTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | SharedTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
ExtractGeometryTraverser() | ExtractGeometryTraverser | [protected]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | SharedTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | ExtractGeometryTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | SharedTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | ExtractGeometryTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *blendAttrib) | SharedTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *cgfx) | SharedTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *depthAttrib) | SharedTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *light) | SharedTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *faceAttrib) | SharedTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *anim) | SharedTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *gnode) | SharedTraverser | [protected, virtual]
handleGroup(const nvsg::Group *group) | SharedTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *lineAttrib) | SharedTraverser | [protected, virtual]
handleLines(const nvsg::Lines *lines) | SharedTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *strips) | SharedTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *lod) | ExtractGeometryTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *material) | ExtractGeometryTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *camera) | SharedTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *camera) | SharedTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *camera) | SharedTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *pointAttrib) | SharedTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *light) | SharedTraverser | [protected, virtual]
handlePoints(const nvsg::Points *points) | SharedTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *primitive) | SharedTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *meshes) | SharedTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *patches) | SharedTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *patches) | SharedTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *quads) | SharedTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *strips) | SharedTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *patches) | SharedTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | SharedTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *rtfx) | SharedTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *rtfxProgram) (defined in SharedTraverser) | SharedTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SharedTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *skin) | SharedTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *light) | SharedTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *pass) | SharedTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *stateSet) | ExtractGeometryTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *variant) | SharedTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | SharedTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | ExtractGeometryTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *texAttrib) | SharedTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | ExtractGeometryTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | SharedTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | ExtractGeometryTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *triangles) | SharedTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *fans) | SharedTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *patches) | SharedTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *patches) | SharedTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *strips) | SharedTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | SharedTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | SharedTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | SharedTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_annotation (defined in ExtractGeometryTraverser) | ExtractGeometryTraverser | [protected]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_material (defined in ExtractGeometryTraverser) | ExtractGeometryTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_transformStack | ExtractGeometryTraverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
postTraverseTransform(const nvmath::Trafo *p) | ExtractGeometryTraverser | [protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
preTraverseTransform(const nvmath::Trafo *p) | ExtractGeometryTraverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
submitIndexedTriangleSet(const std::vector< unsigned int > &indices, const std::vector< nvmath::Vec3f > &verts, const std::vector< nvmath::Vec3f > &normals, const std::vector< nvmath::Vec2f > &texCoords, const OBJMaterial &material)=0 (defined in ExtractGeometryTraverser) | ExtractGeometryTraverser | [protected, pure virtual]
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | ExtractGeometryTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExtractGeometryTraverser() | ExtractGeometryTraverser | [protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: Face Class Template Reference

nvsg::Face

Face Class Template Reference

Simple helper class for Lines, Quads, and Triangles. More...

#include <Face.h>

List of all members.

Public Member Functions

template<typename T>
unsigned int & | operator[] (T i)
Random access operator to the indices of the Face.
template<typename T>
const unsigned int & | operator[] (T i) const
Constant random access operator to the indices of the Face.

Public Attributes

unsigned int | m_indices [n]
Indices into a vertex array, forming the Face.

Detailed Description

template<unsigned char n>
class nvsg::Face< n >

Simple helper class for Lines, Quads, and Triangles.

Namespace: nvsg
Remarks:
A Face is a template class to hold n indices, with n being the template parameter. Interpreting these indices as indices into a vertex array, they form a face.
See also:
Lines, Quads, Triangles, Segment, Face3, Face4

Member Function Documentation

unsigned int & operator[] ( T i ) [inline]

Random access operator to the indices of the Face.

Parameters:
i The vertex of the Face to get the index for.
Returns:
A reference to the index of a vertex in a vertex array.
Note:
The behavior is undefined if i is greater than or equal to the number of indices n of this Face.

const unsigned int & operator[] ( T i ) const [inline]

Constant random access operator to the indices of the Face.

Parameters:
i The vertex of the Face to get the index for.
Returns:
A reference to the constant index of a vertex in a vertex array.
Note:
The behavior is undefined if i is greater than or equal to the number of indices n of this Face.

Member Data Documentation

unsigned int m_indices[n]

Indices into a vertex array, forming the Face.

The documentation for this class was generated from the following file:
  • Face.h
Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: Member List

Face Member List

This is the complete list of members for Face, including all inherited members.

m_indices | Face |
operator[](T i) | Face | [inline]
operator[](T i) const | Face | [inline]

Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: FaceAttribute Class Reference

nvsg::FaceAttribute

FaceAttribute Class Reference

PrimitiveAttribute specific for Drawables with faces, like Triangles or QuadStrips. More...

#include <FaceAttribute.h>

Inheritance diagram for FaceAttribute:

[legend]
Collaboration diagram for FaceAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | isFrontFaceCulling () const
Ask if the front faces are culled.
NVSG_API bool | isBackFaceCulling () const
Ask if the back faces are culled.
NVSG_API void | setCullMode (bool frontCulling, bool backCulling)
Set the culling mode for front and back faces.
NVSG_API FaceMode | getFrontFaceMode () const
Get the mode front faces are to be displayed.
NVSG_API FaceMode | getBackFaceMode () const
Get the mode back faces are to be displayed.
NVSG_API void | setFaceMode (FaceMode frontMode, FaceMode backMode)
Set the mode front and back faces are to be displayed.
NVSG_API bool | isPolygonOffset () const
Query if polygon offset is on.
NVSG_API float | getPolygonOffsetFactor () const
Get the polygon offset scale factor.
NVSG_API float | getPolygonOffsetUnits () const
Get the polygon offset units.
NVSG_API void | setPolygonOffset (bool onOff)
Switch polygon offset on or off.
NVSG_API void | setPolygonOffset (float factor, float units)
Set the polygon offset scale factor and units.
NVSG_API bool | isTwoSidedLighting () const
Query if two-sided lighting is enabled.
NVSG_API void | setTwoSidedLighting (bool onOff)
Switch two-sided lighting on or off.
NVSG_API bool | isFaceWindingCCW () const
Query if face winding is set to counter clock wise.
NVSG_API void | setFaceWindingCCW (bool ccw)
Set the face winding to counter clock wise or clock wise.
NVSG_API FaceAttribute & | operator= (const FaceAttribute &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another FaceAttribute.
REFLECTION_INFO_API (NVSG_API, FaceAttribute)

Static Public Member Functions

static NVSG_API FaceAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | FaceAttribute ()
Default-constructs a FaceAttribute.
NVSG_API | FaceAttribute (const FaceAttribute &rhs)
Copy-constructs a FaceAttribute from another FaceAttribute.
virtual NVSG_API | ~FaceAttribute ()
Destructs a FaceAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

PrimitiveAttribute specific for Drawables with faces, like Triangles or QuadStrips.

Namespace: nvsg
Remarks:
A FaceAttribute holds the face-specific attributes of a StatePass.
Note:
Lines and Points are not affected by a FaceAttribute.
See also:
LineAttribute, PointAttribute, PrimitiveAttribute, StatePass

Constructor & Destructor Documentation

NVSG_API FaceAttribute ( ) [protected]

Default-constructs a FaceAttribute.

Remarks:
A default constructed FaceAttribute has back-face culling on, front-face culling off, polygon mode disabled, and two-sided lighting off.

NVSG_API FaceAttribute ( const FaceAttribute & rhs ) [protected]

Copy-constructs a FaceAttribute from another FaceAttribute.

virtual NVSG_API ~FaceAttribute ( ) [protected, virtual]

Destructs a FaceAttribute.

Member Function Documentation

bool isFrontFaceCulling ( ) const [inline]

Ask if the front faces are culled.

Returns:
true, if front faces are culled, otherwise false.
Remarks:
By convention, faces whose vertices appear in counterclockwise order on the screen are called front-facing. When front face culling is on, those faces are not drawn.
By default front face culling is off.
See also:
isBackFaceCulling, setCullMode

bool isBackFaceCulling ( ) const [inline]

Ask if the back faces are culled.

Returns:
true, if back faces are culled, otherwise false.
Remarks:
By convention, faces whose vertices appear in clockwise order on the screen are called back-facing. When back face culling is on, those faces are not drawn.
By default back face culling is on.
See also:
isFrontFaceCulling, setCullMode

void setCullMode | ( | bool | frontCulling,
 |  | bool | backCulling
 | ) | [inline]

Set the culling mode for front and back faces.

Parameters:
frontCulling | If true, enables front face culling, otherwise disables it.
backCulling | If true, enables back face culling, otherwise disables it.
Remarks:
By convention, faces whose vertices appear in counterclockwise order on the screen are called front-facing, and faces whose vertices appear in clockwise order on the screen are called back-facing. With frontCulling, culling of the front faces can be enabled and disabled, and with backCulling, culling of the back faces can be enabled and disabled.
By default front face culling is off, and back face culling is on.
See also:
isBackFaceCulling, isFrontFaceCulling

FaceMode getFrontFaceMode ( ) const [inline]

Get the mode front faces are to be displayed.

Returns:
The FaceMode that is used for the front faces.
Remarks:
A face can be displayed as a number of zero dimensional points (FM_POINT), one dimensional lines (FM_LINE), or as a two dimensional face (FM_FACE). This can be selected independently for front and back faces.
The default for both front and back faces is FM_FACE.
See also:
getBackFaceMode, isFrontFaceCulling, setFaceMode

FaceMode getBackFaceMode ( ) const [inline]

Get the mode back faces are to be displayed.

Returns:
The FaceMode that is used for the back faces.
Remarks:
A face can be displayed as a number of zero dimensional points (FM_POINT), one dimensional lines (FM_LINE), or as a two dimensional face (FM_FACE). This can be selected independently for front and back faces.
The default for both front and back faces is FM_FACE.
See also:
getFrontFaceMode, isBackFaceCulling, setFaceMode

void setFaceMode | ( | FaceMode | frontMode,
 |  | FaceMode | backMode
 | ) | [inline]

Set the mode front and back faces are to be displayed.

Parameters:
frontMode | The FaceMode for the front faces.
backMode | The FaceMode for the back faces.
Remarks:
A face can be displayed as a number of zero dimensional points (FM_POINT), one dimensional lines (FM_LINE), or as a two dimensional face (FM_FACE). This can be selected independently for front and back faces.
The default for both front and back faces is FM_FACE.
See also:
getFrontFaceMode, getBackFaceMode, setCullMode

bool isPolygonOffset ( ) const [inline]

Query if polygon offset is on.

Returns:
true, if polygon offset is on, otherwise false.
Remarks:
The polygon offset flag specifies how polygon offset is handled. If it is false, no polygon offset is used. Otherwise, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The offset is added before the depth test is performed and before the value is written into the depth buffer. The default is false.
See also:
getPolygonOffsetFactor, getPolygonOffsetUnits, setPolygonOffset

float getPolygonOffsetFactor ( ) const [inline]

Get the polygon offset scale factor.

Returns:
The polygon offset scale factor
Remarks:
The polygon offset scale factor is used to create a variable depth offset for each polygon. The default is 0.0.
See also:
getPolygonOffsetUnits, isPolygonOffset, setPolygonOffset

float getPolygonOffsetUnits ( ) const [inline]

Get the polygon offset units.

Returns:
The polygon offset units
Remarks:
The polygon offset units is multiplied by an implementation-specific value to create a constant depth offset. The default is 0.0.
See also:
getPolygonOffsetFactor, isPolygonOffset, setPolygonOffset

void setPolygonOffset ( bool onOff ) [inline]

Switch polygon offset on or off.

Parameters:
onOff true to switch polygon offset on, false to switch it off.
Remarks:
The polygon offset flag specifies how polygon offset is handled. If it is false, no polygon offset is used. Otherwise, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The offset is added before the depth test is performed and before the value is written into the depth buffer. The default is false. Setting the polygon offset flag increases the nvutil::Incarnation.
See also:
isPolygonOffset, setPolygonOffset

void setPolygonOffset | ( | float | factor,
 |  | float | units
 | ) | [inline]

Set the polygon offset scale factor and units.

Parameters:
factor | The polygon offset scale factor.
units | The polygon offset units.
Remarks:
The polygon offset scale factor is used to create a variable depth offset for each polygon. The default is 0.0. The polygon offset units is multiplied by an implementation-specific value to create a constant depth offset. The default is 0.0.
Setting the polygon offset values increases the nvutil::Incarnation.
See also:
isPolygonOffset, getPolygonOffsetFactor, getPolygonOffsetUnits

bool isTwoSidedLighting ( ) const [inline]

Query if two-sided lighting is enabled.

Returns:
true, if two-sided lighting is enabled, otherwise false.
Remarks:
The two-sided lighting flag specifies whether one or two-sided lighting calculations are performed for polygons. If it is disabled, one-sided lighting is specified. Otherwise, two-sided lighting is specified. In that case, vertices of back-facing polygons are lighted, and have their normals reversed before the lighting equation is evaluated. Vertices of front-facing polygons are always lighted, with no change to their normals. The default is false.
See also:
setTwoSidedLighting

void setTwoSidedLighting ( bool onOff ) [inline]

Switch two-sided lighting on or off.

Parameters:
onOff true to switch two-sided lighting on, false to switch it off.
Remarks:
The two-sided lighting flag specifies whether one or two-sided lighting calculations are performed for polygons. If it is disabled, one-sided lighting is specified. Otherwise, two-sided lighting is specified. In that case, vertices of back-facing polygons are lighted, and have their normals reversed before the lighting equation is evaluated. Vertices of front-facing polygons are always lighted, with no change to their normals. The default is false. Setting the two-sided lighting flag increases the nvutil::Incarnation.
See also:
isTwoSidedLighting

bool isFaceWindingCCW ( ) const [inline]

Query if face winding is set to counter clock wise.

Returns:
true, if counter clock wise face winding is activated, otherwise false.
Remarks:
The face winding flag specifies whether front faces are determined by counter clock wise face winding or clock wise face winding. The default is true.
See also:
setFaceWindingCCW

void setFaceWindingCCW ( bool ccw ) [inline]

Set the face winding to counter clock wise or clock wise.

Parameters:
ccw true to set face winding to counter clock wise, false to set face winding to clock wise.
Remarks:
The face winding flag specifies whether front faces are determined by counter clock wise face winding or clock wise face winding. The default is true. Setting the face winding flag increases the nvutil::Incarnation.
See also:
isFaceWindingCCW()

NVSG_API FaceAttribute& operator= ( const FaceAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant FaceAttribute to copy from
Returns:
A reference to the assigned FaceAttribute
Remarks:
The assignment operator calls the assignment operator of PrimitiveAttribute and copies the FaceAttribute specific data then.
See also:
PrimitiveAttribute

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another FaceAttribute.

Parameters:
p | A reference to the constant FaceAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the FaceAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as PrimitiveAttribute, they are equivalent if they have the same cull mode, face mode, polygon offset settings, and two-sided lighting setting.
Note:
The behavior is undefined if p is not an FaceAttribute nor derived from one.
See also:
PrimitiveAttribute

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • FaceAttribute.h
Generated on Fri Jul 13 13:29:59 2012 for SceniX


SceniX: Member List

FaceAttribute Member List

This is the complete list of members for FaceAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in FaceAttribute) | FaceAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
FaceAttribute() | FaceAttribute | [protected]
FaceAttribute(const FaceAttribute &rhs) | FaceAttribute | [protected]
feedHashGenerator(nvutil::HashGenerator &hg) const | FaceAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBackFaceMode() const | FaceAttribute | [inline]
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getFrontFaceMode() const | FaceAttribute | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPolygonOffsetFactor() const | FaceAttribute | [inline]
getPolygonOffsetUnits() const | FaceAttribute | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isBackFaceCulling() const | FaceAttribute | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | FaceAttribute | [virtual]
isFaceWindingCCW() const | FaceAttribute | [inline]
isFrontFaceCulling() const | FaceAttribute | [inline]
isPolygonOffset() const | FaceAttribute | [inline]
isTwoSidedLighting() const | FaceAttribute | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const FaceAttribute &rhs) | FaceAttribute |
nvsg::PrimitiveAttribute::operator=(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveAttribute() | PrimitiveAttribute | [protected]
PrimitiveAttribute(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, FaceAttribute) (defined in FaceAttribute) | FaceAttribute |
REFLECTION_INFO_API(NVSG_API, PrimitiveAttribute) (defined in PrimitiveAttribute) | PrimitiveAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setCullMode(bool frontCulling, bool backCulling) | FaceAttribute | [inline]
setFaceMode(FaceMode frontMode, FaceMode backMode) | FaceAttribute | [inline]
setFaceWindingCCW(bool ccw) | FaceAttribute | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setPolygonOffset(bool onOff) | FaceAttribute | [inline]
setPolygonOffset(float factor, float units) | FaceAttribute | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setTwoSidedLighting(bool onOff) | FaceAttribute | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~FaceAttribute() | FaceAttribute | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~PrimitiveAttribute() | PrimitiveAttribute | [virtual]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:29:59 2012 for SceniX


SceniX: FaceConnections Class Reference

nvsg::FaceConnections

FaceConnections Class Reference

Helper class to determine face connectivity from triangle or quad soups. More...

#include <FaceConnections.h>

List of all members.

Public Member Functions

NVSG_API | FaceConnections (const nvsg::Primitive *p)
Constructor of a FaceConnections object.
NVSG_API void | disconnectFace (unsigned int faceIndex)
Disconnect a single face from the connectivity set.
NVSG_API void | disconnectFaces (const unsigned int *faceIndices, unsigned int faceCount)
Disconnect an array of faces from the connectivity set.
NVSG_API void | disconnectFaces (const std::list< unsigned int > &list)
Disconnect a list of faces from the connectivity set.
NVSG_API unsigned int | findLongestQuadStrip (nvsg::IndexSet::ConstIterator< unsigned int > &, unsigned int fi, std::vector< unsigned int > &stripIndices, std::list< unsigned int > &stripFaces)
Find the longest quad strip in the quad soup and append the respective vertex indices to stripIndices.
NVSG_API unsigned int | findLongestTriStrip (nvsg::IndexSet::ConstIterator< unsigned int > &indices, unsigned int fi, std::vector< unsigned int > &stripIndices, std::list< unsigned int > &stripFaces)
Find the longest tri strip in the triangle soup and append the respective vertex indices to stripIndices.
NVSG_API bool | findQuadPatch4x4 (nvsg::IndexSet::ConstIterator< unsigned int > &indices, unsigned int fi, std::vector< unsigned int > &patchIndices, unsigned int patchFaces[9])
Determine if a quad can be part of a connected set of 3 x 3 quads.
NVSG_API bool | findTriPatch4 (nvsg::IndexSet::ConstIterator< unsigned int > &indices, unsigned int fi, std::vector< unsigned int > &patchIndices, unsigned int patchFaces[9])
Determine if a triangle can be part of a triangular connected set of 9 triangles.
NVSG_API unsigned int | getAndClearZeroConnectionIndices (nvsg::IndexSet::ConstIterator< unsigned int > &allIndices, std::vector< unsigned int > &zeroIndices)
Get all the faces without any neighbours, and clear the list that holds them.
NVSG_API void | getNeighbours (unsigned int fi, std::vector< unsigned int > &faces)
Get the neighbours of a primitive.
NVSG_API unsigned int | getNextFaceIndex (unsigned int *connectivity=NULL)
Get the next face index with at least one neighbour.

Detailed Description

Helper class to determine face connectivity from triangle or quad soups.

Remarks:
This class is used, for example, by the BezierInterpolationTraverser, and the StrippingTraverser.
See also:
BezierInterpolationTraverser, StrippingTraverser

Constructor & Destructor Documentation

NVSG_API FaceConnections ( const nvsg::Primitive * p )

Constructor of a FaceConnections object.

Parameters:
p A pointer to the Primitive to handle.
Remarks:
All the connectivity informations about the Primitive p is determined. Depending on the size of p, that might take a while.
See also:
Primitive

Member Function Documentation

NVSG_API void disconnectFace ( unsigned int faceIndex )

Disconnect a single face from the connectivity set.

Parameters:
faceIndex The index of the face to disconnect.
Remarks:
The connections from all faces adjacent to this face are removed, reducing the connections count of those faces accordingly. Essentially, the face faceIndex is removed.

NVSG_API void disconnectFaces | ( | const unsigned int * | faceIndices,
 |  | unsigned int | faceCount
 | ) |

Disconnect an array of faces from the connectivity set.

Parameters:
faceIndices | A pointer to face indices to disconnect.
faceCount | The number of faces to disconnect.
Remarks:
All faces from faceIndices[0] to faceIndices[faceCount-1] are disconnected.
See also:
disconnectFace

NVSG_API void disconnectFaces ( const std::list< unsigned int > & list )

Disconnect a list of faces from the connectivity set.

Parameters:
list A reference to a list of face indices to disconnect.
Remarks:
All faces in the list list are disconnected.
See also:
disconnectFace

NVSG_API unsigned int findLongestQuadStrip | ( | nvsg::IndexSet::ConstIterator< unsigned int > & | ,
 |  | unsigned int | fi,
 |  | std::vector< unsigned int > & | stripIndices,
 |  | std::list< unsigned int > & | stripFaces
 | ) |

Find the longest quad strip in the quad soup and append the respective vertex indices to stripIndices.

Parameters:
indices | A pointer to the indices of the quads.
fi | Index of the face to start the quad strip determination at.
stripIndices | A reference to a vector getting the vertex indices of the determined quad strip.
stripFaces | A reference to a list getting the face indices of the determined quad strip.
Returns:
Length of the longest quad strip found.
Remarks:
Determines the 'horizontal' and the 'vertical' quad strip including the face fi and selects the longer one.
See also:
findLongestTriStrip

NVSG_API unsigned int findLongestTriStrip | ( | nvsg::IndexSet::ConstIterator< unsigned int > & | indices,
 |  | unsigned int | fi,
 |  | std::vector< unsigned int > & | stripIndices,
 |  | std::list< unsigned int > & | stripFaces
 | ) |

Find the longest tri strip in the triangle soup and append the respective vertex indices to stripIndices.

Parameters:
indices | A pointer to the indices of the triangles.
fi | Index of the face to start the tri strip determination at.
stripIndices | A reference to a vector getting the vertex indices of the determined tri strip.
stripFaces | A reference to a list getting the face indices of the determined tri strip.
Returns:
Length of the longest tri strip found.
Remarks:
Determines the three possible tri strip including the face fi, and selects the longest one.

NVSG_API bool findQuadPatch4x4 | ( | nvsg::IndexSet::ConstIterator< unsigned int > & | indices,
 |  | unsigned int | fi,
 |  | std::vector< unsigned int > & | patchIndices,
 |  | unsigned int | patchFaces[9]
 | ) |

Determine if a quad can be part of a connected set of 3 x 3 quads.

Parameters:
indices | A pointer to the indices of the quads.
fi | Index of the face to use for the test.
patchIndices | A reference to a vector getting the vertex indices of the determined set of 3 x 3 quads.
patchFaces | An array to get the 9 face indices forming the QuadPatch4x4.
Returns:
true if a set of quads was found, otherwise false.
Remarks:
A QuadPatch4x4 consists of a set of 3 x 3 quads, or 4 x 4 vertices. This function simply checks the connectivities of the face fi and its neighbours, whether it forms such a set of quads.
See also:
findTriPatch4

NVSG_API bool findTriPatch4 | ( | nvsg::IndexSet::ConstIterator< unsigned int > & | indices,
 |  | unsigned int | fi,
 |  | std::vector< unsigned int > & | patchIndices,
 |  | unsigned int | patchFaces[9]
 | ) |

Determine if a triangle can be part of a triangular connected set of 9 triangles.

Parameters:
indices | A pointer to the indices of the triangles.
fi | Index of the face to use for the test.
patchIndices | A reference to a vector getting the vertex indices of the determined set of triangles.
patchFaces | An array to get the 9 face indices forming the TriPatch4.
Returns:
true if a set of triangles was found, otherwise false.
Remarks:
A TriPatch4 consists of a set of 9 triangles, that are arranged to form a triangular shape again. This function simply checks the connectivities of the face fi and it neighours, whether it forms such a set of triangles.
See also:
findQuadPatch4x4

NVSG_API unsigned int getAndClearZeroConnectionIndices | ( | nvsg::IndexSet::ConstIterator< unsigned int > & | allIndices,
 |  | std::vector< unsigned int > & | zeroIndices
 | ) |

Get all the faces without any neighbours, and clear the list that holds them.

Parameters:
allIndices | A pointer to the indices of the primitive set.
zeroIndices | A reference to a vector getting the vertex indices of the isolated primitives.
Returns:
The number of faces without any neighbours that were in the connectivity set.
Remarks:
After having determined all strips or patches out of the primitive set, there still might be some primitives that had no neighbours, or were isolated in the stripping/patching process. You get all the vertex indices of those faces with this function.
See also:
findLongestQuadStrip, findLongestTriStrip, findQuadPatch4x4, findTriPatch4

NVSG_API void getNeighbours | ( | unsigned int | fi,
 |  | std::vector< unsigned int > & | faces
 | ) |

Get the neighbours of a primitive.

Parameters:
fi | Index of the face to get the neighbours of.
faces | A reference to a vector getting the face indices of the neighbours of fi.
See also:
getNextFaceIndex

NVSG_API unsigned int getNextFaceIndex ( unsigned int * connectivity = NULL )

Get the next face index with at least one neighbour.

Parameters:
connectivity Optional parameter to get the connectivity of the next face index.
Returns:
The index of the next face to handle, or ~0 if there is none.
See also:
getNeighbours

The documentation for this class was generated from the following file:
  • FaceConnections.h
Generated on Fri Jul 13 13:29:59 2012 for SceniX


SceniX: Member List

FaceConnections Member List

This is the complete list of members for FaceConnections, including all inherited members.

disconnectFace(unsigned int faceIndex) | FaceConnections
disconnectFaces(const unsigned int *faceIndices, unsigned int faceCount) | FaceConnections
disconnectFaces(const std::list< unsigned int > &list) | FaceConnections
FaceConnections(const nvsg::Primitive *p) | FaceConnections
findLongestQuadStrip(nvsg::IndexSet::ConstIterator< unsigned int > &, unsigned int fi, std::vector< unsigned int > &stripIndices, std::list< unsigned int > &stripFaces) | FaceConnections
findLongestTriStrip(nvsg::IndexSet::ConstIterator< unsigned int > &indices, unsigned int fi, std::vector< unsigned int > &stripIndices, std::list< unsigned int > &stripFaces) | FaceConnections
findQuadPatch4x4(nvsg::IndexSet::ConstIterator< unsigned int > &indices, unsigned int fi, std::vector< unsigned int > &patchIndices, unsigned int patchFaces[9]) | FaceConnections
findTriPatch4(nvsg::IndexSet::ConstIterator< unsigned int > &indices, unsigned int fi, std::vector< unsigned int > &patchIndices, unsigned int patchFaces[9]) | FaceConnections
getAndClearZeroConnectionIndices(nvsg::IndexSet::ConstIterator< unsigned int > &allIndices, std::vector< unsigned int > &zeroIndices) | FaceConnections
getNeighbours(unsigned int fi, std::vector< unsigned int > &faces) | FaceConnections
getNextFaceIndex(unsigned int *connectivity=NULL) | FaceConnections

Generated on Fri Jul 13 13:29:59 2012 for SceniX


SceniX: FileMapping Class Reference

nvutil::FileMapping

FileMapping Class Reference

Helper class to ease efficient reading and writing of large files. More...

#include <FileMapping.h>

Inheritance diagram for FileMapping:

[legend]
List of all members.

Public Member Functions

NVSG_API unsigned int | getLastError () const
Get the last error.
NVSG_API bool | isValid () const
Test if a FileMapping is valid.
NVSG_API void | mapOut (const void *offsetPtr)
Maps out a previously mapped in part of a file.

Protected Member Functions

NVSG_API | FileMapping ()
Protected default constructor.
NVSG_API | ~FileMapping ()
Protected destructor.
NVSG_API void * | mapIn (size_t offset, size_t numBytes)
Protected base function to map in part of the file.

Protected Attributes

unsigned int | m_accessType
read-only or read/write
HANDLE | m_file
file handle returned by CreateFile
HANDLE | m_fileMapping
handle of file mapping object returned by CreateFileMapping
size_t | m_mappingSize
actual size of the file mapping
bool | m_isValid
file mapping is valid

Classes

struct | MapCount
struct | ViewHeader

Detailed Description

Helper class to ease efficient reading and writing of large files.

Remarks:
This is the base class for class ReadMapping and class WriteMapping, that can be used to hide platform dependencies on reading or writing. This is done by selectively mapping parts of a file in and out.
Note:
This class is not intended to be directly instantiated.
See also:
ReadMapping, WriteMapping

Constructor & Destructor Documentation

NVSG_API FileMapping ( ) [protected]

Protected default constructor.

Remarks:
The constructor of FileMapping is protected to prevent explicit instantiation.
See also:
ReadMapping, WriteMapping

NVSG_API ~FileMapping ( ) [protected]

Protected destructor.

Remarks:
The destructor of FileMapping is protected to prevent explicit instantiation.
See also:
ReadMapping, WriteMapping

Member Function Documentation

unsigned int getLastError ( ) const [inline]

Get the last error.

Returns:
An platform dependent unsigned int that describes the last error on using a mapped file.
Example:
const void * ptr = rm->mapIn( offset, count*sizeof(int) ); if ( ! ptr ) { unsigned int errCode = rm->getLastError(); // ... }

          bool isValid
          (

           )
           const [inline]

Test if a FileMapping is valid.

Returns:
true, if the FileMapping is currently valid, otherwise false.

Remarks:
Before using a FileMapping, you should test for its validity.

Example:
    ReadMapping rm = new ReadMapping( fileName );
    if ( rm->isValid() )
    {...}

          NVSG_API void mapOut
          (
          const void *
           offsetPtr
           )

Maps out a previously mapped in part of a file.

Parameters:

 offsetPtr  The constant pointer to void that was previously returned by a call to mapIn.

Example:
  const void * ptr = rm->mapIn( offset, count*sizeof(int) );
  if ( ptr )
  {
    // ...
    rm->mapOut( ptr );
  }

See also:
mapIn

NVSG_API void* mapIn | ( | size_t | offset,
 |  | size_t | numBytes
 | ) | [protected]

Protected base function to map in part of the file.

Parameters:

 offset   | The offset that has to be part of the mapping.

 numBytes   | The number of bytes that, starting from offset, are to be part of the mapping.

Returns:
A pointer to the mapped memory location, or NULL if the mapping failed.

See also:
mapOut

Reimplemented in ReadMapping, and WriteMapping.

Member Data Documentation

          unsigned int m_accessType  [protected]

read-only or read/write

          HANDLE m_file  [protected]

file handle returned by CreateFile

          HANDLE m_fileMapping  [protected]

handle of file mapping object returned by CreateFileMapping

          size_t m_mappingSize  [protected]

actual size of the file mapping

          bool m_isValid  [protected]

file mapping is valid

The documentation for this class was generated from the following file:

  • FileMapping.h

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Member List

FileMapping Member List

This is the complete list of members for FileMapping, including all inherited members.

FileMapping() | FileMapping | [protected]
getLastError() const | FileMapping | [inline]
isValid() const | FileMapping | [inline]
m_accessType | FileMapping | [protected]
m_file | FileMapping | [protected]
m_fileMapping | FileMapping | [protected]
m_isValid | FileMapping | [protected]
m_mappingSize | FileMapping | [protected]
mapIn(size_t offset, size_t numBytes) | FileMapping | [protected]
mapOut(const void *offsetPtr) | FileMapping |
~FileMapping() | FileMapping | [protected]

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: FixedAllocator Class Reference

nvutil::FixedAllocator

FixedAllocator Class Reference

Manages allocation requests for objects of a certain size only. More...

#include <Allocator.h>

Collaboration diagram for FixedAllocator:

[legend]
List of all members.

Public Member Functions

NVSG_API | FixedAllocator ()
default constructs a FixedAllocator object
NVSG_API | ~FixedAllocator ()
destructor - last chunk memory cleanup
NVSG_API void * | alloc ()
Allocate one memory block of size blockSize.
NVSG_API void | dealloc (void *p)
Free the single memory block pointed to by p.
NVSG_API void | init (size_t blockSize)
one time initialization

Detailed Description

Manages allocation requests for objects of a certain size only.

Constructor & Destructor Documentation

NVSG_API FixedAllocator ( )

default constructs a FixedAllocator object

NVSG_API ~FixedAllocator ( )

destructor - last chunk memory cleanup

Member Function Documentation

NVSG_API void* alloc ( )

Allocate one memory block of size blockSize.

NVSG_API void dealloc ( void * p )

Free the single memory block pointed to by p.

void init ( size_t blockSize ) [inline]

one time initialization

FixedAllocator::init()

one time initialization

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

FixedAllocator Member List

This is the complete list of members for FixedAllocator, including all inherited members.

alloc() | FixedAllocator |
dealloc(void *p) | FixedAllocator |
FixedAllocator() | FixedAllocator |
init(size_t blockSize) | FixedAllocator | [inline]
~FixedAllocator() | FixedAllocator |

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: FlipbookAnimation Class Reference

nvsg::FlipbookAnimation

FlipbookAnimation Class Reference

Class representing a flipbook animation. More...

#include <FlipbookAnimation.h>

Inheritance diagram for FlipbookAnimation:

[legend]
Collaboration diagram for FlipbookAnimation:

[legend]
List of all members.

Public Member Functions

NVSG_API const IndexAnimationSharedPtr & | getAnimation () const
Get the Animation.
NVSG_API void | setAnimation (const IndexAnimationSharedPtr &animation)
Set the Animation.
virtual NVSG_API bool | determineAnimationContainment () const
Query if this objects contains an animation.
NVSG_API FlipbookAnimation & | operator= (const FlipbookAnimation &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another FlipbookAnimation.
NVSG_API const NodeSharedPtr & | getCurrentChild () const
Get the child for the current animation frame.
REFLECTION_INFO_API (NVSG_API, FlipbookAnimation)

Static Public Member Functions

static NVSG_API FlipbookAnimationSharedPtr | create ()

Protected Member Functions

NVSG_API | FlipbookAnimation ()
Default-constructs a FlipbookAnimation.
NVSG_API | FlipbookAnimation (const FlipbookAnimation &rhs)
Constructs a FlipbookAnimation as a copy of another FlipbookAnimation.
virtual NVSG_API | ~FlipbookAnimation ()
Destructs a FlipbookAnimation.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class representing a flipbook animation.

Namespace: nvsg
Remarks:
A FlipbookAnimation is a kind of Group that holds an Animation of indices. For a given animation step the corresponding index specifies which child of the FlipbookAnimation is to use.
See also:
Animation, Group

Constructor & Destructor Documentation

NVSG_API FlipbookAnimation ( ) [protected]

Default-constructs a FlipbookAnimation.

NVSG_API FlipbookAnimation ( const FlipbookAnimation & rhs ) [protected]

Constructs a FlipbookAnimation as a copy of another FlipbookAnimation.

virtual NVSG_API ~FlipbookAnimation ( ) [protected, virtual]

Destructs a FlipbookAnimation.

Member Function Documentation

const IndexAnimationSharedPtr & getAnimation ( ) const [inline]

Get the Animation.

Returns:
The Animation.
See also:
setAnimation

NVSG_API void setAnimation ( const IndexAnimationSharedPtr & animation )

Set the Animation.

Parameters:
animation The Animation to set
Remarks:
If any current Animation and the new Animation hold a different number of frames, the number of frames is invalidated. The current frame is reset to zero.
Note:
The behavior is undefined if animation is not valid.
See also:
Animation, invalidateAnimationContainment

virtual NVSG_API bool determineAnimationContainment ( ) const [virtual]

Query if this objects contains an animation.

Returns:
true.
Remarks:
As a FlipbookAnimation always holds an Animation, this always is true.

Reimplemented from Group.

NVSG_API FlipbookAnimation& operator= ( const FlipbookAnimation & rhs )

Assignment operator.

Parameters:
rhs Reference to a constant FlipbookAnimation to copy from
Returns:
A reference to the assigned FlipbookAnimation
Remarks:
The assignment operator first calls the assignment operator of Group. Then the reference count of the current Animation is decremented, the Animation of rhs is cloned, and it's reference count is incremented.
See also:
Animation, Group

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another FlipbookAnimation.

Parameters:
p | Pointer to the constant FlipbookAnimation to test for equivalence with
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the FlipbookAnimation p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Group objects, their Animation objects are tested for equivalence. If deepCompare is false, they are considered to be equivalent if they are the same pointers. Otherwise, a full equivalence test is performed.
Note:
The behavior is undefined if p is not a FlipbookAnimation nor derived from one.
See also:
Animation, Object

Reimplemented from Group.

NVSG_API const NodeSharedPtr& getCurrentChild ( ) const

Get the child for the current animation frame.

Returns:
The Node to be used for the current animation frame.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Group.

The documentation for this class was generated from the following file:
  • FlipbookAnimation.h
Generated on Fri Jul 13 13:29:59 2012 for SceniX


SceniX: Member List

FlipbookAnimation Member List

This is the complete list of members for FlipbookAnimation, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
calculateBoundingBox() const | Group | [protected, virtual]
calculateBoundingSphere() const | Group | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in FlipbookAnimation) | FlipbookAnimation | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const | FlipbookAnimation | [virtual]
determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Group) | Group | [protected, virtual]
determineLODContainment() const (defined in Group) | Group | [protected, virtual]
determineShaderContainment() const (defined in Group) | Group | [protected, virtual]
determineTransparencyContainment() const (defined in Group) | Group | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | FlipbookAnimation | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
FlipbookAnimation() | FlipbookAnimation | [protected]
FlipbookAnimation(const FlipbookAnimation &rhs) | FlipbookAnimation | [protected]
getAnimation() const | FlipbookAnimation | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getCurrentChild() const | FlipbookAnimation |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | FlipbookAnimation | [virtual]
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const FlipbookAnimation &rhs) | FlipbookAnimation |
nvsg::Group::operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postAddChild(unsigned int position) | Group | [protected, virtual]
postRemoveChild(unsigned int position) | Group | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, FlipbookAnimation) (defined in FlipbookAnimation) | FlipbookAnimation |
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setAnimation(const IndexAnimationSharedPtr &animation) | FlipbookAnimation |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in FlipbookAnimation) | FlipbookAnimation | [protected, virtual]
~FlipbookAnimation() | FlipbookAnimation | [protected, virtual]
~Group() | Group | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:29:59 2012 for SceniX


SceniX: FramedAnimationDescription Class Template Reference

nvsg::FramedAnimationDescription

FramedAnimationDescription Class Template Reference

Template class of an Animation that holds a complete data set for each frame. More...

#include <FramedAnimation.h>

Inheritance diagram for FramedAnimationDescription:

[legend]
Collaboration diagram for FramedAnimationDescription:

[legend]
List of all members.

Public Member Functions

FramedAnimationDescription ()
Default-constructs a FramedAnimationDescription.
FramedAnimationDescription (const FramedAnimationDescription< T > &rhs)
Constructs a FramedAnimationDescription as a copy of another FramedAnimationDescription.
virtual | ~FramedAnimationDescription ()
virtual unsigned int | getNumberOfSteps () const
Get the number of steps in this FramedAnimationDescription.
void | addStep (const T &value)
Add a single step to the end of the Animation.
void | addSteps (unsigned int numberOfSteps, const T *values)
Add a number of steps to the end of the Animation.
virtual T | getStepValue (unsigned int step) const
Get the value of a FramedAnimationDescription at the specified step.
const T * | getStepValues () const
Get a pointer to the animation values.
virtual void | replaceStep (unsigned int step, const T &value)
Replace the value of a specified step.
void | replaceSteps (unsigned int step, unsigned int numberOfSteps, const T *values)
Replace the values of a number of consecutive steps.
virtual void | removeStep (unsigned int step)
Remove a single step from the Animation.
void | removeSteps (unsigned int step, unsigned int numberOfSteps)
Remove a number of consecutive steps.
void | reserveSteps (unsigned int numberOfSteps)
Reserve space for a specified number of steps.
virtual bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other FramedAnimationDescription of type T.
FramedAnimationDescription<
T > & 		operator= (const FramedAnimationDescription< T > &rhs)
Assignment operator.
template<>
FramedAnimationDescription (const FramedAnimationDescription< unsigned int > &rhs)
template<>
FramedAnimationDescription (const FramedAnimationDescription< VertexAttribute > &rhs)

Static Public Member Functions

static nvutil::ObjectTraits<
FramedAnimationDescription<
T > >::SharedPtr 		create ()

Protected Member Functions

virtual void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

template<typename T>
class nvsg::FramedAnimationDescription< T >

Template class of an Animation that holds a complete data set for each frame.

Namespace: nvsg
Remarks:
A FramedAnimationDescription holds a data set of type T, where T is the template parameter, for each frame.
Note:
The FramedAnimationDescription of type T performs no reference counting on the frame values of type T.
See also:
Animation, InterpolatedAnimation

Constructor & Destructor Documentation

FramedAnimationDescription ( ) [inline]

Default-constructs a FramedAnimationDescription.

FramedAnimationDescription ( const FramedAnimationDescription< T > & rhs ) [inline]

Constructs a FramedAnimationDescription as a copy of another FramedAnimationDescription.

~FramedAnimationDescription ( ) [inline, virtual]

Destructs a FramedAnimationDescription

Member Function Documentation

unsigned int getNumberOfSteps ( ) const [inline, virtual]

Get the number of steps in this FramedAnimationDescription.

Returns:
The number of steps in this FramedAnimationDescription.
Remarks:
This is the number of steps to run once from the first to the last defined frame.
See also:
getNumberOfFrames

Implements AnimationDescription.

void addStep ( const T & value ) [inline]

Add a single step to the end of the Animation.

Parameters:
value The value to add as the last step.
See also:
addSteps, reserveSteps

void addSteps | ( | unsigned int | numberOfSteps,
 |  | const T * | values
 | ) | [inline]

Add a number of steps to the end of the Animation.

Parameters:
numberOfSteps | The number of steps to add as the last steps.
values | A pointer to the values to add as the last steps.
See also:
addStep, reserveSteps

T getStepValue ( unsigned int step ) const [inline, virtual]

Get the value of a FramedAnimationDescription at the specified step.

Parameters:
step Index of the step to get the value at.
Returns:
The value at the specified step.
Note:
The behavior is undefined if step is larger than or equal to the current number of steps.
See also:
getNumberOfSteps, getStepValues

Implements AnimationDescription.

const T * getStepValues ( ) const [inline]

Get a pointer to the animation values.

Returns:
A constant pointer to the animation values.
See also:
getStepValue

void replaceStep | ( | unsigned int | step,
 |  | const T & | value
 | ) | [inline, virtual]

Replace the value of a specified step.

Parameters:
step | The step to change the value at.
value | The value to change to.
Note:
The behavior is undefined if step is larger than or equal to the current number of steps.
See also:
replaceSteps

Implements AnimationDescription.

void replaceSteps | ( | unsigned int | step,
 |  | unsigned int | numberOfSteps,
 |  | const T * | values
 | ) | [inline]

Replace the values of a number of consecutive steps.

Parameters:
step | The first step to change the value of.
numberOfSteps | The number of steps to change.
values | A constant pointer to the values to use.
Note:
The behavior is undefined if step + numberOfSteps is larger than or equal to the current number of steps.
See also:
replaceStep

void removeStep ( unsigned int step ) [inline, virtual]

Remove a single step from the Animation.

Parameters:
step The step to remove from the Animation.
Note:
The behavior is undefined if step is larger than or equal to the current number of steps.
See also:
removeSteps, getNumberOfSteps

Implements AnimationDescription.

void removeSteps | ( | unsigned int | step,
 |  | unsigned int | numberOfSteps
 | ) | [inline]

Remove a number of consecutive steps.

Parameters:
step | The first step to remove.
numberOfSteps | The number of steps to remove.
Note:
The behavior is undefined if step + numberOfSteps is larger than or equal to the current number of steps.
See also:
removeStep, getNumberOfSteps

void reserveSteps ( unsigned int numberOfSteps ) [inline]

Reserve space for a specified number of steps.

Parameters:
numberOfSteps Reserve space for that number of steps.
See also:
addStep, addSteps

bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Test for equivalence with an other FramedAnimationDescription of type T.

Parameters:
p | A reference to the constant FramedAnimationDescription of type T to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the FramedAnimationDescription of type T p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Animation of type T, they are equivalent if they have the same number of frames, and each frame has the same value of type T.
Note:
The behavior is undefined if p is not a FramedAnimationDescription of type T nor derived from one.
See also:
Animation

Reimplemented from AnimationDescription.

FramedAnimationDescription< T > & operator= ( const FramedAnimationDescription< T > & rhs ) [inline]

Assignment operator.

Parameters:
rhs A reference to the constant FramedAnimationDescription of type T to copy from.
Returns:
A reference to the assigned FramedAnimationDescription of type T.
Remarks:
The assignment operator calls the assignment operator of Animation of type T and then copies the vector of values of type T .
See also:
Animation

void feedHashGenerator ( nvutil::HashGenerator & hg ) const [inline, protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • FramedAnimation.h
Generated on Fri Jul 13 13:30:00 2012 for SceniX


SceniX: Member List

FramedAnimationDescription Member List

This is the complete list of members for FramedAnimationDescription, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
addStep(const T &value) | FramedAnimationDescription | [inline]
addSteps(unsigned int numberOfSteps, const T *values) | FramedAnimationDescription | [inline]
AnimationDescription(void) | AnimationDescription | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in FramedAnimationDescription) | FramedAnimationDescription | [inline, static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | FramedAnimationDescription | [inline, protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
FramedAnimationDescription() | FramedAnimationDescription | [inline]
FramedAnimationDescription(const FramedAnimationDescription< T > &rhs) | FramedAnimationDescription | [inline]
FramedAnimationDescription(void) (defined in FramedAnimationDescription) | FramedAnimationDescription | [inline]
FramedAnimationDescription(void) (defined in FramedAnimationDescription) | FramedAnimationDescription | [inline]
FramedAnimationDescription(const FramedAnimationDescription< unsigned int > &rhs) (defined in FramedAnimationDescription) | FramedAnimationDescription | [inline]
FramedAnimationDescription(const FramedAnimationDescription< VertexAttribute > &rhs) (defined in FramedAnimationDescription) | FramedAnimationDescription | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Animation< T > > |
getNumberOfSteps() const | FramedAnimationDescription | [inline, virtual]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Animation< T > > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getStepValue(unsigned int step) const | FramedAnimationDescription | [inline, virtual]
getStepValues() const | FramedAnimationDescription | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
invalidate() (defined in AnimationDescription) | AnimationDescription | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | FramedAnimationDescription | [inline, virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const FramedAnimationDescription< T > &rhs) | FramedAnimationDescription | [inline]
nvsg::AnimationDescription::operator=(const AnimationDescription &rhs) | AnimationDescription | [inline, protected]
nvsg::OwnedObject< Animation< T > >::operator=(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Animation< T > > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Animation< T > > | [protected]
OwnedObject(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > | [protected]
OwnerContainer typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
OwnerIterator typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
ownersBegin() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
ownersEnd() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
removeStep(unsigned int step) | FramedAnimationDescription | [inline, virtual]
removeSteps(unsigned int step, unsigned int numberOfSteps) | FramedAnimationDescription | [inline]
replaceStep(unsigned int step, const T &value) | FramedAnimationDescription | [inline, virtual]
replaceSteps(unsigned int step, unsigned int numberOfSteps, const T *values) | FramedAnimationDescription | [inline]
reserveSteps(unsigned int numberOfSteps) | FramedAnimationDescription | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~AnimationDescription() (defined in AnimationDescription) | AnimationDescription | [inline, virtual]
~FramedAnimationDescription() | FramedAnimationDescription | [inline, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Animation< T > > | [protected]

Generated on Fri Jul 13 13:30:00 2012 for SceniX


SceniX: FrustumCamera Class Reference

nvsg::FrustumCamera

FrustumCamera Class Reference

Class describing a perspective or parallel Camera. More...

#include <FrustumCamera.h>

Inheritance diagram for FrustumCamera:

[legend]
Collaboration diagram for FrustumCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~FrustumCamera ()
NVSG_API void | calcNearFarDistances (const nvmath::Sphere3f &sphere)
Calculate the distances to the near and far clipping planes.
NVSG_API float | getAspectRatio (void) const
Get the aspect ratio of the Camera window.
NVSG_API float | getFarDistance (void) const
Get the distance to the far clipping plane.
NVSG_API float | getNearDistance (void) const
Get the distance to the near clipping plane.
NVSG_API const nvmath::Vec2f & | getWindowOffset (void) const
Get the window offset.
NVSG_API const nvmath::Box2f & | getWindowRegion () const
Get the window region.
NVSG_API const nvmath::Vec2f & | getWindowSize (void) const
Get the window size.
NVSG_API void | setAspectRatio (float ar, bool keepWidth)
Set the aspect ratio of the Camera window.
NVSG_API void | setAspectRatio (float ar)
Set the aspect ratio of the Camera window. Calls setAspectRatio width keepWidth = false.
NVSG_API void | setFarDistance (float fd)
Set the distance to the far clipping plane.
NVSG_API void | setNearDistance (float nd)
Set the distance to the near clipping plane.
NVSG_API void | setWindowOffset (const nvmath::Vec2f &offset)
Set the window offset.
NVSG_API void | setWindowRegion (const nvmath::Box2f &region)
Set the window region.
NVSG_API void | setWindowSize (const nvmath::Vec2f &size)
Set the window size.
virtual NVSG_API void | getPickRay (int x, int y, int w, int h, nvmath::Vec3f &rayOrigin, nvmath::Vec3f &rayDir) const =0
Interface for getting a pick ray in world coordinates for a given screen point.
NVSG_API virtual void | zoom (float factor)
Zoom by a positive factor.
NVSG_API void | zoom (const nvmath::Sphere3f &sphere, float fovy=-1.0f, bool adjustClipPlanes=true)
Zoom to fit view to a sphere.
REFLECTION_INFO_API (NVSG_API, FrustumCamera)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (FarDistance)
NVSG_API | DECLARE_STATIC_PROPERTY (NearDistance)
NVSG_API | DECLARE_STATIC_PROPERTY (WindowOffset)
NVSG_API | DECLARE_STATIC_PROPERTY (WindowSize)
NVSG_API | DECLARE_STATIC_PROPERTY (WindowRegion)
NVSG_API | DECLARE_STATIC_PROPERTY (AspectRatio)

Protected Member Functions

NVSG_API | FrustumCamera ()
Protected constructor to prevent explicit creation.
NVSG_API | FrustumCamera (const FrustumCamera &rhs)
Copy-constructs a FrustumCamera from another FrustumCamera.
NVSG_API FrustumCamera & | operator= (const FrustumCamera &rhs)
Protected assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class describing a perspective or parallel Camera.

Namespace: nvsg
Remarks:
A FrustumCamera overwrites the projection-specific functions of a Camera.
See also:
Camera, ParallalCamera, PerspectiveCamera, MatrixCamera

Constructor & Destructor Documentation

virtual NVSG_API ~FrustumCamera ( ) [virtual]

Destructs a FrustumCamera.

NVSG_API FrustumCamera ( ) [protected]

Protected constructor to prevent explicit creation.

Remarks:
Because FrustumCamera is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.
See also:
ParallelCamera, PerspectiveCamera

NVSG_API FrustumCamera ( const FrustumCamera & rhs ) [protected]

Copy-constructs a FrustumCamera from another FrustumCamera.

Parameters:
rhs Reference to the constant FrustumCamera to copy from
Remarks:
Because FrustumCamera is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.
See also:
ParallelCamera, PerspectiveCamera

Member Function Documentation

NVSG_API void calcNearFarDistances ( const nvmath::Sphere3f & sphere )

Calculate the distances to the near and far clipping planes.

Parameters:
sphere A reference to the constant sphere, where the clipping planes are to be adjusted to.
Remarks:
Calculates the optimal near and far clipping distances to prevent clipping of the nvmath::Sphere3f sphere without changing the position or orientation of the Camera.
If the sphere is completely "behind" the Camera, nothing is changed. Otherwise, the near and far distances are adjusted. The far distance is adjusted to be at the far end of the sphere. If the sphere is partly "behind" the Camera, the near distance is set to be at the far distance divided by 16384. This gives an acceptable depth resolution, but might clip objects that are close to, and in front of, the Camera that would otherwise be visible. If the sphere is completely in front of the Camera, the near distance is adjusted to be at the near end of the sphere. Behavior is undefined if sphere is invalid. This can be checked using !nvmathisValid
See also:
getFarDistance, getNearDistance, isAutoClipPlanes

NVSG_API float getAspectRatio ( void ) const

Get the aspect ratio of the Camera window.

Returns:
The aspect ratio of the Camera window
Remarks:
The aspect ratio is the width over the height of the Camera window.
See also:
getWindowSize, setAspectRatio

NVSG_API float getFarDistance ( void ) const

Get the distance to the far clipping plane.

Returns:
The distance from the Camera to the far clipping plane
Remarks:
The distance to the far clipping plane determines the back plane of the view frustum of this Camera. All objects behind this plane are clipped.
The far clipping distance has to be greater than the near clipping distance. The ratio of far-to-near gives the depth resolution of the Camera. Therefore, near should be as large as possible, while far should be as small as possible.
See also:
calcNearFarDistances, getNearDistance, setFarDistance

NVSG_API float getNearDistance ( void ) const

Get the distance to the near clipping plane.

Returns:
The distance from the Camera to the near clipping plane
Remarks:
The distance to the near clipping plane determines the front plane of the view frustum of this Camera. All objects in front of this plane are clipped.
The near clipping distance has to be positive and less than the far clipping distance. The ratio of far-to-near gives the depth resolution of the Camera. Therefore, near should be as large as possible, while far should be as small as possible.
See also:
calcNearFarDistances, getFarDistance, setNearDistance

NVSG_API const nvmath::Vec2f& getWindowOffset ( void ) const

Get the window offset.

Returns:
A reference to the constant window offset.
Remarks:
The window offset is a value in world space that describes how to offset the view frustum for projection purposes. By default, the offset is (0.0,0.0). That is, the view frustum is symmetric about the view direction. Setting an offset, this view frustum is sheared a bit. This can be used, for example, in full scene antialiasing (FSAA) or stereo rendering.
In FSAA mode, several passes are drawn where the Camera is kept in place, but the window is slightly offset (jittered) each time. This way, a somewhat blurred image is achieved.
In stereo mode, two passes are drawn - once with the Camera shifted half the eye distance to the left, and once to the right. To adjust the view frustum accordingly, it is sheared a bit to the right and to the left, respectively.
See also:
setWindowOffset

NVSG_API const nvmath::Box2f& getWindowRegion ( ) const

Get the window region.

Returns:
A reference to the relative lower left und upper right positions of the window region
Remarks:
The window region describes a relative part of the viewing window. Usually the view frustum of the Camera is symmetric about the view direction. To describe an asymmetric view frustum, you can use the window region.
The default for the window region is (0.0,0.0) for the lower left, and (1.0,1.0) for the upper right, thus using the whole view window. To only use the upper left quarter of the complete view frustum, for example, you could specify lower left as (0.0,0.5) and upper right as (0.5,1.0).
See also:
getWindowSize, setWindowRegion

NVSG_API const nvmath::Vec2f& getWindowSize ( void ) const

Get the window size.

Returns:
A constant reference to the size of the view window in world space
Remarks:
The window size is the size of the world window that is viewed by this Camera. The size is the size of the view frustum at focus distance from the Camera. It is symmetric about the view direction and it thus defines the aspect ratio of the world window, as well as, for a perspective Camera, the field of view. The default window size is (1.0,1.0).
See also:
setWindowSize

NVSG_API void setAspectRatio | ( | float | ar,
 |  | bool | keepWidth
 | ) |

Set the aspect ratio of the Camera window.

Parameters:
ar | Aspect ratio (width over height) of the Camera window.
keepWidth | boolean that controls whether the width or the height of the Camera window is modified.
Remarks:
Setting the aspect ratio of the Camera window changes either the width or the height. With keepWidth equal to false (the default), the width is changed. With keepWidth equal to true, the height is changed. Setting the aspect ratio increases the Incarnation of the Camera.
See also:
getAspectRatio, setWindowSize

NVSG_API void setAspectRatio ( float ar )

Set the aspect ratio of the Camera window. Calls setAspectRatio width keepWidth = false.

Parameters:
ar Aspect ratio (width over height) of the Camera window.
See also:
setAspectRatio

NVSG_API void setFarDistance ( float fd )

Set the distance to the far clipping plane.

Parameters:
fd The distance from the Camera to the far clipping plane
Remarks:
The distance to the far clipping plane determines the back plane of the view frustum of this Camera. All objects in behind this plane are clipped.
The far clipping distance has to be greater than the near clipping distance. The ratio of far-to-near gives the depth resolution of the Camera. Therefore, near should be as large as possible, while far should be as small as possible.
See also:
calcNearFarDistances, getFarDistance, setNearDistance

NVSG_API void setNearDistance ( float nd )

Set the distance to the near clipping plane.

Parameters:
nd The distance from the Camera to the near clipping plane
Remarks:
The distance to the near clipping plane determines the front plane of the view frustum of this Camera. All objects in front of this plane are clipped.
The near clipping distance has to be positive and less than the far clipping distance. The ratio of far-to-near gives the depth resolution of the Camera. Therefore, near should be as large as possible, while far should be as small as possible.
See also:
calcNearFarDistances, getNearDistance, setFarDistance

NVSG_API void setWindowOffset ( const nvmath::Vec2f & offset )

Set the window offset.

Parameters:
offset The window offset.
Remarks:
The window offset is a value in world space that describes how to offset the view frustum for projection purposes. By default, the offset is (0.0,0.0). That is, the view frustum is symmetric about the view direction. Setting an offset, this view frustum is sheared a bit. This can be used, for example, in full scene antialiasing (FSAA) or stereo rendering.
In FSAA mode, several passes are drawn where the Camera is kept in place, but the window is slightly offset (jittered) each time. This way, a somewhat blurred image is achieved.
In stereo mode, two passes are drawn - once with the Camera shifted half the eye distance to the left, and once to the right. To adjust the view frustum accordingly, it is sheared a bit to the right and to the left, respectively.
See also:
getWindowOffset

NVSG_API void setWindowRegion ( const nvmath::Box2f & region )

Set the window region.

Parameters:
region A reference to the relative lower left und upper right positions of the window region
Remarks:
The window region describes a relative part of the viewing window. Usually the view frustum of the Camera is symmetric about the view direction. To describe an asymmetric view frustum, you can use the window region.
The default for the window region is (0.0,0.0) for the lowerLeft, and (1.0,1.0) for the upperRight, thus using the whole view window. To only use the upper left quarter of the complete view frustum, for example, you could specify lowerLeft as (0.0,0.5) and upperRight as (0.5,1.0).
See also:
getWindowRegion, setWindowSize

NVSG_API void setWindowSize ( const nvmath::Vec2f & size )

Set the window size.

Parameters:
size A constant reference to the size of the view in world space.
Remarks:
The window size is the size of the world window that is viewed by this Camera. The size is the size of the view frustum at focus distance from the Camera. It is symmetric about the view direction and it thus defines the aspect ratio of the world window, as well as, for a perspective Camera, the field of view. The default window size is (1.0,1.0). Setting the window size increases the Incarnation of the Camera.
See also:
getWindowSize

virtual NVSG_API void getPickRay | ( | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | nvmath::Vec3f & | rayOrigin,
 |  | nvmath::Vec3f & | rayDir
 | ) | const [pure virtual]

Interface for getting a pick ray in world coordinates for a given screen point.

Parameters:
x | x-coordinate of the input screen point
y | y-coordinate of the input screen point
w | Width of the screen window in pixels
h | Height of the screen window in pixels
rayOrigin | Reference to an nvmath::Vec3f to get the ray origin
rayDir | Reference to an nvmath::Vec3f to get the ray direction
Remarks:
The function returns in rayOrigin the origin, and in rayDir the direction of the pick ray calculated from the screen point specified by its x and y coordinate.
Note:
A screen point of (0,0) indicates the lower left of the currently considered screen window.

Implemented in ParallelCamera, and PerspectiveCamera.

NVSG_API virtual void zoom ( float factor ) [virtual]

Zoom by a positive factor.

Parameters:
factor Factor to use in zooming
Remarks:
Zooming by a factor changes the window size of the Camera. The window size is the size of the world that is viewed at the projection plane. This plane is at a target distance along the view direction and orthogonal to the view direction.
When the factor is less than one, the window size is reduced, and thus the viewport shows less content in the same space. That is, it is zoomed in. When the factor is greater than one, it is zoomed out.
Zooming the Camera increases the Incarnation.
See also:
move, orbit, rotate, zoom

Implements Camera.

NVSG_API void zoom | ( | const nvmath::Sphere3f & | sphere,
 |  | float | fovy = -1.0f,
 |  | bool | adjustClipPlanes = true
 | ) |

Zoom to fit view to a sphere.

Parameters:
sphere | A reference to the constant sphere to zoom to.
fovy | Optional parameter describing the field of view. Default keeps the current field of view.
adjustClipPlanes | Optional parameter to enable near and far clip pane adjustment.
Remarks:
Zooming to a sphere moves the Camera to view the complete sphere. The direction is not changed, but the position and the window size are changed. If the automatic clip plane adjustment is on, the near and far distances are set accordingly.
Zooming the Camera increases the Incarnation. Behavior is undefined if sphere is invalid. This can be checked using !nvmathisValid
See also:
setAutoClipPlanes, setPosition, setWindowSize

NVSG_API FrustumCamera& operator= ( const FrustumCamera & rhs ) [protected]

Protected assignment operator.

Parameters:
rhs Reference to the constant FrustumCamera to copy from
Returns:
A reference to the assigned FrustumCamera.
Remarks:
The assignment operator calls the assignment operator of Camera.
See also:
LightSource, Object

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Camera.

The documentation for this class was generated from the following file:
  • FrustumCamera.h
Generated on Fri Jul 13 13:30:00 2012 for SceniX


SceniX: Member List

FrustumCamera Member List

This is the complete list of members for FrustumCamera, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHeadLight(const LightSourceSharedPtr &light) | Camera |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginHeadLights() const | Camera | [inline]
beginHeadLights() | Camera | [inline]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | FrustumCamera |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
Camera(void) | Camera | [protected]
Camera(const Camera &rhs) | Camera | [protected]
clearAppTraverserCallbacks() | Object | [inline]
clearHeadLights(void) | Camera |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(FarDistance) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(NearDistance) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowOffset) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowSize) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowRegion) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(AspectRatio) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(Position) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Direction) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(UpVector) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(FocusDistance) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineCullCode(const nvmath::Sphere3f &sphere) const =0 | Camera | [pure virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endHeadLights() const | Camera | [inline]
endHeadLights() | Camera | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | FrustumCamera | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
FrustumCamera() | FrustumCamera | [protected]
FrustumCamera(const FrustumCamera &rhs) | FrustumCamera | [protected]
getAnnotation() const | Object |
getAspectRatio(void) const | FrustumCamera |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDirection(void) const | Camera | [inline]
getFarDistance(void) const | FrustumCamera |
getFocusDistance(void) const | Camera | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverseProjection(void) const =0 | Camera | [pure virtual]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNearDistance(void) const | FrustumCamera |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfHeadLights(void) const | Camera | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const | Camera | [inline]
getPickRay(int x, int y, int w, int h, nvmath::Vec3f &rayOrigin, nvmath::Vec3f &rayDir) const =0 | FrustumCamera | [pure virtual]
getPosition(void) const | Camera | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getProjection(void) const =0 | Camera | [pure virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUpVector(void) const | Camera | [inline]
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getViewToWorldMatrix(void) const | Camera |
getWindowOffset(void) const | FrustumCamera |
getWindowRegion() const | FrustumCamera |
getWindowSize(void) const | FrustumCamera |
getWorldToViewMatrix(void) const | Camera |
HeadLightConstIterator typedef | Camera |
HeadLightContainer typedef | Camera |
HeadLightIterator typedef | Camera |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
move(const nvmath::Vec3f &delta, bool cameraRelative=true) | Camera |
moveX(float val) | Camera | [inline]
moveY(float val) | Camera | [inline]
moveZ(float val) | Camera | [inline]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const FrustumCamera &rhs) | FrustumCamera | [protected]
nvsg::Camera::operator=(const Camera &rhs) | Camera | [protected]
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
orbit(const nvmath::Vec3f &axis, float targetDistance, float angle, bool cameraRelative=true) | Camera |
orbitX(float targetDistance, float angle) | Camera | [inline]
orbitY(float targetDistance, float angle) | Camera | [inline]
orbitZ(float targetDistance, float angle) | Camera | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, FrustumCamera) (defined in FrustumCamera) | FrustumCamera |
REFLECTION_INFO_API(NVSG_API, Camera) (defined in Camera) | Camera |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHeadLight(const LightSourceSharedPtr &light) | Camera |
removeHeadLight(const HeadLightIterator &light) | Camera |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
replaceHeadLight(const LightSourceSharedPtr &newLight, const LightSourceSharedPtr &oldLight) | Camera |
replaceHeadLight(const LightSourceSharedPtr &newLight, const HeadLightIterator &oldLight) | Camera |
rotate(const nvmath::Vec3f &axis, float angle, bool cameraRelative=true) | Camera |
rotateX(float angle) | Camera | [inline]
rotateY(float angle) | Camera | [inline]
rotateZ(float angle) | Camera | [inline]
setAnnotation(const std::string &anno) | Object |
setAspectRatio(float ar, bool keepWidth) | FrustumCamera |
setAspectRatio(float ar) | FrustumCamera |
setDirection(const nvmath::Vec3f &dir) | Camera |
setFarDistance(float fd) | FrustumCamera |
setFocusDistance(float fd) | Camera | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setNearDistance(float nd) | FrustumCamera |
setOrientation(const nvmath::Quatf &quat) | Camera |
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | Camera |
setPosition(const nvmath::Vec3f &pos) | Camera |
setTraversalMask(unsigned int mask) | Object | [inline]
setUpVector(const nvmath::Vec3f &up) | Camera |
setUserData(const void *userData) | Object | [inline]
setViewToWorldMatrix(const nvmath::Mat44f &m) | Camera |
setWindowOffset(const nvmath::Vec2f &offset) | FrustumCamera |
setWindowRegion(const nvmath::Box2f &region) | FrustumCamera |
setWindowSize(const nvmath::Vec2f &size) | FrustumCamera |
setWorldToViewMatrix(const nvmath::Mat44f &m) | Camera |
syncIncarnation(PFNGETINCARNATION) const (defined in Camera) | Camera | [protected, virtual]
zoom(float factor) | FrustumCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f, bool adjustClipPlanes=true) | FrustumCamera |
~Camera(void) | Camera | [virtual]
~FrustumCamera() | FrustumCamera | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:00 2012 for SceniX


SceniX: FunctorGet Class Template Reference

nvutil::FunctorGet

FunctorGet Class Template Reference

Functor to get a property value from an object. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void operator() (const Reflection *owner, ValueType &returnValue)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename ResultType, typename ObjectType, ResultType(ObjectType::*)() const get>
class nvutil::FunctorGet< ValueType, ResultType, ObjectType, get >

Functor to get a property value from an object.

Parameters:
ValueType | The value type of the property
ResultType | The value type accepted by set function used to set the property
ObjectType | The class the get function belongs to
set | Function pointer which is being called to get the property

Member Function Documentation

void operator() | ( | const Reflection * | owner,
 |  | ValueType & | returnValue
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the function to call.
returnValue | Reference to the memory to get the result.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctorGet Member List

This is the complete list of members for FunctorGet, including all inherited members.

operator()(const Reflection *owner, ValueType &returnValue) FunctorGet [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorGetEnum Class Template Reference

nvutil::FunctorGetEnum

FunctorGetEnum Class Template Reference

Functor to get an enum property value from an object. It's possible to use an int or enum as return value. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void | operator() (const Reflection *owner, ValueType &returnValue)
Function call operator of this Functor.
void | operator() (const Reflection *owner, int &returnValue)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename ResultType, typename ObjectType, ResultType(ObjectType::*)() const get>
class nvutil::FunctorGetEnum< ValueType, ResultType, ObjectType, get >

Functor to get an enum property value from an object. It's possible to use an int or enum as return value.

Parameters:
ValueType | The value type of the property
ResultType | The value type accepted by set function used to set the property
ObjectType | The class the get function belongs to
set | Function pointer which is being called to get the property

Member Function Documentation

void operator() | ( | const Reflection * | owner,
 |  | ValueType & | returnValue
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the function to call.
returnValue | Reference to the memory to get the function return value.

void operator() | ( | const Reflection * | owner,
 |  | int & | returnValue
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the function to call.
returnValue | Reference to the memory to get the function return value.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

FunctorGetEnum Member List

This is the complete list of members for FunctorGetEnum, including all inherited members.

operator()(const Reflection *owner, ValueType &returnValue) | FunctorGetEnum | [inline]
operator()(const Reflection *owner, int &returnValue) | FunctorGetEnum | [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorGetInvalid Class Template Reference

nvutil::FunctorGetInvalid

FunctorGetInvalid Class Template Reference

Functor to set a value which always asserts. This is being used for RO properties. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void operator() (const Reflection *owner, ValueType &returnValue)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename ObjectType, const ValueType &(ObjectType::*)() const get>
class nvutil::FunctorGetInvalid< ValueType, ObjectType, get >

Functor to set a value which always asserts. This is being used for RO properties.

Parameters:
ValueType The value type of the property

Member Function Documentation

void operator() | ( | const Reflection * | owner,
 |  | ValueType & | returnValue
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the function to call.
returnValue | Reference to the memory to get the function return value.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctorGetInvalid Member List

This is the complete list of members for FunctorGetInvalid, including all inherited members.

operator()(const Reflection *owner, ValueType &returnValue) FunctorGetInvalid [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorGetMember Class Template Reference

nvutil::FunctorGetMember

FunctorGetMember Class Template Reference

Functor to get a member value from an object. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void operator() (const Reflection *owner, ValueType &returnValue)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename ObjectType, ValueType ObjectType::* member>
class nvutil::FunctorGetMember< ValueType, ObjectType, member >

Functor to get a member value from an object.

Parameters:
ValueType | The value type of the member.
ObjectType | The class the member belongs to.
member | A pointer to the member to get.

Member Function Documentation

void operator() | ( | const Reflection * | owner,
 |  | ValueType & | returnValue
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the member to get.
returnValue | Reference to the memory to get the member value.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctorGetMember Member List

This is the complete list of members for FunctorGetMember, including all inherited members.

operator()(const Reflection *owner, ValueType &returnValue) FunctorGetMember [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorSet Class Template Reference

nvutil::FunctorSet

FunctorSet Class Template Reference

Functor to set a property value in an object. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void operator() (Reflection *owner, const ValueType &value)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename SetType, typename ObjectType, void(ObjectType::*)(SetType) set>
class nvutil::FunctorSet< ValueType, SetType, ObjectType, set >

Functor to set a property value in an object.

Parameters:
ValueType | The value type of the property
SetType | The value type accepted by set function used to set the property
ObjectType | The class the set function belongs to
set | Function pointer which is being called to set the property

Member Function Documentation

void operator() | ( | Reflection * | owner,
 |  | const ValueType & | value
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the function to call.
value | The value to set.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctorSet Member List

This is the complete list of members for FunctorSet, including all inherited members.

operator()(Reflection *owner, const ValueType &value) FunctorSet [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorSetEnum Class Template Reference

nvutil::FunctorSetEnum

FunctorSetEnum Class Template Reference

Functor to set an enum property value in an object. This is special because enums can be either set as ints or by their enum type. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void | operator() (Reflection *owner, const ValueType &value)
Function call operator of this Functor.
void | operator() (Reflection *owner, const int &value)
Function call operator of this Functor, specialized for values of type int.

Detailed Description

template<typename ValueType, typename SetType, typename ObjectType, void(ObjectType::*)(SetType) set>
class nvutil::FunctorSetEnum< ValueType, SetType, ObjectType, set >

Functor to set an enum property value in an object. This is special because enums can be either set as ints or by their enum type.

Parameters:
ValueType | The value type of the property
SetType | The value type accepted by set function used to set the property
ObjectType | The class the set function belongs to
set | Function pointer which is being called to set the property

Member Function Documentation

void operator() | ( | Reflection * | owner,
 |  | const ValueType & | value
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the function to call.
value | The value to set.

void operator() | ( | Reflection * | owner,
 |  | const int & | value
 | ) | [inline]

Function call operator of this Functor, specialized for values of type int.

Parameters:
owner | A pointer to the object owning the function to call.
value | The value to set.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

FunctorSetEnum Member List

This is the complete list of members for FunctorSetEnum, including all inherited members.

operator()(Reflection *owner, const ValueType &value) | FunctorSetEnum | [inline]
operator()(Reflection *owner, const int &value) | FunctorSetEnum | [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorSetInvalid Class Template Reference

nvutil::FunctorSetInvalid

FunctorSetInvalid Class Template Reference

Functor to set a value which always asserts. This is being used for RO properties. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void operator() (const Reflection *owner, const ValueType &value)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename ObjectType>
class nvutil::FunctorSetInvalid< ValueType, ObjectType >

Functor to set a value which always asserts. This is being used for RO properties.

Parameters:
ValueType | The value type of the property
ObjectType | The class the set function belongs to

Member Function Documentation

void operator() | ( | const Reflection * | owner,
 |  | const ValueType & | value
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object to use.
value | The value to set.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctorSetInvalid Member List

This is the complete list of members for FunctorSetInvalid, including all inherited members.

operator()(const Reflection *owner, const ValueType &value) FunctorSetInvalid [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: FunctorSetMember Class Template Reference

nvutil::FunctorSetMember

FunctorSetMember Class Template Reference

Functor to set the value of a member of an object. More...

#include <Reflection.h>

List of all members.

Public Member Functions

void operator() (Reflection *owner, const ValueType &value)
Function call operator of this Functor.

Detailed Description

template<typename ValueType, typename ObjectType, ValueType ObjectType::* Member, bool readonly>
class nvutil::FunctorSetMember< ValueType, ObjectType, Member, readonly >

Functor to set the value of a member of an object.

Parameters:
ValueType | The value type of the member.
ObjectType | The class the member belongs to.
Member | A pointer to the member to set the value to.
readonly | bool specifying if the member is to be handled as readonly.

Member Function Documentation

void operator() | ( | Reflection * | owner,
 |  | const ValueType & | value
 | ) | [inline]

Function call operator of this Functor.

Parameters:
owner | A pointer to the object owning the member to set.
value | The value to set.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FunctorSetMember Member List

This is the complete list of members for FunctorSetMember, including all inherited members.

operator()(Reflection *owner, const ValueType &value) FunctorSetMember [inline]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: geometrySet_t Struct Reference

geometrySet_t Struct Reference

The geometrySet_t structure specifies how a geometry set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t stateSet
Specifies the file offset to the corresponding NBFStateSet object.
uint_t numDrawables
Specifies the number of this geometry's NBFDrawable objects.
uint_t drawables
Specifies the file offset to the offsets to the NBFDrawable objects.

Detailed Description

The geometrySet_t structure specifies how a geometry set is stored in a .NBF file.

Geometry sets, in this context, need to be considered in conjunction with NBFGeoNode objects.

Member Data Documentation

uint_t stateSet

Specifies the file offset to the corresponding NBFStateSet object.

uint_t numDrawables

Specifies the number of this geometry's NBFDrawable objects.

uint_t drawables

Specifies the file offset to the offsets to the NBFDrawable objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: Member List

geometrySet_t Member List

This is the complete list of members for geometrySet_t, including all inherited members.

drawables | geometrySet_t
numDrawables | geometrySet_t
stateSet | geometrySet_t

Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: GeoNode Class Reference

nvsg::GeoNode

GeoNode Class Reference

Leaf Node to maintain geometry. More...

#include <GeoNode.h>

Inheritance diagram for GeoNode:

[legend]
Collaboration diagram for GeoNode:

[legend]
List of all members.

Public Types

typedef nvutil::STLVector<
DrawableSharedPtr > 		DrawableContainer
The container type of the GeoNode's Drawables.
typedef nvutil::SceniXIterator<
GeoNode, DrawableContainer::iterator > 		DrawableIterator
The iterator over the DrawableContainer.
typedef nvutil::SceniXIterator<
GeoNode, DrawableContainer::const_iterator > 		DrawableConstIterator
The const iterator over the DrawableContainer.
typedef nvutil::STLVector<
Geometry > 		StateSetContainer
The container type of the GeoNode's StateSets and Drawables.

Public Member Functions

NVSG_API unsigned int | getNumberOfStateSets () const
Get the number of StateSets in this GeoNode.
NVSG_API StateSetConstIterator | beginStateSets () const
Returns a const iterator to the GeoNode’s first StateSet.
NVSG_API StateSetIterator | beginStateSets ()
Returns an iterator to the GeoNode’s first StateSet.
NVSG_API StateSetConstIterator | endStateSets () const
Returns a const iterator that points past the end of the GeoNode’s StateSets.
NVSG_API StateSetIterator | endStateSets ()
Returns an iterator that points past the end of the GeoNode’s StateSets.
NVSG_API bool | replaceStateSet (const StateSetSharedPtr &newStateSet, const StateSetSharedPtr &oldStateSet)
Replace a StateSet in this GeoNode by an other.
NVSG_API bool | replaceStateSet (const StateSetSharedPtr &newStateSet, const StateSetIterator &oldSSI)
Replace a StateSet in this GeoNode by an other.
NVSG_API void | replaceAllStateSets (const StateSetSharedPtr &newStateSet)
Replace all StateSets in this GeoNode with one single StateSet.
NVSG_API bool | removeStateSet (const StateSetSharedPtr &stateSet)
Remove a StateSet from this GeoNode.
NVSG_API bool | removeStateSet (const StateSetIterator &ssi)
Remove a StateSet from this GeoNode.
NVSG_API void | clearStateSets ()
Completely remove all StateSets and Drawables from this GeoNode.
NVSG_API StateSetConstIterator | findStateSet (const StateSetSharedPtr &stateSet) const
Find a StateSet in this GeoNode.
NVSG_API StateSetIterator | findStateSet (const StateSetSharedPtr &stateSet)
Find a StateSet in this GeoNode.
NVSG_API unsigned int | getNumberOfDrawables () const
Get the total number of Drawables in this GeoNode.
NVSG_API unsigned int | getNumberOfDrawables (const StateSetSharedPtr &stateSet) const
Get the number of Drawables associated with a specifed StateSet in this GeoNode.
NVSG_API unsigned int | getNumberOfDrawables (const StateSetConstIterator &stateSet) const
Get the number of Drawables associated with a specifed StateSet in this GeoNode.
NVSG_API DrawableConstIterator | beginDrawables (const StateSetSharedPtr &stateSet) const
Returns a const iterator to the GeoNode’s first Drawable associated with a specified StateSet.
NVSG_API DrawableIterator | beginDrawables (const StateSetSharedPtr &stateSet)
Returns an iterator to the GeoNode’s first Drawable associated with a specified StateSet.
NVSG_API DrawableConstIterator | beginDrawables (const StateSetConstIterator &stateSet) const
Returns a const iterator to the GeoNode’s first Drawable associated with a specified StateSet.
NVSG_API DrawableIterator | beginDrawables (const StateSetIterator &stateSet)
Returns an iterator to the GeoNode’s first Drawable associated with a specified StateSet.
NVSG_API DrawableConstIterator | endDrawables (const StateSetSharedPtr &stateSet) const
Returns a const iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.
NVSG_API DrawableIterator | endDrawables (const StateSetSharedPtr &stateSet)
Returns an iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.
NVSG_API DrawableConstIterator | endDrawables (const StateSetConstIterator &stateSet) const
Returns a const iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.
NVSG_API DrawableIterator | endDrawables (const StateSetIterator &stateSet)
Returns an iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.
NVSG_API std::pair< StateSetIterator,
DrawableIterator > 		addDrawable (const StateSetSharedPtr &stateSet, const DrawableSharedPtr &drawable)
Add a Drawable to this GeoNode and associate it with a specified StateSet.
NVSG_API std::pair< StateSetIterator,
DrawableIterator > 		addDrawable (const StateSetIterator &stateSetIterator, const DrawableSharedPtr &drawable)
Add a Drawable to this GeoNode and associate it with a specified StateSet.
NVSG_API bool | replaceDrawable (const DrawableSharedPtr &newDrawable, const DrawableSharedPtr &oldDrawable)
Replace a Drawable by an other in the set of Drawables associated with a specfied StateSet.
NVSG_API bool | replaceDrawable (const StateSetIterator &stateSetIterator, const DrawableSharedPtr &newDrawable, const DrawableSharedPtr &oldDrawable)
Replace a Drawable by an other in the set of Drawables associated with a specfied StateSet.
NVSG_API bool | replaceDrawable (const StateSetIterator &stateSetIterator, const DrawableSharedPtr &newDrawable, const DrawableIterator &oldDrawableIterator)
Replace a Drawable by an other in the set of Drawables associated with a specfied StateSet.
NVSG_API bool | removeDrawable (const DrawableSharedPtr &drawable)
Remove a Drawable from this GeoNode.
NVSG_API bool | removeDrawable (const StateSetIterator &stateSetIterator, const DrawableSharedPtr &drawable)
Remove a Drawable associated with the specified StateSet from this GeoNode.
NVSG_API bool | removeDrawable (const StateSetIterator &stateSetIterator, const DrawableIterator &drawableIterator)
Remove a Drawable from this GeoNode.
NVSG_API StateSetConstIterator | findStateSet (const DrawableSharedPtr &drawable) const
Find a StateSet which is associated with the specified Drawable in this GeoNode.
NVSG_API StateSetIterator | findStateSet (const DrawableSharedPtr &drawable)
Find a StateSet which is associated with the specified Drawable in this GeoNode.
NVSG_API void | clearTexCoords (unsigned int tu=0)
Clear texture coordinates on all Drawable objects.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other GeoNode.
NVSG_API GeoNode & | operator= (const GeoNode &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, GeoNode)

Static Public Member Functions

static NVSG_API GeoNodeSharedPtr | create ()

Protected Member Functions

NVSG_API | GeoNode ()
Default-constructs a GeoNode.
NVSG_API | GeoNode (const GeoNode &rhs)
Constructs a GeoNode as a copy of another GeoNode.
virtual NVSG_API | ~GeoNode ()
Destructs a GeoNode.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Interface to calculate the bounding box of this GeoNode.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Interface to calculate the bounding sphere of this GeoNode.
virtual NVSG_API bool | determineTransparencyContainment () const
Determine the transparency containment status.
virtual NVSG_API bool | determineShaderContainment () const
Determines the CgFx/RTFx containment status.
virtual NVSG_API bool | determineAnimationContainment () const
Determine the animation containment of this object.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Related Functions

(Note that these are not member functions.)

NVSG_API void | generateTangentSpace (GeoNode *gn, unsigned int tc=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tg=VertexAttributeSet::NVSG_TANGENT, unsigned int bn=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true)
Gnerates tangents and binormals for all geometries contained in the indicated GeoNode.
NVSG_API bool | generateNormals (GeoNode *gn, bool overwrite=true)
Generates vertex normals.
NVSG_API void | generateTexCoords (GeoNode *gn, TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true)
Generates 2D texture coordinates.

Classes

struct | Geometry
A helper structure to hold a StateSet and the associated Drawables. More...
class | StateSetConstIterator
The const iterator over the StateSetContainer. More...
class | StateSetIterator
The iterator over the StateSetContainer. More...

Detailed Description

Leaf Node to maintain geometry.

Namespace: nvsg
Remarks:
A GeoNode represents a leaf Node containing Drawable objects associated to StateSets, where an arbitrary number of Drawable objects can be asssociated to a single StateSet. Such a compound we also refer to as a 'geometry'. StateSets as well as Drawables are unique within a GeoNode.
A GeoNode provides an API to add, replace, and remove geometry. It also provides an API to iterate through the contained StateSets and Drawables, as well as accessing the contained StateSets and Drawables for further processing.
See also:
Drawable, Node, Scene, StateSet

Member Typedef Documentation

typedef nvutil::STLVector<DrawableSharedPtr> DrawableContainer

The container type of the GeoNode's Drawables.

typedef nvutil::SceniXIterator<GeoNode,DrawableContainer::iterator> DrawableIterator

The iterator over the DrawableContainer.

typedef nvutil::SceniXIterator<GeoNode,DrawableContainer::const_iterator> DrawableConstIterator

The const iterator over the DrawableContainer.

typedef nvutil::STLVector<Geometry> StateSetContainer

The container type of the GeoNode's StateSets and Drawables.

Constructor & Destructor Documentation

NVSG_API GeoNode ( ) [protected]

Default-constructs a GeoNode.

NVSG_API GeoNode ( const GeoNode & rhs ) [protected]

Constructs a GeoNode as a copy of another GeoNode.

virtual NVSG_API ~GeoNode ( ) [protected, virtual]

Destructs a GeoNode.

Member Function Documentation

unsigned int getNumberOfStateSets ( ) const [inline]

Get the number of StateSets in this GeoNode.

Returns:
The number of StateSets in this GeoNode.
See also:
beginStateSets, endStateSets, replaceStateSet, removeStateSet, clearStateSets, findStateSet

GeoNode::StateSetConstIterator beginStateSets ( ) const [inline]

Returns a const iterator to the GeoNode’s first StateSet.

Returns:
A const iterator to the GeoNode’s first StateSet.
See also:
getNumberOfStateSets, endStateSets, replaceStateSet, removeStateSet, clearStateSets, findStateSet

GeoNode::StateSetIterator beginStateSets ( ) [inline]

Returns an iterator to the GeoNode’s first StateSet.

Returns:
An iterator to the GeoNode’s first StateSet.
See also:
getNumberOfStateSets, endStateSets, replaceStateSet, removeStateSet, clearStateSets, findStateSet

GeoNode::StateSetConstIterator endStateSets ( ) const [inline]

Returns a const iterator that points past the end of the GeoNode’s StateSets.

Returns:
A const iterator that points past the end of the GeoNode’s StateSets. If GeoNode::beginHeadLights() == GeoNode::endHeadLights(), the GeoNode has not been assigned any StateSet.
See also:
getNumberOfStateSets, beginStateSets, replaceStateSet, removeStateSet, clearStateSets, findStateSet

GeoNode::StateSetIterator endStateSets ( ) [inline]

Returns an iterator that points past the end of the GeoNode’s StateSets.

Returns:
An iterator that points past the end of the GeoNode’s StateSets. If GeoNode::beginHeadLights() == GeoNode::endHeadLights(), the GeoNode has not been assigned any StateSet.
See also:
getNumberOfStateSets, beginStateSets, replaceStateSet, removeStateSet, clearStateSets, findStateSet

NVSG_API bool replaceStateSet | ( | const StateSetSharedPtr & | newStateSet,
 |  | const StateSetSharedPtr & | oldStateSet
 | ) |

Replace a StateSet in this GeoNode by an other.

Parameters:
newStateSet | The new StateSet to replace an other in this GeoNode.
oldStateSet | The old StateSet to be replaced in this GeoNode.
Returns:
true, if replacing oldStateSet by newState was successful, otherwise false.
Note:
The replacement is successful if newStateSet and oldStateSet are not the same objects, and oldStateSet is part of this GeoNode. If newStateSet already was part of this GeoNode, the drawables in this GeoNode associated with oldStateSet are moved to be associated with newStateSet, and oldStateSet is removed from this GeoNode. Otherwise newStateSet just replaces oldStateSet, thus implicitly changing the association of the Drawables from oldStatSet to newStateSet.
See also:
getNumberOfStateSets, beginStateSets, endStateSet, removeStateSet, clearStateSets, findStateSet

NVSG_API bool replaceStateSet | ( | const StateSetSharedPtr & | newStateSet,
 |  | const StateSetIterator & | oldSSI
 | ) |

Replace a StateSet in this GeoNode by an other.

Parameters:
newStateSet | The new StateSet to replace an other in this GeoNode.
oldSSI | An iterator specifying the old StateSet to be replaced in this GeoNode.
Returns:
true, if replacing the StateSet specified by oldSSI by newState was successful, otherwise false.
Note:
The replacement is successful if newStateSet and the StateSet specified by oldSSI are not the same objects, and oldSSI is a valid StateSetIteartor into this GeoNode. If newStateSet already was part of this GeoNode, the drawables in this GeoNode associated with the StateSet specified by oldSSI are moved to be associated with newStateSet, and the StateSet specified by oldSSI is removed from this GeoNode. Otherwise newStateSet just replaces the StateSet specified by oldSSI, thus implicitly changing the association of the Drawables from the StateSet specified by oldSSI to newStateSet.
See also:
getNumberOfStateSets, beginStateSets, endStateSet, removeStateSet, clearStateSets, findStateSet

NVSG_API void replaceAllStateSets ( const StateSetSharedPtr & newStateSet )

Replace all StateSets in this GeoNode with one single StateSet.

Parameters:
newStateSet The StateSet to replace all other StateSets in this GeoNode.
See also:
getNumberOfStateSets, beginStateSets, endStateSet, removeStateSet, clearStateSets, findStateSet

NVSG_API bool removeStateSet ( const StateSetSharedPtr & stateSet )

Remove a StateSet from this GeoNode.

Parameters:
stateSet The StateSet to be removed from this GeoNode.
Returns:
true, if removing stateSet from this GeoNode was successful, otherwise false.
Note:
The removal is successful if stateSet is part of this GeoNode. Any Drawables in this GeoNode associated with stateSet are also removed.
See also:
getNumberOfStateSets, beginStateSets, endStateSet, replaceStateSet, clearStateSets, findStateSet

NVSG_API bool removeStateSet ( const StateSetIterator & ssi )

Remove a StateSet from this GeoNode.

Parameters:
ssi An iterator specifying the StateSet to be removed from this GeoNode.
Returns:
true, if removing the StateSet specified by ssi from this GeoNode was successful, otherwise false.
Note:
The removal is successful if the StateSet specified by ssi is part of this GeoNode. Any Drawables in this GeoNode associated with the StateSet specified by ssi are also removed.
See also:
getNumberOfStateSets, beginStateSets, endStateSet, replaceStateSet, clearStateSets, findStateSet

NVSG_API void clearStateSets ( )

Completely remove all StateSets and Drawables from this GeoNode.

See also:
getNumberOfStateSets, beginStateSets, endStateSet, replaceStateSet, removeStateSet, findStateSet

NVSG_API StateSetConstIterator findStateSet ( const StateSetSharedPtr & stateSet ) const

Find a StateSet in this GeoNode.

Parameters:
stateSet The StateSet to find in this GeoNode.
Returns:
A const iterator specifying stateSet, if it is part of this GeoNode, otherwise endStateSet().
See also:
getNumberOfStateSets, beginStateSets, endStateSet, replaceStateSet, removeStateSet, clearStateSets

NVSG_API StateSetIterator findStateSet ( const StateSetSharedPtr & stateSet )

Find a StateSet in this GeoNode.

Parameters:
stateSet The StateSet to find in this GeoNode.
Returns:
An iterator specifying stateSet, if it is part of this GeoNode, otherwise endStateSet().
See also:
getNumberOfStateSets, beginStateSets, endStateSet, replaceStateSet, removeStateSet, clearStateSets

NVSG_API unsigned int getNumberOfDrawables ( ) const

Get the total number of Drawables in this GeoNode.

Returns:
The total number of Drawables in this GeoNode.
See also:
beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API unsigned int getNumberOfDrawables ( const StateSetSharedPtr & stateSet ) const

Get the number of Drawables associated with a specifed StateSet in this GeoNode.

Parameters:
stateSet The StateSet to get the number of associated Drawables in this GeoNode.
Returns:
The number of Drawables associated with stateSet in this GeoNode.
See also:
beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API unsigned int getNumberOfDrawables ( const StateSetConstIterator & stateSet ) const

Get the number of Drawables associated with a specifed StateSet in this GeoNode.

Parameters:
stateSet An iterator specifying the StateSet to get the number of associated Drawables in this GeoNode.
Returns:
The number of Drawables associated with the StateSet specified by stateSet in this GeoNode.
See also:
beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API DrawableConstIterator beginDrawables ( const StateSetSharedPtr & stateSet ) const

Returns a const iterator to the GeoNode’s first Drawable associated with a specified StateSet.

Parameters:
stateSet The StateSet to get a const iterator to the first associated Drawable.
Returns:
A const iterator to the GeoNode’s first Drawable associated with the specified StateSet.
See also:
getNumberOfDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API DrawableIterator beginDrawables ( const StateSetSharedPtr & stateSet )

Returns an iterator to the GeoNode’s first Drawable associated with a specified StateSet.

Parameters:
stateSet The StateSet to get an iterator to the first associated Drawable.
Returns:
An iterator to the GeoNode’s first Drawable associated with the specified StateSet.
See also:
getNumberOfDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

GeoNode::DrawableConstIterator beginDrawables ( const StateSetConstIterator & stateSet ) const [inline]

Returns a const iterator to the GeoNode’s first Drawable associated with a specified StateSet.

Parameters:
stateSet A const iterator specifying the StateSet to get a const iterator to the first associated Drawable.
Returns:
A const iterator to the GeoNode’s first Drawable associated with the specified StateSet.
See also:
getNumberOfDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

GeoNode::DrawableIterator beginDrawables ( const StateSetIterator & stateSet ) [inline]

Returns an iterator to the GeoNode’s first Drawable associated with a specified StateSet.

Parameters:
stateSet An iterator specifying the StateSet to get an iterator to the first associated Drawable.
Returns:
An iterator to the GeoNode’s first Drawable associated with the specified StateSet.
See also:
getNumberOfDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API DrawableConstIterator endDrawables ( const StateSetSharedPtr & stateSet ) const

Returns a const iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.

Parameters:
stateSet The StateSet to get a const iterator that points past the end of the associated Drawables.
Returns:
A const iterator that points past the end of to the GeoNode’s Drawables associated with the specified StateSet.
See also:
getNumberOfDrawables, beginDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API DrawableIterator endDrawables ( const StateSetSharedPtr & stateSet )

Returns an iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.

Parameters:
stateSet The StateSet to get an iterator that points past the end of the associated Drawables.
Returns:
An iterator that points past the end of to the GeoNode’s Drawables associated with the specified StateSet.
See also:
getNumberOfDrawables, beginDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

GeoNode::DrawableConstIterator endDrawables ( const StateSetConstIterator & stateSet ) const [inline]

Returns a const iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.

Parameters:
stateSet A const iterator specifying the StateSet to get a const iterator that points past the end of the associated Drawables.
Returns:
A const iterator that points past the end of to the GeoNode’s Drawables associated with the specified StateSet.
See also:
getNumberOfDrawables, beginDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

GeoNode::DrawableIterator endDrawables ( const StateSetIterator & stateSet ) [inline]

Returns an iterator that points past the end of the GeoNode’s Drawables associated with a specified StateSet.

Parameters:
stateSet An iterator specifying the StateSet to get an iterator that points past the end of the associated Drawables.
Returns:
An iterator that points past the end of to the GeoNode’s Drawables associated with the specified StateSet.
See also:
getNumberOfDrawables, beginDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API std::pair<StateSetIterator,DrawableIterator> addDrawable | ( | const StateSetSharedPtr & | stateSet,
 |  | const DrawableSharedPtr & | drawable
 | ) |

Add a Drawable to this GeoNode and associate it with a specified StateSet.

Parameters:
stateSet | The StateSet, the drawable is to associate with.
drawable | The Drawable to add.
Returns:
A pair of iterators specifying the position of the added Drawable in this GeoNode.
Note:
If stateSet is not part of this GeoNode, it is added. If drawable already is part of this GeoNode, but associated with an other StateSet than stateSet, that association is released; if in that case, there are no more Drawables associated with that other StateSet, that other StateSet is removed from this GeoNode. If drawable is not part of this GeoNode, it is added and associated with stateSet.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API std::pair<StateSetIterator,DrawableIterator> addDrawable | ( | const StateSetIterator & | stateSetIterator,
 |  | const DrawableSharedPtr & | drawable
 | ) |

Add a Drawable to this GeoNode and associate it with a specified StateSet.

Parameters:
stateSetIterator | An iterator specifying the StateSet, the drawable is to associate with.
drawable | The Drawable to add.
Returns:
A pair of iterators specifying the position of the added Drawable in this GeoNode.
Note:
If drawable already is part of this GeoNode, but associated with an other StateSet than that specified by stateSetIterator, that association is released; if in that case, there are no more Drawables associated with that other StateSet, that other StateSet is removed from this GeoNode. If drawable is not part of this GeoNode, it is added and associated with the StateSet specified by stateSetIterator.

The behaviour is undefined, if stateSet is not a valid iterator over the StateSets in GeoNode, or equals endStateSets().

See also:
getNumberOfDrawables, beginDrawables, endDrawables, replaceDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API bool replaceDrawable | ( | const DrawableSharedPtr & | newDrawable,
 |  | const DrawableSharedPtr & | oldDrawable
 | ) |

Replace a Drawable by an other in the set of Drawables associated with a specfied StateSet.

Parameters:
newDrawable | The new Drawable to replace an other.
oldDrawable | The Drawable to be replaced.
Returns:
true, if replacing the Drawable oldDrawable by newDrawable was successful, otherwise false.
Note:
The replacement is successful if newDrawable and oldDrawable are not the same objects, and oldDrawable is part of this GeoNode. oldDrawable is removed from this GeoNode, and newDrawable is associated with the same StateSet oldDrawable was associated before. If newDrawable already was part of this GeoNode, but associated with an other StateSet, that association is released. If due to that release, there are no more Drawables associated with that other StateSet anymore, that other StateSet is removed from this GeoNode.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API bool replaceDrawable | ( | const StateSetIterator & | stateSetIterator,
 |  | const DrawableSharedPtr & | newDrawable,
 |  | const DrawableSharedPtr & | oldDrawable
 | ) |

Replace a Drawable by an other in the set of Drawables associated with a specfied StateSet.

Parameters:
stateSetIterator | An iterator specifying the StateSet, where oldDrawable is associated to.
newDrawable | The new Drawable to replace an other.
oldDrawable | The Drawable to be replaced.
Returns:
true, if replacing the Drawable oldDrawable by newDrawable was successful, otherwise false.
Note:
The replacement is successful if newDrawable and oldDrawable are not the same objects, and the StateSet specified by stateSetIterator is part of this GeoNode, and oldDrawable is in this GeoNode associated with the StateSet specified by stateSetIterator. oldDrawable is removed from this GeoNode, and newDrawable is associated with the StateSet specified by stateSetIterator. If newDrawable already was part of this GeoNode, but associated with an other StateSet, that association is released. If due to that release, there are no more Drawables associated with that other StateSet anymore, that other StateSet is removed from this GeoNode.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API bool replaceDrawable | ( | const StateSetIterator & | stateSetIterator,
 |  | const DrawableSharedPtr & | newDrawable,
 |  | const DrawableIterator & | oldDrawableIterator
 | ) |

Replace a Drawable by an other in the set of Drawables associated with a specfied StateSet.

Parameters:
stateSetIterator | An iterator specifying the StateSet, where oldDrawable is associated to.
newDrawable | The new Drawable to replace an other.
oldDrawableIterator | An iterator specifying the Drawable to be replaced.
Returns:
true, if replacing the Drawable specified by oldDrawable by newDrawable was successful, otherwise false.
Note:
The replacement is successful if newDrawable and the Drawable specified by oldDrawableIterator are not the same objects, and the StateSet specified by stateSetIterator is part of this GeoNode, and the Drawable specified by oldDrawableIterator is in this GeoNode associated with the StateSet specified by stateSetIterator. The Drawable specified by oldDrawableIterator is removed from this GeoNode, and newDrawable is associated with the StateSet specified by stateSetIterator. If newDrawable already was part of this GeoNode, but associated with an other StateSet, that association is released. If due to that release, there are no more Drawables associated with that other StateSet anymore, that other StateSet is removed from this GeoNode.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, removeDrawable, removeDrawables, findStateSet

NVSG_API bool removeDrawable ( const DrawableSharedPtr & drawable )

Remove a Drawable from this GeoNode.

Parameters:
drawable The Drawable to remove.
Returns:
true, if removing the Drawable drawable was successful, otherwise false.
Note:
The removal is successful if drawable is part of this GeoNode. If the StateSet, drawable is associated with, has no other associated Drawables, it is also removed.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawables, findStateSet

NVSG_API bool removeDrawable | ( | const StateSetIterator & | stateSetIterator,
 |  | const DrawableSharedPtr & | drawable
 | ) |

Remove a Drawable associated with the specified StateSet from this GeoNode.

Parameters:
stateSetIterator | An iterator specifying the StateSet specifying the set of Drawables where the removal is to be done.
drawable | The Drawable to remove.
Returns:
true, if removing the Drawable drawable was successful, otherwise false.
Note:
The removal is successful if the StateSet specified by stateSetIterator is part of this GeoNode, and drawable is associated with the StateSet specified by stateSetIterator. If the StateSet specified by stateSetIterator has no other associated Drawables, it is also removed.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawables, findStateSet

NVSG_API bool removeDrawable | ( | const StateSetIterator & | stateSetIterator,
 |  | const DrawableIterator & | drawableIterator
 | ) |

Remove a Drawable from this GeoNode.

Parameters:
stateSetIterator | An iterator specifying the StateSet specifying the set of Drawables where the removal is to be done.
drawableIterator | An iterator specifying the Drawable to remove.
Returns:
true, if removing the Drawable specified by drawableIterator was successful, otherwise false.
Note:
The removal is successful if the StateSet specified by stateSetIterator is part of this GeoNode, and the Drawable specified by drawableIterator is associated with the StateSet specified by stateSetIterator in this GeoNode. If the StateSet specified by stateSetIterator has no other associated Drawables, it is also removed.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawables, findStateSet

NVSG_API StateSetConstIterator findStateSet ( const DrawableSharedPtr & drawable ) const

Find a StateSet which is associated with the specified Drawable in this GeoNode.

Parameters:
drawable The Drawable to find a StateSet in this GeoNode for.
Returns:
A const iterator to a StateSet in this GeoNode, that is associated in this GeoNode with drawable.
Note:
If drawable is not associated with any StateSet in this GeoNode, the const iterator endStateSets() is returned.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables

NVSG_API StateSetIterator findStateSet ( const DrawableSharedPtr & drawable )

Find a StateSet which is associated with the specified Drawable in this GeoNode.

Parameters:
drawable The Drawable to find a StateSet in this GeoNode for.
Returns:
An iterator to a StateSet in this GeoNode, that is associated in this GeoNode with drawable.
Note:
If drawable is not associated with any StateSet in this GeoNode, the iterator endStateSets() is returned.
See also:
getNumberOfDrawables, beginDrawables, endDrawables, addDrawable, replaceDrawable, removeDrawable, removeDrawables

NVSG_API void clearTexCoords ( unsigned int tu = 0 )

Clear texture coordinates on all Drawable objects.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other GeoNode.

Parameters:
p | A reference to the constant GeoNode to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparison; default is false.
Returns:
true if the GeoNode p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Node, and they have the same number of StateSet objects with the same number of Drawable objects assigned, they are each tested for equivalence. If deepCompare is false, they are considered to be equivalent if they are the same pointers. Otherwise a full equivalence test is performed.
Note:
The behavior is undefined if p is not a GeoNode nor derived from one.
See also:
Node

Reimplemented from Object.

NVSG_API GeoNode& operator= ( const GeoNode & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant GeoNode to copy from
Returns:
A reference to the assigned GeoNode
Remarks:
The assignment operator calls the assignment operator of Node and copies all geometries from rhs. On all StateSet and Drawable objects previously in this, the reference count is decremented.
See also:
Drawable, Node, StateSet

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Interface to calculate the bounding box of this GeoNode.

Returns:
The bounding box of this GeoNode
Remarks:
This function is called by the framework to determine the actual bounding box of this GeoNode.
See also:
getBoundingBox, invalidateBoundingVolumes

Reimplemented from Object.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Interface to calculate the bounding sphere of this GeoNode.

Returns:
A sphere that contains the complete GeoNode.
Remarks:
This function is called by the framework to determine a sphere that completely contains the GeoNode.
See also:
getBoundingSphere, invalidateBoundingVolumes

Reimplemented from Object.

virtual NVSG_API bool determineTransparencyContainment ( ) const [protected, virtual]

Determine the transparency containment status.

Returns:
true, if this GeoNode holds any transparent geometry, otherwise false.
Remarks:
This function is called by the framework to determine the transparency containment state of a Node when the transparency containment cache is marked as invalid.
See also:
Node

Reimplemented from Object.

virtual NVSG_API bool determineShaderContainment ( ) const [protected, virtual]

Determines the CgFx/RTFx containment status.

Returns:
true, if this GeoNode holds at least one CgFx or RTFx, otherwise false.
Remarks:
This overrides Node::determineShaderContainment, since a GeoNode can contain a shader in at least one of its owned StateSets.

Reimplemented from Object.

virtual NVSG_API bool determineAnimationContainment ( ) const [protected, virtual]

Determine the animation containment of this object.

Returns:
true, if at least on of the geometries contains an Animation, otherwise false.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Friends And Related Function Documentation

NVSG_API void generateTangentSpace | ( | GeoNode * | gn,
 |  | unsigned int | tc = VertexAttributeSet::NVSG_TEXCOORD0,
 |  | unsigned int | tg = VertexAttributeSet::NVSG_TANGENT,
 |  | unsigned int | bn = VertexAttributeSet::NVSG_BINORMAL,
 |  | bool | overwrite = true
 | ) | [related]

Gnerates tangents and binormals for all geometries contained in the indicated GeoNode.

Parameters:
gn | Specifies the GeoNode for which to calculate tangents an binormals
tc | Addresses the vertex attribute to hold the input texture coordinates used to calculate the tangent space. By default, input coordinates are taken from the VertexAttributeSet::NVSG_TEXCOORD0.
tg | Addresses the vertex attribute where to output the calculated tangents. By default tangents are written to VertexAttributeSet::NVSG_TANGENT, which is aligned to the TANGENT binding semantic used by Cg for varying vertex shader input.
bn | Addresses the vertex attribute to output the calculated binormals. By default binormals are written to VertexAttributeSet::NVSG_BINORMAL, which is aligned to the BINORMAL binding semantic used by Cg for varying vertex shader input.
overwrite | An optional flag to indicate whether or not to overwrite existing vertex data in the output vertex attributes tg, and bn. The default is to overwrite existing vertex data.
Remarks:
The function iterates through all geometries contained in the indicated GeoNode, and calculates tangents and binormals from the specified input 2D texture coordinates and vertex normals, which are required to be defined already for the contained geometries. The calculated tangents and binormals are written to the specified output vertex attributes. If the specified output vertex attributes already contain data, this data gets lost, if the overwrite flag is set. If the overwrite flag is not set, tangents and binormals are only written to the indicated output vertex attributes, if these are empty at the time of calling.

NVSG_API bool generateNormals | ( | GeoNode * | gn,
 |  | bool | overwrite = true
 | ) | [related]

Generates vertex normals.

Parameters:
gn | Specifies the GeoNode for which to calculate vertex normals.
overwrite | An optional flag to indicate whether or not to overwrite existing vertex normals.
Returns:
true, if normals could be generated, otherwise false. The default is to overwrite existing vertex normals.

NVSG_API void generateTexCoords | ( | GeoNode * | gn,
 |  | TextureCoordType | type,
 |  | unsigned int | texcoords = VertexAttributeSet::NVSG_TEXCOORD0,
 |  | bool | overwrite = true
 | ) | [related]

Generates 2D texture coordinates.

Parameters:
gn | Specifies the GeoNode for which to calculate texture coordinates.
type | Desired texture coordinate type. Accepted are TCT_CYLINDRICAL, TCT_PLANAR, and TCT_SPHERICAL.
texcoords | Addresses the vertex attribute where to output the generated texture coords. VertexAttributeSet::NVSG_TEXCOORD0 - VertexAttributeSet::NVSG_TEXCOORD7 are allowed identifiers. By default texture coords are written to VertexAttributeSet::NVSG_TEXCOORD0,
overwrite | An optional flag indicating whether or not to overwrite existing vertex data in the output vertex attribute tc. The default is to overwrite existing vertex data.

The documentation for this class was generated from the following file:
  • GeoNode.h
Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: Member List

GeoNode Member List

This is the complete list of members for GeoNode, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addDrawable(const StateSetSharedPtr &stateSet, const DrawableSharedPtr &drawable) | GeoNode |
addDrawable(const StateSetIterator &stateSetIterator, const DrawableSharedPtr &drawable) | GeoNode |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginDrawables(const StateSetSharedPtr &stateSet) const | GeoNode |
beginDrawables(const StateSetSharedPtr &stateSet) | GeoNode |
beginDrawables(const StateSetConstIterator &stateSet) const | GeoNode | [inline]
beginDrawables(const StateSetIterator &stateSet) | GeoNode | [inline]
beginStateSets() const | GeoNode | [inline]
beginStateSets() | GeoNode | [inline]
calculateBoundingBox() const | GeoNode | [protected, virtual]
calculateBoundingSphere() const | GeoNode | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearStateSets() | GeoNode |
clearTexCoords(unsigned int tu=0) | GeoNode |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in GeoNode) | GeoNode | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const | GeoNode | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const | GeoNode | [protected, virtual]
determineTransparencyContainment() const | GeoNode | [protected, virtual]
DrawableConstIterator typedef | GeoNode |
DrawableContainer typedef | GeoNode |
DrawableIterator typedef | GeoNode |
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endDrawables(const StateSetSharedPtr &stateSet) const | GeoNode |
endDrawables(const StateSetSharedPtr &stateSet) | GeoNode |
endDrawables(const StateSetConstIterator &stateSet) const | GeoNode | [inline]
endDrawables(const StateSetIterator &stateSet) | GeoNode | [inline]
endStateSets() const | GeoNode | [inline]
endStateSets() | GeoNode | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | GeoNode | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findStateSet(const StateSetSharedPtr &stateSet) const | GeoNode |
findStateSet(const StateSetSharedPtr &stateSet) | GeoNode |
findStateSet(const DrawableSharedPtr &drawable) const | GeoNode |
findStateSet(const DrawableSharedPtr &drawable) | GeoNode |
generateNormals(GeoNode *gn, bool overwrite=true) | GeoNode | [related]
generateTangentSpace(GeoNode *gn, unsigned int tc=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tg=VertexAttributeSet::NVSG_TANGENT, unsigned int bn=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | GeoNode | [related]
generateTexCoords(GeoNode *gn, TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | GeoNode | [related]
GeoNode() | GeoNode | [protected]
GeoNode(const GeoNode &rhs) | GeoNode | [protected]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfDrawables() const | GeoNode |
getNumberOfDrawables(const StateSetSharedPtr &stateSet) const | GeoNode |
getNumberOfDrawables(const StateSetConstIterator &stateSet) const | GeoNode |
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getNumberOfStateSets() const | GeoNode | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | GeoNode | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const GeoNode &rhs) | GeoNode |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, GeoNode) (defined in GeoNode) | GeoNode |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeDrawable(const DrawableSharedPtr &drawable) | GeoNode |
removeDrawable(const StateSetIterator &stateSetIterator, const DrawableSharedPtr &drawable) | GeoNode |
removeDrawable(const StateSetIterator &stateSetIterator, const DrawableIterator &drawableIterator) | GeoNode |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
removeStateSet(const StateSetSharedPtr &stateSet) | GeoNode |
removeStateSet(const StateSetIterator &ssi) | GeoNode |
replaceAllStateSets(const StateSetSharedPtr &newStateSet) | GeoNode |
replaceDrawable(const DrawableSharedPtr &newDrawable, const DrawableSharedPtr &oldDrawable) | GeoNode |
replaceDrawable(const StateSetIterator &stateSetIterator, const DrawableSharedPtr &newDrawable, const DrawableSharedPtr &oldDrawable) | GeoNode |
replaceDrawable(const StateSetIterator &stateSetIterator, const DrawableSharedPtr &newDrawable, const DrawableIterator &oldDrawableIterator) | GeoNode |
replaceStateSet(const StateSetSharedPtr &newStateSet, const StateSetSharedPtr &oldStateSet) | GeoNode |
replaceStateSet(const StateSetSharedPtr &newStateSet, const StateSetIterator &oldSSI) | GeoNode |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateSetContainer typedef | GeoNode |
syncIncarnation(PFNGETINCARNATION) const (defined in GeoNode) | GeoNode | [protected, virtual]
~GeoNode() | GeoNode | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: GeoNode::Geometry Struct Reference

nvsg::GeoNode::Geometry

GeoNode::Geometry Struct Reference

A helper structure to hold a StateSet and the associated Drawables. More...

#include <GeoNode.h>

List of all members.

Public Member Functions

Geometry (const StateSetSharedPtr &stateSet)

Public Attributes

StateSetSharedPtr | m_stateSet
DrawableContainer | m_drawables

Detailed Description

A helper structure to hold a StateSet and the associated Drawables.

The documentation for this struct was generated from the following file:
  • GeoNode.h
Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: Member List

GeoNode::Geometry Member List

This is the complete list of members for GeoNode::Geometry, including all inherited members.

Geometry() (defined in GeoNode::Geometry) | GeoNode::Geometry | [inline]
Geometry(const StateSetSharedPtr &stateSet) (defined in GeoNode::Geometry) | GeoNode::Geometry | [inline, explicit]
m_drawables (defined in GeoNode::Geometry) | GeoNode::Geometry |
m_stateSet (defined in GeoNode::Geometry) | GeoNode::Geometry |

Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: GeoNode::StateSetConstIterator Class Reference

nvsg::GeoNode::StateSetConstIterator

GeoNode::StateSetConstIterator Class Reference

The const iterator over the StateSetContainer. More...

#include <GeoNode.h>

Inheritance diagram for GeoNode::StateSetConstIterator:

[legend]
Collaboration diagram for GeoNode::StateSetConstIterator:

[legend]
List of all members.

Public Member Functions

StateSetConstIterator (const StateSetContainer::const_iterator &sscci)
StateSetConstIterator (const StateSetIterator &ssi)
const StateSetSharedPtr & | operator * () const
Constant indirection operator, providing a const reference to the variable.
const StateSetSharedPtr * | operator-> () const
Constant member operator, providing a const pointer to the variable.
bool | operator== (const StateSetConstIterator &ssci) const
bool | operator!= (const StateSetConstIterator &ssci) const

Detailed Description

The const iterator over the StateSetContainer.

Member Function Documentation

const StateSetSharedPtr& operator * ( ) const [inline]

Constant indirection operator, providing a const reference to the variable.

Returns:
A constant reference to the variable

Reimplemented from SceniXIterator< GeoNode, StateSetContainer::const_iterator >.

const StateSetSharedPtr* operator-> ( ) const [inline]

Constant member operator, providing a const pointer to the variable.

Returns:
A constant pointer to the variable

Reimplemented from SceniXIterator< GeoNode, StateSetContainer::const_iterator >.

The documentation for this class was generated from the following file:
  • GeoNode.h
Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: Member List

GeoNode::StateSetConstIterator Member List

This is the complete list of members for GeoNode::StateSetConstIterator, including all inherited members.

m_iter | SceniXIterator< GeoNode, StateSetContainer::const_iterator > | [protected]
operator *() const | GeoNode::StateSetConstIterator | [inline]
operator!=(const StateSetConstIterator &ssci) const (defined in GeoNode::StateSetConstIterator) | GeoNode::StateSetConstIterator | [inline]
nvutil::SceniXIterator< GeoNode, StateSetContainer::const_iterator >::operator!=(const SceniXIterator &di) const | SceniXIterator< GeoNode, StateSetContainer::const_iterator > |
operator++() | SceniXIterator< GeoNode, StateSetContainer::const_iterator > |
operator--() | SceniXIterator< GeoNode, StateSetContainer::const_iterator > |
operator->() const | GeoNode::StateSetConstIterator | [inline]
operator==(const StateSetConstIterator &ssci) const (defined in GeoNode::StateSetConstIterator) | GeoNode::StateSetConstIterator | [inline]
nvutil::SceniXIterator< GeoNode, StateSetContainer::const_iterator >::operator==(const SceniXIterator &di) const | SceniXIterator< GeoNode, StateSetContainer::const_iterator > |
SceniXIterator() (defined in SceniXIterator< GeoNode, StateSetContainer::const_iterator >) | SceniXIterator< GeoNode, StateSetContainer::const_iterator > |
SceniXIterator(const StateSetContainer::const_iterator &it) | SceniXIterator< GeoNode, StateSetContainer::const_iterator > | [explicit]
StateSetConstIterator() (defined in GeoNode::StateSetConstIterator) | GeoNode::StateSetConstIterator | [inline]
StateSetConstIterator(const StateSetContainer::const_iterator &sscci) (defined in GeoNode::StateSetConstIterator) | GeoNode::StateSetConstIterator | [inline, explicit]
StateSetConstIterator(const StateSetIterator &ssi) (defined in GeoNode::StateSetConstIterator) | GeoNode::StateSetConstIterator | [inline]

Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: GeoNode::StateSetIterator Class Reference

nvsg::GeoNode::StateSetIterator

GeoNode::StateSetIterator Class Reference

The iterator over the StateSetContainer. More...

#include <GeoNode.h>

Inheritance diagram for GeoNode::StateSetIterator:

[legend]
Collaboration diagram for GeoNode::StateSetIterator:

[legend]
List of all members.

Public Member Functions

StateSetIterator (const StateSetContainer::iterator &ssci)
const StateSetSharedPtr & | operator * () const
Constant indirection operator, providing a const reference to the variable.
const StateSetSharedPtr * | operator-> () const
Constant member operator, providing a const pointer to the variable.
bool | operator== (const StateSetIterator &ssci) const
bool | operator!= (const StateSetIterator &ssci) const

Detailed Description

The iterator over the StateSetContainer.

Member Function Documentation

const StateSetSharedPtr& operator * ( ) const [inline]

Constant indirection operator, providing a const reference to the variable.

Returns:
A constant reference to the variable

Reimplemented from SceniXIterator< GeoNode, StateSetContainer::iterator >.

const StateSetSharedPtr* operator-> ( ) const [inline]

Constant member operator, providing a const pointer to the variable.

Returns:
A constant pointer to the variable

Reimplemented from SceniXIterator< GeoNode, StateSetContainer::iterator >.

The documentation for this class was generated from the following file:
  • GeoNode.h
Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: Member List

GeoNode::StateSetIterator Member List

This is the complete list of members for GeoNode::StateSetIterator, including all inherited members.

m_iter | SceniXIterator< GeoNode, StateSetContainer::iterator > | [protected]
operator *() const | GeoNode::StateSetIterator | [inline]
operator!=(const StateSetIterator &ssci) const (defined in GeoNode::StateSetIterator) | GeoNode::StateSetIterator | [inline]
nvutil::SceniXIterator< GeoNode, StateSetContainer::iterator >::operator!=(const SceniXIterator &di) const | SceniXIterator< GeoNode, StateSetContainer::iterator > |
operator++() | SceniXIterator< GeoNode, StateSetContainer::iterator > |
operator--() | SceniXIterator< GeoNode, StateSetContainer::iterator > |
operator->() const | GeoNode::StateSetIterator | [inline]
operator==(const StateSetIterator &ssci) const (defined in GeoNode::StateSetIterator) | GeoNode::StateSetIterator | [inline]
nvutil::SceniXIterator< GeoNode, StateSetContainer::iterator >::operator==(const SceniXIterator &di) const | SceniXIterator< GeoNode, StateSetContainer::iterator > |
SceniXIterator() (defined in SceniXIterator< GeoNode, StateSetContainer::iterator >) | SceniXIterator< GeoNode, StateSetContainer::iterator > |
SceniXIterator(const StateSetContainer::iterator &it) | SceniXIterator< GeoNode, StateSetContainer::iterator > | [explicit]
StateSetIterator() (defined in GeoNode::StateSetIterator) | GeoNode::StateSetIterator | [inline]
StateSetIterator(const StateSetContainer::iterator &ssci) (defined in GeoNode::StateSetIterator) | GeoNode::StateSetIterator | [inline, explicit]

Generated on Fri Jul 13 13:30:01 2012 for SceniX


SceniX: GLContext Class Reference

nvgl::GLContext

GLContext Class Reference

Wrapper for OpenGL functions to provide caching, extension handling, and, in debug mode, error handling per context. More...

#include <GLContext.h>

Collaboration diagram for GLContext:

[legend]
List of all members.

Public Member Functions

Display * | getDisplay () const
Get the Display of this GLContext (Linux only).
VBOCachingState * | getVBOState () const

Friends

NVSG_API void | GLAccum (GLenum op, GLfloat value)
Replacement of glAccum.
NVSG_API void | GLActiveStencilFace (GLenum face)
Replacement of glActiveStencilFaceEXT.
NVSG_API void | GLActiveTexture (GLenum texture)
Replacement of glActiveTexture.
NVSG_API void | GLActiveVarying (GLuint program, const GLchar *name)
Replacement of glActiveVaryingNV.
NVSG_API void | GLAddSwapHintRect (GLint x, GLint y, GLsizei width, GLsizei height)
NVSG_API void | GLAlphaFunc (GLenum func, GLclampf ref)
Replacement of glAlphaFunc.
NVSG_API GLboolean | GLAreProgramsResident (GLsizei n, const GLuint *programs, GLboolean *residences)
Replacement of glAreProgramsResidentNV.
NVSG_API GLboolean | GLAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences)
Replacement of glAreTexturesResident.
NVSG_API void | GLArrayElement (GLint i)
Replacement of glArrayElement.
NVSG_API void | GLAttachObject (GLhandleARB containerObj, GLhandleARB attachedObj)
Replacement of glAttachObjectARB.
NVSG_API void | GLAttachShader (GLuint program, GLuint shader)
Replacement of glAttachShader.
NVSG_API void | GLBegin (GLenum mode)
Replacement of glBegin.
NVSG_API void | GLBeginConditionalRenderNV (GLuint id, GLenum mode)
Replacement of glBeginConditionalRenderNV.
NVSG_API void | GLBeginQuery (GLenum target, GLuint id)
Replacement of glBeginQuery.
NVSG_API void | GLBeginTransformFeedbackNV (GLenum primitiveMode)
Replacement of glBeginTransformFeedbackNV.
NVSG_API void | GLBeginTransformFeedback (GLenum primitiveMode)
Replacement of glBeginTransformFeedback.
NVSG_API void | GLBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glBlendColor.
NVSG_API void | GLBindArraySet (GLuint buffer)
NVSG_API void | GLBindAttribLocation (GLuint program, GLuint index, const GLchar *name)
Replacement of glBindAttribLocation.
NVSG_API void | GLBindBuffer (GLenum target, GLuint id)
Replacement of glBindBuffer.
NVSG_API void | GLBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer)
Replacement of glBindBufferBaseNV.
NVSG_API void | GLBindBufferBase (GLenum target, GLuint index, GLuint buffer)
Replacement of glBindBufferBase.
NVSG_API void | GLBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset)
Replacement of glBindBufferOffsetNV.
NVSG_API void | GLBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Replacement of glBindBufferRangeNV.
NVSG_API void | GLBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Replacement of glBindBufferRange.
NVSG_API void | GLBindFragDataLocation (GLuint program, GLuint color, const GLchar *name)
Replacement of glBindFragDataLocationEXT.
NVSG_API void | GLBindProgram (GLenum target, GLuint id)
Replacement of glBindProgramARB.
NVSG_API void | GLBindTexture (GLenum target, GLuint texture)
Replacement of glBindTexture.
NVSG_API void | GLBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
Replacement of glBitmap.
NVSG_API void | GLBlendEquation (GLenum mode)
Replacement of glBlendEquation.
NVSG_API void | GLBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
Replacement of glBlendEquationSeparate.
NVSG_API void | GLBlendFunc (GLenum sfactor, GLenum dfactor)
Replacement of glBlendFunc.
NVSG_API void | GLBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
Replacement of glBlendFunc.
NVSG_API void | GLBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
Replacement of glBlitFramebufferEXT.
NVSG_API void | GLBufferData (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)
Replacement of glBufferData.
NVSG_API void | GLBufferSubData (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)
Replacement of glBufferSubData.
NVSG_API void | GLCallList (GLuint list)
Replacement of glCallList.
NVSG_API void | GLCallLists (GLsizei n, GLenum type, const GLvoid *lists)
Replacement of glCallLists.
NVSG_API void | GLClampColor (GLenum target, GLenum clamp)
Replacement of glClampColorARB.
NVSG_API void | GLClear (GLbitfield mask)
Replacement of glClear.
NVSG_API void | GLClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glClearAccum.
NVSG_API void | GLClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glClearColor.
NVSG_API void | GLClearColorIi (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glClearColorIiEXT.
NVSG_API void | GLClearColorIui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glClearColorIuiEXT.
NVSG_API void | GLClearDepth (GLclampd depth)
Replacement of glClearDepth.
NVSG_API void | GLClearDepthd (GLdouble depth)
Replacement of glClearDepthd.
NVSG_API void | GLClearIndex (GLfloat c)
Replacement of glClearIndex.
NVSG_API void | GLClearStencil (GLint s)
Replacement of glClearStencil.
NVSG_API void | GLClientActiveTexture (GLenum texture)
Replacement of glClientActiveTexture.
NVSG_API void | GLClipPlane (GLenum plane, const GLdouble *equation)
Replacement of glClipPlane.
NVSG_API void | GLColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glColor3b.
NVSG_API void | GLColor3bv (const GLbyte *v)
Replacement of glColor3bv.
NVSG_API void | GLColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glColor3d.
NVSG_API void | GLColor3dv (const GLdouble *v)
Replacement of glColor3dv.
NVSG_API void | GLColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glColor3f.
NVSG_API void | GLColor3fv (const GLfloat *v)
Replacement of glColor3fv.
NVSG_API void | GLColor3h (GLhalf red, GLhalf green, GLhalf blue)
Replacement of glColor3hNV.
NVSG_API void | GLColor3hv (const GLhalf *v)
Replacement of glColor3hv.
NVSG_API void | GLColor3i (GLint red, GLint green, GLint blue)
Replacement of glColor3i.
NVSG_API void | GLColor3iv (const GLint *v)
Replacement of glColor3iv.
NVSG_API void | GLColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glColor3s.
NVSG_API void | GLColor3sv (const GLshort *v)
Replacement of glColor3sv.
NVSG_API void | GLColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glColor3ub.
NVSG_API void | GLColor3ubv (const GLubyte *v)
Replacement of glColor3ubv.
NVSG_API void | GLColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glColor3ui.
NVSG_API void | GLColor3uiv (const GLuint *v)
Replacement of glColor3uiv.
NVSG_API void | GLColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glColor3us.
NVSG_API void | GLColor3usv (const GLushort *v)
Replacement of glColor3usv.
NVSG_API void | GLColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
Replacement of glColor4b.
NVSG_API void | GLColor4bv (const GLbyte *v)
Replacement of glColor4bv.
NVSG_API void | GLColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
Replacement of glColor4d.
NVSG_API void | GLColor4dv (const GLdouble *v)
Replacement of glColor4dv.
NVSG_API void | GLColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glColor4f.
NVSG_API void | GLColor4fv (const GLfloat *v)
Replacement of glColor4fv.
NVSG_API void | GLColor4h (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha)
Replacement of glColor4hNV.
NVSG_API void | GLColor4hv (const GLhalf *v)
Replacement of glColor4hv.
NVSG_API void | GLColor4i (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glColor4i.
NVSG_API void | GLColor4iv (const GLint *v)
Replacement of glColor4iv.
NVSG_API void | GLColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha)
Replacement of glColor4s.
NVSG_API void | GLColor4sv (const GLshort *v)
Replacement of glColor4sv.
NVSG_API void | GLColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
Replacement of glColor4ub.
NVSG_API void | GLColor4ubv (const GLubyte *v)
Replacement of glColor4ubv.
NVSG_API void | GLColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glColor4ui.
NVSG_API void | GLColor4uiv (const GLuint *v)
Replacement of glColor4uiv.
NVSG_API void | GLColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha)
Replacement of glColor4us.
NVSG_API void | GLColor4usv (const GLushort *v)
Replacement of glColor4usv.
NVSG_API void | GLColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
Replacement of glColorMask.
NVSG_API void | GLColorMaskIndexed (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
Replacement of glColorMaskIndexedEXT.
NVSG_API void | GLColorMaterial (GLenum face, GLenum mode)
Replacement of glColorMaterial.
NVSG_API void | GLColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glColorPointer.
NVSG_API void | GLColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
Replacement of glColorSubTable.
NVSG_API void | GLColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
Replacement of glColorTable.
NVSG_API void | GLColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glColorTableParameterfv.
NVSG_API void | GLColorTableParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glColorTableParameteriv.
NVSG_API void | GLCombinerInput (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
Replacement of glCombinerInput.
NVSG_API void | GLCombinerOutput (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)
Replacement of glCombinerOutput.
NVSG_API void | GLCombinerParameterf (GLenum pname, GLfloat param)
Replacement of glCombinerParameterf.
NVSG_API void | GLCombinerParameterfv (GLenum pname, const GLfloat *params)
Replacement of glCombinerParameterfv.
NVSG_API void | GLCombinerParameteri (GLenum pname, GLint param)
Replacement of glCombinerParameteri.
NVSG_API void | GLCombinerParameteriv (GLenum pname, const GLint *params)
Replacement of glCombinerParameteriv.
NVSG_API void | GLCombinerStageParameterfv (GLenum stage, GLenum pname, const GLfloat *params)
Replacement of glCombinerStageParameterfv.
NVSG_API void | GLCompileShader (GLuint shader)
Replacement of glCompileShader.
NVSG_API void | GLCompressedTexImage1D (GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage1D.
NVSG_API void | GLCompressedTexImage2D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage2D.
NVSG_API void | GLCompressedTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage3D.
NVSG_API void | GLCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage1D.
NVSG_API void | GLCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage2D.
NVSG_API void | GLCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage3D.
NVSG_API void | GLConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
Replacement of glConvolutionFilter1D.
NVSG_API void | GLConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
Replacement of glConvolutionFilter2D.
NVSG_API void | GLConvolutionParameterf (GLenum target, GLenum pname, GLfloat params)
Replacement of glConvolutionParameterf.
NVSG_API void | GLConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glConvolutionParameterfv.
NVSG_API void | GLConvolutionParameteri (GLenum target, GLenum pname, GLint params)
Replacement of glConvolutionParameteri.
NVSG_API void | GLConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glConvolutionParameteriv.
NVSG_API void | GLCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
Replacement of glCopyColorSubTable.
NVSG_API void | GLCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
Replacement of glCopyColorTable.
NVSG_API void | GLCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
Replacement of glCopyConvolutionFilter1D.
NVSG_API void | GLCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyConvolutionFilter2D.
NVSG_API void | GLCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
Replacement of glCopyPixels.
NVSG_API void | GLCopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
Replacement of glCopyTexImage1D.
NVSG_API void | GLCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Replacement of glCopyTexImage2D.
NVSG_API void | GLCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
Replacement of glCopyTexSubImage1D.
NVSG_API void | GLCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.
NVSG_API void | GLCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.
NVSG_API GLuint | GLCreateProgram ()
Replacement of glCreateProgram.
NVSG_API GLhandleARB | GLCreateProgramObject ()
Replacement of glCreateProgramObjectARB.
NVSG_API GLuint | GLCreateShader (GLenum type)
Replacement of glCreateShader.
NVSG_API GLhandleARB | GLCreateShaderObject (GLenum shaderType)
Replacement of glCreateShaderObjectARB.
NVSG_API void | GLCullFace (GLenum mode)
Replacement of glCullFace.
NVSG_API void | GLCullFaceLock (GLenum mode)
Helper function to set the cull face mode and lock it.
NVSG_API void | GLCullFaceUnlock (GLenum mode)
Helper function to unlock the cull face and set it.
NVSG_API void | GLDeleteArraySets (GLsizei n, const GLuint *buffers)
NVSG_API void | GLDeleteBuffers (GLsizei n, const GLuint *buffers)
Replacement of glDeleteBuffers.
NVSG_API void | GLDeleteFences (GLsizei n, const GLuint *fences)
Replacement of glDeleteFencesNV.
NVSG_API void | GLDeleteLists (GLuint list, GLsizei range)
Replacement of glDeleteLists.
NVSG_API void | GLDeleteObject (GLhandleARB obj)
Replacement of glDeleteObjectARB.
NVSG_API void | GLDeleteProgram (GLuint program)
Replacement of glDeleteProgram.
NVSG_API void | GLDeletePrograms (GLsizei n, const GLuint *ids)
Replacement of glDeleteProgramsARB.
NVSG_API void | GLDeleteQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteQueries.
NVSG_API void | GLDeleteShader (GLuint shader)
Replacement of glDeleteShader.
NVSG_API void | GLDeleteTextures (GLsizei n, const GLuint *textures)
Replacement of glDeleteTextures.
NVSG_API void | GLDepthBounds (GLclampd zmin, GLclampd zmax)
Replacement of glDepthBounds.
NVSG_API void | GLDepthBoundsd (GLdouble zmin, GLdouble zmax)
Replacement of glDepthBoundsd.
NVSG_API void | GLDepthFunc (GLenum func)
Replacement of glDepthFunc.
NVSG_API void | GLDepthMask (GLboolean flag)
Replacement of glDepthMask.
NVSG_API void | GLDepthRange (GLclampd znear, GLclampd zfar)
Replacement of glDepthRange.
NVSG_API void | GLDepthRanged (GLdouble zNear, GLdouble zFar)
Replacement of glDepthRandedNV.
NVSG_API void | GLDetachObject (GLhandleARB containerObj, GLhandleARB attachedObj)
Replacement of glDetachObjectARB.
NVSG_API void | GLDetachShader (GLuint program, GLuint shader)
Replacement of glDetachShader.
NVSG_API void | GLDisable (GLenum cap)
Replacement of glDisable.
NVSG_API void | GLDisableAlphaTest (void)
Cached version of GLDisable( GL_ALPHA_TEST ).
NVSG_API void | GLDisableAutoNormal (void)
Cached version of GLDisable( GL_AUTO_NORMAL ).
NVSG_API void | GLDisableBlend (void)
Cached version of GLDisable( GL_BLEND ).
NVSG_API void | GLDisableClientState (GLenum array)
Replacement of glDisableClientState.
NVSG_API void | GLDisableClipPlane (GLenum plane)
Cached version of GLDisable( GL_CLIP_PLANEi ).
NVSG_API void | GLDisableColorArray (void)
Cached version of GLDisableClientState( GL_COLOR_ARRAY ).
NVSG_API void | GLDisableColorLogicOp (void)
Cached version of GLDisable( GL_COLOR_LOGIC_OP ).
NVSG_API void | GLDisableColorMaterial (void)
Cached version of GLDisable( GL_COLOR_MATERIAL ).
NVSG_API void | GLDisableCullFace (void)
Cached version of GLDisable( GL_CULL_FACE ).
NVSG_API void | GLDisableCullFaceLock (void)
Helper function to disable the cull face and lock it.
NVSG_API void | GLDisableCullFaceUnlock (void)
Helper function to unlock the cull face and set it.
NVSG_API void | GLDisableDepthTest (void)
Cached version of GLDisable( GL_DEPTH_TEST ).
NVSG_API void | GLDisableFogCoordinateArray (void)
Cached version of GLDisableClientState( GL_FOG_COORDINATE_ARRAY ).
NVSG_API void | GLDisableNormalArray (void)
Cached version of GLDisableClientState( GL_NORMAL_ARRAY ).
NVSG_API void | GLDisableDither (void)
Cached version of GLDisable( GL_DITHER ).
NVSG_API void | GLDisableFog (void)
Cached version of GLDisable( GL_FOG ).
NVSG_API void | GLDisableIndexed (GLenum target, GLuint index)
Replacement of glDiableIndexed.
NVSG_API void | GLDisableLight (GLenum light)
Cached version of GLDisable( GL_LIGHTi ).
NVSG_API void | GLDisableLighting (void)
Cached version of GLDisable( GL_LIGHTING ).
NVSG_API void | GLDisableLightingLock (void)
Helper function to disable lighting and lock it.
NVSG_API void | GLDisableLightingUnlock (void)
Helper function to unlock the lighting and disable it.
NVSG_API void | GLDisableLineSmooth (void)
Cached version of GLDisable( GL_LINE_SMOOTH ).
NVSG_API void | GLDisableLineStipple (void)
Cached version of GLDisable( GL_LINE_STIPPLE ).
NVSG_API void | GLDisableLogicOp (void)
Cached version of GLDisable( GL_LOGIC_OP ).
NVSG_API void | GLDisableNormalize (void)
Cached version of GLDisable( GL_NORMALIZE ).
NVSG_API void | GLDisableRescaleNormal (void)
Cached version of GLDisable( GL_RESCALE_NORMAL ).
NVSG_API void | GLDisablePointSmooth (void)
Cached version of GLDisable( GL_POINT_SMOOTH ).
NVSG_API void | GLDisablePolygonOffsetFill (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_FILL ).
NVSG_API void | GLDisablePolygonOffsetLine (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_LINE ).
NVSG_API void | GLDisablePolygonOffsetPoint (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_POINT ).
NVSG_API void | GLDisablePolygonSmooth (void)
Cached version of GLDisable( GL_POLYGON_SMOOTH ).
NVSG_API void | GLDisablePolygonStipple (void)
Cached version of GLDisable( GL_POLYGON_STIPPLE ).
NVSG_API void | GLDisablePrimitiveRestart (void)
Cached version of GLDisableClientState( GL_PRIMITIVE_RESTART_NV ).
NVSG_API void | GLDisableScissorTest (void)
Cached version of GLDisable( GL_SCISSOR_TEST ).
NVSG_API void | GLDisableSecondaryColorArray (void)
Cached version of GLDisableClientState( GL_SECONDARY_COLOR_ARRAY ).
NVSG_API void | GLDisableStencilTest (void)
Cached version of GLDisable( GL_STENCIL_TEST ).
NVSG_API void | GLDisableTexture (GLenum target)
NVSG_API void | GLDisableTextureCoordArray (void)
Cached version of GLDisableClientState( GL_TEXTURE_COORD_ARRAY ).
NVSG_API void | GLDisableTextureGen (GLenum target)
Cached version of GLDisable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
NVSG_API void | GLDisableVertexArray (void)
Cached version of GLDisableClientState( GL_VERTEX_ARRAY ).
NVSG_API void | GLDisableVertexAttribArray (GLuint index)
Replacement of glDisableVertexAttribArray.
NVSG_API void | GLDisableVertexAttribArrayUnified ()
NVSG_API void | GLDisableElementArrayUnified ()
NVSG_API void | GLDrawArrays (GLenum mode, GLint first, GLsizei count)
Replacement of glDrawArrays.
NVSG_API void | GLDrawArraysInstanced (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
Replacement of glDrawArraysInstancedEXT.
NVSG_API void | GLDrawBuffer (GLenum mode)
Replacement of glDrawBuffer.
NVSG_API void | GLDrawBuffers (GLsizei n, const GLenum *bufs)
Replacement of glDrawBuffersARB.
NVSG_API void | GLDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawElements.
NVSG_API void | GLDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
Replacement of glDrawElementsInstancedEXT.
NVSG_API void | GLDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glDrawPixels.
NVSG_API void | GLDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawRangeElements.
NVSG_API void | GLEdgeFlagPointer (GLsizei stride, const GLboolean *pointer)
Replacement of glEdgeFlagPointer.
NVSG_API void | GLEdgeFlag (GLboolean flag)
Replacement of glEdgeFlag.
NVSG_API void | GLEdgeFlagv (const GLboolean *flag)
Replacement of glEdgeFlagv.
NVSG_API void | GLEnable (GLenum cap)
Replacement of glEnable.
NVSG_API void | GLEnableAlphaTest (void)
Cached version of GLEnable( GL_ALPHA_TEST ).
NVSG_API void | GLEnableAutoNormal (void)
Cached version of GLEnable( GL_AUTO_NORMAL ).
NVSG_API void | GLEnableBlend (void)
Cached version of GLEnable( GL_BLEND ).
NVSG_API void | GLEnableClientState (GLenum array)
Replacement of glEnableClientState.
NVSG_API void | GLEnableClipPlane (GLenum plane)
Cached version of GLEnable( GL_CLIP_PLANEi ).
NVSG_API void | GLEnableColorArray (void)
Cached version of GLEnableClientState( GL_COLOR_ARRAY ).
NVSG_API void | GLEnableColorLogicOp (void)
Cached version of GLEnable( GL_COLOR_LOGIC_OP ).
NVSG_API void | GLEnableColorMaterial (void)
Cached version of GLEnable( GL_COLOR_MATERIAL ).
NVSG_API void | GLEnableCullFace (void)
Cached version of GLEnable( GL_CULL_FACE ).
NVSG_API void | GLEnableCullFaceLock (void)
Helper function to enable face culling and lock it.
NVSG_API void | GLEnableCullFaceUnlock (void)
Helper function to unlock the face culling and enable it.
NVSG_API void | GLEnableDepthTest (void)
Cached version of GLEnable( GL_DEPTH_TEST ).
NVSG_API void | GLEnableFogCoordinateArray (void)
Cached version of GLEnableClientState( GL_FOG_COORDINATE_ARRAY ).
NVSG_API void | GLEnableDither (void)
Cached version of GLEnable( GL_DITHER ).
NVSG_API void | GLEnableFog (void)
Cached version of GLEnable( GL_FOG ).
NVSG_API void | GLEnableIndexed (GLenum target, GLuint index)
Replacement of glEnabledIndexed.
NVSG_API void | GLEnableLight (GLenum light)
Cached version of GLEnable( GL_LIGHTi ).
NVSG_API void | GLEnableLighting (void)
Cached version of GLEnable( GL_LIGHTING ).
NVSG_API void | GLEnableLineSmooth (void)
Cached version of GLEnable( GL_LINE_SMOOTH ).
NVSG_API void | GLEnableLineStipple (void)
Cached version of GLEnable( GL_LINE_STIPPLE ).
NVSG_API void | GLEnableLogicOp (void)
Cached version of GLEnable( GL_LOGIC_OP ).
NVSG_API void | GLEnableNormalArray (void)
Cached version of GLEnableClientState( GL_NORMAL_ARRAY ).
NVSG_API void | GLEnableNormalize (void)
Cached version of GLEnable( GL_NORMALIZE ).
NVSG_API void | GLEnableRescaleNormal (void)
Cached version of GLEnable( GL_RESCALE_NORMAL ).
NVSG_API void | GLEnablePointSmooth (void)
Cached version of GLEnable( GL_POINT_SMOOTH ).
NVSG_API void | GLEnablePolygonOffsetFill (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_FILL ).
NVSG_API void | GLEnablePolygonOffsetLine (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_LINE ).
NVSG_API void | GLEnablePolygonOffsetPoint (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_POINT ).
NVSG_API void | GLEnablePolygonSmooth (void)
Cached version of GLEnable( GL_POLYGON_SMOOTH ).
NVSG_API void | GLEnablePolygonStipple (void)
Cached version of GLEnable( GL_POLYGON_STIPPLE ).
NVSG_API void | GLEnablePrimitiveRestart (void)
Cached version of GLEnableClientState( GL_PRIMITIVE_RESTART_NV ).
NVSG_API void | GLEnableScissorTest (void)
Cached version of GLEnable( GL_SCISSOR_TEST ).
NVSG_API void | GLEnableStencilTest (void)
Cached version of GLEnable( GL_STENCIL_TEST ).
NVSG_API void | GLEnableSecondaryColorArray (void)
Cached version of GLEnableClientState( GL_SECONDARY_COLOR_ARRAY ).
NVSG_API void | GLEnableTexture (GLenum target)
NVSG_API void | GLEnableTextureCoordArray (void)
Cached version of GLEnableClientState( GL_TEXTURE_COORD_ARRAY ).
NVSG_API void | GLEnableTextureGen (GLenum target)
Cached version of GLEnable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
NVSG_API void | GLEnableVertexArray (void)
Cached version of GLEnableClientState( GL_VERTEX_ARRAY ).
NVSG_API void | GLEnableVertexAttribArray (GLuint index)
Replacement of glEnableVertexAttribArray.
NVSG_API void | GLEnableVertexAttribArrayUnified ()
NVSG_API void | GLEnableElementArrayUnified ()
NVSG_API void | GLEnd (void)
Replacement of glEnd.
NVSG_API void | GLEndList (void)
Replacement of glEndList.
NVSG_API void | GLEndConditionalRenderNV (void)
Replacement of glEndConditionalRenderNV.
NVSG_API void | GLEndQuery (GLenum target)
Replacement of glEndQuery.
NVSG_API void | GLEndTransformFeedbackNV ()
Replacement of glEndTransformFeedbackNV.
NVSG_API void | GLEndTransformFeedback ()
Replacement of glEndTransformFeedback.
NVSG_API void | GLEvalCoord1d (GLdouble u)
Replacement of glEvalCoord1d.
NVSG_API void | GLEvalCoord1f (GLfloat u)
Replacement of glEvalCoord1f.
NVSG_API void | GLEvalCoord2d (GLdouble u, GLdouble v)
Replacement of glEvalCoord2d.
NVSG_API void | GLEvalCoord2f (GLfloat u, GLfloat v)
Replacement of glEvalCoord2f.
NVSG_API void | GLEvalMesh1 (GLenum mode, GLint i1, GLint i2)
Replacement of glEvalMesh1.
NVSG_API void | GLEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
Replacement of glEvalMesh2.
NVSG_API void | GLEvalPoint1 (GLint i)
Replacement of glEvalPoint1.
NVSG_API void | GLEvalPoint2 (GLint i, GLint j)
Replacement of glEvalPoint2.
NVSG_API void | GLExecuteProgram (GLenum target, GLuint id, const GLfloat *params)
Replacement of glExecuteProgramNV.
NVSG_API void | GLFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer)
Replacement of glFeedbackBuffer.
NVSG_API void | GLFinalCombinerInput (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
Replacement of glFinalCombinerInput.
NVSG_API void | GLFinish (void)
Replacement of glFinish.
NVSG_API void | GLFinishFence (GLuint fence)
Replacement of glFinishFenceNV.
NVSG_API void | GLFlush (void)
Replacement of glFlush.
NVSG_API void | GLFlushPixelDataRange (GLenum target)
Replacement of glFlushPixelDataRangeNV.
NVSG_API void | GLFlushVertexArrayRange ()
Replacement of glFlushVertexArrayRange.
NVSG_API void | GLFogColor (const GLfloat *color)
Cached version of GLFog[fv|iv]( GL_FOG_COLOR, params ).
NVSG_API void | GLFogCoordd (GLdouble fog)
Replacement of glFogCoordd.
NVSG_API void | GLFogCoorddv (const GLdouble *fog)
Replacement of glFogCoorddv.
NVSG_API void | GLFogCoordf (GLfloat fog)
Replacement of glFogCoordf.
NVSG_API void | GLFogCoordfv (const GLfloat *fog)
Replacement of glFogCoordfv.
NVSG_API void | GLFogCoordh (GLhalf fog)
Replacement of glFogCoordh.
NVSG_API void | GLFogCoordhv (const GLhalf *fog)
Replacement of glFogCoordhv.
NVSG_API void | GLFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glFogCoordPointer.
NVSG_API void | GLFogDensity (GLfloat density)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_DENSITY, param[s] ).
NVSG_API void | GLFogEnd (GLfloat end)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ).
NVSG_API void | GLFogf (GLenum pname, GLfloat param)
Replacement of glFogf.
NVSG_API void | GLFogfv (GLenum pname, const GLfloat *params)
Replacement of glFogfv.
NVSG_API void | GLFogi (GLenum pname, GLint param)
Replacement of glFogi.
NVSG_API void | GLFogiv (GLenum pname, const GLint *params)
Replacement of glFogiv.
NVSG_API void | GLFogMode (GLenum param)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ).
NVSG_API void | GLFogStart (GLfloat start)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ).
NVSG_API void | GLFrameTerminator (void)
Replacement of glFrameTerminatorGREMEDY.
NVSG_API void | GLFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level)
Replacement of glFramebufferTextureEXT.
NVSG_API void | GLFramebufferTextureFace (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
Replacement of glFramebufferTextureFaceEXT.
NVSG_API void | GLFrontFace (GLenum mode)
Replacement of glFrontFace.
NVSG_API void | GLFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glFrustum.
NVSG_API void | GLGenArraySets (GLsizei n, GLuint *buffers)
NVSG_API void | GLGenBuffers (GLsizei n, GLuint *buffers)
Replacement of glGenBuffers.
NVSG_API void | GLGenFences (GLsizei n, GLuint *fences)
Replacement of glGenFencesNV.
NVSG_API GLuint | GLGenLists (GLsizei range)
Replacement of glGenLists.
NVSG_API void | GLGenPrograms (GLsizei n, GLuint *ids)
Replacement of glGenProgramsARB.
NVSG_API void | GLGenQueries (GLsizei n, GLuint *ids)
Replacement of glGenQueries.
NVSG_API void | GLGenTextures (GLsizei n, GLuint *textures)
Replacement of glGenTextures.
NVSG_API void | GLGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetActiveAttrib.
NVSG_API void | GLGetActiveUniform (GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name)
Replacement of glGetActiveUniform.
NVSG_API void | GLGetActiveVaryingNV (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetActiveVaryingNV.
NVSG_API void | GLGetAttachedObjects (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj)
Replacement of glGetAttachedObjectsARB.
NVSG_API void | GLGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)
Replacement of glGetAttachedShaders.
NVSG_API GLint | GLGetAttribLocation (GLuint program, const GLchar *name)
Replacement of glGetAttribLocation.
NVSG_API void | GLGetBooleanv (GLenum pname, GLboolean *params)
Replacement of glGetBooleanv.
NVSG_API void | GLGetBooleanIndexedv (GLenum target, GLuint index, GLboolean *data)
Replacement of glGetBooleanIndexedvEXT.
NVSG_API void | GLGetBufferParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetBufferParameteriv.
NVSG_API void | GLGetBufferPointerv (GLenum target, GLenum pname, GLvoid **params)
Replacement of glGetBufferPointerv.
NVSG_API void | GLGetBufferSubData (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data)
Replacement of glGetBufferSubData.
NVSG_API void | GLGetClipPlane (GLenum plane, GLdouble *equation)
Replacement of glGetClipPlane.
NVSG_API void | GLGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table)
Replacement of glGetColorTable.
NVSG_API void | GLGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetColorTableParameterfv.
NVSG_API void | GLGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetColorTableParameteriv.
NVSG_API void | GLGetCombinerInputParameterfv (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)
Replacement of glGetCombinerInputParameterfv.
NVSG_API void | GLGetCombinerInputParameteriv (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)
Replacement of glGetCombinerInputParameteriv.
NVSG_API void | GLGetCombinerOutputParameterfv (GLenum stage, GLenum portion, GLenum pname, GLfloat *params)
Replacement of glGetCombinerOutputParameterfv.
NVSG_API void | GLGetCombinerOutputParameteriv (GLenum stage, GLenum portion, GLenum pname, GLint *params)
Replacement of glGetCombinerOutputParameteriv.
NVSG_API void | GLGetCombinerStageParameterfv (GLenum stage, GLenum pname, GLfloat *params)
Replacement of glGetCombinerStageParameterfv.
NVSG_API void | GLGetCompressedTexImage (GLenum target, GLint lod, GLvoid *img)
Replacement of glGetCompressedTexImage.
NVSG_API void | GLGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image)
Replacement of glGetConvolutionFilter.
NVSG_API void | GLGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetConvolutionParameterfv.
NVSG_API void | GLGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetConvolutionParameteriv.
NVSG_API void | GLGetDoublev (GLenum pname, GLdouble *params)
Replacement of glGetDoublev.
NVSG_API void | GLGetFenceiv (GLuint fence, GLenum pname, GLint *params)
Replacement of glGetFenceivNV.
NVSG_API void | GLGetFinalCombinerInputParameterfv (GLenum variable, GLenum pname, GLfloat *params)
Replacement of glGetFinalCombinerInputParamterfv.
NVSG_API void | GLGetFinalCombinerInputParameteriv (GLenum variable, GLenum pname, GLint *params)
Replacement of glGetFinalCombinerInputParamteriv.
NVSG_API void | GLGetFloatv (GLenum pname, GLfloat *params)
Replacement of glGetFloatv.
NVSG_API void | GLGetFogColor (GLfloat *fogColor)
NVSG_API GLint | GLGetFragDataLocation (GLuint program, const GLchar *name)
Replacement of glGetFragDataLocationEXT.
NVSG_API GLhandleARB | GLGetHandle (GLenum pname)
Replacement of glGetHandleARB.
NVSG_API void | GLGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
Replacement of glGetHistogram.
NVSG_API void | GLGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetHistogramParameterfv.
NVSG_API void | GLGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetHistogramParameteriv.
NVSG_API void | GLGetInfoLog (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)
Replacement of glGetInfoLogARB.
NVSG_API void | GLGetIntegerv (GLenum pname, GLint *params)
Replacement of glGetIntegerv.
NVSG_API void | GLGetIntegerIndexedv (GLenum target, GLuint index, GLint *data)
Replacement of glGetIntegerIndexedvEXT.
NVSG_API void | GLGetLightfv (GLenum light, GLenum pname, GLfloat *params)
Replacement of glGetLightfv.
NVSG_API void | GLGetLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glGetLightiv.
NVSG_API void | GLGetMapdv (GLenum target, GLenum query, GLdouble *v)
Replacement of glGetMapdv.
NVSG_API void | GLGetMapfv (GLenum target, GLenum query, GLfloat *v)
Replacement of glGetMapfv.
NVSG_API void | GLGetMapiv (GLenum target, GLenum query, GLint *v)
Replacement of glGetMapiv.
NVSG_API void | GLGetMaterialfv (GLenum face, GLenum pname, GLfloat *params)
Replacement of glGetMaterialfv.
NVSG_API void | GLGetMaterialiv (GLenum face, GLenum pname, GLint *params)
Replacement of glGetMaterialiv.
NVSG_API GLint | GLGetMaxTexCoords (void)
Get the maximal number of texture coordinate slots.
NVSG_API GLint | GLGetMaxTexUnits (void)
Get the maximal number of texture units.
NVSG_API GLint | GLGetMaxTexImageUnits (void)
Get the maximal number of texture image units.
NVSG_API void | GLGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
Replacement of glGetMinmax.
NVSG_API void | GLGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetMinmaxParameterfv.
NVSG_API void | GLGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetMinmaxParameteriv.
NVSG_API void | GLGetObjectParameterfv (GLhandleARB obj, GLenum pname, GLfloat *params)
Replacement of glGetObjectParameterfvARB.
NVSG_API void | GLGetObjectParameteriv (GLhandleARB obj, GLenum pname, GLint *params)
Replacement of glGetObjectParameterivARB.
NVSG_API void | GLGetPixelMapfv (GLenum map, GLfloat *values)
Replacement of glGetPixelMapfv.
NVSG_API void | GLGetPixelMapuiv (GLenum map, GLuint *values)
Replacement of glGetPixelMapuiv.
NVSG_API void | GLGetPixelMapusv (GLenum map, GLushort *values)
Replacement of glGetPixelMapusv.
NVSG_API void | GLGetPointerv (GLenum pname, GLvoid **params)
Replacement of glGetPointerv.
NVSG_API void | GLGetPolygonStipple (GLubyte *mask)
Replacement of glGetPolygonStipple.
NVSG_API void | GLGetProgramEnvParameterdv (GLenum target, GLuint index, GLdouble *params)
Replacement of glGetProgramEnvParameterdvARB.
NVSG_API void | GLGetProgramEnvParameterfv (GLenum target, GLuint index, GLfloat *params)
Replacement of glGetProgramEnvParameterfvARB.
NVSG_API void | GLGetProgramiv (GLuint program, GLenum pname, GLint *params)
Replacement of glGetProgramiv.
NVSG_API void | GLGetProgramLocalParameterdv (GLenum target, GLuint index, GLdouble *params)
Replacement of glGetProgramLocalParameterdvARB.
NVSG_API void | GLGetProgramLocalParameterfv (GLenum target, GLuint index, GLfloat *params)
Replacement of glGetProgramLocalParameterfvARB.
NVSG_API void | GLGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Replacement of glGetProgramInfoLog.
NVSG_API void | GLGetProgramEnvParameterIiv (GLenum target, GLuint index, GLint *params)
Replacement of glGetProgramEnvParameterIivNV.
NVSG_API void | GLGetProgramEnvParameterIuiv (GLenum target, GLuint index, GLuint *params)
Replacement of glGetProgramEnvParameterIuivNV.
NVSG_API void | GLGetProgramLocalParameterIiv (GLenum target, GLuint index, GLint *params)
Replacement of glGetProgramLocalParameterIivNV.
NVSG_API void | GLGetProgramLocalParameterIuiv (GLenum target, GLuint index, GLuint *params)
Replacement of glGetProgramLocalParameterIuivNV.
NVSG_API void | GLGetProgramNamedParameterdv (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)
Replacement of glGetProgramNamedParameterdvNV.
NVSG_API void | GLGetProgramNamedParameterfv (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)
Replacement of glGetProgramNamedParameterfvNV.
NVSG_API void | GLGetProgramParameterdv (GLenum target, GLuint index, GLenum pname, GLdouble *params)
Replacement of glGetProgramParameterdvNV.
NVSG_API void | GLGetProgramParameterfv (GLenum target, GLuint index, GLenum pname, GLfloat *params)
Replacement of glGetProgramParameterfvNV.
NVSG_API void | GLGetProgramString (GLuint id, GLenum pname, GLubyte *program)
Replacement of glGetProgramStringNV.
NVSG_API void | GLGetQueryiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetQueryiv.
NVSG_API void | GLGetQueryObjecti64v (GLuint id, GLenum pname, GLint64EXT *params)
Replacement of glGetQueryObjecti64vEXT.
NVSG_API void | GLGetQueryObjectiv (GLuint id, GLenum pname, GLint *params)
Replacement of glGetQueryObjectiv.
NVSG_API void | GLGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64EXT *params)
Replacement of glGetQueryObjectui64vEXT.
NVSG_API void | GLGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params)
Replacement of glGetQueryObjectuiv.
NVSG_API void | GLGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
Replacement of glGetSeparableFilter.
NVSG_API void | GLGetShaderiv (GLuint shader, GLenum pname, GLint *params)
Replacement of glGetShaderiv.
NVSG_API void | GLGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Replacement of glGetShaderInfoLog.
NVSG_API void | GLGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLcharARB *source)
Replacement of glGetShaderSource.
NVSG_API const GLubyte * | GLGetString (GLenum name)
Replacement of glGetString.
NVSG_API void | GLGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexEnvfv.
NVSG_API void | GLGetTexEnviv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexEnviv.
NVSG_API void | GLGetTexGendv (GLenum coord, GLenum pname, GLdouble *params)
Replacement of glGetTexGendv.
NVSG_API void | GLGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params)
Replacement of glGetTexGenfv.
NVSG_API void | GLGetTexGeniv (GLenum coord, GLenum pname, GLint *params)
Replacement of glGetTexGeniv.
NVSG_API void | GLGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glGetTexImage.
NVSG_API void | GLGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
Replacement of glGetTexLevelParameterfv.
NVSG_API void | GLGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
Replacement of glGetTexLevelParameteriv.
NVSG_API void | GLGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexParameterfv.
NVSG_API void | GLGetTexParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameteriv.
NVSG_API void | GLGetTexParameterIiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameterIivEXT.
NVSG_API void | GLGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params)
Replacement of glGetTexParameterIuivEXT.
NVSG_API void | GLGetTrackMatrixiv (GLenum target, GLuint address, GLenum pname, GLint *params)
Replacement of glGetTrackMatrixivNV.
NVSG_API void | GLGetTransformFeedbackVaryingNV (GLuint program, GLuint index, GLint *location)
Replacement of glGetTransformFeedbackVaryingNV.
NVSG_API void | GLGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetTransformFeedbackVarying.
NVSG_API void | GLGetUniformfv (GLuint program, GLint location, GLfloat *params)
Replacement of glGetUniformfv.
NVSG_API void | GLGetUniformiv (GLuint program, GLint location, GLint *params)
Replacement of glGetUniformiv.
NVSG_API void | GLGetUniformuiv (GLuint program, GLint location, GLuint *params)
Replacement of glGetUniformuiv.
NVSG_API GLint | GLGetUniformBufferSize (GLuint program, GLint location)
Replacement of glGetUniformBufferSizeEXT.
NVSG_API GLint | GLGetUniformLocation (GLuint program, const GLcharARB *name)
Replacement of glGetUniformLocation.
NVSG_API GLintptr | GLGetUniformOffset (GLuint program, GLint location)
Replacement of glGetUniformOffsetEXT.
NVSG_API GLint | GLGetVaryingLocationNV (GLuint program, const GLchar *name)
Replacement of glGetVaryingLocationNV.
NVSG_API void | GLGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params)
Replacement of glGetVertexAttribdv.
NVSG_API void | GLGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params)
Replacement of glGetVertexAttribfv.
NVSG_API void | GLGetVertexAttribiv (GLuint index, GLenum pname, GLint *params)
Replacement of glGetVertexAttribiv.
NVSG_API void | GLGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params)
Replacement of glGetVertexAttribIivEXT.
NVSG_API void | GLGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params)
Replacement of glGetVertexAttribIuivEXT.
NVSG_API void | GLGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid **pointer)
Replacement of glGetVertexAttribPointer.
NVSG_API GLint | GLGetVersion ()
Returns the version of the OpenGL available on the target system.
NVSG_API void | GLHint (GLenum target, GLenum mode)
Replacement of glHint.
NVSG_API void | GLHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
Replacement of glHistogram.
NVSG_API void | GLIndexd (GLdouble c)
Replacement of glIndexd.
NVSG_API void | GLIndexf (GLfloat c)
Replacement of glIndexf.
NVSG_API void | GLIndexi (GLint c)
Replacement of glIndexi.
NVSG_API void | GLIndexMask (GLuint mask)
Replacement of glIndexMask.
NVSG_API void | GLIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glIndexPointer.
NVSG_API void | GLIndexs (GLshort c)
Replacement of glIndexs.
NVSG_API void | GLIndexub (GLubyte c)
Replacement of glIndexub.
NVSG_API void | GLInitNames (void)
Replacement of glInitNames.
NVSG_API void | GLInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer)
Replacement of glInterleavedArrays.
NVSG_API GLboolean | GLIsArraySet (GLuint buffer)
NVSG_API GLboolean | GLIsBuffer (GLuint name)
Replacement of glIsBuffer.
NVSG_API GLboolean | GLIsEnabled (GLenum cap)
Replacement of glIsEnabled.
NVSG_API GLboolean | GLIsEnabledAlphaTest ()
Replacement of glIsEnabled( GL_ALPHA_TEST ).
NVSG_API GLboolean | GLIsEnabledAutoNormal ()
Replacement of glIsEnabled( GL_AUTO_NORMAL ).
NVSG_API GLboolean | GLIsEnabledBlend ()
Replacement of glIsEnabled( GL_BLEND ).
NVSG_API GLboolean | GLIsEnabledClipPlane (GLenum plane)
Replacement of glIsEnabled( GL_CLIP_PLANEi ).
NVSG_API GLboolean | GLIsEnabledColorLogicOp ()
Replacement of glIsEnabled( GL_COLOR_LOGIC_OP ).
NVSG_API GLboolean | GLIsEnabledColorMaterial ()
Replacement of glIsEnabled( GL_COLOR_MATERIAL ).
NVSG_API GLboolean | GLIsEnabledCullFace ()
Replacement of glIsEnabled( GL_CULL_FACE ).
NVSG_API GLboolean | GLIsEnabledDepthTest ()
Replacement of glIsEnabled( GL_DEPTH_TEST ).
NVSG_API GLboolean | GLIsEnabledDither ()
Replacement of glIsEnabled( GL_DITHER ).
NVSG_API GLboolean | GLIsEnabledFog ()
Replacement of glIsEnabled( GL_FOG ).
NVSG_API GLboolean | GLIsEnabledIndexed (GLenum target, GLuint index)
Replacement of glIsEnabledIndexed.
NVSG_API GLboolean | GLIsEnabledLight (GLenum cap)
Replacement of glIsEnabled( GL_LIGHTi ).
NVSG_API GLboolean | GLIsEnabledLighting ()
Replacement of glIsEnabled( GL_LIGHTING ).
NVSG_API GLboolean | GLIsEnabledLineSmooth ()
Replacement of glIsEnabled( GL_LINE_SMOOTH ).
NVSG_API GLboolean | GLIsEnabledLineStipple ()
Replacement of glIsEnabled( GL_LINE_STIPPLE ).
NVSG_API GLboolean | GLIsEnabledLogicOp ()
Replacement of glIsEnabled( GL_LOGIC_OP ).
NVSG_API GLboolean | GLIsEnabledNormalize ()
Replacement of glIsEnabled( GL_NORMALIZE ).
NVSG_API GLboolean | GLIsEnabledRescaleNormal ()
Replacement of glIsEnabled( GL_RESCALE_NORMAL ).
NVSG_API GLboolean | GLIsEnabledPointSmooth ()
Replacement of glIsEnabled( GL_POINT_SMOOTH ).
NVSG_API GLboolean | GLIsEnabledPolygonOffsetFill ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_FILL ).
NVSG_API GLboolean | GLIsEnabledPolygonOffsetLine ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_LINE ).
NVSG_API GLboolean | GLIsEnabledPolygonOffsetPoint ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_POINT ).
NVSG_API GLboolean | GLIsEnabledPolygonSmooth ()
Replacement of glIsEnabled( GL_POLYGON_SMOOTH ).
NVSG_API GLboolean | GLIsEnabledPolygonStipple ()
Replacement of glIsEnabled( GL_POLYGON_STIPPLE ).
NVSG_API GLboolean | GLIsEnabledScissorTest ()
Replacement of glIsEnabled( GL_SCISSOR_TEST ).
NVSG_API GLboolean | GLIsEnabledStencilTest ()
Replacement of glIsEnabled( GL_STENCIL_TEST ).
NVSG_API GLboolean | GLIsEnabledTexture (GLenum cap)
Replacement of glIsEnabled( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ).
NVSG_API GLboolean | GLIsEnabledTextureGen (GLenum cap)
Replacement of glIsEnabled( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
NVSG_API GLboolean | GLIsExtensionAvailable (const std::string &extension)
Test if a given extension is available on the current context.
NVSG_API GLboolean | GLIsExtensionExported (const std::string &extension)
Test if a given extension is exported on the current context.
NVSG_API GLboolean | GLIsFence (GLuint fence)
Replacement of glIsFenceNV.
NVSG_API GLboolean | GLIsList (GLuint list)
Replacement of glIsList.
NVSG_API GLboolean | GLIsProgram (GLuint program)
Replacement of glIsProgram.
NVSG_API GLboolean | GLIsQuery (GLuint id)
Replacement of glIsQuery.
NVSG_API GLboolean | GLIsShader (GLuint shader)
Replacement of glIsShader.
NVSG_API GLboolean | GLIsTexture (GLuint texture)
Replacement of glIsTexture.
NVSG_API void | GLDisableExtensionAvailability (const std::string &extension)
Allows manual disabling of extension available state.
NVSG_API void | GLLightAmbient (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_AMBIENT, param ).
NVSG_API void | GLLightConstantAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_CONSTANT_ATTENUATION, param ).
NVSG_API void | GLLightDiffuse (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_DIFFUSE, param ).
NVSG_API void | GLLightf (GLenum light, GLenum pname, GLfloat param)
Replacement of glLightf.
NVSG_API void | GLLightfv (GLenum light, GLenum pname, const GLfloat *params)
Replacement of glLightfv.
NVSG_API void | GLLighti (GLenum light, GLenum pname, GLint param)
Replacement of glLighti.
NVSG_API void | GLLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glLightiv.
NVSG_API void | GLLightPosition (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_POSITION, param ).
NVSG_API void | GLLightLinearAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_LINEAR_ATTENUATION, param ).
NVSG_API void | GLLightQuadraticAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ).
NVSG_API void | GLLightSpecular (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_SPECULAR, param ).
NVSG_API void | GLLightSpotCutoff (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_SPOT_CUTOFF, param ).
NVSG_API void | GLLightSpotDirection (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_SPOT_DIRECTION, param ).
NVSG_API void | GLLightSpotExponent (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_SPOT_EXPONENT, param ).
NVSG_API void | GLLightModelf (GLenum pname, GLfloat param)
Replacement of glLightModelf.
NVSG_API void | GLLightModelfv (GLenum pname, const GLfloat *params)
Replacement of glLightModelfv.
NVSG_API void | GLLightModeli (GLenum pname, GLint param)
Replacement of glLightModeli.
NVSG_API void | GLLightModeliv (GLenum pname, const GLint *params)
Replacement of glLightModeliv.
NVSG_API void | GLLightModelAmbient (const GLfloat *params)
Replacement of glLightModelfv( GL_LIGHT_MODEL_AMBIENT, params ).
NVSG_API void | GLLightModelLocalViewer (GLint param)
Replacement of GLLightModelLocalViewer.
NVSG_API void | GLLightModelTwoSide (GLint param)
Replacement of GLLightModelTwoSide.
NVSG_API void | GLLightModelTwoSideLock (GLint param)
Helper function to set two sided lighting and lock it.
NVSG_API void | GLLightModelTwoSideUnlock (GLint param)
Helper function to unlock the two sided lighting and set it.
NVSG_API void | GLLineStipple (GLint factor, GLushort pattern)
Replacement of glLineStipple.
NVSG_API void | GLLineWidth (GLfloat width)
Replacement of glLineWidth.
NVSG_API void | GLLinkProgram (GLuint program)
Replacement of glLinkProgram.
NVSG_API void | GLListBase (GLuint base)
Replacement of glListBase.
NVSG_API void | GLLoadIdentity (void)
Replacement of glLoadItentity.
NVSG_API void | GLLoadMatrixd (const GLdouble *m)
Replacement of glLoadMatrixd.
NVSG_API void | GLLoadMatrixf (const GLfloat *m)
Replacement of glLoadMatrixf.
NVSG_API void | GLLoadTransposedMatrixd (const GLdouble *m)
Replacement of glLoadTransposeMatrixd.
NVSG_API void | GLLoadTransposeMatrixf (const GLfloat *m)
Replacement of glLoadTransposMatrixf.
NVSG_API void | GLLoadName (GLuint name)
Replacement of glLoadName.
NVSG_API void | GLLoadProgram (GLenum target, GLuint id, GLsizei len, const GLubyte *program)
Replacement of glLoadProgramNV.
NVSG_API void | GLLockArrays (GLint first, GLsizei count)
Replacement of glLockArrays.
NVSG_API void | GLLogicOp (GLenum opcode)
Replacement of glLogicOp.
NVSG_API void | GLMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
Replacement of glMap1d.
NVSG_API void | GLMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
Replacement of glMap1f.
NVSG_API void | GLMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
Replacement of glMap2d.
NVSG_API void | GLMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
Replacement of glMap2f.
NVSG_API GLvoid * | GLMapBuffer (GLenum target, GLenum access)
Replacement of glMapBuffer.
NVSG_API void | GLMapGrid1d (GLint un, GLdouble u1, GLdouble u2)
Replacement of glMapGrid1d.
NVSG_API void | GLMapGrid1f (GLint un, GLfloat u1, GLfloat u2)
Replacement of glMapGrid1f.
NVSG_API void | GLMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
Replacement of glMapGrid2d.
NVSG_API void | GLMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
Replacement of glMapGrid2f.
NVSG_API void | GLMaterialAmbient (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_AMBIENT, params ).
NVSG_API void | GLMaterialAmbientBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_AMBIENT, param ).
NVSG_API void | GLMaterialAmbientFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_AMBIENT, param ).
NVSG_API void | GLMaterialAmbientFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ).
NVSG_API void | GLMaterialDiffuse (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_DIFFUSE, params ).
NVSG_API void | GLMaterialDiffuseBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_DIFFUSE, param ).
NVSG_API void | GLMaterialDiffuseFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ).
NVSG_API void | GLMaterialDiffuseFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ).
NVSG_API void | GLMaterialEmission (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_EMISSION, params ).
NVSG_API void | GLMaterialEmissionBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_EMISSION, param ).
NVSG_API void | GLMaterialEmissionFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_EMISSION, param ).
NVSG_API void | GLMaterialEmissionFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ).
NVSG_API void | GLMaterialf (GLenum face, GLenum pname, GLfloat param)
Replacement of glMaterialf.
NVSG_API void | GLMaterialfv (GLenum face, GLenum pname, const GLfloat *params)
Replacement of glMaterialfv.
NVSG_API void | GLMateriali (GLenum face, GLenum pname, GLint param)
Replacement of glMateriali.
NVSG_API void | GLMaterialiv (GLenum face, GLenum pname, const GLint *params)
Replacement of glMaterialiv.
NVSG_API void | GLMaterialShininess (GLenum face, GLfloat param)
Cached version of GLMaterialf( face, GL_SHININESS, param ).
NVSG_API void | GLMaterialShininessBack (GLfloat param)
Cached version of GLMaterialf( GL_BACK, GL_SHININESS, param ).
NVSG_API void | GLMaterialShininessFront (GLfloat param)
Cached version of GLMaterialf( GL_FRONT, GL_SHININESS, param ).
NVSG_API void | GLMaterialShininessFrontAndBack (GLfloat param)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ).
NVSG_API void | GLMaterialSpecular (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_SPECULAR, params ).
NVSG_API void | GLMaterialSpecularBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_SPECULAR, param ).
NVSG_API void | GLMaterialSpecularFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_SPECULAR, param ).
NVSG_API void | GLMaterialSpecularFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ).
NVSG_API void | GLMatrixMode (GLenum mode)
Replacement of glMatrixMode.
NVSG_API void | GLMinmax (GLenum target, GLenum internalformat, GLboolean sink)
Replacement of glMinmax.
NVSG_API void | GLMultiDrawArrays (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount)
Replacement of glMultiDrawArrays.
NVSG_API void | GLMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
Replacement of glMultiDrawElements.
NVSG_API void | GLMultiTexCoord1d (GLenum target, GLdouble s)
Replacement of glMultiTexCoord1d.
NVSG_API void | GLMultiTexCoord1dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord1dv.
NVSG_API void | GLMultiTexCoord1f (GLenum target, GLfloat s)
Replacement of glMultiTexCoord1f.
NVSG_API void | GLMultiTexCoord1fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord1fv.
NVSG_API void | GLMultiTexCoord1h (GLenum target, GLhalf s)
Replacement of glMultiTexCoord1hNV.
NVSG_API void | GLMultiTexCoord1hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord1hv.
NVSG_API void | GLMultiTexCoord1i (GLenum target, GLint s)
Replacement of glMultiTexCoord1i.
NVSG_API void | GLMultiTexCoord1iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord1iv.
NVSG_API void | GLMultiTexCoord1s (GLenum target, GLshort s)
Replacement of glMultiTexCoord1s.
NVSG_API void | GLMultiTexCoord1sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord1sv.
NVSG_API void | GLMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t)
Replacement of glMultiTexCoord2d.
NVSG_API void | GLMultiTexCoord2dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord2dv.
NVSG_API void | GLMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t)
Replacement of glMultiTexCoord2f.
NVSG_API void | GLMultiTexCoord2fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord2fv.
NVSG_API void | GLMultiTexCoord2h (GLenum target, GLhalf s, GLhalf t)
Replacement of glMultiTexCoord2hNV.
NVSG_API void | GLMultiTexCoord2hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord2hv.
NVSG_API void | GLMultiTexCoord2i (GLenum target, GLint s, GLint t)
Replacement of glMultiTexCoord2i.
NVSG_API void | GLMultiTexCoord2iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord2iv.
NVSG_API void | GLMultiTexCoord2s (GLenum target, GLshort s, GLshort t)
Replacement of glMultiTexCoord2s.
NVSG_API void | GLMultiTexCoord2sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord2sv.
NVSG_API void | GLMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r)
Replacement of glMultiTexCoord3d.
NVSG_API void | GLMultiTexCoord3dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord3dv.
NVSG_API void | GLMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r)
Replacement of glMultiTexCoord3f.
NVSG_API void | GLMultiTexCoord3fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord3fv.
NVSG_API void | GLMultiTexCoord3h (GLenum target, GLhalf s, GLhalf t, GLhalf r)
Replacement of glMultiTexCoord3hNV.
NVSG_API void | GLMultiTexCoord3hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord3hv.
NVSG_API void | GLMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r)
Replacement of glMultiTexCoord3i.
NVSG_API void | GLMultiTexCoord3iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord3iv.
NVSG_API void | GLMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r)
Replacement of glMultiTexCoord3s.
NVSG_API void | GLMultiTexCoord3sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord3sv.
NVSG_API void | GLMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glMultiTexCoord4d.
NVSG_API void | GLMultiTexCoord4dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord4dv.
NVSG_API void | GLMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glMultiTexCoord4f.
NVSG_API void | GLMultiTexCoord4fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord4fv.
NVSG_API void | GLMultiTexCoord4h (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q)
Replacement of glMultiTexCoord4hNV.
NVSG_API void | GLMultiTexCoord4hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord4hv.
NVSG_API void | GLMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q)
Replacement of glMultiTexCoord4i.
NVSG_API void | GLMultiTexCoord4iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord4iv.
NVSG_API void | GLMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glMultiTexCoord4s.
NVSG_API void | GLMultiTexCoord4sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord4sv.
NVSG_API void | GLMultMatrixd (const GLdouble *m)
Replacement of glMultMatrixd.
NVSG_API void | GLMultMatrixf (const GLfloat *m)
Replacement of glMultMatrixf.
NVSG_API void | GLMultTransposeMatrixd (const GLdouble *m)
Replacement of glMultTransposeMatrixd.
NVSG_API void | GLMultTransposeMatrixf (const GLfloat *m)
Replacement of glMultTransposeMatrixf.
NVSG_API void | GLNewList (GLuint list, GLenum mode)
Replacement of glNewList.
NVSG_API void | GLNormal3b (GLbyte nx, GLbyte ny, GLbyte nz)
Replacement of glNormal3b.
NVSG_API void | GLNormal3bv (const GLbyte *v)
Replacement of glNormal3bv.
NVSG_API void | GLNormal3d (GLdouble nx, GLdouble ny, GLdouble nz)
Replacement of glNormal3d.
NVSG_API void | GLNormal3dv (const GLdouble *v)
Replacement of glNormal3dv.
NVSG_API void | GLNormal3f (GLfloat nx, GLfloat ny, GLfloat nz)
Replacement of glNormal3f.
NVSG_API void | GLNormal3fv (const GLfloat *v)
Replacement of glNormal3fv.
NVSG_API void | GLNormal3h (GLhalf nx, GLhalf ny, GLhalf nz)
Replacement of glNormal3hNV.
NVSG_API void | GLNormal3hv (const GLhalf *v)
Replacement of glNormal3hv.
NVSG_API void | GLNormal3i (GLint nx, GLint ny, GLint nz)
! Replacement of glNormal3i
NVSG_API void | GLNormal3iv (const GLint *v)
Replacement of glNormal3iv.
NVSG_API void | GLNormal3s (GLshort nx, GLshort ny, GLshort nz)
Replacement of glNormal3s.
NVSG_API void | GLNormal3sv (const GLshort *v)
Replacement of glNormal3sv.
NVSG_API void | GLNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glNormalPointer.
NVSG_API void | GLOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glOrtho.
NVSG_API void | GLPassThrough (GLfloat token)
Replacement of glPassThrough.
NVSG_API void | GLPixelDataRange (GLenum target, GLsizei size, GLvoid *pointer)
Replacement of glPixelDataRangeNV.
NVSG_API void | GLPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values)
Replacement of glPixelMapfv.
NVSG_API void | GLPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values)
Replacement of glPixelMapuiv.
NVSG_API void | GLPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values)
Replacement of glPixelMapusv.
NVSG_API void | GLPixelStoref (GLenum pname, GLfloat param)
Replacement of glPixelStoref.
NVSG_API void | GLPixelStorei (GLenum pname, GLint param)
Replacement of glPixelStorei.
NVSG_API void | GLPixelTransferf (GLenum pname, GLfloat param)
Replacement of glPixelTransferf.
NVSG_API void | GLPixelTransferi (GLenum pname, GLint param)
Replacement of glPixelTransferi.
NVSG_API void | GLPixelZoom (GLfloat xfactor, GLfloat yfactor)
Replacement of glPixelZoom.
NVSG_API void | GLPointParameterf (GLenum pname, GLfloat param)
Replacement of glPointParameterf.
NVSG_API void | GLPointParameterfv (GLenum pname, const GLfloat *params)
Replacement of glPointParameterfv.
NVSG_API void | GLPointParameteri (GLenum pname, GLint param)
Replacement of glPointParameteri.
NVSG_API void | GLPointParameteriv (GLenum pname, const GLint *params)
Replacement of glPointParameteriv.
NVSG_API void | GLPointSize (GLfloat size)
Replacement of glPointSize.
NVSG_API void | GLPolygonMode (GLenum face, GLenum mode)
Cached version of GLPolygonMode( face, mode ).
NVSG_API void | GLPolygonModeBack (GLenum mode)
Cached version of GLPolygonMode( GL_BACK, mode ).
NVSG_API void | GLPolygonModeFront (GLenum mode)
Cached version of GLPolygonMode( GL_FRONT, mode ).
NVSG_API void | GLPolygonModeFrontAndBack (GLenum mode)
Cached version of GLPolygonMode( GL_FRONT_AND_BACK, mode ).
NVSG_API void | GLPolygonModeLock (GLenum face, GLenum mode)
Helper function to set the polygon mode and lock it.
NVSG_API void | GLPolygonModeUnlock (GLenum face, GLenum mode)
Helper function to unlock the polygon mode and set it.
NVSG_API void | GLPolygonOffset (GLfloat factor, GLfloat units)
Replacement of glPolygonOffset.
NVSG_API void | GLPolygonStipple (const GLubyte *mask)
Replacement of glPolygonStipple.
NVSG_API void | GLPopAttrib (void)
Replacement of glPopAttrib.
NVSG_API void | GLPopClientAttrib (void)
Replacement of glPopClientAttrib.
NVSG_API void | GLPopMatrix (void)
Replacement of glPopMatrix.
NVSG_API void | GLPopName (void)
Replacement of glPopName.
NVSG_API void | GLPrimitiveRestart ()
Replacement of glPrimitiveRestart.
NVSG_API void | GLPrimitiveRestartIndex (GLuint index)
Replacement of glPrimitiveRestartIndex.
NVSG_API void | GLPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities)
Replacement of glPrioritizeTextures.
NVSG_API void | GLProgramBufferParametersfv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramBufferParametersfvNV.
NVSG_API void | GLProgramBufferParametersIiv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramBufferParametersIivNV.
NVSG_API void | GLProgramBufferParametersIuiv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramBufferParametersIuivNV.
NVSG_API void | GLProgramEnvParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramEnvParameter4dARB.
NVSG_API void | GLProgramEnvParameter4dv (GLenum target, GLuint index, const GLdouble *params)
Replacement of glProgramEnvParameter4dvARB.
NVSG_API void | GLProgramEnvParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramEnvParameter4fARB.
NVSG_API void | GLProgramEnvParameter4fv (GLenum target, GLuint index, const GLfloat *params)
Replacement of glProgramEnvParameter4fvARB.
NVSG_API void | GLProgramEnvParametersI4iv (GLenum target, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramEnvParametersI4ivNV.
NVSG_API void | GLProgramEnvParameterI4i (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glProgramEnvParameterI4iNV.
NVSG_API void | GLProgramEnvParameterI4iv (GLenum target, GLuint index, const GLint *params)
Replacement of glProgramEnvParameterI4ivNV.
NVSG_API void | GLProgramEnvParametersI4uiv (GLenum target, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramEnvParametersI4uivNV.
NVSG_API void | GLProgramEnvParameterI4ui (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glProgramEnvParameterI4uiNV.
NVSG_API void | GLProgramEnvParameterI4uiv (GLenum target, GLuint index, const GLuint *params)
Replacement of glProgramEnvParameterI4uivNV.
NVSG_API void | GLProgramEnvParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramEnvParameters4fvEXT.
NVSG_API void | GLProgramLocalParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramLocalParameter4dARB.
NVSG_API void | GLProgramLocalParameter4dv (GLenum target, GLuint index, const GLdouble *params)
Replacement of glProgramLocalParameter4dvARB.
NVSG_API void | GLProgramLocalParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramLocalParameter4fARB.
NVSG_API void | GLProgramLocalParameter4fv (GLenum target, GLuint index, const GLfloat *params)
Replacement of glProgramLocalParameter4fvARB.
NVSG_API void | GLProgramLocalParametersI4iv (GLenum target, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramLocalParametersI4ivNV.
NVSG_API void | GLProgramLocalParametersI4uiv (GLenum target, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramLocalParametersI4uivNV.
NVSG_API void | GLProgramLocalParameterI4i (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glProgramLocalParameterI4iNV.
NVSG_API void | GLProgramLocalParameterI4iv (GLenum target, GLuint index, const GLint *params)
Replacement of glProgramLocalParameterI4ivNV.
NVSG_API void | GLProgramLocalParameterI4ui (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glProgramLocalParameterI4uiNV.
NVSG_API void | GLProgramLocalParameterI4uiv (GLenum target, GLuint index, const GLuint *params)
Replacement of glProgramLocalParameterI4uivNV.
NVSG_API void | GLProgramLocalParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramLocalParameters4fvEXT.
NVSG_API void | GLProgramNamedParameter4d (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramNamedParameter4dNV.
NVSG_API void | GLProgramNamedParameter4dv (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)
Replacement of glProgramNamedParameter4dvNV.
NVSG_API void | GLProgramNamedParameter4f (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramNamedParameter4fNV.
NVSG_API void | GLProgramNamedParameter4fv (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)
Replacement of glProgramNamedParameter4fvNV.
NVSG_API void | GLProgramParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramParameter4dNV.
NVSG_API void | GLProgramParameter4dv (GLenum target, GLuint index, const GLdouble *v)
Replacement of glProgramParameter4dvNV.
NVSG_API void | GLProgramParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramParameter4fNV.
NVSG_API void | GLProgramParameter4fv (GLenum target, GLuint index, const GLfloat *v)
Replacement of glProgramParameter4fvNV.
NVSG_API void | GLProgramParameteri (GLuint program, GLenum pname, GLint value)
Replacement of glProgramParameteriEXT.
NVSG_API void | GLProgramParameters4dv (GLenum target, GLuint index, GLsizei count, const GLdouble *v)
Replacement of glProgramParameters4dvNV.
NVSG_API void | GLProgramParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *v)
Replacement of glProgramParameters4fvNV.
NVSG_API void | GLProgramString (GLenum target, GLenum format, GLsizei len, const GLvoid *string)
Replacement of glProgramStringARB.
NVSG_API void | GLProgramVertexLimit (GLenum target, GLint limit)
Replacement of glProgramVertexLimitNV.
NVSG_API void | GLPushAttrib (GLbitfield mask)
Replacement of glPushAttrib.
NVSG_API void | GLPushClientAttrib (GLbitfield mask)
Replacement of glPushClientAttrib.
NVSG_API void | GLPushMatrix (void)
Replacement of glPushMatrix.
NVSG_API void | GLPushName (GLuint name)
Replacement of glPushName.
NVSG_API void | GLRasterPos2d (GLdouble x, GLdouble y)
Replacement of glRasterPos2d.
NVSG_API void | GLRasterPos2f (GLfloat x, GLfloat y)
Replacement of glRasterPos2f.
NVSG_API void | GLRasterPos2i (GLint x, GLint y)
Replacement of glRasterPos2i.
NVSG_API void | GLRasterPos2s (GLshort x, GLshort y)
Replacement of glRasterPos2s.
NVSG_API void | GLRasterPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glRasterPos3d.
NVSG_API void | GLRasterPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glRasterPos3f.
NVSG_API void | GLRasterPos3i (GLint x, GLint y, GLint z)
Replacement of glRasterPos3i.
NVSG_API void | GLRasterPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glRasterPos3s.
NVSG_API void | GLRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glRasterPos4d.
NVSG_API void | GLRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glRasterPos4f.
NVSG_API void | GLRasterPos4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glRasterPos4i.
NVSG_API void | GLRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glRasterPos4s.
NVSG_API void | GLRasterPos2dv (const GLdouble *v)
Replacement of glRasterPos2dv.
NVSG_API void | GLRasterPos2fv (const GLfloat *v)
Replacement of glRasterPos2fv.
NVSG_API void | GLRasterPos2iv (const GLint *v)
Replacement of glRasterPos2iv.
NVSG_API void | GLRasterPos2sv (const GLshort *v)
Replacement of glRasterPos2sv.
NVSG_API void | GLRasterPos3dv (const GLdouble *v)
Replacement of glRasterPos3dv.
NVSG_API void | GLRasterPos3fv (const GLfloat *v)
Replacement of glRasterPos3fv.
NVSG_API void | GLRasterPos3iv (const GLint *v)
Replacement of glRasterPos3iv.
NVSG_API void | GLRasterPos3sv (const GLshort *v)
Replacement of glRasterPos3sv.
NVSG_API void | GLRasterPos4dv (const GLdouble *v)
Replacement of glRasterPos4dv.
NVSG_API void | GLRasterPos4fv (const GLfloat *v)
Replacement of glRasterPos4fv.
NVSG_API void | GLRasterPos4iv (const GLint *v)
Replacement of glRasterPos4iv.
NVSG_API void | GLRasterPos4sv (const GLshort *v)
Replacement of glRasterPos4sv.
NVSG_API void | GLReadBuffer (GLenum mode)
Replacement of glReadBuffer.
NVSG_API void | GLReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glReadPixels.
NVSG_API void | GLRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
Replacement of glRectd.
NVSG_API void | GLRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Replacement of glRectf.
NVSG_API void | GLRecti (GLint x1, GLint y1, GLint x2, GLint y2)
Replacement of glRecti.
NVSG_API void | GLRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2)
Replacement of glRects.
NVSG_API void | GLRenderMode (GLenum mode)
Replacement of glRenderMode.
NVSG_API void | GLRequestResidentPrograms (GLsizei n, const GLuint *programs)
Replacement of glRequestResidentProgramsNV.
NVSG_API void | GLResetHistogram (GLenum target)
Replacement of glResetHistogram.
NVSG_API void | GLResetMinmax (GLenum target)
Replacement of glResetMinmax.
NVSG_API void | GLRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
Replacement of glRotated.
NVSG_API void | GLRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
Replacement of glRotatef.
NVSG_API void | GLScaled (GLdouble x, GLdouble y, GLdouble z)
Replacement of glScaled.
NVSG_API void | GLScalef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glScalef.
NVSG_API void | GLSampleCoverage (GLclampf value, GLboolean invert)
Replacement of glSampleCoverage.
NVSG_API void | GLScissor (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glScissor.
NVSG_API void | GLSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glSecondaryColor3b.
NVSG_API void | GLSecondaryColor3bv (const GLbyte *v)
Replacement of glSecondaryColor3bv.
NVSG_API void | GLSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glSecondaryColor3d.
NVSG_API void | GLSecondaryColor3dv (const GLdouble *v)
Replacement of glSecondaryColor3dv.
NVSG_API void | GLSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glSecondaryColor3f.
NVSG_API void | GLSecondaryColor3fv (const GLfloat *v)
Replacement of glSecondaryColor3fv.
NVSG_API void | GLSecondaryColor3h (GLhalf red, GLhalf green, GLhalf blue)
Replacement of glSecondaryColor3h.
NVSG_API void | GLSecondaryColor3hv (const GLhalf *v)
Replacement of glSecondaryColor3hv.
NVSG_API void | GLSecondaryColor3i (GLint red, GLint green, GLint blue)
Replacement of glSecondaryColor3i.
NVSG_API void | GLSecondaryColor3iv (const GLint *v)
Replacement of glSecondaryColor3iv.
NVSG_API void | GLSecondaryColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glSecondaryColor3s.
NVSG_API void | GLSecondaryColor3sv (const GLshort *v)
Replacement of glSecondaryColor3sv.
NVSG_API void | GLSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glSecondaryColor3ub.
NVSG_API void | GLSecondaryColor3ubv (const GLubyte *v)
Replacement of glSecondaryColor3ubv.
NVSG_API void | GLSecondaryColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glSecondaryColor3ui.
NVSG_API void | GLSecondaryColor3uiv (const GLuint *v)
Replacement of glSecondaryColor3uiv.
NVSG_API void | GLSecondaryColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glSecondaryColor3us.
NVSG_API void | GLSecondaryColor3usv (const GLushort *v)
Replacement of glSecondaryColor3usv.
NVSG_API void | GLSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glSecondaryColorPointer.
NVSG_API void | GLSelectBuffer (GLsizei size, GLuint *buffer)
Replacement of glSelectBuffer.
NVSG_API void | GLSelectTexture (GLenum target)
Replacement of glSelectTexture.
NVSG_API void | GLSelectTextureCoordSet (GLenum target)
Replacement of GLSelectTextureCoordSet.
NVSG_API void | GLSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
Replacement of glSeparableFilter2D.
NVSG_API void | GLSetFence (GLuint fence, GLenum condition)
Replacement of glSetFenceNV.
NVSG_API void | GLShadeModel (GLenum mode)
Replacement of glShadeModel.
NVSG_API void | GLShaderSource (GLuint shader, GLsizei count, const GLcharARB **string, const GLint *length)
Replacement of glShaderSource.
NVSG_API void | GLStencilClearTag (GLsizei tagBits, GLuint clearTag)
Replacement of glStencilClearTag.
NVSG_API void | GLStencilFunc (GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFunc.
NVSG_API void | GLStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFuncSeparate.
NVSG_API void | GLStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOpSeparate.
NVSG_API void | GLStencilMaskSeparate (GLenum face, GLuint mask)
Replacement of glStencilMaskSeparate.
NVSG_API void | GLStencilMask (GLuint mask)
Replacement of glStencilMask.
NVSG_API void | GLStencilOp (GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOp.
NVSG_API void | GLStringMarker (GLsizei len, const GLvoid *string)
Replacement of glStringMarkerGREMEDY.
NVSG_API GLboolean | GLTestFence (GLuint fence)
Replacement of glTestFenceNV.
NVSG_API void | GLTexBuffer (GLenum target, GLenum internalformat, GLuint buffer)
Replacement of glTexBufferEXT.
NVSG_API void | GLTexCoord1d (GLdouble s)
Replacement of glTexCoord1d.
NVSG_API void | GLTexCoord1dv (const GLdouble *v)
Replacement of glTexCoord1dv.
NVSG_API void | GLTexCoord1f (GLfloat s)
Replacement of glTexCoord1f.
NVSG_API void | GLTexCoord1fv (const GLfloat *v)
Replacement of glTexCoord1fv.
NVSG_API void | GLTexCoord1h (GLhalf s)
Replacement of glTexCoord1hNV.
NVSG_API void | GLTexCoord1hv (const GLhalf *v)
Replacement of glTexCoord1hv.
NVSG_API void | GLTexCoord1i (GLint s)
Replacement of glTexCoord1i.
NVSG_API void | GLTexCoord1iv (const GLint *v)
Replacement of glTexCoord1iv.
NVSG_API void | GLTexCoord1s (GLshort s)
Replacement of glTexCoord1s.
NVSG_API void | GLTexCoord1sv (const GLshort *v)
Replacement of glTexCoord1sv.
NVSG_API void | GLTexCoord2d (GLdouble s, GLdouble t)
Replacement of glTexCoord2d.
NVSG_API void | GLTexCoord2dv (const GLdouble *v)
Replacement of glTexCoord2dv.
NVSG_API void | GLTexCoord2f (GLfloat s, GLfloat t)
Replacement of glTexCoord2f.
NVSG_API void | GLTexCoord2fv (const GLfloat *v)
Replacement of glTexCoord2fv.
NVSG_API void | GLTexCoord2h (GLhalf s, GLhalf t)
Replacement of glTexCoord2hNV.
NVSG_API void | GLTexCoord2hv (const GLhalf *v)
Replacement of glTexCoord2hv.
NVSG_API void | GLTexCoord2i (GLint s, GLint t)
Replacement of glTexCoord2i.
NVSG_API void | GLTexCoord2iv (const GLint *v)
Replacement of glTexCoord2iv.
NVSG_API void | GLTexCoord2s (GLshort s, GLshort t)
Replacement of glTexCoord2s.
NVSG_API void | GLTexCoord2sv (const GLshort *v)
Replacement of glTexCoord2sv.
NVSG_API void | GLTexCoord3d (GLdouble s, GLdouble t, GLdouble r)
Replacement of glTexCoord3d.
NVSG_API void | GLTexCoord3dv (const GLdouble *v)
Replacement of glTexCoord3dv.
NVSG_API void | GLTexCoord3f (GLfloat s, GLfloat t, GLfloat r)
Replacement of glTexCoord3f.
NVSG_API void | GLTexCoord3fv (const GLfloat *v)
Replacement of glTexCoord3fv.
NVSG_API void | GLTexCoord3h (GLhalf s, GLhalf t, GLhalf r)
Replacement of glTexCoord3hNV.
NVSG_API void | GLTexCoord3hv (const GLhalf *v)
Replacement of glTexCoord3hv.
NVSG_API void | GLTexCoord3i (GLint s, GLint t, GLint r)
Replacement of glTexCoord3i.
NVSG_API void | GLTexCoord3iv (const GLint *v)
Replacement of glTexCoord3iv.
NVSG_API void | GLTexCoord3s (GLshort s, GLshort t, GLshort r)
Replacement of glTexCoord3s.
NVSG_API void | GLTexCoord3sv (const GLshort *v)
Replacement of glTexCoord3sv.
NVSG_API void | GLTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glTexCoord4d.
NVSG_API void | GLTexCoord4dv (const GLdouble *v)
Replacement of glTexCoord4dv.
NVSG_API void | GLTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glTexCoord4f.
NVSG_API void | GLTexCoord4fv (const GLfloat *v)
Replacement of glTexCoord4fv.
NVSG_API void | GLTexCoord4h (GLhalf s, GLhalf t, GLhalf r, GLhalf q)
Replacement of glTexCoord4hNV.
NVSG_API void | GLTexCoord4hv (const GLhalf *v)
Replacement of glTexCoord4hv.
NVSG_API void | GLTexCoord4i (GLint s, GLint t, GLint r, GLint q)
Replacement of glTexCoord4i.
NVSG_API void | GLTexCoord4iv (const GLint *v)
Replacement of glTexCoord4iv.
NVSG_API void | GLTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glTexCoord4s.
NVSG_API void | GLTexCoord4sv (const GLshort *v)
Replacement of glTexCoord4sv.
NVSG_API void | GLTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glTexCoordPointer.
NVSG_API void | GLTexEnvf (GLenum target, GLenum pname, GLfloat param)
Cached version of glTexEnvf( target, pname, param ).
NVSG_API void | GLTexEnvfv (GLenum target, GLenum pname, const GLfloat *params)
Cached version of glTexEnvf( target, pname, param ).
NVSG_API void | GLTexEnvi (GLenum target, GLenum pname, GLint param)
Cached version of glTexEnvi( target, pname, param ).
NVSG_API void | GLTexEnviv (GLenum target, GLenum pname, const GLint *params)
Cached version of glTexEnviv( target, pname, param ).
NVSG_API void | GLTexGend (GLenum coord, GLenum pname, GLdouble param)
Replacement of glTexGend.
NVSG_API void | GLTexGenf (GLenum coord, GLenum pname, GLfloat param)
Replacement of glTexGenf.
NVSG_API void | GLTexGenfv (GLenum coord, GLenum pname, const GLfloat *param)
Replacement of glTexGenfv.
NVSG_API void | GLTexGeni (GLenum coord, GLenum pname, GLint param)
Replacement of glTexGeni.
NVSG_API void | GLTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage1D.
NVSG_API void | GLTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage2D.
NVSG_API void | GLTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels)
Replacement of glTexImage3D.
NVSG_API void | GLTexParameterf (GLenum target, GLenum pname, GLfloat param)
Cached version of glTexParameterf( target, pname, param ).
NVSG_API void | GLTexParameteri (GLenum target, GLenum pname, GLint param)
Cached version of glTexParameteri( target, pname, param ).
NVSG_API void | GLTexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Cached version of glTexParameterfv( target, pname, params ).
NVSG_API void | GLTexParameteriv (GLenum target, GLenum pname, const GLint *params)
Cached version of glTexParameteriv( target, pname, params ).
NVSG_API void | GLTexParameterIiv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexParameterIivEXT.
NVSG_API void | GLTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params)
Replacement of glTexParameterIuivEXT.
NVSG_API void | GLTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage1D.
NVSG_API void | GLTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage2D.
NVSG_API void | GLTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage3D.
NVSG_API void | GLTextureBorderColor (GLenum target, const GLfloat *params)
Cached version of GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params ).
NVSG_API void | GLTextureEnvColor (const GLfloat *params)
Cached version of GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params ).
NVSG_API void | GLTextureEnvMode (GLint param)
Cached version of GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param ).
NVSG_API void | GLTextureMagFilter (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param ).
NVSG_API void | GLTextureMinFilter (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param ).
NVSG_API void | GLTextureWrapR (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_R, param ).
NVSG_API void | GLTextureWrapS (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_S, param ).
NVSG_API void | GLTextureWrapT (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_T, param ).
NVSG_API void | GLTrackMatrix (GLenum target, GLuint address, GLenum matrix, GLenum transform)
Cached version of glTrackMatrixNV.
NVSG_API void | GLTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode)
Cached version of glTransformFeedbackAttribsNV.
NVSG_API void | GLTransformFeedbackVaryingsNV (GLuint program, GLsizei count, const GLint *varyings, GLenum bufferMode)
Cached version of glTransformFeedbackVaryingsNV.
NVSG_API void | GLTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode)
Cached version of glTransformFeedbackVaryings.
NVSG_API void | GLTranslated (GLdouble x, GLdouble y, GLdouble z)
Replacement of glTranslated.
NVSG_API void | GLTranslatef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glTranslatef.
NVSG_API void | GLUnlockArrays ()
Replacement of glUnlockArrays.
NVSG_API void | GLUniform1f (GLint location, GLfloat v0)
Replacement of glUniform1f.
NVSG_API void | GLUniform1fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform1fv.
NVSG_API void | GLUniform1i (GLint location, GLint v0)
Replacement of glUniform1i.
NVSG_API void | GLUniform1iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform1iv.
NVSG_API void | GLUniform1ui (GLint location, GLuint v0)
Replacement of glUniform1uiEXT.
NVSG_API void | GLUniform1uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform1uivEXT.
NVSG_API void | GLUniform2f (GLint location, GLfloat v0, GLfloat v1)
Replacement of glUniform2f.
NVSG_API void | GLUniform2fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform2fv.
NVSG_API void | GLUniform2i (GLint location, GLint v0, GLint v1)
Replacement of glUniform2i.
NVSG_API void | GLUniform2iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform2iv.
NVSG_API void | GLUniform2ui (GLint location, GLuint v0, GLuint v1)
Replacement of glUniform2ui.
NVSG_API void | GLUniform2uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform2uiv.
NVSG_API void | GLUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
Replacement of glUniform3f.
NVSG_API void | GLUniform3fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform3fv.
NVSG_API void | GLUniform3i (GLint location, GLint v0, GLint v1, GLint v2)
Replacement of glUniform3i.
NVSG_API void | GLUniform3iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform3iv.
NVSG_API void | GLUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2)
Replacement of glUniform3ui.
NVSG_API void | GLUniform3uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform3uiv.
NVSG_API void | GLUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
Replacement of glUniform4f.
NVSG_API void | GLUniform4fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform4fv.
NVSG_API void | GLUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
Replacement of glUniform4i.
NVSG_API void | GLUniform4iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform4iv.
NVSG_API void | GLUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
Replacement of glUniform4ui.
NVSG_API void | GLUniform4uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform4uiv.
NVSG_API void | GLUniformBuffer (GLuint program, GLint location, GLuint buffer)
Replacement of glUniformBufferEXT.
NVSG_API void | GLUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2fv.
NVSG_API void | GLUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2x3fv.
NVSG_API void | GLUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2x4fv.
NVSG_API void | GLUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3fv.
NVSG_API void | GLUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3x2fv.
NVSG_API void | GLUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3x4fv.
NVSG_API void | GLUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4fv.
NVSG_API void | GLUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4x2fv.
NVSG_API void | GLUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4x3fv.
NVSG_API GLboolean | GLUnmapBuffer (GLenum target)
Replacement of glUnmapBuffer.
NVSG_API void | GLUseProgram (GLuint program)
Replacement of glUseProgram.
NVSG_API void | GLUseProgramObject (GLhandleARB programObj)
Replacement of glUseProgramObjectARB.
NVSG_API void | GLValidateProgram (GLuint program)
Replacement of glValidateProgram.
NVSG_API void | GLVertex2d (GLdouble x, GLdouble y)
Replacement of glVertex2d.
NVSG_API void | GLVertex2dv (const GLdouble *v)
Replacement of glVertex2dv.
NVSG_API void | GLVertex2f (GLfloat x, GLfloat y)
Replacement of glVertex2f.
NVSG_API void | GLVertex2fv (const GLfloat *v)
Replacement of glVertex2fv.
NVSG_API void | GLVertex2h (GLhalf x, GLhalf y)
Replacement of glVertex2hNV.
NVSG_API void | GLVertex2hv (const GLhalf *v)
Replacement of glVertex2hv.
NVSG_API void | GLVertex2i (GLint x, GLint y)
Replacement of glVertex2i.
NVSG_API void | GLVertex2iv (const GLint *v)
Replacement of glVertex2iv.
NVSG_API void | GLVertex2s (GLshort x, GLshort y)
Replacement of glVertex2s.
NVSG_API void | GLVertex2sv (const GLshort *v)
Replacement of glVertex2sv.
NVSG_API void | GLVertex3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertex3d.
NVSG_API void | GLVertex3dv (const GLdouble *v)
Replacement of glVertex3dv.
NVSG_API void | GLVertex3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertex3f.
NVSG_API void | GLVertex3fv (const GLfloat *v)
Replacement of glVertex3fv.
NVSG_API void | GLVertex3h (GLhalf x, GLhalf y, GLhalf z)
Replacement of glVertex3hNV.
NVSG_API void | GLVertex3hv (const GLhalf *v)
Replacement of glVertex3hv.
NVSG_API void | GLVertex3i (GLint x, GLint y, GLint z)
Replacement of glVertex3i.
NVSG_API void | GLVertex3iv (const GLint *v)
Replacement of glVertex3iv.
NVSG_API void | GLVertex3s (GLshort x, GLshort y, GLshort z)
Replacement of glVertex3s.
NVSG_API void | GLVertex3sv (const GLshort *v)
Replacement of glVertex3sv.
NVSG_API void | GLVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertex4d.
NVSG_API void | GLVertex4dv (const GLdouble *v)
Replacement of glVertex4dv.
NVSG_API void | GLVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertex4f.
NVSG_API void | GLVertex4fv (const GLfloat *v)
Replacement of glVertex4fv.
NVSG_API void | GLVertex4h (GLhalf x, GLhalf y, GLhalf z, GLhalf w)
Replacement of glVertex4hNV.
NVSG_API void | GLVertex4hv (const GLhalf *v)
Replacement of glVertex4hv.
NVSG_API void | GLVertex4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glVertex4i.
NVSG_API void | GLVertex4iv (const GLint *v)
Replacement of glVertex4iv.
NVSG_API void | GLVertex4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertex4s.
NVSG_API void | GLVertex4sv (const GLshort *v)
Replacement of glVertex4sv.
NVSG_API void | GLVertexArrayRange (GLsizei size, const GLvoid *pointer)
Replacement of glVertexArrayRange.
NVSG_API void | GLVertexAttrib1d (GLuint index, GLdouble x)
Replacement of glVertexAttrib1d.
NVSG_API void | GLVertexAttrib1dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib1dv.
NVSG_API void | GLVertexAttrib1f (GLuint index, GLfloat x)
Replacement of glVertexAttrib1f.
NVSG_API void | GLVertexAttrib1fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib1fv.
NVSG_API void | GLVertexAttrib1h (GLuint index, GLhalf x)
Replacement of glVertexAttrib1h.
NVSG_API void | GLVertexAttrib1hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib1nv.
NVSG_API void | GLVertexAttrib1s (GLuint index, GLshort x)
Replacement of glVertexAttrib1s.
NVSG_API void | GLVertexAttrib1sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib1sv.
NVSG_API void | GLVertexAttrib2d (GLuint index, GLdouble x, GLdouble y)
Replacement of glVertexAttrib2d.
NVSG_API void | GLVertexAttrib2dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib2dv.
NVSG_API void | GLVertexAttrib2f (GLuint index, GLfloat x, GLfloat y)
Replacement of glVertexAttrib2f.
NVSG_API void | GLVertexAttrib2fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib2fv.
NVSG_API void | GLVertexAttrib2h (GLuint index, GLhalf x, GLhalf y)
Replacement of glVertexAttrib2h.
NVSG_API void | GLVertexAttrib2hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib2hv.
NVSG_API void | GLVertexAttrib2s (GLuint index, GLshort x, GLshort y)
Replacement of glVertexAttrib2s.
NVSG_API void | GLVertexAttrib2sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib2sv.
NVSG_API void | GLVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertexAttrib3d.
NVSG_API void | GLVertexAttrib3dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib3dv.
NVSG_API void | GLVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertexAttrib3f.
NVSG_API void | GLVertexAttrib3fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib3fv.
NVSG_API void | GLVertexAttrib3h (GLuint index, GLhalf x, GLhalf y, GLhalf z)
Replacement of glVertexAttrib3h.
NVSG_API void | GLVertexAttrib3hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib3hv.
NVSG_API void | GLVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z)
Replacement of glVertexAttrib3s.
NVSG_API void | GLVertexAttrib3sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib3sv.
NVSG_API void | GLVertexAttrib4bv (GLuint index, const GLbyte *v)
Replacement of glVertexAttrib3bv.
NVSG_API void | GLVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertexAttrib4d.
NVSG_API void | GLVertexAttrib4dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib4dv.
NVSG_API void | GLVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertexAttrib4f.
NVSG_API void | GLVertexAttrib4fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib4fv.
NVSG_API void | GLVertexAttrib4h (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w)
Replacement of glVertexAttrib4h.
NVSG_API void | GLVertexAttrib4hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib4hv.
NVSG_API void | GLVertexAttrib4iv (GLuint index, const GLint *v)
Replacement of glVertexAttrib4iv.
NVSG_API void | GLVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertexAttrib4s.
NVSG_API void | GLVertexAttrib4sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib4sv.
NVSG_API void | GLVertexAttrib4ub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
Replacement of glVertexAttrib4ub.
NVSG_API void | GLVertexAttrib4ubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttrib4ubv.
NVSG_API void | GLVertexAttrib4uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttrib4uiv.
NVSG_API void | GLVertexAttrib4usv (GLuint index, const GLushort *v)
Replacement of glVertexAttrib4usv.
NVSG_API void | GLVertexAttrib4Nbv (GLuint index, const GLbyte *v)
Replacement of glVertexAttrib4Nbv.
NVSG_API void | GLVertexAttrib4Niv (GLuint index, const GLint *v)
Replacement of glVertexAttrib4Niv.
NVSG_API void | GLVertexAttrib4Nsv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib4Nsv.
NVSG_API void | GLVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
Replacement of glVertexAttrib4Nub.
NVSG_API void | GLVertexAttrib4Nubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttrib4Nubv.
NVSG_API void | GLVertexAttrib4Nuiv (GLuint index, const GLuint *v)
Replacement of glVertexAttrib4Nuiv.
NVSG_API void | GLVertexAttrib4Nusv (GLuint index, const GLushort *v)
Replacement of glVertexAttrib4Nusv.
NVSG_API void | GLVertexAttribI1i (GLuint index, GLint x)
Replacement of glVertexAttribI1iEXT.
NVSG_API void | GLVertexAttribI1iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI1ivEXT.
NVSG_API void | GLVertexAttribI1ui (GLuint index, GLuint x)
Replacement of glVertexAttribI1uiExt.
NVSG_API void | GLVertexAttribI1uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI1iuvEXT.
NVSG_API void | GLVertexAttribI2i (GLuint index, GLint x, GLint y)
Replacement of glVertexAttribI2iEXT.
NVSG_API void | GLVertexAttribI2iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI2ivEXT.
NVSG_API void | GLVertexAttribI2ui (GLuint index, GLuint x, GLuint y)
Replacement of glVertexAttribI2uiExt.
NVSG_API void | GLVertexAttribI2uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI2uivEXT.
NVSG_API void | GLVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z)
Replacement of glVertexAttribI3iEXT.
NVSG_API void | GLVertexAttribI3iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI3ivEXT.
NVSG_API void | GLVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z)
Replacement of glVertexAttribI3uiExt.
NVSG_API void | GLVertexAttribI3uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI3uivEXT.
NVSG_API void | GLVertexAttribI4bv (GLuint index, const GLbyte *v)
Replacement of glVertexAttribI4bvEXT.
NVSG_API void | GLVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glVertexAttribI4iEXT.
NVSG_API void | GLVertexAttribI4iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI4ivEXT.
NVSG_API void | GLVertexAttribI4sv (GLuint index, const GLshort *v)
Replacement of glVertexAttribI4svEXT.
NVSG_API void | GLVertexAttribI4ubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttribI4ubvEXT.
NVSG_API void | GLVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glVertexAttribI4uiExt.
NVSG_API void | GLVertexAttribI4uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI4uivEXT.
NVSG_API void | GLVertexAttribI4usv (GLuint index, const GLushort *v)
Replacement of glVertexAttribI4usvEXT.
NVSG_API void | GLVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribIPointerEXT.
NVSG_API void | GLVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribPointer.
NVSG_API void | GLVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribPointerNV.
NVSG_API void | GLVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs1dvNV.
NVSG_API void | GLVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs1fvNV.
NVSG_API void | GLVertexAttribs1hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs1hv.
NVSG_API void | GLVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs1svNV.
NVSG_API void | GLVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs2dvNV.
NVSG_API void | GLVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs2fvNV.
NVSG_API void | GLVertexAttribs2hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs2hv.
NVSG_API void | GLVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs2svNV.
NVSG_API void | GLVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs3dvNV.
NVSG_API void | GLVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs3fvNV.
NVSG_API void | GLVertexAttribs3hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs3hv.
NVSG_API void | GLVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs3svNV.
NVSG_API void | GLVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs4dvNV.
NVSG_API void | GLVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs4fvNV.
NVSG_API void | GLVertexAttribs4hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs4hv.
NVSG_API void | GLVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs4svNV.
NVSG_API void | GLVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v)
Replacement of glVertexAttribs4svNV.
NVSG_API void | GLVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexPointer.
NVSG_API void | GLViewport (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glViewport.
NVSG_API void | GLWindowPos2d (GLdouble x, GLdouble y)
Replacement of glWindowPos2d.
NVSG_API void | GLWindowPos2dv (const GLdouble *p)
Replacement of glWindowPos2dv.
NVSG_API void | GLWindowPos2f (GLfloat x, GLfloat y)
Replacement of glWindowPos2f.
NVSG_API void | GLWindowPos2fv (const GLfloat *p)
Replacement of glWindowPos2fv.
NVSG_API void | GLWindowPos2i (GLint x, GLint y)
Replacement of glWindowPos2i.
NVSG_API void | GLWindowPos2iv (const GLint *p)
Replacement of glWindowPos2iv.
NVSG_API void | GLWindowPos2s (GLshort x, GLshort y)
Replacement of glWindowPos2s.
NVSG_API void | GLWindowPos2sv (const GLshort *p)
Replacement of glWindowPos2sv.
NVSG_API void | GLWindowPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glWindowPos3d.
NVSG_API void | GLWindowPos3dv (const GLdouble *p)
Replacement of glWindowPos3dv.
NVSG_API void | GLWindowPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glWindowPos3f.
NVSG_API void | GLWindowPos3fv (const GLfloat *p)
Replacement of glWindowPos3fv.
NVSG_API void | GLWindowPos3i (GLint x, GLint y, GLint z)
Replacement of glWindowPos3i.
NVSG_API void | GLWindowPos3iv (const GLint *p)
Replacement of glWindowPos3iv.
NVSG_API void | GLWindowPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glWindowPos3s.
NVSG_API void | GLWindowPos3sv (const GLshort *p)
Replacement of glWindowPos3sv.
NVSG_API GLboolean | GLIsRenderbuffer (GLuint renderbuffer)
Replacement of glIsRenderbufferEXT.
NVSG_API void | GLBindRenderbuffer (GLenum target, GLuint renderbuffer)
Replacement of glBindRenderbufferEXT.
NVSG_API void | GLDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers)
Replacement of glDeleteRenderbuffersEXT.
NVSG_API void | GLGenRenderbuffers (GLsizei n, GLuint *renderbuffers)
Replacement of glGenRenderbuffersEXT.
NVSG_API void | GLRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageEXT.
NVSG_API void | GLRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageMultisampleEXT.
NVSG_API void | GLRenderbufferStorageMultisampleCoverage (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageMultisampleCoverageNV.
NVSG_API void | GLGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetRenderbufferParameterivEXT.
NVSG_API GLboolean | GLIsFramebuffer (GLuint framebuffer)
Replacement of glIsFramebufferEXT.
NVSG_API void | GLBindFramebuffer (GLenum target, GLuint framebuffer)
Replacement of glBindFramebufferEXT.
NVSG_API void | GLDeleteFramebuffers (GLsizei n, const GLuint *framebuffers)
Replacement of glDeleteFramebuffersEXT.
NVSG_API void | GLGenFramebuffers (GLsizei n, GLuint *framebuffers)
Replacement of glGenFramebuffersEXT.
NVSG_API GLenum | GLCheckFramebufferStatus (GLenum target)
Replacement of glCheckFramebufferStatusEXT.
NVSG_API void | GLFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Replacement of glFramebufferTexture1DEXT.
NVSG_API void | GLFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Replacement of glFramebufferTexture2DEXT.
NVSG_API void | GLFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
Replacement of glFramebufferTexture3DEXT.
NVSG_API void | GLFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
Replacement of glFramebufferTextureLayerEXT.
NVSG_API void | GLFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
Replacement of glFramebufferRenderbufferEXT.
NVSG_API void | GLGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params)
Replacement of glGetFramebufferAttachmentParameterivEXT.
NVSG_API void | GLGenerateMipmap (GLenum target)
Replacement of glGenerateMipmapEXT.
NVSG_API void | GLGPUSyncGetHandleSize (GLuint *initSize, GLuint *mapSize)
NVSG_API void | GLGPUSyncInit (GLvoid *syncData)
NVSG_API void | GLGPUSyncEnd (GLvoid *syncData)
NVSG_API void | GLGPUSyncMapBuffer (GLvoid *syncData)
NVSG_API void | GLGPUSyncUnmapBuffer (GLvoid *syncData)
NVSG_API void | GLGPUSyncCopyBuffer (GLuint offset, GLuint size, GLvoid *syncData)
NVSG_API void | GLGPUSyncAcquire (GLvoid *syncData)
NVSG_API void | GLGPUSyncRelease (GLvoid *syncData)
NVSG_API void | GLPatchParameterfv (GLenum pname, const GLfloat *values)
Replacement of glPatchParameterfvNV.
NVSG_API void | GLPatchParameteri (GLenum pname, GLint value)
Replacement of glPatchParameteriNV.
NVSG_API GLvoid * | GLMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
Maps a range within the buffer to client space.
NVSG_API void | GLFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length)
Marks the range of the mapped buffer as ready to use by GL. When a buffer was mapped with GLMapBufferRange and the manual flush bit was set, this function allows to mark the range valid. Once valid, other GL operations depending on the specified memory range can proceed.
NVSG_API void | GLCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
Allows direct memory copy between buffer objects.
NVSG_API void | GLTexImage2DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
Establishes data storage for multi-sampled textures.
NVSG_API void | GLTexImage3DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
Establishes data storage for multi-sampled textures.
NVSG_API void | GLGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val)
Allows to retrieve the sample location.
NVSG_API void | GLSampleMaski (GLuint index, GLbitfield mask)
When GL_SAMPLE_MASK is enabled this function allows to specify the mask the fragment coverage is ANDed with.
NVSG_API void | GLBindVertexArray (GLuint array)
NVSG_API void | GLDeleteVertexArrays (GLsizei n, const GLuint *arrays)
NVSG_API void | GLGenVertexArrays (GLsizei n, GLuint *arrays)
NVSG_API void | GLIsVertexArray (GLuint array)
NVSG_API void | GLDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
NVSG_API void | GLDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
NVSG_API void | GLDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam)
NVSG_API GLuint | GLGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
NVSG_API void | GLPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1)
NVSG_API void | GLPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3)
NVSG_API void | GLGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params)
NVSG_API void | GLGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params)
NVSG_API void | GLGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params)
NVSG_API void | GLGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params)
NVSG_API void | GLBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length)
NVSG_API void | GLVertexFormatNV (GLint size, GLenum type, GLsizei stride)
NVSG_API void | GLNormalFormatNV (GLenum type, GLsizei stride)
NVSG_API void | GLColorFormatNV (GLint size, GLenum type, GLsizei stride)
NVSG_API void | GLIndexFormatNV (GLenum type, GLsizei stride)
NVSG_API void | GLTexCoordFormatNV (GLint size, GLenum type, GLsizei stride)
NVSG_API void | GLEdgeFlagFormatNV (GLsizei stride)
NVSG_API void | GLSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride)
NVSG_API void | GLFogCoordFormatNV (GLenum type, GLsizei stride)
NVSG_API void | GLVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride)
NVSG_API void | GLVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride)
NVSG_API void | GLGetIntegerui64i_vNV (GLenum target, GLuint index, GLuint64EXT *data)
NVSG_API void | GLGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params)
NVSG_API GLboolean | GLIsBufferResidentNV (GLenum target)
NVSG_API void | GLMakeBufferNonResidentNV (GLenum target)
NVSG_API void | GLMakeBufferResidentNV (GLenum target, GLenum access)
NVSG_API void | GLGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params)
NVSG_API GLboolean | GLIsNamedBufferResidentNV (GLuint buffer)
NVSG_API void | GLMakeNamedBufferNonResidentNV (GLuint buffer)
NVSG_API void | GLMakeNamedBufferResidentNV (GLuint buffer, GLenum access)
NVSG_API void | GLGetIntegerui64vNV (GLenum target, GLuint64EXT *data)
NVSG_API void | GLUniformui64NV (GLint location, GLuint64EXT v0)
NVSG_API void | GLUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value)
NVSG_API void | GLGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params)
NVSG_API void | GLProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT v0)
NVSG_API void | GLProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
NVSG_API void | GLBeginVideoCaptureNV (GLuint video_capture_slot)
NVSG_API void | GLBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset)
NVSG_API void | GLBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture)
NVSG_API void | GLEndVideoCaptureNV (GLuint video_capture_slot)
NVSG_API void | GLGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params)
NVSG_API void | GLGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params)
NVSG_API void | GLGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params)
NVSG_API void | GLGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params)
NVSG_API GLenum | GLVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time)
NVSG_API void | GLVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params)
NVSG_API void | GLVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params)
NVSG_API void | GLVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params)
NVSG_API void | GLClientAttribDefaultEXT (GLbitfield mask)
NVSG_API void | GLPushClientAttribDefaultEXT (GLbitfield mask)
NVSG_API void | GLMatrixLoadfEXT (GLenum mode, const GLfloat *m)
NVSG_API void | GLMatrixLoaddEXT (GLenum mode, const GLdouble *m)
NVSG_API void | GLMatrixMultfEXT (GLenum mode, const GLfloat *m)
NVSG_API void | GLMatrixMultdEXT (GLenum mode, const GLdouble *m)
NVSG_API void | GLMatrixLoadIdentityEXT (GLenum mode)
NVSG_API void | GLMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
NVSG_API void | GLMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
NVSG_API void | GLMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z)
NVSG_API void | GLMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z)
NVSG_API void | GLMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z)
NVSG_API void | GLMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z)
NVSG_API void | GLMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
NVSG_API void | GLMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
NVSG_API void | GLMatrixPopEXT (GLenum mode)
NVSG_API void | GLMatrixPushEXT (GLenum mode)
NVSG_API void | GLMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m)
NVSG_API void | GLMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m)
NVSG_API void | GLMatrixMultTransposefEXT (GLenum mode, const GLfloat *m)
NVSG_API void | GLMatrixMultTransposedEXT (GLenum mode, const GLdouble *m)
NVSG_API void | GLTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param)
NVSG_API void | GLTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params)
NVSG_API void | GLTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param)
NVSG_API void | GLTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
NVSG_API void | GLTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
NVSG_API void | GLCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
NVSG_API void | GLCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
NVSG_API void | GLCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
NVSG_API void | GLGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
NVSG_API void | GLGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params)
NVSG_API void | GLGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
NVSG_API void | GLGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)
NVSG_API void | GLGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)
NVSG_API void | GLTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
NVSG_API void | GLMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param)
NVSG_API void | GLMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
NVSG_API void | GLMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param)
NVSG_API void | GLMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
NVSG_API void | GLMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
NVSG_API void | GLCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
NVSG_API void | GLCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
NVSG_API void | GLCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
NVSG_API void | GLGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
NVSG_API void | GLGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
NVSG_API void | GLGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
NVSG_API void | GLGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params)
NVSG_API void | GLGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params)
NVSG_API void | GLMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
NVSG_API void | GLCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
NVSG_API void | GLBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture)
NVSG_API void | GLEnableClientStateIndexedEXT (GLenum array, GLuint index)
NVSG_API void | GLDisableClientStateIndexedEXT (GLenum array, GLuint index)
NVSG_API void | GLMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
NVSG_API void | GLMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param)
NVSG_API void | GLMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
NVSG_API void | GLMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param)
NVSG_API void | GLMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
NVSG_API void | GLMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param)
NVSG_API void | GLMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params)
NVSG_API void | GLMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param)
NVSG_API void | GLMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params)
NVSG_API void | GLMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param)
NVSG_API void | GLMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params)
NVSG_API void | GLGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
NVSG_API void | GLGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
NVSG_API void | GLGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params)
NVSG_API void | GLGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params)
NVSG_API void | GLGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params)
NVSG_API void | GLGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data)
NVSG_API void | GLGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data)
NVSG_API void | GLGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid **data)
NVSG_API void | GLCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img)
NVSG_API void | GLCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
NVSG_API void | GLGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img)
NVSG_API void | GLNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string)
NVSG_API void | GLNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
NVSG_API void | GLNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params)
NVSG_API void | GLNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
NVSG_API void | GLNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params)
NVSG_API void | GLGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params)
NVSG_API void | GLGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params)
NVSG_API void | GLGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params)
NVSG_API void | GLGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string)
NVSG_API void | GLNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params)
NVSG_API void | GLNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
NVSG_API void | GLNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params)
NVSG_API void | GLNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params)
NVSG_API void | GLNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
NVSG_API void | GLNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params)
NVSG_API void | GLNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params)
NVSG_API void | GLGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params)
NVSG_API void | GLGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params)
NVSG_API void | GLTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
NVSG_API void | GLTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params)
NVSG_API void | GLGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
NVSG_API void | GLGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params)
NVSG_API void | GLMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
NVSG_API void | GLMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params)
NVSG_API void | GLGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
NVSG_API void | GLGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params)
NVSG_API void | GLProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0)
NVSG_API void | GLProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1)
NVSG_API void | GLProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
NVSG_API void | GLProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
NVSG_API void | GLProgramUniform1iEXT (GLuint program, GLint location, GLint v0)
NVSG_API void | GLProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1)
NVSG_API void | GLProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
NVSG_API void | GLProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
NVSG_API void | GLProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
NVSG_API void | GLProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
NVSG_API void | GLProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
NVSG_API void | GLProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
NVSG_API void | GLProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
NVSG_API void | GLProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
NVSG_API void | GLProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
NVSG_API void | GLProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
NVSG_API void | GLProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
NVSG_API void | GLProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0)
NVSG_API void | GLProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1)
NVSG_API void | GLProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
NVSG_API void | GLProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
NVSG_API void | GLProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
NVSG_API void | GLProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
NVSG_API void | GLProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
NVSG_API void | GLProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
NVSG_API void | GLNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage)
NVSG_API void | GLNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data)
NVSG_API GLvoid * | GLMapNamedBufferEXT (GLuint buffer, GLenum access)
NVSG_API GLboolean | GLUnmapNamedBufferEXT (GLuint buffer)
NVSG_API void | GLGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params)
NVSG_API void | GLGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid **params)
NVSG_API void | GLGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data)
NVSG_API void | GLTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
NVSG_API void | GLMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer)
NVSG_API void | GLNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
NVSG_API void | GLGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params)
NVSG_API GLenum | GLCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target)
NVSG_API void | GLNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
NVSG_API void | GLNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
NVSG_API void | GLNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
NVSG_API void | GLNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
NVSG_API void | GLGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
NVSG_API void | GLGenerateTextureMipmapEXT (GLuint texture, GLenum target)
NVSG_API void | GLGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target)
NVSG_API void | GLFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode)
NVSG_API void | GLFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs)
NVSG_API void | GLFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode)
NVSG_API void | GLGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
NVSG_API void | GLNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
NVSG_API void | GLNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
NVSG_API void | GLNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
NVSG_API void | GLNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
NVSG_API void | GLNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)
NVSG_API void | GLTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer)
NVSG_API void | GLMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer)
NVSG_API void | GLUploadBuffers ()
Uploads all pending buffers.
NVSG_API BOOL | WGLBindTexImage (HPBUFFERARB hPbuffer, int iBuffer)
Replacement of wglBindTexImageARB.
NVSG_API BOOL | WGLChoosePixelFormat (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats)
Replacement of wglChoosePixelFormatARB.
NVSG_API BOOL | WGLGetPixelFormatAttribiv (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues)
NVSG_API BOOL | WGLGetPixelFormatAttribfv (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues)
Replacement of wglGetPixelFormatAttribfvARB.
NVSG_API HGLRC | WGLCreateContext (HDC hdc)
Replacement of wglCreateContext.
NVSG_API HPBUFFERARB | WGLCreatePbuffer (HDC hdc, int pixelFormat, int width, int height, const int *attribList)
Replacement of wglCreatePbufferARB.
NVSG_API BOOL | WGLDeleteContext (HGLRC hglrc)
Replacement of wglDeleteContext.
NVSG_API BOOL | WGLDestroyPbuffer (HPBUFFERARB hPbuffer)
Replacement of wglDestroyPbufferARB.
NVSG_API HGLRC | WGLGetCurrentContext (void)
Replacement for wglGetCurrenContext.
NVSG_API HDC | WGLGetCurrentDC (void)
Replacement for wglGetCurrentDC.
NVSG_API BOOL | WGLMakeCurrent (HDC hdc, HGLRC hglrc)
NVSG_API HDC | WGLGetPbufferDC (HPBUFFERARB hPbuffer)
Replacement of wglGetPbufferDCARB.
NVSG_API BOOL | WGLQueryPbuffer (HPBUFFERARB hPbuffer, int attribute, int *value)
Replacement of wglQueryPbufferARB.
NVSG_API int | WGLReleasePbufferDC (HPBUFFERARB hPbuffer, HDC hdc)
Replacement of wglReleasePbufferDCARB.
NVSG_API BOOL | WGLReleaseTexImage (HPBUFFERARB hPbuffer, int iBuffer)
Replacement of wglReleaseTexImageARB.
NVSG_API BOOL | WGLShareLists (HGLRC hglrc1, HGLRC hglrc2)
NVSG_API BOOL | WGLNotifyShareLists (HGLRC hglrc1, HGLRC hglrc2)
NVSG_API BOOL | WGLJoinSwapGroupNV (HDC hDC, GLuint group)
Replacement of wglJointSwapGroupNV.
NVSG_API BOOL | WGLBindSwapBarrierNV (GLuint group, GLuint barrier)
Replacement of wglBindSwapBarrierNV.
NVSG_API BOOL | WGLQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier)
Replacement of wglQuerySwapGroupNV.
NVSG_API BOOL | WGLQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers)
Replacement of wglQueryMaxSwapGroupsNV.
NVSG_API BOOL | WGLQueryFrameCountNV (HDC hDC, GLuint *count)
Replacement of wglQueryFrameCountNV.
NVSG_API BOOL | WGLResetFrameCountNV (HDC hDC)
Replacement of wglResetFrameCountNV.
NVSG_API BOOL | WGLEnumGpus (UINT iIndex, HGPUNV *hGpu)
Replacement of wglEnumGpusNV.
NVSG_API BOOL | WGLEnumGpuDevices (HGPUNV hGpu, UINT iIndex, PGPU_DEVICE pGpuDevice)
Replacement of wglEnumGpuDevicesNV.
NVSG_API HDC | WGLCreateAffinityDC (const HGPUNV *pGpuList)
Replacement for wglCreateAffinityDVNV.
NVSG_API BOOL | WGLEnumGpusFromAffinityDC (HDC hAffinityDC, UINT iIndex, HGPUNV *hGpu)
Replacement for wglEnumGpusFromAffinityDCNV.
NVSG_API BOOL | WGLDeleteDC (HDC hAffinityDC)
Replacement for wglDeleteDCNV.
NVSG_API BOOL | WGLSwapInterval (int interval)
Replacement for wglSwapIntervalEXT.
NVSG_API int | WGLGetSwapInterval (void)
Replacement for wglGetSwapIntervalEXT.
NVSG_API void | WGLAttachContext (HDC, HGLRC)
NVSG_API bool | WGLIsAttached (HGLRC)
NVSG_API void | WGLDetachContext (HGLRC)
NVSG_API int | WGLEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList)
Replacement for wglEnumerateVideoDevicesNV.
NVSG_API BOOL | WGLBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList)
Replacement for wglBindVideoDeviceNV.
NVSG_API BOOL | WGLQueryCurrentContextNV (int iAttribute, int *piValue)
Replacement for wglQueryCurrentContextNV.
NVSG_API BOOL | WGLBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice)
NVSG_API UINT | WGLEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList)
NVSG_API BOOL | WGLLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice)
NVSG_API BOOL | WGLQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue)
NVSG_API BOOL | WGLReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice)
NVSG_API GLXContext | GLXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
Replacement of glXCreateContext.
NVSG_API void | GLXDestroyContext (Display *dpy, GLXContext ctx)
Replacement of glXDestroyContext.
NVSG_API GLXContext | GLXGetCurrentContext ()
Replacement of glXGetCurrentContext.
NVSG_API GLXDrawable | GLXGetCurrentDrawable ()
Replacement of glXGetCurrentDrawable.
NVSG_API Bool | GLXMakeCurrent (Display *dpy, GLXDrawable drawable, GLXContext ctx)
NVSG_API void | GLXAttachContext (Display *, GLXContext)
NVSG_API bool | GLXNotifyShared (GLXContext, GLXContext)
NVSG_API bool | GLXIsAttached (GLXContext)
NVSG_API void | GLXDetachContext (GLXContext)
NVSG_API int | GLXSwapInterval (int)
NVSG_API int | GLXGetVideoSync (unsigned int *)
NVSG_API int | GLXWaitVideoSync (int, int, unsigned int *)
NVSG_API Bool | GLXJoinSwapGroup (Display *dpy, GLXDrawable drawable, GLuint group)
NVSG_API Bool | GLXBindSwapBarrier (Display *dpy, GLuint group, GLuint barrier)
NVSG_API Bool | GLXQuerySwapGroup (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier)
NVSG_API Bool | GLXQueryMaxSwapGroups (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers)
NVSG_API Bool | GLXQueryFrameCount (Display *dpy, int screen, GLuint *count)
NVSG_API Bool | GLXResetFrameCount (Display *dpy, int screen)
NVSG_API int | GLXGetVideoDevice (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice)
NVSG_API int | GLXReleaseVideoDevice (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice)
NVSG_API int | GLXBindVideoImage (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer)
NVSG_API int | GLXReleaseVideoImage (Display *dpy, GLXPbuffer pbuf)
NVSG_API int | GLXSendPbufferToVideo (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock)
NVSG_API int | GLXGetVideoInfo (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputVideo, unsigned long *pulCounterOutputPbuffer)
NVSG_API void | GLXBindTexImage (Display *, GLXDrawable, int, const int *)
NVSG_API void | GLXReleaseTexImage (Display *, GLXDrawable, int)
NVSG_API unsigned int * | GLXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements)
NVSG_API int | GLXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list)
NVSG_API int | GLXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device)
NVSG_API GLXVideoCaptureDeviceNV * | GLXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements)
NVSG_API void | GLXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
NVSG_API int | GLXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value)
NVSG_API void | GLXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
NVSG_API void | GLResetAlphaFunc ()
Helper function to reset alpha function and alpha reference value.
NVSG_API void | GLResetAlphaTest ()
Helper function to reset the enable state of the alpha test.
NVSG_API void | GLResetAutoNormal ()
Helper function to reset the enable state of the auto normal calculation.
NVSG_API void | GLResetBlend ()
Helper function to reset the enable state of the blending.
NVSG_API void | GLResetBlendFunc ()
Helper function to reset the blend function.
NVSG_API void | GLResetBlendFuncSeparate ()
Helper function to reset the blend function, using the GL_EXT_blend_func_separate extention.
NVSG_API void | GLResetClearColor ()
Helper function to reset the clear color.
NVSG_API void | GLResetClearDepth ()
Helper function to reset the clear depth.
NVSG_API void | GLResetClearStencil ()
Helper function to reset the stencil clear value.
NVSG_API void | GLResetClipPlane (GLenum plane)
Helper function to reset the enable state of the clip plane plane.
NVSG_API void | GLResetClipPlaneEquation (GLenum plane)
Helper function to reset a clip plane equation.
NVSG_API void | GLResetColorLogicOp ()
Helper function to reset the enable state of the color logic operation.
NVSG_API void | GLResetColorMask ()
Helper function to reset the color mask.
NVSG_API void | GLResetColorMaterial ()
Helper function to reset the enable state of the color material.
NVSG_API void | GLResetColorMaterialMode ()
Helper function to reset the color material mode.
NVSG_API void | GLResetCullFace ()
Helper function to reset the enable state of face culling.
NVSG_API void | GLResetCullFaceMode ()
Helper function to reset the cull face mode.
NVSG_API void | GLResetDepthFunc ()
Helper function to reset the depth func.
NVSG_API void | GLResetDepthMask ()
Helper function to reset the depth mask.
NVSG_API void | GLResetDepthRange ()
Helper function to reset the depth range.
NVSG_API void | GLResetDepthTest ()
Helper function to reset the enable state of depth testing.
NVSG_API void | GLResetDither ()
Helper function to reset the enable state of dithering.
NVSG_API void | GLResetFog ()
Helper function to reset the the enable state of fogging.
NVSG_API void | GLResetFogColor ()
Helper function to reset the fog color.
NVSG_API void | GLResetFogDensity ()
Helper function to reset the fog density.
NVSG_API void | GLResetFogEnd ()
Helper function to reset the fog end value.
NVSG_API void | GLResetFogMode ()
Helper function to reset the fog mode.
NVSG_API void | GLResetFogStart ()
Helper function to reset the fog start value.
NVSG_API void | GLResetFrontFace ()
Helper function to reset the front face state.
NVSG_API void | GLResetLight (GLenum light)
Helper function to reset the enable state of the light light.
NVSG_API void | GLResetLighting ()
Helper function to reset the enable state of lighting.
NVSG_API void | GLResetLightAmbient (GLenum light)
Helper function to reset the ambient light color.
NVSG_API void | GLResetLightConstantAttenuation (GLenum light)
Helper function to reset the constant attenuation of the light light.
NVSG_API void | GLResetLightDiffuse (GLenum light)
Helper function to reset the diffuse color of the light light.
NVSG_API void | GLResetLightLinearAttenuation (GLenum light)
Helper function to reset the linear attenuation of the light light.
NVSG_API void | GLResetLightModelAmbient ()
Helper function to reset the ambient light color.
NVSG_API void | GLResetLightModelLocalViewer ()
Helper function to reset the local viewer setting.
NVSG_API void | GLResetLightModelTwoSide ()
Helper function to reset the two sided lighting state.
NVSG_API void | GLResetLightPosition (GLenum light)
Helper function to reset the position of the light light.
NVSG_API void | GLResetLightQuadraticAttenuation (GLenum light)
Helper function to reset the quadratic attenuation of the light light.
NVSG_API void | GLResetLightSpecular (GLenum light)
Helper function to reset the specular color of the light light.
NVSG_API void | GLResetLightSpotCutoff (GLenum light)
Helper function to reset the spot cutoff of the light light.
NVSG_API void | GLResetLightSpotDirection (GLenum light)
Helper function to reset the spot cutoff of the light light.
NVSG_API void | GLResetLightSpotExponent (GLenum light)
Helper function to reset the spot exponent of the light light.
NVSG_API void | GLResetLineSmooth ()
Helper function to reset the enable state of line smoothing.
NVSG_API void | GLResetLineStipple ()
Helper function to reset the enable state of line stippling.
NVSG_API void | GLResetLineStippleDefinition ()
Helper function to reset line stipple repeat and pattern.
NVSG_API void | GLResetLineWidth ()
Helper function to reset the line width.
NVSG_API void | GLResetLogicOp ()
Helper function to reset the enable state of logic operation.
NVSG_API void | GLResetMaterialAmbientBack ()
Helper function to reset the material back face ambient color.
NVSG_API void | GLResetMaterialAmbientFront ()
Helper function to reset the material front face ambient color.
NVSG_API void | GLResetMaterialAmbientFrontAndBack ()
Helper function to reset the material back and front face ambient color.
NVSG_API void | GLResetMaterialDiffuseBack ()
Helper function to reset the material back face diffuse color.
NVSG_API void | GLResetMaterialDiffuseFront ()
Helper function to reset the material front face diffuse color.
NVSG_API void | GLResetMaterialDiffuseFrontAndBack ()
Helper function to reset the material back and front face diffuse color.
NVSG_API void | GLResetMaterialEmissionBack ()
Helper function to reset the material back face emission color.
NVSG_API void | GLResetMaterialEmissionFront ()
Helper function to reset the material front face emission color.
NVSG_API void | GLResetMaterialEmissionFrontAndBack ()
Helper function to reset the material back and front face emission color.
NVSG_API void | GLResetMaterialShininessBack ()
Helper function to reset the material back face shininess.
NVSG_API void | GLResetMaterialShininessFront ()
Helper function to reset the material front face shininess.
NVSG_API void | GLResetMaterialShininessFrontAndBack ()
Helper function to reset the material back and front face shininess.
NVSG_API void | GLResetMaterialSpecularBack ()
Helper function to reset the material back face specular color.
NVSG_API void | GLResetMaterialSpecularFront ()
Helper function to reset the material front face specular color.
NVSG_API void | GLResetMaterialSpecularFrontAndBack ()
Helper function to reset the material back and front face specular color.
NVSG_API void | GLResetNormalize ()
Helper function to reset the enable state of GL_NORMALIZE.
NVSG_API void | GLResetRescaleNormal ()
Helper function to reset the enable state of GL_RESCALE_NORMAL.
NVSG_API void | GLResetPointSize ()
Helper function to reset the point size.
NVSG_API void | GLResetPointSmooth ()
Helper function to reset the enable state of point smoothing.
NVSG_API void | GLResetPolygonModeBack ()
Helper function to reset back face polygon mode.
NVSG_API void | GLResetPolygonModeFront ()
Helper function to reset front face polygon mode.
NVSG_API void | GLResetPolygonModeFrontAndBack ()
Helper function to reset back and front face polygon mode.
NVSG_API void | GLResetPolygonOffset ()
Helper function to reset the polygon offset.
NVSG_API void | GLResetPolygonOffsetFill ()
Helper function to reset the enable state of filled polygon offset.
NVSG_API void | GLResetPolygonOffsetLine ()
Helper function to reset the enable state of lined polygon offset.
NVSG_API void | GLResetPolygonOffsetPoint ()
Helper function to reset the enable state of pointed polygon offset.
NVSG_API void | GLResetPolygonSmooth ()
Helper function to reset the enable state of polygon smoothing.
NVSG_API void | GLResetPolygonStipple ()
Helper function to reset the enable state of polygon stippling.
NVSG_API void | GLResetScissor ()
Helper function to reset the scissor rectangle.
NVSG_API void | GLResetScissorTest ()
Helper function to reset the enable state of scissor testing.
NVSG_API void | GLResetShadeModel ()
Helper function to reset the shade model.
NVSG_API void | GLResetStencilFunc ()
Helper function to reset the stencil function values.
NVSG_API void | GLResetStencilMask ()
Helper function to reset the stencil mask.
NVSG_API void | GLResetStencilOp ()
Helper function to reset the stencil operation values.
NVSG_API void | GLResetStencilTest ()
Helper function to reset the enable state of stencil testing.
NVSG_API void | GLResetTexture (GLenum target)
Helper function to reset the enable state of texture target target.
NVSG_API void | GLCgGLBindEffect (nvsg::CgFxEffect *effect)
NVSG_API nvsg::CgFxEffect * | GLCgGLGetEffect ()
NVSG_API void | GLCgGLBindPass (nvsg::CgFxPass pass)
NVSG_API nvsg::CgFxPass | GLCgGLGetPass ()
NVSG_API void | GLCgGLBindProgram (nvsg::CgFxProgram program)
NVSG_API nvsg::CgFxProgram | GLCgGLGetProgram ()
NVSG_API void | GLCgGLApplyProgramSamplers ()
NVSG_API void | GLGenDisplayListCache (nvsg::DALHost *host, GLDisplayListCache *&cache)
NVSG_API void | GLDeleteDisplayListCaches ()
NVSG_API void | GLGenArrayBufferCache (nvsg::DALHost *host, GLArrayBufferCache *&cache)
NVSG_API void | GLGenElementArrayBufferCache (nvsg::DALHost *host, GLElementArrayBufferCache *&cache)
NVSG_API void | GLGenPixelBufferCache (nvsg::DALHost *host, GLPixelBufferCache *&cache)
NVSG_API void | GLDeleteBufferCaches ()
NVSG_API void | GLGenTextureCache (nvsg::DALHost *host, GLTextureCache *&cache)
NVSG_API void | GLGenTextureCache (nvsg::DALHost *host, GLTextureCache *&cache, GLuint texture, GLenum target)
NVSG_API void | GLDeleteTextureCaches ()
NVSG_API bool | GLIsValidDisplayListCache (const GLDisplayListCache *cache)
NVSG_API bool | GLIsValidArrayBufferCache (const GLArrayBufferCache *cache)
NVSG_API bool | GLIsValidElementArrayBufferCache (const GLElementArrayBufferCache *cache)
NVSG_API bool | GLIsValidPixelBufferCache (const GLPixelBufferCache *cache)
NVSG_API bool | GLIsValidTextureCache (const GLTextureCache *cache)
NVSG_API bool | GLGetTexImageFmt (GLTexImageFmt &tfmt, nvsg::Image::PixelFormat fmt, nvsg::Image::PixelDataType type, nvsg::TextureHost::TextureGPUFormat gpuFmt=nvsg::TextureHost::TGF_DEFAULT)
Returns a GLTexImageFmt according to the passed in PixelFormat and PixelDataType descriptors.
NVSG_API void | GLUploadTexImage1D (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API void | GLUploadTexImage2D (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API void | GLUploadTexImage3D (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API void | GLUploadTexImageCube (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API void | GLUploadTexImage1DArray (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API void | GLUploadTexImage2DArray (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API void | GLUploadTexImageRectangle (GLint intFmt, GLint usrFmt, GLint type, nvsg::TextureHost *, GLTextureCache *)
NVSG_API GLenum | GLGetTexWrapMode (nvsg::TextureWrapMode twm)
Translate an nvsg::TextureWrapMode into a GL-specific texture wrap mode as a GLenum.

Classes

class | GLLocks

Detailed Description

Wrapper for OpenGL functions to provide caching, extension handling, and, in debug mode, error handling per context.

A GLContext is defined per pair of <HDC,HGLRC> for Windows or <Display*,GLXContext> for Linux. It holds informations to cache the most important OpenGL states.
You will never have to use this class explicitly. For creation, deletion, and consistent interaction, instead of using the functions with the lowercase prefix wgl on Windows, use the corresponding functions with the uppercase prefix WGL. That is, instead of using wglCreateContext(), use WGLCreateContext(). On Linux, instead of using the prefix glX, use the prefix GLX.
To use it consistently, all OpenGL calls should be replaced by the corresponding functions with uppercase GL, defined in GLContext.h. I.e. instead of using glAccum(), you should use GLAccum(). For some of the OpenGL state handling functions, there are slightly faster specialized functions with uppercase GL. For example, instead of using glDisable(GL_BLEND), you could either use GLDisable(GL_BLEND) or the specialized function GLDisableBlend(). Note, that there might be states that are not covered with specialized functions.
In the debug build, all the functions with uppercase prefix also test for the OpenGL error code being GL_NO_ERROR and assert on failure.

Member Function Documentation

Display* getDisplay ( ) const [inline]

Get the Display of this GLContext (Linux only).

Returns:
The pointer to the Display of this GLContext.

Friends And Related Function Documentation

NVSG_API void GLAccum | ( | GLenum | op,
 |  | GLfloat | value
 | ) | [friend]

Replacement of glAccum.

This function asserts on the result before returning.

NVSG_API void GLActiveStencilFace ( GLenum face ) [friend]

Replacement of glActiveStencilFaceEXT.

This function asserts on the result before returning.

NVSG_API void GLActiveTexture ( GLenum texture ) [friend]

Replacement of glActiveTexture.

This function stores the texture to activate for subsequent texture operations.

NVSG_API void GLActiveVarying | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [friend]

Replacement of glActiveVaryingNV.

This function asserts on the result before returning.

NVSG_API void GLAlphaFunc | ( | GLenum | func,
 |  | GLclampf | ref
 | ) | [friend]

Replacement of glAlphaFunc.

This function caches the alpha func and ref and asserts on the result before returning.

NVSG_API GLboolean GLAreProgramsResident | ( | GLsizei | n,
 |  | const GLuint * | programs,
 |  | GLboolean * | residences
 | ) | [friend]

Replacement of glAreProgramsResidentNV.

This function asserts on the result before returning.

NVSG_API GLboolean GLAreTexturesResident | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | GLboolean * | residences
 | ) | [friend]

Replacement of glAreTexturesResident.

This function asserts on the result before returning.

NVSG_API void GLArrayElement ( GLint i ) [friend]

Replacement of glArrayElement.

This function asserts on the result before returning.

NVSG_API void GLAttachObject | ( | GLhandleARB | containerObj,
 |  | GLhandleARB | attachedObj
 | ) | [friend]

Replacement of glAttachObjectARB.

This function asserts on the result before returning.

NVSG_API void GLAttachShader | ( | GLuint | program,
 |  | GLuint | shader
 | ) | [friend]

Replacement of glAttachShader.

This function asserts on the result before returning.

NVSG_API void GLBegin ( GLenum mode ) [friend]

Replacement of glBegin.

This function asserts on the result before returning.

NVSG_API void GLBeginConditionalRenderNV | ( | GLuint | id,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glBeginConditionalRenderNV.

NVSG_API void GLBeginQuery | ( | GLenum | target,
 |  | GLuint | id
 | ) | [friend]

Replacement of glBeginQuery.

This function asserts on the result before returning.

NVSG_API void GLBeginTransformFeedbackNV ( GLenum primitiveMode ) [friend]

Replacement of glBeginTransformFeedbackNV.

NVSG_API void GLBeginTransformFeedback ( GLenum primitiveMode ) [friend]

Replacement of glBeginTransformFeedback.

NVSG_API void GLBlendColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [friend]

Replacement of glBlendColor.

NVSG_API void GLBindAttribLocation | ( | GLuint | program,
 |  | GLuint | index,
 |  | const GLchar * | name
 | ) | [friend]

Replacement of glBindAttribLocation.

NVSG_API void GLBindBuffer | ( | GLenum | target,
 |  | GLuint | id
 | ) | [friend]

Replacement of glBindBuffer.

This function asserts on the result before returning.

NVSG_API void GLBindBufferBaseNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer
 | ) | [friend]

Replacement of glBindBufferBaseNV.

This function asserts on the result before returning.

NVSG_API void GLBindBufferBase | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer
 | ) | [friend]

Replacement of glBindBufferBase.

This function asserts on the result before returning.

NVSG_API void GLBindBufferOffsetNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset
 | ) | [friend]

Replacement of glBindBufferOffsetNV.

This function asserts on the result before returning.

NVSG_API void GLBindBufferRangeNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset,
 |  | GLsizeiptr | size
 | ) | [friend]

Replacement of glBindBufferRangeNV.

This function asserts on the result before returning.

NVSG_API void GLBindBufferRange | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset,
 |  | GLsizeiptr | size
 | ) | [friend]

Replacement of glBindBufferRange.

This function asserts on the result before returning.

NVSG_API void GLBindFragDataLocation | ( | GLuint | program,
 |  | GLuint | color,
 |  | const GLchar * | name
 | ) | [friend]

Replacement of glBindFragDataLocationEXT.

This function asserts on the result before returning.

NVSG_API void GLBindProgram | ( | GLenum | target,
 |  | GLuint | id
 | ) | [friend]

Replacement of glBindProgramARB.

This function hides the extension character of glBindProgramARB and asserts on the result before returning.

NVSG_API void GLBindTexture | ( | GLenum | target,
 |  | GLuint | texture
 | ) | [friend]

Replacement of glBindTexture.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLBitmap | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLfloat | xorig,
 |  | GLfloat | yorig,
 |  | GLfloat | xmove,
 |  | GLfloat | ymove,
 |  | const GLubyte * | bitmap
 | ) | [friend]

Replacement of glBitmap.

This function asserts on the result before returning.

NVSG_API void GLBlendEquation ( GLenum mode ) [friend]

Replacement of glBlendEquation.

This function asserts on the result before returning.

NVSG_API void GLBlendEquationSeparate | ( | GLenum | modeRGB,
 |  | GLenum | modeAlpha
 | ) | [friend]

Replacement of glBlendEquationSeparate.

This function asserts on the result before returning.

NVSG_API void GLBlendFunc | ( | GLenum | sfactor,
 |  | GLenum | dfactor
 | ) | [friend]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

NVSG_API void GLBlendFuncSeparate | ( | GLenum | sfactorRGB,
 |  | GLenum | dfactorRGB,
 |  | GLenum | sfactorAlpha,
 |  | GLenum | dfactorAlpha
 | ) | [friend]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

NVSG_API void GLBlitFramebuffer | ( | GLint | srcX0,
 |  | GLint | srcY0,
 |  | GLint | srcX1,
 |  | GLint | srcY1,
 |  | GLint | dstX0,
 |  | GLint | dstY0,
 |  | GLint | dstX1,
 |  | GLint | dstY1,
 |  | GLbitfield | mask,
 |  | GLenum | filter
 | ) | [friend]

Replacement of glBlitFramebufferEXT.

Parameters:
srcX0 | source lower left X pos
srcY0 | source lower left Y pos
srcX1 | source upper right X pos
srcY1 | source upper right Y pos
dstX0 | destination lower left X pos
dstY0 | destination lower left Y pos
dstX1 | destination upper right X pos
dstY1 | destination uppoer right Y pos
mask | mask containing bits for COLOR, DEPTH, or STENCIL to blit.
filter | filter to use if src and dst are not the same size. Must be GL_NEAREST or GL_LINEAR. Must be GL_NEAREST if mask contains anything but the color buffer.
Note:
It is assumed that the extension GL_EXT_framebuffer_blit is supported.

This function asserts on no GL error.

NVSG_API void GLBufferData | ( | GLenum | target,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data,
 |  | GLenum | usage
 | ) | [friend]

Replacement of glBufferData.

This function asserts on the result before returning.

NVSG_API void GLBufferSubData | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data
 | ) | [friend]

Replacement of glBufferSubData.

This function and asserts on the result before returning.

NVSG_API void GLCallList ( GLuint list ) [friend]

Replacement of glCallList.

This function asserts on the result before returning.

NVSG_API void GLCallLists | ( | GLsizei | n,
 |  | GLenum | type,
 |  | const GLvoid * | lists
 | ) | [friend]

Replacement of glCallLists.

This function asserts on the result before returning.

NVSG_API void GLClampColor | ( | GLenum | target,
 |  | GLenum | clamp
 | ) | [friend]

Replacement of glClampColorARB.

This function asserts on the result before returning.

NVSG_API void GLClear ( GLbitfield mask ) [friend]

Replacement of glClear.

This function asserts on the result before returning.

NVSG_API void GLClearAccum | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [friend]

Replacement of glClearAccum.

This function asserts on the result before returning.

NVSG_API void GLClearColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [friend]

Replacement of glClearColor.

This function caches the clear color settings and asserts on the result before returning.

NVSG_API void GLClearColorIi | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [friend]

Replacement of glClearColorIiEXT.

This function asserts on the result before returning.

NVSG_API void GLClearColorIui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [friend]

Replacement of glClearColorIuiEXT.

This function asserts on the result before returning.

NVSG_API void GLClearDepth ( GLclampd depth ) [friend]

Replacement of glClearDepth.

This function caches the depth clear setting and asserts on the result before returning.

NVSG_API void GLClearDepthd ( GLdouble depth ) [friend]

Replacement of glClearDepthd.

This functions asserts on the result before returning.

NVSG_API void GLClearIndex ( GLfloat c ) [friend]

Replacement of glClearIndex.

This function asserts on the result before returning.

NVSG_API void GLClearStencil ( GLint s ) [friend]

Replacement of glClearStencil.

This function caches the stencil clear setting and asserts on the result before returning.

NVSG_API void GLClientActiveTexture ( GLenum texture ) [friend]

Replacement of glClientActiveTexture.

This functions caches the next active texture unit and asserts on the result before returning.

NVSG_API void GLClipPlane | ( | GLenum | plane,
 |  | const GLdouble * | equation
 | ) | [friend]

Replacement of glClipPlane.

This function asserts on the result before returning.

NVSG_API void GLColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [friend]

Replacement of glColor3b.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3bv ( const GLbyte * v ) [friend]

Replacement of glColor3bv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [friend]

Replacement of glColor3d.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3dv ( const GLdouble * v ) [friend]

Replacement of glColor3dv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [friend]

Replacement of glColor3f.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3fv ( const GLfloat * v ) [friend]

Replacement of glColor3fv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue
 | ) | [friend]

Replacement of glColor3hNV.

This function asserts on the result before returning.

NVSG_API void GLColor3hv ( const GLhalf * v ) [friend]

Replacement of glColor3hv.

This function asserts on the result before returning.

NVSG_API void GLColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [friend]

Replacement of glColor3i.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3iv ( const GLint * v ) [friend]

Replacement of glColor3iv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [friend]

Replacement of glColor3s.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3sv ( const GLshort * v ) [friend]

Replacement of glColor3sv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [friend]

Replacement of glColor3ub.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3ubv ( const GLubyte * v ) [friend]

Replacement of glColor3ubv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [friend]

Replacement of glColor3ui.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3uiv ( const GLuint * v ) [friend]

Replacement of glColor3uiv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [friend]

Replacement of glColor3us.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor3usv ( const GLushort * v ) [friend]

Replacement of glColor3usv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue,
 |  | GLbyte | alpha
 | ) | [friend]

Replacement of glColor4b.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4bv ( const GLbyte * v ) [friend]

Replacement of glColor4bv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue,
 |  | GLdouble | alpha
 | ) | [friend]

Replacement of glColor4d.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4dv ( const GLdouble * v ) [friend]

Replacement of glColor4dv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [friend]

Replacement of glColor4f.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4fv ( const GLfloat * v ) [friend]

Replacement of glColor4fv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue,
 |  | GLhalf | alpha
 | ) | [friend]

Replacement of glColor4hNV.

This function asserts on the result before returning.

NVSG_API void GLColor4hv ( const GLhalf * v ) [friend]

Replacement of glColor4hv.

This function asserts on the result before returning.

NVSG_API void GLColor4i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [friend]

Replacement of glColor4i.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4iv ( const GLint * v ) [friend]

Replacement of glColor4iv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue,
 |  | GLshort | alpha
 | ) | [friend]

Replacement of glColor4s.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4sv ( const GLshort * v ) [friend]

Replacement of glColor4sv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue,
 |  | GLubyte | alpha
 | ) | [friend]

Replacement of glColor4ub.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4ubv ( const GLubyte * v ) [friend]

Replacement of glColor4ubv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [friend]

Replacement of glColor4ui.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4uiv ( const GLuint * v ) [friend]

Replacement of glColor4uiv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue,
 |  | GLushort | alpha
 | ) | [friend]

Replacement of glColor4us.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColor4usv ( const GLushort * v ) [friend]

Replacement of glColor4usv.

This function caches the color values and asserts on the result before returning.

NVSG_API void GLColorMask | ( | GLboolean | red,
 |  | GLboolean | green,
 |  | GLboolean | blue,
 |  | GLboolean | alpha
 | ) | [friend]

Replacement of glColorMask.

This function asserts on the result before returning.

NVSG_API void GLColorMaskIndexed | ( | GLuint | index,
 |  | GLboolean | r,
 |  | GLboolean | g,
 |  | GLboolean | b,
 |  | GLboolean | a
 | ) | [friend]

Replacement of glColorMaskIndexedEXT.

This functions asserts on the result before returning.

NVSG_API void GLColorMaterial | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glColorMaterial.

This function asserts on the result before returning.

NVSG_API void GLColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glColorPointer.

This function caches the color pointer settings and asserts on the result before returning.

NVSG_API void GLColorSubTable | ( | GLenum | target,
 |  | GLsizei | start,
 |  | GLsizei | count,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | data
 | ) | [friend]

Replacement of glColorSubTable.

This function asserts on the result before returning.

NVSG_API void GLColorTable | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | table
 | ) | [friend]

Replacement of glColorTable.

This function asserts on the result before returning.

NVSG_API void GLColorTableParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glColorTableParameterfv.

This function asserts on the result before returning.

NVSG_API void GLColorTableParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glColorTableParameteriv.

This function asserts on the result before returning.

NVSG_API void GLCombinerInput | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | input,
 |  | GLenum | mapping,
 |  | GLenum | componentUsage
 | ) | [friend]

Replacement of glCombinerInput.

This function asserts on the result before returning.

NVSG_API void GLCombinerOutput | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | abOutput,
 |  | GLenum | cdOutput,
 |  | GLenum | sumOutput,
 |  | GLenum | scale,
 |  | GLenum | bias,
 |  | GLboolean | abDotProduct,
 |  | GLboolean | cdDotProduct,
 |  | GLboolean | muxSum
 | ) | [friend]

Replacement of glCombinerOutput.

This function asserts on the result before returning.

NVSG_API void GLCombinerParameterf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glCombinerParameterf.

This function asserts on the result before returning.

NVSG_API void GLCombinerParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glCombinerParameterfv.

This function asserts on the result before returning.

NVSG_API void GLCombinerParameteri | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glCombinerParameteri.

This function asserts on the result before returning.

NVSG_API void GLCombinerParameteriv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glCombinerParameteriv.

This function asserts on the result before returning.

NVSG_API void GLCombinerStageParameterfv | ( | GLenum | stage,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glCombinerStageParameterfv.

This function asserts on the result before returning.

NVSG_API void GLCompileShader ( GLuint shader ) [friend]

Replacement of glCompileShader.

This function asserts on the result before returning.

NVSG_API void GLCompressedTexImage1D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [friend]

Replacement of glCompressedTexImage1D.

This function hides the extension character of glCompressedTexImage1D, updates the active texture, and asserts on the result before returning.

NVSG_API void GLCompressedTexImage2D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [friend]

Replacement of glCompressedTexImage2D.

This function hides the extension character of glCompressedTexImage2D, updates the active texture, and asserts on the result before returning.

NVSG_API void GLCompressedTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [friend]

Replacement of glCompressedTexImage3D.

This function hides the extension character of glCompressedTexImage3D, updates the active texture, and asserts on the result before returning.

NVSG_API void GLCompressedTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [friend]

Replacement of glCompressedTexSubImage1D.

This updates the active texture and asserts on the result before returning.

NVSG_API void GLCompressedTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [friend]

Replacement of glCompressedTexSubImage2D.

This updates the active texture and asserts on the result before returning.

NVSG_API void GLCompressedTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [friend]

Replacement of glCompressedTexSubImage3D.

This updates the active texture and asserts on the result before returning.

NVSG_API void GLConvolutionFilter1D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | image
 | ) | [friend]

Replacement of glConvolutionFilter1D.

This function asserts on the result before returning.

NVSG_API void GLConvolutionFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | image
 | ) | [friend]

Replacement of glConvolutionFilter2D.

This function asserts on the result before returning.

NVSG_API void GLConvolutionParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | params
 | ) | [friend]

Replacement of glConvolutionParameterf.

This function asserts on the result before returning.

NVSG_API void GLConvolutionParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glConvolutionParameterfv.

This function asserts on the result before returning.

NVSG_API void GLConvolutionParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | params
 | ) | [friend]

Replacement of glConvolutionParameteri.

This function asserts on the result before returning.

NVSG_API void GLConvolutionParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glConvolutionParameteriv.

This function asserts on the result before returning.

NVSG_API void GLCopyColorSubTable | ( | GLenum | target,
 |  | GLsizei | start,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [friend]

Replacement of glCopyColorSubTable.

This function asserts on the result before returning.

NVSG_API void GLCopyColorTable | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [friend]

Replacement of glCopyColorTable.

This function asserts on the result before returning.

NVSG_API void GLCopyConvolutionFilter1D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [friend]

Replacement of glCopyConvolutionFilter1D.

This function asserts on the result before returning.

NVSG_API void GLCopyConvolutionFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glCopyConvolutionFilter2D.

This function asserts on the result before returning.

NVSG_API void GLCopyPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | type
 | ) | [friend]

Replacement of glCopyPixels.

This function asserts on the result before returning.

NVSG_API void GLCopyTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLint | border
 | ) | [friend]

Replacement of glCopyTexImage1D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLCopyTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border
 | ) | [friend]

Replacement of glCopyTexImage2D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLCopyTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [friend]

Replacement of glCopyTexSubImage1D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLCopyTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glCopyTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLCopyTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glCopyTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

NVSG_API GLuint GLCreateProgram ( ) [friend]

Replacement of glCreateProgram.

This function asserts on the result before returning.

NVSG_API GLhandleARB GLCreateProgramObject ( ) [friend]

Replacement of glCreateProgramObjectARB.

This function asserts on the result before returning.

NVSG_API GLuint GLCreateShader ( GLenum type ) [friend]

Replacement of glCreateShader.

This function asserts on the result before returning.

NVSG_API GLhandleARB GLCreateShaderObject ( GLenum shaderType ) [friend]

Replacement of glCreateShaderObjectARB.

This function asserts on the result before returning.

NVSG_API void GLCullFace ( GLenum mode ) [friend]

Replacement of glCullFace.

This function caches the cull face setting and asserts on the result before returning.

NVSG_API void GLCullFaceLock ( GLenum mode ) [friend]

Helper function to set the cull face mode and lock it.

Parameters:
mode The cull face mode to set and lock.
Remarks:
This function sets the cull face mode and locks this state. Any subsequent calls to GLCullFace will not change that value, until the next call to GLCullFaceUnlock.
See also:
GLCullFace, GLCullFaceUnlock

NVSG_API void GLCullFaceUnlock ( GLenum mode ) [friend]

Helper function to unlock the cull face and set it.

Parameters:
mode The cull face mode to set, after unlocking.
Remarks:
This function unlocks the cull face mode and sets it to mode. After a call to GLCullFaceLock, this function is needed to unlock the cull face mode again.
See also:
GLCullFace, GLCullFaceLock

NVSG_API void GLDeleteBuffers | ( | GLsizei | n,
 |  | const GLuint * | buffers
 | ) | [friend]

Replacement of glDeleteBuffers.

This function updates some caches, and asserts on the result before returning.

NVSG_API void GLDeleteFences | ( | GLsizei | n,
 |  | const GLuint * | fences
 | ) | [friend]

Replacement of glDeleteFencesNV.

NVSG_API void GLDeleteLists | ( | GLuint | list,
 |  | GLsizei | range
 | ) | [friend]

Replacement of glDeleteLists.

This function updates some caches and asserts on the result before returning.

NVSG_API void GLDeleteObject ( GLhandleARB obj ) [friend]

Replacement of glDeleteObjectARB.

This function asserts on the result before returning.

NVSG_API void GLDeleteProgram ( GLuint program ) [friend]

Replacement of glDeleteProgram.

This function updates some caches and asserts on the result before returning.

NVSG_API void GLDeletePrograms | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [friend]

Replacement of glDeleteProgramsARB.

This function hides the extension character of glDeleteProgramsARB, updates some caches, and asserts on the result before returning.

NVSG_API void GLDeleteQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [friend]

Replacement of glDeleteQueries.

This function updates some caches, and asserts on the result before returning.

NVSG_API void GLDeleteShader ( GLuint shader ) [friend]

Replacement of glDeleteShader.

This function asserts on the result before returning.

NVSG_API void GLDeleteTextures | ( | GLsizei | n,
 |  | const GLuint * | textures
 | ) | [friend]

Replacement of glDeleteTextures.

This function updates some caches and asserts on the result before returning.

NVSG_API void GLDepthBounds | ( | GLclampd | zmin,
 |  | GLclampd | zmax
 | ) | [friend]

Replacement of glDepthBounds.

This function asserts on the result before returning.

NVSG_API void GLDepthBoundsd | ( | GLdouble | zmin,
 |  | GLdouble | zmax
 | ) | [friend]

Replacement of glDepthBoundsd.

This function asserts on the result before returning.

NVSG_API void GLDepthFunc ( GLenum func ) [friend]

Replacement of glDepthFunc.

This function asserts on the result before returning.

NVSG_API void GLDepthMask ( GLboolean flag ) [friend]

Replacement of glDepthMask.

This function asserts on the result before returning.

NVSG_API void GLDepthRange | ( | GLclampd | znear,
 |  | GLclampd | zfar
 | ) | [friend]

Replacement of glDepthRange.

This function asserts on the result before returning.

NVSG_API void GLDepthRanged | ( | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [friend]

Replacement of glDepthRandedNV.

This function asserts on the result before returning.

NVSG_API void GLDetachObject | ( | GLhandleARB | containerObj,
 |  | GLhandleARB | attachedObj
 | ) | [friend]

Replacement of glDetachObjectARB.

NVSG_API void GLDetachShader | ( | GLuint | program,
 |  | GLuint | shader
 | ) | [friend]

Replacement of glDetachShader.

NVSG_API void GLDisable ( GLenum cap ) [friend]

Replacement of glDisable.

This function caches on some cap values and asserts on the result before returning.

NVSG_API void GLDisableAlphaTest ( void ) [friend]

Cached version of GLDisable( GL_ALPHA_TEST ).

This function caches the GL_ALPHA_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_ALPHA_TEST) directly.

NVSG_API void GLDisableAutoNormal ( void ) [friend]

Cached version of GLDisable( GL_AUTO_NORMAL ).

This function caches the GL_AUTO_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_AUTO_NORMAL) directly.

NVSG_API void GLDisableBlend ( void ) [friend]

Cached version of GLDisable( GL_BLEND ).

This function caches the GL_BLEND state. It is faster to call this method instead of calling GL[Disable|Enable](GL_BLEND) directly.

NVSG_API void GLDisableClientState ( GLenum array ) [friend]

Replacement of glDisableClientState.

This function caches on some cap values and asserts on the result before returning.

NVSG_API void GLDisableClipPlane ( GLenum plane ) [friend]

Cached version of GLDisable( GL_CLIP_PLANEi ).

This function caches the GL_CLIP_PLANEi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CLIP_PLANEi) directly.

NVSG_API void GLDisableColorArray ( void ) [friend]

Cached version of GLDisableClientState( GL_COLOR_ARRAY ).

This function caches the GL_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_COLOR_ARRAY ) directly.

NVSG_API void GLDisableColorLogicOp ( void ) [friend]

Cached version of GLDisable( GL_COLOR_LOGIC_OP ).

This function caches the GL_COLOR_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_LOGIC_OP) directly.

NVSG_API void GLDisableColorMaterial ( void ) [friend]

Cached version of GLDisable( GL_COLOR_MATERIAL ).

This function caches the GL_COLOR_MATERIAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_MATERIAL) directly.

NVSG_API void GLDisableCullFace ( void ) [friend]

Cached version of GLDisable( GL_CULL_FACE ).

This function is caches the GL_CULL_FACE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CULL_FACE) directly.

NVSG_API void GLDisableCullFaceLock ( void ) [friend]

Helper function to disable the cull face and lock it.

Remarks:
This function disables face culling and locks it. Any subsequent calls to GLEnableCullFace, GLDisableCullFace, GLEnable(GL_CULL_FACE), or GLDisable(GL_CULL_FACE) will not change that setting, until the next call to GLDisableCullFaceUnlock or GLEnableCullFaceUnlock.
See also:
GLDisableCullFace, GLDisableCullFaceUnlock, GLEnableCullFaceLock

NVSG_API void GLDisableCullFaceUnlock ( void ) [friend]

Helper function to unlock the cull face and set it.

Remarks:
This function unlocks face culling and disables it.
See also:
GLDisableCullFace, GLDisableCullFaceLock, GLEnableCullFaceUnlock

NVSG_API void GLDisableDepthTest ( void ) [friend]

Cached version of GLDisable( GL_DEPTH_TEST ).

This function caches the GL_DEPTH_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DEPTH_TEST) directly.

NVSG_API void GLDisableFogCoordinateArray ( void ) [friend]

Cached version of GLDisableClientState( GL_FOG_COORDINATE_ARRAY ).

This function caches the GL_FOG_COORDINATE_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_FOG_COORDINATE_ARRAY ) directly.

NVSG_API void GLDisableNormalArray ( void ) [friend]

Cached version of GLDisableClientState( GL_NORMAL_ARRAY ).

This function caches the GL_NORMAL_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_NORMAL_ARRAY ) directly.

NVSG_API void GLDisableDither ( void ) [friend]

Cached version of GLDisable( GL_DITHER ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DITHER) directly.

NVSG_API void GLDisableFog ( void ) [friend]

Cached version of GLDisable( GL_FOG ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_FOG) directly.

NVSG_API void GLDisableIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [friend]

Replacement of glDiableIndexed.

This functions asserts on the result before returning.

NVSG_API void GLDisableLight ( GLenum light ) [friend]

Cached version of GLDisable( GL_LIGHTi ).

This function caches the GL_LIGHTi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTi) directly.

NVSG_API void GLDisableLighting ( void ) [friend]

Cached version of GLDisable( GL_LIGHTING ).

This function is caches the GL_LIGHTING state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTING) directly.

NVSG_API void GLDisableLightingLock ( void ) [friend]

Helper function to disable lighting and lock it.

Remarks:
This function disables lighting and locks it. Any subsequent calls to GLEnableLighting, GLDisableLighting, GLEnable(GL_LIGHTING), or GLDisable(GL_LIGHTING) will not change that setting, until the next call to GLDisableLightingUnlock or GLEnableLightingUnlock.
See also:
GLDisableLighting, GLDisableLightingUnlock, GLEnableLightingLock

NVSG_API void GLDisableLightingUnlock ( void ) [friend]

Helper function to unlock the lighting and disable it.

Remarks:
This function unlocks lighting and disables it.
See also:
GLDisableLighting, GLDisableLightingLock, GLEnableLightingUnlock

NVSG_API void GLDisableLineSmooth ( void ) [friend]

Cached version of GLDisable( GL_LINE_SMOOTH ).

This function is caches the GL_LINE_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_SMOOTH) directly.

NVSG_API void GLDisableLineStipple ( void ) [friend]

Cached version of GLDisable( GL_LINE_STIPPLE ).

This function is caches the GL_LINE_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_STIPPLE) directly.

NVSG_API void GLDisableLogicOp ( void ) [friend]

Cached version of GLDisable( GL_LOGIC_OP ).

This function caches the GL_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LOGIC_OP) directly.

NVSG_API void GLDisableNormalize ( void ) [friend]

Cached version of GLDisable( GL_NORMALIZE ).

This function is caches the GL_NORMALIZE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_NORMALIZE) directly.

NVSG_API void GLDisableRescaleNormal ( void ) [friend]

Cached version of GLDisable( GL_RESCALE_NORMAL ).

This function is caches the GL_RESCALE_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_RESCALE_NORMAL) directly.

NVSG_API void GLDisablePointSmooth ( void ) [friend]

Cached version of GLDisable( GL_POINT_SMOOTH ).

This function is caches the GL_POINT_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POINT_SMOOTH) directly.

NVSG_API void GLDisablePolygonOffsetFill ( void ) [friend]

Cached version of GLDisable( GL_POLYGON_OFFSET_FILL ).

This function is caches the GL_POLYGON_OFFSET_FILL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_FILL) directly.

NVSG_API void GLDisablePolygonOffsetLine ( void ) [friend]

Cached version of GLDisable( GL_POLYGON_OFFSET_LINE ).

This function is caches the GL_POLYGON_OFFSET_LINE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_LINE) directly.

NVSG_API void GLDisablePolygonOffsetPoint ( void ) [friend]

Cached version of GLDisable( GL_POLYGON_OFFSET_POINT ).

This function is caches the GL_POLYGON_OFFSET_POINT state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_POINT) directly.

NVSG_API void GLDisablePolygonSmooth ( void ) [friend]

Cached version of GLDisable( GL_POLYGON_SMOOTH ).

This function caches the GL_POLYGON_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_SMOOTH) directly.

NVSG_API void GLDisablePolygonStipple ( void ) [friend]

Cached version of GLDisable( GL_POLYGON_STIPPLE ).

This function is caches the GL_POLYGON_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_STIPPLE) directly.

NVSG_API void GLDisablePrimitiveRestart ( void ) [friend]

Cached version of GLDisableClientState( GL_PRIMITIVE_RESTART_NV ).

This function caches the GL_PRIMITIVE_RESTART_NV client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_PRIMITIVE_RESTART_NV ) directly.

NVSG_API void GLDisableScissorTest ( void ) [friend]

Cached version of GLDisable( GL_SCISSOR_TEST ).

This function caches the GL_SCISSOR_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_SCISSOR_TEST) directly.

NVSG_API void GLDisableSecondaryColorArray ( void ) [friend]

Cached version of GLDisableClientState( GL_SECONDARY_COLOR_ARRAY ).

This function caches the GL_SECONDARY_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_SECONDARY_COLOR_ARRAY ) directly.

NVSG_API void GLDisableStencilTest ( void ) [friend]

Cached version of GLDisable( GL_STENCIL_TEST ).

This function caches the GL_STENCIL_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_STENCIL_TEST) directly.

NVSG_API void GLDisableTexture ( GLenum target ) [friend]

This function caches the texture target type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ) directly.

NVSG_API void GLDisableTextureCoordArray ( void ) [friend]

Cached version of GLDisableClientState( GL_TEXTURE_COORD_ARRAY ).

This function caches the GL_TEXTURE_COORD_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_TEXTURE_COORD_ARRAY ) directly.

NVSG_API void GLDisableTextureGen ( GLenum target ) [friend]

Cached version of GLDisable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function caches the texture generation type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ) directly.

NVSG_API void GLDisableVertexArray ( void ) [friend]

Cached version of GLDisableClientState( GL_VERTEX_ARRAY ).

This function caches the GL_VERTEX_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_VERTEX_ARRAY ) directly.

NVSG_API void GLDisableVertexAttribArray ( GLuint index ) [friend]

Replacement of glDisableVertexAttribArray.

NVSG_API void GLDrawArrays | ( | GLenum | mode,
 |  | GLint | first,
 |  | GLsizei | count
 | ) | [friend]

Replacement of glDrawArrays.

This function asserts on the result before returning.

NVSG_API void GLDrawArraysInstanced | ( | GLenum | mode,
 |  | GLint | start,
 |  | GLsizei | count,
 |  | GLsizei | primcount
 | ) | [friend]

Replacement of glDrawArraysInstancedEXT.

This function asserts on the result before returning.

NVSG_API void GLDrawBuffer ( GLenum mode ) [friend]

Replacement of glDrawBuffer.

This function asserts on the result before returning.

NVSG_API void GLDrawBuffers | ( | GLsizei | n,
 |  | const GLenum * | bufs
 | ) | [friend]

Replacement of glDrawBuffersARB.

This function asserts on the result before returning.

NVSG_API void GLDrawElements | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [friend]

Replacement of glDrawElements.

This function asserts on the result before returning.

NVSG_API void GLDrawElementsInstanced | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices,
 |  | GLsizei | primcount
 | ) | [friend]

Replacement of glDrawElementsInstancedEXT.

This function asserts on the result before returning.

NVSG_API void GLDrawPixels | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glDrawPixels.

This function asserts on the result before returning.

NVSG_API void GLDrawRangeElements | ( | GLenum | mode,
 |  | GLuint | start,
 |  | GLuint | end,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [friend]

Replacement of glDrawRangeElements.

This function asserts on the result before returning.

NVSG_API void GLEdgeFlagPointer | ( | GLsizei | stride,
 |  | const GLboolean * | pointer
 | ) | [friend]

Replacement of glEdgeFlagPointer.

This function asserts on the result before returning.

NVSG_API void GLEdgeFlag ( GLboolean flag ) [friend]

Replacement of glEdgeFlag.

This function asserts on the result before returning.

NVSG_API void GLEdgeFlagv ( const GLboolean * flag ) [friend]

Replacement of glEdgeFlagv.

This function asserts on the result before returning.

NVSG_API void GLEnable ( GLenum cap ) [friend]

Replacement of glEnable.

This function caches on some cap values and asserts on the result before returning.

NVSG_API void GLEnableAlphaTest ( void ) [friend]

Cached version of GLEnable( GL_ALPHA_TEST ).

This function caches the GL_ALPHA_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_ALPHA_TEST) directly.

NVSG_API void GLEnableAutoNormal ( void ) [friend]

Cached version of GLEnable( GL_AUTO_NORMAL ).

This function caches the GL_AUTO_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_AUTO_NORMAL) directly.

NVSG_API void GLEnableBlend ( void ) [friend]

Cached version of GLEnable( GL_BLEND ).

This function caches the GL_BLEND state. It is faster to call this method instead of calling GL[Disable|Enable](GL_BLEND) directly.

NVSG_API void GLEnableClientState ( GLenum array ) [friend]

Replacement of glEnableClientState.

This function caches on some cap values and asserts on the result before returning.

NVSG_API void GLEnableClipPlane ( GLenum plane ) [friend]

Cached version of GLEnable( GL_CLIP_PLANEi ).

This function caches the GL_CLIP_PLANEi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CLIP_PLANEi) directly.

NVSG_API void GLEnableColorArray ( void ) [friend]

Cached version of GLEnableClientState( GL_COLOR_ARRAY ).

This function caches the GL_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_COLOR_ARRAY ) directly.

NVSG_API void GLEnableColorLogicOp ( void ) [friend]

Cached version of GLEnable( GL_COLOR_LOGIC_OP ).

This function caches the GL_COLOR_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_LOGIC_OP) directly.

NVSG_API void GLEnableColorMaterial ( void ) [friend]

Cached version of GLEnable( GL_COLOR_MATERIAL ).

This function caches the GL_COLOR_MATERIAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_MATERIAL) directly.

NVSG_API void GLEnableCullFace ( void ) [friend]

Cached version of GLEnable( GL_CULL_FACE ).

This function caches the GL_CULL_FACE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CULL_FACE) directly.

NVSG_API void GLEnableCullFaceLock ( void ) [friend]

Helper function to enable face culling and lock it.

Remarks:
This function enables face culling and locks it. Any subsequent calls to GLEnableCullFace, GLDisableCullFace, GLEnable(GL_CULL_FACE), or GLDisable(GL_CULL_FACE) will not change that setting, until the next call to GLEnableCullFaceUnlock or GLDisableCullFaceUnlock.
See also:
GLEnableCullFace, GLDisableCullFaceUnlock, GLEnableCullFaceUnlock

NVSG_API void GLEnableCullFaceUnlock ( void ) [friend]

Helper function to unlock the face culling and enable it.

Remarks:
This function unlocks face culling and enables it.
See also:
GLEnableCullFace, GLEnableCullFaceLock, GLDisableCullFaceUnlock

NVSG_API void GLEnableDepthTest ( void ) [friend]

Cached version of GLEnable( GL_DEPTH_TEST ).

This function caches the GL_DEPTH_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DEPTH_TEST) directly.

NVSG_API void GLEnableFogCoordinateArray ( void ) [friend]

Cached version of GLEnableClientState( GL_FOG_COORDINATE_ARRAY ).

This function caches the GL_FOG_COORDINATE_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_FOG_COORDINATE_ARRAY ) directly.

NVSG_API void GLEnableDither ( void ) [friend]

Cached version of GLEnable( GL_DITHER ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DITHER) directly.

NVSG_API void GLEnableFog ( void ) [friend]

Cached version of GLEnable( GL_FOG ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_FOG) directly.

NVSG_API void GLEnableIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [friend]

Replacement of glEnabledIndexed.

This functions asserts on the result before returning.

NVSG_API void GLEnableLight ( GLenum light ) [friend]

Cached version of GLEnable( GL_LIGHTi ).

This function caches the GL_LIGHTi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTi) directly.

NVSG_API void GLEnableLighting ( void ) [friend]

Cached version of GLEnable( GL_LIGHTING ).

This function caches the GL_LIGHTING state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTING) directly.

NVSG_API void GLEnableLineSmooth ( void ) [friend]

Cached version of GLEnable( GL_LINE_SMOOTH ).

This function caches the GL_LINE_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_SMOOTH) directly.

NVSG_API void GLEnableLineStipple ( void ) [friend]

Cached version of GLEnable( GL_LINE_STIPPLE ).

This function caches the GL_LINE_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_STIPPLE) directly.

NVSG_API void GLEnableLogicOp ( void ) [friend]

Cached version of GLEnable( GL_LOGIC_OP ).

This function caches the GL_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LOGIC_OP) directly.

NVSG_API void GLEnableNormalArray ( void ) [friend]

Cached version of GLEnableClientState( GL_NORMAL_ARRAY ).

This function caches the GL_NORMAL_ARRAY client state. PIt is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_NORMAL_ARRAY ) directly.

NVSG_API void GLEnableNormalize ( void ) [friend]

Cached version of GLEnable( GL_NORMALIZE ).

This function caches the GL_NORMALIZE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_NORMALIZE) directly.

NVSG_API void GLEnableRescaleNormal ( void ) [friend]

Cached version of GLEnable( GL_RESCALE_NORMAL ).

This function caches the GL_RESCALE_NORMAL enable state. It is faster to call this method instead of calling GL[Disable|Enable](GL_RESCALE_NORMAL) directly.

NVSG_API void GLEnablePointSmooth ( void ) [friend]

Cached version of GLEnable( GL_POINT_SMOOTH ).

This function caches the GL_POINT_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POINT_SMOOTH) directly.

NVSG_API void GLEnablePolygonOffsetFill ( void ) [friend]

Cached version of GLEnable( GL_POLYGON_OFFSET_FILL ).

This function caches the GL_POLYGON_OFFSET_FILL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_FILL) directly.

NVSG_API void GLEnablePolygonOffsetLine ( void ) [friend]

Cached version of GLEnable( GL_POLYGON_OFFSET_LINE ).

This function caches the GL_POLYGON_OFFSET_LINE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_LINE) directly.

NVSG_API void GLEnablePolygonOffsetPoint ( void ) [friend]

Cached version of GLEnable( GL_POLYGON_OFFSET_POINT ).

This function caches the GL_POLYGON_OFFSET_POINT state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_POINT) directly.

NVSG_API void GLEnablePolygonSmooth ( void ) [friend]

Cached version of GLEnable( GL_POLYGON_SMOOTH ).

This function caches the GL_POLYGON_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_SMOOTH) directly.

NVSG_API void GLEnablePolygonStipple ( void ) [friend]

Cached version of GLEnable( GL_POLYGON_STIPPLE ).

This function caches the GL_POLYGON_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_STIPPLE) directly.

NVSG_API void GLEnablePrimitiveRestart ( void ) [friend]

Cached version of GLEnableClientState( GL_PRIMITIVE_RESTART_NV ).

This function caches the GL_PRIMITIVE_RESTART_NV client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_PRIMITIVE_RESTART_NV ) directly.

NVSG_API void GLEnableScissorTest ( void ) [friend]

Cached version of GLEnable( GL_SCISSOR_TEST ).

This function caches the GL_SCISSOR_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_SCISSOR_TEST) directly.

NVSG_API void GLEnableStencilTest ( void ) [friend]

Cached version of GLEnable( GL_STENCIL_TEST ).

This function caches the GL_STENCIL_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_STENCIL_TEST) directly.

NVSG_API void GLEnableSecondaryColorArray ( void ) [friend]

Cached version of GLEnableClientState( GL_SECONDARY_COLOR_ARRAY ).

This function caches the GL_SECONDARY_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_SECONDARY_COLOR_ARRAY ) directly.

NVSG_API void GLEnableTexture ( GLenum target ) [friend]

This function caches the texture target type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ) directly.

NVSG_API void GLEnableTextureCoordArray ( void ) [friend]

Cached version of GLEnableClientState( GL_TEXTURE_COORD_ARRAY ).

This function caches the GL_TEXTURE_COORD_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_TEXTURE_COORD_ARRAY ) directly.

NVSG_API void GLEnableTextureGen ( GLenum target ) [friend]

Cached version of GLEnable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function caches the texture generation type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ) directly.

NVSG_API void GLEnableVertexArray ( void ) [friend]

Cached version of GLEnableClientState( GL_VERTEX_ARRAY ).

This function caches the GL_VERTEX_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_VERTEX_ARRAY ) directly.

NVSG_API void GLEnableVertexAttribArray ( GLuint index ) [friend]

Replacement of glEnableVertexAttribArray.

NVSG_API void GLEnd ( void ) [friend]

Replacement of glEnd.

This function asserts on the result before returning.

NVSG_API void GLEndList ( void ) [friend]

Replacement of glEndList.

This function does not assert on the result before returning, because on glEndList the GL_OUT_OF_MEMORY is to be tested.

NVSG_API void GLEndConditionalRenderNV ( void ) [friend]

Replacement of glEndConditionalRenderNV.

NVSG_API void GLEndQuery ( GLenum target ) [friend]

Replacement of glEndQuery.

This function asserts on the result before returning.

NVSG_API void GLEndTransformFeedbackNV ( ) [friend]

Replacement of glEndTransformFeedbackNV.

This function asserts on the result before returning.

NVSG_API void GLEndTransformFeedback ( ) [friend]

Replacement of glEndTransformFeedback.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord1d ( GLdouble u ) [friend]

Replacement of glEvalCoord1d.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord1f ( GLfloat u ) [friend]

Replacement of glEvalCoord1f.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord2d | ( | GLdouble | u,
 |  | GLdouble | v
 | ) | [friend]

Replacement of glEvalCoord2d.

This function asserts on the result before returning.

NVSG_API void GLEvalCoord2f | ( | GLfloat | u,
 |  | GLfloat | v
 | ) | [friend]

Replacement of glEvalCoord2f.

This function asserts on the result before returning.

NVSG_API void GLEvalMesh1 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2
 | ) | [friend]

Replacement of glEvalMesh1.

This function asserts on the result before returning.

NVSG_API void GLEvalMesh2 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2,
 |  | GLint | j1,
 |  | GLint | j2
 | ) | [friend]

Replacement of glEvalMesh2.

This function asserts on the result before returning.

NVSG_API void GLEvalPoint1 ( GLint i ) [friend]

Replacement of glEvalPoint1.

This function asserts on the result before returning.

NVSG_API void GLEvalPoint2 | ( | GLint | i,
 |  | GLint | j
 | ) | [friend]

Replacement of glEvalPoint2.

This function asserts on the result before returning.

NVSG_API void GLExecuteProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glExecuteProgramNV.

This function asserts on the result before returning.

NVSG_API void GLFeedbackBuffer | ( | GLsizei | size,
 |  | GLenum | type,
 |  | GLfloat * | buffer
 | ) | [friend]

Replacement of glFeedbackBuffer.

This function asserts on the result before returning.

NVSG_API void GLFinalCombinerInput | ( | GLenum | variable,
 |  | GLenum | input,
 |  | GLenum | mapping,
 |  | GLenum | componentUsage
 | ) | [friend]

Replacement of glFinalCombinerInput.

This function asserts on the result before returning.

NVSG_API void GLFinish ( void ) [friend]

Replacement of glFinish.

This function asserts on the result before returning.

NVSG_API void GLFinishFence ( GLuint fence ) [friend]

Replacement of glFinishFenceNV.

NVSG_API void GLFlush ( void ) [friend]

Replacement of glFlush.

This function asserts on the result before returning.

NVSG_API void GLFlushPixelDataRange ( GLenum target ) [friend]

Replacement of glFlushPixelDataRangeNV.

This functions asserts on the result before returning.

NVSG_API void GLFlushVertexArrayRange ( ) [friend]

Replacement of glFlushVertexArrayRange.

This functions asserts on the result before returning.

NVSG_API void GLFogColor ( const GLfloat * color ) [friend]

Cached version of GLFog[fv|iv]( GL_FOG_COLOR, params ).

This function caches the GL_FOG_COLOR value. It is faster to call this method instead of GLFog[fv|iv]( GL_FOG_COLOR, params ) directly.

NVSG_API void GLFogCoordd ( GLdouble fog ) [friend]

Replacement of glFogCoordd.

This function asserts on the result before returning.

NVSG_API void GLFogCoorddv ( const GLdouble * fog ) [friend]

Replacement of glFogCoorddv.

This function asserts on the result before returning.

NVSG_API void GLFogCoordf ( GLfloat fog ) [friend]

Replacement of glFogCoordf.

This function asserts on the result before returning.

NVSG_API void GLFogCoordfv ( const GLfloat * fog ) [friend]

Replacement of glFogCoordfv.

This function asserts on the result before returning.

NVSG_API void GLFogCoordh ( GLhalf fog ) [friend]

Replacement of glFogCoordh.

This function asserts on the result before returning.

NVSG_API void GLFogCoordhv ( const GLhalf * fog ) [friend]

Replacement of glFogCoordhv.

This function asserts on the result before returning.

NVSG_API void GLFogCoordPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glFogCoordPointer.

This function caches the fog coordinate pointer setting and asserts on the result before returning.

NVSG_API void GLFogDensity ( GLfloat density ) [friend]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_DENSITY, param[s] ).

This function caches the GL_FOG_DENSITY value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ) directly.

NVSG_API void GLFogEnd ( GLfloat end ) [friend]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ).

This function caches the GL_FOG_END value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ) directly.

NVSG_API void GLFogf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glFogf.

This function asserts on the result before returning.

NVSG_API void GLFogfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glFogfv.

This function asserts on the result before returning.

NVSG_API void GLFogi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glFogi.

This function asserts on the result before returning.

NVSG_API void GLFogiv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glFogiv.

This function asserts on the result before returning.

NVSG_API void GLFogMode ( GLenum param ) [friend]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ).

This function caches the GL_FOG_MODE value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ) directly.

NVSG_API void GLFogStart ( GLfloat start ) [friend]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ).

This function caches the GL_FOG_START value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ) directly.

NVSG_API void GLFrameTerminator ( void ) [friend]

Replacement of glFrameTerminatorGREMEDY.

This function simply does nothing if the extension is not available

NVSG_API void GLFramebufferTexture | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [friend]

Replacement of glFramebufferTextureEXT.

This function asserts on the result before returning.

NVSG_API void GLFramebufferTextureFace | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLenum | face
 | ) | [friend]

Replacement of glFramebufferTextureFaceEXT.

This function asserts on the result before returning.

NVSG_API void GLFrontFace ( GLenum mode ) [friend]

Replacement of glFrontFace.

This function caches the front face setting and asserts on the result before returning.

NVSG_API void GLFrustum | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [friend]

Replacement of glFrustum.

This function asserts on the result before returning.

NVSG_API void GLGenBuffers | ( | GLsizei | n,
 |  | GLuint * | buffers
 | ) | [friend]

Replacement of glGenBuffers.

This function asserts on the result, and updates some caches.

NVSG_API void GLGenFences | ( | GLsizei | n,
 |  | GLuint * | fences
 | ) | [friend]

Replacement of glGenFencesNV.

NVSG_API GLuint GLGenLists ( GLsizei range ) [friend]

Replacement of glGenLists.

This function asserts on the result and updates some caches.

NVSG_API void GLGenPrograms | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [friend]

Replacement of glGenProgramsARB.

This function hides the extension character of glGenProgramsARB and asserts on the result, and updates some caches.

NVSG_API void GLGenQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [friend]

Replacement of glGenQueries.

This function asserts on the result, and updates some caches.

NVSG_API void GLGenTextures | ( | GLsizei | n,
 |  | GLuint * | textures
 | ) | [friend]

Replacement of glGenTextures.

This function asserts on the result and updates some caches.

NVSG_API void GLGetActiveAttrib | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [friend]

Replacement of glGetActiveAttrib.

This function asserts on the result before returning.

NVSG_API void GLGetActiveUniform | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | maxLength,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLcharARB * | name
 | ) | [friend]

Replacement of glGetActiveUniform.

This function asserts on the result before returning.

NVSG_API void GLGetActiveVaryingNV | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [friend]

Replacement of glGetActiveVaryingNV.

This function asserts on the result before returning.

NVSG_API void GLGetAttachedObjects | ( | GLhandleARB | containerObj,
 |  | GLsizei | maxCount,
 |  | GLsizei * | count,
 |  | GLhandleARB * | obj
 | ) | [friend]

Replacement of glGetAttachedObjectsARB.

This function asserts on the result before returning.

NVSG_API void GLGetAttachedShaders | ( | GLuint | program,
 |  | GLsizei | maxCount,
 |  | GLsizei * | count,
 |  | GLuint * | shaders
 | ) | [friend]

Replacement of glGetAttachedShaders.

This function asserts on the result before returning.

NVSG_API GLint GLGetAttribLocation | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [friend]

Replacement of glGetAttribLocation.

This function asserts on the result before returning.

NVSG_API void GLGetBooleanv | ( | GLenum | pname,
 |  | GLboolean * | params
 | ) | [friend]

Replacement of glGetBooleanv.

This function asserts on the result before returning.

NVSG_API void GLGetBooleanIndexedv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLboolean * | data
 | ) | [friend]

Replacement of glGetBooleanIndexedvEXT.

This function asserts on the result before returning.

NVSG_API void GLGetBufferParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetBufferParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetBufferPointerv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [friend]

Replacement of glGetBufferPointerv.

This function asserts on the result before returning.

NVSG_API void GLGetBufferSubData | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | GLvoid * | data
 | ) | [friend]

Replacement of glGetBufferSubData.

This function asserts on the result before returning.

NVSG_API void GLGetClipPlane | ( | GLenum | plane,
 |  | GLdouble * | equation
 | ) | [friend]

Replacement of glGetClipPlane.

This function asserts on the result before returning.

NVSG_API void GLGetColorTable | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | table
 | ) | [friend]

Replacement of glGetColorTable.

This function asserts on the result before returning.

NVSG_API void GLGetColorTableParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetColorTableParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetColorTableParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetColorTableParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetCombinerInputParameterfv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetCombinerInputParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetCombinerInputParameteriv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetCombinerInputParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetCombinerOutputParameterfv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetCombinerOutputParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetCombinerOutputParameteriv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetCombinerOutputParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetCombinerStageParameterfv | ( | GLenum | stage,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetCombinerStageParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetCompressedTexImage | ( | GLenum | target,
 |  | GLint | lod,
 |  | GLvoid * | img
 | ) | [friend]

Replacement of glGetCompressedTexImage.

This function asserts on the result before returning.

NVSG_API void GLGetConvolutionFilter | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | image
 | ) | [friend]

Replacement of glGetConvolutionFilter.

This function asserts on the result before returning.

NVSG_API void GLGetConvolutionParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetConvolutionParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetConvolutionParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetConvolutionParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetDoublev | ( | GLenum | pname,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetDoublev.

This function asserts on the result before returning.

NVSG_API void GLGetFenceiv | ( | GLuint | fence,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetFenceivNV.

This function asserts on the result before returning.

NVSG_API void GLGetFinalCombinerInputParameterfv | ( | GLenum | variable,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetFinalCombinerInputParamterfv.

This function asserts on the result before returning.

NVSG_API void GLGetFinalCombinerInputParameteriv | ( | GLenum | variable,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetFinalCombinerInputParamteriv.

This function asserts on the result before returning.

NVSG_API void GLGetFloatv | ( | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetFloatv.

This function asserts on the result before returning.

NVSG_API GLint GLGetFragDataLocation | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [friend]

Replacement of glGetFragDataLocationEXT.

This function asserts on the result before returning.

NVSG_API GLhandleARB GLGetHandle ( GLenum pname ) [friend]

Replacement of glGetHandleARB.

This function asserts on the result before returning.

NVSG_API void GLGetHistogram | ( | GLenum | target,
 |  | GLboolean | reset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | values
 | ) | [friend]

Replacement of glGetHistogram.

This function asserts on the result before returning.

NVSG_API void GLGetHistogramParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetHistogramParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetHistogramParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetHistogramParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetInfoLog | ( | GLhandleARB | obj,
 |  | GLsizei | maxLength,
 |  | GLsizei * | length,
 |  | GLcharARB * | infoLog
 | ) | [friend]

Replacement of glGetInfoLogARB.

This function asserts on the result before returning.

NVSG_API void GLGetIntegerv | ( | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetIntegerv.

This function asserts on the result before returning.

NVSG_API void GLGetIntegerIndexedv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | data
 | ) | [friend]

Replacement of glGetIntegerIndexedvEXT.

This function asserts on the result before returning.

NVSG_API void GLGetLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetLightfv.

This function asserts on the result before returning.

NVSG_API void GLGetLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetLightiv.

This function asserts on the result before returning.

NVSG_API void GLGetMapdv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLdouble * | v
 | ) | [friend]

Replacement of glGetMapdv.

This function asserts on the result before returning.

NVSG_API void GLGetMapfv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLfloat * | v
 | ) | [friend]

Replacement of glGetMapfv.

This function asserts on the result before returning.

NVSG_API void GLGetMapiv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLint * | v
 | ) | [friend]

Replacement of glGetMapiv.

This function asserts on the result before returning.

NVSG_API void GLGetMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetMaterialfv.

This function asserts on the result before returning.

NVSG_API void GLGetMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetMaterialiv.

This function asserts on the result before returning.

NVSG_API GLint GLGetMaxTexCoords ( void ) [friend]

Get the maximal number of texture coordinate slots.

NVSG_API GLint GLGetMaxTexUnits ( void ) [friend]

Get the maximal number of texture units.

NVSG_API GLint GLGetMaxTexImageUnits ( void ) [friend]

Get the maximal number of texture image units.

NVSG_API void GLGetMinmax | ( | GLenum | target,
 |  | GLboolean | reset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | values
 | ) | [friend]

Replacement of glGetMinmax.

This function asserts on the result before returning.

NVSG_API void GLGetMinmaxParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetMinmaxParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetMinmaxParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetMinmaxParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetObjectParameterfv | ( | GLhandleARB | obj,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetObjectParameterfvARB.

This function asserts on the result before returning.

NVSG_API void GLGetObjectParameteriv | ( | GLhandleARB | obj,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetObjectParameterivARB.

This function asserts on the result before returning.

NVSG_API void GLGetPixelMapfv | ( | GLenum | map,
 |  | GLfloat * | values
 | ) | [friend]

Replacement of glGetPixelMapfv.

This function asserts on the result before returning.

NVSG_API void GLGetPixelMapuiv | ( | GLenum | map,
 |  | GLuint * | values
 | ) | [friend]

Replacement of glGetPixelMapuiv.

This function asserts on the result before returning.

NVSG_API void GLGetPixelMapusv | ( | GLenum | map,
 |  | GLushort * | values
 | ) | [friend]

Replacement of glGetPixelMapusv.

This function asserts on the result before returning.

NVSG_API void GLGetPointerv | ( | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [friend]

Replacement of glGetPointerv.

This function asserts on the result before returning.

NVSG_API void GLGetPolygonStipple ( GLubyte * mask ) [friend]

Replacement of glGetPolygonStipple.

This function asserts on the result before returning.

NVSG_API void GLGetProgramEnvParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetProgramEnvParameterdvARB.

This function asserts on the result before returning.

NVSG_API void GLGetProgramEnvParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetProgramEnvParameterfvARB.

This function asserts on the result before returning.

NVSG_API void GLGetProgramiv | ( | GLuint | program,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetProgramiv.

This function asserts on the result before returning.

NVSG_API void GLGetProgramLocalParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetProgramLocalParameterdvARB.

This function asserts on the result before returning.

NVSG_API void GLGetProgramLocalParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetProgramLocalParameterfvARB.

This function asserts on the result before returning.

NVSG_API void GLGetProgramInfoLog | ( | GLuint | program,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLchar * | infoLog
 | ) | [friend]

Replacement of glGetProgramInfoLog.

This function asserts on the result before returning.

NVSG_API void GLGetProgramEnvParameterIiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetProgramEnvParameterIivNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramEnvParameterIuiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetProgramEnvParameterIuivNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramLocalParameterIiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetProgramLocalParameterIivNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramLocalParameterIuiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetProgramLocalParameterIuivNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramNamedParameterdv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetProgramNamedParameterdvNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramNamedParameterfv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetProgramNamedParameterfvNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetProgramParameterdvNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetProgramParameterfvNV.

This function asserts on the result before returning.

NVSG_API void GLGetProgramString | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLubyte * | program
 | ) | [friend]

Replacement of glGetProgramStringNV.

This function asserts on the result before returning.

NVSG_API void GLGetQueryiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetQueryiv.

This function asserts on the result before returning.

NVSG_API void GLGetQueryObjecti64v | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint64EXT * | params
 | ) | [friend]

Replacement of glGetQueryObjecti64vEXT.

This function asserts on the result before returning.

NVSG_API void GLGetQueryObjectiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetQueryObjectiv.

This function asserts on the result before returning.

NVSG_API void GLGetQueryObjectui64v | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint64EXT * | params
 | ) | [friend]

Replacement of glGetQueryObjectui64vEXT.

This function asserts on the result before returning.

NVSG_API void GLGetQueryObjectuiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetQueryObjectuiv.

This function asserts on the result before returning.

NVSG_API void GLGetSeparableFilter | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | row,
 |  | GLvoid * | column,
 |  | GLvoid * | span
 | ) | [friend]

Replacement of glGetSeparableFilter.

This asserts on the result before returning.

NVSG_API void GLGetShaderiv | ( | GLuint | shader,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetShaderiv.

This asserts on the result before returning.

NVSG_API void GLGetShaderInfoLog | ( | GLuint | shader,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLchar * | infoLog
 | ) | [friend]

Replacement of glGetShaderInfoLog.

This asserts on the result before returning.

NVSG_API void GLGetShaderSource | ( | GLuint | shader,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLcharARB * | source
 | ) | [friend]

Replacement of glGetShaderSource.

This asserts on the result before returning.

NVSG_API const GLubyte* GLGetString ( GLenum name ) [friend]

Replacement of glGetString.

This function asserts on the result before returning.

NVSG_API void GLGetTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexEnvfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexEnviv.

This function asserts on the result before returning.

NVSG_API void GLGetTexGendv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetTexGendv.

This function asserts on the result before returning.

NVSG_API void GLGetTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexGenfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexGeniv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexGeniv.

This function asserts on the result before returning.

NVSG_API void GLGetTexImage | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [friend]

Replacement of glGetTexImage.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLGetTexLevelParameterfv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexLevelParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexLevelParameteriv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexLevelParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetTexParameterfv.

This function asserts on the result before returning.

NVSG_API void GLGetTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexParameteriv.

This function asserts on the result before returning.

NVSG_API void GLGetTexParameterIiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTexParameterIivEXT.

This function asserts on the result before returning.

NVSG_API void GLGetTexParameterIuiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetTexParameterIuivEXT.

This function asserts on the result before returning.

NVSG_API void GLGetTrackMatrixiv | ( | GLenum | target,
 |  | GLuint | address,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetTrackMatrixivNV.

This function asserts on the result before returning.

NVSG_API void GLGetTransformFeedbackVaryingNV | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLint * | location
 | ) | [friend]

Replacement of glGetTransformFeedbackVaryingNV.

This function asserts on the result before returning.

NVSG_API void GLGetTransformFeedbackVarying | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [friend]

Replacement of glGetTransformFeedbackVarying.

This function asserts on the result before returning.

NVSG_API void GLGetUniformfv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetUniformfv.

This function asserts on the result before returning.

NVSG_API void GLGetUniformiv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetUniformiv.

This function asserts on the result before returning.

NVSG_API void GLGetUniformuiv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetUniformuiv.

This function asserts on the result before returning.

NVSG_API GLint GLGetUniformBufferSize | ( | GLuint | program,
 |  | GLint | location
 | ) | [friend]

Replacement of glGetUniformBufferSizeEXT.

This function asserts on the result before returning.

NVSG_API GLint GLGetUniformLocation | ( | GLuint | program,
 |  | const GLcharARB * | name
 | ) | [friend]

Replacement of glGetUniformLocation.

This function asserts on the result before returning.

NVSG_API GLintptr GLGetUniformOffset | ( | GLuint | program,
 |  | GLint | location
 | ) | [friend]

Replacement of glGetUniformOffsetEXT.

This function asserts on the result before returning.

NVSG_API GLint GLGetVaryingLocationNV | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [friend]

Replacement of glGetVaryingLocationNV.

This function asserts on the result before returning.

NVSG_API void GLGetVertexAttribdv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [friend]

Replacement of glGetVertexAttribdv.

This function asserts on the result before returning.

NVSG_API void GLGetVertexAttribfv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [friend]

Replacement of glGetVertexAttribfv.

This function asserts on the result before returning.

NVSG_API void GLGetVertexAttribiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetVertexAttribiv.

This function asserts on the result before returning.

NVSG_API void GLGetVertexAttribIiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetVertexAttribIivEXT.

This function asserts on the result before returning.

NVSG_API void GLGetVertexAttribIuiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [friend]

Replacement of glGetVertexAttribIuivEXT.

This function asserts on the result before returning.

NVSG_API void GLGetVertexAttribPointerv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLvoid ** | pointer
 | ) | [friend]

Replacement of glGetVertexAttribPointer.

This function asserts on the result before returning.

NVSG_API GLint GLGetVersion ( ) [friend]

Returns the version of the OpenGL available on the target system.

Returns:
The floating point version of the OpenGL with the representation major.minor is returned as an integer calculated as 10*major+minor.

The OpenGL version 1.4, for example, will be reported as 14.

NVSG_API void GLHint | ( | GLenum | target,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glHint.

This function asserts on the result before returning.

NVSG_API void GLHistogram | ( | GLenum | target,
 |  | GLsizei | width,
 |  | GLenum | internalformat,
 |  | GLboolean | sink
 | ) | [friend]

Replacement of glHistogram.

This function asserts on the result before returning.

NVSG_API void GLIndexd ( GLdouble c ) [friend]

Replacement of glIndexd.

This function asserts on the result before returning.

NVSG_API void GLIndexf ( GLfloat c ) [friend]

Replacement of glIndexf.

This function asserts on the result before returning.

NVSG_API void GLIndexi ( GLint c ) [friend]

Replacement of glIndexi.

This function asserts on the result before returning.

NVSG_API void GLIndexMask ( GLuint mask ) [friend]

Replacement of glIndexMask.

This function asserts on the result before returning.

NVSG_API void GLIndexPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glIndexPointer.

This function asserts on the result before returning.

NVSG_API void GLIndexs ( GLshort c ) [friend]

Replacement of glIndexs.

This function asserts on the result before returning.

NVSG_API void GLIndexub ( GLubyte c ) [friend]

Replacement of glIndexub.

This function asserts on the result before returning.

NVSG_API void GLInitNames ( void ) [friend]

Replacement of glInitNames.

This function asserts on the result before returning.

NVSG_API void GLInterleavedArrays | ( | GLenum | format,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glInterleavedArrays.

This function asserts on the result before returning.

NVSG_API GLboolean GLIsBuffer ( GLuint name ) [friend]

Replacement of glIsBuffer.

This function tests if for the current render context, name denotes a valid vertex buffer object.

NVSG_API GLboolean GLIsEnabled ( GLenum cap ) [friend]

Replacement of glIsEnabled.

This function returns the state of the queried capability.

NVSG_API GLboolean GLIsEnabledAlphaTest ( ) [friend]

Replacement of glIsEnabled( GL_ALPHA_TEST ).

This function returns the state of the GL_ALPHA_TEST capability.

NVSG_API GLboolean GLIsEnabledAutoNormal ( ) [friend]

Replacement of glIsEnabled( GL_AUTO_NORMAL ).

This function returns the state of the GL_AUTO_NORMAL capability.

NVSG_API GLboolean GLIsEnabledBlend ( ) [friend]

Replacement of glIsEnabled( GL_BLEND ).

This function returns the state of the GL_BLEND capability.

NVSG_API GLboolean GLIsEnabledClipPlane ( GLenum plane ) [friend]

Replacement of glIsEnabled( GL_CLIP_PLANEi ).

This function returns the state of the GL_CLIP_PLANEi capability.

NVSG_API GLboolean GLIsEnabledColorLogicOp ( ) [friend]

Replacement of glIsEnabled( GL_COLOR_LOGIC_OP ).

This function returns the state of the GL_COLOR_LOGIC_OP capability.

NVSG_API GLboolean GLIsEnabledColorMaterial ( ) [friend]

Replacement of glIsEnabled( GL_COLOR_MATERIAL ).

This function returns the state of the GL_COLOR_MATERIAL capability.

NVSG_API GLboolean GLIsEnabledCullFace ( ) [friend]

Replacement of glIsEnabled( GL_CULL_FACE ).

This function returns the state of the GL_CULL_FACE capability.

NVSG_API GLboolean GLIsEnabledDepthTest ( ) [friend]

Replacement of glIsEnabled( GL_DEPTH_TEST ).

This function returns the state of the GL_DEPTH_TEST capability.

NVSG_API GLboolean GLIsEnabledDither ( ) [friend]

Replacement of glIsEnabled( GL_DITHER ).

This function returns the state of the GL_DITHER capability.

NVSG_API GLboolean GLIsEnabledFog ( ) [friend]

Replacement of glIsEnabled( GL_FOG ).

This function returns the state of the GL_FOG capability.

NVSG_API GLboolean GLIsEnabledIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [friend]

Replacement of glIsEnabledIndexed.

This functions asserts on the result before returning.

NVSG_API GLboolean GLIsEnabledLight ( GLenum cap ) [friend]

Replacement of glIsEnabled( GL_LIGHTi ).

This function returns the state of the GL_LIGHTi capability.

NVSG_API GLboolean GLIsEnabledLighting ( ) [friend]

Replacement of glIsEnabled( GL_LIGHTING ).

This function returns the state of the GL_LIGHTING capability.

NVSG_API GLboolean GLIsEnabledLineSmooth ( ) [friend]

Replacement of glIsEnabled( GL_LINE_SMOOTH ).

This function returns the state of the GL_LINE_SMOOTH capability.

NVSG_API GLboolean GLIsEnabledLineStipple ( ) [friend]

Replacement of glIsEnabled( GL_LINE_STIPPLE ).

This function returns the state of the GL_LINE_STIPPLE capability.

NVSG_API GLboolean GLIsEnabledLogicOp ( ) [friend]

Replacement of glIsEnabled( GL_LOGIC_OP ).

This function returns the state of the GL_LOGIC_OP capability.

NVSG_API GLboolean GLIsEnabledNormalize ( ) [friend]

Replacement of glIsEnabled( GL_NORMALIZE ).

This function returns the state of the GL_NORMALIZE capability.

NVSG_API GLboolean GLIsEnabledRescaleNormal ( ) [friend]

Replacement of glIsEnabled( GL_RESCALE_NORMAL ).

This function returns the state of the GL_RESCALE_NORMAL capability.

NVSG_API GLboolean GLIsEnabledPointSmooth ( ) [friend]

Replacement of glIsEnabled( GL_POINT_SMOOTH ).

This function returns the state of the GL_POINT_SMOOTH capability.

NVSG_API GLboolean GLIsEnabledPolygonOffsetFill ( ) [friend]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_FILL ).

This function returns the state of the GL_POLYGON_OFFSET_FILL capability.

NVSG_API GLboolean GLIsEnabledPolygonOffsetLine ( ) [friend]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_LINE ).

This function returns the state of the GL_POLYGON_OFFSET_LINE capability.

NVSG_API GLboolean GLIsEnabledPolygonOffsetPoint ( ) [friend]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_POINT ).

This function returns the state of the GL_POLYGON_OFFSET_POINT capability.

NVSG_API GLboolean GLIsEnabledPolygonSmooth ( ) [friend]

Replacement of glIsEnabled( GL_POLYGON_SMOOTH ).

This function returns the state of the GL_POLYGON_SMOOTH capability.

NVSG_API GLboolean GLIsEnabledPolygonStipple ( ) [friend]

Replacement of glIsEnabled( GL_POLYGON_STIPPLE ).

This function returns the state of the GL_POLYGON_STIPPLE capability.

NVSG_API GLboolean GLIsEnabledScissorTest ( ) [friend]

Replacement of glIsEnabled( GL_SCISSOR_TEST ).

This function returns the state of the GL_SCISSOR_TEST capability.

NVSG_API GLboolean GLIsEnabledStencilTest ( ) [friend]

Replacement of glIsEnabled( GL_STENCIL_TEST ).

This function returns the state of the GL_STENCIL_TEST capability.

NVSG_API GLboolean GLIsEnabledTexture ( GLenum cap ) [friend]

Replacement of glIsEnabled( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ).

This function returns the state of the [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] capability.

NVSG_API GLboolean GLIsEnabledTextureGen ( GLenum cap ) [friend]

Replacement of glIsEnabled( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function returns the state of the [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] capability.

NVSG_API GLboolean GLIsExtensionAvailable ( const std::string & extension ) [friend]

Test if a given extension is available on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if all functions of extension are available, otherwise false

NVSG_API GLboolean GLIsExtensionExported ( const std::string & extension ) [friend]

Test if a given extension is exported on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if extension is exported, otherwise false

NVSG_API GLboolean GLIsFence ( GLuint fence ) [friend]

Replacement of glIsFenceNV.

This function asserts on the result before returning.

NVSG_API GLboolean GLIsList ( GLuint list ) [friend]

Replacement of glIsList.

This function tests if for the current context, list denotes a valid display list and asserts on the result before returning.

NVSG_API GLboolean GLIsProgram ( GLuint program ) [friend]

Replacement of glIsProgram.

This function tests if for the current context, id denotes a valid program and asserts on the result before returning.

NVSG_API GLboolean GLIsQuery ( GLuint id ) [friend]

Replacement of glIsQuery.

This function tests if for the current context, id denotes a valid query and asserts on the result before returning.

NVSG_API GLboolean GLIsShader ( GLuint shader ) [friend]

Replacement of glIsShader.

This function asserts on the result before returning.

NVSG_API GLboolean GLIsTexture ( GLuint texture ) [friend]

Replacement of glIsTexture.

This function tests if for the current context, texture denotes a valid texture and asserts on the result before returning.

NVSG_API void GLDisableExtensionAvailability ( const std::string & extension ) [friend]

Allows manual disabling of extension available state.

This function is meant for debugging purposes and can have negative effects on stability. It should only be called after the GLContext has been initialized.

NVSG_API void GLLightAmbient | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLLightfv( light, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the light. It is faster to call this method instead of GLLightfv( light, GL_AMBIENT, param ) directly.

NVSG_API void GLLightConstantAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [friend]

Cached version of GLLightf( light, GL_CONSTANT_ATTENUATION, param ).

This function caches the GL_CONSTANT_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_CONSTANT_ATTENUATION, param ) directly.

NVSG_API void GLLightDiffuse | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLLightfv( light, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the light. It is faster to call this method instead of GLLightfv( light, GL_DIFFUSE, param ) directly.

NVSG_API void GLLightf | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glLightf.

This function caches on some pname values and asserts on the result.

NVSG_API void GLLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glLightfv.

This function caches on some pname values and asserts on the result.

NVSG_API void GLLighti | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glLighti.

This function caches on some pname values and asserts on the result.

NVSG_API void GLLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glLightiv.

This function caches on some pname values and asserts on the result.

NVSG_API void GLLightPosition | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLLightfv( light, GL_POSITION, param ).

The light position is not cached, and it should not be. This function just exists for completeness.

NVSG_API void GLLightLinearAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [friend]

Cached version of GLLightf( light, GL_LINEAR_ATTENUATION, param ).

This function caches the GL_LINEAR_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_LINEAR_ATTENUATION, param ) directly.

NVSG_API void GLLightQuadraticAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [friend]

Cached version of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ).

This function caches the GL_QUADRATIC_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ) directly.

NVSG_API void GLLightSpecular | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLLightfv( light, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the light. It is faster to call this method instead of GLLightfv( light, GL_SPECULAR, param ) directly.

NVSG_API void GLLightSpotCutoff | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [friend]

Cached version of GLLightf( light, GL_SPOT_CUTOFF, param ).

This function caches the GL_SPOT_CUTOFF value on the light. It is faster to call this method instead of GLLightf( light, GL_SPOT_CUTOFF, param ) directly.

NVSG_API void GLLightSpotDirection | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLLightfv( light, GL_SPOT_DIRECTION, param ).

The light spot direction is not cached, and it should not be. This function just exists for completeness.

NVSG_API void GLLightSpotExponent | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [friend]

Cached version of GLLightf( light, GL_SPOT_EXPONENT, param ).

This function caches the GL_SPOT_EXPONENT value on the light. It is faster to call this method instead of GLLightf( light, GL_SPOT_EXPONENT, param ) directly.

NVSG_API void GLLightModelf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glLightModelf.

This function caches some of the light model settings and asserts on the result before returning.

NVSG_API void GLLightModelfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glLightModelfv.

This function caches some the light model settings and asserts on the result before returning.

NVSG_API void GLLightModeli | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glLightModeli.

This function caches some of the light model settings and asserts on the result before returning.

NVSG_API void GLLightModeliv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glLightModeliv.

This function caches some of the light model settings and asserts on the result before returning.

NVSG_API void GLLightModelAmbient ( const GLfloat * params ) [friend]

Replacement of glLightModelfv( GL_LIGHT_MODEL_AMBIENT, params ).

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightModelLocalViewer ( GLint param ) [friend]

Replacement of GLLightModelLocalViewer.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightModelTwoSide ( GLint param ) [friend]

Replacement of GLLightModelTwoSide.

This function caches the light model settings and asserts on the result before returning.

NVSG_API void GLLightModelTwoSideLock ( GLint param ) [friend]

Helper function to set two sided lighting and lock it.

Parameters:
param The value to set and lock two sided lighting to.
Remarks:
This function sets two sided lighting to param and locks it. Any subsequent calls to GLLightModelTwoSide or GLLightModel{if}(GL_LIGHT_MODEL_TWO_SIDE,) will not change that setting, until the next call to GLLightModelTwoSideUnlock.
See also:
GLLightModelTwoSide, GLLightModelTwoSideUnlock

NVSG_API void GLLightModelTwoSideUnlock ( GLint param ) [friend]

Helper function to unlock the two sided lighting and set it.

Parameters:
param The value to set the unlocked two sided lighting to.
Remarks:
This function unlocks two sided lighting and sets it to param.
See also:
GLLightModelTwoSide, GLLightModelTwoSideLock

NVSG_API void GLLineStipple | ( | GLint | factor,
 |  | GLushort | pattern
 | ) | [friend]

Replacement of glLineStipple.

This function caches the line stipple settings and asserts on the result before returning.

NVSG_API void GLLineWidth ( GLfloat width ) [friend]

Replacement of glLineWidth.

This function caches the line width setting and asserts on the result before returning.

NVSG_API void GLLinkProgram ( GLuint program ) [friend]

Replacement of glLinkProgram.

This function asserts on the result before returning.

NVSG_API void GLListBase ( GLuint base ) [friend]

Replacement of glListBase.

This function asserts on the result before returning.

NVSG_API void GLLoadIdentity ( void ) [friend]

Replacement of glLoadItentity.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLLoadMatrixd ( const GLdouble * m ) [friend]

Replacement of glLoadMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLLoadMatrixf ( const GLfloat * m ) [friend]

Replacement of glLoadMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLLoadTransposedMatrixd ( const GLdouble * m ) [friend]

Replacement of glLoadTransposeMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLLoadTransposeMatrixf ( const GLfloat * m ) [friend]

Replacement of glLoadTransposMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLLoadName ( GLuint name ) [friend]

Replacement of glLoadName.

This function asserts on the result before returning.

NVSG_API void GLLoadProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | program
 | ) | [friend]

Replacement of glLoadProgramNV.

This function hides the extension character of glLoadProgramNV and asserts on the result before returning.

NVSG_API void GLLockArrays | ( | GLint | first,
 |  | GLsizei | count
 | ) | [friend]

Replacement of glLockArrays.

This function asserts on the result before returning.

NVSG_API void GLLogicOp ( GLenum opcode ) [friend]

Replacement of glLogicOp.

This function asserts on the result before returning.

NVSG_API void GLMap1d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLdouble * | points
 | ) | [friend]

Replacement of glMap1d.

This function asserts on the result before returning.

NVSG_API void GLMap1f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLfloat * | points
 | ) | [friend]

Replacement of glMap1f.

This function asserts on the result before returning.

NVSG_API void GLMap2d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLdouble | v1,
 |  | GLdouble | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLdouble * | points
 | ) | [friend]

Replacement of glMap2d.

This function asserts on the result before returning.

NVSG_API void GLMap2f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLfloat * | points
 | ) | [friend]

Replacement of glMap2f.

This function asserts on the result before returning.

NVSG_API GLvoid* GLMapBuffer | ( | GLenum | target,
 |  | GLenum | access
 | ) | [friend]

Replacement of glMapBuffer.

This function hides the extension character of glMapBufferARB and asserts on the result before returning.

NVSG_API void GLMapGrid1d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2
 | ) | [friend]

Replacement of glMapGrid1d.

This function asserts on the result before returning.

NVSG_API void GLMapGrid1f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2
 | ) | [friend]

Replacement of glMapGrid1f.

This function asserts on the result before returning.

NVSG_API void GLMapGrid2d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | vn,
 |  | GLdouble | v1,
 |  | GLdouble | v2
 | ) | [friend]

Replacement of glMapGrid2d.

This function asserts on the result before returning.

NVSG_API void GLMapGrid2f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | vn,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [friend]

Replacement of glMapGrid2f.

This function asserts on the result before returning.

NVSG_API void GLMaterialAmbient | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLMaterialfv( face, GL_AMBIENT, params ).

This function caches the GL_AMBIENT value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_AMBIENT,params) directly.

NVSG_API void GLMaterialAmbientBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_BACK, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_AMBIENT, param ) directly.

NVSG_API void GLMaterialAmbientFront ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_AMBIENT, param ) directly.

NVSG_API void GLMaterialAmbientFrontAndBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ) directly.

NVSG_API void GLMaterialDiffuse | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLMaterialfv( face, GL_DIFFUSE, params ).

This function caches the GL_DIFFUSE value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_DIFFUSE,params) directly.

NVSG_API void GLMaterialDiffuseBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_BACK, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_DIFFUSE, param ) directly.

NVSG_API void GLMaterialDiffuseFront ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ) directly.

NVSG_API void GLMaterialDiffuseFrontAndBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ) directly.

NVSG_API void GLMaterialEmission | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLMaterialfv( face, GL_EMISSION, params ).

This function caches the GL_EMISSION value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_EMISSION,params) directly.

NVSG_API void GLMaterialEmissionBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_BACK, GL_EMISSION, param ).

This function caches the GL_EMISSION value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_EMISSION, param ) directly.

NVSG_API void GLMaterialEmissionFront ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT, GL_EMISSION, param ).

This function caches the GL_EMISSION value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_EMISSION, param ) directly.

NVSG_API void GLMaterialEmissionFrontAndBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ).

This function caches the GL_EMISSION value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ) directly.

NVSG_API void GLMaterialf | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glMaterialf.

This function caches on some face and pname values and asserts on the result before returning.

NVSG_API void GLMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glMaterialfv.

This function caches on some face and pname values and asserts on the result before returning.

NVSG_API void GLMateriali | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glMateriali.

This function caches on some face and pname values and asserts on the result before returning.

NVSG_API void GLMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glMaterialiv.

This function caches on some face and pname values and asserts on the result before returning.

NVSG_API void GLMaterialShininess | ( | GLenum | face,
 |  | GLfloat | param
 | ) | [friend]

Cached version of GLMaterialf( face, GL_SHININESS, param ).

This function caches the GL_SHININESS value of the material. It is faster to call this method instead of GLMaterialf(face,GL_SHININESS,param) directly.

NVSG_API void GLMaterialShininessBack ( GLfloat param ) [friend]

Cached version of GLMaterialf( GL_BACK, GL_SHININESS, param ).

This function caches the GL_SHININESS value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_SHININESS, param ) directly.

NVSG_API void GLMaterialShininessFront ( GLfloat param ) [friend]

Cached version of GLMaterialf( GL_FRONT, GL_SHININESS, param ).

This function caches the GL_SHININESS value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_SHININESS, param ) directly.

NVSG_API void GLMaterialShininessFrontAndBack ( GLfloat param ) [friend]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ).

This function caches the GL_SHININESS value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ) directly.

NVSG_API void GLMaterialSpecular | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLMaterialfv( face, GL_SPECULAR, params ).

This function caches the GL_SPECULAR value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_SPECULAR,params) directly.

NVSG_API void GLMaterialSpecularBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_BACK, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_SPECULAR, param ) directly.

NVSG_API void GLMaterialSpecularFront ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_SPECULAR, param ) directly.

NVSG_API void GLMaterialSpecularFrontAndBack ( const GLfloat * params ) [friend]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ) directly.

NVSG_API void GLMatrixMode ( GLenum mode ) [friend]

Replacement of glMatrixMode.

This function caches the matrix mode setting and asserts on the result before returning.

NVSG_API void GLMinmax | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLboolean | sink
 | ) | [friend]

Replacement of glMinmax.

This function asserts on the result before returning.

NVSG_API void GLMultiDrawArrays | ( | GLenum | mode,
 |  | GLint * | first,
 |  | GLsizei * | count,
 |  | GLsizei | primcount
 | ) | [friend]

Replacement of glMultiDrawArrays.

This function asserts on the result before returning.

NVSG_API void GLMultiDrawElements | ( | GLenum | mode,
 |  | const GLsizei * | count,
 |  | GLenum | type,
 |  | const GLvoid ** | indices,
 |  | GLsizei | primcount
 | ) | [friend]

Replacement of glMultiDrawElements.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1d | ( | GLenum | target,
 |  | GLdouble | s
 | ) | [friend]

Replacement of glMultiTexCoord1d.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glMultiTexCoord1dv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1f | ( | GLenum | target,
 |  | GLfloat | s
 | ) | [friend]

Replacement of glMultiTexCoord1f.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glMultiTexCoord1fv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1h | ( | GLenum | target,
 |  | GLhalf | s
 | ) | [friend]

Replacement of glMultiTexCoord1hNV.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glMultiTexCoord1hv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1i | ( | GLenum | target,
 |  | GLint | s
 | ) | [friend]

Replacement of glMultiTexCoord1i.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glMultiTexCoord1iv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1s | ( | GLenum | target,
 |  | GLshort | s
 | ) | [friend]

Replacement of glMultiTexCoord1s.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord1sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glMultiTexCoord1sv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t
 | ) | [friend]

Replacement of glMultiTexCoord2d.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glMultiTexCoord2dv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t
 | ) | [friend]

Replacement of glMultiTexCoord2f.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glMultiTexCoord2fv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t
 | ) | [friend]

Replacement of glMultiTexCoord2hNV.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glMultiTexCoord2hv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t
 | ) | [friend]

Replacement of glMultiTexCoord2i.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glMultiTexCoord2iv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t
 | ) | [friend]

Replacement of glMultiTexCoord2s.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord2sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glMultiTexCoord2sv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [friend]

Replacement of glMultiTexCoord3d.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glMultiTexCoord3dv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [friend]

Replacement of glMultiTexCoord3f.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glMultiTexCoord3fv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r
 | ) | [friend]

Replacement of glMultiTexCoord3hNV.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glMultiTexCoord3hv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [friend]

Replacement of glMultiTexCoord3i.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glMultiTexCoord3iv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [friend]

Replacement of glMultiTexCoord3s.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord3sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glMultiTexCoord3sv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [friend]

Replacement of glMultiTexCoord4d.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glMultiTexCoord4dv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [friend]

Replacement of glMultiTexCoord4f.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glMultiTexCoord4fv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r,
 |  | GLhalf | q
 | ) | [friend]

Replacement of glMultiTexCoord4hNV.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glMultiTexCoord4hv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [friend]

Replacement of glMultiTexCoord4i.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glMultiTexCoord4iv.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [friend]

Replacement of glMultiTexCoord4s.

This function asserts on the result before returning.

NVSG_API void GLMultiTexCoord4sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glMultiTexCoord4sv.

This function asserts on the result before returning.

NVSG_API void GLMultMatrixd ( const GLdouble * m ) [friend]

Replacement of glMultMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLMultMatrixf ( const GLfloat * m ) [friend]

Replacement of glMultMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLMultTransposeMatrixd ( const GLdouble * m ) [friend]

Replacement of glMultTransposeMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLMultTransposeMatrixf ( const GLfloat * m ) [friend]

Replacement of glMultTransposeMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLNewList | ( | GLuint | list,
 |  | GLenum | mode
 | ) | [friend]

Replacement of glNewList.

This function asserts on the result before returning.

NVSG_API void GLNormal3b | ( | GLbyte | nx,
 |  | GLbyte | ny,
 |  | GLbyte | nz
 | ) | [friend]

Replacement of glNormal3b.

This function asserts on the result before returning.

NVSG_API void GLNormal3bv ( const GLbyte * v ) [friend]

Replacement of glNormal3bv.

This function asserts on the result before returning.

NVSG_API void GLNormal3d | ( | GLdouble | nx,
 |  | GLdouble | ny,
 |  | GLdouble | nz
 | ) | [friend]

Replacement of glNormal3d.

This function asserts on the result before returning.

NVSG_API void GLNormal3dv ( const GLdouble * v ) [friend]

Replacement of glNormal3dv.

This function asserts on the result before returning.

NVSG_API void GLNormal3f | ( | GLfloat | nx,
 |  | GLfloat | ny,
 |  | GLfloat | nz
 | ) | [friend]

Replacement of glNormal3f.

This function asserts on the result before returning.

NVSG_API void GLNormal3fv ( const GLfloat * v ) [friend]

Replacement of glNormal3fv.

This function asserts on the result before returning.

NVSG_API void GLNormal3h | ( | GLhalf | nx,
 |  | GLhalf | ny,
 |  | GLhalf | nz
 | ) | [friend]

Replacement of glNormal3hNV.

This function asserts on the result before returning.

NVSG_API void GLNormal3hv ( const GLhalf * v ) [friend]

Replacement of glNormal3hv.

This function asserts on the result before returning.

NVSG_API void GLNormal3i | ( | GLint | nx,
 |  | GLint | ny,
 |  | GLint | nz
 | ) | [friend]

! Replacement of glNormal3i

This function asserts on the result before returning.

NVSG_API void GLNormal3iv ( const GLint * v ) [friend]

Replacement of glNormal3iv.

This function asserts on the result before returning.

NVSG_API void GLNormal3s | ( | GLshort | nx,
 |  | GLshort | ny,
 |  | GLshort | nz
 | ) | [friend]

Replacement of glNormal3s.

This function asserts on the result before returning.

NVSG_API void GLNormal3sv ( const GLshort * v ) [friend]

Replacement of glNormal3sv.

This function asserts on the result before returning.

NVSG_API void GLNormalPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glNormalPointer.

This function caches the normal pointer and asserts on the result before returning.

NVSG_API void GLOrtho | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [friend]

Replacement of glOrtho.

This function asserts on the result before returning.

NVSG_API void GLPassThrough ( GLfloat token ) [friend]

Replacement of glPassThrough.

This function asserts on the result before returning.

NVSG_API void GLPixelDataRange | ( | GLenum | target,
 |  | GLsizei | size,
 |  | GLvoid * | pointer
 | ) | [friend]

Replacement of glPixelDataRangeNV.

This function asserts on the result before returning.

NVSG_API void GLPixelMapfv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLfloat * | values
 | ) | [friend]

Replacement of glPixelMapfv.

This function asserts on the result before returning.

NVSG_API void GLPixelMapuiv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLuint * | values
 | ) | [friend]

Replacement of glPixelMapuiv.

This function asserts on the result before returning.

NVSG_API void GLPixelMapusv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLushort * | values
 | ) | [friend]

Replacement of glPixelMapusv.

This function asserts on the result before returning.

NVSG_API void GLPixelStoref | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glPixelStoref.

This function asserts on the result before returning.

NVSG_API void GLPixelStorei | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glPixelStorei.

This function asserts on the result before returning.

NVSG_API void GLPixelTransferf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glPixelTransferf.

This function asserts on the result before returning.

NVSG_API void GLPixelTransferi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glPixelTransferi.

This function asserts on the result before returning.

NVSG_API void GLPixelZoom | ( | GLfloat | xfactor,
 |  | GLfloat | yfactor
 | ) | [friend]

Replacement of glPixelZoom.

This function asserts on the result before returning.

NVSG_API void GLPointParameterf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glPointParameterf.

This function asserts on the result before returning.

NVSG_API void GLPointParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glPointParameterfv.

This function asserts on the result before returning.

NVSG_API void GLPointParameteri | ( | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glPointParameteri.

This function asserts on the result before returning.

NVSG_API void GLPointParameteriv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glPointParameteriv.

This function asserts on the result before returning.

NVSG_API void GLPointSize ( GLfloat size ) [friend]

Replacement of glPointSize.

This function caches the point size setting and asserts on the result before returning.

NVSG_API void GLPolygonMode | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [friend]

Cached version of GLPolygonMode( face, mode ).

This function caches the polygon mode and assert on the result.

NVSG_API void GLPolygonModeBack ( GLenum mode ) [friend]

Cached version of GLPolygonMode( GL_BACK, mode ).

This function caches the polygon mode on the GL_BACK face of polygon. It is faster to call this method instead of GLPolygonMode( GL_BACK, mode ) directly.

NVSG_API void GLPolygonModeFront ( GLenum mode ) [friend]

Cached version of GLPolygonMode( GL_FRONT, mode ).

This function caches the polygon mode on the GL_FRONT face of polygon. It is faster to call this method instead of GLPolygonMode( GL_FRONT, mode ) directly.

NVSG_API void GLPolygonModeFrontAndBack ( GLenum mode ) [friend]

Cached version of GLPolygonMode( GL_FRONT_AND_BACK, mode ).

This function caches the polygon mode on both the GL_FRONT and GL_BACK face of polygon. It is faster to call this method instead of GLPolygonMode( GL_FRONT_AND_BACK, mode ) directly.

NVSG_API void GLPolygonModeLock | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [friend]

Helper function to set the polygon mode and lock it.

Parameters:
face | The face for which the polygon mode is to set and lock.
mode | The polygon mode to set and lock.
Remarks:
This function sets the polygon mode for face to mode and locks it. Any subsequent calls to GLPolygonMode, GLPolygonModeBack, or GLPolygonModeFront on the same face will not change that setting, until the next call to GLPolygonModeUnlock.
See also:
GLPolygonMode, GLPolygonModeUnlock

NVSG_API void GLPolygonModeUnlock | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [friend]

Helper function to unlock the polygon mode and set it.

Parameters:
face | The face for which the polygon mode is to be unlocked and set.
mode | The polygon mode to set.
Remarks:
This function unlocks the polygon mode for face and sets it to mode.
See also:
GLPolygonMode, GLPolygonModeLock

NVSG_API void GLPolygonOffset | ( | GLfloat | factor,
 |  | GLfloat | units
 | ) | [friend]

Replacement of glPolygonOffset.

This function caches the polygon offset settings and asserts on the result before returning.

NVSG_API void GLPolygonStipple ( const GLubyte * mask ) [friend]

Replacement of glPolygonStipple.

This function asserts on the result before returning.

NVSG_API void GLPopAttrib ( void ) [friend]

Replacement of glPopAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushAttrib/GLPopAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

NVSG_API void GLPopClientAttrib ( void ) [friend]

Replacement of glPopClientAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushClientAttrib/GLPopClientAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

NVSG_API void GLPopMatrix ( void ) [friend]

Replacement of glPopMatrix.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLPopName ( void ) [friend]

Replacement of glPopName.

This function asserts on the result before returning.

NVSG_API void GLPrimitiveRestart ( ) [friend]

Replacement of glPrimitiveRestart.

This function asserts on the result before returning.

NVSG_API void GLPrimitiveRestartIndex ( GLuint index ) [friend]

Replacement of glPrimitiveRestartIndex.

This function caches the primitive restart index and asserts on the result before returning.

NVSG_API void GLPrioritizeTextures | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | const GLclampf * | priorities
 | ) | [friend]

Replacement of glPrioritizeTextures.

This function asserts on the result before returning.

NVSG_API void GLProgramBufferParametersfv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glProgramBufferParametersfvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramBufferParametersIiv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glProgramBufferParametersIivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramBufferParametersIuiv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [friend]

Replacement of glProgramBufferParametersIuivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glProgramEnvParameter4dARB.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | params
 | ) | [friend]

Replacement of glProgramEnvParameter4dvARB.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glProgramEnvParameter4fARB.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glProgramEnvParameter4fvARB.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParametersI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glProgramEnvParametersI4ivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameterI4i | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glProgramEnvParameterI4iNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameterI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glProgramEnvParameterI4ivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParametersI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [friend]

Replacement of glProgramEnvParametersI4uivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameterI4ui | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [friend]

Replacement of glProgramEnvParameterI4uiNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameterI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLuint * | params
 | ) | [friend]

Replacement of glProgramEnvParameterI4uivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramEnvParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glProgramEnvParameters4fvEXT.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glProgramLocalParameter4dARB.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | params
 | ) | [friend]

Replacement of glProgramLocalParameter4dvARB.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glProgramLocalParameter4fARB.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glProgramLocalParameter4fvARB.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParametersI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glProgramLocalParametersI4ivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParametersI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [friend]

Replacement of glProgramLocalParametersI4uivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameterI4i | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glProgramLocalParameterI4iNV.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameterI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glProgramLocalParameterI4ivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameterI4ui | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [friend]

Replacement of glProgramLocalParameterI4uiNV.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameterI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLuint * | params
 | ) | [friend]

Replacement of glProgramLocalParameterI4uivNV.

This function asserts on the result before returning.

NVSG_API void GLProgramLocalParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [friend]

Replacement of glProgramLocalParameters4fvEXT.

This function asserts on the result before returning.

NVSG_API void GLProgramNamedParameter4d | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glProgramNamedParameter4dNV.

This function asserts on the result before returning.

NVSG_API void GLProgramNamedParameter4dv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glProgramNamedParameter4dvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramNamedParameter4f | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glProgramNamedParameter4fNV.

This function asserts on the result before returning.

NVSG_API void GLProgramNamedParameter4fv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glProgramNamedParameter4fvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glProgramParameter4dNV.

This function asserts on the result before returning.

NVSG_API void GLProgramParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glProgramParameter4dvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glProgramParameter4fNV.

This function asserts on the result before returning.

NVSG_API void GLProgramParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glProgramParameter4fvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramParameteri | ( | GLuint | program,
 |  | GLenum | pname,
 |  | GLint | value
 | ) | [friend]

Replacement of glProgramParameteriEXT.

This function asserts on the result before returning.

NVSG_API void GLProgramParameters4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glProgramParameters4dvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glProgramParameters4fvNV.

This function asserts on the result before returning.

NVSG_API void GLProgramString | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLsizei | len,
 |  | const GLvoid * | string
 | ) | [friend]

Replacement of glProgramStringARB.

This function asserts on the result before returning.

NVSG_API void GLProgramVertexLimit | ( | GLenum | target,
 |  | GLint | limit
 | ) | [friend]

Replacement of glProgramVertexLimitNV.

This function asserts on the result before returning.

NVSG_API void GLPushAttrib ( GLbitfield mask ) [friend]

Replacement of glPushAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushAttrib/GLPopAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

NVSG_API void GLPushClientAttrib ( GLbitfield mask ) [friend]

Replacement of glPushClientAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushClientAttrib/GLPopClientAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

NVSG_API void GLPushMatrix ( void ) [friend]

Replacement of glPushMatrix.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLPushName ( GLuint name ) [friend]

Replacement of glPushName.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [friend]

Replacement of glRasterPos2d.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [friend]

Replacement of glRasterPos2f.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [friend]

Replacement of glRasterPos2i.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [friend]

Replacement of glRasterPos2s.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glRasterPos3d.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glRasterPos3f.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [friend]

Replacement of glRasterPos3i.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [friend]

Replacement of glRasterPos3s.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glRasterPos4d.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glRasterPos4f.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glRasterPos4i.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [friend]

Replacement of glRasterPos4s.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2dv ( const GLdouble * v ) [friend]

Replacement of glRasterPos2dv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2fv ( const GLfloat * v ) [friend]

Replacement of glRasterPos2fv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2iv ( const GLint * v ) [friend]

Replacement of glRasterPos2iv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos2sv ( const GLshort * v ) [friend]

Replacement of glRasterPos2sv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3dv ( const GLdouble * v ) [friend]

Replacement of glRasterPos3dv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3fv ( const GLfloat * v ) [friend]

Replacement of glRasterPos3fv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3iv ( const GLint * v ) [friend]

Replacement of glRasterPos3iv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos3sv ( const GLshort * v ) [friend]

Replacement of glRasterPos3sv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4dv ( const GLdouble * v ) [friend]

Replacement of glRasterPos4dv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4fv ( const GLfloat * v ) [friend]

Replacement of glRasterPos4fv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4iv ( const GLint * v ) [friend]

Replacement of glRasterPos4iv.

This function asserts on the result before returning.

NVSG_API void GLRasterPos4sv ( const GLshort * v ) [friend]

Replacement of glRasterPos4sv.

This function asserts on the result before returning.

NVSG_API void GLReadBuffer ( GLenum mode ) [friend]

Replacement of glReadBuffer.

This function asserts on the result before returning.

NVSG_API void GLReadPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [friend]

Replacement of glReadPixels.

This function asserts on the result before returning.

NVSG_API void GLRectd | ( | GLdouble | x1,
 |  | GLdouble | y1,
 |  | GLdouble | x2,
 |  | GLdouble | y2
 | ) | [friend]

Replacement of glRectd.

This function asserts on the result before returning.

NVSG_API void GLRectf | ( | GLfloat | x1,
 |  | GLfloat | y1,
 |  | GLfloat | x2,
 |  | GLfloat | y2
 | ) | [friend]

Replacement of glRectf.

This function asserts on the result before returning.

NVSG_API void GLRecti | ( | GLint | x1,
 |  | GLint | y1,
 |  | GLint | x2,
 |  | GLint | y2
 | ) | [friend]

Replacement of glRecti.

This function asserts on the result before returning.

NVSG_API void GLRects | ( | GLshort | x1,
 |  | GLshort | y1,
 |  | GLshort | x2,
 |  | GLshort | y2
 | ) | [friend]

Replacement of glRects.

This function asserts on the result before returning.

NVSG_API void GLRenderMode ( GLenum mode ) [friend]

Replacement of glRenderMode.

This function asserts on the result before returning.

NVSG_API void GLRequestResidentPrograms | ( | GLsizei | n,
 |  | const GLuint * | programs
 | ) | [friend]

Replacement of glRequestResidentProgramsNV.

This function asserts on the result before returning.

NVSG_API void GLResetHistogram ( GLenum target ) [friend]

Replacement of glResetHistogram.

This function asserts on the result before returning.

NVSG_API void GLResetMinmax ( GLenum target ) [friend]

Replacement of glResetMinmax.

This function asserts on the result before returning.

NVSG_API void GLRotated | ( | GLdouble | angle,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glRotated.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLRotatef | ( | GLfloat | angle,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glRotatef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLScaled | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glScaled.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLScalef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glScalef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLSampleCoverage | ( | GLclampf | value,
 |  | GLboolean | invert
 | ) | [friend]

Replacement of glSampleCoverage.

This function asserts on the result before returning.

NVSG_API void GLScissor | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glScissor.

This function caches the scissor settings and asserts on the result before returning.

NVSG_API void GLSecondaryColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [friend]

Replacement of glSecondaryColor3b.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3bv ( const GLbyte * v ) [friend]

Replacement of glSecondaryColor3bv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [friend]

Replacement of glSecondaryColor3d.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3dv ( const GLdouble * v ) [friend]

Replacement of glSecondaryColor3dv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [friend]

Replacement of glSecondaryColor3f.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3fv ( const GLfloat * v ) [friend]

Replacement of glSecondaryColor3fv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue
 | ) | [friend]

Replacement of glSecondaryColor3h.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3hv ( const GLhalf * v ) [friend]

Replacement of glSecondaryColor3hv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [friend]

Replacement of glSecondaryColor3i.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3iv ( const GLint * v ) [friend]

Replacement of glSecondaryColor3iv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [friend]

Replacement of glSecondaryColor3s.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3sv ( const GLshort * v ) [friend]

Replacement of glSecondaryColor3sv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [friend]

Replacement of glSecondaryColor3ub.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3ubv ( const GLubyte * v ) [friend]

Replacement of glSecondaryColor3ubv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [friend]

Replacement of glSecondaryColor3ui.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3uiv ( const GLuint * v ) [friend]

Replacement of glSecondaryColor3uiv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [friend]

Replacement of glSecondaryColor3us.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColor3usv ( const GLushort * v ) [friend]

Replacement of glSecondaryColor3usv.

This function asserts on the result before returning.

NVSG_API void GLSecondaryColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glSecondaryColorPointer.

This function caches the secondary color pointer setting and asserts on the result before returning.

NVSG_API void GLSelectBuffer | ( | GLsizei | size,
 |  | GLuint * | buffer
 | ) | [friend]

Replacement of glSelectBuffer.

This function asserts on the result before returning.

NVSG_API void GLSelectTexture ( GLenum target ) [friend]

Replacement of glSelectTexture.

This function simply maps to GLActiveTexture.

NVSG_API void GLSelectTextureCoordSet ( GLenum target ) [friend]

Replacement of GLSelectTextureCoordSet.

This function simply maps to GLClientActiveTexture.

NVSG_API void GLSeparableFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | row,
 |  | const GLvoid * | column
 | ) | [friend]

Replacement of glSeparableFilter2D.

This function asserts on the result before returning.

NVSG_API void GLSetFence | ( | GLuint | fence,
 |  | GLenum | condition
 | ) | [friend]

Replacement of glSetFenceNV.

NVSG_API void GLShadeModel ( GLenum mode ) [friend]

Replacement of glShadeModel.

This function caches the shade model setting and asserts on the result before returning.

NVSG_API void GLShaderSource | ( | GLuint | shader,
 |  | GLsizei | count,
 |  | const GLcharARB ** | string,
 |  | const GLint * | length
 | ) | [friend]

Replacement of glShaderSource.

NVSG_API void GLStencilClearTag | ( | GLsizei | tagBits,
 |  | GLuint | clearTag
 | ) | [friend]

Replacement of glStencilClearTag.

NVSG_API void GLStencilFunc | ( | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [friend]

Replacement of glStencilFunc.

This function caches the stencil function setting and asserts on the result before returning.

NVSG_API void GLStencilFuncSeparate | ( | GLenum | face,
 |  | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [friend]

Replacement of glStencilFuncSeparate.

NVSG_API void GLStencilOpSeparate | ( | GLenum | face,
 |  | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [friend]

Replacement of glStencilOpSeparate.

NVSG_API void GLStencilMaskSeparate | ( | GLenum | face,
 |  | GLuint | mask
 | ) | [friend]

Replacement of glStencilMaskSeparate.

NVSG_API void GLStencilMask ( GLuint mask ) [friend]

Replacement of glStencilMask.

This function caches the stencil mask setting and asserts on the result before returning.

NVSG_API void GLStencilOp | ( | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [friend]

Replacement of glStencilOp.

This function caches the stencil operation setting and asserts on the result before returning.

NVSG_API void GLStringMarker | ( | GLsizei | len,
 |  | const GLvoid * | string
 | ) | [friend]

Replacement of glStringMarkerGREMEDY.

This function simply does nothing if the extension is not available

NVSG_API GLboolean GLTestFence ( GLuint fence ) [friend]

Replacement of glTestFenceNV.

This function asserts on the result before returning.

NVSG_API void GLTexBuffer | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLuint | buffer
 | ) | [friend]

Replacement of glTexBufferEXT.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1d ( GLdouble s ) [friend]

Replacement of glTexCoord1d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1dv ( const GLdouble * v ) [friend]

Replacement of glTexCoord1dv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1f ( GLfloat s ) [friend]

Replacement of glTexCoord1f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1fv ( const GLfloat * v ) [friend]

Replacement of glTexCoord1fv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1h ( GLhalf s ) [friend]

Replacement of glTexCoord1hNV.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1hv ( const GLhalf * v ) [friend]

Replacement of glTexCoord1hv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1i ( GLint s ) [friend]

Replacement of glTexCoord1i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1iv ( const GLint * v ) [friend]

Replacement of glTexCoord1iv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1s ( GLshort s ) [friend]

Replacement of glTexCoord1s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord1sv ( const GLshort * v ) [friend]

Replacement of glTexCoord1sv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2d | ( | GLdouble | s,
 |  | GLdouble | t
 | ) | [friend]

Replacement of glTexCoord2d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2dv ( const GLdouble * v ) [friend]

Replacement of glTexCoord2dv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2f | ( | GLfloat | s,
 |  | GLfloat | t
 | ) | [friend]

Replacement of glTexCoord2f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2fv ( const GLfloat * v ) [friend]

Replacement of glTexCoord2fv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2h | ( | GLhalf | s,
 |  | GLhalf | t
 | ) | [friend]

Replacement of glTexCoord2hNV.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2hv ( const GLhalf * v ) [friend]

Replacement of glTexCoord2hv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2i | ( | GLint | s,
 |  | GLint | t
 | ) | [friend]

Replacement of glTexCoord2i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2iv ( const GLint * v ) [friend]

Replacement of glTexCoord2iv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2s | ( | GLshort | s,
 |  | GLshort | t
 | ) | [friend]

Replacement of glTexCoord2s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord2sv ( const GLshort * v ) [friend]

Replacement of glTexCoord2sv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [friend]

Replacement of glTexCoord3d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3dv ( const GLdouble * v ) [friend]

Replacement of glTexCoord3dv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [friend]

Replacement of glTexCoord3f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3fv ( const GLfloat * v ) [friend]

Replacement of glTexCoord3fv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3h | ( | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r
 | ) | [friend]

Replacement of glTexCoord3hNV.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3hv ( const GLhalf * v ) [friend]

Replacement of glTexCoord3hv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [friend]

Replacement of glTexCoord3i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3iv ( const GLint * v ) [friend]

Replacement of glTexCoord3iv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [friend]

Replacement of glTexCoord3s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord3sv ( const GLshort * v ) [friend]

Replacement of glTexCoord3sv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [friend]

Replacement of glTexCoord4d.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4dv ( const GLdouble * v ) [friend]

Replacement of glTexCoord4dv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [friend]

Replacement of glTexCoord4f.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4fv ( const GLfloat * v ) [friend]

Replacement of glTexCoord4fv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4h | ( | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r,
 |  | GLhalf | q
 | ) | [friend]

Replacement of glTexCoord4hNV.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4hv ( const GLhalf * v ) [friend]

Replacement of glTexCoord4hv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [friend]

Replacement of glTexCoord4i.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4iv ( const GLint * v ) [friend]

Replacement of glTexCoord4iv.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [friend]

Replacement of glTexCoord4s.

This function asserts on the result before returning.

NVSG_API void GLTexCoord4sv ( const GLshort * v ) [friend]

Replacement of glTexCoord4sv.

This function asserts on the result before returning.

NVSG_API void GLTexCoordPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glTexCoordPointer.

This function caches the tex coord pointer setting and asserts on the result before returning.

NVSG_API void GLTexEnvf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Cached version of glTexEnvf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of glTexEnvf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexEnvi | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Cached version of glTexEnvi( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Cached version of glTexEnviv( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexGend | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble | param
 | ) | [friend]

Replacement of glTexGend.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexGenf | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Replacement of glTexGenf.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | const GLfloat * | param
 | ) | [friend]

Replacement of glTexGenfv.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexGeni | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Replacement of glTexGeni.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexImage1D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexImage2D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const void * | pixels
 | ) | [friend]

Replacement of glTexImage3D.

This function hides the extension character of glTexImage3D, updates the active texture, and asserts on the result before returning.

NVSG_API void GLTexParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [friend]

Cached version of glTexParameterf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [friend]

Cached version of glTexParameteri( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of glTexParameterfv( target, pname, params ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Cached version of glTexParameteriv( target, pname, params ).

This function caches some of the texture environment parameters and asserts on the result before returning.

NVSG_API void GLTexParameterIiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [friend]

Replacement of glTexParameterIivEXT.

This function asserts on the result before returning.

NVSG_API void GLTexParameterIuiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLuint * | params
 | ) | [friend]

Replacement of glTexParameterIuivEXT.

This function asserts on the result before returning.

NVSG_API void GLTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexSubImage1D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [friend]

Replacement of glTexSubImage3D.

This function updates the active texture and asserts on the result before returning.

NVSG_API void GLTextureBorderColor | ( | GLenum | target,
 |  | const GLfloat * | params
 | ) | [friend]

Cached version of GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params ).

This function caches the GL_TEXTURE_BORDER_COLOR values of the texture currently bound to target. It is faster to call this method instead of GLTexParameterfv(target, GL_TEXTURE_BORDER_COLOR, params) directly.

NVSG_API void GLTextureEnvColor ( const GLfloat * params ) [friend]

Cached version of GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params ).

This function caches the GL_TEXTURE_ENV_COLOR value of the active texture unit. It is faster to call this method instead of GLTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params) directly.

NVSG_API void GLTextureEnvMode ( GLint param ) [friend]

Cached version of GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param ).

This function caches the GL_TEXTURE_ENV_MODE value of the active texture unit. It is faster to call this method instead of GLTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param) directly.

NVSG_API void GLTextureMagFilter | ( | GLenum | target,
 |  | GLint | param
 | ) | [friend]

Cached version of GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param ).

This function caches the GL_TEXTURE_MAG_FILTER values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_MAG_FILTER, param) directly.

NVSG_API void GLTextureMinFilter | ( | GLenum | target,
 |  | GLint | param
 | ) | [friend]

Cached version of GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param ).

This function caches the GL_TEXTURE_MIN_FILTER values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_MIN_FILTER, param) directly.

NVSG_API void GLTextureWrapR | ( | GLenum | target,
 |  | GLint | param
 | ) | [friend]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_R, param ).

This function caches the GL_TEXTURE_WRAP_R values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_R, param) directly.

NVSG_API void GLTextureWrapS | ( | GLenum | target,
 |  | GLint | param
 | ) | [friend]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_S, param ).

This function caches the GL_TEXTURE_WRAP_S values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_S, param) directly.

NVSG_API void GLTextureWrapT | ( | GLenum | target,
 |  | GLint | param
 | ) | [friend]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_T, param ).

This function caches the GL_TEXTURE_WRAP_T values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_T, param) directly.

NVSG_API void GLTrackMatrix | ( | GLenum | target,
 |  | GLuint | address,
 |  | GLenum | matrix,
 |  | GLenum | transform
 | ) | [friend]

Cached version of glTrackMatrixNV.

This function asserts on the result before returning.

NVSG_API void GLTransformFeedbackAttribsNV | ( | GLuint | count,
 |  | const GLint * | attribs,
 |  | GLenum | bufferMode
 | ) | [friend]

Cached version of glTransformFeedbackAttribsNV.

This function asserts on the result before returning.

NVSG_API void GLTransformFeedbackVaryingsNV | ( | GLuint | program,
 |  | GLsizei | count,
 |  | const GLint * | varyings,
 |  | GLenum | bufferMode
 | ) | [friend]

Cached version of glTransformFeedbackVaryingsNV.

This function asserts on the result before returning.

NVSG_API void GLTransformFeedbackVaryings | ( | GLuint | program,
 |  | GLsizei | count,
 |  | const GLchar ** | varyings,
 |  | GLenum | bufferMode
 | ) | [friend]

Cached version of glTransformFeedbackVaryings.

This function asserts on the result before returning.

NVSG_API void GLTranslated | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glTranslated.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLTranslatef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glTranslatef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

NVSG_API void GLUnlockArrays ( ) [friend]

Replacement of glUnlockArrays.

This function asserts on the result before returning.

NVSG_API void GLUniform1f | ( | GLint | location,
 |  | GLfloat | v0
 | ) | [friend]

Replacement of glUniform1f.

This function asserts on the result before returning.

NVSG_API void GLUniform1fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniform1fv.

This function asserts on the result before returning.

NVSG_API void GLUniform1i | ( | GLint | location,
 |  | GLint | v0
 | ) | [friend]

Replacement of glUniform1i.

This function asserts on the result before returning.

NVSG_API void GLUniform1iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [friend]

Replacement of glUniform1iv.

This function asserts on the result before returning.

NVSG_API void GLUniform1ui | ( | GLint | location,
 |  | GLuint | v0
 | ) | [friend]

Replacement of glUniform1uiEXT.

This function asserts on the result before returning.

NVSG_API void GLUniform1uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [friend]

Replacement of glUniform1uivEXT.

This function asserts on the result before returning.

NVSG_API void GLUniform2f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1
 | ) | [friend]

Replacement of glUniform2f.

This function asserts on the result before returning.

NVSG_API void GLUniform2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniform2fv.

This function asserts on the result before returning.

NVSG_API void GLUniform2i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1
 | ) | [friend]

Replacement of glUniform2i.

This function asserts on the result before returning.

NVSG_API void GLUniform2iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [friend]

Replacement of glUniform2iv.

This function asserts on the result before returning.

NVSG_API void GLUniform2ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1
 | ) | [friend]

Replacement of glUniform2ui.

This function asserts on the result before returning.

NVSG_API void GLUniform2uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [friend]

Replacement of glUniform2uiv.

This function asserts on the result before returning.

NVSG_API void GLUniform3f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [friend]

Replacement of glUniform3f.

This function asserts on the result before returning.

NVSG_API void GLUniform3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniform3fv.

This function asserts on the result before returning.

NVSG_API void GLUniform3i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1,
 |  | GLint | v2
 | ) | [friend]

Replacement of glUniform3i.

This function asserts on the result before returning.

NVSG_API void GLUniform3iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [friend]

Replacement of glUniform3iv.

This function asserts on the result before returning.

NVSG_API void GLUniform3ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1,
 |  | GLuint | v2
 | ) | [friend]

Replacement of glUniform3ui.

This function asserts on the result before returning.

NVSG_API void GLUniform3uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [friend]

Replacement of glUniform3uiv.

This function asserts on the result before returning.

NVSG_API void GLUniform4f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLfloat | v3
 | ) | [friend]

Replacement of glUniform4f.

This function asserts on the result before returning.

NVSG_API void GLUniform4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniform4fv.

This function asserts on the result before returning.

NVSG_API void GLUniform4i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1,
 |  | GLint | v2,
 |  | GLint | v3
 | ) | [friend]

Replacement of glUniform4i.

This function asserts on the result before returning.

NVSG_API void GLUniform4iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [friend]

Replacement of glUniform4iv.

This function asserts on the result before returning.

NVSG_API void GLUniform4ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1,
 |  | GLuint | v2,
 |  | GLuint | v3
 | ) | [friend]

Replacement of glUniform4ui.

This function asserts on the result before returning.

NVSG_API void GLUniform4uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [friend]

Replacement of glUniform4uiv.

This function asserts on the result before returning.

NVSG_API void GLUniformBuffer | ( | GLuint | program,
 |  | GLint | location,
 |  | GLuint | buffer
 | ) | [friend]

Replacement of glUniformBufferEXT.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix2fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix2x3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix2x3fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix2x4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix2x4fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix3fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix3x2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix3x2fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix3x4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix3x4fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix4fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix4x2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix4x2fv.

This function asserts on the result before returning.

NVSG_API void GLUniformMatrix4x3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [friend]

Replacement of glUniformMatrix4x3fv.

This function asserts on the result before returning.

NVSG_API GLboolean GLUnmapBuffer ( GLenum target ) [friend]

Replacement of glUnmapBuffer.

This function asserts on the result before returning.

NVSG_API void GLUseProgram ( GLuint program ) [friend]

Replacement of glUseProgram.

This function asserts on the result before returning.

NVSG_API void GLUseProgramObject ( GLhandleARB programObj ) [friend]

Replacement of glUseProgramObjectARB.

This function asserts on the result before returning.

NVSG_API void GLValidateProgram ( GLuint program ) [friend]

Replacement of glValidateProgram.

This function asserts on the result before returning.

NVSG_API void GLVertex2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [friend]

Replacement of glVertex2d.

This function asserts on the result before returning.

NVSG_API void GLVertex2dv ( const GLdouble * v ) [friend]

Replacement of glVertex2dv.

This function asserts on the result before returning.

NVSG_API void GLVertex2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [friend]

Replacement of glVertex2f.

This function asserts on the result before returning.

NVSG_API void GLVertex2fv ( const GLfloat * v ) [friend]

Replacement of glVertex2fv.

This function asserts on the result before returning.

NVSG_API void GLVertex2h | ( | GLhalf | x,
 |  | GLhalf | y
 | ) | [friend]

Replacement of glVertex2hNV.

This function asserts on the result before returning.

NVSG_API void GLVertex2hv ( const GLhalf * v ) [friend]

Replacement of glVertex2hv.

This function asserts on the result before returning.

NVSG_API void GLVertex2i | ( | GLint | x,
 |  | GLint | y
 | ) | [friend]

Replacement of glVertex2i.

This function asserts on the result before returning.

NVSG_API void GLVertex2iv ( const GLint * v ) [friend]

Replacement of glVertex2iv.

This function asserts on the result before returning.

NVSG_API void GLVertex2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [friend]

Replacement of glVertex2s.

This function asserts on the result before returning.

NVSG_API void GLVertex2sv ( const GLshort * v ) [friend]

Replacement of glVertex2sv.

This function asserts on the result before returning.

NVSG_API void GLVertex3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glVertex3d.

This function asserts on the result before returning.

NVSG_API void GLVertex3dv ( const GLdouble * v ) [friend]

Replacement of glVertex3dv.

This function asserts on the result before returning.

NVSG_API void GLVertex3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glVertex3f.

This function asserts on the result before returning.

NVSG_API void GLVertex3fv ( const GLfloat * v ) [friend]

Replacement of glVertex3fv.

This function asserts on the result before returning.

NVSG_API void GLVertex3h | ( | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z
 | ) | [friend]

Replacement of glVertex3hNV.

This function asserts on the result before returning.

NVSG_API void GLVertex3hv ( const GLhalf * v ) [friend]

Replacement of glVertex3hv.

This function asserts on the result before returning.

NVSG_API void GLVertex3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [friend]

Replacement of glVertex3i.

This function asserts on the result before returning.

NVSG_API void GLVertex3iv ( const GLint * v ) [friend]

Replacement of glVertex3iv.

This function asserts on the result before returning.

NVSG_API void GLVertex3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [friend]

Replacement of glVertex3s.

This function asserts on the result before returning.

NVSG_API void GLVertex3sv ( const GLshort * v ) [friend]

Replacement of glVertex3sv.

This function asserts on the result before returning.

NVSG_API void GLVertex4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glVertex4d.

This function asserts on the result before returning.

NVSG_API void GLVertex4dv ( const GLdouble * v ) [friend]

Replacement of glVertex4dv.

This function asserts on the result before returning.

NVSG_API void GLVertex4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glVertex4f.

This function asserts on the result before returning.

NVSG_API void GLVertex4fv ( const GLfloat * v ) [friend]

Replacement of glVertex4fv.

This function asserts on the result before returning.

NVSG_API void GLVertex4h | ( | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z,
 |  | GLhalf | w
 | ) | [friend]

Replacement of glVertex4hNV.

This function asserts on the result before returning.

NVSG_API void GLVertex4hv ( const GLhalf * v ) [friend]

Replacement of glVertex4hv.

This function asserts on the result before returning.

NVSG_API void GLVertex4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glVertex4i.

This function asserts on the result before returning.

NVSG_API void GLVertex4iv ( const GLint * v ) [friend]

Replacement of glVertex4iv.

This function asserts on the result before returning.

NVSG_API void GLVertex4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [friend]

Replacement of glVertex4s.

This function asserts on the result before returning.

NVSG_API void GLVertex4sv ( const GLshort * v ) [friend]

Replacement of glVertex4sv.

This function asserts on the result before returning.

NVSG_API void GLVertexArrayRange | ( | GLsizei | size,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glVertexArrayRange.

This function asserts on the result before returning.

NVSG_API void GLVertexAttrib1d | ( | GLuint | index,
 |  | GLdouble | x
 | ) | [friend]

Replacement of glVertexAttrib1d.

NVSG_API void GLVertexAttrib1dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttrib1dv.

NVSG_API void GLVertexAttrib1f | ( | GLuint | index,
 |  | GLfloat | x
 | ) | [friend]

Replacement of glVertexAttrib1f.

NVSG_API void GLVertexAttrib1fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttrib1fv.

NVSG_API void GLVertexAttrib1h | ( | GLuint | index,
 |  | GLhalf | x
 | ) | [friend]

Replacement of glVertexAttrib1h.

NVSG_API void GLVertexAttrib1hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttrib1nv.

NVSG_API void GLVertexAttrib1s | ( | GLuint | index,
 |  | GLshort | x
 | ) | [friend]

Replacement of glVertexAttrib1s.

NVSG_API void GLVertexAttrib1sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttrib1sv.

NVSG_API void GLVertexAttrib2d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y
 | ) | [friend]

Replacement of glVertexAttrib2d.

NVSG_API void GLVertexAttrib2dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttrib2dv.

NVSG_API void GLVertexAttrib2f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y
 | ) | [friend]

Replacement of glVertexAttrib2f.

NVSG_API void GLVertexAttrib2fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttrib2fv.

NVSG_API void GLVertexAttrib2h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y
 | ) | [friend]

Replacement of glVertexAttrib2h.

NVSG_API void GLVertexAttrib2hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttrib2hv.

NVSG_API void GLVertexAttrib2s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y
 | ) | [friend]

Replacement of glVertexAttrib2s.

NVSG_API void GLVertexAttrib2sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttrib2sv.

NVSG_API void GLVertexAttrib3d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glVertexAttrib3d.

NVSG_API void GLVertexAttrib3dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttrib3dv.

NVSG_API void GLVertexAttrib3f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glVertexAttrib3f.

NVSG_API void GLVertexAttrib3fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttrib3fv.

NVSG_API void GLVertexAttrib3h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z
 | ) | [friend]

Replacement of glVertexAttrib3h.

NVSG_API void GLVertexAttrib3hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttrib3hv.

NVSG_API void GLVertexAttrib3s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [friend]

Replacement of glVertexAttrib3s.

NVSG_API void GLVertexAttrib3sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttrib3sv.

NVSG_API void GLVertexAttrib4bv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [friend]

Replacement of glVertexAttrib3bv.

NVSG_API void GLVertexAttrib4d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [friend]

Replacement of glVertexAttrib4d.

NVSG_API void GLVertexAttrib4dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttrib4dv.

NVSG_API void GLVertexAttrib4f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [friend]

Replacement of glVertexAttrib4f.

NVSG_API void GLVertexAttrib4fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttrib4fv.

NVSG_API void GLVertexAttrib4h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z,
 |  | GLhalf | w
 | ) | [friend]

Replacement of glVertexAttrib4h.

NVSG_API void GLVertexAttrib4hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttrib4hv.

NVSG_API void GLVertexAttrib4iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glVertexAttrib4iv.

NVSG_API void GLVertexAttrib4s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [friend]

Replacement of glVertexAttrib4s.

NVSG_API void GLVertexAttrib4sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttrib4sv.

NVSG_API void GLVertexAttrib4ub | ( | GLuint | index,
 |  | GLubyte | x,
 |  | GLubyte | y,
 |  | GLubyte | z,
 |  | GLubyte | w
 | ) | [friend]

Replacement of glVertexAttrib4ub.

NVSG_API void GLVertexAttrib4ubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [friend]

Replacement of glVertexAttrib4ubv.

NVSG_API void GLVertexAttrib4uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [friend]

Replacement of glVertexAttrib4uiv.

NVSG_API void GLVertexAttrib4usv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [friend]

Replacement of glVertexAttrib4usv.

NVSG_API void GLVertexAttrib4Nbv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [friend]

Replacement of glVertexAttrib4Nbv.

NVSG_API void GLVertexAttrib4Niv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glVertexAttrib4Niv.

NVSG_API void GLVertexAttrib4Nsv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttrib4Nsv.

NVSG_API void GLVertexAttrib4Nub | ( | GLuint | index,
 |  | GLubyte | x,
 |  | GLubyte | y,
 |  | GLubyte | z,
 |  | GLubyte | w
 | ) | [friend]

Replacement of glVertexAttrib4Nub.

NVSG_API void GLVertexAttrib4Nubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [friend]

Replacement of glVertexAttrib4Nubv.

NVSG_API void GLVertexAttrib4Nuiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [friend]

Replacement of glVertexAttrib4Nuiv.

NVSG_API void GLVertexAttrib4Nusv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [friend]

Replacement of glVertexAttrib4Nusv.

NVSG_API void GLVertexAttribI1i | ( | GLuint | index,
 |  | GLint | x
 | ) | [friend]

Replacement of glVertexAttribI1iEXT.

NVSG_API void GLVertexAttribI1iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glVertexAttribI1ivEXT.

NVSG_API void GLVertexAttribI1ui | ( | GLuint | index,
 |  | GLuint | x
 | ) | [friend]

Replacement of glVertexAttribI1uiExt.

NVSG_API void GLVertexAttribI1uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [friend]

Replacement of glVertexAttribI1iuvEXT.

NVSG_API void GLVertexAttribI2i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y
 | ) | [friend]

Replacement of glVertexAttribI2iEXT.

NVSG_API void GLVertexAttribI2iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glVertexAttribI2ivEXT.

NVSG_API void GLVertexAttribI2ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y
 | ) | [friend]

Replacement of glVertexAttribI2uiExt.

NVSG_API void GLVertexAttribI2uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [friend]

Replacement of glVertexAttribI2uivEXT.

NVSG_API void GLVertexAttribI3i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [friend]

Replacement of glVertexAttribI3iEXT.

NVSG_API void GLVertexAttribI3iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glVertexAttribI3ivEXT.

NVSG_API void GLVertexAttribI3ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z
 | ) | [friend]

Replacement of glVertexAttribI3uiExt.

NVSG_API void GLVertexAttribI3uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [friend]

Replacement of glVertexAttribI3uivEXT.

NVSG_API void GLVertexAttribI4bv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [friend]

Replacement of glVertexAttribI4bvEXT.

NVSG_API void GLVertexAttribI4i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [friend]

Replacement of glVertexAttribI4iEXT.

NVSG_API void GLVertexAttribI4iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [friend]

Replacement of glVertexAttribI4ivEXT.

NVSG_API void GLVertexAttribI4sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttribI4svEXT.

NVSG_API void GLVertexAttribI4ubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [friend]

Replacement of glVertexAttribI4ubvEXT.

NVSG_API void GLVertexAttribI4ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [friend]

Replacement of glVertexAttribI4uiExt.

NVSG_API void GLVertexAttribI4uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [friend]

Replacement of glVertexAttribI4uivEXT.

NVSG_API void GLVertexAttribI4usv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [friend]

Replacement of glVertexAttribI4usvEXT.

NVSG_API void GLVertexAttribIPointer | ( | GLuint | index,
 |  | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glVertexAttribIPointerEXT.

NVSG_API void GLVertexAttribPointer | ( | GLuint | index,
 |  | GLint | size,
 |  | GLenum | type,
 |  | GLboolean | normalize,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glVertexAttribPointer.

NVSG_API void GLVertexAttribPointerNV | ( | GLuint | index,
 |  | GLint | fsize,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glVertexAttribPointerNV.

NVSG_API void GLVertexAttribs1dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttribs1dvNV.

NVSG_API void GLVertexAttribs1fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttribs1fvNV.

NVSG_API void GLVertexAttribs1hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttribs1hv.

NVSG_API void GLVertexAttribs1svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttribs1svNV.

NVSG_API void GLVertexAttribs2dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttribs2dvNV.

NVSG_API void GLVertexAttribs2fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttribs2fvNV.

NVSG_API void GLVertexAttribs2hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttribs2hv.

NVSG_API void GLVertexAttribs2svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttribs2svNV.

NVSG_API void GLVertexAttribs3dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttribs3dvNV.

NVSG_API void GLVertexAttribs3fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttribs3fvNV.

NVSG_API void GLVertexAttribs3hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttribs3hv.

NVSG_API void GLVertexAttribs3svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttribs3svNV.

NVSG_API void GLVertexAttribs4dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [friend]

Replacement of glVertexAttribs4dvNV.

NVSG_API void GLVertexAttribs4fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [friend]

Replacement of glVertexAttribs4fvNV.

NVSG_API void GLVertexAttribs4hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [friend]

Replacement of glVertexAttribs4hv.

NVSG_API void GLVertexAttribs4svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [friend]

Replacement of glVertexAttribs4svNV.

NVSG_API void GLVertexAttribs4ubvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLubyte * | v
 | ) | [friend]

Replacement of glVertexAttribs4svNV.

NVSG_API void GLVertexPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [friend]

Replacement of glVertexPointer.

This function caches the vertex pointer setting and asserts on the result before returning.

NVSG_API void GLViewport | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glViewport.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [friend]

Replacement of glWindowPos2d.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2dv ( const GLdouble * p ) [friend]

Replacement of glWindowPos2dv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [friend]

Replacement of glWindowPos2f.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2fv ( const GLfloat * p ) [friend]

Replacement of glWindowPos2fv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [friend]

Replacement of glWindowPos2i.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2iv ( const GLint * p ) [friend]

Replacement of glWindowPos2iv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [friend]

Replacement of glWindowPos2s.

This function asserts on the result before returning.

NVSG_API void GLWindowPos2sv ( const GLshort * p ) [friend]

Replacement of glWindowPos2sv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [friend]

Replacement of glWindowPos3d.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3dv ( const GLdouble * p ) [friend]

Replacement of glWindowPos3dv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [friend]

Replacement of glWindowPos3f.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3fv ( const GLfloat * p ) [friend]

Replacement of glWindowPos3fv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [friend]

Replacement of glWindowPos3i.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3iv ( const GLint * p ) [friend]

Replacement of glWindowPos3iv.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [friend]

Replacement of glWindowPos3s.

This function asserts on the result before returning.

NVSG_API void GLWindowPos3sv ( const GLshort * p ) [friend]

Replacement of glWindowPos3sv.

This function asserts on the result before returning.

NVSG_API GLboolean GLIsRenderbuffer ( GLuint renderbuffer ) [friend]

Replacement of glIsRenderbufferEXT.

Parameters:
renderbuffer The id to test.
Returns:
TRUE, if renderbuffer is the id of a render buffer, otherwise FALSE.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

NVSG_API void GLBindRenderbuffer | ( | GLenum | target,
 |  | GLuint | renderbuffer
 | ) | [friend]

Replacement of glBindRenderbufferEXT.

Parameters:
target | The id of the target to bind the render buffer to. Must be GL_RENDERBUFFER_EXT.
renderbuffer | The id of the unused render buffer to bind.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

NVSG_API void GLDeleteRenderbuffers | ( | GLsizei | n,
 |  | const GLuint * | renderbuffers
 | ) | [friend]

Replacement of glDeleteRenderbuffersEXT.

Parameters:
n | The number of render buffer ids to delete.
renderbuffers | A pointer to the render buffer ids to delete.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

NVSG_API void GLGenRenderbuffers | ( | GLsizei | n,
 |  | GLuint * | renderbuffers
 | ) | [friend]

Replacement of glGenRenderbuffersEXT.

Parameters:
n | The number of render buffer ids to generate.
renderbuffers | A pointer to the memory to fill with the generated render buffer ids.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

NVSG_API void GLRenderbufferStorage | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glRenderbufferStorageEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv

NVSG_API void GLRenderbufferStorageMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glRenderbufferStorageMultisampleEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
samples | Is the number of multisample buffers you wish to allocate.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_EXT_framebuffer_multisample is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv, GLRenderbufferStorage, GLRenderbufferStorageMultisampleCoverage

NVSG_API void GLRenderbufferStorageMultisampleCoverage | ( | GLenum | target,
 |  | GLsizei | coverageSamples,
 |  | GLsizei | colorSamples,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [friend]

Replacement of glRenderbufferStorageMultisampleCoverageNV.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
coverageSamples | Is the number of pseudo multisample buffers to allocate.
colorSamples | Is the number of multisample buffers to allocate.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_NV_framebuffer_multisample_coverage is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv, GLRenderbufferStorage, GLRenderbufferStorageMultisampleCoverage

NVSG_API void GLGetRenderbufferParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetRenderbufferParameterivEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
pname | The id of the value to get.
params | Pointer to the memory to write the queried value to.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage

NVSG_API GLboolean GLIsFramebuffer ( GLuint framebuffer ) [friend]

Replacement of glIsFramebufferEXT.

Parameters:
framebuffer The id to test.
Returns:
TRUE, if framebuffer is the id of a frame buffer, otherwise FALSE.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLBindFramebuffer | ( | GLenum | target,
 |  | GLuint | framebuffer
 | ) | [friend]

Replacement of glBindFramebufferEXT.

Parameters:
target | The id of the target to bind the frame buffer to. Must be GL_FRAMEBUFFER_EXT.
framebuffer | The id of the unused frame buffer to bind.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLDeleteFramebuffers | ( | GLsizei | n,
 |  | const GLuint * | framebuffers
 | ) | [friend]

Replacement of glDeleteFramebuffersEXT.

Parameters:
n | The number of frame buffer ids to delete.
framebuffers | A pointer to the frame buffer ids to delete.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLGenFramebuffers | ( | GLsizei | n,
 |  | GLuint * | framebuffers
 | ) | [friend]

Replacement of glGenFramebuffersEXT.

Parameters:
n | The number of frame buffer ids to generate.
framebuffers | A pointer to the memory to fill with the generated frame buffer ids.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API GLenum GLCheckFramebufferStatus ( GLenum target ) [friend]

Replacement of glCheckFramebufferStatusEXT.

Parameters:
target Must be GL_FRAMEBUFFER_EXT.
Returns:
A symbolic value describing the frame buffer status.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLFramebufferTexture1D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [friend]

Replacement of glFramebufferTexture1DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLFramebufferTexture2D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [friend]

Replacement of glFramebufferTexture2DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture3D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLFramebufferTexture3D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLint | zoffset
 | ) | [friend]

Replacement of glFramebufferTexture3DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
zoffset | Specifies the z-offset of a 2-dimensional image within a 3-dimensional texture.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLFramebufferTextureLayer | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLint | layer
 | ) | [friend]

Replacement of glFramebufferTextureLayerEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
texture | The id of an existing texture.
level | The mipmap level of the texture image to be attached.
layer | Specifies the layer/slice of the texture array - or slice of 3D texture.
Note:
It is assumed that the extension GL_EXT_texture_array is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLFramebufferRenderbuffer | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | renderbuffertarget,
 |  | GLuint | renderbuffer
 | ) | [friend]

Replacement of glFramebufferRenderbufferEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
renderbuffertarget | Must be GL_RENDERBUFFER_EXT.
renderbuffer | The id of the render buffer to be attached to the frame buffer.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLGetFramebufferAttachmentParameteriv

NVSG_API void GLGetFramebufferAttachmentParameteriv | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [friend]

Replacement of glGetFramebufferAttachmentParameterivEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
pname | The symbolic values of the attachment parameters to query.
params | A pointer to the memory where result of the query is written to.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer

NVSG_API void GLGenerateMipmap ( GLenum target ) [friend]

Replacement of glGenerateMipmapEXT.

Parameters:
target The symbolic value of the texture target to generate mipmaps for.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

NVSG_API void GLPatchParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | values
 | ) | [friend]

Replacement of glPatchParameterfvNV.

This function asserts on the result before returning.

NVSG_API void GLPatchParameteri | ( | GLenum | pname,
 |  | GLint | value
 | ) | [friend]

Replacement of glPatchParameteriNV.

This function asserts on the result before returning.

NVSG_API GLvoid* GLMapBufferRange | ( | GLenum | target,
 |  | GLintptr | offset,
 |  | GLsizeiptr | length,
 |  | GLbitfield | access
 | ) | [friend]

Maps a range within the buffer to client space.

Parameters:
target | The target buffer to map.
offset | Memory offset into the buffer in bytes.
length | Mapped memory range in bytes.
access | Bitfield that encodes the type of map (read/write).
Returns:
pointer to mapped memory range.
Note:
It is assumed that the extension GL_ARB_map_buffer_range is supported.

This function asserts on no GL error.

See also:
GLBindBuffer, GLUnmapBuffer, GLFlushMappedBufferRange

NVSG_API void GLFlushMappedBufferRange | ( | GLenum | target,
 |  | GLintptr | offset,
 |  | GLsizeiptr | length
 | ) | [friend]

Marks the range of the mapped buffer as ready to use by GL. When a buffer was mapped with GLMapBufferRange and the manual flush bit was set, this function allows to mark the range valid. Once valid, other GL operations depending on the specified memory range can proceed.

Parameters:
target | The target buffer to map.
offset | Memory offset into the buffer in bytes.
length | Memory size in bytes.
Note:
It is assumed that the extension GL_ARB_map_buffer_range is supported.

This function asserts on no GL error.

See also:
GLBindBuffer, GLMapBufferRange

NVSG_API void GLCopyBufferSubData | ( | GLenum | readTarget,
 |  | GLenum | writeTarget,
 |  | GLintptr | readOffset,
 |  | GLintptr | writeOffset,
 |  | GLsizeiptr | size
 | ) | [friend]

Allows direct memory copy between buffer objects.

Parameters:
readTarget | The target buffer to read from.
writeTarget | The target buffer to write to.
readOffset | Memory offset into the read buffer in bytes.
writeOffset | Memory offset into the write buffer in bytes.
size | The memory size in bytes.
Note:
It is assumed that the extension GL_ARB_copy_buffer is supported.

This function asserts on no GL error.

See also:
GLBindBuffer

NVSG_API void GLTexImage2DMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLboolean | fixedsamplelocations
 | ) | [friend]

Establishes data storage for multi-sampled textures.

Parameters:
target | The texture target
samples | The number of samples per pixel.
internalformat | The internal format for the texture must be color-renderable, depth-renderable, or stencil-renderable.
width.
height.
fixedsamplelocations | If true the sample locations will be fixed and independent of the internal format.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage3DMultisample, GLGetMultisamplefv, GLSampleMaski

NVSG_API void GLTexImage3DMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLboolean | fixedsamplelocations
 | ) | [friend]

Establishes data storage for multi-sampled textures.

Parameters:
target | The texture target
samples | The number of samples per pixel.
internalformat | The internal format for the texture must be color-renderable, depth-renderable, or stencil-renderable.
width.
height.
depth.
fixedsamplelocations | If true the sample locations will be fixed and independent of the internal format.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLGetMultisamplefv, GLSampleMaski

NVSG_API void GLGetMultisamplefv | ( | GLenum | pname,
 |  | GLuint | index,
 |  | GLfloat * | val
 | ) | [friend]

Allows to retrieve the sample location.

Parameters:
pname | must be GL_SAMPLE_POSITION
index | The sample for which the location should be retrieved.
val | must point to a float[2] which will hold the x and y location of the sample, (0.5,0.5) being a pixel center.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLTexImage3DMultisample, GLSampleMaski

NVSG_API void GLSampleMaski | ( | GLuint | index,
 |  | GLbitfield | mask
 | ) | [friend]

When GL_SAMPLE_MASK is enabled this function allows to specify the mask the fragment coverage is ANDed with.

Parameters:
maskNumber | The mask number M.
maskBits | Bit B of mask M corresponds to sample 32*M+B.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLTexImage3DMultisample, GLGetMultisamplefv

NVSG_API void GLUploadBuffers ( ) [friend]

Uploads all pending buffers.

The function uploads the data copied to not yet uploaded vertex or index buffers to Vertex Buffer Objects (VBO) for fast rendering.

Note:
This function must be called immediately before rendering if vertex or index buffers are used for caching strategies. Omitting this call certainly results in undefined runtime behavior!

NVSG_API BOOL WGLBindTexImage | ( | HPBUFFERARB | hPbuffer,
 |  | int | iBuffer
 | ) | [friend]

Replacement of wglBindTexImageARB.

This function hides the extension character of wglBindTexImageARB and asserts on its result before returning.

NVSG_API BOOL WGLChoosePixelFormat | ( | HDC | hdc,
 |  | const int * | piAttribIList,
 |  | const FLOAT * | pfAttribFList,
 |  | UINT | nMaxFormats,
 |  | int * | piFormats,
 |  | UINT * | nNumFormats
 | ) | [friend]

Replacement of wglChoosePixelFormatARB.

This function hides the extension character of wglChoosePixelFormatARB and asserts on its result before returning.

NVSG_API BOOL WGLGetPixelFormatAttribfv | ( | HDC | hdc,
 |  | int | iPixelFormat,
 |  | int | iLayerPlane,
 |  | UINT | nAttributes,
 |  | const int * | piAttributes,
 |  | FLOAT * | pfValues
 | ) | [friend]

Replacement of wglGetPixelFormatAttribfvARB.

This function hides the extension character of wglGetPixelFormatAttribfvARB and asserts on its result before returning.

NVSG_API HGLRC WGLCreateContext ( HDC hdc ) [friend]

Replacement of wglCreateContext.

If this function is used in conjunction with WGLCreateContext, WGLMakeCurrent, and the functions with uppercase GL prefix, then the states and attributes are cached per context. Moreover, the extension functions of OpenGL are used per context (as they really should!).

NVSG_API HPBUFFERARB WGLCreatePbuffer | ( | HDC | hdc,
 |  | int | pixelFormat,
 |  | int | width,
 |  | int | height,
 |  | const int * | attribList
 | ) | [friend]

Replacement of wglCreatePbufferARB.

This function hides the extension character of wglCreatePbufferARB.

Note:
The creation of a PBuffer might fail dependent on available hardware resources. In this case a NULL handle will be returned.

NVSG_API BOOL WGLDeleteContext ( HGLRC hglrc ) [friend]

Replacement of wglDeleteContext.

If this function is used in conjunction with WGLDeleteContext, WGLMakeCurrent, and functions with uppercase 'GL' prefix, the states and attributes are cached per context. Moreover, OpenGL extension functions are used per context (as they really should!).

NVSG_API BOOL WGLDestroyPbuffer ( HPBUFFERARB hPbuffer ) [friend]

Replacement of wglDestroyPbufferARB.

This function hides the extension character of wglDestroyPbufferARB and asserts on its result before returning.

NVSG_API HGLRC WGLGetCurrentContext ( void ) [friend]

Replacement for wglGetCurrenContext.

The function obtains a handle to the current OpenGL rendering context of the calling thread.

Returns:
A handle to the current OpenGL context of the calling thread, or NULL if the calling thread has no current OpenGL context.

NVSG_API HDC WGLGetCurrentDC ( void ) [friend]

Replacement for wglGetCurrentDC.

The function obtains a handle to the device context that is associated with the current OpenGL rendering context of the calling thread.

Returns:
A handle to the device context which is currently associated with the current OpenGL context of the calling thread by means of WGLMakeCurrent, or NULL if the calling thread has no current OpenGL context.

NVSG_API HDC WGLGetPbufferDC ( HPBUFFERARB hPbuffer ) [friend]

Replacement of wglGetPbufferDCARB.

This function hides the extension character of wglGetPbufferDCARB and asserts on its result before returning.

NVSG_API BOOL WGLQueryPbuffer | ( | HPBUFFERARB | hPbuffer,
 |  | int | attribute,
 |  | int * | value
 | ) | [friend]

Replacement of wglQueryPbufferARB.

This function hides the extension character of wglQueryPbufferARB and asserts on its result before returning.

NVSG_API int WGLReleasePbufferDC | ( | HPBUFFERARB | hPbuffer,
 |  | HDC | hdc
 | ) | [friend]

Replacement of wglReleasePbufferDCARB.

This function hides the extension character of wglReleasePbufferDCARB and asserts on its result before returning.

NVSG_API BOOL WGLReleaseTexImage | ( | HPBUFFERARB | hPbuffer,
 |  | int | iBuffer
 | ) | [friend]

Replacement of wglReleaseTexImageARB.

This function hides the extension character of wglReleaseTexImageARB and asserts on its result before returning.

NVSG_API BOOL WGLJoinSwapGroupNV | ( | HDC | hDC,
 |  | GLuint | group
 | ) | [friend]

Replacement of wglJointSwapGroupNV.

NVSG_API BOOL WGLBindSwapBarrierNV | ( | GLuint | group,
 |  | GLuint | barrier
 | ) | [friend]

Replacement of wglBindSwapBarrierNV.

NVSG_API BOOL WGLQuerySwapGroupNV | ( | HDC | hDC,
 |  | GLuint * | group,
 |  | GLuint * | barrier
 | ) | [friend]

Replacement of wglQuerySwapGroupNV.

NVSG_API BOOL WGLQueryMaxSwapGroupsNV | ( | HDC | hDC,
 |  | GLuint * | maxGroups,
 |  | GLuint * | maxBarriers
 | ) | [friend]

Replacement of wglQueryMaxSwapGroupsNV.

NVSG_API BOOL WGLQueryFrameCountNV | ( | HDC | hDC,
 |  | GLuint * | count
 | ) | [friend]

Replacement of wglQueryFrameCountNV.

NVSG_API BOOL WGLResetFrameCountNV ( HDC hDC ) [friend]

Replacement of wglResetFrameCountNV.

NVSG_API BOOL WGLEnumGpus | ( | UINT | iIndex,
 |  | HGPUNV * | hGpu
 | ) | [friend]

Replacement of wglEnumGpusNV.

NVSG_API BOOL WGLEnumGpuDevices | ( | HGPUNV | hGpu,
 |  | UINT | iIndex,
 |  | PGPU_DEVICE | pGpuDevice
 | ) | [friend]

Replacement of wglEnumGpuDevicesNV.

NVSG_API HDC WGLCreateAffinityDC ( const HGPUNV * pGpuList ) [friend]

Replacement for wglCreateAffinityDVNV.

NVSG_API BOOL WGLEnumGpusFromAffinityDC | ( | HDC | hAffinityDC,
 |  | UINT | iIndex,
 |  | HGPUNV * | hGpu
 | ) | [friend]

Replacement for wglEnumGpusFromAffinityDCNV.

NVSG_API BOOL WGLDeleteDC ( HDC hAffinityDC ) [friend]

Replacement for wglDeleteDCNV.

NVSG_API BOOL WGLSwapInterval ( int interval ) [friend]

Replacement for wglSwapIntervalEXT.

NVSG_API int WGLGetSwapInterval ( void ) [friend]

Replacement for wglGetSwapIntervalEXT.

NVSG_API int WGLEnumerateVideoDevicesNV | ( | HDC | hDC,
 |  | HVIDEOOUTPUTDEVICENV * | phDeviceList
 | ) | [friend]

Replacement for wglEnumerateVideoDevicesNV.

NVSG_API BOOL WGLBindVideoDeviceNV | ( | HDC | hDC,
 |  | unsigned int | uVideoSlot,
 |  | HVIDEOOUTPUTDEVICENV | hVideoDevice,
 |  | const int * | piAttribList
 | ) | [friend]

Replacement for wglBindVideoDeviceNV.

NVSG_API BOOL WGLQueryCurrentContextNV | ( | int | iAttribute,
 |  | int * | piValue
 | ) | [friend]

Replacement for wglQueryCurrentContextNV.

NVSG_API GLXContext GLXCreateContext | ( | Display * | dpy,
 |  | XVisualInfo * | vis,
 |  | GLXContext | shareList,
 |  | Bool | direct
 | ) | [friend]

Replacement of glXCreateContext.

NVSG_API void GLXDestroyContext | ( | Display * | dpy,
 |  | GLXContext | ctx
 | ) | [friend]

Replacement of glXDestroyContext.

NVSG_API GLXContext GLXGetCurrentContext ( ) [friend]

Replacement of glXGetCurrentContext.

NVSG_API GLXDrawable GLXGetCurrentDrawable ( ) [friend]

Replacement of glXGetCurrentDrawable.

NVSG_API void GLResetAlphaFunc ( ) [friend]

Helper function to reset alpha function and alpha reference value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the alpha function and alpha reference value to the previous function and value. Otherwise, the alpha function is set to GL_ALWAYS, and the alpha reference value is set to zero.
See also:
GLAlphaFunc

NVSG_API void GLResetAlphaTest ( ) [friend]

Helper function to reset the enable state of the alpha test.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the alpha test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableAlphaTest, GLEnableAlphaTest, GLDisable, GLEnable

NVSG_API void GLResetAutoNormal ( ) [friend]

Helper function to reset the enable state of the auto normal calculation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the auto normal state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableAutoNormal, GLEnableAutoNormal, GLDisable, GLEnable

NVSG_API void GLResetBlend ( ) [friend]

Helper function to reset the enable state of the blending.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the blending state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableBlend, GLEnableBlend, GLDisable, GLEnable

NVSG_API void GLResetBlendFunc ( ) [friend]

Helper function to reset the blend function.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the blend function to the previous function. Otherwise, the blend function is set to GL_ONE for the source factor and GL_ZERO for the destination factor.
See also:
GLBlendFunc, GLBlendFuncSeparate

NVSG_API void GLResetBlendFuncSeparate ( ) [friend]

Helper function to reset the blend function, using the GL_EXT_blend_func_separate extention.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the four factors of the extended blend function the previous values. Otherwise, the blend function factors are set to GL_ONE, GL_ZERO, GL_ONE, and GL_ZERO, in this order.
See also:
GLBlendFuncSeparate

NVSG_API void GLResetClearColor ( ) [friend]

Helper function to reset the clear color.

Remarks:
if GL_SUPPORT_RESET is defined (per default, it is), this function sets the four values of the clear color to the previous value. Otherwise, they are all set to 0.0f.
See also:
GLClearColor

NVSG_API void GLResetClearDepth ( ) [friend]

Helper function to reset the clear depth.

Remarks:
if ( GL_SUPPORT_RESET is defined (per default, it is), this function sets the clear depth to the previous value. Otherwise, it is set to 1.0f.
See also:
GLClearDepth

NVSG_API void GLResetClearStencil ( ) [friend]

Helper function to reset the stencil clear value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil clear value to the previous value. Otherwise, it is set to zero.
See also:
GLClearStencil

NVSG_API void GLResetClipPlane ( GLenum plane ) [friend]

Helper function to reset the enable state of the clip plane plane.

Parameters:
plane The id of the plane for which the the enable state is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the clip plane state for plane to it's previous state. Otherwise, it is disabled.
See also:
GLDisableClipPlane, GLEnableClipPlane, GLDisable, GLEnable

NVSG_API void GLResetClipPlaneEquation ( GLenum plane ) [friend]

Helper function to reset a clip plane equation.

Parameters:
plane The id of the clip plane for which the plane equation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the clip plane equation of plane to the previous equations. Otherwise, it is set to the default plane (0,0,0,0).
See also:
GLClipPlane

NVSG_API void GLResetColorLogicOp ( ) [friend]

Helper function to reset the enable state of the color logic operation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color logic operation state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableColorLogicOp, GLEnableColorLogicOp, GLDisable, GLEnable

NVSG_API void GLResetColorMask ( ) [friend]

Helper function to reset the color mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color mask to the previous mask. Otherwise, all four mask components are set to GL_TRUE.
See also:
GLColorMask

NVSG_API void GLResetColorMaterial ( ) [friend]

Helper function to reset the enable state of the color material.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color material state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableColorMaterial, GLEnableColorMaterial, GLDisable, GLEnable

NVSG_API void GLResetColorMaterialMode ( ) [friend]

Helper function to reset the color material mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color material mode to the previous mode. Otherwise, it is set to GL_AMBIENT_AND_DIFFUSE for GL_FRONT_AND_BACK faces.
See also:
GLColorMaterial

NVSG_API void GLResetCullFace ( ) [friend]

Helper function to reset the enable state of face culling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the face culling state to it's previous state. Otherwise, it is enabled. Note, that this enabling face culling by default is SceniX specific and not like in OpenGL.
See also:
GLDisableCullFace, GLEnableCullFace, GLDisable, GLEnable

NVSG_API void GLResetCullFaceMode ( ) [friend]

Helper function to reset the cull face mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the cull face mode to the previous mode. Otherwise, it is set to GL_BACK.
See also:
GLCullFace

NVSG_API void GLResetDepthFunc ( ) [friend]

Helper function to reset the depth func.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth func to the previous value. Otherwise, it is set to GL_LESS.
See also:
GLDepthFunc

NVSG_API void GLResetDepthMask ( ) [friend]

Helper function to reset the depth mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth mask to the previous value. Otherwise, it is set to GL_TRUE.
See also:
GLDepthMask

NVSG_API void GLResetDepthRange ( ) [friend]

Helper function to reset the depth range.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth range to the previous values. Otherwise, it sets znear to 0.0 and zfar to 1.0.
See also:
GLDepthRange

NVSG_API void GLResetDepthTest ( ) [friend]

Helper function to reset the enable state of depth testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth test state to it's previous state. Otherwise, it is enabled. Note, that this enabling depth test by default is SceniX specific and not like in OpenGL.
See also:
GLDisableDepthTest, GLEnableDepthTest, GLDisable, GLEnable

NVSG_API void GLResetDither ( ) [friend]

Helper function to reset the enable state of dithering.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the dither state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableDither, GLEnableDither, GLDisable, GLEnable

NVSG_API void GLResetFog ( ) [friend]

Helper function to reset the the enable state of fogging.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableFog, GLEnableFog, GLDisable, GLEnable

NVSG_API void GLResetFogColor ( ) [friend]

Helper function to reset the fog color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog color to it's previous state. Otherwise, it is set to (0,0,0,0).
See also:
GLFogColor

NVSG_API void GLResetFogDensity ( ) [friend]

Helper function to reset the fog density.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog density to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLFogDensity

NVSG_API void GLResetFogEnd ( ) [friend]

Helper function to reset the fog end value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog end value to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLFogDensity

NVSG_API void GLResetFogMode ( ) [friend]

Helper function to reset the fog mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog mode to it's previous state. Otherwise, it is set to GL_EXP.
See also:
GLFogMode

NVSG_API void GLResetFogStart ( ) [friend]

Helper function to reset the fog start value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog start value to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLFogStart

NVSG_API void GLResetFrontFace ( ) [friend]

Helper function to reset the front face state.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the front face state to it's previous state. Otherwise, it is set to GL_CCW.
See also:
GLFrontFace

NVSG_API void GLResetLight ( GLenum light ) [friend]

Helper function to reset the enable state of the light light.

Parameters:
light The id of the light for which the enable state is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the light state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLight, GLEnableLight, GLDisable, GLEnable

NVSG_API void GLResetLighting ( ) [friend]

Helper function to reset the enable state of lighting.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the lighting state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLighting, GLEnableLighting, GLDisable, GLEnable

NVSG_API void GLResetLightAmbient ( GLenum light ) [friend]

Helper function to reset the ambient light color.

Parameters:
light The id of the light for which the ambient color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the ambient light to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLLightAmbient

NVSG_API void GLResetLightConstantAttenuation ( GLenum light ) [friend]

Helper function to reset the constant attenuation of the light light.

Parameters:
light The id of the light for which the constant attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the constant attenuation of the light light to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLLightConstantAttenuation

NVSG_API void GLResetLightDiffuse ( GLenum light ) [friend]

Helper function to reset the diffuse color of the light light.

Parameters:
light The id of the light for which the diffuse color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the diffuse lighting to it's previous state. Otherwise, it is set to (1,1,1,1) if light is GL_LIGHT0, or (0,0,0,1) otherwise.
See also:
GLLightDiffuse

NVSG_API void GLResetLightLinearAttenuation ( GLenum light ) [friend]

Helper function to reset the linear attenuation of the light light.

Parameters:
light The id of the light for which the linear attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the linear attenuation of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightLinearAttenuation

NVSG_API void GLResetLightModelAmbient ( ) [friend]

Helper function to reset the ambient light color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the ambient light color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLLightSpotExponent

NVSG_API void GLResetLightModelLocalViewer ( ) [friend]

Helper function to reset the local viewer setting.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the local viewer to it's previous state. Otherwise, it is set to GL_FALSE.
See also:
GLLightModelLocalViewer

NVSG_API void GLResetLightModelTwoSide ( ) [friend]

Helper function to reset the two sided lighting state.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the two sided lighting to it's previous state. Otherwise, it is set to GL_FALSE.
See also:
GLLightModelTwoSide

NVSG_API void GLResetLightPosition ( GLenum light ) [friend]

Helper function to reset the position of the light light.

Parameters:
light The id of the light for which the position is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the position of the light light to it's previous state. Otherwise, it is set to (0,0,1,0).
See also:
GLLightPosition

NVSG_API void GLResetLightQuadraticAttenuation ( GLenum light ) [friend]

Helper function to reset the quadratic attenuation of the light light.

Parameters:
light The id of the light for which the quadratic attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the quadratic attenuation of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightQuadraticAttenuation

NVSG_API void GLResetLightSpecular ( GLenum light ) [friend]

Helper function to reset the specular color of the light light.

Parameters:
light The id of the light for which the specular color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the specular color of the light light to it's previous state. Otherwise, it is set to (1,1,1,1) if light is GL_LIGHT0, or (0,0,0,1) otherwise.
See also:
GLLightSpecular

NVSG_API void GLResetLightSpotCutoff ( GLenum light ) [friend]

Helper function to reset the spot cutoff of the light light.

Parameters:
light The id of the light for which the spot cutoff is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot cutoff of the light light to it's previous state. Otherwise, it is set to 180.0f.
See also:
GLLightSpotCutoff

NVSG_API void GLResetLightSpotDirection ( GLenum light ) [friend]

Helper function to reset the spot cutoff of the light light.

Parameters:
light The id of the light for which the spot cutoff is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot cutoff of the light light to it's previous state. Otherwise, it is set to 180.0f.
See also:
GLLightSpotCutoff

NVSG_API void GLResetLightSpotExponent ( GLenum light ) [friend]

Helper function to reset the spot exponent of the light light.

Parameters:
light The id of the light for which the spot exponent is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot exponent of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightSpotExponent

NVSG_API void GLResetLineSmooth ( ) [friend]

Helper function to reset the enable state of line smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line smoothing state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLineSmooth, GLEnableLineSmooth, GLDisable, GLEnable

NVSG_API void GLResetLineStipple ( ) [friend]

Helper function to reset the enable state of line stippling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line stippling state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLineStipple, GLEnableLineStipple, GLDisable, GLEnable

NVSG_API void GLResetLineStippleDefinition ( ) [friend]

Helper function to reset line stipple repeat and pattern.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line stipple repeat and pattern to it's previous state. Otherwise, it is set to 1 and 0xFFFF, respectively.
See also:
GLLineStipple

NVSG_API void GLResetLineWidth ( ) [friend]

Helper function to reset the line width.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line width to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLLineWidth

NVSG_API void GLResetLogicOp ( ) [friend]

Helper function to reset the enable state of logic operation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the logic operation state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLogicOp, GLEnableLogicOp, GLDisable, GLEnable

NVSG_API void GLResetMaterialAmbientBack ( ) [friend]

Helper function to reset the material back face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientBack

NVSG_API void GLResetMaterialAmbientFront ( ) [friend]

Helper function to reset the material front face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientFront

NVSG_API void GLResetMaterialAmbientFrontAndBack ( ) [friend]

Helper function to reset the material back and front face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientFrontAndBack

NVSG_API void GLResetMaterialDiffuseBack ( ) [friend]

Helper function to reset the material back face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseBack

NVSG_API void GLResetMaterialDiffuseFront ( ) [friend]

Helper function to reset the material front face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseFront

NVSG_API void GLResetMaterialDiffuseFrontAndBack ( ) [friend]

Helper function to reset the material back and front face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseFrontAndBack

NVSG_API void GLResetMaterialEmissionBack ( ) [friend]

Helper function to reset the material back face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionBack

NVSG_API void GLResetMaterialEmissionFront ( ) [friend]

Helper function to reset the material front face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionFront

NVSG_API void GLResetMaterialEmissionFrontAndBack ( ) [friend]

Helper function to reset the material back and front face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionFrontAndBack

NVSG_API void GLResetMaterialShininessBack ( ) [friend]

Helper function to reset the material back face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessBack

NVSG_API void GLResetMaterialShininessFront ( ) [friend]

Helper function to reset the material front face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessFront

NVSG_API void GLResetMaterialShininessFrontAndBack ( ) [friend]

Helper function to reset the material back and front face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessFrontAndBack

NVSG_API void GLResetMaterialSpecularBack ( ) [friend]

Helper function to reset the material back face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularBack

NVSG_API void GLResetMaterialSpecularFront ( ) [friend]

Helper function to reset the material front face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularFront

NVSG_API void GLResetMaterialSpecularFrontAndBack ( ) [friend]

Helper function to reset the material back and front face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularFrontAndBack

NVSG_API void GLResetNormalize ( ) [friend]

Helper function to reset the enable state of GL_NORMALIZE.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the normalize state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableNormalize, GLEnableNormalize, GLDisable, GLEnable

NVSG_API void GLResetRescaleNormal ( ) [friend]

Helper function to reset the enable state of GL_RESCALE_NORMAL.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the GL_RESCALE_NORMAL state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableRescaleNormal, GLEnableRescaleNormal, GLDisable, GLEnable

NVSG_API void GLResetPointSize ( ) [friend]

Helper function to reset the point size.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the point size to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLPointSize

NVSG_API void GLResetPointSmooth ( ) [friend]

Helper function to reset the enable state of point smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the point smoothing state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePointSmooth, GLEnablePointSmooth, GLDisable, GLEnable

NVSG_API void GLResetPolygonModeBack ( ) [friend]

Helper function to reset back face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the back face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeBack

NVSG_API void GLResetPolygonModeFront ( ) [friend]

Helper function to reset front face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the front face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeFront

NVSG_API void GLResetPolygonModeFrontAndBack ( ) [friend]

Helper function to reset back and front face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the back and front face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeFrontAndBack, GLPolygonModeFront, GLPolygonMode Back

NVSG_API void GLResetPolygonOffset ( ) [friend]

Helper function to reset the polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset to it's previous state. Otherwise, it is set to (0,0).
See also:
GLPolygonOffset

NVSG_API void GLResetPolygonOffsetFill ( ) [friend]

Helper function to reset the enable state of filled polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset fill state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetFill, GLEnablePolygonOffsetFill, GLDisable, GLEnable

NVSG_API void GLResetPolygonOffsetLine ( ) [friend]

Helper function to reset the enable state of lined polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset line state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetLine, GLEnablePolygonOffsetLine, GLDisable, GLEnable

NVSG_API void GLResetPolygonOffsetPoint ( ) [friend]

Helper function to reset the enable state of pointed polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset point state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetPoint, GLEnablePolygonOffsetPoint, GLDisable, GLEnable

NVSG_API void GLResetPolygonSmooth ( ) [friend]

Helper function to reset the enable state of polygon smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon smooth state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonSmooth, GLEnablePolygonSmooth, GLDisable, GLEnable

NVSG_API void GLResetPolygonStipple ( ) [friend]

Helper function to reset the enable state of polygon stippling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon stippling state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonStipple, GLEnablePolygonStipple, GLDisable, GLEnable

NVSG_API void GLResetScissor ( ) [friend]

Helper function to reset the scissor rectangle.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the scissor rectangle to it's previous state. Otherwise, it does nothing.
See also:
GLScissor

NVSG_API void GLResetScissorTest ( ) [friend]

Helper function to reset the enable state of scissor testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the scissor test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableScissorTest, GLEnableScissorTest, GLDisable, GLEnable

NVSG_API void GLResetShadeModel ( ) [friend]

Helper function to reset the shade model.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the shade model to it's previous state. Otherwise, it is set to GL_SMOOTH.
See also:
GLShadeModel

NVSG_API void GLResetStencilFunc ( ) [friend]

Helper function to reset the stencil function values.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil function values to it's previous state. Otherwise, it sets the function, reference value, and mask to GL_ALWAYS, 0, and ~0, respectively.
See also:
GLStencilFunc

NVSG_API void GLResetStencilMask ( ) [friend]

Helper function to reset the stencil mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil mask to it's previous state. Otherwise, it is set to ~0.
See also:
GLStencilMask

NVSG_API void GLResetStencilOp ( ) [friend]

Helper function to reset the stencil operation values.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil operation values to it's previous state. Otherwise, it sets each value (fail, zfail, zpass) to GL_KEEP.
See also:
GLStencilMask

NVSG_API void GLResetStencilTest ( ) [friend]

Helper function to reset the enable state of stencil testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableStencilTest, GLEnableStencilTest, GLDisable, GLEnable

NVSG_API void GLResetTexture ( GLenum target ) [friend]

Helper function to reset the enable state of texture target target.

Parameters:
target The texture target for which the enable state has to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the texture target target to it's previous state. Otherwise, it is disabled.
See also:
GLDisableTexture, GLEnableTexture, GLDisable, GLEnable

NVSG_API bool GLGetTexImageFmt | ( | GLTexImageFmt & | tfmt,
 |  | nvsg::Image::PixelFormat | fmt,
 |  | nvsg::Image::PixelDataType | type,
 |  | nvsg::TextureHost::TextureGPUFormat | gpuFmt = nvsg::TextureHost::TGF_DEFAULT
 | ) | [friend]

Returns a GLTexImageFmt according to the passed in PixelFormat and PixelDataType descriptors.

Parameters:
tfmt | The function returns a GLTexImageFmt structure representing the best match of an OpenGL texture image format according to the input PixelFormat and PixelDataType descriptors.
fmt | Input PixelFormat descriptor of an nvsg::Image
type | Input PixelDataType descriptor of an nvsg::Image
gpuFmt | Input GPU format descriptor of an nvsg::TextureHost
Remarks:
The function translates the passed in SceniX specific PixelFormat and PixelDataType descriptors into an OpenGL specific texture image format descriptor. Thereby, the function always tries to return the 'best match' of a texture image format which is supported by the current hardware and driver configuration.
Returns:
True, if a valid format could be translated from the input format, data type and GPU format, false otherwise.

NVSG_API GLenum GLGetTexWrapMode ( nvsg::TextureWrapMode twm ) [friend]

Translate an nvsg::TextureWrapMode into a GL-specific texture wrap mode as a GLenum.

Parameters:
twm The TextureWrapMode to translate.
Returns:
The OpenGL-specific GLenum being a 'best match' of the nvsg::TextureWrapMode.

The documentation for this class was generated from the following file:
  • GLContext.h
Generated on Fri Jul 13 13:29:36 2012 for SceniX


SceniX: Member List

GLContext Member List

This is the complete list of members for GLContext, including all inherited members.

getDisplay() const | GLContext | [inline]
getVBOState() const (defined in GLContext) | GLContext | [inline]
GLAccum(GLenum op, GLfloat value) | GLContext | [friend]
GLActiveStencilFace(GLenum face) | GLContext | [friend]
GLActiveTexture(GLenum texture) | GLContext | [friend]
GLActiveVarying(GLuint program, const GLchar *name) | GLContext | [friend]
GLAddSwapHintRect (defined in GLContext) | GLContext | [friend]
GLAlphaFunc(GLenum func, GLclampf ref) | GLContext | [friend]
GLAreProgramsResident(GLsizei n, const GLuint *programs, GLboolean *residences) | GLContext | [friend]
GLAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) | GLContext | [friend]
GLArrayElement(GLint i) | GLContext | [friend]
GLAttachObject(GLhandleARB containerObj, GLhandleARB attachedObj) | GLContext | [friend]
GLAttachShader(GLuint program, GLuint shader) | GLContext | [friend]
GLBegin(GLenum mode) | GLContext | [friend]
GLBeginConditionalRenderNV(GLuint id, GLenum mode) | GLContext | [friend]
GLBeginQuery(GLenum target, GLuint id) | GLContext | [friend]
GLBeginTransformFeedback(GLenum primitiveMode) | GLContext | [friend]
GLBeginTransformFeedbackNV(GLenum primitiveMode) | GLContext | [friend]
GLBeginVideoCaptureNV (defined in GLContext) | GLContext | [friend]
GLBindArraySet (defined in GLContext) | GLContext | [friend]
GLBindAttribLocation(GLuint program, GLuint index, const GLchar *name) | GLContext | [friend]
GLBindBuffer(GLenum target, GLuint id) | GLContext | [friend]
GLBindBufferBase(GLenum target, GLuint index, GLuint buffer) | GLContext | [friend]
GLBindBufferBaseNV(GLenum target, GLuint index, GLuint buffer) | GLContext | [friend]
GLBindBufferOffsetNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset) | GLContext | [friend]
GLBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) | GLContext | [friend]
GLBindBufferRangeNV(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) | GLContext | [friend]
GLBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) | GLContext | [friend]
GLBindFramebuffer(GLenum target, GLuint framebuffer) | GLContext | [friend]
GLBindMultiTextureEXT (defined in GLContext) | GLContext | [friend]
GLBindProgram(GLenum target, GLuint id) | GLContext | [friend]
GLBindRenderbuffer(GLenum target, GLuint renderbuffer) | GLContext | [friend]
GLBindTexture(GLenum target, GLuint texture) | GLContext | [friend]
GLBindVertexArray (defined in GLContext) | GLContext | [friend]
GLBindVideoCaptureStreamBufferNV (defined in GLContext) | GLContext | [friend]
GLBindVideoCaptureStreamTextureNV (defined in GLContext) | GLContext | [friend]
GLBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) | GLContext | [friend]
GLBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) | GLContext | [friend]
GLBlendEquation(GLenum mode) | GLContext | [friend]
GLBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) | GLContext | [friend]
GLBlendFunc(GLenum sfactor, GLenum dfactor) | GLContext | [friend]
GLBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) | GLContext | [friend]
GLBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) | GLContext | [friend]
GLBufferAddressRangeNV (defined in GLContext) | GLContext | [friend]
GLBufferData(GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage) | GLContext | [friend]
GLBufferSubData(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data) | GLContext | [friend]
GLCallList(GLuint list) | GLContext | [friend]
GLCallLists(GLsizei n, GLenum type, const GLvoid *lists) | GLContext | [friend]
GLCgGLApplyProgramSamplers (defined in GLContext) | GLContext | [friend]
GLCgGLBindEffect (defined in GLContext) | GLContext | [friend]
GLCgGLBindPass (defined in GLContext) | GLContext | [friend]
GLCgGLBindProgram (defined in GLContext) | GLContext | [friend]
GLCgGLGetEffect (defined in GLContext) | GLContext | [friend]
GLCgGLGetPass (defined in GLContext) | GLContext | [friend]
GLCgGLGetProgram (defined in GLContext) | GLContext | [friend]
GLCheckFramebufferStatus(GLenum target) | GLContext | [friend]
GLCheckNamedFramebufferStatusEXT (defined in GLContext) | GLContext | [friend]
GLClampColor(GLenum target, GLenum clamp) | GLContext | [friend]
GLClear(GLbitfield mask) | GLContext | [friend]
GLClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) | GLContext | [friend]
GLClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) | GLContext | [friend]
GLClearColorIi(GLint red, GLint green, GLint blue, GLint alpha) | GLContext | [friend]
GLClearColorIui(GLuint red, GLuint green, GLuint blue, GLuint alpha) | GLContext | [friend]
GLClearDepth(GLclampd depth) | GLContext | [friend]
GLClearDepthd(GLdouble depth) | GLContext | [friend]
GLClearIndex(GLfloat c) | GLContext | [friend]
GLClearStencil(GLint s) | GLContext | [friend]
GLClientActiveTexture(GLenum texture) | GLContext | [friend]
GLClientAttribDefaultEXT (defined in GLContext) | GLContext | [friend]
GLClipPlane(GLenum plane, const GLdouble *equation) | GLContext | [friend]
GLColor3b(GLbyte red, GLbyte green, GLbyte blue) | GLContext | [friend]
GLColor3bv(const GLbyte *v) | GLContext | [friend]
GLColor3d(GLdouble red, GLdouble green, GLdouble blue) | GLContext | [friend]
GLColor3dv(const GLdouble *v) | GLContext | [friend]
GLColor3f(GLfloat red, GLfloat green, GLfloat blue) | GLContext | [friend]
GLColor3fv(const GLfloat *v) | GLContext | [friend]
GLColor3h(GLhalf red, GLhalf green, GLhalf blue) | GLContext | [friend]
GLColor3hv(const GLhalf *v) | GLContext | [friend]
GLColor3i(GLint red, GLint green, GLint blue) | GLContext | [friend]
GLColor3iv(const GLint *v) | GLContext | [friend]
GLColor3s(GLshort red, GLshort green, GLshort blue) | GLContext | [friend]
GLColor3sv(const GLshort *v) | GLContext | [friend]
GLColor3ub(GLubyte red, GLubyte green, GLubyte blue) | GLContext | [friend]
GLColor3ubv(const GLubyte *v) | GLContext | [friend]
GLColor3ui(GLuint red, GLuint green, GLuint blue) | GLContext | [friend]
GLColor3uiv(const GLuint *v) | GLContext | [friend]
GLColor3us(GLushort red, GLushort green, GLushort blue) | GLContext | [friend]
GLColor3usv(const GLushort *v) | GLContext | [friend]
GLColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) | GLContext | [friend]
GLColor4bv(const GLbyte *v) | GLContext | [friend]
GLColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) | GLContext | [friend]
GLColor4dv(const GLdouble *v) | GLContext | [friend]
GLColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) | GLContext | [friend]
GLColor4fv(const GLfloat *v) | GLContext | [friend]
GLColor4h(GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha) | GLContext | [friend]
GLColor4hv(const GLhalf *v) | GLContext | [friend]
GLColor4i(GLint red, GLint green, GLint blue, GLint alpha) | GLContext | [friend]
GLColor4iv(const GLint *v) | GLContext | [friend]
GLColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) | GLContext | [friend]
GLColor4sv(const GLshort *v) | GLContext | [friend]
GLColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) | GLContext | [friend]
GLColor4ubv(const GLubyte *v) | GLContext | [friend]
GLColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) | GLContext | [friend]
GLColor4uiv(const GLuint *v) | GLContext | [friend]
GLColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) | GLContext | [friend]
GLColor4usv(const GLushort *v) | GLContext | [friend]
GLColorFormatNV (defined in GLContext) | GLContext | [friend]
GLColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) | GLContext | [friend]
GLColorMaskIndexed(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) | GLContext | [friend]
GLColorMaterial(GLenum face, GLenum mode) | GLContext | [friend]
GLColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) | GLContext | [friend]
GLColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) | GLContext | [friend]
GLColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) | GLContext | [friend]
GLCombinerInput(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) | GLContext | [friend]
GLCombinerOutput(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum) | GLContext | [friend]
GLCombinerParameterf(GLenum pname, GLfloat param) | GLContext | [friend]
GLCombinerParameterfv(GLenum pname, const GLfloat *params) | GLContext | [friend]
GLCombinerParameteri(GLenum pname, GLint param) | GLContext | [friend]
GLCombinerParameteriv(GLenum pname, const GLint *params) | GLContext | [friend]
GLCombinerStageParameterfv(GLenum stage, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLCompileShader(GLuint shader) | GLContext | [friend]
GLCompressedMultiTexImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedMultiTexImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedMultiTexImage3DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedMultiTexSubImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedMultiTexSubImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedMultiTexSubImage3DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedTexImage1D(GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data) | GLContext | [friend]
GLCompressedTexImage2D(GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data) | GLContext | [friend]
GLCompressedTexImage3D(GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data) | GLContext | [friend]
GLCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) | GLContext | [friend]
GLCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) | GLContext | [friend]
GLCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) | GLContext | [friend]
GLCompressedTextureImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedTextureImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedTextureImage3DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedTextureSubImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedTextureSubImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCompressedTextureSubImage3DEXT (defined in GLContext) | GLContext | [friend]
GLConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) | GLContext | [friend]
GLConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) | GLContext | [friend]
GLConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) | GLContext | [friend]
GLConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLConvolutionParameteri(GLenum target, GLenum pname, GLint params) | GLContext | [friend]
GLConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) | GLContext | [friend]
GLCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) | GLContext | [friend]
GLCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) | GLContext | [friend]
GLCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) | GLContext | [friend]
GLCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) | GLContext | [friend]
GLCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) | GLContext | [friend]
GLCopyMultiTexImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCopyMultiTexImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCopyMultiTexSubImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCopyMultiTexSubImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCopyMultiTexSubImage3DEXT (defined in GLContext) | GLContext | [friend]
GLCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) | GLContext | [friend]
GLCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) | GLContext | [friend]
GLCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) | GLContext | [friend]
GLCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) | GLContext | [friend]
GLCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) | GLContext | [friend]
GLCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) | GLContext | [friend]
GLCopyTextureImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCopyTextureImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCopyTextureSubImage1DEXT (defined in GLContext) | GLContext | [friend]
GLCopyTextureSubImage2DEXT (defined in GLContext) | GLContext | [friend]
GLCopyTextureSubImage3DEXT (defined in GLContext) | GLContext | [friend]
GLCreateProgram() | GLContext | [friend]
GLCreateProgramObject() | GLContext | [friend]
GLCreateShader(GLenum type) | GLContext | [friend]
GLCreateShaderObject(GLenum shaderType) | GLContext | [friend]
GLCullFace(GLenum mode) | GLContext | [friend]
GLCullFaceLock(GLenum mode) | GLContext | [friend]
GLCullFaceUnlock(GLenum mode) | GLContext | [friend]
GLDebugMessageCallbackARB (defined in GLContext) | GLContext | [friend]
GLDebugMessageControlARB (defined in GLContext) | GLContext | [friend]
GLDebugMessageInsertARB (defined in GLContext) | GLContext | [friend]
GLDeleteArraySets (defined in GLContext) | GLContext | [friend]
GLDeleteBufferCaches (defined in GLContext) | GLContext | [friend]
GLDeleteBuffers(GLsizei n, const GLuint *buffers) | GLContext | [friend]
GLDeleteDisplayListCaches (defined in GLContext) | GLContext | [friend]
GLDeleteFences(GLsizei n, const GLuint *fences) | GLContext | [friend]
GLDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) | GLContext | [friend]
GLDeleteLists(GLuint list, GLsizei range) | GLContext | [friend]
GLDeleteObject(GLhandleARB obj) | GLContext | [friend]
GLDeleteProgram(GLuint program) | GLContext | [friend]
GLDeletePrograms(GLsizei n, const GLuint *ids) | GLContext | [friend]
GLDeleteQueries(GLsizei n, const GLuint *ids) | GLContext | [friend]
GLDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) | GLContext | [friend]
GLDeleteShader(GLuint shader) | GLContext | [friend]
GLDeleteTextureCaches (defined in GLContext) | GLContext | [friend]
GLDeleteTextures(GLsizei n, const GLuint *textures) | GLContext | [friend]
GLDeleteVertexArrays (defined in GLContext) | GLContext | [friend]
GLDepthBounds(GLclampd zmin, GLclampd zmax) | GLContext | [friend]
GLDepthBoundsd(GLdouble zmin, GLdouble zmax) | GLContext | [friend]
GLDepthFunc(GLenum func) | GLContext | [friend]
GLDepthMask(GLboolean flag) | GLContext | [friend]
GLDepthRange(GLclampd znear, GLclampd zfar) | GLContext | [friend]
GLDepthRanged(GLdouble zNear, GLdouble zFar) | GLContext | [friend]
GLDetachObject(GLhandleARB containerObj, GLhandleARB attachedObj) | GLContext | [friend]
GLDetachShader(GLuint program, GLuint shader) | GLContext | [friend]
GLDisable(GLenum cap) | GLContext | [friend]
GLDisableAlphaTest(void) | GLContext | [friend]
GLDisableAutoNormal(void) | GLContext | [friend]
GLDisableBlend(void) | GLContext | [friend]
GLDisableClientState(GLenum array) | GLContext | [friend]
GLDisableClientStateIndexedEXT (defined in GLContext) | GLContext | [friend]
GLDisableClipPlane(GLenum plane) | GLContext | [friend]
GLDisableColorArray(void) | GLContext | [friend]
GLDisableColorLogicOp(void) | GLContext | [friend]
GLDisableColorMaterial(void) | GLContext | [friend]
GLDisableCullFace(void) | GLContext | [friend]
GLDisableCullFaceLock(void) | GLContext | [friend]
GLDisableCullFaceUnlock(void) | GLContext | [friend]
GLDisableDepthTest(void) | GLContext | [friend]
GLDisableDither(void) | GLContext | [friend]
GLDisableElementArrayUnified (defined in GLContext) | GLContext | [friend]
GLDisableExtensionAvailability(const std::string &extension) | GLContext | [friend]
GLDisableFog(void) | GLContext | [friend]
GLDisableFogCoordinateArray(void) | GLContext | [friend]
GLDisableIndexed(GLenum target, GLuint index) | GLContext | [friend]
GLDisableLight(GLenum light) | GLContext | [friend]
GLDisableLighting(void) | GLContext | [friend]
GLDisableLightingLock(void) | GLContext | [friend]
GLDisableLightingUnlock(void) | GLContext | [friend]
GLDisableLineSmooth(void) | GLContext | [friend]
GLDisableLineStipple(void) | GLContext | [friend]
GLDisableLogicOp(void) | GLContext | [friend]
GLDisableNormalArray(void) | GLContext | [friend]
GLDisableNormalize(void) | GLContext | [friend]
GLDisablePointSmooth(void) | GLContext | [friend]
GLDisablePolygonOffsetFill(void) | GLContext | [friend]
GLDisablePolygonOffsetLine(void) | GLContext | [friend]
GLDisablePolygonOffsetPoint(void) | GLContext | [friend]
GLDisablePolygonSmooth(void) | GLContext | [friend]
GLDisablePolygonStipple(void) | GLContext | [friend]
GLDisablePrimitiveRestart(void) | GLContext | [friend]
GLDisableRescaleNormal(void) | GLContext | [friend]
GLDisableScissorTest(void) | GLContext | [friend]
GLDisableSecondaryColorArray(void) | GLContext | [friend]
GLDisableStencilTest(void) | GLContext | [friend]
GLDisableTexture(GLenum target) | GLContext | [friend]
GLDisableTextureCoordArray(void) | GLContext | [friend]
GLDisableTextureGen(GLenum target) | GLContext | [friend]
GLDisableVertexArray(void) | GLContext | [friend]
GLDisableVertexAttribArray(GLuint index) | GLContext | [friend]
GLDisableVertexAttribArrayUnified (defined in GLContext) | GLContext | [friend]
GLDrawArrays(GLenum mode, GLint first, GLsizei count) | GLContext | [friend]
GLDrawArraysInstanced(GLenum mode, GLint start, GLsizei count, GLsizei primcount) | GLContext | [friend]
GLDrawBuffer(GLenum mode) | GLContext | [friend]
GLDrawBuffers(GLsizei n, const GLenum *bufs) | GLContext | [friend]
GLDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) | GLContext | [friend]
GLDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount) | GLContext | [friend]
GLDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) | GLContext | [friend]
GLDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) | GLContext | [friend]
GLEdgeFlag(GLboolean flag) | GLContext | [friend]
GLEdgeFlagFormatNV (defined in GLContext) | GLContext | [friend]
GLEdgeFlagPointer(GLsizei stride, const GLboolean *pointer) | GLContext | [friend]
GLEdgeFlagv(const GLboolean *flag) | GLContext | [friend]
GLEnable(GLenum cap) | GLContext | [friend]
GLEnableAlphaTest(void) | GLContext | [friend]
GLEnableAutoNormal(void) | GLContext | [friend]
GLEnableBlend(void) | GLContext | [friend]
GLEnableClientState(GLenum array) | GLContext | [friend]
GLEnableClientStateIndexedEXT (defined in GLContext) | GLContext | [friend]
GLEnableClipPlane(GLenum plane) | GLContext | [friend]
GLEnableColorArray(void) | GLContext | [friend]
GLEnableColorLogicOp(void) | GLContext | [friend]
GLEnableColorMaterial(void) | GLContext | [friend]
GLEnableCullFace(void) | GLContext | [friend]
GLEnableCullFaceLock(void) | GLContext | [friend]
GLEnableCullFaceUnlock(void) | GLContext | [friend]
GLEnableDepthTest(void) | GLContext | [friend]
GLEnableDither(void) | GLContext | [friend]
GLEnableElementArrayUnified (defined in GLContext) | GLContext | [friend]
GLEnableFog(void) | GLContext | [friend]
GLEnableFogCoordinateArray(void) | GLContext | [friend]
GLEnableIndexed(GLenum target, GLuint index) | GLContext | [friend]
GLEnableLight(GLenum light) | GLContext | [friend]
GLEnableLighting(void) | GLContext | [friend]
GLEnableLineSmooth(void) | GLContext | [friend]
GLEnableLineStipple(void) | GLContext | [friend]
GLEnableLogicOp(void) | GLContext | [friend]
GLEnableNormalArray(void) | GLContext | [friend]
GLEnableNormalize(void) | GLContext | [friend]
GLEnablePointSmooth(void) | GLContext | [friend]
GLEnablePolygonOffsetFill(void) | GLContext | [friend]
GLEnablePolygonOffsetLine(void) | GLContext | [friend]
GLEnablePolygonOffsetPoint(void) | GLContext | [friend]
GLEnablePolygonSmooth(void) | GLContext | [friend]
GLEnablePolygonStipple(void) | GLContext | [friend]
GLEnablePrimitiveRestart(void) | GLContext | [friend]
GLEnableRescaleNormal(void) | GLContext | [friend]
GLEnableScissorTest(void) | GLContext | [friend]
GLEnableSecondaryColorArray(void) | GLContext | [friend]
GLEnableStencilTest(void) | GLContext | [friend]
GLEnableTexture(GLenum target) | GLContext | [friend]
GLEnableTextureCoordArray(void) | GLContext | [friend]
GLEnableTextureGen(GLenum target) | GLContext | [friend]
GLEnableVertexArray(void) | GLContext | [friend]
GLEnableVertexAttribArray(GLuint index) | GLContext | [friend]
GLEnableVertexAttribArrayUnified (defined in GLContext) | GLContext | [friend]
GLEnd(void) | GLContext | [friend]
GLEndConditionalRenderNV(void) | GLContext | [friend]
GLEndList(void) | GLContext | [friend]
GLEndQuery(GLenum target) | GLContext | [friend]
GLEndTransformFeedback() | GLContext | [friend]
GLEndTransformFeedbackNV() | GLContext | [friend]
GLEndVideoCaptureNV (defined in GLContext) | GLContext | [friend]
GLEvalCoord1d(GLdouble u) | GLContext | [friend]
GLEvalCoord1f(GLfloat u) | GLContext | [friend]
GLEvalCoord2d(GLdouble u, GLdouble v) | GLContext | [friend]
GLEvalCoord2f(GLfloat u, GLfloat v) | GLContext | [friend]
GLEvalMesh1(GLenum mode, GLint i1, GLint i2) | GLContext | [friend]
GLEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) | GLContext | [friend]
GLEvalPoint1(GLint i) | GLContext | [friend]
GLEvalPoint2(GLint i, GLint j) | GLContext | [friend]
GLExecuteProgram(GLenum target, GLuint id, const GLfloat *params) | GLContext | [friend]
GLFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) | GLContext | [friend]
GLFinalCombinerInput(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage) | GLContext | [friend]
GLFinish(void) | GLContext | [friend]
GLFinishFence(GLuint fence) | GLContext | [friend]
GLFlush(void) | GLContext | [friend]
GLFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) | GLContext | [friend]
GLFlushPixelDataRange(GLenum target) | GLContext | [friend]
GLFlushVertexArrayRange() | GLContext | [friend]
GLFogColor(const GLfloat *color) | GLContext | [friend]
GLFogCoordd(GLdouble fog) | GLContext | [friend]
GLFogCoorddv(const GLdouble *fog) | GLContext | [friend]
GLFogCoordf(GLfloat fog) | GLContext | [friend]
GLFogCoordFormatNV (defined in GLContext) | GLContext | [friend]
GLFogCoordfv(const GLfloat *fog) | GLContext | [friend]
GLFogCoordh(GLhalf fog) | GLContext | [friend]
GLFogCoordhv(const GLhalf *fog) | GLContext | [friend]
GLFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLFogDensity(GLfloat density) | GLContext | [friend]
GLFogEnd(GLfloat end) | GLContext | [friend]
GLFogf(GLenum pname, GLfloat param) | GLContext | [friend]
GLFogfv(GLenum pname, const GLfloat *params) | GLContext | [friend]
GLFogi(GLenum pname, GLint param) | GLContext | [friend]
GLFogiv(GLenum pname, const GLint *params) | GLContext | [friend]
GLFogMode(GLenum param) | GLContext | [friend]
GLFogStart(GLfloat start) | GLContext | [friend]
GLFramebufferDrawBufferEXT (defined in GLContext) | GLContext | [friend]
GLFramebufferDrawBuffersEXT (defined in GLContext) | GLContext | [friend]
GLFramebufferReadBufferEXT (defined in GLContext) | GLContext | [friend]
GLFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) | GLContext | [friend]
GLFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) | GLContext | [friend]
GLFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) | GLContext | [friend]
GLFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) | GLContext | [friend]
GLFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) | GLContext | [friend]
GLFramebufferTextureFace(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face) | GLContext | [friend]
GLFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) | GLContext | [friend]
GLFrameTerminator(void) | GLContext | [friend]
GLFrontFace(GLenum mode) | GLContext | [friend]
GLFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) | GLContext | [friend]
GLGenArrayBufferCache (defined in GLContext) | GLContext | [friend]
GLGenArraySets (defined in GLContext) | GLContext | [friend]
GLGenBuffers(GLsizei n, GLuint *buffers) | GLContext | [friend]
GLGenDisplayListCache (defined in GLContext) | GLContext | [friend]
GLGenElementArrayBufferCache (defined in GLContext) | GLContext | [friend]
GLGenerateMipmap(GLenum target) | GLContext | [friend]
GLGenerateMultiTexMipmapEXT (defined in GLContext) | GLContext | [friend]
GLGenerateTextureMipmapEXT (defined in GLContext) | GLContext | [friend]
GLGenFences(GLsizei n, GLuint *fences) | GLContext | [friend]
GLGenFramebuffers(GLsizei n, GLuint *framebuffers) | GLContext | [friend]
GLGenLists(GLsizei range) | GLContext | [friend]
GLGenPixelBufferCache (defined in GLContext) | GLContext | [friend]
GLGenPrograms(GLsizei n, GLuint *ids) | GLContext | [friend]
GLGenQueries(GLsizei n, GLuint *ids) | GLContext | [friend]
GLGenRenderbuffers(GLsizei n, GLuint *renderbuffers) | GLContext | [friend]
GLGenTextureCache (defined in GLContext) | GLContext | [friend]
GLGenTextureCache (defined in GLContext) | GLContext | [friend]
GLGenTextures(GLsizei n, GLuint *textures) | GLContext | [friend]
GLGenVertexArrays (defined in GLContext) | GLContext | [friend]
GLGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) | GLContext | [friend]
GLGetActiveUniform(GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name) | GLContext | [friend]
GLGetActiveVaryingNV(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) | GLContext | [friend]
GLGetAttachedObjects(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj) | GLContext | [friend]
GLGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) | GLContext | [friend]
GLGetAttribLocation(GLuint program, const GLchar *name) | GLContext | [friend]
GLGetBooleanIndexedv(GLenum target, GLuint index, GLboolean *data) | GLContext | [friend]
GLGetBooleanv(GLenum pname, GLboolean *params) | GLContext | [friend]
GLGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetBufferParameterui64vNV (defined in GLContext) | GLContext | [friend]
GLGetBufferPointerv(GLenum target, GLenum pname, GLvoid **params) | GLContext | [friend]
GLGetBufferSubData(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data) | GLContext | [friend]
GLGetClipPlane(GLenum plane, GLdouble *equation) | GLContext | [friend]
GLGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) | GLContext | [friend]
GLGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetCombinerInputParameterfv(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetCombinerInputParameteriv(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params) | GLContext | [friend]
GLGetCombinerOutputParameterfv(GLenum stage, GLenum portion, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetCombinerOutputParameteriv(GLenum stage, GLenum portion, GLenum pname, GLint *params) | GLContext | [friend]
GLGetCombinerStageParameterfv(GLenum stage, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetCompressedMultiTexImageEXT (defined in GLContext) | GLContext | [friend]
GLGetCompressedTexImage(GLenum target, GLint lod, GLvoid *img) | GLContext | [friend]
GLGetCompressedTextureImageEXT (defined in GLContext) | GLContext | [friend]
GLGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) | GLContext | [friend]
GLGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetDebugMessageLogARB (defined in GLContext) | GLContext | [friend]
GLGetDoubleIndexedvEXT (defined in GLContext) | GLContext | [friend]
GLGetDoublev(GLenum pname, GLdouble *params) | GLContext | [friend]
GLGetFenceiv(GLuint fence, GLenum pname, GLint *params) | GLContext | [friend]
GLGetFinalCombinerInputParameterfv(GLenum variable, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetFinalCombinerInputParameteriv(GLenum variable, GLenum pname, GLint *params) | GLContext | [friend]
GLGetFloatIndexedvEXT (defined in GLContext) | GLContext | [friend]
GLGetFloatv(GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetFogColor (defined in GLContext) | GLContext | [friend]
GLGetFragDataLocation(GLuint program, const GLchar *name) | GLContext | [friend]
GLGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) | GLContext | [friend]
GLGetFramebufferParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetHandle(GLenum pname) | GLContext | [friend]
GLGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) | GLContext | [friend]
GLGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetInfoLog(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog) | GLContext | [friend]
GLGetIntegerIndexedv(GLenum target, GLuint index, GLint *data) | GLContext | [friend]
GLGetIntegerui64i_vNV (defined in GLContext) | GLContext | [friend]
GLGetIntegerui64vNV (defined in GLContext) | GLContext | [friend]
GLGetIntegerv(GLenum pname, GLint *params) | GLContext | [friend]
GLGetLightfv(GLenum light, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetLightiv(GLenum light, GLenum pname, GLint *params) | GLContext | [friend]
GLGetMapdv(GLenum target, GLenum query, GLdouble *v) | GLContext | [friend]
GLGetMapfv(GLenum target, GLenum query, GLfloat *v) | GLContext | [friend]
GLGetMapiv(GLenum target, GLenum query, GLint *v) | GLContext | [friend]
GLGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetMaterialiv(GLenum face, GLenum pname, GLint *params) | GLContext | [friend]
GLGetMaxTexCoords(void) | GLContext | [friend]
GLGetMaxTexImageUnits(void) | GLContext | [friend]
GLGetMaxTexUnits(void) | GLContext | [friend]
GLGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) | GLContext | [friend]
GLGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) | GLContext | [friend]
GLGetMultiTexEnvfvEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexEnvivEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexGendvEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexGenfvEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexGenivEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexImageEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexLevelParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexLevelParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexParameterIivEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexParameterIuivEXT (defined in GLContext) | GLContext | [friend]
GLGetMultiTexParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedBufferParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedBufferParameterui64vNV (defined in GLContext) | GLContext | [friend]
GLGetNamedBufferPointervEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedBufferSubDataEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedFramebufferAttachmentParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedProgramivEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedProgramLocalParameterdvEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedProgramLocalParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedProgramLocalParameterIivEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedProgramLocalParameterIuivEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedProgramStringEXT (defined in GLContext) | GLContext | [friend]
GLGetNamedRenderbufferParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetObjectParameterfv(GLhandleARB obj, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetObjectParameteriv(GLhandleARB obj, GLenum pname, GLint *params) | GLContext | [friend]
GLGetPixelMapfv(GLenum map, GLfloat *values) | GLContext | [friend]
GLGetPixelMapuiv(GLenum map, GLuint *values) | GLContext | [friend]
GLGetPixelMapusv(GLenum map, GLushort *values) | GLContext | [friend]
GLGetPointerIndexedvEXT (defined in GLContext) | GLContext | [friend]
GLGetPointerv(GLenum pname, GLvoid **params) | GLContext | [friend]
GLGetPolygonStipple(GLubyte *mask) | GLContext | [friend]
GLGetProgramEnvParameterdv(GLenum target, GLuint index, GLdouble *params) | GLContext | [friend]
GLGetProgramEnvParameterfv(GLenum target, GLuint index, GLfloat *params) | GLContext | [friend]
GLGetProgramEnvParameterIiv(GLenum target, GLuint index, GLint *params) | GLContext | [friend]
GLGetProgramEnvParameterIuiv(GLenum target, GLuint index, GLuint *params) | GLContext | [friend]
GLGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) | GLContext | [friend]
GLGetProgramiv(GLuint program, GLenum pname, GLint *params) | GLContext | [friend]
GLGetProgramLocalParameterdv(GLenum target, GLuint index, GLdouble *params) | GLContext | [friend]
GLGetProgramLocalParameterfv(GLenum target, GLuint index, GLfloat *params) | GLContext | [friend]
GLGetProgramLocalParameterIiv(GLenum target, GLuint index, GLint *params) | GLContext | [friend]
GLGetProgramLocalParameterIuiv(GLenum target, GLuint index, GLuint *params) | GLContext | [friend]
GLGetProgramNamedParameterdv(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params) | GLContext | [friend]
GLGetProgramNamedParameterfv(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params) | GLContext | [friend]
GLGetProgramParameterdv(GLenum target, GLuint index, GLenum pname, GLdouble *params) | GLContext | [friend]
GLGetProgramParameterfv(GLenum target, GLuint index, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetProgramString(GLuint id, GLenum pname, GLubyte *program) | GLContext | [friend]
GLGetQueryiv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetQueryObjecti64v(GLuint id, GLenum pname, GLint64EXT *params) | GLContext | [friend]
GLGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) | GLContext | [friend]
GLGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64EXT *params) | GLContext | [friend]
GLGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) | GLContext | [friend]
GLGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) | GLContext | [friend]
GLGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) | GLContext | [friend]
GLGetShaderiv(GLuint shader, GLenum pname, GLint *params) | GLContext | [friend]
GLGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLcharARB *source) | GLContext | [friend]
GLGetString(GLenum name) | GLContext | [friend]
GLGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetTexEnviv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) | GLContext | [friend]
GLGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetTexGeniv(GLenum coord, GLenum pname, GLint *params) | GLContext | [friend]
GLGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) | GLContext | [friend]
GLGetTexImageFmt(GLTexImageFmt &tfmt, nvsg::Image::PixelFormat fmt, nvsg::Image::PixelDataType type, nvsg::TextureHost::TextureGPUFormat gpuFmt=nvsg::TextureHost::TGF_DEFAULT) | GLContext | [friend]
GLGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) | GLContext | [friend]
GLGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) | GLContext | [friend]
GLGetTexParameteriv(GLenum target, GLenum pname, GLint *params) | GLContext | [friend]
GLGetTextureImageEXT (defined in GLContext) | GLContext | [friend]
GLGetTextureLevelParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLGetTextureLevelParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetTextureParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLGetTextureParameterIivEXT (defined in GLContext) | GLContext | [friend]
GLGetTextureParameterIuivEXT (defined in GLContext) | GLContext | [friend]
GLGetTextureParameterivEXT (defined in GLContext) | GLContext | [friend]
GLGetTexWrapMode(nvsg::TextureWrapMode twm) | GLContext | [friend]
GLGetTrackMatrixiv(GLenum target, GLuint address, GLenum pname, GLint *params) | GLContext | [friend]
GLGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) | GLContext | [friend]
GLGetTransformFeedbackVaryingNV(GLuint program, GLuint index, GLint *location) | GLContext | [friend]
GLGetUniformBufferSize(GLuint program, GLint location) | GLContext | [friend]
GLGetUniformfv(GLuint program, GLint location, GLfloat *params) | GLContext | [friend]
GLGetUniformiv(GLuint program, GLint location, GLint *params) | GLContext | [friend]
GLGetUniformLocation(GLuint program, const GLcharARB *name) | GLContext | [friend]
GLGetUniformOffset(GLuint program, GLint location) | GLContext | [friend]
GLGetUniformui64vNV (defined in GLContext) | GLContext | [friend]
GLGetUniformuiv(GLuint program, GLint location, GLuint *params) | GLContext | [friend]
GLGetVaryingLocationNV(GLuint program, const GLchar *name) | GLContext | [friend]
GLGetVersion() | GLContext | [friend]
GLGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) | GLContext | [friend]
GLGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) | GLContext | [friend]
GLGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) | GLContext | [friend]
GLGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) | GLContext | [friend]
GLGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) | GLContext | [friend]
GLGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid **pointer) | GLContext | [friend]
GLGetVideoCaptureivNV (defined in GLContext) | GLContext | [friend]
GLGetVideoCaptureStreamdvNV (defined in GLContext) | GLContext | [friend]
GLGetVideoCaptureStreamfvNV (defined in GLContext) | GLContext | [friend]
GLGetVideoCaptureStreamivNV (defined in GLContext) | GLContext | [friend]
GLGetVideoi64vNV (defined in GLContext) | GLContext | [friend]
GLGetVideoivNV (defined in GLContext) | GLContext | [friend]
GLGetVideoui64vNV (defined in GLContext) | GLContext | [friend]
GLGetVideouivNV (defined in GLContext) | GLContext | [friend]
GLGPUSyncAcquire (defined in GLContext) | GLContext | [friend]
GLGPUSyncCopyBuffer (defined in GLContext) | GLContext | [friend]
GLGPUSyncEnd (defined in GLContext) | GLContext | [friend]
GLGPUSyncGetHandleSize (defined in GLContext) | GLContext | [friend]
GLGPUSyncInit (defined in GLContext) | GLContext | [friend]
GLGPUSyncMapBuffer (defined in GLContext) | GLContext | [friend]
GLGPUSyncRelease (defined in GLContext) | GLContext | [friend]
GLGPUSyncUnmapBuffer (defined in GLContext) | GLContext | [friend]
GLHint(GLenum target, GLenum mode) | GLContext | [friend]
GLHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) | GLContext | [friend]
GLIndexd(GLdouble c) | GLContext | [friend]
GLIndexf(GLfloat c) | GLContext | [friend]
GLIndexFormatNV (defined in GLContext) | GLContext | [friend]
GLIndexi(GLint c) | GLContext | [friend]
GLIndexMask(GLuint mask) | GLContext | [friend]
GLIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLIndexs(GLshort c) | GLContext | [friend]
GLIndexub(GLubyte c) | GLContext | [friend]
GLInitNames(void) | GLContext | [friend]
GLInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLIsArraySet (defined in GLContext) | GLContext | [friend]
GLIsBuffer(GLuint name) | GLContext | [friend]
GLIsBufferResidentNV (defined in GLContext) | GLContext | [friend]
GLIsEnabled(GLenum cap) | GLContext | [friend]
GLIsEnabledAlphaTest() | GLContext | [friend]
GLIsEnabledAutoNormal() | GLContext | [friend]
GLIsEnabledBlend() | GLContext | [friend]
GLIsEnabledClipPlane(GLenum plane) | GLContext | [friend]
GLIsEnabledColorLogicOp() | GLContext | [friend]
GLIsEnabledColorMaterial() | GLContext | [friend]
GLIsEnabledCullFace() | GLContext | [friend]
GLIsEnabledDepthTest() | GLContext | [friend]
GLIsEnabledDither() | GLContext | [friend]
GLIsEnabledFog() | GLContext | [friend]
GLIsEnabledIndexed(GLenum target, GLuint index) | GLContext | [friend]
GLIsEnabledLight(GLenum cap) | GLContext | [friend]
GLIsEnabledLighting() | GLContext | [friend]
GLIsEnabledLineSmooth() | GLContext | [friend]
GLIsEnabledLineStipple() | GLContext | [friend]
GLIsEnabledLogicOp() | GLContext | [friend]
GLIsEnabledNormalize() | GLContext | [friend]
GLIsEnabledPointSmooth() | GLContext | [friend]
GLIsEnabledPolygonOffsetFill() | GLContext | [friend]
GLIsEnabledPolygonOffsetLine() | GLContext | [friend]
GLIsEnabledPolygonOffsetPoint() | GLContext | [friend]
GLIsEnabledPolygonSmooth() | GLContext | [friend]
GLIsEnabledPolygonStipple() | GLContext | [friend]
GLIsEnabledRescaleNormal() | GLContext | [friend]
GLIsEnabledScissorTest() | GLContext | [friend]
GLIsEnabledStencilTest() | GLContext | [friend]
GLIsEnabledTexture(GLenum cap) | GLContext | [friend]
GLIsEnabledTextureGen(GLenum cap) | GLContext | [friend]
GLIsExtensionAvailable(const std::string &extension) | GLContext | [friend]
GLIsExtensionExported(const std::string &extension) | GLContext | [friend]
GLIsFence(GLuint fence) | GLContext | [friend]
GLIsFramebuffer(GLuint framebuffer) | GLContext | [friend]
GLIsList(GLuint list) | GLContext | [friend]
GLIsNamedBufferResidentNV (defined in GLContext) | GLContext | [friend]
GLIsProgram(GLuint program) | GLContext | [friend]
GLIsQuery(GLuint id) | GLContext | [friend]
GLIsRenderbuffer(GLuint renderbuffer) | GLContext | [friend]
GLIsShader(GLuint shader) | GLContext | [friend]
GLIsTexture(GLuint texture) | GLContext | [friend]
GLIsValidArrayBufferCache (defined in GLContext) | GLContext | [friend]
GLIsValidDisplayListCache (defined in GLContext) | GLContext | [friend]
GLIsValidElementArrayBufferCache (defined in GLContext) | GLContext | [friend]
GLIsValidPixelBufferCache (defined in GLContext) | GLContext | [friend]
GLIsValidTextureCache (defined in GLContext) | GLContext | [friend]
GLIsVertexArray (defined in GLContext) | GLContext | [friend]
GLLightAmbient(GLenum light, const GLfloat *params) | GLContext | [friend]
GLLightConstantAttenuation(GLenum light, GLfloat param) | GLContext | [friend]
GLLightDiffuse(GLenum light, const GLfloat *params) | GLContext | [friend]
GLLightf(GLenum light, GLenum pname, GLfloat param) | GLContext | [friend]
GLLightfv(GLenum light, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLLighti(GLenum light, GLenum pname, GLint param) | GLContext | [friend]
GLLightiv(GLenum light, GLenum pname, GLint *params) | GLContext | [friend]
GLLightLinearAttenuation(GLenum light, GLfloat param) | GLContext | [friend]
GLLightModelAmbient(const GLfloat *params) | GLContext | [friend]
GLLightModelf(GLenum pname, GLfloat param) | GLContext | [friend]
GLLightModelfv(GLenum pname, const GLfloat *params) | GLContext | [friend]
GLLightModeli(GLenum pname, GLint param) | GLContext | [friend]
GLLightModeliv(GLenum pname, const GLint *params) | GLContext | [friend]
GLLightModelLocalViewer(GLint param) | GLContext | [friend]
GLLightModelTwoSide(GLint param) | GLContext | [friend]
GLLightModelTwoSideLock(GLint param) | GLContext | [friend]
GLLightModelTwoSideUnlock(GLint param) | GLContext | [friend]
GLLightPosition(GLenum light, const GLfloat *params) | GLContext | [friend]
GLLightQuadraticAttenuation(GLenum light, GLfloat param) | GLContext | [friend]
GLLightSpecular(GLenum light, const GLfloat *params) | GLContext | [friend]
GLLightSpotCutoff(GLenum light, GLfloat param) | GLContext | [friend]
GLLightSpotDirection(GLenum light, const GLfloat *params) | GLContext | [friend]
GLLightSpotExponent(GLenum light, GLfloat param) | GLContext | [friend]
GLLineStipple(GLint factor, GLushort pattern) | GLContext | [friend]
GLLineWidth(GLfloat width) | GLContext | [friend]
GLLinkProgram(GLuint program) | GLContext | [friend]
GLListBase(GLuint base) | GLContext | [friend]
GLLoadIdentity(void) | GLContext | [friend]
GLLoadMatrixd(const GLdouble *m) | GLContext | [friend]
GLLoadMatrixf(const GLfloat *m) | GLContext | [friend]
GLLoadName(GLuint name) | GLContext | [friend]
GLLoadProgram(GLenum target, GLuint id, GLsizei len, const GLubyte *program) | GLContext | [friend]
GLLoadTransposedMatrixd(const GLdouble *m) | GLContext | [friend]
GLLoadTransposeMatrixf(const GLfloat *m) | GLContext | [friend]
GLLockArrays(GLint first, GLsizei count) | GLContext | [friend]
GLLogicOp(GLenum opcode) | GLContext | [friend]
GLMakeBufferNonResidentNV (defined in GLContext) | GLContext | [friend]
GLMakeBufferResidentNV (defined in GLContext) | GLContext | [friend]
GLMakeNamedBufferNonResidentNV (defined in GLContext) | GLContext | [friend]
GLMakeNamedBufferResidentNV (defined in GLContext) | GLContext | [friend]
GLMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) | GLContext | [friend]
GLMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) | GLContext | [friend]
GLMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) | GLContext | [friend]
GLMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) | GLContext | [friend]
GLMapBuffer(GLenum target, GLenum access) | GLContext | [friend]
GLMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) | GLContext | [friend]
GLMapGrid1d(GLint un, GLdouble u1, GLdouble u2) | GLContext | [friend]
GLMapGrid1f(GLint un, GLfloat u1, GLfloat u2) | GLContext | [friend]
GLMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) | GLContext | [friend]
GLMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) | GLContext | [friend]
GLMapNamedBufferEXT (defined in GLContext) | GLContext | [friend]
GLMaterialAmbient(GLenum face, const GLfloat *params) | GLContext | [friend]
GLMaterialAmbientBack(const GLfloat *params) | GLContext | [friend]
GLMaterialAmbientFront(const GLfloat *params) | GLContext | [friend]
GLMaterialAmbientFrontAndBack(const GLfloat *params) | GLContext | [friend]
GLMaterialDiffuse(GLenum face, const GLfloat *params) | GLContext | [friend]
GLMaterialDiffuseBack(const GLfloat *params) | GLContext | [friend]
GLMaterialDiffuseFront(const GLfloat *params) | GLContext | [friend]
GLMaterialDiffuseFrontAndBack(const GLfloat *params) | GLContext | [friend]
GLMaterialEmission(GLenum face, const GLfloat *params) | GLContext | [friend]
GLMaterialEmissionBack(const GLfloat *params) | GLContext | [friend]
GLMaterialEmissionFront(const GLfloat *params) | GLContext | [friend]
GLMaterialEmissionFrontAndBack(const GLfloat *params) | GLContext | [friend]
GLMaterialf(GLenum face, GLenum pname, GLfloat param) | GLContext | [friend]
GLMaterialfv(GLenum face, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLMateriali(GLenum face, GLenum pname, GLint param) | GLContext | [friend]
GLMaterialiv(GLenum face, GLenum pname, const GLint *params) | GLContext | [friend]
GLMaterialShininess(GLenum face, GLfloat param) | GLContext | [friend]
GLMaterialShininessBack(GLfloat param) | GLContext | [friend]
GLMaterialShininessFront(GLfloat param) | GLContext | [friend]
GLMaterialShininessFrontAndBack(GLfloat param) | GLContext | [friend]
GLMaterialSpecular(GLenum face, const GLfloat *params) | GLContext | [friend]
GLMaterialSpecularBack(const GLfloat *params) | GLContext | [friend]
GLMaterialSpecularFront(const GLfloat *params) | GLContext | [friend]
GLMaterialSpecularFrontAndBack(const GLfloat *params) | GLContext | [friend]
GLMatrixFrustumEXT (defined in GLContext) | GLContext | [friend]
GLMatrixLoaddEXT (defined in GLContext) | GLContext | [friend]
GLMatrixLoadfEXT (defined in GLContext) | GLContext | [friend]
GLMatrixLoadIdentityEXT (defined in GLContext) | GLContext | [friend]
GLMatrixLoadTransposedEXT (defined in GLContext) | GLContext | [friend]
GLMatrixLoadTransposefEXT (defined in GLContext) | GLContext | [friend]
GLMatrixMode(GLenum mode) | GLContext | [friend]
GLMatrixMultdEXT (defined in GLContext) | GLContext | [friend]
GLMatrixMultfEXT (defined in GLContext) | GLContext | [friend]
GLMatrixMultTransposedEXT (defined in GLContext) | GLContext | [friend]
GLMatrixMultTransposefEXT (defined in GLContext) | GLContext | [friend]
GLMatrixOrthoEXT (defined in GLContext) | GLContext | [friend]
GLMatrixPopEXT (defined in GLContext) | GLContext | [friend]
GLMatrixPushEXT (defined in GLContext) | GLContext | [friend]
GLMatrixRotatedEXT (defined in GLContext) | GLContext | [friend]
GLMatrixRotatefEXT (defined in GLContext) | GLContext | [friend]
GLMatrixScaledEXT (defined in GLContext) | GLContext | [friend]
GLMatrixScalefEXT (defined in GLContext) | GLContext | [friend]
GLMatrixTranslatedEXT (defined in GLContext) | GLContext | [friend]
GLMatrixTranslatefEXT (defined in GLContext) | GLContext | [friend]
GLMinmax(GLenum target, GLenum internalformat, GLboolean sink) | GLContext | [friend]
GLMultiDrawArrays(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount) | GLContext | [friend]
GLMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount) | GLContext | [friend]
GLMultiTexBufferEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexCoord1d(GLenum target, GLdouble s) | GLContext | [friend]
GLMultiTexCoord1dv(GLenum target, const GLdouble *v) | GLContext | [friend]
GLMultiTexCoord1f(GLenum target, GLfloat s) | GLContext | [friend]
GLMultiTexCoord1fv(GLenum target, const GLfloat *v) | GLContext | [friend]
GLMultiTexCoord1h(GLenum target, GLhalf s) | GLContext | [friend]
GLMultiTexCoord1hv(GLenum target, const GLhalf *v) | GLContext | [friend]
GLMultiTexCoord1i(GLenum target, GLint s) | GLContext | [friend]
GLMultiTexCoord1iv(GLenum target, const GLint *v) | GLContext | [friend]
GLMultiTexCoord1s(GLenum target, GLshort s) | GLContext | [friend]
GLMultiTexCoord1sv(GLenum target, const GLshort *v) | GLContext | [friend]
GLMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) | GLContext | [friend]
GLMultiTexCoord2dv(GLenum target, const GLdouble *v) | GLContext | [friend]
GLMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) | GLContext | [friend]
GLMultiTexCoord2fv(GLenum target, const GLfloat *v) | GLContext | [friend]
GLMultiTexCoord2h(GLenum target, GLhalf s, GLhalf t) | GLContext | [friend]
GLMultiTexCoord2hv(GLenum target, const GLhalf *v) | GLContext | [friend]
GLMultiTexCoord2i(GLenum target, GLint s, GLint t) | GLContext | [friend]
GLMultiTexCoord2iv(GLenum target, const GLint *v) | GLContext | [friend]
GLMultiTexCoord2s(GLenum target, GLshort s, GLshort t) | GLContext | [friend]
GLMultiTexCoord2sv(GLenum target, const GLshort *v) | GLContext | [friend]
GLMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) | GLContext | [friend]
GLMultiTexCoord3dv(GLenum target, const GLdouble *v) | GLContext | [friend]
GLMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) | GLContext | [friend]
GLMultiTexCoord3fv(GLenum target, const GLfloat *v) | GLContext | [friend]
GLMultiTexCoord3h(GLenum target, GLhalf s, GLhalf t, GLhalf r) | GLContext | [friend]
GLMultiTexCoord3hv(GLenum target, const GLhalf *v) | GLContext | [friend]
GLMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) | GLContext | [friend]
GLMultiTexCoord3iv(GLenum target, const GLint *v) | GLContext | [friend]
GLMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) | GLContext | [friend]
GLMultiTexCoord3sv(GLenum target, const GLshort *v) | GLContext | [friend]
GLMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) | GLContext | [friend]
GLMultiTexCoord4dv(GLenum target, const GLdouble *v) | GLContext | [friend]
GLMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) | GLContext | [friend]
GLMultiTexCoord4fv(GLenum target, const GLfloat *v) | GLContext | [friend]
GLMultiTexCoord4h(GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q) | GLContext | [friend]
GLMultiTexCoord4hv(GLenum target, const GLhalf *v) | GLContext | [friend]
GLMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) | GLContext | [friend]
GLMultiTexCoord4iv(GLenum target, const GLint *v) | GLContext | [friend]
GLMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) | GLContext | [friend]
GLMultiTexCoord4sv(GLenum target, const GLshort *v) | GLContext | [friend]
GLMultiTexCoordPointerEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexEnvfEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexEnvfvEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexEnviEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexEnvivEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexGendEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexGendvEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexGenfEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexGenfvEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexGeniEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexGenivEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexImage1DEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexImage2DEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexImage3DEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexParameterfEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexParameteriEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexParameterIivEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexParameterIuivEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexParameterivEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexRenderbufferEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexSubImage1DEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexSubImage2DEXT (defined in GLContext) | GLContext | [friend]
GLMultiTexSubImage3DEXT (defined in GLContext) | GLContext | [friend]
GLMultMatrixd(const GLdouble *m) | GLContext | [friend]
GLMultMatrixf(const GLfloat *m) | GLContext | [friend]
GLMultTransposeMatrixd(const GLdouble *m) | GLContext | [friend]
GLMultTransposeMatrixf(const GLfloat *m) | GLContext | [friend]
GLNamedBufferDataEXT (defined in GLContext) | GLContext | [friend]
GLNamedBufferSubDataEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferRenderbufferEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferTexture1DEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferTexture2DEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferTexture3DEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferTextureEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferTextureFaceEXT (defined in GLContext) | GLContext | [friend]
GLNamedFramebufferTextureLayerEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameter4dEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameter4dvEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameter4fEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameter4fvEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameterI4iEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameterI4ivEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameterI4uiEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameterI4uivEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParameters4fvEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParametersI4ivEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramLocalParametersI4uivEXT (defined in GLContext) | GLContext | [friend]
GLNamedProgramStringEXT (defined in GLContext) | GLContext | [friend]
GLNamedRenderbufferStorageEXT (defined in GLContext) | GLContext | [friend]
GLNamedRenderbufferStorageMultisampleCoverageEXT (defined in GLContext) | GLContext | [friend]
GLNamedRenderbufferStorageMultisampleEXT (defined in GLContext) | GLContext | [friend]
GLNewList(GLuint list, GLenum mode) | GLContext | [friend]
GLNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) | GLContext | [friend]
GLNormal3bv(const GLbyte *v) | GLContext | [friend]
GLNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) | GLContext | [friend]
GLNormal3dv(const GLdouble *v) | GLContext | [friend]
GLNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) | GLContext | [friend]
GLNormal3fv(const GLfloat *v) | GLContext | [friend]
GLNormal3h(GLhalf nx, GLhalf ny, GLhalf nz) | GLContext | [friend]
GLNormal3hv(const GLhalf *v) | GLContext | [friend]
GLNormal3i(GLint nx, GLint ny, GLint nz) | GLContext | [friend]
GLNormal3iv(const GLint *v) | GLContext | [friend]
GLNormal3s(GLshort nx, GLshort ny, GLshort nz) | GLContext | [friend]
GLNormal3sv(const GLshort *v) | GLContext | [friend]
GLNormalFormatNV (defined in GLContext) | GLContext | [friend]
GLNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) | GLContext | [friend]
GLPassThrough(GLfloat token) | GLContext | [friend]
GLPatchParameterfv(GLenum pname, const GLfloat *values) | GLContext | [friend]
GLPatchParameteri(GLenum pname, GLint value) | GLContext | [friend]
GLPixelDataRange(GLenum target, GLsizei size, GLvoid *pointer) | GLContext | [friend]
GLPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values) | GLContext | [friend]
GLPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values) | GLContext | [friend]
GLPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values) | GLContext | [friend]
GLPixelStoref(GLenum pname, GLfloat param) | GLContext | [friend]
GLPixelStorei(GLenum pname, GLint param) | GLContext | [friend]
GLPixelTransferf(GLenum pname, GLfloat param) | GLContext | [friend]
GLPixelTransferi(GLenum pname, GLint param) | GLContext | [friend]
GLPixelZoom(GLfloat xfactor, GLfloat yfactor) | GLContext | [friend]
GLPointParameterf(GLenum pname, GLfloat param) | GLContext | [friend]
GLPointParameterfv(GLenum pname, const GLfloat *params) | GLContext | [friend]
GLPointParameteri(GLenum pname, GLint param) | GLContext | [friend]
GLPointParameteriv(GLenum pname, const GLint *params) | GLContext | [friend]
GLPointSize(GLfloat size) | GLContext | [friend]
GLPolygonMode(GLenum face, GLenum mode) | GLContext | [friend]
GLPolygonModeBack(GLenum mode) | GLContext | [friend]
GLPolygonModeFront(GLenum mode) | GLContext | [friend]
GLPolygonModeFrontAndBack(GLenum mode) | GLContext | [friend]
GLPolygonModeLock(GLenum face, GLenum mode) | GLContext | [friend]
GLPolygonModeUnlock(GLenum face, GLenum mode) | GLContext | [friend]
GLPolygonOffset(GLfloat factor, GLfloat units) | GLContext | [friend]
GLPolygonStipple(const GLubyte *mask) | GLContext | [friend]
GLPopAttrib(void) | GLContext | [friend]
GLPopClientAttrib(void) | GLContext | [friend]
GLPopMatrix(void) | GLContext | [friend]
GLPopName(void) | GLContext | [friend]
GLPresentFrameDualFillNV (defined in GLContext) | GLContext | [friend]
GLPresentFrameKeyedNV (defined in GLContext) | GLContext | [friend]
GLPrimitiveRestart() | GLContext | [friend]
GLPrimitiveRestartIndex(GLuint index) | GLContext | [friend]
GLPrioritizeTextures(GLsizei n, const GLuint *textures, const GLclampf *priorities) | GLContext | [friend]
GLProgramBufferParametersfv(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params) | GLContext | [friend]
GLProgramBufferParametersIiv(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params) | GLContext | [friend]
GLProgramBufferParametersIuiv(GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params) | GLContext | [friend]
GLProgramEnvParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLProgramEnvParameter4dv(GLenum target, GLuint index, const GLdouble *params) | GLContext | [friend]
GLProgramEnvParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLProgramEnvParameter4fv(GLenum target, GLuint index, const GLfloat *params) | GLContext | [friend]
GLProgramEnvParameterI4i(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) | GLContext | [friend]
GLProgramEnvParameterI4iv(GLenum target, GLuint index, const GLint *params) | GLContext | [friend]
GLProgramEnvParameterI4ui(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) | GLContext | [friend]
GLProgramEnvParameterI4uiv(GLenum target, GLuint index, const GLuint *params) | GLContext | [friend]
GLProgramEnvParameters4fv(GLenum target, GLuint index, GLsizei count, const GLfloat *params) | GLContext | [friend]
GLProgramEnvParametersI4iv(GLenum target, GLuint index, GLsizei count, const GLint *params) | GLContext | [friend]
GLProgramEnvParametersI4uiv(GLenum target, GLuint index, GLsizei count, const GLuint *params) | GLContext | [friend]
GLProgramLocalParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLProgramLocalParameter4dv(GLenum target, GLuint index, const GLdouble *params) | GLContext | [friend]
GLProgramLocalParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLProgramLocalParameter4fv(GLenum target, GLuint index, const GLfloat *params) | GLContext | [friend]
GLProgramLocalParameterI4i(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w) | GLContext | [friend]
GLProgramLocalParameterI4iv(GLenum target, GLuint index, const GLint *params) | GLContext | [friend]
GLProgramLocalParameterI4ui(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) | GLContext | [friend]
GLProgramLocalParameterI4uiv(GLenum target, GLuint index, const GLuint *params) | GLContext | [friend]
GLProgramLocalParameters4fv(GLenum target, GLuint index, GLsizei count, const GLfloat *params) | GLContext | [friend]
GLProgramLocalParametersI4iv(GLenum target, GLuint index, GLsizei count, const GLint *params) | GLContext | [friend]
GLProgramLocalParametersI4uiv(GLenum target, GLuint index, GLsizei count, const GLuint *params) | GLContext | [friend]
GLProgramNamedParameter4d(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLProgramNamedParameter4dv(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v) | GLContext | [friend]
GLProgramNamedParameter4f(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLProgramNamedParameter4fv(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v) | GLContext | [friend]
GLProgramParameter4d(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLProgramParameter4dv(GLenum target, GLuint index, const GLdouble *v) | GLContext | [friend]
GLProgramParameter4f(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLProgramParameter4fv(GLenum target, GLuint index, const GLfloat *v) | GLContext | [friend]
GLProgramParameteri(GLuint program, GLenum pname, GLint value) | GLContext | [friend]
GLProgramParameters4dv(GLenum target, GLuint index, GLsizei count, const GLdouble *v) | GLContext | [friend]
GLProgramParameters4fv(GLenum target, GLuint index, GLsizei count, const GLfloat *v) | GLContext | [friend]
GLProgramString(GLenum target, GLenum format, GLsizei len, const GLvoid *string) | GLContext | [friend]
GLProgramUniform1fEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform1fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform1iEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform1ivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform1uiEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform1uivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform2fEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform2fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform2iEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform2ivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform2uiEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform2uivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform3fEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform3fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform3iEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform3ivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform3uiEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform3uivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform4fEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform4fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform4iEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform4ivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform4uiEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniform4uivEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix2fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix2x3fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix2x4fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix3fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix3x2fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix3x4fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix4fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix4x2fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformMatrix4x3fvEXT (defined in GLContext) | GLContext | [friend]
GLProgramUniformui64NV (defined in GLContext) | GLContext | [friend]
GLProgramUniformui64vNV (defined in GLContext) | GLContext | [friend]
GLProgramVertexLimit(GLenum target, GLint limit) | GLContext | [friend]
GLPushAttrib(GLbitfield mask) | GLContext | [friend]
GLPushClientAttrib(GLbitfield mask) | GLContext | [friend]
GLPushClientAttribDefaultEXT (defined in GLContext) | GLContext | [friend]
GLPushMatrix(void) | GLContext | [friend]
GLPushName(GLuint name) | GLContext | [friend]
GLRasterPos2d(GLdouble x, GLdouble y) | GLContext | [friend]
GLRasterPos2dv(const GLdouble *v) | GLContext | [friend]
GLRasterPos2f(GLfloat x, GLfloat y) | GLContext | [friend]
GLRasterPos2fv(const GLfloat *v) | GLContext | [friend]
GLRasterPos2i(GLint x, GLint y) | GLContext | [friend]
GLRasterPos2iv(const GLint *v) | GLContext | [friend]
GLRasterPos2s(GLshort x, GLshort y) | GLContext | [friend]
GLRasterPos2sv(const GLshort *v) | GLContext | [friend]
GLRasterPos3d(GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLRasterPos3dv(const GLdouble *v) | GLContext | [friend]
GLRasterPos3f(GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLRasterPos3fv(const GLfloat *v) | GLContext | [friend]
GLRasterPos3i(GLint x, GLint y, GLint z) | GLContext | [friend]
GLRasterPos3iv(const GLint *v) | GLContext | [friend]
GLRasterPos3s(GLshort x, GLshort y, GLshort z) | GLContext | [friend]
GLRasterPos3sv(const GLshort *v) | GLContext | [friend]
GLRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLRasterPos4dv(const GLdouble *v) | GLContext | [friend]
GLRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLRasterPos4fv(const GLfloat *v) | GLContext | [friend]
GLRasterPos4i(GLint x, GLint y, GLint z, GLint w) | GLContext | [friend]
GLRasterPos4iv(const GLint *v) | GLContext | [friend]
GLRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) | GLContext | [friend]
GLRasterPos4sv(const GLshort *v) | GLContext | [friend]
GLReadBuffer(GLenum mode) | GLContext | [friend]
GLReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) | GLContext | [friend]
GLRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) | GLContext | [friend]
GLRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) | GLContext | [friend]
GLRecti(GLint x1, GLint y1, GLint x2, GLint y2) | GLContext | [friend]
GLRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) | GLContext | [friend]
GLRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) | GLContext | [friend]
GLRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) | GLContext | [friend]
GLRenderbufferStorageMultisampleCoverage(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height) | GLContext | [friend]
GLRenderMode(GLenum mode) | GLContext | [friend]
GLRequestResidentPrograms(GLsizei n, const GLuint *programs) | GLContext | [friend]
GLResetAlphaFunc() | GLContext | [friend]
GLResetAlphaTest() | GLContext | [friend]
GLResetAutoNormal() | GLContext | [friend]
GLResetBlend() | GLContext | [friend]
GLResetBlendFunc() | GLContext | [friend]
GLResetBlendFuncSeparate() | GLContext | [friend]
GLResetClearColor() | GLContext | [friend]
GLResetClearDepth() | GLContext | [friend]
GLResetClearStencil() | GLContext | [friend]
GLResetClipPlane(GLenum plane) | GLContext | [friend]
GLResetClipPlaneEquation(GLenum plane) | GLContext | [friend]
GLResetColorLogicOp() | GLContext | [friend]
GLResetColorMask() | GLContext | [friend]
GLResetColorMaterial() | GLContext | [friend]
GLResetColorMaterialMode() | GLContext | [friend]
GLResetCullFace() | GLContext | [friend]
GLResetCullFaceMode() | GLContext | [friend]
GLResetDepthFunc() | GLContext | [friend]
GLResetDepthMask() | GLContext | [friend]
GLResetDepthRange() | GLContext | [friend]
GLResetDepthTest() | GLContext | [friend]
GLResetDither() | GLContext | [friend]
GLResetFog() | GLContext | [friend]
GLResetFogColor() | GLContext | [friend]
GLResetFogDensity() | GLContext | [friend]
GLResetFogEnd() | GLContext | [friend]
GLResetFogMode() | GLContext | [friend]
GLResetFogStart() | GLContext | [friend]
GLResetFrontFace() | GLContext | [friend]
GLResetHistogram(GLenum target) | GLContext | [friend]
GLResetLight(GLenum light) | GLContext | [friend]
GLResetLightAmbient(GLenum light) | GLContext | [friend]
GLResetLightConstantAttenuation(GLenum light) | GLContext | [friend]
GLResetLightDiffuse(GLenum light) | GLContext | [friend]
GLResetLighting() | GLContext | [friend]
GLResetLightLinearAttenuation(GLenum light) | GLContext | [friend]
GLResetLightModelAmbient() | GLContext | [friend]
GLResetLightModelLocalViewer() | GLContext | [friend]
GLResetLightModelTwoSide() | GLContext | [friend]
GLResetLightPosition(GLenum light) | GLContext | [friend]
GLResetLightQuadraticAttenuation(GLenum light) | GLContext | [friend]
GLResetLightSpecular(GLenum light) | GLContext | [friend]
GLResetLightSpotCutoff(GLenum light) | GLContext | [friend]
GLResetLightSpotDirection(GLenum light) | GLContext | [friend]
GLResetLightSpotExponent(GLenum light) | GLContext | [friend]
GLResetLineSmooth() | GLContext | [friend]
GLResetLineStipple() | GLContext | [friend]
GLResetLineStippleDefinition() | GLContext | [friend]
GLResetLineWidth() | GLContext | [friend]
GLResetLogicOp() | GLContext | [friend]
GLResetMaterialAmbientBack() | GLContext | [friend]
GLResetMaterialAmbientFront() | GLContext | [friend]
GLResetMaterialAmbientFrontAndBack() | GLContext | [friend]
GLResetMaterialDiffuseBack() | GLContext | [friend]
GLResetMaterialDiffuseFront() | GLContext | [friend]
GLResetMaterialDiffuseFrontAndBack() | GLContext | [friend]
GLResetMaterialEmissionBack() | GLContext | [friend]
GLResetMaterialEmissionFront() | GLContext | [friend]
GLResetMaterialEmissionFrontAndBack() | GLContext | [friend]
GLResetMaterialShininessBack() | GLContext | [friend]
GLResetMaterialShininessFront() | GLContext | [friend]
GLResetMaterialShininessFrontAndBack() | GLContext | [friend]
GLResetMaterialSpecularBack() | GLContext | [friend]
GLResetMaterialSpecularFront() | GLContext | [friend]
GLResetMaterialSpecularFrontAndBack() | GLContext | [friend]
GLResetMinmax(GLenum target) | GLContext | [friend]
GLResetNormalize() | GLContext | [friend]
GLResetPointSize() | GLContext | [friend]
GLResetPointSmooth() | GLContext | [friend]
GLResetPolygonModeBack() | GLContext | [friend]
GLResetPolygonModeFront() | GLContext | [friend]
GLResetPolygonModeFrontAndBack() | GLContext | [friend]
GLResetPolygonOffset() | GLContext | [friend]
GLResetPolygonOffsetFill() | GLContext | [friend]
GLResetPolygonOffsetLine() | GLContext | [friend]
GLResetPolygonOffsetPoint() | GLContext | [friend]
GLResetPolygonSmooth() | GLContext | [friend]
GLResetPolygonStipple() | GLContext | [friend]
GLResetRescaleNormal() | GLContext | [friend]
GLResetScissor() | GLContext | [friend]
GLResetScissorTest() | GLContext | [friend]
GLResetShadeModel() | GLContext | [friend]
GLResetStencilFunc() | GLContext | [friend]
GLResetStencilMask() | GLContext | [friend]
GLResetStencilOp() | GLContext | [friend]
GLResetStencilTest() | GLContext | [friend]
GLResetTexture(GLenum target) | GLContext | [friend]
GLRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLSampleCoverage(GLclampf value, GLboolean invert) | GLContext | [friend]
GLSampleMaski(GLuint index, GLbitfield mask) | GLContext | [friend]
GLScaled(GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLScalef(GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLScissor(GLint x, GLint y, GLsizei width, GLsizei height) | GLContext | [friend]
GLSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) | GLContext | [friend]
GLSecondaryColor3bv(const GLbyte *v) | GLContext | [friend]
GLSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) | GLContext | [friend]
GLSecondaryColor3dv(const GLdouble *v) | GLContext | [friend]
GLSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) | GLContext | [friend]
GLSecondaryColor3fv(const GLfloat *v) | GLContext | [friend]
GLSecondaryColor3h(GLhalf red, GLhalf green, GLhalf blue) | GLContext | [friend]
GLSecondaryColor3hv(const GLhalf *v) | GLContext | [friend]
GLSecondaryColor3i(GLint red, GLint green, GLint blue) | GLContext | [friend]
GLSecondaryColor3iv(const GLint *v) | GLContext | [friend]
GLSecondaryColor3s(GLshort red, GLshort green, GLshort blue) | GLContext | [friend]
GLSecondaryColor3sv(const GLshort *v) | GLContext | [friend]
GLSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) | GLContext | [friend]
GLSecondaryColor3ubv(const GLubyte *v) | GLContext | [friend]
GLSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) | GLContext | [friend]
GLSecondaryColor3uiv(const GLuint *v) | GLContext | [friend]
GLSecondaryColor3us(GLushort red, GLushort green, GLushort blue) | GLContext | [friend]
GLSecondaryColor3usv(const GLushort *v) | GLContext | [friend]
GLSecondaryColorFormatNV (defined in GLContext) | GLContext | [friend]
GLSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLSelectBuffer(GLsizei size, GLuint *buffer) | GLContext | [friend]
GLSelectTexture(GLenum target) | GLContext | [friend]
GLSelectTextureCoordSet(GLenum target) | GLContext | [friend]
GLSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) | GLContext | [friend]
GLSetFence(GLuint fence, GLenum condition) | GLContext | [friend]
GLShadeModel(GLenum mode) | GLContext | [friend]
GLShaderSource(GLuint shader, GLsizei count, const GLcharARB **string, const GLint *length) | GLContext | [friend]
GLStencilClearTag(GLsizei tagBits, GLuint clearTag) | GLContext | [friend]
GLStencilFunc(GLenum func, GLint ref, GLuint mask) | GLContext | [friend]
GLStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) | GLContext | [friend]
GLStencilMask(GLuint mask) | GLContext | [friend]
GLStencilMaskSeparate(GLenum face, GLuint mask) | GLContext | [friend]
GLStencilOp(GLenum fail, GLenum zfail, GLenum zpass) | GLContext | [friend]
GLStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) | GLContext | [friend]
GLStringMarker(GLsizei len, const GLvoid *string) | GLContext | [friend]
GLTestFence(GLuint fence) | GLContext | [friend]
GLTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) | GLContext | [friend]
GLTexCoord1d(GLdouble s) | GLContext | [friend]
GLTexCoord1dv(const GLdouble *v) | GLContext | [friend]
GLTexCoord1f(GLfloat s) | GLContext | [friend]
GLTexCoord1fv(const GLfloat *v) | GLContext | [friend]
GLTexCoord1h(GLhalf s) | GLContext | [friend]
GLTexCoord1hv(const GLhalf *v) | GLContext | [friend]
GLTexCoord1i(GLint s) | GLContext | [friend]
GLTexCoord1iv(const GLint *v) | GLContext | [friend]
GLTexCoord1s(GLshort s) | GLContext | [friend]
GLTexCoord1sv(const GLshort *v) | GLContext | [friend]
GLTexCoord2d(GLdouble s, GLdouble t) | GLContext | [friend]
GLTexCoord2dv(const GLdouble *v) | GLContext | [friend]
GLTexCoord2f(GLfloat s, GLfloat t) | GLContext | [friend]
GLTexCoord2fv(const GLfloat *v) | GLContext | [friend]
GLTexCoord2h(GLhalf s, GLhalf t) | GLContext | [friend]
GLTexCoord2hv(const GLhalf *v) | GLContext | [friend]
GLTexCoord2i(GLint s, GLint t) | GLContext | [friend]
GLTexCoord2iv(const GLint *v) | GLContext | [friend]
GLTexCoord2s(GLshort s, GLshort t) | GLContext | [friend]
GLTexCoord2sv(const GLshort *v) | GLContext | [friend]
GLTexCoord3d(GLdouble s, GLdouble t, GLdouble r) | GLContext | [friend]
GLTexCoord3dv(const GLdouble *v) | GLContext | [friend]
GLTexCoord3f(GLfloat s, GLfloat t, GLfloat r) | GLContext | [friend]
GLTexCoord3fv(const GLfloat *v) | GLContext | [friend]
GLTexCoord3h(GLhalf s, GLhalf t, GLhalf r) | GLContext | [friend]
GLTexCoord3hv(const GLhalf *v) | GLContext | [friend]
GLTexCoord3i(GLint s, GLint t, GLint r) | GLContext | [friend]
GLTexCoord3iv(const GLint *v) | GLContext | [friend]
GLTexCoord3s(GLshort s, GLshort t, GLshort r) | GLContext | [friend]
GLTexCoord3sv(const GLshort *v) | GLContext | [friend]
GLTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) | GLContext | [friend]
GLTexCoord4dv(const GLdouble *v) | GLContext | [friend]
GLTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) | GLContext | [friend]
GLTexCoord4fv(const GLfloat *v) | GLContext | [friend]
GLTexCoord4h(GLhalf s, GLhalf t, GLhalf r, GLhalf q) | GLContext | [friend]
GLTexCoord4hv(const GLhalf *v) | GLContext | [friend]
GLTexCoord4i(GLint s, GLint t, GLint r, GLint q) | GLContext | [friend]
GLTexCoord4iv(const GLint *v) | GLContext | [friend]
GLTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) | GLContext | [friend]
GLTexCoord4sv(const GLshort *v) | GLContext | [friend]
GLTexCoordFormatNV (defined in GLContext) | GLContext | [friend]
GLTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLTexEnvf(GLenum target, GLenum pname, GLfloat param) | GLContext | [friend]
GLTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLTexEnvi(GLenum target, GLenum pname, GLint param) | GLContext | [friend]
GLTexEnviv(GLenum target, GLenum pname, const GLint *params) | GLContext | [friend]
GLTexGend(GLenum coord, GLenum pname, GLdouble param) | GLContext | [friend]
GLTexGenf(GLenum coord, GLenum pname, GLfloat param) | GLContext | [friend]
GLTexGenfv(GLenum coord, GLenum pname, const GLfloat *param) | GLContext | [friend]
GLTexGeni(GLenum coord, GLenum pname, GLint param) | GLContext | [friend]
GLTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) | GLContext | [friend]
GLTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) | GLContext | [friend]
GLTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) | GLContext | [friend]
GLTexImage3D(GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels) | GLContext | [friend]
GLTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) | GLContext | [friend]
GLTexParameterf(GLenum target, GLenum pname, GLfloat param) | GLContext | [friend]
GLTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) | GLContext | [friend]
GLTexParameteri(GLenum target, GLenum pname, GLint param) | GLContext | [friend]
GLTexParameterIiv(GLenum target, GLenum pname, const GLint *params) | GLContext | [friend]
GLTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) | GLContext | [friend]
GLTexParameteriv(GLenum target, GLenum pname, const GLint *params) | GLContext | [friend]
GLTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) | GLContext | [friend]
GLTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) | GLContext | [friend]
GLTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) | GLContext | [friend]
GLTextureBorderColor(GLenum target, const GLfloat *params) | GLContext | [friend]
GLTextureBufferEXT (defined in GLContext) | GLContext | [friend]
GLTextureEnvColor(const GLfloat *params) | GLContext | [friend]
GLTextureEnvMode(GLint param) | GLContext | [friend]
GLTextureImage1DEXT (defined in GLContext) | GLContext | [friend]
GLTextureImage2DEXT (defined in GLContext) | GLContext | [friend]
GLTextureImage3DEXT (defined in GLContext) | GLContext | [friend]
GLTextureMagFilter(GLenum target, GLint param) | GLContext | [friend]
GLTextureMinFilter(GLenum target, GLint param) | GLContext | [friend]
GLTextureParameterfEXT (defined in GLContext) | GLContext | [friend]
GLTextureParameterfvEXT (defined in GLContext) | GLContext | [friend]
GLTextureParameteriEXT (defined in GLContext) | GLContext | [friend]
GLTextureParameterIivEXT (defined in GLContext) | GLContext | [friend]
GLTextureParameterIuivEXT (defined in GLContext) | GLContext | [friend]
GLTextureParameterivEXT (defined in GLContext) | GLContext | [friend]
GLTextureRenderbufferEXT (defined in GLContext) | GLContext | [friend]
GLTextureSubImage1DEXT (defined in GLContext) | GLContext | [friend]
GLTextureSubImage2DEXT (defined in GLContext) | GLContext | [friend]
GLTextureSubImage3DEXT (defined in GLContext) | GLContext | [friend]
GLTextureWrapR(GLenum target, GLint param) | GLContext | [friend]
GLTextureWrapS(GLenum target, GLint param) | GLContext | [friend]
GLTextureWrapT(GLenum target, GLint param) | GLContext | [friend]
GLTrackMatrix(GLenum target, GLuint address, GLenum matrix, GLenum transform) | GLContext | [friend]
GLTransformFeedbackAttribsNV(GLuint count, const GLint *attribs, GLenum bufferMode) | GLContext | [friend]
GLTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode) | GLContext | [friend]
GLTransformFeedbackVaryingsNV(GLuint program, GLsizei count, const GLint *varyings, GLenum bufferMode) | GLContext | [friend]
GLTranslated(GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLTranslatef(GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLUniform1f(GLint location, GLfloat v0) | GLContext | [friend]
GLUniform1fv(GLint location, GLsizei count, const GLfloat *value) | GLContext | [friend]
GLUniform1i(GLint location, GLint v0) | GLContext | [friend]
GLUniform1iv(GLint location, GLsizei count, const GLint *value) | GLContext | [friend]
GLUniform1ui(GLint location, GLuint v0) | GLContext | [friend]
GLUniform1uiv(GLint location, GLsizei count, const GLuint *value) | GLContext | [friend]
GLUniform2f(GLint location, GLfloat v0, GLfloat v1) | GLContext | [friend]
GLUniform2fv(GLint location, GLsizei count, const GLfloat *value) | GLContext | [friend]
GLUniform2i(GLint location, GLint v0, GLint v1) | GLContext | [friend]
GLUniform2iv(GLint location, GLsizei count, const GLint *value) | GLContext | [friend]
GLUniform2ui(GLint location, GLuint v0, GLuint v1) | GLContext | [friend]
GLUniform2uiv(GLint location, GLsizei count, const GLuint *value) | GLContext | [friend]
GLUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) | GLContext | [friend]
GLUniform3fv(GLint location, GLsizei count, const GLfloat *value) | GLContext | [friend]
GLUniform3i(GLint location, GLint v0, GLint v1, GLint v2) | GLContext | [friend]
GLUniform3iv(GLint location, GLsizei count, const GLint *value) | GLContext | [friend]
GLUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) | GLContext | [friend]
GLUniform3uiv(GLint location, GLsizei count, const GLuint *value) | GLContext | [friend]
GLUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) | GLContext | [friend]
GLUniform4fv(GLint location, GLsizei count, const GLfloat *value) | GLContext | [friend]
GLUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) | GLContext | [friend]
GLUniform4iv(GLint location, GLsizei count, const GLint *value) | GLContext | [friend]
GLUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) | GLContext | [friend]
GLUniform4uiv(GLint location, GLsizei count, const GLuint *value) | GLContext | [friend]
GLUniformBuffer(GLuint program, GLint location, GLuint buffer) | GLContext | [friend]
GLUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) | GLContext | [friend]
GLUniformui64NV (defined in GLContext) | GLContext | [friend]
GLUniformui64vNV (defined in GLContext) | GLContext | [friend]
GLUnlockArrays() | GLContext | [friend]
GLUnmapBuffer(GLenum target) | GLContext | [friend]
GLUnmapNamedBufferEXT (defined in GLContext) | GLContext | [friend]
GLUploadBuffers() | GLContext | [friend]
GLUploadTexImage1D (defined in GLContext) | GLContext | [friend]
GLUploadTexImage1DArray (defined in GLContext) | GLContext | [friend]
GLUploadTexImage2D (defined in GLContext) | GLContext | [friend]
GLUploadTexImage2DArray (defined in GLContext) | GLContext | [friend]
GLUploadTexImage3D (defined in GLContext) | GLContext | [friend]
GLUploadTexImageCube (defined in GLContext) | GLContext | [friend]
GLUploadTexImageRectangle (defined in GLContext) | GLContext | [friend]
GLUseProgram(GLuint program) | GLContext | [friend]
GLUseProgramObject(GLhandleARB programObj) | GLContext | [friend]
GLValidateProgram(GLuint program) | GLContext | [friend]
GLVertex2d(GLdouble x, GLdouble y) | GLContext | [friend]
GLVertex2dv(const GLdouble *v) | GLContext | [friend]
GLVertex2f(GLfloat x, GLfloat y) | GLContext | [friend]
GLVertex2fv(const GLfloat *v) | GLContext | [friend]
GLVertex2h(GLhalf x, GLhalf y) | GLContext | [friend]
GLVertex2hv(const GLhalf *v) | GLContext | [friend]
GLVertex2i(GLint x, GLint y) | GLContext | [friend]
GLVertex2iv(const GLint *v) | GLContext | [friend]
GLVertex2s(GLshort x, GLshort y) | GLContext | [friend]
GLVertex2sv(const GLshort *v) | GLContext | [friend]
GLVertex3d(GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLVertex3dv(const GLdouble *v) | GLContext | [friend]
GLVertex3f(GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLVertex3fv(const GLfloat *v) | GLContext | [friend]
GLVertex3h(GLhalf x, GLhalf y, GLhalf z) | GLContext | [friend]
GLVertex3hv(const GLhalf *v) | GLContext | [friend]
GLVertex3i(GLint x, GLint y, GLint z) | GLContext | [friend]
GLVertex3iv(const GLint *v) | GLContext | [friend]
GLVertex3s(GLshort x, GLshort y, GLshort z) | GLContext | [friend]
GLVertex3sv(const GLshort *v) | GLContext | [friend]
GLVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLVertex4dv(const GLdouble *v) | GLContext | [friend]
GLVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLVertex4fv(const GLfloat *v) | GLContext | [friend]
GLVertex4h(GLhalf x, GLhalf y, GLhalf z, GLhalf w) | GLContext | [friend]
GLVertex4hv(const GLhalf *v) | GLContext | [friend]
GLVertex4i(GLint x, GLint y, GLint z, GLint w) | GLContext | [friend]
GLVertex4iv(const GLint *v) | GLContext | [friend]
GLVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) | GLContext | [friend]
GLVertex4sv(const GLshort *v) | GLContext | [friend]
GLVertexArrayRange(GLsizei size, const GLvoid *pointer) | GLContext | [friend]
GLVertexAttrib1d(GLuint index, GLdouble x) | GLContext | [friend]
GLVertexAttrib1dv(GLuint index, const GLdouble *v) | GLContext | [friend]
GLVertexAttrib1f(GLuint index, GLfloat x) | GLContext | [friend]
GLVertexAttrib1fv(GLuint index, const GLfloat *v) | GLContext | [friend]
GLVertexAttrib1h(GLuint index, GLhalf x) | GLContext | [friend]
GLVertexAttrib1hv(GLuint index, const GLhalf *v) | GLContext | [friend]
GLVertexAttrib1s(GLuint index, GLshort x) | GLContext | [friend]
GLVertexAttrib1sv(GLuint index, const GLshort *v) | GLContext | [friend]
GLVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) | GLContext | [friend]
GLVertexAttrib2dv(GLuint index, const GLdouble *v) | GLContext | [friend]
GLVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) | GLContext | [friend]
GLVertexAttrib2fv(GLuint index, const GLfloat *v) | GLContext | [friend]
GLVertexAttrib2h(GLuint index, GLhalf x, GLhalf y) | GLContext | [friend]
GLVertexAttrib2hv(GLuint index, const GLhalf *v) | GLContext | [friend]
GLVertexAttrib2s(GLuint index, GLshort x, GLshort y) | GLContext | [friend]
GLVertexAttrib2sv(GLuint index, const GLshort *v) | GLContext | [friend]
GLVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLVertexAttrib3dv(GLuint index, const GLdouble *v) | GLContext | [friend]
GLVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLVertexAttrib3fv(GLuint index, const GLfloat *v) | GLContext | [friend]
GLVertexAttrib3h(GLuint index, GLhalf x, GLhalf y, GLhalf z) | GLContext | [friend]
GLVertexAttrib3hv(GLuint index, const GLhalf *v) | GLContext | [friend]
GLVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) | GLContext | [friend]
GLVertexAttrib3sv(GLuint index, const GLshort *v) | GLContext | [friend]
GLVertexAttrib4bv(GLuint index, const GLbyte *v) | GLContext | [friend]
GLVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) | GLContext | [friend]
GLVertexAttrib4dv(GLuint index, const GLdouble *v) | GLContext | [friend]
GLVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) | GLContext | [friend]
GLVertexAttrib4fv(GLuint index, const GLfloat *v) | GLContext | [friend]
GLVertexAttrib4h(GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w) | GLContext | [friend]
GLVertexAttrib4hv(GLuint index, const GLhalf *v) | GLContext | [friend]
GLVertexAttrib4iv(GLuint index, const GLint *v) | GLContext | [friend]
GLVertexAttrib4Nbv(GLuint index, const GLbyte *v) | GLContext | [friend]
GLVertexAttrib4Niv(GLuint index, const GLint *v) | GLContext | [friend]
GLVertexAttrib4Nsv(GLuint index, const GLshort *v) | GLContext | [friend]
GLVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) | GLContext | [friend]
GLVertexAttrib4Nubv(GLuint index, const GLubyte *v) | GLContext | [friend]
GLVertexAttrib4Nuiv(GLuint index, const GLuint *v) | GLContext | [friend]
GLVertexAttrib4Nusv(GLuint index, const GLushort *v) | GLContext | [friend]
GLVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) | GLContext | [friend]
GLVertexAttrib4sv(GLuint index, const GLshort *v) | GLContext | [friend]
GLVertexAttrib4ub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) | GLContext | [friend]
GLVertexAttrib4ubv(GLuint index, const GLubyte *v) | GLContext | [friend]
GLVertexAttrib4uiv(GLuint index, const GLuint *v) | GLContext | [friend]
GLVertexAttrib4usv(GLuint index, const GLushort *v) | GLContext | [friend]
GLVertexAttribFormatNV (defined in GLContext) | GLContext | [friend]
GLVertexAttribI1i(GLuint index, GLint x) | GLContext | [friend]
GLVertexAttribI1iv(GLuint index, const GLint *v) | GLContext | [friend]
GLVertexAttribI1ui(GLuint index, GLuint x) | GLContext | [friend]
GLVertexAttribI1uiv(GLuint index, const GLuint *v) | GLContext | [friend]
GLVertexAttribI2i(GLuint index, GLint x, GLint y) | GLContext | [friend]
GLVertexAttribI2iv(GLuint index, const GLint *v) | GLContext | [friend]
GLVertexAttribI2ui(GLuint index, GLuint x, GLuint y) | GLContext | [friend]
GLVertexAttribI2uiv(GLuint index, const GLuint *v) | GLContext | [friend]
GLVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) | GLContext | [friend]
GLVertexAttribI3iv(GLuint index, const GLint *v) | GLContext | [friend]
GLVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) | GLContext | [friend]
GLVertexAttribI3uiv(GLuint index, const GLuint *v) | GLContext | [friend]
GLVertexAttribI4bv(GLuint index, const GLbyte *v) | GLContext | [friend]
GLVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) | GLContext | [friend]
GLVertexAttribI4iv(GLuint index, const GLint *v) | GLContext | [friend]
GLVertexAttribI4sv(GLuint index, const GLshort *v) | GLContext | [friend]
GLVertexAttribI4ubv(GLuint index, const GLubyte *v) | GLContext | [friend]
GLVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) | GLContext | [friend]
GLVertexAttribI4uiv(GLuint index, const GLuint *v) | GLContext | [friend]
GLVertexAttribI4usv(GLuint index, const GLushort *v) | GLContext | [friend]
GLVertexAttribIFormatNV (defined in GLContext) | GLContext | [friend]
GLVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLVertexAttribPointerNV(GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLVertexAttribs1dvNV(GLuint index, GLsizei count, const GLdouble *v) | GLContext | [friend]
GLVertexAttribs1fvNV(GLuint index, GLsizei count, const GLfloat *v) | GLContext | [friend]
GLVertexAttribs1hv(GLuint index, GLsizei count, const GLhalf *v) | GLContext | [friend]
GLVertexAttribs1svNV(GLuint index, GLsizei count, const GLshort *v) | GLContext | [friend]
GLVertexAttribs2dvNV(GLuint index, GLsizei count, const GLdouble *v) | GLContext | [friend]
GLVertexAttribs2fvNV(GLuint index, GLsizei count, const GLfloat *v) | GLContext | [friend]
GLVertexAttribs2hv(GLuint index, GLsizei count, const GLhalf *v) | GLContext | [friend]
GLVertexAttribs2svNV(GLuint index, GLsizei count, const GLshort *v) | GLContext | [friend]
GLVertexAttribs3dvNV(GLuint index, GLsizei count, const GLdouble *v) | GLContext | [friend]
GLVertexAttribs3fvNV(GLuint index, GLsizei count, const GLfloat *v) | GLContext | [friend]
GLVertexAttribs3hv(GLuint index, GLsizei count, const GLhalf *v) | GLContext | [friend]
GLVertexAttribs3svNV(GLuint index, GLsizei count, const GLshort *v) | GLContext | [friend]
GLVertexAttribs4dvNV(GLuint index, GLsizei count, const GLdouble *v) | GLContext | [friend]
GLVertexAttribs4fvNV(GLuint index, GLsizei count, const GLfloat *v) | GLContext | [friend]
GLVertexAttribs4hv(GLuint index, GLsizei count, const GLhalf *v) | GLContext | [friend]
GLVertexAttribs4svNV(GLuint index, GLsizei count, const GLshort *v) | GLContext | [friend]
GLVertexAttribs4ubvNV(GLuint index, GLsizei count, const GLubyte *v) | GLContext | [friend]
GLVertexFormatNV (defined in GLContext) | GLContext | [friend]
GLVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) | GLContext | [friend]
GLVideoCaptureNV (defined in GLContext) | GLContext | [friend]
GLVideoCaptureStreamParameterdvNV (defined in GLContext) | GLContext | [friend]
GLVideoCaptureStreamParameterfvNV (defined in GLContext) | GLContext | [friend]
GLVideoCaptureStreamParameterivNV (defined in GLContext) | GLContext | [friend]
GLViewport(GLint x, GLint y, GLsizei width, GLsizei height) | GLContext | [friend]
GLWindowPos2d(GLdouble x, GLdouble y) | GLContext | [friend]
GLWindowPos2dv(const GLdouble *p) | GLContext | [friend]
GLWindowPos2f(GLfloat x, GLfloat y) | GLContext | [friend]
GLWindowPos2fv(const GLfloat *p) | GLContext | [friend]
GLWindowPos2i(GLint x, GLint y) | GLContext | [friend]
GLWindowPos2iv(const GLint *p) | GLContext | [friend]
GLWindowPos2s(GLshort x, GLshort y) | GLContext | [friend]
GLWindowPos2sv(const GLshort *p) | GLContext | [friend]
GLWindowPos3d(GLdouble x, GLdouble y, GLdouble z) | GLContext | [friend]
GLWindowPos3dv(const GLdouble *p) | GLContext | [friend]
GLWindowPos3f(GLfloat x, GLfloat y, GLfloat z) | GLContext | [friend]
GLWindowPos3fv(const GLfloat *p) | GLContext | [friend]
GLWindowPos3i(GLint x, GLint y, GLint z) | GLContext | [friend]
GLWindowPos3iv(const GLint *p) | GLContext | [friend]
GLWindowPos3s(GLshort x, GLshort y, GLshort z) | GLContext | [friend]
GLWindowPos3sv(const GLshort *p) | GLContext | [friend]
GLXAttachContext (defined in GLContext) | GLContext | [friend]
GLXBindSwapBarrier (defined in GLContext) | GLContext | [friend]
GLXBindTexImage (defined in GLContext) | GLContext | [friend]
GLXBindVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
GLXBindVideoDeviceNV (defined in GLContext) | GLContext | [friend]
GLXBindVideoImage (defined in GLContext) | GLContext | [friend]
GLXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct) | GLContext | [friend]
GLXDestroyContext(Display *dpy, GLXContext ctx) | GLContext | [friend]
GLXDetachContext (defined in GLContext) | GLContext | [friend]
GLXEnumerateVideoCaptureDevicesNV (defined in GLContext) | GLContext | [friend]
GLXEnumerateVideoDevicesNV (defined in GLContext) | GLContext | [friend]
GLXGetCurrentContext() | GLContext | [friend]
GLXGetCurrentDrawable() | GLContext | [friend]
GLXGetVideoDevice (defined in GLContext) | GLContext | [friend]
GLXGetVideoInfo (defined in GLContext) | GLContext | [friend]
GLXGetVideoSync (defined in GLContext) | GLContext | [friend]
GLXIsAttached (defined in GLContext) | GLContext | [friend]
GLXJoinSwapGroup (defined in GLContext) | GLContext | [friend]
GLXLockVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
GLXMakeCurrent (defined in GLContext) | GLContext | [friend]
GLXNotifyShared (defined in GLContext) | GLContext | [friend]
GLXQueryFrameCount (defined in GLContext) | GLContext | [friend]
GLXQueryMaxSwapGroups (defined in GLContext) | GLContext | [friend]
GLXQuerySwapGroup (defined in GLContext) | GLContext | [friend]
GLXQueryVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
GLXReleaseTexImage (defined in GLContext) | GLContext | [friend]
GLXReleaseVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
GLXReleaseVideoDevice (defined in GLContext) | GLContext | [friend]
GLXReleaseVideoImage (defined in GLContext) | GLContext | [friend]
GLXResetFrameCount (defined in GLContext) | GLContext | [friend]
GLXSendPbufferToVideo (defined in GLContext) | GLContext | [friend]
GLXSwapInterval (defined in GLContext) | GLContext | [friend]
GLXWaitVideoSync (defined in GLContext) | GLContext | [friend]
WGLAttachContext (defined in GLContext) | GLContext | [friend]
WGLBindSwapBarrierNV(GLuint group, GLuint barrier) | GLContext | [friend]
WGLBindTexImage(HPBUFFERARB hPbuffer, int iBuffer) | GLContext | [friend]
WGLBindVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
WGLBindVideoDeviceNV(HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList) | GLContext | [friend]
WGLChoosePixelFormat(HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats) | GLContext | [friend]
WGLCreateAffinityDC(const HGPUNV *pGpuList) | GLContext | [friend]
WGLCreateContext(HDC hdc) | GLContext | [friend]
WGLCreatePbuffer(HDC hdc, int pixelFormat, int width, int height, const int *attribList) | GLContext | [friend]
WGLDeleteContext(HGLRC hglrc) | GLContext | [friend]
WGLDeleteDC(HDC hAffinityDC) | GLContext | [friend]
WGLDestroyPbuffer(HPBUFFERARB hPbuffer) | GLContext | [friend]
WGLDetachContext (defined in GLContext) | GLContext | [friend]
WGLEnumerateVideoCaptureDevicesNV (defined in GLContext) | GLContext | [friend]
WGLEnumerateVideoDevicesNV(HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList) | GLContext | [friend]
WGLEnumGpuDevices(HGPUNV hGpu, UINT iIndex, PGPU_DEVICE pGpuDevice) | GLContext | [friend]
WGLEnumGpus(UINT iIndex, HGPUNV *hGpu) | GLContext | [friend]
WGLEnumGpusFromAffinityDC(HDC hAffinityDC, UINT iIndex, HGPUNV *hGpu) | GLContext | [friend]
WGLGetCurrentContext(void) | GLContext | [friend]
WGLGetCurrentDC(void) | GLContext | [friend]
WGLGetPbufferDC(HPBUFFERARB hPbuffer) | GLContext | [friend]
WGLGetPixelFormatAttribfv(HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues) | GLContext | [friend]
WGLGetPixelFormatAttribiv (defined in GLContext) | GLContext | [friend]
WGLGetSwapInterval(void) | GLContext | [friend]
WGLIsAttached (defined in GLContext) | GLContext | [friend]
WGLJoinSwapGroupNV(HDC hDC, GLuint group) | GLContext | [friend]
WGLLockVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
WGLMakeCurrent (defined in GLContext) | GLContext | [friend]
WGLNotifyShareLists (defined in GLContext) | GLContext | [friend]
WGLQueryCurrentContextNV(int iAttribute, int *piValue) | GLContext | [friend]
WGLQueryFrameCountNV(HDC hDC, GLuint *count) | GLContext | [friend]
WGLQueryMaxSwapGroupsNV(HDC hDC, GLuint *maxGroups, GLuint *maxBarriers) | GLContext | [friend]
WGLQueryPbuffer(HPBUFFERARB hPbuffer, int attribute, int *value) | GLContext | [friend]
WGLQuerySwapGroupNV(HDC hDC, GLuint *group, GLuint *barrier) | GLContext | [friend]
WGLQueryVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
WGLReleasePbufferDC(HPBUFFERARB hPbuffer, HDC hdc) | GLContext | [friend]
WGLReleaseTexImage(HPBUFFERARB hPbuffer, int iBuffer) | GLContext | [friend]
WGLReleaseVideoCaptureDeviceNV (defined in GLContext) | GLContext | [friend]
WGLResetFrameCountNV(HDC hDC) | GLContext | [friend]
WGLShareLists (defined in GLContext) | GLContext | [friend]
WGLSwapInterval(int interval) | GLContext | [friend]

Generated on Fri Jul 13 13:29:36 2012 for SceniX


SceniX: GLFunctions Class Reference

nvgl::GLFunctions

GLFunctions Class Reference

The GLFunctions class holds the OpenGL extension function pointers. More...

#include <GLFunctions.h>

List of all members.

Public Member Functions

GLFunctions (void)
Constructor.
~GLFunctions (void)
Destructor.
bool | isAvailable (const std::string &extension) const
Test if a given extension is available on the current context.
bool | isExported (const std::string &extension) const
Test if a given extension is exported on the current context.
void | disableAvailability (const std::string &extension)
Allows manual setting of extension available state.
int | getVersion () const
Returns the version of the OpenGL available on the target system.

Detailed Description

The GLFunctions class holds the OpenGL extension function pointers.

Just like a GLContext, you will never have to use this class explicitly. A GLContext holds a GLFunctions member to hold the extension functions of that OpenGL context. For every OpenGL context there might exist a different set of extension functions. A GLFunctions holds all function pointers of one context. If you're using the uppercase WGL prefix-functions WGLCreateContext(), WGLMakeCurrent(), and WGLDeleteContext(), one GLFunctions object is maintained per OpenGL context and switched accordingly.

Constructor & Destructor Documentation

GLFunctions ( void )

Constructor.

~GLFunctions ( void )

Destructor.

Member Function Documentation

bool isAvailable ( const std::string & extension ) const [inline]

Test if a given extension is available on the current context.

An OpenGL extension is not only exported, but also available, if all the functions required for that extension are exported.

Note:
Not all exported extensions might be available.
Returns:
true, if the extension is available, otherwise false
Parameters:
extension extension to test

bool isExported ( const std::string & extension ) const [inline]

Test if a given extension is exported on the current context.

An OpenGL extension is exported, if it is part of the return value of glGetString(GL_EXTENSIONS).

Note:
Not all exported extensions might be available.
Returns:
true, if extension is exported, otherwise c\ false
Parameters:
extension extension to test

void disableAvailability ( const std::string & extension ) [inline]

Allows manual setting of extension available state.

This function is meant for debugging purposes and can have negative effects on stability

int getVersion ( ) const [inline]

Returns the version of the OpenGL available on the target system.

Returns:
The floating point version of the OpenGL with the representation major.minor is returned as an integer calculated as 10*major+minor.

The OpenGL version 1.4, for example, will be reported as 14.

The documentation for this class was generated from the following file:
  • GLFunctions.h
Generated on Fri Jul 13 13:29:36 2012 for SceniX


SceniX: Member List

GLFunctions Member List

This is the complete list of members for GLFunctions, including all inherited members.

disableAvailability(const std::string &extension) | GLFunctions | [inline]
getVersion() const | GLFunctions | [inline]
GLFunctions(void) | GLFunctions |
isAvailable(const std::string &extension) const | GLFunctions | [inline]
isExported(const std::string &extension) const | GLFunctions | [inline]
~GLFunctions(void) | GLFunctions |

Generated on Fri Jul 13 13:29:36 2012 for SceniX


SceniX: GLObjects Class Reference

nvgl::GLObjects

GLObjects Class Reference

The GLObjects class is a container of OpenGL objects. More...

#include <GLObjects.h>

Collaboration diagram for GLObjects:

[legend]
List of all members.

Public Member Functions

GLObjects ()
Constructor.
~GLObjects ()
Destructor.

Classes

struct GLShareables

Detailed Description

The GLObjects class is a container of OpenGL objects.

Just like a GLContext, you will never have to use this class explicitly. A GLContext holds a GLObjects member to cache information about OpenGL objects. OpenGL objects for example are display lists, texture objects, or vertex buffer objects.

Constructor & Destructor Documentation

GLObjects ( )

Constructor.

~GLObjects ( )

Destructor.

The documentation for this class was generated from the following file:
  • GLObjects.h
Generated on Fri Jul 13 13:29:36 2012 for SceniX


SceniX: Member List

GLObjects Member List

This is the complete list of members for GLObjects, including all inherited members.

GLObjects() | GLObjects
~GLObjects() | GLObjects

Generated on Fri Jul 13 13:29:36 2012 for SceniX


SceniX: GLTexImageFmt Struct Reference

nvgl::GLTexImageFmt

GLTexImageFmt Struct Reference

GLTexImageFmt specifies the format and data type of a texture image. More...

#include <GLContext.h>

List of all members.

Public Attributes

GLint | intFmt
The OpenGL internal format of a texture.
GLint | usrFmt
The OpenGL user format of a texture.
GLint | type
The OpenGL type of a texture.
GLint | uploadHint
An upload hint for the texture: 0=glTexImage, 1=PBO.

Detailed Description

GLTexImageFmt specifies the format and data type of a texture image.

Member Data Documentation

GLint intFmt

The OpenGL internal format of a texture.

GLint usrFmt

The OpenGL user format of a texture.

GLint type

The OpenGL type of a texture.

GLint uploadHint

An upload hint for the texture: 0=glTexImage, 1=PBO.

The documentation for this struct was generated from the following file:
  • GLContext.h
Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: Member List

GLTexImageFmt Member List

This is the complete list of members for GLTexImageFmt, including all inherited members.

intFmt | GLTexImageFmt
type | GLTexImageFmt
uploadHint | GLTexImageFmt
usrFmt | GLTexImageFmt

Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: GLUploadTraverser Class Reference

nvtraverser::GLUploadTraverser

GLUploadTraverser Class Reference

UploadTraverser using OpenGL. More...

#include <GLUploadTraverser.h>

List of all members.

Public Member Functions

NVSG_API | GLUploadTraverser (bool display)
Default constructor.

Protected Member Functions

virtual NVSG_API | ~GLUploadTraverser (void)
Destructor.
virtual NVSG_API void | handleLOD (const nvsg::LOD *lod)
virtual NVSG_API void | handleSwitch (const nvsg::Switch *swtch)
virtual NVSG_API void | doRender (const nvsg::NodeSharedPtr &root)
doRender override to perform GL-rendering

Detailed Description

UploadTraverser using OpenGL.

Remarks:
This traverser will upload (and optionally display) data (such as texture maps) so that they do not have to be uploaded at runtime.
Note:
This traverser requires a valid OpenGL context to be current when constructing the object. Behavior is undefined if there is no current context.

Constructor & Destructor Documentation

NVSG_API GLUploadTraverser ( bool display )

Default constructor.

Parameters:
display Displays the textures/geometry as it is loaded.
Remarks:
There must be a current OpenGL context available during construction.

virtual NVSG_API ~GLUploadTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

virtual NVSG_API void doRender ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

doRender override to perform GL-rendering

The documentation for this class was generated from the following file:
  • GLUploadTraverser.h
Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: Member List

GLUploadTraverser Member List

This is the complete list of members for GLUploadTraverser, including all inherited members.

doRender(const nvsg::NodeSharedPtr &root) | GLUploadTraverser | [protected, virtual]
GLUploadTraverser(bool display) | GLUploadTraverser |
handleLOD(const nvsg::LOD *lod) (defined in GLUploadTraverser) | GLUploadTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *swtch) (defined in GLUploadTraverser) | GLUploadTraverser | [protected, virtual]
~GLUploadTraverser(void) | GLUploadTraverser | [protected, virtual]

Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: GPUSkinningProcessor Class Reference

nvtraverser::GPUSkinningProcessor

GPUSkinningProcessor Class Reference

GPUSkinningProcessor Class. More...

#include <GPUSkinningProcessor.h>

List of all members.

Public Member Functions

NVSG_API | GPUSkinningProcessor ()
Default constructor.
virtual NVSG_API void | process (bool process)
apply to scene
virtual NVSG_API AppTraverser::SkinningProcessorType | getType ()

Static Public Member Functions

static NVSG_API bool | isSupported (void)
is this processor supported on the current architecture?

Protected Member Functions

virtual NVSG_API | ~GPUSkinningProcessor ()
Default destructor.

Classes

struct | GPUInfo

Detailed Description

GPUSkinningProcessor Class.

A processor that performs skinning on the CPU.

Note:
Needs a valid ViewState. Call setViewState prior to apply().

Constructor & Destructor Documentation

NVSG_API GPUSkinningProcessor ( )

Default constructor.

virtual NVSG_API ~GPUSkinningProcessor ( ) [protected, virtual]

Default destructor.

Member Function Documentation

virtual NVSG_API void process ( bool process ) [virtual]

apply to scene

static NVSG_API bool isSupported ( void ) [static]

is this processor supported on the current architecture?

The documentation for this class was generated from the following file:
  • GPUSkinningProcessor.h
Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: Member List

GPUSkinningProcessor Member List

This is the complete list of members for GPUSkinningProcessor, including all inherited members.

getType() (defined in GPUSkinningProcessor) | GPUSkinningProcessor | [virtual]
GPUSkinningProcessor() | GPUSkinningProcessor |
isSupported(void) | GPUSkinningProcessor | [static]
process(bool process) | GPUSkinningProcessor | [virtual]
~GPUSkinningProcessor() | GPUSkinningProcessor | [protected, virtual]

Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: Group Class Reference

nvsg::Group

Group Class Reference

Provides grouping of Node objects. More...

#include <Group.h>

Inheritance diagram for Group:

[legend]
Collaboration diagram for Group:

[legend]
List of all members.

Public Types

typedef nvutil::STLVector<
NodeSharedPtr > 		ChildrenContainer
The container type of the Groups children.
typedef nvutil::SceniXIterator<
Group, ChildrenContainer::iterator > 		ChildrenIterator
The iterator over the ChildrenContainer.
typedef nvutil::SceniXIterator<
Group, ChildrenContainer::const_iterator > 		ChildrenConstIterator
The const iterator over the ChildrenContainer.
typedef nvutil::STLVector<
ClipPlaneSharedPtr > 		ClipPlaneContainer
The container type of the Groups clip planes.
typedef nvutil::SceniXIterator<
Group, ClipPlaneContainer::iterator > 		ClipPlaneIterator
The iterator over the ClipPlaneContainer.
typedef nvutil::SceniXIterator<
Group, ClipPlaneContainer::const_iterator > 		ClipPlaneConstIterator
The const iterator over the ClipPlaneContainer.
typedef nvutil::STLVector<
LightSourceSharedPtr > 		LightSourceContainer
The type of the container to hold the Group’s light sources.
typedef nvutil::SceniXIterator<
Group, LightSourceContainer::iterator > 		LightSourceIterator
Iterator type to be used with light source iteration.
typedef nvutil::SceniXIterator<
Group, LightSourceContainer::const_iterator > 		LightSourceConstIterator
Iterator type to be used to iterate over light sources of a const Group.

Public Member Functions

NVSG_API unsigned int | getNumberOfChildren () const
Get the number of children nodes in this Group.
NVSG_API ChildrenConstIterator | beginChildren () const
Get a const iterator to the first child in this Group.
NVSG_API ChildrenIterator | beginChildren ()
Get an iterator to the first child in this Group.
NVSG_API ChildrenConstIterator | endChildren () const
Get a const iterator that points just beyond the end of the children in this Group.
NVSG_API ChildrenIterator | endChildren ()
Get an iterator that points just beyond the end of the children in this Group.
NVSG_API ChildrenIterator | addChild (const NodeSharedPtr &child)
Add a child node at the end of the children in this Group.
NVSG_API ChildrenIterator | insertChild (const ChildrenIterator &gci, const NodeSharedPtr &child)
Insert a child node at a specified position in this Group.
NVSG_API bool | removeChild (const NodeSharedPtr &child)
Remove all occurances of a specified Node from this Group.
NVSG_API ChildrenIterator | removeChild (const ChildrenIterator &childIterator)
Remove a specified Node from this Group.
NVSG_API bool | replaceChild (const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild)
Replace all occurances of a specified Node in this Group by an other.
NVSG_API bool | replaceChild (const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator)
Replace a specified Node in this Group by an other.
NVSG_API void | clearChildren ()
Remove all the children from this Group.
NVSG_API ChildrenConstIterator | findChild (const ChildrenConstIterator &start, const NodeSharedPtr &node) const
Find the first occurance of a specified Node in this Group.
NVSG_API ChildrenIterator | findChild (const ChildrenIterator &start, const NodeSharedPtr &node)
Find the first occurance of a specified Node in this Group.
NVSG_API unsigned int | getNumberOfClipPlanes () const
Get the number of clip planes in this Group.
NVSG_API unsigned int | getNumberOfActiveClipPlanes () const
Get the number of active clip planes in this Group.
NVSG_API ClipPlaneConstIterator | beginClipPlanes () const
Get a const iterator to the first clip plane in this Group.
NVSG_API ClipPlaneIterator | beginClipPlanes ()
Get an iterator to the first clip plane in this Group.
NVSG_API ClipPlaneConstIterator | endClipPlanes () const
Get a const iterator that points just beyond the end of the clip planes in this Group.
NVSG_API ClipPlaneIterator | endClipPlanes ()
Get an iterator that points just beyond the end of the clip planes in this Group.
NVSG_API ClipPlaneIterator | addClipPlane (const ClipPlaneSharedPtr &plane)
Adds a user clipping plane to this Group.
NVSG_API bool | removeClipPlane (const ClipPlaneSharedPtr &plane)
Remove a clip plane from this Group.
NVSG_API ClipPlaneIterator | removeClipPlane (const ClipPlaneIterator &cpi)
Remove a clip plane from this Group.
NVSG_API void | clearClipPlanes ()
Remove all clip planes from this Group.
NVSG_API ClipPlaneConstIterator | findClipPlane (const ClipPlaneSharedPtr &plane) const
NVSG_API ClipPlaneIterator | findClipPlane (const ClipPlaneSharedPtr &plane)
NVSG_API unsigned int | getNumberOfLightSources () const
Get the number of light sources in this Group.
NVSG_API LightSourceConstIterator | beginLightSources () const
Get a const iterator to the first light source in this Group.
NVSG_API LightSourceIterator | beginLightSources ()
Get an iterator to the first light source in this Group.
NVSG_API LightSourceConstIterator | endLightSources () const
Get a const iterator that points just beyond the end of the light source in this Group.
NVSG_API LightSourceIterator | endLightSources ()
Get an iterator that points just beyond the end of the light source in this Group.
NVSG_API LightSourceIterator | addLightSource (const LightSourceSharedPtr &lightSource)
Adds a light source to this Group.
NVSG_API bool | removeLightSource (const LightSourceSharedPtr &lightSource)
Remove a light source from this Group.
NVSG_API LightSourceIterator | removeLightSource (const LightSourceIterator &lsi)
Remove a light source from this Group.
NVSG_API void | clearLightSources ()
Remove all light sources from this Group.
NVSG_API LightSourceConstIterator | findLightSource (const LightSourceSharedPtr &lightSource) const
NVSG_API LightSourceIterator | findLightSource (const LightSourceSharedPtr &lightSource)
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Overrides Object::isEquivalent.
NVSG_API Group & | operator= (const Group &rhs)
Assigns new content from another Group object.
REFLECTION_INFO_API (NVSG_API, Group)

Static Public Member Functions

static NVSG_API GroupSharedPtr | create ()

Protected Member Functions

NVSG_API | Group ()
Default-constructs a Group object.
NVSG_API | Group (const Group &rhs)
Constructs a Group as a copy of another Group.
virtual NVSG_API | ~Group ()
Destructs a Group object.
virtual NVSG_API void | preRemoveChild (unsigned int position)
Called from the framework immediately before a child will be removed from the Group.
virtual NVSG_API void | postRemoveChild (unsigned int position)
Called from the framework immediately after a child has been removed from the Group.
virtual NVSG_API void | preAddChild (unsigned int position)
Called from the framework immediately before a child will be added to the Group.
virtual NVSG_API void | postAddChild (unsigned int position)
Called from the framework immediately after a child was added to the Group.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Called from the framework if re-calculation of the Group's bounding box is required.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Called from the framework if re-calculation of the Group's bounding sphere is required.
virtual NVSG_API unsigned int | determineHintsContainment (unsigned int hints) const
Determines Object hints contained in the hierarchy.
virtual NVSG_API bool | determineTransparencyContainment () const
virtual NVSG_API bool | determineShaderContainment () const
virtual NVSG_API bool | determineLightContainment () const
virtual NVSG_API bool | determineLODContainment () const
virtual NVSG_API bool | determineAnimationContainment () const
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.
virtual NVSG_API void | incrementSwitchIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | querySwitchIncarnation () const

Detailed Description

Provides grouping of Node objects.

Namespace: nvsg
Remarks:
A Group is a special Node that provides grouping of all kinds of Node-derived objects. Nodes that are grouped underneath a Group are referred to as children of the Group.

Member Typedef Documentation

typedef nvutil::STLVector<NodeSharedPtr> ChildrenContainer

The container type of the Groups children.

typedef nvutil::SceniXIterator<Group,ChildrenContainer::iterator> ChildrenIterator

The iterator over the ChildrenContainer.

typedef nvutil::SceniXIterator<Group,ChildrenContainer::const_iterator> ChildrenConstIterator

The const iterator over the ChildrenContainer.

typedef nvutil::STLVector<ClipPlaneSharedPtr> ClipPlaneContainer

The container type of the Groups clip planes.

typedef nvutil::SceniXIterator<Group,ClipPlaneContainer::iterator> ClipPlaneIterator

The iterator over the ClipPlaneContainer.

typedef nvutil::SceniXIterator<Group,ClipPlaneContainer::const_iterator> ClipPlaneConstIterator

The const iterator over the ClipPlaneContainer.

typedef nvutil::STLVector<LightSourceSharedPtr> LightSourceContainer

The type of the container to hold the Group’s light sources.

typedef nvutil::SceniXIterator<Group,LightSourceContainer::iterator> LightSourceIterator

Iterator type to be used with light source iteration.

typedef nvutil::SceniXIterator<Group,LightSourceContainer::const_iterator> LightSourceConstIterator

Iterator type to be used to iterate over light sources of a const Group.

Constructor & Destructor Documentation

NVSG_API Group ( ) [protected]

Default-constructs a Group object.

NVSG_API Group ( const Group & rhs ) [protected]

Constructs a Group as a copy of another Group.

Parameters:
rhs Group to serve as source for the newly constructed Group.

virtual NVSG_API ~Group ( ) [protected, virtual]

Destructs a Group object.

Member Function Documentation

unsigned int getNumberOfChildren ( ) const [inline]

Get the number of children nodes in this Group.

Returns:
The number of children nodes in this Group.
See also:
beginChildren, endChildren, addChild, insertChild, removeChild, replaceChild, clearChildren, findChild

Group::ChildrenConstIterator beginChildren ( ) const [inline]

Get a const iterator to the first child in this Group.

Returns:
A const iterator to the first child in this Group.
See also:
getNumberOfChildren, endChildren, addChild, insertChild, removeChild, replaceChild, clearChildren, findChild

Group::ChildrenIterator beginChildren ( ) [inline]

Get an iterator to the first child in this Group.

Returns:
An iterator to the first child in this Group.
See also:
getNumberOfChildren, endChildren, addChild, insertChild, removeChild, replaceChild, clearChildren, findChild

Group::ChildrenConstIterator endChildren ( ) const [inline]

Get a const iterator that points just beyond the end of the children in this Group.

Returns:
A const iterator that points just beyond the end of the children in this Group.
See also:
getNumberOfChildren, beginChildren, addChild, insertChild, removeChild, replaceChild, clearChildren, findChild

Group::ChildrenIterator endChildren ( ) [inline]

Get an iterator that points just beyond the end of the children in this Group.

Returns:
An iterator that points just beyond the end of the children in this Group.
See also:
getNumberOfChildren, beginChildren, addChild, insertChild, removeChild, replaceChild, clearChildren, findChild

Group::ChildrenIterator addChild ( const NodeSharedPtr & child ) [inline]

Add a child node at the end of the children in this Group.

Parameters:
child The child node to add.
Returns:
An iterator that points to the position where child was added to the children.
See also:
getNumberOfChildren, beginChildren, endChildren, insertChild, removeChild, replaceChild, clearChildren, findChild

NVSG_API ChildrenIterator insertChild | ( | const ChildrenIterator & | gci,
 |  | const NodeSharedPtr & | child
 | ) |

Insert a child node at a specified position in this Group.

Parameters:
gci | An iterator that points to the position where child is inserted.
child | The child node to add.
Returns:
An iterator that points to the position where child was inserted.
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, removeChild, replaceChild, clearChildren, findChild

NVSG_API bool removeChild ( const NodeSharedPtr & child )

Remove all occurances of a specified Node from this Group.

Parameters:
child The node to remove from this Group.
Returns:
true, if at least one Node has been removed from this Group, otherwise false.
Note:
A Group might hold the same Node multiple times. This function removes all of them.
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, replaceChild, clearChildren, findChild

NVSG_API ChildrenIterator removeChild ( const ChildrenIterator & childIterator )

Remove a specified Node from this Group.

Parameters:
childIterator An iterator that points to the child to be removed.
Returns:
An iterator pointing to the new location of the child that followed the Node removed by this function call, which is endChildren() if the operation removed the last child.
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, replaceChild, clearChildren, findChild

NVSG_API bool replaceChild | ( | const NodeSharedPtr & | newChild,
 |  | const NodeSharedPtr & | oldChild
 | ) |

Replace all occurances of a specified Node in this Group by an other.

Parameters:
newChild | The new Node that replaces the old ones.
oldChild | The old Node to be replaced by the new one.
Returns:
true, if at least one Node has been replaced, otherwise false.
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, removeChild, clearChildren, findChild

NVSG_API bool replaceChild | ( | const NodeSharedPtr & | newChild,
 |  | ChildrenIterator & | oldChildIterator
 | ) |

Replace a specified Node in this Group by an other.

Parameters:
newChild | The new Node that replaces the old one.
oldChildIterator | An iterator pointing to the Node to be replaced.
Returns:
true if the specified Node has been replaced, otherwise false.
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, removeChild, clearChildren, findChild

NVSG_API void clearChildren ( )

Remove all the children from this Group.

See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, removeChild, replaceChild, findChild

Group::ChildrenConstIterator findChild | ( | const ChildrenConstIterator & | start,
 |  | const NodeSharedPtr & | node
 | ) | const [inline]

Find the first occurance of a specified Node in this Group.

Parameters:
start | A const iterator into the children in this Group, where the search is to start.
node | The Node to be found in this Group.
Returns:
A const iterator pointing to the first occurance of the specified node in this Group.
Note:
To cound the multiplicity of a child in a Group, one could do something like that:
  unsigned int count = 0;
  for ( Group::ChildrenConstIterator gcci = group->findChild( group->beginChildren(), child )
      ; gcci != group->endChildren()
      ; gcci = group->findChild( ++gcci, child ) )
  {
    count++;
  }
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, removeChild, replaceChild, clearChildren

Group::ChildrenIterator findChild | ( | const ChildrenIterator & | start,
 |  | const NodeSharedPtr & | node
 | ) | [inline]

Find the first occurance of a specified Node in this Group.

Parameters:
start | An iterator into the children in this Group, where the search is to start.
node | The Node to be found in this Group.
Returns:
An iterator pointing to the first occurance of the specified node in this Group.
Note:
To cound the multiplicity of a child in a Group, one could do something like that:
  unsigned int count = 0;
  for ( Group::ChildrenIterator gci = group->findChild( group->beginChildren(), child )
      ; gci != group->endChildren()
      ; gci = group->findChild( ++gci, child ) )
  {
    count++;
  }
See also:
getNumberOfChildren, beginChildren, endChildren, addChild, insertChild, removeChild, replaceChild, clearChildren

unsigned int getNumberOfClipPlanes ( ) const [inline]

Get the number of clip planes in this Group.

Returns:
The number of clip planes on this Group.
See also:
getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes, findClipPlane

NVSG_API unsigned int getNumberOfActiveClipPlanes ( ) const

Get the number of active clip planes in this Group.

Returns:
The number of active clip planes in this Group.
See also:
getNumberOfClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes, findClipPlane

Group::ClipPlaneConstIterator beginClipPlanes ( ) const [inline]

Get a const iterator to the first clip plane in this Group.

Returns:
A const iterator to the first clip plane in this Group.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes, findClipPlane

Group::ClipPlaneIterator beginClipPlanes ( ) [inline]

Get an iterator to the first clip plane in this Group.

Returns:
An iterator to the first clip plane in this Group.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes, findClipPlane

Group::ClipPlaneConstIterator endClipPlanes ( ) const [inline]

Get a const iterator that points just beyond the end of the clip planes in this Group.

Returns:
A const iterator that points just beyond the end of the clip planes in this Group.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes, findClipPlane

Group::ClipPlaneIterator endClipPlanes ( ) [inline]

Get an iterator that points just beyond the end of the clip planes in this Group.

Returns:
An iterator that points just beyond the end of the clip planes in this Group.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, addClipPlane, removeClipPlane, clearClipPlanes, findClipPlane

NVSG_API ClipPlaneIterator addClipPlane ( const ClipPlaneSharedPtr & plane )

Adds a user clipping plane to this Group.

Parameters:
plane Specifies the ClipPlane to add
Returns:
An iterator that points to the position where plane was added.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, removeClipPlane, clearClipPlanes, findClipPlane

NVSG_API bool removeClipPlane ( const ClipPlaneSharedPtr & plane )

Remove a clip plane from this Group.

Parameters:
plane The clip plane to remove from this Group.
Returns:
true, if the clip plane has been removed from this Group, otherwise false.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, clearClipPlanes, findClipPlane

NVSG_API ClipPlaneIterator removeClipPlane ( const ClipPlaneIterator & cpi )

Remove a clip plane from this Group.

Parameters:
cpi An iterator to the clip plane to remove from this Group.
Returns:
An iterator pointing to the new location of the clip plane that followed the one removed by this function call, which is endClipPlanes() if the operation removed the last clip plane.
See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, clearClipPlanes, findClipPlane

NVSG_API void clearClipPlanes ( )

Remove all clip planes from this Group.

See also:
getNumberOfClipPlanes, getNumberOfActiveClipPlanes, beginClipPlanes, endClipPlanes, addClipPlane, removeClipPlane, findClipPlane

unsigned int getNumberOfLightSources ( ) const [inline]

Get the number of light sources in this Group.

Returns:
The number of light sources in this Group.
See also:
beginLightSources, endLightSources, addLightSource, removeLightSource, clearLightSources, findLightSource

Group::LightSourceConstIterator beginLightSources ( ) const [inline]

Get a const iterator to the first light source in this Group.

Returns:
A const iterator to the first light source in this Group.
See also:
getNumberOfLightSources, endLightSources, addLightSource, removeLightSource, clearLightSources, findLightSource

Group::LightSourceIterator beginLightSources ( ) [inline]

Get an iterator to the first light source in this Group.

Returns:
An iterator to the first light source in this Group.
See also:
getNumberOfLightSources, endLightSources, addLightSource, removeLightSource, clearLightSources, findLightSource

Group::LightSourceConstIterator endLightSources ( ) const [inline]

Get a const iterator that points just beyond the end of the light source in this Group.

Returns:
A const iterator that points just beyond the end of the light source in this Group.
See also:
getNumberOfLightSources, beginLightSources, addLightSource, removeLightSource, clearLightSources, findLightSource

Group::LightSourceIterator endLightSources ( ) [inline]

Get an iterator that points just beyond the end of the light source in this Group.

Returns:
An iterator that points just beyond the end of the light source in this Group.
See also:
getNumberOfLightSources, beginLightSources, addLightSource, removeLightSource, clearLightSources, findLightSource

NVSG_API LightSourceIterator addLightSource ( const LightSourceSharedPtr & lightSource )

Adds a light source to this Group.

Parameters:
lightSource Specifies the light source to add
Returns:
An iterator that points to the position where lightSource was added.
See also:
getNumberOfLightSources, beginLightSources, endLightSources, removeLightSource, clearLightSources, findLightSource

NVSG_API bool removeLightSource ( const LightSourceSharedPtr & lightSource )

Remove a light source from this Group.

Parameters:
lightSource The light source to remove from this Group.
Returns:
true, if the light source has been removed from this Group, otherwise false.
See also:
getNumberOfLightSources, beginLightSources, endLightSources, addLightSource, clearLightSources, findLightSource

NVSG_API LightSourceIterator removeLightSource ( const LightSourceIterator & lsi )

Remove a light source from this Group.

Parameters:
lsi An iterator to the light source to remove from this Group.
Returns:
An iterator pointing to the new location of the light source that followed the one removed by this function call, which is endLightSources() if the operation removed the last light source.
See also:
getNumberOfLightSources, beginLightSources, endLightSources, addLightSource, clearLightSources, findLightSource

NVSG_API void clearLightSources ( )

Remove all light sources from this Group.

See also:
getNumberOfLightSources, beginLightSources, endLightSources, addLightSource, removeLightSource, findLightSource

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Overrides Object::isEquivalent.

Parameters:
p | Pointer to the Object to test for equivalence with this Group object.
ignoreNames | Object names will be ignored while testing if this is true.
deepCompare | The function performs a deep-compare instead of a shallow compare if this is true.
Returns:
The function returns true if the Object pointed to by object is detected to be equivalent to this Group object.
Remarks:
The test will be performed considering the optional control parameters ignoreNames and deepCompare. If you omit these two, the function ignores the object names and performs a shallow compare only.
See also:
Object::isEquivalent

Reimplemented from Object.

Reimplemented in AnimatedTransform, Billboard, FlipbookAnimation, LOD, Switch, and Transform.

NVSG_API Group& operator= ( const Group & rhs )

Assigns new content from another Group object.

Parameters:
rhs Group object from which to assign the new content.
Returns:
A reference to this Group object.
Remarks:
The assignment operator unreferences the old content before assigning the new content. The new content will be a deep-copy of the right-hand-sided object's content.
See also:
Group::clone

virtual NVSG_API void preRemoveChild ( unsigned int position ) [protected, virtual]

Called from the framework immediately before a child will be removed from the Group.

Parameters:
position Zero-based position of the child that immediately will be removed from the Group.
Remarks:
It is recommended, for Group-derived classes that need to keep track of child nodes removal, to override this function to perform necessary tasks immediately before a child node will be removed from the Group.

The function will be called with the zero-based index that references the child that will be removed immediately after this call.
See also:
Group::postRemoveChild

virtual NVSG_API void postRemoveChild ( unsigned int position ) [protected, virtual]

Called from the framework immediately after a child has been removed from the Group.

Parameters:
position Zero-based position that previously referenced the removed child node.
Remarks:
It is recommended, for Group-derived classes that need to keep track of child nodes removal, to override this notifier to perform necessary tasks immediately after a child node has been removed from the Group.

The function will be called with the zero-based position that previously referenced the removed child. Note that this position can no longer be used to reference the child node, because the child node already has been removed from this Group.
See also:
Group::preRemoveChild

Reimplemented in Switch.

virtual NVSG_API void preAddChild ( unsigned int position ) [protected, virtual]

Called from the framework immediately before a child will be added to the Group.

Parameters:
position Zero-based position where the child node will be added.
Remarks:
It is recommended, for Group-derived classes that need to keep track of child nodes insertion, to override this notifier to perform necessary tasks immediately before a child node will be added to the Group.

The function will be called with the zero-based position where the child node will be added. Note that this position cannot yet be used to reference the child node, because the child node has not been added to this Group at this point.
See also:
Group::postAddChild

virtual NVSG_API void postAddChild ( unsigned int position ) [protected, virtual]

Called from the framework immediately after a child was added to the Group.

Parameters:
position Zero-based position where the child node was added.
Remarks:
It is recommended, for Group-derived classes that need to keep track of child nodes insertion, to override this notifier to perform necessary tasks immediately after a child node has been added to the Group.

The function will be called with the zero-based position where the child node has been added immediately before this call.
See also:
Group::preAddChild

Reimplemented in Switch.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Called from the framework if re-calculation of the Group's bounding box is required.

Returns:
The function returns a nvmath::Box3f that represents the actual bounding box of this Group.
Remarks:
The function calculates the bounding box by accumulating the bounding boxes of all available child nodes.

For Group-derived classes to specialize bounding box calculation, it is recommended to override this function.
See also:
nvmath::Box3f

Reimplemented from Object.

Reimplemented in AnimatedTransform, Switch, and Transform.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Called from the framework if re-calculation of the Group's bounding sphere is required.

Returns:
The function returns a nvmath::Sphere3f that represents the actual bounding sphere of this Group.
Remarks:
The function calculates the bounding sphere by accumulating the bounding spheres of all available child nodes.

For Group-derived classes to specialize bounding sphere calculation, it is recommended to override this function.
See also:
nvmath::Sphere3f

Reimplemented from Object.

Reimplemented in AnimatedTransform, Switch, and Transform.

virtual NVSG_API unsigned int determineHintsContainment ( unsigned int hints ) const [protected, virtual]

Determines Object hints contained in the hierarchy.

Parameters:
hints Specifies a but mask to indicate the Object hints for which containment should be determined.
Returns:
The function returns a bit field indicating all hints contained in the tree hierarchy having this Group as root. The bit field returned is filtered by the input bit mask.
Remarks:
The function override the base class implementation to trigger determination for all children of the Group, as well as for all maintained LightSources.
See also:
Object::determineHintsContainment

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in AnimatedTransform, Billboard, FlipbookAnimation, LOD, Switch, and Transform.

The documentation for this class was generated from the following file:
  • Group.h
Generated on Fri Jul 13 13:30:02 2012 for SceniX


SceniX: Member List

Group Member List

This is the complete list of members for Group, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
calculateBoundingBox() const | Group | [protected, virtual]
calculateBoundingSphere() const | Group | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Group) | Group | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Group) | Group | [protected, virtual]
determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Group) | Group | [protected, virtual]
determineLODContainment() const (defined in Group) | Group | [protected, virtual]
determineShaderContainment() const (defined in Group) | Group | [protected, virtual]
determineTransparencyContainment() const (defined in Group) | Group | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Group | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Group | [virtual]
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postAddChild(unsigned int position) | Group | [protected, virtual]
postRemoveChild(unsigned int position) | Group | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Group) | Group | [protected, virtual]
~Group() | Group | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:30:02 2012 for SceniX


SceniX: Handle Class Reference

nvutil::Handle

Handle Class Reference

Controls access to the the handled object. More...

#include <Handle.h>

Inheritance diagram for Handle:

[legend]

Detailed Description

Controls access to the the handled object.

Parameters:
T | Specifies the type of the handled object.
U | Specifies an optional base class for the particular Handle.
The purpose of a Handle is to limit direct access to the handled object. The user can access the interface of the handled object through the interface of the Handle.

A Handle not only controls access to the handled object but also controls the lifetime of the handled object. The handled object will be created at Handle instantiation and will be automatically destroyed when the Handle's lifetime ends.

The instantiation of a Handle is limited. A Handle can live on heap only. Attempts to create a Handle on stack will be rejected by the compiler. It is also prohibited to explicitely call new or malloc on a Handle. The only ways possible to instantiate a Handle are

  1. by instantiating a Handle as a copy from another Handle by invoking the Handle's clone member.

The special design of the Handle template helps to limit the definition of different Handle types as folows:

  • A Handle type must either be a stand-alone class, not derived from any other class, or
  • must have another Handle type as base class.

Examples:

        // valid typedefs
        typedef nvutil::Handle<nvsg::Object> ObjectHandle;
        typedef nvutil::Handle<nvsg::Node, ObjectHandle> NodeHandle;

The purpose of the Handle template for the SceniX core is to have the compiler generate a particular hierarchy of Handles. This enables us to create a kind of parallel hierarchy of Handles that reflect the same class hierarchy that we have for the SceniX core objects. That is, in the same way nvsg::Node inherits from nvsg::Object, NodeHandle inherits from ObjectHandle, and so on. This special Handle types thus carry the associated SceniX core objects and protect the core objects from direct access.

See also:
Handle<T, NullType>, Handle<T, Handle<U,V> >

The documentation for this class was generated from the following file:
  • Handle.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Handle< T, Handle< U, V > > Class Template Reference

nvutil::Handle< T, Handle< U, V > >

Handle< T, Handle< U, V > > Class Template Reference

Specialization template for Handle-derived Handle types. More...

#include <Handle.h>

Inheritance diagram for Handle< T, Handle< U, V > >:

[legend]
Collaboration diagram for Handle< T, Handle< U, V > >:

[legend]
List of all members.

Public Types

typedef T | ObjectType
class internal type definition of the handled type.

Public Member Functions

Handle * | clone () const
Returns a copy of this Handle.

Detailed Description

template<typename T, typename U, typename V>
class nvutil::Handle< T, Handle< U, V > >

Specialization template for Handle-derived Handle types.

This specialized Handle is used as a template for Handle-derived handle types.

See also:
Handle, Handle<T, NullType>

Member Typedef Documentation

typedef T ObjectType

class internal type definition of the handled type.

Member Function Documentation

Handle< T, Handle< U, V > > * clone ( ) const [inline]

Returns a copy of this Handle.

Returns:
The function returns a pointer to the Handle that was instantiated as a deep-copy of this Handle.
Use this function if you want to instantiate a real clone of this Handle.

The documentation for this class was generated from the following file:
  • Handle.h
Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Member List

Handle< T, Handle< U, V > > Member List

This is the complete list of members for Handle< T, Handle< U, V > >, including all inherited members.

clone() const | Handle< T, Handle< U, V > > | [inline]
ObjectType typedef | Handle< T, Handle< U, V > > |

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Handle< T, NullType > Class Template Reference

nvutil::Handle< T, NullType >

Handle< T, NullType > Class Template Reference

Specialized stand-alone Handle. More...

#include <Handle.h>

Inheritance diagram for Handle< T, NullType >:

[legend]
Collaboration diagram for Handle< T, NullType >:

[legend]
List of all members.

Public Types

typedef T | ObjectType
class internal type definition of the handled type.

Public Member Functions

Handle * | clone () const
Returns a copy of this Handle.
bool | isNotifyAllowed ()
Check if notfication is allowed.

Detailed Description

template<typename T, typename U = NullType>
class nvutil::Handle< T, NullType >

Specialized stand-alone Handle.

This specialized Handle is used as a template for stand-alone Handle types. Stand-alone Handle types are types that do not inherit from other types.

See also:
Handle

Member Typedef Documentation

typedef T ObjectType

class internal type definition of the handled type.

Member Function Documentation

Handle< T, NullType > * clone ( ) const [inline]

Returns a copy of this Handle.

Returns:
The function returns a pointer to the Handle that was instantiated as a deep-copy of this Handle.
Use this function if you want to instantiate a real clone of this Handle.

bool isNotifyAllowed ( ) [inline]

Check if notfication is allowed.

Remarks:
Forwarding notifications is not allowed while in the constructor or destructor.

The documentation for this class was generated from the following file:
  • Handle.h
Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Member List

Handle< T, NullType > Member List

This is the complete list of members for Handle< T, NullType >, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
clone() const | Handle< T, NullType > | [inline]
IAllocator() | IAllocator | [inline]
isNotifyAllowed() | Handle< T, NullType > | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
ObjectType typedef | Handle< T, NullType > |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: HashGenerator Class Reference

nvutil::HashGenerator

HashGenerator Class Reference

HashGenerator is the interface defining class for creating a hash out of some arbitrary data. More...

#include <HashGenerator.h>

Inheritance diagram for HashGenerator:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | update (const unsigned char *input, unsigned int byteCount)=0
Add data to the hash generator.
NVSG_API void | update (const unsigned char *input, unsigned int elementSize, unsigned int stride, unsigned int elementCount)
Add data to the hash generator.
virtual NVSG_API unsigned int | getSizeOfHash () const =0
Get the size of the hash.
virtual NVSG_API void | finalize (void *hash)=0
Finalize the hash of the data added via update.
virtual NVSG_API std::string | finalize ()=0
Finalize the hash of the data added via update, and get the hash as a string.

Detailed Description

HashGenerator is the interface defining class for creating a hash out of some arbitrary data.

Namespace: nvutil

Member Function Documentation

virtual NVSG_API void update | ( | const unsigned char * | input,
 |  | unsigned int | byteCount
 | ) | [pure virtual]

Add data to the hash generator.

Parameters:
input | A pointer to the constant data to use hash.
byteCount | The number of bytes to process at input.
Remarks:
To generate a hash, this function can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, a finalize determines the hash of all that data.
See also:
finalize

Implemented in HashGeneratorMD5.

void update | ( | const unsigned char * | input,
 |  | unsigned int | elementSize,
 |  | unsigned int | stride,
 |  | unsigned int | elementCount
 | ) | [inline]

Add data to the hash generator.

Parameters:
input | A pointer to the constant data to use hash.
elementSize | size of one element in the input array
stride | stride in bytes between two elements in the input array
elementCount | The number of elements to process at input.
Remarks:
To generate a hash, this function can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, a finalize determines the hash of all that data.
See also:
finalize

virtual NVSG_API unsigned int getSizeOfHash ( ) const [pure virtual]

Get the size of the hash.

Returns:
The size of the hash.
Remarks:
A HashGenerator generates a hash of a specific size. This size should be independent of the data to hash. The function finalize( void * ) assumes, that hash points to some memory of the the required size, to get a copy of the hash.
See also:
update, finalize

Implemented in HashGeneratorMD5.

virtual NVSG_API void finalize ( void * hash ) [pure virtual]

Finalize the hash of the data added via update.

Parameters:
hash A pointer to some memory to get the hash.
Remarks:
To generate a hash, the update can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, this function determines the hash value of all that data. That value is copied to hash, while it is assumed, that there is at least as much memory reserved at that position as the getSizeOfHash tells.
See also:
getSizeOfHash, update

Implemented in HashGeneratorMD5.

virtual NVSG_API std::string finalize ( ) [pure virtual]

Finalize the hash of the data added via update, and get the hash as a string.

Returns:
The hash value converted to a string.
Remarks:
To generate a hash, the update can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, this function determines the hash value of all that data. That value is converted to a string.
See also:
update

Implemented in HashGeneratorMD5.

The documentation for this class was generated from the following file:
  • HashGenerator.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

HashGenerator Member List

This is the complete list of members for HashGenerator, including all inherited members.

finalize(void *hash)=0 | HashGenerator | [pure virtual]
finalize()=0 | HashGenerator | [pure virtual]
getSizeOfHash() const =0 | HashGenerator | [pure virtual]
update(const unsigned char *input, unsigned int byteCount)=0 | HashGenerator | [pure virtual]
update(const unsigned char *input, unsigned int elementSize, unsigned int stride, unsigned int elementCount) | HashGenerator | [inline]

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: HashGeneratorMD5 Class Reference

nvutil::HashGeneratorMD5

HashGeneratorMD5 Class Reference

HashGenerator class implementing the MD5 algorithm. More...

#include <HashGeneratorMD5.h>

Inheritance diagram for HashGeneratorMD5:

[legend]
Collaboration diagram for HashGeneratorMD5:

[legend]
List of all members.

Public Member Functions

NVSG_API void | update (const unsigned char *input, unsigned int byteCount)
Add data to the hash generator.
virtual NVSG_API unsigned int | getSizeOfHash () const
Get the size of the hash.
virtual NVSG_API void | finalize (void *hash)
Finalize the hash of the data added via update.
virtual NVSG_API std::string | finalize ()
Finalize the hash of the data added via update, and get the hash as a string.

Detailed Description

HashGenerator class implementing the MD5 algorithm.

Member Function Documentation

NVSG_API void update | ( | const unsigned char * | input,
 |  | unsigned int | byteCount
 | ) | [virtual]

Add data to the hash generator.

Parameters:
input | A pointer to the constant data to use hash.
byteCount | The number of bytes to process at input.
Remarks:
To generate a hash, this function can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, a finalize determines the hash of all that data.
See also:
finalize

Implements HashGenerator.

virtual NVSG_API unsigned int getSizeOfHash ( ) const [virtual]

Get the size of the hash.

Returns:
The size of the hash.
Remarks:
A HashGenerator generates a hash of a specific size. This size should be independent of the data to hash. The function finalize( void * ) assumes, that hash points to some memory of the the required size, to get a copy of the hash.
See also:
update, finalize

Implements HashGenerator.

virtual NVSG_API void finalize ( void * hash ) [virtual]

Finalize the hash of the data added via update.

Parameters:
hash A pointer to some memory to get the hash.
Remarks:
To generate a hash, the update can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, this function determines the hash value of all that data. That value is copied to hash, while it is assumed, that there is at least as much memory reserved at that position as the getSizeOfHash tells.
See also:
getSizeOfHash, update

Implements HashGenerator.

virtual NVSG_API std::string finalize ( ) [virtual]

Finalize the hash of the data added via update, and get the hash as a string.

Returns:
The hash value converted to a string.
Remarks:
To generate a hash, the update can be called an arbitrary amount of times, each time adding data to the hashing process. After all data to hash is added, this function determines the hash value of all that data. That value is converted to a string.
See also:
update

Implements HashGenerator.

The documentation for this class was generated from the following file:
  • HashGeneratorMD5.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

HashGeneratorMD5 Member List

This is the complete list of members for HashGeneratorMD5, including all inherited members.

finalize(void *hash) | HashGeneratorMD5 | [virtual]
finalize() | HashGeneratorMD5 | [virtual]
getSizeOfHash() const | HashGeneratorMD5 | [virtual]
HashGeneratorMD5() (defined in HashGeneratorMD5) | HashGeneratorMD5 |
update(const unsigned char *input, unsigned int byteCount) | HashGeneratorMD5 | [virtual]
nvutil::HashGenerator::update(const unsigned char *input, unsigned int elementSize, unsigned int stride, unsigned int elementCount) | HashGenerator | [inline]
~HashGeneratorMD5() (defined in HashGeneratorMD5) | HashGeneratorMD5 | [inline, virtual]

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: IAllocator Class Reference

nvutil::IAllocator

IAllocator Class Reference

An allocator interface. More...

#include <Allocator.h>

Inheritance diagram for IAllocator:

[legend]
List of all members.

Public Types

typedef Singleton< Allocator > | theAllocator
Convenient typedef.

Public Member Functions

IAllocator ()
Default constructor.
virtual | ~IAllocator ()
Destructor.
NVSG_API void * | operator new (size_t size)
Operator new overload.
NVSG_API void * | operator new (size_t size, void *p)
Placement operator new overload.
NVSG_API void | operator delete (void *p, size_t size)
Operator delete overload.
NVSG_API void * | operator new[] (size_t size)
Operator new[] overload.
NVSG_API void | operator delete[] (void *p, size_t size)
Operator delete[] overload.

Detailed Description

An allocator interface.

The IAllocator interface provides overloads of the new and delete operators for heap allocation. This overloads make use of a specialized memory manager, that is highly optimized for small object allocation. For large objects, i.e. objects greater than 128 bytes, the IAllocator interface utilizes the default memory manager.

Note:
Typically a user defined class utilizes this interface through public inheritance.

Member Typedef Documentation

typedef Singleton<Allocator> theAllocator

Convenient typedef.

Constructor & Destructor Documentation

IAllocator ( ) [inline]

Default constructor.

Default constructs an IAllocator object.

virtual ~IAllocator ( ) [inline, virtual]

Destructor.

Member Function Documentation

void * operator new ( size_t size ) [inline]

Operator new overload.

Allocates a memory block of size bytes from heap. Returns start address of allocated memory block.

void * operator new | ( | size_t | size,
 |  | void * | p
 | ) | [inline]

Placement operator new overload.

Provides object creation at a specified memory address.

p must point to a valid block of memory, large enough to hold an object of size bytes.

Return start address of the specified memory block.

void operator delete | ( | void * | p,
 |  | size_t | size
 | ) | [inline]

Operator delete overload.

Frees size bytes of memory at address p.

void * operator new[] ( size_t size ) [inline]

Operator new[] overload.

Allocates a memory block of size bytes from heap. Returns start address of allocated memory block.

void operator delete[] | ( | void * | p,
 |  | size_t | size
 | ) | [inline]

Operator delete[] overload.

Frees size bytes of memory at address p.

The documentation for this class was generated from the following file:
  • Allocator.h
Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: Member List

IAllocator Member List

This is the complete list of members for IAllocator, including all inherited members.

IAllocator() | IAllocator | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: IdentityResult Class Reference

nvtraverser::IdentityResult

IdentityResult Class Reference

AnalyzeResult indicating identity transformations. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for IdentityResult:

[legend]
Collaboration diagram for IdentityResult:

[legend]
List of all members.

Public Member Functions

virtual | ~IdentityResult ()
Virtual Destructor.

Public Attributes

unsigned int | identityCount
The number of identity Transforms.

Detailed Description

AnalyzeResult indicating identity transformations.

Namespace: nvsg
Remarks:
All Transform objects in the tree that are in fact identity transforms are reported with an IdentityResult.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~IdentityResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int identityCount

The number of identity Transforms.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: Member List

IdentityResult Member List

This is the complete list of members for IdentityResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
identityCount | IdentityResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~IdentityResult() | IdentityResult | [inline, virtual]

Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: IdentityToGroupTraverser Class Reference

nvtraverser::IdentityToGroupTraverser

IdentityToGroupTraverser Class Reference

Traverser that replaces identity transforms by groups. More...

#include <IdentityToGroupTraverser.h>

Inheritance diagram for IdentityToGroupTraverser:

[legend]
Collaboration diagram for IdentityToGroupTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | IdentityToGroupTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~IdentityToGroupTraverser (void)
Protected destructor to prevent instantiation of an IdentityToGroupTraverser on stack.
virtual NVSG_API void | postApply (const nvsg::NodeSharedPtr &root)
If the root node is an identity Transform, it is replaced by a Group.
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *p)
Replace any identity Transform of it's children to a Group.
virtual NVSG_API void | handleBillboard (nvsg::Billboard *p)
Replace any identity Transform of it's children to a Group.
virtual NVSG_API void | handleGroup (nvsg::Group *p)
Replace any identity Transform of it's children to a Group.
virtual NVSG_API void | handleLOD (nvsg::LOD *p)
Replace any identity Transform of it's children to a Group.
virtual NVSG_API void | handleSwitch (nvsg::Switch *p)
Replace any identity Transform of it's children to a Group.
virtual NVSG_API void | handleTransform (nvsg::Transform *p)
Replace any identity Transform of it's children to a Group.

Detailed Description

Traverser that replaces identity transforms by groups.

Constructor & Destructor Documentation

NVSG_API IdentityToGroupTraverser ( void )

Constructor.

virtual NVSG_API ~IdentityToGroupTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of an IdentityToGroupTraverser on stack.

Member Function Documentation

virtual NVSG_API void postApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

If the root node is an identity Transform, it is replaced by a Group.

Reimplemented from Traverser.

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * p ) [protected, virtual]

Replace any identity Transform of it's children to a Group.

An AnimatedTransform is handled as a Transform.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleBillboard ( nvsg::Billboard * p ) [protected, virtual]

Replace any identity Transform of it's children to a Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGroup ( nvsg::Group * p ) [protected, virtual]

Replace any identity Transform of it's children to a Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLOD ( nvsg::LOD * p ) [protected, virtual]

Replace any identity Transform of it's children to a Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSwitch ( nvsg::Switch * p ) [protected, virtual]

Replace any identity Transform of it's children to a Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * p ) [protected, virtual]

Replace any identity Transform of it's children to a Group.

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • IdentityToGroupTraverser.h
Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: Member List

IdentityToGroupTraverser Member List

This is the complete list of members for IdentityToGroupTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DECLARE_STATIC_PROPERTY(IgnoreNames) (defined in OptimizeTraverser) | OptimizeTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | OptimizeTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getIgnoreNames(void) const | OptimizeTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *p) | IdentityToGroupTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | IdentityToGroupTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *p) | IdentityToGroupTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *p) | IdentityToGroupTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *p) | IdentityToGroupTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | IdentityToGroupTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
IdentityToGroupTraverser(void) | IdentityToGroupTraverser |
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *obj) | OptimizeTraverser | [protected, virtual]
OptimizeTraverser(void) | OptimizeTraverser |
postApply(const nvsg::NodeSharedPtr &root) | IdentityToGroupTraverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, OptimizeTraverser) (defined in OptimizeTraverser) | OptimizeTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setIgnoreNames(bool ignore) | OptimizeTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~IdentityToGroupTraverser(void) | IdentityToGroupTraverser | [protected, virtual]
~OptimizeTraverser(void) | OptimizeTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:44 2012 for SceniX


SceniX: ILTexLoader Class Reference

ILTexLoader Class Reference

A Texture Loader that encapsulates DevIL so it can be used with the SceniX PlugIn mechanism. More...

#include <ILTexLoader.h>

Inheritance diagram for ILTexLoader:

[legend]
Collaboration diagram for ILTexLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.

Protected Member Functions

virtual | ~ILTexLoader ()
Protected virtual destructor.
bool | onLoad (const std::string &filename, nvsg::TextureHost *texImg, const std::vector< std::string > &searchPaths)
Pure virtual interface called on loading a TextureHost file.

Static Protected Attributes

static ILTexLoader * | m_instance
Single instance of this class.
static unsigned int | m_refCount
Reference count of the single instance of this class.

Friends

bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.

Detailed Description

A Texture Loader that encapsulates DevIL so it can be used with the SceniX PlugIn mechanism.

Constructor & Destructor Documentation

virtual ~ILTexLoader ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a TextureLoader derived object on stack and
  • calling delete on a pointer to TextureLoader.

Member Function Documentation

void deleteThis ( void ) [virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

bool onLoad | ( | const std::string & | filename,
 |  | nvsg::TextureHost * | texImg,
 |  | const std::vector< std::string > & | searchPaths
 | ) | [protected, virtual]

Pure virtual interface called on loading a TextureHost file.

Parameters:
filename | The name of the texture file to load.
texImg | A pointer to the TextureHost to load the data into.
searchPaths | A set of search paths used for files referenced within the texture file.
Returns:
true, if the TextureHost was successfully loaded, otherwise false.
Remarks:
Loads a TextureHost from the file specified by filename. The PlugIn must create the image(s) in the OpenGL compatible orientation, that has its image origin in the lower left. TextureHost offers mirrorX() and mirrorY() routines that a Loader PlugIn can use to achieve this orientation.
See also:
load, reload

Implements TextureLoader.

Friends And Related Function Documentation

bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) | [friend]

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a OBJSAVER. If the PlugIn ID piid equals PIID_NVSG_SCENE_SAVER, a OBJSAVER is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

Member Data Documentation

ILTexLoader* m_instance [static, protected]

Single instance of this class.

Remarks:
To reduce the overhead due to the large number of supported extensions, we only instantiate this class once.

unsigned int m_refCount [static, protected]

Reference count of the single instance of this class.

The documentation for this class was generated from the following file:
  • ILTexLoader.h
Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: Member List

ILTexLoader Member List

This is the complete list of members for ILTexLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
createTextureHost() | TextureLoader | [protected, virtual]
deleteThis(void) | ILTexLoader | [virtual]
getPlugInterface(const nvutil::UPIID &piid, nvutil::PlugIn *&pi) | ILTexLoader | [friend]
IAllocator() | IAllocator | [inline]
ILTexLoader() (defined in ILTexLoader) | ILTexLoader |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths=std::vector< std::string >(), const unsigned int &creationFlags=0) | TextureLoader |
m_instance | ILTexLoader | [protected, static]
m_refCount | ILTexLoader | [protected, static]
markUnshareable() | RCObject | [inline]
onLoad(const std::string &filename, nvsg::TextureHost *texImg, const std::vector< std::string > &searchPaths) | ILTexLoader | [protected, virtual]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
reload(const TextureHostSharedPtr &tih, const std::vector< std::string > &searchPaths=std::vector< std::string >()) | TextureLoader |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~ILTexLoader() | ILTexLoader | [protected, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~TextureLoader() | TextureLoader | [protected, virtual]

Generated on Fri Jul 13 13:28:47 2012 for SceniX


SceniX: ILTexSaver Class Reference

ILTexSaver Class Reference

A Texture Saver that encapsulates DevIL so it can be used with the NVSG PlugIn mechanism. More...

#include <ILTexSaver.h>

Inheritance diagram for ILTexSaver:

[legend]
Collaboration diagram for ILTexSaver:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Plug-in deletion.
bool | save (const nvsg::TextureHostSharedPtr &image, const std::string &fileName)

Friends

bool | getPlugInterface (const nvutil::UPIID &piid, nvutil::PlugIn *&pi)
Get the PlugIn interface for this scene loader.

Detailed Description

A Texture Saver that encapsulates DevIL so it can be used with the NVSG PlugIn mechanism.

Member Function Documentation

void deleteThis ( void ) [virtual]

Plug-in deletion.

Every plug-in must provide this function. It assures that, when deleting the plug-in object, always the right heap manager is called to free the associated memory.

Note:
Ordinary client code is not allowed to call deleteThis on a plug-in object. Client code needs to utilize the PlugInServer interface for plug-in managment for this purposes.

Implements PlugIn.

Friends And Related Function Documentation

bool getPlugInterface | ( | const nvutil::UPIID & | piid,
 |  | nvutil::PlugIn *& | pi
 | ) | [friend]

Get the PlugIn interface for this scene loader.

Every PlugIn has to resolve this function. It is used to get a pointer to a PlugIn class, in this case a OBJSAVER. If the PlugIn ID piid equals PIID_NVSG_SCENE_SAVER, a OBJSAVER is created and returned in pi.

Returns:
true, if the requested PlugIn could be created, otherwise false

The documentation for this class was generated from the following file:
  • ILTexSaver.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

ILTexSaver Member List

This is the complete list of members for ILTexSaver, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | ILTexSaver | [virtual]
getPlugInterface(const nvutil::UPIID &piid, nvutil::PlugIn *&pi) | ILTexSaver | [friend]
IAllocator() | IAllocator | [inline]
ILTexSaver() (defined in ILTexSaver) | ILTexSaver |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
save(const nvsg::TextureHostSharedPtr &image, const std::string &fileName) (defined in ILTexSaver) | ILTexSaver |
nvsg::TextureSaver::save(const TextureHostSharedPtr &image, const std::string &fileName)=0 | TextureSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~ILTexSaver() (defined in ILTexSaver) | ILTexSaver | [protected, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~TextureSaver() | TextureSaver | [protected, virtual]

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Image Struct Reference

nvsg::Image

Image Struct Reference

Helper structure to hold the data of an image. More...

#include <TextureHost.h>

List of all members.

Public Types

enum PixelFormat {
IMG_UNKNOWN_FORMAT = -1, IMG_COLOR_INDEX = 0, IMG_RGB, IMG_RGBA,
IMG_BGR, IMG_BGRA, IMG_LUMINANCE, IMG_LUMINANCE_ALPHA,
IMG_ALPHA, IMG_DEPTH_COMPONENT, IMG_DEPTH_STENCIL, IMG_INTEGER_ALPHA,
IMG_INTEGER_LUMINANCE, IMG_INTEGER_LUMINANCE_ALPHA, IMG_INTEGER_RGB, IMG_INTEGER_BGR,
IMG_INTEGER_RGBA, IMG_INTEGER_BGRA, IMG_COMPRESSED_LUMINANCE_LATC1, IMG_COMPRESSED_SIGNED_LUMINANCE_LATC1,
IMG_COMPRESSED_LUMINANCE_ALPHA_LATC2, IMG_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2, IMG_COMPRESSED_RED_RGTC1, IMG_COMPRESSED_SIGNED_RED_RGTC1,
IMG_COMPRESSED_RG_RGTC2, IMG_COMPRESSED_SIGNED_RG_RGTC2, IMG_COMPRESSED_RGB_DXT1, IMG_COMPRESSED_RGBA_DXT1,
IMG_COMPRESSED_RGBA_DXT3, IMG_COMPRESSED_RGBA_DXT5, IMG_COMPRESSED_SRGB_DXT1, IMG_COMPRESSED_SRGBA_DXT1,
IMG_COMPRESSED_SRGBA_DXT3, IMG_COMPRESSED_SRGBA_DXT5, IMG_NUM_FORMATS
}
enum PixelDataType {
IMG_UNKNOWN_TYPE = -1, IMG_BYTE = 0, IMG_UNSIGNED_BYTE, IMG_SHORT,
IMG_UNSIGNED_SHORT, IMG_INT, IMG_UNSIGNED_INT, IMG_FLOAT32,
IMG_FLOAT16, IMG_UNSIGNED_INT_2_10_10_10, IMG_UNSIGNED_INT_5_9_9_9, IMG_UNSIGNED_INT_10F_11F_11F,
IMG_UNSIGNED_INT_24_8, IMG_NUM_TYPES, IMG_FLOAT = IMG_FLOAT32, IMG_HALF = IMG_FLOAT16
}
Enumeration type to describe the data type of pixel data. More...

Public Member Functions

NVSG_API | Image ()
Default constructor of Image.
NVSG_API | Image (unsigned int width, unsigned int height, unsigned int depth, PixelFormat format, PixelDataType type)
Constructor of an Image structure.
NVSG_API | Image (const Image &rhs)
NVSG_API Image & | operator= (const Image &rhs)

Public Attributes

unsigned int | m_width
width of the texture in pixels
unsigned int | m_height
height of the texture in pixels
unsigned int | m_depth
depth of the texture in pixels
PixelFormat m_format
specifies format of pixel data
PixelDataType m_type
specifies type of pixel data
unsigned int | m_bpp
bytes per pixel
unsigned int | m_bpl
bytes per scanline
unsigned int | m_bps
bytes per slice (plane)
unsigned int | m_nob
number of bytes (complete image)
BufferSharedPtr | m_pixels
raw image data (we use unsigned char as internal format)

Detailed Description

Helper structure to hold the data of an image.

Namespace: nvsg
See also:
insert, rescale

Member Enumeration Documentation

enum PixelFormat

Enumeration type to describe a pixel data format Essentially the "Format" parameter to TexImage

Enumeration values:
IMG_UNKNOWN_FORMAT | unknown pixel format
IMG_COLOR_INDEX | color index format
IMG_RGB | RGB format.
IMG_RGBA | RGBA format.
IMG_BGR | BGR format.
IMG_BGRA | BGRA format.
IMG_LUMINANCE | luminance format
IMG_LUMINANCE_ALPHA | luminance alpha format
IMG_ALPHA | Alpha only format.
IMG_DEPTH_COMPONENT | Depth only ( ARB_depth_texture ).
IMG_DEPTH_STENCIL | Depth + stencil - EXT_packed_depth_stencil.
IMG_NUM_FORMATS | specifies number of valid format descriptors

enum PixelDataType

Enumeration type to describe the data type of pixel data.

Enumeration values:
IMG_UNKNOWN_TYPE | unknown data type
IMG_BYTE | signed byte type (8-bit)
IMG_UNSIGNED_BYTE | unsigned byte type (8-bit)
IMG_SHORT | signed short type (16-bit)
IMG_UNSIGNED_SHORT | unsigned short type (16-bit)
IMG_INT | signed integer type (32-bit)
IMG_UNSIGNED_INT | unsigned integer type (32-bit)
IMG_FLOAT32 | single-precision floating point (32-bit)
IMG_FLOAT16 | half-precision floating point (16-bit)
IMG_UNSIGNED_INT_2_10_10_10 | 2 Bits A, 10 bits RGB (RGB10/10A2)
IMG_UNSIGNED_INT_5_9_9_9 | 5 bits exponent 9 bits RGB mantissa
IMG_UNSIGNED_INT_10F_11F_11F | 5 bits exp + 5,6,6 bits RGB mantissa
IMG_UNSIGNED_INT_24_8 | 24 bits depth, 8 bits stencil
IMG_NUM_TYPES | specifies number of valid type descriptors

Constructor & Destructor Documentation

NVSG_API Image ( )

Default constructor of Image.

Remarks:
Initializes an empty Image with no data.

NVSG_API Image | ( | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | PixelFormat | format,
 |  | PixelDataType | type
 | ) |

Constructor of an Image structure.

Parameters:
width | The width of the Image.
height | The height of the Image.
depth | The depth of the Image.
format | The PixelFormat of the Image.
type | The PixelDataType of the Image.
Remarks:
This constructor allocates no memory for the pixel data, it just initialized the structure Image to hold the information for it.
Note:
The bytes per pixel can be determined out of format (giving number of components) and type (giving size of components).

Member Data Documentation

unsigned int m_width

width of the texture in pixels

unsigned int m_height

height of the texture in pixels

unsigned int m_depth

depth of the texture in pixels

PixelFormat m_format

specifies format of pixel data

PixelDataType m_type

specifies type of pixel data

unsigned int m_bpp

bytes per pixel

unsigned int m_bpl

bytes per scanline

unsigned int m_bps

bytes per slice (plane)

unsigned int m_nob

number of bytes (complete image)

BufferSharedPtr m_pixels

raw image data (we use unsigned char as internal format)

The documentation for this struct was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:28 2012 for SceniX


SceniX: Member List

Image Member List

This is the complete list of members for Image, including all inherited members.

Image() | Image
Image(unsigned int width, unsigned int height, unsigned int depth, PixelFormat format, PixelDataType type) | Image
Image(const Image &rhs) (defined in Image) | Image
IMG_ALPHA enum value | Image
IMG_BGR enum value | Image
IMG_BGRA enum value | Image
IMG_BYTE enum value | Image
IMG_COLOR_INDEX enum value | Image
IMG_COMPRESSED_LUMINANCE_ALPHA_LATC2 enum value (defined in Image) | Image
IMG_COMPRESSED_LUMINANCE_LATC1 enum value (defined in Image) | Image
IMG_COMPRESSED_RED_RGTC1 enum value (defined in Image) | Image
IMG_COMPRESSED_RG_RGTC2 enum value (defined in Image) | Image
IMG_COMPRESSED_RGB_DXT1 enum value (defined in Image) | Image
IMG_COMPRESSED_RGBA_DXT1 enum value (defined in Image) | Image
IMG_COMPRESSED_RGBA_DXT3 enum value (defined in Image) | Image
IMG_COMPRESSED_RGBA_DXT5 enum value (defined in Image) | Image
IMG_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 enum value (defined in Image) | Image
IMG_COMPRESSED_SIGNED_LUMINANCE_LATC1 enum value (defined in Image) | Image
IMG_COMPRESSED_SIGNED_RED_RGTC1 enum value (defined in Image) | Image
IMG_COMPRESSED_SIGNED_RG_RGTC2 enum value (defined in Image) | Image
IMG_COMPRESSED_SRGB_DXT1 enum value (defined in Image) | Image
IMG_COMPRESSED_SRGBA_DXT1 enum value (defined in Image) | Image
IMG_COMPRESSED_SRGBA_DXT3 enum value (defined in Image) | Image
IMG_COMPRESSED_SRGBA_DXT5 enum value (defined in Image) | Image
IMG_DEPTH_COMPONENT enum value | Image
IMG_DEPTH_STENCIL enum value | Image
IMG_FLOAT enum value (defined in Image) | Image
IMG_FLOAT16 enum value | Image
IMG_FLOAT32 enum value | Image
IMG_HALF enum value (defined in Image) | Image
IMG_INT enum value | Image
IMG_INTEGER_ALPHA enum value (defined in Image) | Image
IMG_INTEGER_BGR enum value (defined in Image) | Image
IMG_INTEGER_BGRA enum value (defined in Image) | Image
IMG_INTEGER_LUMINANCE enum value (defined in Image) | Image
IMG_INTEGER_LUMINANCE_ALPHA enum value (defined in Image) | Image
IMG_INTEGER_RGB enum value (defined in Image) | Image
IMG_INTEGER_RGBA enum value (defined in Image) | Image
IMG_LUMINANCE enum value | Image
IMG_LUMINANCE_ALPHA enum value | Image
IMG_NUM_FORMATS enum value | Image
IMG_NUM_TYPES enum value | Image
IMG_RGB enum value | Image
IMG_RGBA enum value | Image
IMG_SHORT enum value | Image
IMG_UNKNOWN_FORMAT enum value | Image
IMG_UNKNOWN_TYPE enum value | Image
IMG_UNSIGNED_BYTE enum value | Image
IMG_UNSIGNED_INT enum value | Image
IMG_UNSIGNED_INT_10F_11F_11F enum value | Image
IMG_UNSIGNED_INT_24_8 enum value | Image
IMG_UNSIGNED_INT_2_10_10_10 enum value | Image
IMG_UNSIGNED_INT_5_9_9_9 enum value | Image
IMG_UNSIGNED_SHORT enum value | Image
m_bpl | Image
m_bpp | Image
m_bps | Image
m_depth | Image
m_format | Image
m_height | Image
m_nob | Image
m_pixels | Image
m_type | Image
m_width | Image
operator=(const Image &rhs) (defined in Image) | Image
PixelDataType enum name | Image
PixelFormat enum name | Image

Generated on Fri Jul 13 13:30:28 2012 for SceniX


SceniX: Incarnation Class Reference

nvutil::Incarnation

Incarnation Class Reference

This class abstracts an incarnation count. More...

#include <Incarnation.h>

List of all members.

Public Member Functions

NVSG_API | Incarnation ()
Default constructor.
NVSG_API bool | operator== (const Incarnation &rhs) const
Comparison operator.
NVSG_API bool | operator!= (const Incarnation &rhs) const
Comparison operator.
NVSG_API Incarnation & | operator++ ()
Pre-increment operator.
NVSG_API const Incarnation | operator++ (int)
Post-increment operator.
NVSG_API Incarnation | operator+ (int i) const
Addition operator.
NVSG_API Incarnation & | operator+= (int i)
Increment by integer.

Detailed Description

This class abstracts an incarnation count.

The main feature is that the embedded counter will always be initialized to a defined value. This class also provides convenient assignment, comparison and incrementation of the embedded counter.

Constructor & Destructor Documentation

NVSG_API Incarnation ( )

Default constructor.

The embedded counter will be initialized to some random number.

Member Function Documentation

bool operator== ( const Incarnation & rhs ) const [inline]

Comparison operator.

Returns:
true if the embedded counter of the Incarnation object referenced by rhs is equal to this object's embedded counter, false otherwise.

bool operator!= ( const Incarnation & rhs ) const [inline]

Comparison operator.

Returns:
true if the embedded counter of the Incarnation object referenced by rhs is not equal to this object's embedded counter, false otherwise.

Incarnation & operator++ ( ) [inline]

Pre-increment operator.

Increments the embedded counter by one.

Returns:
This object as a l-value object.

const Incarnation operator++ ( int ) [inline]

Post-increment operator.

Increments the embedded counter by one.

Returns:
A const Incarnation object of which the embedded counter's value is equal to the value, the embedded counter of this object had immediately prior to the call to this operator.

Incarnation operator+ ( int i ) const [inline]

Addition operator.

Incarnation & operator+= ( int i ) [inline]

Increment by integer.

The documentation for this class was generated from the following file:
  • Incarnation.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

Incarnation Member List

This is the complete list of members for Incarnation, including all inherited members.

Incarnation() | Incarnation |
operator!=(const Incarnation &rhs) const | Incarnation | [inline]
operator+(int i) const | Incarnation | [inline]
operator++() | Incarnation | [inline]
operator++(int) | Incarnation | [inline]
operator+=(int i) | Incarnation | [inline]
operator==(const Incarnation &rhs) const | Incarnation | [inline]

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: IndependentPrimitiveSet Class Reference

nvsg::IndependentPrimitiveSet

IndependentPrimitiveSet Class Reference

Abstract base class for PrimitiveSet objects with independent primitives. More...

#include <IndependentPrimitiveSet.h>

Inheritance diagram for IndependentPrimitiveSet:

[legend]
Collaboration diagram for IndependentPrimitiveSet:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~IndependentPrimitiveSet ()
Destructs a IndependentPrimitiveSet.
virtual NVSG_API bool | isDataShared () const
Query if the data of this IndependentPrimitiveSet is shared.
virtual NVSG_API DataID | getDataID () const
Get the DataID, which uniquely identifies the sharable object data.
NVSG_API bool | hasIndices () const
Query if this IndependentPrimitiveSet has indices.
NVSG_API unsigned int | getNumberOfIndices () const
Get the number of indices.
NVSG_API const unsigned int * | getIndices () const
Get a pointer to the indices.
NVSG_API void | setIndices (const unsigned int *indices, unsigned int numIndices)
Set the indices of this IndependentPrimitiveSet.
NVSG_API void | setIndices (unsigned int pos, const unsigned int *indices, unsigned int numIndices)
Set a subset of indices of this IndependentPrimitiveSet.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other IndependentPrimitiveSet.
REFLECTION_INFO_API (NVSG_API, IndependentPrimitiveSet)

Protected Member Functions

NVSG_API | IndependentPrimitiveSet ()
Protected constructor to prevent explicit creation.
NVSG_API | IndependentPrimitiveSet (const IndependentPrimitiveSet &rhs)
Protected copy constructor to prevent explicit creation.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this IndependentPrimitiveSet.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculate the bounding sphere of this IndependentPrimitiveSet.
NVSG_API IndependentPrimitiveSet & | operator= (const IndependentPrimitiveSet &rhs)
Assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class for PrimitiveSet objects with independent primitives.

Namespace: nvsg
Remarks:
An IndependentPrimitiveSet is, for example, a Lines, a Quads, or a Triangles object. It holds a vector of indices, where each set of consecutive indices describe one primitive. The size of such a set depends on the primitive type - for example, 3 for Triangles or 4 for Quads.
See also:
Lines, PrimitiveSet, Quads, Triangles

Constructor & Destructor Documentation

virtual NVSG_API ~IndependentPrimitiveSet ( ) [virtual]

Destructs a IndependentPrimitiveSet.

NVSG_API IndependentPrimitiveSet ( ) [protected]

Protected constructor to prevent explicit creation.

Remarks:
The newly created IndependentPrimitiveSet has no indices.
Note:
An IndependentPrimitiveSet will not be instantiated directly, but through instantiating a derived object like Quads or Triangles for example.

NVSG_API IndependentPrimitiveSet ( const IndependentPrimitiveSet & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant IndependentPrimitiveSet to copy from.
Remarks:
The newly created IndependentPrimitiveSet is copied from rhs.
Note:
An IndependentPrimitiveSet will not be instantiated directly, but by instantiating a derived object like Quads or Triangles, for example.

Member Function Documentation

virtual NVSG_API bool isDataShared ( ) const [virtual]

Query if the data of this IndependentPrimitiveSet is shared.

Returns:
true if the data is shared, otherwise false.
See also:
getDataID

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Get the DataID, which uniquely identifies the sharable object data.

Returns:
The unique DataID, which identifies the object data.
See also:
isDataShared

Reimplemented from Object.

bool hasIndices ( ) const [inline]

Query if this IndependentPrimitiveSet has indices.

Returns:
true, if this IndependentPrimitiveSet has indices, otherwise false.
See also:
getNumberOfIndices, getIndices, setIndices

unsigned int getNumberOfIndices ( ) const [inline]

Get the number of indices.

Returns:
The number of indices of this IndependentPrimitiveSet
See also:
hasIndices, getIndices, setIndices

const unsigned int * getIndices ( ) const [inline]

Get a pointer to the indices.

Returns:
A pointer to the constant indices of this IndependentPrimitiveSet
See also:
hasIndices, getNumberOfIndices, setIndices

NVSG_API void setIndices | ( | const unsigned int * | indices,
 |  | unsigned int | numIndices
 | ) |

Set the indices of this IndependentPrimitiveSet.

Parameters:
indices | A pointer to the constant indices to use.
numIndices | The number of indices.
Remarks:
Copies numIndices indices from indices into this IndependentPrimitiveSet.
Note:
The behavior is undefined if there are less than numIndices values of type unsigned int located at indices.
See also:
hasIndices, getNumberOfIndices, getIndices

NVSG_API void setIndices | ( | unsigned int | pos,
 |  | const unsigned int * | indices,
 |  | unsigned int | numIndices
 | ) |

Set a subset of indices of this IndependentPrimitiveSet.

Parameters:
pos | The start position inside the range of pre-existing indices
indices | A pointer to the constant indices to use
numIndices | The number of indices
Remarks:
Copies numIndices indices from indices into this IndependentPrimitiveSet, starting at position pos inside the range of pre-existing indices.
Pre-existing indices in the range [pos, pos + numIndices) will be replaced. Pre-existing indices outside this range remain untouched.
If you specifiy (-1) for pos or pos specifies the number of indices currently stored, the indices pointed to by indices will be appended to the pre-existing indices.
Note:
The behavior is undefined if pos is neither a valid position inside the range of pre-existing indices, nor the number of indices currently stored, nor (-1).

The behavior is undefined if there are less than numIndices values of type unsigned int located at indices.

See also:
hasIndices, getNumberOfIndices, getIndices

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other IndependentPrimitiveSet.

Parameters:
p | A reference to the constant IndependentPrimitiveSet with which to to test for equivalence.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparison; default is false.
Returns:
true if the IndependentPrimitiveSet p is equivalent to this, otherwise false.
Remarks:
Two IndependentPrimitiveSet objects are equivalent if they are equivalent as PrimitiveSet and all their indices are pairwise equal.
Note:
The behavior is undefined if p is not an IndependentPrimitiveSet nor derived from one.
See also:
PrimitiveSet

Reimplemented from PrimitiveSet.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this IndependentPrimitiveSet.

Returns:
The axis-aligned bounding box of this IndependentPrimitiveSet.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this IndependentPrimitiveSet.

Reimplemented from Object.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculate the bounding sphere of this IndependentPrimitiveSet.

Returns:
A nvmath::Sphere3f that contains the complete IndependentPrimitiveSet.
Remarks:
This function is called by the framework to determine a sphere that completely contains the IndependentPrimitiveSet.

Reimplemented from Object.

NVSG_API IndependentPrimitiveSet& operator= ( const IndependentPrimitiveSet & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant IndependentPrimitiveSet to copy from.
Returns:
A reference to the assigned IndependentPrimitiveSet.
Remarks:
The assignment operator calls the assignment operator of PrimitiveSet and copies the indices.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from PrimitiveSet.

The documentation for this class was generated from the following file:
  • IndependentPrimitiveSet.h
Generated on Fri Jul 13 13:30:02 2012 for SceniX


SceniX: Member List

IndependentPrimitiveSet Member List

This is the complete list of members for IndependentPrimitiveSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | IndependentPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | IndependentPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | IndependentPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | IndependentPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIndices() const | IndependentPrimitiveSet | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfIndices() const | IndependentPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasIndices() const | IndependentPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
IndependentPrimitiveSet() | IndependentPrimitiveSet | [protected]
IndependentPrimitiveSet(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
isDataShared() const | IndependentPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | IndependentPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, IndependentPrimitiveSet) (defined in IndependentPrimitiveSet) | IndependentPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndices(const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setIndices(unsigned int pos, const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~IndependentPrimitiveSet() | IndependentPrimitiveSet | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:02 2012 for SceniX


SceniX: indexList_t Struct Reference

indexList_t Struct Reference

The indexList_t structure specifies how an index set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numIndices
Specifies the number of indices in the actual index set.
uint_t indices

Detailed Description

The indexList_t structure specifies how an index set is stored in a .NBF file.

Index sets, in this context, need to be considered in conjunction with NBFStrippedPrimitiveSet objects.

Member Data Documentation

uint_t numIndices

Specifies the number of indices in the actual index set.

uint_t indices

Specifies the file offset to the indices. As specified by the NBF format, a index is a 32-bit unsigned integer value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

indexList_t Member List

This is the complete list of members for indexList_t, including all inherited members.

indices | indexList_t
numIndices | indexList_t

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: IndexMesh Class Reference

nvsg::IndexMesh

IndexMesh Class Reference

IndexList specialization used with a MeshedPrimitiveSet. More...

#include <MeshedPrimitiveSet.h>

List of all members.

Public Member Functions

IndexMesh (unsigned int width, unsigned int height)
unsigned int | getWidth (void) const
unsigned int | getHeight (void) const
void | setDimensions (unsigned int width, unsigned int height)

Detailed Description

IndexList specialization used with a MeshedPrimitiveSet.

Namespace: nvsg
See also:
IndexList

The documentation for this class was generated from the following file:
  • MeshedPrimitiveSet.h
Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: Member List

IndexMesh Member List

This is the complete list of members for IndexMesh, including all inherited members.

getHeight(void) const (defined in IndexMesh) | IndexMesh | [inline]
getWidth(void) const (defined in IndexMesh) | IndexMesh | [inline]
IndexMesh(void) (defined in IndexMesh) | IndexMesh | [inline]
IndexMesh(unsigned int width, unsigned int height) (defined in IndexMesh) | IndexMesh | [inline]
setDimensions(unsigned int width, unsigned int height) (defined in IndexMesh) | IndexMesh | [inline]

Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: IndexSet Class Reference

nvsg::IndexSet

IndexSet Class Reference

Provides an interface to handle indices to be attached to a Primitive. More...

#include <IndexSet.h>

Inheritance diagram for IndexSet:

[legend]
Collaboration diagram for IndexSet:

[legend]
List of all members.

Public Member Functions

NVSG_API | IndexSet ()
Default constructor.
NVSG_API | ~IndexSet ()
Destructs a IndexSet.
NVSG_API | IndexSet (const IndexSet &rhs)
Copy constructor.
NVSG_API void | setData (const unsigned int *indices, unsigned int count, unsigned int primitiveRestartIndex=~0)
Convenience function to set the indices.
NVSG_API void | setData (const unsigned short *indices, unsigned int count, unsigned int primitiveRestartIndex=~0)
NVSG_API void | setData (const unsigned char *indices, unsigned int count, unsigned int primitiveRestartIndex=~0)
NVSG_API void | setData (const void *indices, unsigned int count, unsigned int type=nvsg::NVSG_UNSIGNED_INT, unsigned int primitiveRestartIndex=~0)
NVSG_API void | setBuffer (const BufferSharedPtr &buffer, unsigned int count, unsigned int type=nvsg::NVSG_UNSIGNED_INT, unsigned int primitiveRestartIndex=~0)
set the buffer object to use for this IndexSet
NVSG_API const BufferSharedPtr & | getBuffer () const
Get the buffer attached to this IndexSet.
NVSG_API bool | getData (void *destination) const
Convenience function to get the indices.
NVSG_API unsigned int | getNumberOfIndices () const
Get the number of indices that have been attached to this IndexSet.
NVSG_API void | setPrimitiveRestartIndex (unsigned int index)
Set the "Primitive Restart" index value.
NVSG_API unsigned int | getPrimitiveRestartIndex () const
NVSG_API void | setIndexDataType (unsigned int type)
NVSG_API unsigned int | getIndexDataType () const
NVSG_API IndexSet & | operator= (const IndexSet &rhs)
Assignment operator.
NVSG_API bool | isEquivalent (const IndexSet *p, bool deepCompare) const
Test for equivalence with an other IndexSet.
virtual NVSG_API void | notifyChange (const Subject *originator, unsigned int state=0) const
REFLECTION_INFO_API (NVSG_API, IndexSet)

Static Public Member Functions

static NVSG_API IndexSetSharedPtr | create ()
Creates a new IndexSet.

Protected Member Functions

NVSG_API void | copyDataToBuffer (const void *ptr, unsigned int count)
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.
virtual NVSG_API void | incrementIndexSetIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryIndexSetIncarnation () const

Classes

class | ConstIterator
ConstIterator to iterate the indices as a particular index type. More...

Detailed Description

Provides an interface to handle indices to be attached to a Primitive.

See also:
Primitive

Constructor & Destructor Documentation

NVSG_API IndexSet ( )

Default constructor.

NVSG_API ~IndexSet ( )

Destructs a IndexSet.

NVSG_API IndexSet ( const IndexSet & rhs )

Copy constructor.

Parameters:
rhs A reference to the constant IndexSet to copy from

Member Function Documentation

static NVSG_API IndexSetSharedPtr create ( ) [static]

Creates a new IndexSet.

NVSG_API void setData | ( | const unsigned int * | indices,
 |  | unsigned int | count,
 |  | unsigned int | primitiveRestartIndex = ~0
 | ) |

Convenience function to set the indices.

Parameters:
indices | A pointer to the constant indices to use.
count | The number of indices.
primitiveRestartIndex | The primitiveRestartIndex - see setPrimitiveRestartIndex for info.
Remarks:
Copies count elements from indices into this IndexSet, and sets the data type, primitive restart index, and number of indices.
Note:
SceniX does not make a separate copy of the data, it stores the data in the attached buffer. If no buffer exists, one will be created. To extract the indices, the application must manipulate the buffer or call getData().

The behavior is undefined if there are less than count * sizeof( *indices ) bytes of data located at indices.

This is a convenience function to reference the attached Buffer. If no buffer exists, one will be allocated, resized and the data will be written to the buffer. Beware that if a buffer does exist, it will be resized and data will be written to the buffer. See setBuffer for more details.

Since this method makes assumptions about buffer sizes, it may be faster to manipulate the buffer directly.

See also:
getNumberOfIndices, appendIndexData, setBuffer

NVSG_API void setBuffer | ( | const BufferSharedPtr & | buffer,
 |  | unsigned int | count,
 |  | unsigned int | type = nvsg::NVSG_UNSIGNED_INT,
 |  | unsigned int | primitiveRestartIndex = ~0
 | ) |

set the buffer object to use for this IndexSet

Parameters:
buffer | The buffer to assign to this IndexSet.
count | The number of indices packed in the buffer.
type | Specifies the data type of each index in the buffer. Valid values are NVSG_UNSIGNED_BYTE, NVSG_UNSIGNED_SHORT, or NVSG_UNSIGNED_INT.
primitiveRestartIndex | The primitiveRestartIndex - see setPrimitiveRestartIndex for info.
Remarks:
Copies count elements from indices into this IndexSet, and sets the data type, primitive restart index, and number of indices.

Applications are free to use the convenience function setData() to allocate and fill a buffer, or they may fill a buffer directly and attach it to this IndexSet.

See also:
setData

const BufferSharedPtr & getBuffer ( ) const [inline]

Get the buffer attached to this IndexSet.

Returns:
The buffer

NVSG_API bool getData ( void * destination ) const

Convenience function to get the indices.

Parameters:
destination A pointer to a destination buffer.
Returns:
true if there was an attached buffer and any data has been copied into destination; false otherwise.
Remarks:
Copies all data from attached buffer into destination pointer. Results are undefined if destination is not large enough to hold all the data.
Note:
In order to determine the required buffer size, multiply the number of indices in the buffer by the byte size of the index data type, ie:
size_t bytes = iset->getNumberOfIndices() * nvsg::sizeOfType( iset->getIndexDataType() );

unsigned int getNumberOfIndices ( ) const [inline]

Get the number of indices that have been attached to this IndexSet.

Returns:
The count of indices.

NVSG_API void setPrimitiveRestartIndex ( unsigned int index )

Set the "Primitive Restart" index value.

Parameters:
index The index value to use. At runtime, the value will be masked to use only the number of bits in the index data type (int, short, byte) before being used by the renderer. Typically the application will use ~0 as the restart index to avoid interfering with an actual index.
Remarks:
Primitive Restart is typically used with [LINE|TRIANGLE|QUAD]_STRIP[_ADJACENCY], LINE_LOOP, and TRIANGLE_FAN primitive types, in order to specify multiple primitives at once. While Primitive Restart can be used with other primitive types, it will have no benefit.
When this index is encountered, the primitive type will be restarted as if a second primitive were specified.
Note:
In order to use Primitive Restart, an index must be selected using this method, and the buffer must be packed appropriately with that Primitive Restart index.

The default primitive restart index is 0xFFFFFFFF.

NVSG_API IndexSet& operator= ( const IndexSet & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant IndexSet to copy from.
Returns:
A reference to the assigned IndexSet.

NVSG_API bool isEquivalent | ( | const IndexSet * | p,
 |  | bool | deepCompare
 | ) | const

Test for equivalence with an other IndexSet.

Parameters:
p | A pointer to the constant IndexSet to test for equivalence with.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the IndexSet p is equivalent to this, otherwise false.
Remarks:
Two IndexSets are equivalent if their data type, index count, and primitive restart index are equal; and if deepCompare is true, their buffer size and contents are also equal.
See also:
Primitive, Buffer

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • IndexSet.h
Generated on Fri Jul 13 13:30:03 2012 for SceniX


SceniX: Member List

IndexSet Member List

This is the complete list of members for IndexSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Primitive *owner) (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
copyDataToBuffer(const void *ptr, unsigned int count) (defined in IndexSet) | IndexSet | [protected]
create() | IndexSet | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | IndexSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getBuffer() const | IndexSet | [inline]
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getData(void *destination) const | IndexSet |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexDataType() const (defined in IndexSet) | IndexSet | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfIndices() const | IndexSet | [inline]
getNumberOfOwners() const | OwnedObject< Primitive > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Primitive > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveRestartIndex() const (defined in IndexSet) | IndexSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in IndexSet) | IndexSet | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
IndexSet() | IndexSet |
IndexSet(const IndexSet &rhs) | IndexSet |
isDataShared() const | Object | [virtual]
isEquivalent(const IndexSet *p, bool deepCompare) const | IndexSet |
nvsg::OwnedObject< Primitive >::isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in IndexSet) | IndexSet | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const IndexSet &rhs) | IndexSet |
nvsg::OwnedObject< Primitive >::operator=(const OwnedObject< Primitive > &rhs) | OwnedObject< Primitive > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Primitive > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Primitive > | [protected]
OwnedObject(const OwnedObject< Primitive > &rhs) | OwnedObject< Primitive > | [protected]
OwnerContainer typedef (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > |
OwnerIterator typedef (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > |
ownersBegin() const (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > | [inline]
ownersEnd() const (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in IndexSet) | IndexSet | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, IndexSet) (defined in IndexSet) | IndexSet |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Primitive *owner) (defined in OwnedObject< Primitive >) | OwnedObject< Primitive > | [protected]
setAnnotation(const std::string &anno) | Object |
setBuffer(const BufferSharedPtr &buffer, unsigned int count, unsigned int type=nvsg::NVSG_UNSIGNED_INT, unsigned int primitiveRestartIndex=~0) | IndexSet |
setData(const unsigned int *indices, unsigned int count, unsigned int primitiveRestartIndex=~0) | IndexSet |
setData(const unsigned short *indices, unsigned int count, unsigned int primitiveRestartIndex=~0) (defined in IndexSet) | IndexSet |
setData(const unsigned char *indices, unsigned int count, unsigned int primitiveRestartIndex=~0) (defined in IndexSet) | IndexSet |
setData(const void *indices, unsigned int count, unsigned int type=nvsg::NVSG_UNSIGNED_INT, unsigned int primitiveRestartIndex=~0) (defined in IndexSet) | IndexSet |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexDataType(unsigned int type) (defined in IndexSet) | IndexSet |
setName(const std::string &name) | Object |
setPrimitiveRestartIndex(unsigned int index) | IndexSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~IndexSet() | IndexSet |
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Primitive > | [protected]

Generated on Fri Jul 13 13:30:03 2012 for SceniX


SceniX: IndexSet::ConstIterator Class Template Reference

nvsg::IndexSet::ConstIterator

IndexSet::ConstIterator Class Template Reference

ConstIterator to iterate the indices as a particular index type. More...

#include <IndexSet.h>

Collaboration diagram for IndexSet::ConstIterator:

[legend]
List of all members.

Public Member Functions

ConstIterator (const nvsg::IndexSetSharedPtr &iset, unsigned int offset=0)
ConstIterator (const ConstIterator &rhs)
ConstIterator & | operator= (const ConstIterator &rhs)
T | operator * () const
T | operator[] (size_t index) const
ConstIterator & | operator++ ()
ConstIterator | operator++ (int) const
ConstIterator | operator+ (int offset) const

Protected Attributes

Buffer::DataReadLock | m_readlock
const void * | m_basePtr
unsigned int | m_type
unsigned int | m_offset

Detailed Description

template<typename T>
class nvsg::IndexSet::ConstIterator< T >

ConstIterator to iterate the indices as a particular index type.

The documentation for this class was generated from the following file:
  • IndexSet.h
Generated on Fri Jul 13 13:30:03 2012 for SceniX


SceniX: Member List

IndexSet::ConstIterator Member List

This is the complete list of members for IndexSet::ConstIterator, including all inherited members.

ConstIterator(const nvsg::IndexSetSharedPtr &iset, unsigned int offset=0) (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
ConstIterator(const ConstIterator &rhs) (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
m_basePtr (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [protected]
m_offset (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [protected]
m_readlock (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [protected]
m_type (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [protected]
operator *() const (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
operator+(int offset) const (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
operator++() (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
operator++(int) const (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
operator=(const ConstIterator &rhs) (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
operator[](size_t index) const (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]
~ConstIterator() (defined in IndexSet::ConstIterator) | IndexSet::ConstIterator | [inline]

Generated on Fri Jul 13 13:30:03 2012 for SceniX


SceniX: indexSet_t Struct Reference

indexSet_t Struct Reference

The indexSet_t structure specifies how primitive indices are stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t dataType
Data type.
uint_t primitiveRestartIndex
Primitive Restart Index.
uint_t numberOfIndices
Number of indices in buffer.
uint_t idata
the index data

Detailed Description

The indexSet_t structure specifies how primitive indices are stored in a .NBF file.

Objects of type indexSet_t are always considered in conjunction with NBFPrimitive objects.

Member Data Documentation

uint_t dataType

Data type.

uint_t primitiveRestartIndex

Primitive Restart Index.

uint_t numberOfIndices

Number of indices in buffer.

uint_t idata

the index data

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

indexSet_t Member List

This is the complete list of members for indexSet_t, including all inherited members.

dataType | indexSet_t
idata | indexSet_t
numberOfIndices | indexSet_t
primitiveRestartIndex | indexSet_t

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Intersection Class Reference

nvtraverser::Intersection

Intersection Class Reference

Intersection class. More...

#include <RayIntersectTraverser.h>

Collaboration diagram for Intersection:

[legend]
List of all members.

Public Member Functions

Intersection (void)
Default constructor.
NVSG_API | Intersection (nvsg::Path *pPath, const nvsg::DrawableSharedPtr &pDrawable, const nvmath::Vec3f &isp, float dist, unsigned int primitiveIndex, const std::vector< unsigned int > &vertexIndices)
Constructor.
NVSG_API | Intersection (const Intersection &rhs)
Copy constructor.
virtual NVSG_API | ~Intersection (void)
Default destructor.
NVSG_API Intersection & | operator= (const Intersection &rhs)
Assignment operator.
NVSG_API const nvsg::Path * | getPath () const
Get the Path to the intersected drawable.
NVSG_API const nvsg::DrawableSharedPtr & | getDrawable () const
Get the intersected drawable.
NVSG_API const nvmath::Vec3f & | getIsp () const
Get the intersection point on the intersected drawable.
NVSG_API float | getDist () const
Get the distance from the ray origin to the intersection point.
NVSG_API unsigned int | getPrimitiveIndex () const
Get the index of the intersected primitive.
NVSG_API const std::vector<
unsigned int > & 		getVertexIndices () const
Get the indices if the intersected face, line or point.

Protected Member Functions

NVSG_API void | clone (const Intersection &rhs)
Clone the whole object.

Protected Attributes

nvsg::DrawableSharedPtr | m_pDrawable
Intersected drawable.
nvutil::SmartPtr< nvsg::Path > m_pPath
Path to the intersected drawable.
nvmath::Vec3f m_isp
Intersection point on the intersected drawable.
float | m_dist
Distance from the ray origin to the intersection point.
unsigned int | m_primitiveIndex
Index of the intersected primitive in the Drawable.
std::vector< unsigned int > | m_vertexIndices
Indices of the vertices of the intersected primitive.

Detailed Description

Intersection class.

This class is used to store intersection results generated by the RayIntersectTraverser. It should only be used with classes derived from RayIntersectTraveser because some information like the distance makes sense only when knowing the ray data.

Note:
Needs a valid ViewState, which in turns holds a valid camera. Call setViewState prior to apply().

Constructor & Destructor Documentation

Intersection ( void ) [inline]

Default constructor.

Intersection | ( | nvsg::Path * | pPath,
 |  | const nvsg::DrawableSharedPtr & | pDrawable,
 |  | const nvmath::Vec3f & | isp,
 |  | float | dist,
 |  | unsigned int | primitiveIndex,
 |  | const std::vector< unsigned int > & | vertexIndices
 | ) | [inline]

Constructor.

This contructor creates an intersection object from the given data.

Parameters:
pPath | Path to the intersected drawable.
pDrawable | Intersected drawable.
isp | Intersection point on the drawable.
dist | Distance from the ray origin to the drawable.
primitiveIndex | Index of the intersected primitive in the Drawable.
vertexIndices | Indices of the vertices of the intersected primitive.

Intersection ( const Intersection & rhs ) [inline]

Copy constructor.

Creates a new Intersection object from the given one.

Parameters:
rhs Intersection object to copy from.

~Intersection ( void ) [inline, virtual]

Default destructor.

Member Function Documentation

Intersection & operator= ( const Intersection & rhs ) [inline]

Assignment operator.

const nvsg::Path * getPath ( ) const [inline]

Get the Path to the intersected drawable.

Returns:
Path to the drawable.

const nvsg::DrawableSharedPtr & getDrawable ( ) const [inline]

Get the intersected drawable.

Returns:
Intersected drawable.

const nvmath::Vec3f & getIsp ( ) const [inline]

Get the intersection point on the intersected drawable.

Returns:
Intersection Point.

float getDist ( ) const [inline]

Get the distance from the ray origin to the intersection point.

Returns:
Distance from ray origin to intersection point.

unsigned int getPrimitiveIndex ( ) const [inline]

Get the index of the intersected primitive.

Returns:
An index to the intersected primitive.
Remarks:
This function returns the index of the intersected primitive. e.g. the i-th strip in a TriangleStrip or the i-th triangle in Triangles. With this index you have the abilitiy to access the primitive and modify it.

const std::vector< unsigned int > & getVertexIndices ( ) const [inline]

Get the indices if the intersected face, line or point.

Returns:
Indices to the vertex data of the intersected line, face or point.
Remarks:
The vertices that are returned can be used to access the vertices of the intersected object. The size of this vector determines the primitive category. E.g. If the size of this vector is 3 then the intersected face is a triangle. (4 is a Quad, 2 is a line, 1 a point...)
  // How to access the vertices and normals of the intersected triangle in a triangle strip
  const Vec3f * vertices = intersection->getDrawable()->getVertexAttributeSet()->getVertices();
  const Vec3f * normals = intersection->getDrawable()->getVertexAttributeSet()->getNormals();
  const IndexList & strip = intersection->getDrawable()->getStrips()[intersection->getPrimitiveIndex()];
  const std::vector<unsigned int> & vertIndices = intersection->getVertexIndices();

  const Vec3f & v0 = vertices[strip[vertIndices[0]]];
  const Vec3f & v1 = vertices[strip[vertIndices[1]]];
  const Vec3f & v2 = vertices[strip[vertIndices[2]]];

  const Vec3f & n0 = normals[strip[vertIndices[0]]];
  const Vec3f & n1 = normals[strip[vertIndices[1]]];
  const Vec3f & n2 = normals[strip[vertIndices[2]]];

void clone ( const Intersection & rhs ) [inline, protected]

Clone the whole object.

Use this, for example, for the copy constructor.

Parameters:
rhs Object to clone.

Member Data Documentation

nvsg::DrawableSharedPtr m_pDrawable [protected]

Intersected drawable.

nvutil::SmartPtr<nvsg::Path> m_pPath [protected]

Path to the intersected drawable.

nvmath::Vec3f m_isp [protected]

Intersection point on the intersected drawable.

float m_dist [protected]

Distance from the ray origin to the intersection point.

unsigned int m_primitiveIndex [protected]

Index of the intersected primitive in the Drawable.

std::vector<unsigned int> m_vertexIndices [protected]

Indices of the vertices of the intersected primitive.

The documentation for this class was generated from the following file:
  • RayIntersectTraverser.h
Generated on Fri Jul 13 13:30:46 2012 for SceniX


SceniX: Member List

Intersection Member List

This is the complete list of members for Intersection, including all inherited members.

clone(const Intersection &rhs) | Intersection | [inline, protected]
getDist() const | Intersection | [inline]
getDrawable() const | Intersection | [inline]
getIsp() const | Intersection | [inline]
getPath() const | Intersection | [inline]
getPrimitiveIndex() const | Intersection | [inline]
getVertexIndices() const | Intersection | [inline]
Intersection(void) | Intersection | [inline]
Intersection(nvsg::Path *pPath, const nvsg::DrawableSharedPtr &pDrawable, const nvmath::Vec3f &isp, float dist, unsigned int primitiveIndex, const std::vector< unsigned int > &vertexIndices) | Intersection | [inline]
Intersection(const Intersection &rhs) | Intersection | [inline]
m_dist | Intersection | [protected]
m_isp | Intersection | [protected]
m_pDrawable | Intersection | [protected]
m_pPath | Intersection | [protected]
m_primitiveIndex | Intersection | [protected]
m_vertexIndices | Intersection | [protected]
operator=(const Intersection &rhs) | Intersection | [inline]
~Intersection(void) | Intersection | [inline, virtual]

Generated on Fri Jul 13 13:30:46 2012 for SceniX


SceniX: KeyFramedAnimationDescription Class Template Reference

nvsg::KeyFramedAnimationDescription

KeyFramedAnimationDescription Class Template Reference

Abstract base class for key-framed Animations of type T. More...

#include <KeyFramedAnimation.h>

Inheritance diagram for KeyFramedAnimationDescription:

[legend]
Collaboration diagram for KeyFramedAnimationDescription:

[legend]
List of all members.

Public Member Functions

virtual | ~KeyFramedAnimationDescription (void)
Destructs a KeyFramedAnimationDescription.
virtual unsigned int | getNumberOfSteps () const
Get the number of steps in this AnimationDescription.
void | addKey (unsigned int step, const T &value)
Add a single key frame to the end of the Animation.
void | addKeys (unsigned int numberOfKeys, const unsigned int *steps, const T *values)
Add a number of key frames to the end of the Animation.
void | insertKey (unsigned int key, unsigned int step, const T &value)
Insert a key frame defining a step with a value.
unsigned int | getKeyStep (unsigned int key) const
Get the step index corresponding to the key key.
const unsigned int * | getKeySteps () const
Get a pointer to the key frame indices.
const T & | getKeyValue (unsigned int key) const
Get the value of type T corresponding to the key key.
const T * | getKeyValues () const
Get a pointer to the animation key frame values.
unsigned int | getNumberOfKeys (void) const
Get the number of keys in this KeyFramedAnimationDescription.
virtual T | getStepValue (unsigned int step) const
Get the value of a KeyFramedAnimationDescription at the specified step.
void | replaceKey (unsigned int key, unsigned int step, const T &value)
Replace step and value of a specified key frame.
void | replaceKeys (unsigned int key, unsigned int numberOfKeys, const unsigned int *steps, const T *values)
Replace steps and values of a number of consecutive key frames.
void | removeKey (unsigned int key)
Remove a single key frame from the Animation.
void | removeKeys (unsigned int key, unsigned int numberOfKeys)
Remove a number of consecutive keys frames.
void | reserveKeys (unsigned int numberOfKeys)
Reserve space for a specified number of key frames.
virtual void | replaceStep (unsigned int step, const T &value)
Replace the value at the specified animation step.
virtual void | removeStep (unsigned int step)
Remove the current frame.
virtual bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another KeyFramedAnimationDescription of type T.

Static Public Member Functions

static nvutil::ObjectTraits<
KeyFramedAnimationDescription<
T > >::SharedPtr 		create ()

Protected Member Functions

KeyFramedAnimationDescription (void)
Protected constructor to prevent explicit creation.
KeyFramedAnimationDescription (const KeyFramedAnimationDescription &rhs)
Protected copy constructor to prevent explicit creation.
unsigned int | getKey (unsigned int frame) const
Get the key above or equal to frame frame.
KeyFramedAnimationDescription<
T > & 		operator= (const KeyFramedAnimationDescription< T > &rhs)
Protected assignment operator.
virtual void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

template<typename T>
class nvsg::KeyFramedAnimationDescription< T >

Abstract base class for key-framed Animations of type T.

Namespace: nvsg
Remarks:
A KeyFramedAnimationDescription holds the information for a key-frame based animation. For each key, it holds the frame corresponding to that key, and a value of type T that is to be interpolated between the frames of successive keys. It provides the interface needed for an interpolated animation, but does not perform any interpolations. Interpolations must be performed by a derived class such as LinearInterpolatedAnimationDescription.
See also:
Animation, LinearInterpolatedAnimationDescription

Constructor & Destructor Documentation

~KeyFramedAnimationDescription ( void ) [inline, virtual]

Destructs a KeyFramedAnimationDescription.

KeyFramedAnimationDescription ( void ) [inline, protected]

Protected constructor to prevent explicit creation.

Remarks:
The current frame is set to be invalid, and there are no keys or values.
Note:
Because KeyFramedAnimationDescription is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.

KeyFramedAnimationDescription ( const KeyFramedAnimationDescription< T > & rhs ) [inline, protected]

Protected copy constructor to prevent explicit creation.

Remarks:
Keys and values, as well as the current frame are copied from rhs.
Note:
Because KeyFramedAnimationDescription is an abstract class, its constructor is never used explicitly, but in the constructor of derived classes.

Member Function Documentation

unsigned int getNumberOfSteps ( ) const [virtual]

Get the number of steps in this AnimationDescription.

Returns:
The number of steps in this AnimationDescription.
Remarks:
This is the number of steps to run once from the first to the last defined frame.
See also:
getNumberOfFrames

Implements AnimationDescription.

void addKey | ( | unsigned int | step,
 |  | const T & | value
 | ) | [inline]

Add a single key frame to the end of the Animation.

Parameters:
step | The frame index of the key frame.
value | The value of the key frame.
Note:
The behavior is undefined if this KeysFramedAnimation already holds at least one key frame and step is less or equal to the step of the current last key frame.
See also:
addKeys, reserveKeys

void addKeys | ( | unsigned int | numberOfKeys,
 |  | const unsigned int * | steps,
 |  | const T * | values
 | ) | [inline]

Add a number of key frames to the end of the Animation.

Parameters:
numberOfKeys | The number of key frames to add as the last key frames.
steps | A pointer to the frame indices of the key frames.
values | A pointer to the values of the key frames.
Note:
The behavior is undefined if the steps in steps are not strictly increasing, or this KeyFramedAnimationDescription already holds at least one key frame and the first step in steps is less or equal to the step of the current last key frame.
See also:
addKey, reserveKeys

void insertKey | ( | unsigned int | key,
 |  | unsigned int | step,
 |  | const T & | value
 | ) | [inline]

Insert a key frame defining a step with a value.

Parameters:
key | Index of the key to insert.
step | Step of the new key frame.
value | Value of the new key frame.
Remarks:
If the key frame at index key already specifies animation step step, the value of that key frame is replaced by value. Otherwise a new key frame at index key with the given step and value is inserted.
Note:
The behavior is undefined if step is not greater than the step value of the key frame before key, or if step is not smaller than the step value of the key frame after key.

unsigned int getKeyStep ( unsigned int key ) const [inline]

Get the step index corresponding to the key key.

Parameters:
key The key index from which to get the corresponding step.
Returns:
The step index corresponding to the key key
Note:
The behavior is undefined if key is greater than or equal to the number of keys.
See also:
getNumberOfKeys, getKeyValue

const unsigned int * getKeySteps ( ) const [inline]

Get a pointer to the key frame indices.

Returns:
A constant pointer to the key frame indices.
See also:
getKeyStep, getKeyValue, getKeyValues

const T & getKeyValue ( unsigned int key ) const [inline]

Get the value of type T corresponding to the key key.

Parameters:
key The key index to get the corresponding value of type T of.
Returns:
The value of type T corresponding to the key key.
Note:
The behavior is undefined if key is greater than or equal to the number of keys.
See also:
getKeyStep, getNumberOfKeys

const T * getKeyValues ( ) const [inline]

Get a pointer to the animation key frame values.

Returns:
A constant pointer to the animation key frame values.
See also:
getKeyValue, getKeySteps

unsigned int getNumberOfKeys ( void ) const [inline]

Get the number of keys in this KeyFramedAnimationDescription.

Returns:
The number of keys
Remarks:
A key frame is defined by the step corresponding to a key, and a value of type T.
See also:
getKeyStep, getKeyValue

T getStepValue ( unsigned int step ) const [inline, virtual]

Get the value of a KeyFramedAnimationDescription at the specified step.

Parameters:
step Index of the step to get the value at.
Returns:
The value at the specified step.
Remarks:
For a KeyFramedAnimationDescription, the value at the specified step equals the value at the key frame just before step.
Note:
The behavior is undefined if step is larger than or equal to the current number of steps.
See also:
getNumberOfStep, getStepValues

Implements AnimationDescription.

Reimplemented in LinearInterpolatedAnimationDescription.

void replaceKey | ( | unsigned int | key,
 |  | unsigned int | step,
 |  | const T & | value
 | ) | [inline]

Replace step and value of a specified key frame.

Parameters:
key | The key frame to replace step and value.
step | The step index to use for key frame key.
value | The value to use for key frame key.
Note:
The behavior is undefined if is larger or equal to the current number of keys, of if step is less or equal to the step of the key frame key - 1, if that exists, or if step is greater or equal to the step of the key frame key + 1, if that exists.
See also:
replaceKeys

void replaceKeys | ( | unsigned int | key,
 |  | unsigned int | numberOfKeys,
 |  | const unsigned int * | steps,
 |  | const T * | values
 | ) | [inline]

Replace steps and values of a number of consecutive key frames.

Parameters:
key | The first key frame to change step and value of.
numberOfKeys | The number of key frames to change.
steps | A constant pointer to the step indices to use.
values | A constant pointer to the values to use.
Note:
The behavior is undefined if key + numberOfKeys is larger than the current number of keys, of if the steps in steps are not strictly increasing, or the first step in steps is less or equal to the step of key frame key - 1, if that exists, or the last step in steps is greater or equal to the step of key frame key + numberOfKeys + 1, if that exists.
See also:
replaceKey

void removeKey ( unsigned int key ) [inline]

Remove a single key frame from the Animation.

Parameters:
key The key frame to remove from the Animation.
Note:
The behavior is undefined if key is larger than or equal to the current number of keys.
See also:
removeKeys, getNumberOfKeys

void removeKeys | ( | unsigned int | key,
 |  | unsigned int | numberOfKeys
 | ) | [inline]

Remove a number of consecutive keys frames.

Parameters:
key | The first key frame to remove.
numberOfKeys | The number of key frames to remove.
Note:
The behavior is undefined if key + numberOfKeys is larger than the current number of steps.
See also:
removeKey, getNumberOfKeys

void reserveKeys ( unsigned int numberOfKeys ) [inline]

Reserve space for a specified number of key frames.

Parameters:
numberOfKeys Reserve space for that number of key frames.
See also:
addKey, addKeys

void replaceStep | ( | unsigned int | step,
 |  | const T & | value
 | ) | [inline, virtual]

Replace the value at the specified animation step.

Parameters:
step | The step index of the animation to replace.
value | The value to use for the specified step.
Remarks:
The animation step step is replaced by inserting a key frame at the specified animation step.
See also:
insertKey

Implements AnimationDescription.

void removeStep ( unsigned int step ) [inline, virtual]

Remove the current frame.

Parameters:
step The step index to remove.
Remarks:
The animation step step is removed by inserting two key frames to the left and right of the animation step step and decrementing the step index of each key frame after the animation step to remove by one. If there is a key frame defined at the animation step step, it is removed.
See also:
insertKey, removeKey

Implements AnimationDescription.

bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Test for equivalence with another KeyFramedAnimationDescription of type T.

Parameters:
p | A reference to the constant KeyFramedAnimationDescription of type T to test for equivalence with
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the KeyFramedAnimationDescription p of type T is equivalent to this, otherwise false.
Remarks:
Two KeyFramedAnimationDescription objects of type T are equivalent if they are equivalent as Animation of type T, and all of their keys and values are pair-wise equal.
Note:
The behavior is undefined if p is not an KeyFramedAnimationDescription of type T nor derived from one.
See also:
Animation

Reimplemented from AnimationDescription.

unsigned int getKey ( unsigned int frame ) const [inline, protected]

Get the key above or equal to frame frame.

Parameters:
frame The frame index for which to get the corresponding (or above) key index
Returns:
The key index corresponding to the frame frame, or the key index above.
Remarks:
Note:
The behavior is undefined if frame is greater than or equal to the number of frames.
See also:

KeyFramedAnimationDescription< T > & operator= ( const KeyFramedAnimationDescription< T > & rhs ) [protected]

Protected assignment operator.

Parameters:
rhs Reference of the constant KeyFramedAnimationDescription of type T to copy from
Returns:
A reference to the assigned KeyFramedAnimationDescription of type T
Remarks:
The assignment operator calls the assignment operator of Animation of type T and copies the keys and values, as well as the current frame information.
See also:
Animation

void feedHashGenerator ( nvutil::HashGenerator & hg ) const [inline, protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • KeyFramedAnimation.h
Generated on Fri Jul 13 13:30:03 2012 for SceniX


SceniX: Member List

KeyFramedAnimationDescription Member List

This is the complete list of members for KeyFramedAnimationDescription, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addKey(unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline]
addKeys(unsigned int numberOfKeys, const unsigned int *steps, const T *values) | KeyFramedAnimationDescription | [inline]
addOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
AnimationDescription(void) | AnimationDescription | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in KeyFramedAnimationDescription) | KeyFramedAnimationDescription | [inline, static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | KeyFramedAnimationDescription | [inline, protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getKey(unsigned int frame) const | KeyFramedAnimationDescription | [inline, protected]
getKeyStep(unsigned int key) const | KeyFramedAnimationDescription | [inline]
getKeySteps() const | KeyFramedAnimationDescription | [inline]
getKeyValue(unsigned int key) const | KeyFramedAnimationDescription | [inline]
getKeyValues() const | KeyFramedAnimationDescription | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfKeys(void) const | KeyFramedAnimationDescription | [inline]
getNumberOfOwners() const | OwnedObject< Animation< T > > |
getNumberOfSteps() const | KeyFramedAnimationDescription | [virtual]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Animation< T > > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getStepValue(unsigned int step) const | KeyFramedAnimationDescription | [inline, virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertKey(unsigned int key, unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline]
invalidate() (defined in AnimationDescription) | AnimationDescription | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | KeyFramedAnimationDescription | [inline, virtual]
KeyFramedAnimationDescription(void) | KeyFramedAnimationDescription | [inline, protected]
KeyFramedAnimationDescription(const KeyFramedAnimationDescription &rhs) | KeyFramedAnimationDescription | [inline, protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const KeyFramedAnimationDescription< T > &rhs) | KeyFramedAnimationDescription | [protected]
nvsg::AnimationDescription::operator=(const AnimationDescription &rhs) | AnimationDescription | [inline, protected]
nvsg::OwnedObject< Animation< T > >::operator=(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Animation< T > > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Animation< T > > | [protected]
OwnedObject(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > | [protected]
OwnerContainer typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
OwnerIterator typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
ownersBegin() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
ownersEnd() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeKey(unsigned int key) | KeyFramedAnimationDescription | [inline]
removeKeys(unsigned int key, unsigned int numberOfKeys) | KeyFramedAnimationDescription | [inline]
removeOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
removeStep(unsigned int step) | KeyFramedAnimationDescription | [inline, virtual]
replaceKey(unsigned int key, unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline]
replaceKeys(unsigned int key, unsigned int numberOfKeys, const unsigned int *steps, const T *values) | KeyFramedAnimationDescription | [inline]
replaceStep(unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline, virtual]
reserveKeys(unsigned int numberOfKeys) | KeyFramedAnimationDescription | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~AnimationDescription() (defined in AnimationDescription) | AnimationDescription | [inline, virtual]
~KeyFramedAnimationDescription(void) | KeyFramedAnimationDescription | [inline, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Animation< T > > | [protected]

Generated on Fri Jul 13 13:30:03 2012 for SceniX


SceniX: keyVariant_t Struct Reference

keyVariant_t Struct Reference

The keyVariant_t structure specifies how a pair of a VariantKey and a StateVariant is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t key
Specifies the key of this pair.
uint_t variant
Specifies the offset to an NBFStateVariant in the .NBF file.

Detailed Description

The keyVariant_t structure specifies how a pair of a VariantKey and a StateVariant is stored in a .NBF file.

Member Data Documentation

uint_t key

Specifies the key of this pair.

uint_t variant

Specifies the offset to an NBFStateVariant in the .NBF file.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

keyVariant_t Member List

This is the complete list of members for keyVariant_t, including all inherited members.

key | keyVariant_t
variant | keyVariant_t

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Lanczos3Filter Class Reference

nvsg::Lanczos3Filter

Lanczos3Filter Class Reference

ScaleFilter functor providing lanczos3 filter functionality. More...

#include <TextureHost.h>

Inheritance diagram for Lanczos3Filter:

[legend]
Collaboration diagram for Lanczos3Filter:

[legend]
List of all members.

Public Member Functions

NVSG_API float | getSupportWidth (void) const
Get the support width of the Lanczos3Filter.
NVSG_API float | operator() (float t) const
Weight calculation operator.

Detailed Description

ScaleFilter functor providing lanczos3 filter functionality.

A Lanczos3Filter has a support width of 3.0. For distances t between source and destination texel in the half open interval [0.0,3.0), the weight is ( sinc(x) * sinc(x/3.0) ), with x = t * PI, otherwise 0.0.

Member Function Documentation

float getSupportWidth ( void ) const [inline, virtual]

Get the support width of the Lanczos3Filter.

Returns:
the support width of the Lanczos3Filter is 3.0.

Implements ScaleFilter.

float operator() ( float t ) const [inline, virtual]

Weight calculation operator.

Returns:
( sinc(x) * sinc(x/3.0) ), with x=t * PI, if t is in the interval [0.0,3.0), otherwise 0.0.

Implements ScaleFilter.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: Member List

Lanczos3Filter Member List

This is the complete list of members for Lanczos3Filter, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getSupportWidth(void) const | Lanczos3Filter | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(float t) const | Lanczos3Filter | [inline, virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: LightingAttribute Class Reference

nvsg::LightingAttribute

LightingAttribute Class Reference

StateAttribute indicating whether lighting should be disabled. More...

#include <LightingAttribute.h>

Inheritance diagram for LightingAttribute:

[legend]
Collaboration diagram for LightingAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setEnabled (bool state)
Set the enabled state.
NVSG_API bool | getEnabled () const
Get the enabled state.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another LightingAttribute.
NVSG_API LightingAttribute & | operator= (const LightingAttribute &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, LightingAttribute)

Static Public Member Functions

static NVSG_API LightingAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | LightingAttribute ()
Default-constructs a LightingAttribute.
NVSG_API | LightingAttribute (const LightingAttribute &rhs)
Constructs a LightingAttribute as a copy from another LightingAttribute.
virtual NVSG_API | ~LightingAttribute ()
Destructs a LightingAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute indicating whether lighting should be disabled.

Namespace: nvsg
Remarks:
SceniX's default mode is to render all geometry with lighting enabled. This state attribute provides a means to force lighting off for a set of geometry. Since the default mode is to render with lighting enabled, it is NOT NECESSARY to add this state attribute to all StateSets with geometry that should be affected by lighting. Therefore, adding this state attribute and setting the value to "enabled" is essentially a NO-OP.
See also:
StateAttribute,

Constructor & Destructor Documentation

NVSG_API LightingAttribute ( ) [protected]

Default-constructs a LightingAttribute.

Remarks:
A default-constructed LightingAttribute is initialized with its state set to DISABLED

NVSG_API LightingAttribute ( const LightingAttribute & rhs ) [protected]

Constructs a LightingAttribute as a copy from another LightingAttribute.

Parameters:
rhs Source LightingAttribute.

virtual NVSG_API ~LightingAttribute ( ) [protected, virtual]

Destructs a LightingAttribute.

Member Function Documentation

NVSG_API void setEnabled ( bool state )

Set the enabled state.

Parameters:
state the enabled or disabled state of the attribute.
See also:
getEnabled

bool getEnabled ( ) const [inline]

Get the enabled state.

Returns:
bool indicating the current state
See also:
setEnabled

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another LightingAttribute.

Parameters:
p | Pointer to the constant LightingAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the LightingAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as StateAttribute, they are considered to be equivalent if they have the same state value.
Note:
The behaviour is undefined if p is not a LightingAttribute nor derived from one.
See also:
StateAttribute, getAlphaFunction

Reimplemented from Object.

NVSG_API LightingAttribute& operator= ( const LightingAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant LightingAttribute to copy from
Returns:
A reference to the assigned LightingAttribute
Remarks:
The assignment operator calls the assignment operator of StateAttribute and copies the LightingAttribute specific data then.
See also:
PrimitiveAttribute

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • LightingAttribute.h
Generated on Fri Jul 13 13:30:04 2012 for SceniX


SceniX: Member List

LightingAttribute Member List

This is the complete list of members for LightingAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in LightingAttribute) | LightingAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | LightingAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getEnabled() const | LightingAttribute | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | LightingAttribute | [virtual]
LightingAttribute() | LightingAttribute | [protected]
LightingAttribute(const LightingAttribute &rhs) | LightingAttribute | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const LightingAttribute &rhs) | LightingAttribute |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, LightingAttribute) (defined in LightingAttribute) | LightingAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setEnabled(bool state) | LightingAttribute |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~LightingAttribute() | LightingAttribute | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:04 2012 for SceniX


SceniX: LightSource Class Reference

nvsg::LightSource

LightSource Class Reference

Abstract base class for all light sources. More...

#include <LightSource.h>

Inheritance diagram for LightSource:

[legend]
Collaboration diagram for LightSource:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~LightSource ()
Destructs a LightSource. If the LightSource holds an Animation, its reference count is decremented.
virtual NVSG_API void | syncEffectLight (CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const
virtual NVSG_API void | syncMetaSLLightParameters (CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const
NVSG_API const nvmath::Vec3f & | getAmbientColor () const
Get the ambient color of this LightSource.
NVSG_API void | setAmbientColor (const nvmath::Vec3f &color)
Set the ambient color of this LightSource.
NVSG_API const nvmath::Vec3f & | getDiffuseColor () const
Get the diffuse color of this LightSource.
NVSG_API void | setDiffuseColor (const nvmath::Vec3f &color)
Set the diffuse color of this LightSource.
NVSG_API const nvmath::Vec3f & | getSpecularColor () const
Get the specular color of this LightSource.
NVSG_API void | setSpecularColor (const nvmath::Vec3f &color)
Set the specular color of this LightSource.
NVSG_API float | getIntensity () const
Get the intensity of this LightSource.
NVSG_API void | setIntensity (float intensity)
Set the intensity of this LightSource.
NVSG_API bool | isEnabled () const
Query if this LightSource is enabled.
NVSG_API bool | isShadowCasting () const
Query if this LightSource casts shadows.
NVSG_API void | setEnabled (bool enable)
Set the enabled state of this LightSource.
NVSG_API void | setShadowCasting (bool cast)
Set the shadow casting state of this LightSource.
NVSG_API const TrafoAnimationSharedPtr & | getAnimation () const
Get the Animation of this LightSource.
NVSG_API void | setAnimation (const TrafoAnimationSharedPtr &animation)
Set the Animation of this LightSource.
NVSG_API nvmath::Mat44f | getTransformationMatrix () const
Get the current transformation.
NVSG_API nvmath::Mat44f | getInverse () const
Get the inverse of the transformation.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another LightSource.
REFLECTION_INFO_API (NVSG_API, LightSource)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (AmbientColor)
NVSG_API | DECLARE_STATIC_PROPERTY (DiffuseColor)
NVSG_API | DECLARE_STATIC_PROPERTY (SpecularColor)
NVSG_API | DECLARE_STATIC_PROPERTY (Intensity)
NVSG_API | DECLARE_STATIC_PROPERTY (Enabled)
NVSG_API | DECLARE_STATIC_PROPERTY (ShadowCasting)

Protected Member Functions

NVSG_API | LightSource ()
Protected default constructor to prevent explicit creation.
NVSG_API | LightSource (const LightSource &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API LightSource & | operator= (const LightSource &rhs)
Assignment operator.
NVSG_API void | determineMetaSLLightParameterSpace (CgFxEffect *fx, CgFxParameter param, const nvmath::Mat44f &world, const nvmath::Mat44f &view, nvmath::Mat44f &transform) const
Determines the space in which the indicated MetaSL light parameter is expected.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Protected Attributes

nvmath::Trafo m_trafo
Trafo used by every kind of light source.

Detailed Description

Abstract base class for all light sources.

Namespace: nvsg
Remarks:
A LightSource contains data and functionality common to all light sources (DirectedLight, SpotLight, ...).
Note:
A LightSource has no method to turn light sources on or off. This functionality is located in the Group holding the LightSource objects.

LightSource objects only influence objects beneath the Group the LightSource is part of.

See also:
DirectedLight, PointLight, SpotLight, Switch

Constructor & Destructor Documentation

virtual NVSG_API ~LightSource ( ) [virtual]

Destructs a LightSource. If the LightSource holds an Animation, its reference count is decremented.

NVSG_API LightSource ( ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
The default values of the newly created LightSource are as follows:
  • ambient color is black (0.0,0.0,0.0)
  • animation is none (NULL)
  • diffuse color is white (1.0,1.0,1.0)
  • intensity is one (1.0)
  • shadow casting is on
  • specular color is white (1.0,1.0,1.0)
  • transform is the identity
Note:
A LightSource will not be instantiated directly, but by instantiating a derived object like DirectedLight or PointLight, for example.

NVSG_API LightSource ( const LightSource & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant LightSource to copy from.
Remarks:
The newly created LightSource is copied from rhs.
Note:
A LightSource will not be instantiated directly, but by instantiating a derived object like Quads or Triangles for example.

Member Function Documentation

const nvmath::Vec3f & getAmbientColor ( ) const [inline]

Get the ambient color of this LightSource.

Returns:
A reference to the constant ambient color.
Remarks:
The ambient color of a LightSource modulates the material ambient term. It is not dependent on any other lighting factors except attenuation and spotlight cutoff. The default is black (0.0,0.0,0.0).
See also:
getDiffuseColor, getSpecularColor, setAmbientColor

void setAmbientColor ( const nvmath::Vec3f & color ) [inline]

Set the ambient color of this LightSource.

Parameters:
color A reference to the constant ambient color to set.
Remarks:
The ambient color of a LightSource modulates the material ambient term. It is not dependent on any other lighting factors except for attenuation and spotlight cutoff. The default is black (0.0,0.0,0.0).
See also:
getAmbientColor, setDiffuseColor, setSpecularColor

const nvmath::Vec3f & getDiffuseColor ( ) const [inline]

Get the diffuse color of this LightSource.

Returns:
A reference to the constant diffuse color.
Remarks:
The diffuse color of a light is used to calculate lighting contributions that might depend on vertex normals, light direction, light position, range, or attenuation, depending on the type of light source. The default is white (1.0,1.0,1.0).
See also:
getAmbientColor, getSpecularColor, setDiffuseColor

void setDiffuseColor ( const nvmath::Vec3f & color ) [inline]

Set the diffuse color of this LightSource.

Parameters:
color A reference to the constant diffuse color to set.
Remarks:
The diffuse color of a light is used to calculate lighting contributions that might depend on vertex normals, light direction, light position, range, or attenuation, depending on the type of light source. The default is white (1.0,1.0,1.0).
See also:
getDiffuseColor, setAmbientColor, setSpecularColor

const nvmath::Vec3f & getSpecularColor ( ) const [inline]

Get the specular color of this LightSource.

Returns:
A reference to the constant specular color.
Remarks:
The specular color of a light is used to calculate any lighting contributions from vertex normals, vertex position, light direction, light position, range, or attenuation, depending on the type of light source. The default is white (1.0,1.0,1.0).
See also:
getAmbientColor, getDiffuseColor, setSpecularColor,

void setSpecularColor ( const nvmath::Vec3f & color ) [inline]

Set the specular color of this LightSource.

Parameters:
color A reference to the constant specular color to set.
Remarks:
The specular color of a light is used to calculate any lighting contributions from vertex normals, vertex position, light direction, light position, range, or attenuation, depending on the type of light source. The default is white (1.0,1.0,1.0).
See also:
getSpecularColor, setAmbientColor, setDiffuseColor

float getIntensity ( ) const [inline]

Get the intensity of this LightSource.

Returns:
The intensity.
Remarks:
The intensity of a LightSource is a multiplier for all three color types of this LightSource.
See also:
getAmbientColor, getDiffuseColor, getSpecularColor, setIntensity

void setIntensity ( float intensity ) [inline]

Set the intensity of this LightSource.

Parameters:
intensity The intensity to set.
Remarks:
The intensity of a LightSource is a multiplier for all three color types of this LightSource.
See also:
getIntensity, setAmbientColor, setDiffuseColor, setSpecularColor

bool isEnabled ( ) const [inline]

Query if this LightSource is enabled.

Returns:
true, if this LightSource is enabled, otherwise false.
See also:
setEnabled

bool isShadowCasting ( ) const [inline]

Query if this LightSource casts shadows.

Returns:
true, if this LightSource casts shadows, otherwise false.
Remarks:
A LightSource might be excluded from the shadow casters by this flag. The default value is true.
See also:
setShadowCasting

void setEnabled ( bool enable ) [inline]

Set the enabled state of this LightSource.

Parameters:
enable true, to switch the LightSource on, false to switch it off.
See also:
isEnabled

void setShadowCasting ( bool cast ) [inline]

Set the shadow casting state of this LightSource.

Parameters:
cast true, to switch shadow casting on, false to switch it off.
Remarks:
A LightSource might be excluded from the shadow casters by this flag. The default value is true.
See also:
isShadowCasting

const TrafoAnimationSharedPtr & getAnimation ( ) const [inline]

Get the Animation of this LightSource.

Returns:
The Trafo Animation of this LightSource.
Remarks:
The position and orientation of a LightSource can be animated by an Animation of Trafo.
See also:
Animation, nvmath::Trafo, setAnimation

NVSG_API void setAnimation ( const TrafoAnimationSharedPtr & animation )

Set the Animation of this LightSource.

Parameters:
animation The Animation to use.
Remarks:
The position and orientation of a LightSource can be animated by an Animation of Trafo.
See also:
Animation, nvmath::Trafo, getAnimation

nvmath::Mat44f getTransformationMatrix ( ) const [inline]

Get the current transformation.

Returns:
The transformation that determines position and orientation of this LightSource.
See also:
getInverse

nvmath::Mat44f getInverse ( ) const [inline]

Get the inverse of the transformation.

Returns:
The inverse of the transformation that determines position and orientation of this LightSource.
See also:
getTransformationMatrix

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another LightSource.

Parameters:
p | A pointer to the LightSource to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the LightSource p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Node, their Animation objects are tested for equivalence. If deepCompare is true, and there is an Animation object in both this and p, a full equivalence test on them is performed, otherwise they are considered to be equivalent if they are the same pointers. All the other LightSource data are tested for equality.
Note:
The behavior is undefined if p is not a LightSource nor derived from one.
See also:
DirectedLight, Node, PointLight, SpotLight

Reimplemented from Object.

Reimplemented in PointLight, and SpotLight.

NVSG_API LightSource& operator= ( const LightSource & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant LightSource to copy from.
Returns:
A reference to the assigned LightSource.
Remarks:
The assignment operator calls the assignment operator of Node. The reference count of any currently attached Animation is decremented, all data specific to a LightSource is copied, and any Animation attached to rhs is cloned.

NVSG_API void determineMetaSLLightParameterSpace | ( | CgFxEffect * | fx,
 |  | CgFxParameter | param,
 |  | const nvmath::Mat44f & | world,
 |  | const nvmath::Mat44f & | view,
 |  | nvmath::Mat44f & | transform
 | ) | const [protected]

Determines the space in which the indicated MetaSL light parameter is expected.

Parameters:
fx | The CgFxEffect in which the light parameter is defined
param | The MetaSL light parameter
world | Specifies the object-to-world transformation at the time of calling
view | Specifies the world-to-view transformation at the time of calling
transform | Determined 4x4 matrix that can be used to transform object space coordinates to target space.
Remarks:
This utility function evaluates the given MetaSL light parameter, and determines the 4x4 matrix to transform object space coordinates to the light parameter's target space.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in PointLight, and SpotLight.

Member Data Documentation

nvmath::Trafo m_trafo [protected]

Trafo used by every kind of light source.

The documentation for this class was generated from the following file:
  • LightSource.h
Generated on Fri Jul 13 13:30:04 2012 for SceniX


SceniX: Member List

LightSource Member List

This is the complete list of members for LightSource, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(AmbientColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(DiffuseColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(SpecularColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Intensity) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Enabled) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(ShadowCasting) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineMetaSLLightParameterSpace(CgFxEffect *fx, CgFxParameter param, const nvmath::Mat44f &world, const nvmath::Mat44f &view, nvmath::Mat44f &transform) const | LightSource | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | LightSource | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAmbientColor() const | LightSource | [inline]
getAnimation() const | LightSource | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDiffuseColor() const | LightSource | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIntensity() const | LightSource | [inline]
getInverse() const | LightSource | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSpecularColor() const | LightSource | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTransformationMatrix() const | LightSource | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEnabled() const | LightSource | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | LightSource | [virtual]
isShadowCasting() const | LightSource | [inline]
LightSource() | LightSource | [protected]
LightSource(const LightSource &rhs) | LightSource | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
m_trafo | LightSource | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const LightSource &rhs) | LightSource | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, LightSource) (defined in LightSource) | LightSource |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
setAmbientColor(const nvmath::Vec3f &color) | LightSource | [inline]
setAnimation(const TrafoAnimationSharedPtr &animation) | LightSource |
setAnnotation(const std::string &anno) | Object |
setDiffuseColor(const nvmath::Vec3f &color) | LightSource | [inline]
setEnabled(bool enable) | LightSource | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIntensity(float intensity) | LightSource | [inline]
setName(const std::string &name) | Object |
setShadowCasting(bool cast) | LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &color) | LightSource | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncEffectLight(CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const (defined in LightSource) | LightSource | [inline, virtual]
syncIncarnation(PFNGETINCARNATION) const (defined in LightSource) | LightSource | [protected, virtual]
syncMetaSLLightParameters(CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const (defined in LightSource) | LightSource | [inline, virtual]
~LightSource() | LightSource | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:30:04 2012 for SceniX


SceniX: LinearInterpolatedAnimationDescription Class Template Reference

nvsg::LinearInterpolatedAnimationDescription

LinearInterpolatedAnimationDescription Class Template Reference

An KeyFramedAnimationDescription class that performs linear interpolation. More...

#include <LinearInterpolatedAnimation.h>

Inheritance diagram for LinearInterpolatedAnimationDescription:

[legend]
Collaboration diagram for LinearInterpolatedAnimationDescription:

[legend]
List of all members.

Public Member Functions

LinearInterpolatedAnimationDescription ()
Default-constructs a LinearInterpolatedAnimationDescription<T>.
LinearInterpolatedAnimationDescription (const LinearInterpolatedAnimationDescription &rhs)
Copy-constructs a LinearInterpolatedAnimationDescription<T>.
virtual | ~LinearInterpolatedAnimationDescription ()
Destructs a LinearInterpolatedAnimationDescription<T>.
virtual T | getStepValue (unsigned int step) const
Get the potentially interpolated value at the specified step.
LinearInterpolatedAnimationDescription<
T > & 		operator= (const LinearInterpolatedAnimationDescription< T > &rhs)
Assignment operator.

Static Public Member Functions

static nvutil::ObjectTraits<
LinearInterpolatedAnimationDescription<
T > >::SharedPtr 		create ()

Detailed Description

template<typename T>
class nvsg::LinearInterpolatedAnimationDescription< T >

An KeyFramedAnimationDescription class that performs linear interpolation.

Namespace: nvsg
Remarks:
The LinearInterpolatedAnimationDescription of type T essentially is an KeyFramedAnimationDescription with the constant random access operator being overloaded.
Note:
Currently the only supported types for LinearInterpolatedAnimationDescription are nvmath::Trafo and VertexAttribute
See also:
KeyFramedAnimationDescription, nvmath::Trafo, VertexAttribute

Constructor & Destructor Documentation

LinearInterpolatedAnimationDescription ( ) [inline]

Default-constructs a LinearInterpolatedAnimationDescription<T>.

LinearInterpolatedAnimationDescription ( const LinearInterpolatedAnimationDescription< T > & rhs ) [inline]

Copy-constructs a LinearInterpolatedAnimationDescription<T>.

Parameters:
rhs Source LinearInterpolatedAnimationDescription<T>.

~LinearInterpolatedAnimationDescription ( ) [inline, virtual]

Destructs a LinearInterpolatedAnimationDescription<T>.

Member Function Documentation

T getStepValue ( unsigned int step ) const [inline, virtual]

Get the potentially interpolated value at the specified step.

Parameters:
step Index of the Animation to get the value at.
Returns:
The value at the specified step.
Remarks:
If step is defined by a key frame of this LinearInterpolatedAnimationDescription, its value is returned. Otherwise, the linear interpolation between the two neighboring key frames is calculated and returned.

Reimplemented from KeyFramedAnimationDescription.

LinearInterpolatedAnimationDescription< T > & operator= ( const LinearInterpolatedAnimationDescription< T > & rhs ) [inline]

Assignment operator.

Parameters:
rhs A reference to the constant LinearInterpolatedAnimationDescription of type T to copy from.
Returns:
A reference to the assigned LinearInterpolatedAnimationDescription of type T.
Remarks:
The assignment operator just calls the assignment operator of the KeyFramedAnimationDescription of type T.

The documentation for this class was generated from the following file:
  • LinearInterpolatedAnimation.h
Generated on Fri Jul 13 13:30:04 2012 for SceniX


SceniX: Member List

LinearInterpolatedAnimationDescription Member List

This is the complete list of members for LinearInterpolatedAnimationDescription, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addKey(unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline]
addKeys(unsigned int numberOfKeys, const unsigned int *steps, const T *values) | KeyFramedAnimationDescription | [inline]
addOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
AnimationDescription(void) | AnimationDescription | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in LinearInterpolatedAnimationDescription) | LinearInterpolatedAnimationDescription | [inline, static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | KeyFramedAnimationDescription | [inline, protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getKey(unsigned int frame) const | KeyFramedAnimationDescription | [inline, protected]
getKeyStep(unsigned int key) const | KeyFramedAnimationDescription | [inline]
getKeySteps() const | KeyFramedAnimationDescription | [inline]
getKeyValue(unsigned int key) const | KeyFramedAnimationDescription | [inline]
getKeyValues() const | KeyFramedAnimationDescription | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfKeys(void) const | KeyFramedAnimationDescription | [inline]
getNumberOfOwners() const | OwnedObject< Animation< T > > |
getNumberOfSteps() const | KeyFramedAnimationDescription | [virtual]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Animation< T > > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getStepValue(unsigned int step) const | LinearInterpolatedAnimationDescription | [inline, virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertKey(unsigned int key, unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline]
invalidate() (defined in AnimationDescription) | AnimationDescription | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | KeyFramedAnimationDescription | [inline, virtual]
KeyFramedAnimationDescription(void) | KeyFramedAnimationDescription | [inline, protected]
KeyFramedAnimationDescription(const KeyFramedAnimationDescription &rhs) | KeyFramedAnimationDescription | [inline, protected]
LinearInterpolatedAnimationDescription() | LinearInterpolatedAnimationDescription | [inline]
LinearInterpolatedAnimationDescription(const LinearInterpolatedAnimationDescription &rhs) | LinearInterpolatedAnimationDescription | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const LinearInterpolatedAnimationDescription< T > &rhs) | LinearInterpolatedAnimationDescription | [inline]
nvsg::KeyFramedAnimationDescription::operator=(const KeyFramedAnimationDescription< T > &rhs) | KeyFramedAnimationDescription | [protected]
nvsg::AnimationDescription::operator=(const AnimationDescription &rhs) | AnimationDescription | [inline, protected]
nvsg::OwnedObject< Animation< T > >::operator=(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Animation< T > > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Animation< T > > | [protected]
OwnedObject(const OwnedObject< Animation< T > > &rhs) | OwnedObject< Animation< T > > | [protected]
OwnerContainer typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
OwnerIterator typedef (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > |
ownersBegin() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
ownersEnd() const (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeKey(unsigned int key) | KeyFramedAnimationDescription | [inline]
removeKeys(unsigned int key, unsigned int numberOfKeys) | KeyFramedAnimationDescription | [inline]
removeOwner(Animation< T > *owner) (defined in OwnedObject< Animation< T > >) | OwnedObject< Animation< T > > | [protected]
removeStep(unsigned int step) | KeyFramedAnimationDescription | [inline, virtual]
replaceKey(unsigned int key, unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline]
replaceKeys(unsigned int key, unsigned int numberOfKeys, const unsigned int *steps, const T *values) | KeyFramedAnimationDescription | [inline]
replaceStep(unsigned int step, const T &value) | KeyFramedAnimationDescription | [inline, virtual]
reserveKeys(unsigned int numberOfKeys) | KeyFramedAnimationDescription | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~AnimationDescription() (defined in AnimationDescription) | AnimationDescription | [inline, virtual]
~KeyFramedAnimationDescription(void) | KeyFramedAnimationDescription | [inline, virtual]
~LinearInterpolatedAnimationDescription() | LinearInterpolatedAnimationDescription | [inline, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Animation< T > > | [protected]

Generated on Fri Jul 13 13:30:04 2012 for SceniX


SceniX: LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo > Struct Template Reference

nvsg::LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >

LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo > Struct Template Reference

#include <LinearInterpolatedAnimation.h>

List of all members.

Public Types

enum { ObjectCode = OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION }

Detailed Description

template<typename T>
struct nvsg::LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >

Helper class which translates AnimationCode<Type> to ObjectCode *

The documentation for this struct was generated from the following file:
  • LinearInterpolatedAnimation.h
Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo > Member List

This is the complete list of members for LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >, including all inherited members.

ObjectCode enum value (defined in LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >) LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >

Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: LineAttribute Class Reference

nvsg::LineAttribute

LineAttribute Class Reference

PrimitiveAttribute specific for Drawables with lines, like Lines or LineStrips. More...

#include <LineAttribute.h>

Inheritance diagram for LineAttribute:

[legend]
Collaboration diagram for LineAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API unsigned short | getStipplePattern () const
Get the stipple pattern.
NVSG_API void | setStipplePattern (unsigned short pattern)
Set the stipple pattern.
NVSG_API unsigned short | getStippleFactor () const
Get the stipple factor.
NVSG_API void | setStippleFactor (unsigned short factor)
Set the stipple factor.
NVSG_API float | getWidth () const
Get the line width.
NVSG_API void | setWidth (float width)
Set the line width.
NVSG_API bool | isAntiAliased () const
Get the line anti-aliasing state.
NVSG_API void | setAntiAliasing (bool aa)
Set the line anti-aliasing state.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other LineAttribute.
NVSG_API LineAttribute & | operator= (const LineAttribute &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, LineAttribute)

Static Public Member Functions

static NVSG_API LineAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | LineAttribute ()
Default-constructs a LineAttribute.
NVSG_API | LineAttribute (const LineAttribute &rhs)
Constructs a LineAttribute as a copy from another LineAttribute.
virtual NVSG_API | ~LineAttribute ()
Destructs a LineAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

PrimitiveAttribute specific for Drawables with lines, like Lines or LineStrips.

Namespace: nvsg
Remarks:
A LineAttribute holds the line-specific attributes of a StatePass.
Note:
Faces and points are not affected by a LineAttribute.
See also:
FaceAttribute, PointAttribute, PrimitiveAttribute, StatePass

Constructor & Destructor Documentation

NVSG_API LineAttribute ( ) [protected]

Default-constructs a LineAttribute.

Remarks:
A default-constructed LineAttribute initially has anti-aliasing off, has has a stipple factor of 1, a stipple pattern of 0xFFFF, and a line with of 1.0.

NVSG_API LineAttribute ( const LineAttribute & rhs ) [protected]

Constructs a LineAttribute as a copy from another LineAttribute.

virtual NVSG_API ~LineAttribute ( ) [protected, virtual]

Destructs a LineAttribute.

Member Function Documentation

unsigned short getStipplePattern ( ) const [inline]

Get the stipple pattern.

Returns:
The 16-bit stipple pattern
Remarks:
The stipple pattern is a 16-bit series of 0s and 1s, and is repeated as necessary to stipple a given line. A 1 indicates that drawing occurs, and a 0 indicates that it does not, on a pixel-by-pixel basis, beginning with the low-order bit of the pattern. The pattern can be stretched out by using the stipple factor. The default stipple pattern is 0xFFFF, resulting in a non-stippled line.
See also:
getStippleFactor, setStipplePattern

void setStipplePattern ( unsigned short pattern ) [inline]

Set the stipple pattern.

Parameters:
pattern The 16-bit stipple pattern to use
Remarks:
The stipple pattern is a 16-bit series of 0s and 1s, and is repeated as necessary to stipple a given line. A 1 indicates that drawing occurs, and a 0 indicates that it does not, on a pixel-by-pixel basis, beginning with the low-order bit of the pattern. The pattern can be stretched out by using the stipple factor. The default stipple pattern is 0xFFFF, resulting in a non-stippled line.
See also:
getStipplePattern, setStippleFactor

unsigned short getStippleFactor ( ) const [inline]

Get the stipple factor.

Returns:
The stipple factor.
Remarks:
The stipple factor can be used to stretch out the stipple pattern. It multiplies each sub-series of consecutive 1s and 0s. Thus, if three consecutive 1s appear in the pattern, they're stretched to six if the stipple factor is 2. The stipple factor is clamped to lie between 1 and 255, with the default being 1.
See also:
getStipplePattern, setStippleFactor

void setStippleFactor ( unsigned short factor ) [inline]

Set the stipple factor.

Parameters:
factor The stipple factor.
Remarks:
The stipple factor can be used to stretch out the stipple pattern. It multiplies each sub-series of consecutive 1s and 0s. Thus, if three consecutive 1s appear in the pattern, they're stretched to six if the stipple factor is 2. The stipple factor is clamped to lie between 1 and 255, with the default being 1.
See also:
getStippleFactor, setStipplePattern

float getWidth ( ) const [inline]

Get the line width.

Returns:
The line width.
Remarks:
The line width is the width for rendered lines in pixels. It is greater than 0.0 and defaults to 1.0.
See also:
setWidth

void setWidth ( float width ) [inline]

Set the line width.

Parameters:
width The line width to set.
Remarks:
The line width is the width for rendered lines in pixels. It has to be greater than 0.0 and defaults to 1.0.
See also:
getWidth

bool isAntiAliased ( ) const [inline]

Get the line anti-aliasing state.

Returns:
true, if anti-aliasing for lines is on, otherwise false.
See also:
setAntiAliasing

void setAntiAliasing ( bool aa ) [inline]

Set the line anti-aliasing state.

Parameters:
aa true, if line anti-aliasing is to switch on, otherwise false.
See also:
isAntiAliased

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other LineAttribute.

Parameters:
p | A reference to the constant LineAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the LineAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as PrimitiveAttribute, they are equivalent if they have the same anti-aliasing state, stipple factor, stipple pattern, and width.
See also:
PrimitiveAttribute

Reimplemented from Object.

NVSG_API LineAttribute& operator= ( const LineAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant LineAttribute to copy from
Returns:
A reference to the assigned LineAttribute
Remarks:
The assignment operator calls the assignment operator of PrimitiveAttribute and copies the LineAttribute specific data then.
See also:
PrimitiveAttribute

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • LineAttribute.h
Generated on Fri Jul 13 13:30:05 2012 for SceniX


SceniX: Member List

LineAttribute Member List

This is the complete list of members for LineAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in LineAttribute) | LineAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | LineAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getStippleFactor() const | LineAttribute | [inline]
getStipplePattern() const | LineAttribute | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getWidth() const | LineAttribute | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isAntiAliased() const | LineAttribute | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | LineAttribute | [virtual]
LineAttribute() | LineAttribute | [protected]
LineAttribute(const LineAttribute &rhs) | LineAttribute | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const LineAttribute &rhs) | LineAttribute |
nvsg::PrimitiveAttribute::operator=(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveAttribute() | PrimitiveAttribute | [protected]
PrimitiveAttribute(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, LineAttribute) (defined in LineAttribute) | LineAttribute |
REFLECTION_INFO_API(NVSG_API, PrimitiveAttribute) (defined in PrimitiveAttribute) | PrimitiveAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setAntiAliasing(bool aa) | LineAttribute | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setStippleFactor(unsigned short factor) | LineAttribute | [inline]
setStipplePattern(unsigned short pattern) | LineAttribute | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setWidth(float width) | LineAttribute | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~LineAttribute() | LineAttribute | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~PrimitiveAttribute() | PrimitiveAttribute | [virtual]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:05 2012 for SceniX


SceniX: Lines Class Reference

nvsg::Lines

Lines Class Reference

IndependentPrimitiveSet for lines. More...

#include <Lines.h>

Inheritance diagram for Lines:

[legend]
Collaboration diagram for Lines:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | hasSegments () const
Query if this Lines has segments.
NVSG_API unsigned int | getNumberOfSegments () const
Get the number of line segments.
NVSG_API const Segment * | getSegments () const
Get a pointer to the segments.
NVSG_API void | setSegments (const Segment *segments, unsigned int numSegments)
Set the segments of this Lines.
NVSG_API void | setSegments (unsigned int pos, const Segment *segments, unsigned int numSegments)
Set a subset of segments of this Lines.
NVSG_API Lines & | operator= (const Lines &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, Lines)

Static Public Member Functions

static NVSG_API LinesSharedPtr | create ()

Protected Member Functions

NVSG_API | Lines ()
Default-constructs a Lines.
NVSG_API | Lines (const Lines &rhs)
Constructs a Lines as a copy from another Lines.
virtual NVSG_API | ~Lines ()
Destructs a Lines.

Detailed Description

IndependentPrimitiveSet for lines.

Namespace: nvsg
Remarks:
A Lines is an IndependentPrimitiveSet that holds an array of index-pairs. Each of these pairs describe a line with the indices referencing into the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, Points, Quads, Triangles

Constructor & Destructor Documentation

NVSG_API Lines ( ) [protected]

Default-constructs a Lines.

NVSG_API Lines ( const Lines & rhs ) [protected]

Constructs a Lines as a copy from another Lines.

virtual NVSG_API ~Lines ( ) [protected, virtual]

Destructs a Lines.

Member Function Documentation

bool hasSegments ( ) const [inline]

Query if this Lines has segments.

Returns:
true, if this Lines has at least two indices, otherwise false.
Remarks:
Each pair of successive indices represent one line segment.
See also:
getNumberOfSegments, getSegments, hasIndices, setSegments

unsigned int getNumberOfSegments ( ) const [inline]

Get the number of line segments.

Returns:
The number of indices of this Lines divided by two.
Remarks:
Each pair of successive indices represent one line segment.
See also:
hasSegments, getSegments, setSegments

const Segment * getSegments ( ) const [inline]

Get a pointer to the segments.

Returns:
A pointer to the constant indices of this IndependentPrimitiveSet.
Remarks:
Each pair of successive indices represent one line segment.
See also:
hasSegments, getNumberOfSegments, setSegments

void setSegments | ( | const Segment * | segments,
 |  | unsigned int | numSegments
 | ) | [inline]

Set the segments of this Lines.

Parameters:
segments | A pointer to the constant segments to use.
numSegments | The number of segments, with two indices per segment.
Remarks:
Copies 2x numSegments indices from segments into this Lines by just calling the appropriate setIndices.
Note:
The behavior is undefined if there are less than numSegments values of type Segment located at segments.
See also:
hasIndices, getNumberOfIndices, getIndices

void setSegments | ( | unsigned int | pos,
 |  | const Segment * | segments,
 |  | unsigned int | numSegments
 | ) | [inline]

Set a subset of segments of this Lines.

Parameters:
pos | The start position inside the range of pre-existing segments.
segments | A pointer to the constant segments to use.
numSegments | The number of segments.
Remarks:
Copies 2x numSegments indices from segments into this Lines, starting at position 2x pos inside the range of pre-existing indices.
Pre-existing indices in the range [2*pos, 2*(pos + numSegments)) will be replaced. Pre-existing indices outside this range remain untouched.
If you specifiy (-1) for pos or pos specifies the number of segments currently stored, the segments pointed to by segments will be appended to the pre-existing segments.
Note:
The behavior is undefined if pos is neither a valid position inside the range of pre-existing segments, nor the number of segments currently stored, nor (-1).

The behavior is undefined if there are less than numSegments values of type Segment located at segments.

See also:
hasSegments, getNumberOfSegments, getSegments

Lines & operator= ( const Lines & rhs ) [inline]

Assignment operator.

Parameters:
rhs A reference to the constant Lines to copy from.
Returns:
A reference to the assigned Lines.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

The documentation for this class was generated from the following file:
  • Lines.h
Generated on Fri Jul 13 13:30:05 2012 for SceniX


SceniX: Member List

Lines Member List

This is the complete list of members for Lines, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | IndependentPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | IndependentPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Lines) | Lines | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | IndependentPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | IndependentPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIndices() const | IndependentPrimitiveSet | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfIndices() const | IndependentPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfSegments() const | Lines | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSegments() const | Lines | [inline]
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasIndices() const | IndependentPrimitiveSet | [inline]
hasSegments() const | Lines | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
IndependentPrimitiveSet() | IndependentPrimitiveSet | [protected]
IndependentPrimitiveSet(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
isDataShared() const | IndependentPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | IndependentPrimitiveSet | [virtual]
Lines() | Lines | [protected]
Lines(const Lines &rhs) | Lines | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Lines &rhs) | Lines | [inline]
nvsg::IndependentPrimitiveSet::operator=(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Lines) (defined in Lines) | Lines |
REFLECTION_INFO_API(NVSG_API, IndependentPrimitiveSet) (defined in IndependentPrimitiveSet) | IndependentPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndices(const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setIndices(unsigned int pos, const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setName(const std::string &name) | Object |
setSegments(const Segment *segments, unsigned int numSegments) | Lines | [inline]
setSegments(unsigned int pos, const Segment *segments, unsigned int numSegments) | Lines | [inline]
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~IndependentPrimitiveSet() | IndependentPrimitiveSet | [virtual]
~Lines() | Lines | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:05 2012 for SceniX


SceniX: LineStrips Class Reference

nvsg::LineStrips

LineStrips Class Reference

StrippedPrimitiveSet for line strips. More...

#include <LineStrips.h>

Inheritance diagram for LineStrips:

[legend]
Collaboration diagram for LineStrips:

[legend]
List of all members.

Public Member Functions

NVSG_API LineStrips & | operator= (const LineStrips &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, LineStrips)

Static Public Member Functions

static NVSG_API LineStripsSharedPtr | create ()

Protected Member Functions

NVSG_API | LineStrips ()
Default-constructs a LineStrips.
NVSG_API | LineStrips (const LineStrips &rhs)
Constructs a LineStrips as a copy from another LineStrips.
virtual NVSG_API | ~LineStrips ()
Destructs a LineStrips.

Detailed Description

StrippedPrimitiveSet for line strips.

Namespace: nvsg
Remarks:
A LineStrips is a StrippedPrimitiveSet that holds an array of arrays of indices. Each of the arrays of indices describe one series of connected line segments. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
Lines, StrippedPrimitiveSet, TriangleStrips

Constructor & Destructor Documentation

NVSG_API LineStrips ( ) [protected]

Default-constructs a LineStrips.

NVSG_API LineStrips ( const LineStrips & rhs ) [explicit, protected]

Constructs a LineStrips as a copy from another LineStrips.

virtual NVSG_API ~LineStrips ( ) [protected, virtual]

Destructs a LineStrips.

Member Function Documentation

NVSG_API LineStrips& operator= ( const LineStrips & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant LineStrips to copy from.
Returns:
A reference to the assigned LineStrips.
Remarks:
The assignment operator calls the assignment operator of StrippedPrimitiveSet.

The documentation for this class was generated from the following file:
  • LineStrips.h
Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: Member List

LineStrips Member List

This is the complete list of members for LineStrips, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | StrippedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | StrippedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in LineStrips) | LineStrips | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StrippedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | StrippedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfStrips(void) const | StrippedPrimitiveSet | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getStrips() const | StrippedPrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasStrips(void) const | StrippedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared(void) const | StrippedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StrippedPrimitiveSet | [virtual]
LineStrips() | LineStrips | [protected]
LineStrips(const LineStrips &rhs) | LineStrips | [explicit, protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const LineStrips &rhs) | LineStrips |
nvsg::StrippedPrimitiveSet::operator=(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, LineStrips) (defined in LineStrips) | LineStrips |
REFLECTION_INFO_API(NVSG_API, StrippedPrimitiveSet) (defined in StrippedPrimitiveSet) | StrippedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setStrips(const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setStrips(unsigned int pos, const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [protected]
StrippedPrimitiveSet(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~LineStrips() | LineStrips | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: LinkGroupToCameraAsTargetCallback Class Reference

nvtraverser::LinkGroupToCameraAsTargetCallback

LinkGroupToCameraAsTargetCallback Class Reference

Callback to link a Group to a Camera as its target. More...

#include <AppTraverserCallbacks.h>

Inheritance diagram for LinkGroupToCameraAsTargetCallback:

[legend]
Collaboration diagram for LinkGroupToCameraAsTargetCallback:

[legend]
List of all members.

Public Member Functions

NVSG_API | LinkGroupToCameraAsTargetCallback (const nvsg::CameraSharedPtr &camera)
Constructor of a LinkGroupToCameraCallback.
virtual NVSG_API void | operator() (const nvsg::Object *subject, const void *data) const
The function operator() of this callback.
virtual NVSG_API void | setSemaphore (const CameraUpdateSemaphoreSharedPtr &sem)
virtual NVSG_API unsigned int | getClassID () const
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const
Interface to get the name of the callback class.

Detailed Description

Callback to link a Group to a Camera as its target.

Remarks:
This kind of callback can be used to observe a Group from a Camera. When used, for example, as an app callback, the camera's direction vector will be updated based on the current position of the Target. The Camera is still responsible for setting an appropriate UP vector. This link must be used in conjunction with a LinkTransformToCameraAsPositionAndUpVectorCallback.
See also:
Group, Callback, AppTraverser, LinkGroupToCameraCallback, LinkTransformToCameraAsPositionAndUpVectorCallback

Constructor & Destructor Documentation

LinkGroupToCameraAsTargetCallback ( const nvsg::CameraSharedPtr & camera ) [inline, explicit]

Constructor of a LinkGroupToCameraCallback.

Parameters:
camera The Camera to be used as the observer of this callback.
See also:
Camera, Group

Member Function Documentation

virtual NVSG_API void operator() | ( | const nvsg::Object * | subject,
 |  | const void * | data
 | ) | const [virtual]

The function operator() of this callback.

Parameters:
subject | A pointer to the read-locked object that is observed.
data | A pointer to constant callback specific data. This callback expects it to be a pointer to the AppTraverser using this callback.
Remarks:
This function is called from AppTraverser::postTraverseObject for each object with app callbacks registered.
See also:
AppTraverser, Group, Camera

unsigned int getClassID ( ) const [inline, virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implements Callback.

const char * getClassName ( ) const [inline, virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implements Callback.

The documentation for this class was generated from the following file:
  • AppTraverserCallbacks.h
Generated on Fri Jul 13 13:30:39 2012 for SceniX


SceniX: Member List

LinkGroupToCameraAsTargetCallback Member List

This is the complete list of members for LinkGroupToCameraAsTargetCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const | LinkGroupToCameraAsTargetCallback | [inline, virtual]
getClassName() const | LinkGroupToCameraAsTargetCallback | [inline, virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
LinkGroupToCameraAsTargetCallback(const nvsg::CameraSharedPtr &camera) | LinkGroupToCameraAsTargetCallback | [inline, explicit]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const nvsg::Object *subject, const void *data) const | LinkGroupToCameraAsTargetCallback | [virtual]
nvsg::Callback::operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setSemaphore(const CameraUpdateSemaphoreSharedPtr &sem) (defined in LinkGroupToCameraAsTargetCallback) | LinkGroupToCameraAsTargetCallback | [inline, virtual]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~LinkGroupToCameraAsTargetCallback() (defined in LinkGroupToCameraAsTargetCallback) | LinkGroupToCameraAsTargetCallback |
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:39 2012 for SceniX


SceniX: LinkGroupToCameraCallback Class Reference

nvtraverser::LinkGroupToCameraCallback

LinkGroupToCameraCallback Class Reference

Callback to link a Group to a Camera. More...

#include <AppTraverserCallbacks.h>

Inheritance diagram for LinkGroupToCameraCallback:

[legend]
Collaboration diagram for LinkGroupToCameraCallback:

[legend]
List of all members.

Public Member Functions

NVSG_API | LinkGroupToCameraCallback (const nvsg::CameraSharedPtr &camera)
Constructor of a LinkGroupToCameraCallback.
virtual NVSG_API void | operator() (const nvsg::Object *subject, const void *data) const
The function operator() of this callback.
virtual NVSG_API unsigned int | getClassID () const
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const
Interface to get the name of the callback class.

Detailed Description

Callback to link a Group to a Camera.

Remarks:
This kind of callback can be used to position and orient a camera based on a group's position and orientation. The AppTraverser will update the cameras position and orientation dynamically as the scene changes, possibly due to Transform or AnimatedTransform nodes.
See also:
Group, Callback, AppTraverser, LinkGroupToCameraAsTargetCallback

Constructor & Destructor Documentation

LinkGroupToCameraCallback ( const nvsg::CameraSharedPtr & camera ) [inline, explicit]

Constructor of a LinkGroupToCameraCallback.

Parameters:
camera The Camera to be used as the observer of this callback.
See also:
Camera, Group

Member Function Documentation

virtual NVSG_API void operator() | ( | const nvsg::Object * | subject,
 |  | const void * | data
 | ) | const [virtual]

The function operator() of this callback.

Parameters:
subject | A pointer to the read-locked object that is observed.
data | A pointer to constant callback specific data. This callback expects it to be a pointer to the AppTraverser using this callback.
Remarks:
This function is called from AppTraverser::postTraverseObject for each object with app callbacks registered.
See also:
AppTraverser, Group, Camera

unsigned int getClassID ( ) const [inline, virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implements Callback.

const char * getClassName ( ) const [inline, virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implements Callback.

The documentation for this class was generated from the following file:
  • AppTraverserCallbacks.h
Generated on Fri Jul 13 13:30:39 2012 for SceniX


SceniX: Member List

LinkGroupToCameraCallback Member List

This is the complete list of members for LinkGroupToCameraCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const | LinkGroupToCameraCallback | [inline, virtual]
getClassName() const | LinkGroupToCameraCallback | [inline, virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
LinkGroupToCameraCallback(const nvsg::CameraSharedPtr &camera) | LinkGroupToCameraCallback | [inline, explicit]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const nvsg::Object *subject, const void *data) const | LinkGroupToCameraCallback | [virtual]
nvsg::Callback::operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:39 2012 for SceniX


SceniX: LinkGroupToLightSourceCallback Class Reference

nvtraverser::LinkGroupToLightSourceCallback

LinkGroupToLightSourceCallback Class Reference

Callback to link a Group to a LightSource. More...

#include <AppTraverserCallbacks.h>

Inheritance diagram for LinkGroupToLightSourceCallback:

[legend]
Collaboration diagram for LinkGroupToLightSourceCallback:

[legend]
List of all members.

Public Member Functions

NVSG_API | LinkGroupToLightSourceCallback (const nvsg::LightSourceSharedPtr &ls)
Constructor of a LinkGroupToLightSourceCallback.
virtual NVSG_API void | operator() (const nvsg::Object *subject, const void *data) const
The function operator() of this callback.
virtual NVSG_API unsigned int | getClassID () const
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const
Interface to get the name of the callback class.

Detailed Description

Callback to link a Group to a LightSource.

Remarks:
This kind of callback can be used to observe a Group from a LightSource. When used, for example, as an app callback, the LightSource is notified whenever the group is traversed by the AppTraverser.
See also:
Group, Callback, AppTraverser

Constructor & Destructor Documentation

LinkGroupToLightSourceCallback ( const nvsg::LightSourceSharedPtr & ls ) [inline, explicit]

Constructor of a LinkGroupToLightSourceCallback.

Parameters:
camera The LightSource to be used as the observer of this callback.
See also:
LightSource, Group

Member Function Documentation

virtual NVSG_API void operator() | ( | const nvsg::Object * | subject,
 |  | const void * | data
 | ) | const [virtual]

The function operator() of this callback.

Parameters:
subject | A pointer to the read-locked object that is observed.
data | A pointer to constant callback specific data. This callback expects it to be a pointer to the AppTraverser using this callback.
Remarks:
This function is called from AppTraverser::postTraverseObject for each object with app callbacks registered.
See also:
AppTraverser, Group, Camera

unsigned int getClassID ( ) const [inline, virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implements Callback.

const char * getClassName ( ) const [inline, virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implements Callback.

The documentation for this class was generated from the following file:
  • AppTraverserCallbacks.h
Generated on Fri Jul 13 13:30:40 2012 for SceniX


SceniX: Member List

LinkGroupToLightSourceCallback Member List

This is the complete list of members for LinkGroupToLightSourceCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const | LinkGroupToLightSourceCallback | [inline, virtual]
getClassName() const | LinkGroupToLightSourceCallback | [inline, virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
LinkGroupToLightSourceCallback(const nvsg::LightSourceSharedPtr &ls) | LinkGroupToLightSourceCallback | [inline, explicit]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const nvsg::Object *subject, const void *data) const | LinkGroupToLightSourceCallback | [virtual]
nvsg::Callback::operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:40 2012 for SceniX


SceniX: LinkGroupToSpotLightAsTargetCallback Class Reference

nvtraverser::LinkGroupToSpotLightAsTargetCallback

LinkGroupToSpotLightAsTargetCallback Class Reference

Callback to link a Group to a SpotLight as its target. More...

#include <AppTraverserCallbacks.h>

Inheritance diagram for LinkGroupToSpotLightAsTargetCallback:

[legend]
Collaboration diagram for LinkGroupToSpotLightAsTargetCallback:

[legend]
List of all members.

Public Member Functions

NVSG_API | LinkGroupToSpotLightAsTargetCallback (const nvsg::SpotLightSharedPtr &spot)
Constructor of a LinkGroupToCameraCallback.
virtual NVSG_API void | operator() (const nvsg::Object *subject, const void *data) const
The function operator() of this callback.
virtual NVSG_API void | setSemaphore (const SpotLightUpdateSemaphoreSharedPtr &sem)
virtual NVSG_API unsigned int | getClassID () const
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const
Interface to get the name of the callback class.

Detailed Description

Callback to link a Group to a SpotLight as its target.

Remarks:
This kind of callback can be used to direct the target position of a spotlight. When used, for example, as an app callback, the spotlight's direction vector will be updated based on the current position of the Target. This link must be used in conjunction with a LinkTransformToSpotLightAsPositionCallback.
See also:
Group, Callback, AppTraverser, LinkGroupToSpotLightCallback, LinkTransformToSpotLightAsPositionCallback

Constructor & Destructor Documentation

LinkGroupToSpotLightAsTargetCallback ( const nvsg::SpotLightSharedPtr & spot ) [inline, explicit]

Constructor of a LinkGroupToCameraCallback.

Parameters:
camera The SpotLight to be used as the observer of this callback.
See also:
Camera, Group

Member Function Documentation

virtual NVSG_API void operator() | ( | const nvsg::Object * | subject,
 |  | const void * | data
 | ) | const [virtual]

The function operator() of this callback.

Parameters:
subject | A pointer to the read-locked object that is observed.
data | A pointer to constant callback specific data. This callback expects it to be a pointer to the AppTraverser using this callback.
Remarks:
This function is called from AppTraverser::postTraverseObject for each object with app callbacks registered.
See also:
AppTraverser, Group, SpotLight

unsigned int getClassID ( ) const [inline, virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implements Callback.

const char * getClassName ( ) const [inline, virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implements Callback.

The documentation for this class was generated from the following file:
  • AppTraverserCallbacks.h
Generated on Fri Jul 13 13:30:40 2012 for SceniX


SceniX: Member List

LinkGroupToSpotLightAsTargetCallback Member List

This is the complete list of members for LinkGroupToSpotLightAsTargetCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const | LinkGroupToSpotLightAsTargetCallback | [inline, virtual]
getClassName() const | LinkGroupToSpotLightAsTargetCallback | [inline, virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
LinkGroupToSpotLightAsTargetCallback(const nvsg::SpotLightSharedPtr &spot) | LinkGroupToSpotLightAsTargetCallback | [inline, explicit]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const nvsg::Object *subject, const void *data) const | LinkGroupToSpotLightAsTargetCallback | [virtual]
nvsg::Callback::operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setSemaphore(const SpotLightUpdateSemaphoreSharedPtr &sem) (defined in LinkGroupToSpotLightAsTargetCallback) | LinkGroupToSpotLightAsTargetCallback | [inline, virtual]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~LinkGroupToSpotLightAsTargetCallback() (defined in LinkGroupToSpotLightAsTargetCallback) | LinkGroupToSpotLightAsTargetCallback |
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:40 2012 for SceniX


SceniX: LinkTransformToCameraAsPositionAndRollCallback Class Reference

nvtraverser::LinkTransformToCameraAsPositionAndRollCallback

LinkTransformToCameraAsPositionAndRollCallback Class Reference

Callback to link a Transform to a Camera as its position and up vector. More...

#include <AppTraverserCallbacks.h>

Inheritance diagram for LinkTransformToCameraAsPositionAndRollCallback:

[legend]
Collaboration diagram for LinkTransformToCameraAsPositionAndRollCallback:

[legend]
List of all members.

Public Member Functions

NVSG_API | LinkTransformToCameraAsPositionAndRollCallback (const nvsg::CameraSharedPtr &camera)
Constructor of a LinkGroupToCameraCallback.
virtual NVSG_API void | operator() (const nvsg::Object *subject, const void *data) const
The function operator() of this callback.
virtual NVSG_API void | setSemaphore (const CameraUpdateSemaphoreSharedPtr &sem)
virtual NVSG_API unsigned int | getClassID () const
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const
Interface to get the name of the callback class.

Detailed Description

Callback to link a Transform to a Camera as its position and up vector.

Remarks:
This kind of callback can be used to position and possibly orient a camera. This callback will position the camera based on the current ModelView matrix, ignoring any rotations. It will then decompose the orientation quaternion attached to the Transform, and extract the axis/angle from it. It will assume that this is a "Roll" value around the (0,1,0) axis, but will apply the angle as the roll around the direction vector and will recompute the direction and up vector. This callback must be used in conjunction with a LinkGroupToCameraAsTargetCallback to set the direction vector dynamically.
See also:
Group, Callback, AppTraverser, LinkGroupToCameraCallback

Constructor & Destructor Documentation

LinkTransformToCameraAsPositionAndRollCallback ( const nvsg::CameraSharedPtr & camera ) [inline, explicit]

Constructor of a LinkGroupToCameraCallback.

Parameters:
camera The Camera to be used as the observer of this callback.
See also:
Camera, Group

Member Function Documentation

virtual NVSG_API void operator() | ( | const nvsg::Object * | subject,
 |  | const void * | data
 | ) | const [virtual]

The function operator() of this callback.

Parameters:
subject | A pointer to the read-locked object that is observed.
data | A pointer to constant callback specific data. This callback expects it to be a pointer to the AppTraverser using this callback.
Remarks:
This function is called from AppTraverser::postTraverseObject for each object with app callbacks registered.
See also:
AppTraverser, Group, Camera

unsigned int getClassID ( ) const [inline, virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implements Callback.

const char * getClassName ( ) const [inline, virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implements Callback.

The documentation for this class was generated from the following file:
  • AppTraverserCallbacks.h
Generated on Fri Jul 13 13:30:39 2012 for SceniX


SceniX: Member List

LinkTransformToCameraAsPositionAndRollCallback Member List

This is the complete list of members for LinkTransformToCameraAsPositionAndRollCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const | LinkTransformToCameraAsPositionAndRollCallback | [inline, virtual]
getClassName() const | LinkTransformToCameraAsPositionAndRollCallback | [inline, virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
LinkTransformToCameraAsPositionAndRollCallback(const nvsg::CameraSharedPtr &camera) | LinkTransformToCameraAsPositionAndRollCallback | [inline, explicit]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const nvsg::Object *subject, const void *data) const | LinkTransformToCameraAsPositionAndRollCallback | [virtual]
nvsg::Callback::operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setSemaphore(const CameraUpdateSemaphoreSharedPtr &sem) (defined in LinkTransformToCameraAsPositionAndRollCallback) | LinkTransformToCameraAsPositionAndRollCallback | [inline, virtual]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~LinkTransformToCameraAsPositionAndRollCallback() (defined in LinkTransformToCameraAsPositionAndRollCallback) | LinkTransformToCameraAsPositionAndRollCallback |
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:39 2012 for SceniX


SceniX: LinkTransformToSpotLightAsPositionCallback Class Reference

nvtraverser::LinkTransformToSpotLightAsPositionCallback

LinkTransformToSpotLightAsPositionCallback Class Reference

Callback to link a Transform to a SpotLight as its position. More...

#include <AppTraverserCallbacks.h>

Inheritance diagram for LinkTransformToSpotLightAsPositionCallback:

[legend]
Collaboration diagram for LinkTransformToSpotLightAsPositionCallback:

[legend]
List of all members.

Public Member Functions

NVSG_API | LinkTransformToSpotLightAsPositionCallback (const nvsg::SpotLightSharedPtr &spot)
Constructor of a LinkTransformToSpotLightAsPositionCallback.
virtual NVSG_API void | operator() (const nvsg::Object *subject, const void *data) const
The function operator() of this callback.
virtual NVSG_API void | setSemaphore (const SpotLightUpdateSemaphoreSharedPtr &sem)
virtual NVSG_API unsigned int | getClassID () const
Interface to get the ID of the callback class.
virtual NVSG_API const char * | getClassName () const
Interface to get the name of the callback class.

Detailed Description

Callback to link a Transform to a SpotLight as its position.

Remarks:
This kind of callback can be used to position a spotlight. This callback must be used in conjunction with a LinkGroupToSpotLightAsTargetCallback to set the direction vector dynamically.
See also:
Group, Callback, AppTraverser, LinkGroupToLightSourceCallback, LinkGroupToSpotLightAsTargetCallback

Constructor & Destructor Documentation

LinkTransformToSpotLightAsPositionCallback ( const nvsg::SpotLightSharedPtr & spot ) [inline, explicit]

Constructor of a LinkTransformToSpotLightAsPositionCallback.

Parameters:
spot The SpotLight to be used as the observer of this callback.
See also:
SpotLight, Group

Member Function Documentation

virtual NVSG_API void operator() | ( | const nvsg::Object * | subject,
 |  | const void * | data
 | ) | const [virtual]

The function operator() of this callback.

Parameters:
subject | A pointer to the read-locked object that is observed.
data | A pointer to constant callback specific data. This callback expects it to be a pointer to the AppTraverser using this callback.
Remarks:
This function is called from AppTraverser::postTraverseObject for each object with app callbacks registered.
See also:
AppTraverser, Group, SpotLight

unsigned int getClassID ( ) const [inline, virtual]

Interface to get the ID of the callback class.

Returns:
The ID of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's ID to identify this callback class.

Implements Callback.

const char * getClassName ( ) const [inline, virtual]

Interface to get the name of the callback class.

Returns:
The name of this class.
Remarks:
Each concrete callback class has to overwrite this function and return it's name to identify this callback class.

Implements Callback.

The documentation for this class was generated from the following file:
  • AppTraverserCallbacks.h
Generated on Fri Jul 13 13:30:40 2012 for SceniX


SceniX: Member List

LinkTransformToSpotLightAsPositionCallback Member List

This is the complete list of members for LinkTransformToSpotLightAsPositionCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
Callback(const ObjectSharedPtr &observer) | Callback | [inline, explicit]
getClassID() const | LinkTransformToSpotLightAsPositionCallback | [inline, virtual]
getClassName() const | LinkTransformToSpotLightAsPositionCallback | [inline, virtual]
getObserver() const | Callback | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
LinkTransformToSpotLightAsPositionCallback(const nvsg::SpotLightSharedPtr &spot) | LinkTransformToSpotLightAsPositionCallback | [inline, explicit]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(const nvsg::Object *subject, const void *data) const | LinkTransformToSpotLightAsPositionCallback | [virtual]
nvsg::Callback::operator()(const Object *subject, const void *data=NULL) const =0 | Callback | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setSemaphore(const SpotLightUpdateSemaphoreSharedPtr &sem) (defined in LinkTransformToSpotLightAsPositionCallback) | LinkTransformToSpotLightAsPositionCallback | [inline, virtual]
theAllocator typedef | IAllocator |
~Callback() | Callback | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~LinkTransformToSpotLightAsPositionCallback() (defined in LinkTransformToSpotLightAsPositionCallback) | LinkTransformToSpotLightAsPositionCallback |
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:40 2012 for SceniX


SceniX: LOD Class Reference

nvsg::LOD

LOD Class Reference

Distance-based level of detail class. More...

#include <LOD.h>

Inheritance diagram for LOD:

[legend]
Collaboration diagram for LOD:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setRanges (const float *ranges, unsigned int count)
Define the different ranges where the LOD should switch the representation.
NVSG_API const float * | getRanges () const
Get the ranges of the LOD.
NVSG_API unsigned int | getNumberOfRanges () const
Get the number of ranges.
NVSG_API void | setCenter (const nvmath::Vec3f &center)
Set the center of the LOD object.
NVSG_API const nvmath::Vec3f & | getCenter () const
Get the center point of the LOD object.
virtual NVSG_API unsigned int | getLODToUse (const nvmath::Mat44f &modelViewMatrix, float scaleFactor) const
Calculate the LOD level to use.
NVSG_API void | setRangeLock (bool on, unsigned int rangeNumber)
Lock the range selection to a specific LOD level.
NVSG_API unsigned int | getRangeLock () const
Get the range lock number.
NVSG_API bool | isRangeLockEnabled () const
Check if the LOD is forced to use a specific range.
NVSG_API LOD & | operator= (const LOD &rhs)
Copy operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other LOD.
REFLECTION_INFO_API (NVSG_API, LOD)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Center)

Static Public Member Functions

static NVSG_API LODSharedPtr | create ()

Protected Member Functions

NVSG_API | LOD (void)
Default-constructs a LOD.
NVSG_API | LOD (const LOD &rhs)
Constructs a LOD as a copy of another LOD.
virtual NVSG_API | ~LOD (void)
Destructs a LOD.
virtual NVSG_API bool | determineLODContainment () const
Overrides Node::determineLODContainment.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Distance-based level of detail class.

Namespace: nvsg
Remarks:
This class is a special kind of a group containing different representations of the same object as well as some range information. The representations include different levels of detail, meaning that the first child is the best and most precise representation of the object, the second child is of lower resolution, and so on. The current implementation determines the distance between the camera and the given center point of the object (dist). The distance is compared against the ranges and the corresponding range defines the LOD representation to use.

It works like this:
  IF (dist < ranges[0])                    THEN activeChild = 0
  ELSE IF (ranges[i-1] < dist < ranges[i]) THEN activeChild = i
  ELSE IF (dist > ranges[LASTRANGE])       THEN activeChild = LASTRANGE+1

You should provide n ranges and n+1 children. If you specify too few ranges, the extra children will never be used. If you instead provide too few children, the last child will be used for all the extra ranges.

In some cases you do not want to draw something on the last (infinite) level. In this case, simply add an empty Group node at the lowest resolution level. The same applies to the highest resolution level if you want geometry that is too near to the camera to disappear.

Constructor & Destructor Documentation

NVSG_API LOD ( void ) [protected]

Default-constructs a LOD.

NVSG_API LOD ( const LOD & rhs ) [protected]

Constructs a LOD as a copy of another LOD.

virtual NVSG_API ~LOD ( void ) [protected, virtual]

Destructs a LOD.

Member Function Documentation

NVSG_API void setRanges | ( | const float * | ranges,
 |  | unsigned int | count
 | ) |

Define the different ranges where the LOD should switch the representation.

Parameters:
ranges | A vector of range values representing the world-space distances. Pass in NULL to clear the range data.
count | Number of ranges in the given vector.
Remarks:
This function can be used to set the different ranges for switching between the different representations. You need to provide n ranges for n+1 children.
Example
  float ranges[3];
  range[0] = 10;
  range[1] = 20;
  range[2] = 30;
  LODWriteLock(pLOD)->setRanges( &ranges[0], 3 );
See also:
getRanges

NVSG_API const float* getRanges ( ) const

Get the ranges of the LOD.

Returns:
A pointer to a constant vector of ranges. If there are no ranges defined, the return value is NULL.
Remarks:
You need to call nvsg::getNumberOfRanges to determine the number of ranges. The ranges represent the world-space distances where the LOD switches to the next representation.
See also:
getNumberOfRanges

NVSG_API unsigned int getNumberOfRanges ( ) const

Get the number of ranges.

Returns:
The number of ranges in the LOD.
See also:
setRanges

NVSG_API void setCenter ( const nvmath::Vec3f & center )

Set the center of the LOD object.

Parameters:
center Center point of the LOD object in world-space coordinates.
Remarks:
The center is the point used for calculating the exact level of detail to use. By calculating the distance between this center point and the camera position in the LOD, can decide which representation to choose.
A good center point is, for example, the center of the bounding sphere of the object in the highest representation.
See also:
getCenter

NVSG_API const nvmath::Vec3f& getCenter ( ) const

Get the center point of the LOD object.

Returns:
The center point in world-space coordinates.
Remarks:
See nvsg::setCenter for a detailed description on the center point.
See also:
setCenter

virtual NVSG_API unsigned int getLODToUse | ( | const nvmath::Mat44f & | modelViewMatrix,
 |  | float | scaleFactor
 | ) | const [virtual]

Calculate the LOD level to use.

Parameters:
modelViewMatrix | currentWorldMatrix * currentViewingMatrix
scaleFactor | This factor is used to scale the ranges of the LOD node. Default is 1.f. See ViewState::getLODRangeScale for further details.
Returns:
The index of the LOD level that this node will use. 0xffffffff will be returned when there is no LOD level available.
Remarks:
This method is called by the ModelViewTraverser. It calculates the distance between the center point and the camera.
We calculate the distance by transforming the center into object space, and because the camera is located at the origin in object space, the calculation is trivial.
The scale factor can be used to globally scale the ranges without changing the LOD node ranges directly. This can be used, for example, for scenes that were initially created for use on small monitors. You can use this scaling to fine-tune these scenes for large projection walls by scaling the LOD levels to switch later to a lower resolution representation.
See also:
ViewState::getLODRangeScale

NVSG_API void setRangeLock | ( | bool | on,
 |  | unsigned int | rangeNumber
 | ) |

Lock the range selection to a specific LOD level.

Parameters:
on | true to turn on the range lock.
rangeNumber | The range that should be used for all the rendering.
Remarks:
This feature prevents the distance calculation and forces the LOD to use a specific representation.
If the provided range number is larger than the available ranges, the LOD always uses the representation of the last range - lowest resolution.
Example
The following sample code demonstrates how to lock all LOD node of a scene to a specified range.
  void LODDlg::lockLODRange(bool on, unsigned int level)
  {
    SceneSharedPtr pScene( m_pRA->getScene() );
    if (pScene)
    {
      SmartPtr<SearchTraverser> st( new SearchTraverser );
      st->setClassName( "class nvsg::LOD" );
      st->setBaseClassSearch( true );
      st->apply( pScene );
      const vector<const Path *> &vp = st->getPaths();
      for ( unsigned int i=0 ; i<vp.size() ; i++ )
      {
        LODWriteLock( dynamic_cast<LOD*>(vp[i]->getTail()) )->setRangeLock( on, level );
      }
    }
  }
See also:
getRangeLock

NVSG_API unsigned int getRangeLock ( ) const

Get the range lock number.

Returns:
The range number this LOD is forced to use.
Remarks:
The returned value is only valid if LOD::isRangeLockedEnabled returns true.
See also:
setRangeLock, isRangeLockEnabled

NVSG_API bool isRangeLockEnabled ( ) const

Check if the LOD is forced to use a specific range.

Returns:
This function returns true when the range lock is turned on.
See also:
setRangeLock

NVSG_API LOD& operator= ( const LOD & rhs )

Copy operator.

Parameters:
rhs A reference to the constant LOD to copy from
Returns:
A reference to the copied LOD
Remarks:
The copy operator calls the copy-operator of Group and then copies the Group-specific data.
See also:
Group

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other LOD.

Parameters:
p | A pointer to the LOD to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the LOD p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as LOD, they are equivalent if they have the same center, ranges, and range lock settings.
Note:
The behavior is undefined if p is not an LOD or derived from one.

Reimplemented from Group.

virtual NVSG_API bool determineLODContainment ( ) const [protected, virtual]

Overrides Node::determineLODContainment.

Returns:
The function returns true if this LOD contain more than one selectable level. If the LOD object is range-locked, or if it holds only a single range, the function returns false.

Reimplemented from Group.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Group.

The documentation for this class was generated from the following file:
  • LOD.h
Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: Member List

LOD Member List

This is the complete list of members for LOD, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
calculateBoundingBox() const | Group | [protected, virtual]
calculateBoundingSphere() const | Group | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in LOD) | LOD | [static]
DECLARE_STATIC_PROPERTY(Center) (defined in LOD) | LOD |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Group) | Group | [protected, virtual]
determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Group) | Group | [protected, virtual]
determineLODContainment() const | LOD | [protected, virtual]
determineShaderContainment() const (defined in Group) | Group | [protected, virtual]
determineTransparencyContainment() const (defined in Group) | Group | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | LOD | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getCenter() const | LOD |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getLODToUse(const nvmath::Mat44f &modelViewMatrix, float scaleFactor) const | LOD | [virtual]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getNumberOfRanges() const | LOD |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getRangeLock() const | LOD |
getRanges() const | LOD |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | LOD | [virtual]
isRangeLockEnabled() const | LOD |
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
LOD(void) | LOD | [protected]
LOD(const LOD &rhs) | LOD | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const LOD &rhs) | LOD |
nvsg::Group::operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postAddChild(unsigned int position) | Group | [protected, virtual]
postRemoveChild(unsigned int position) | Group | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, LOD) (defined in LOD) | LOD |
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setAnnotation(const std::string &anno) | Object |
setCenter(const nvmath::Vec3f &center) | LOD |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setRangeLock(bool on, unsigned int rangeNumber) | LOD |
setRanges(const float *ranges, unsigned int count) | LOD |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Group) | Group | [protected, virtual]
~Group() | Group | [protected, virtual]
~LOD(void) | LOD | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: LODLessThan Struct Reference

nvsg::LODLessThan

LODLessThan Struct Reference

Performs a lexical less than comparison of two LODs This functor can be used as comparison function to order elements of LODSharedPtr in an associative STL container like map. More...

#include <LOD.h>

List of all members.

Public Member Functions

bool operator() (const LODSharedPtr &lhs, const LODSharedPtr &rhs) const
Performs a lexical less than comparison of two LODs.

Detailed Description

Performs a lexical less than comparison of two LODs This functor can be used as comparison function to order elements of LODSharedPtr in an associative STL container like map.

Member Function Documentation

bool operator() | ( | const LODSharedPtr & | lhs,
 |  | const LODSharedPtr & | rhs
 | ) | const

Performs a lexical less than comparison of two LODs.

Parameters:
lhs | Specifies the left-hand-sided LOD considered for comparison.
rhs | Specifies the right-hand-sided LOD considered for comparison.
Returns:
true if the left-hand-sided LOD is lexical less than the right-hand-sided LOD. This function is used in the nvsg::LODLessThan functor, which can be used as comparison function to order elements of LODSharedPtr in an associative STL container like map.

The documentation for this struct was generated from the following file:
  • LOD.h
Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LODLessThan Member List

This is the complete list of members for LODLessThan, including all inherited members.

operator()(const LODSharedPtr &lhs, const LODSharedPtr &rhs) const LODLessThan

Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: Log Class Template Reference

nvutil::Log

Log Class Template Reference
[Logging a certain test results]

Logging test results. More...

#include <Log.h>

List of all members.

Public Member Functions

Log ()
Default constructor.
void | init (bool enable)
Initialization.
void | format (const char *fmt,...) const
Formatted output.
bool | isEnabled () const
Determine whether a certain test mode is enabled.

Detailed Description

template<TESTMODE TestMode, LOG_OUTPUT_FUNCTION * OutputFn>
class nvutil::Log< TestMode, OutputFn >

Logging test results.

Provides output dependent on a specified TestMode using a certain output function of type LOG_OUTPUT_FUNCTION specified by OutputFn.

Constructor & Destructor Documentation

Log ( ) [inline]

Default constructor.

Constructs a Log object and disables output by default. Use init to enable output via OutputFn.

The documentation for this class was generated from the following file:
  • Log.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

Log Member List

This is the complete list of members for Log, including all inherited members.

format(const char *fmt,...) const | Log | [inline]
init(bool enable) | Log | [inline]
isEnabled() const | Log | [inline]
Log() | Log | [inline]

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: LogListCompare Class Reference

nvutil::LogListCompare

LogListCompare Class Reference

Functor class to order ProblemInfo objects. More...

#include <ProblemLog.h>

List of all members.

Public Member Functions

bool operator() (const ProblemInfo &infoA, const ProblemInfo &infoB) const
Function call operator of this functor.

Detailed Description

Functor class to order ProblemInfo objects.

Member Function Documentation

bool operator() | ( | const ProblemInfo & | infoA,
 |  | const ProblemInfo & | infoB
 | ) | const [inline]

Function call operator of this functor.

Parameters:
infoA | Reference to the first ProblemInfo.
infoB | Reference to the second ProblemInfo.
Returns:
true, if infoA is 'less' then infoB, otherwise false.
Remarks:
A ProblemInfo is considered to be less than an other, if the problem string is less.

The documentation for this class was generated from the following file:
  • ProblemLog.h
Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LogListCompare Member List

This is the complete list of members for LogListCompare, including all inherited members.

operator()(const ProblemInfo &infoA, const ProblemInfo &infoB) const LogListCompare [inline]

Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Map Class Reference

nvsg::Map

Map Class Reference

Abstract base class for Map objects. More...

#include <Map.h>

Inheritance diagram for Map:

[legend]
Collaboration diagram for Map:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~Map ()
Destructs a Map.
NVSG_API size_t | getWidth () const
Get the width of the Map in pixels.
NVSG_API size_t | getHeight () const
Get the height of the Map in pixels.
NVSG_API const unsigned char * | getData () const
Get a pointer to the constant data of the Map.
REFLECTION_INFO_API (NVSG_API, Map)

Protected Member Functions

NVSG_API | Map ()
Protected default constructor to prevent explicit creation.
NVSG_API | Map (const Map &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API void | setMapData (size_t width, size_t height, size_t bitsPerPixel, unsigned char *data)
Set the complete data of the Map.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class for Map objects.

Namespace: nvsg
Remarks:
A Map is a two dimensional image that can be used as some kind of overlay on top of the scene image. It's easy to use for on-screen menus or data display.
The map data is organized by rows, each one (width*bpp+7)/8 byte long, beginning at the bottom left corner of the map.
Note:
There is no default constructor available to prevent incompletely-defined Maps.
See also:
Bitmap, Object

Constructor & Destructor Documentation

virtual NVSG_API ~Map ( ) [virtual]

Destructs a Map.

NVSG_API Map ( ) [protected]

Protected default constructor to prevent explicit creation.

NVSG_API Map ( const Map & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Remarks:
The complete map data is copied over from rhs.

Member Function Documentation

size_t getWidth ( ) const [inline]

Get the width of the Map in pixels.

Returns:
The width of the Map in pixels.
See also:
getHeight

size_t getHeight ( ) const [inline]

Get the height of the Map in pixels.

Returns:
The height of the Map in pixels.
See also:
getWidth

const unsigned char * getData ( ) const [inline]

Get a pointer to the constant data of the Map.

Returns:
A pointer to the constant data of the Map.
Remarks:
The map data is organized by rows, each one (width*bpp+7)/8 byte long, beginning at the bottom left corner of the map.
See also:
getHeight, getWidth

NVSG_API void setMapData | ( | size_t | width,
 |  | size_t | height,
 |  | size_t | bitsPerPixel,
 |  | unsigned char * | data
 | ) | [protected]

Set the complete data of the Map.

Parameters:
width | The width of the Map in pixels.
height | The height of the Map in pixels.
bitsPerPixel | The number of bits used per pixel.
data | A pointer to the constant data of the Map.
Remarks:
This function allocates height*((width*bpp+7)/8) bytes to hold the map data and copies as many bytes from data.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • Map.h
Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: Member List

Map Member List

This is the complete list of members for Map, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Map | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getData() const | Map | [inline]
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHeight() const | Map | [inline]
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getObjectCode() const | Object | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getWidth() const | Map | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Map() | Map | [protected]
Map(const Map &rhs) | Map | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Map) (defined in Map) | Map |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMapData(size_t width, size_t height, size_t bitsPerPixel, unsigned char *data) | Map | [protected]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Map() | Map | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:06 2012 for SceniX


SceniX: MapArray Class Reference

nvsg::MapArray

MapArray Class Reference

Class to hold an array of Map objects. More...

#include <MapArray.h>

Inheritance diagram for MapArray:

[legend]
Collaboration diagram for MapArray:

[legend]
List of all members.

Public Member Functions

NVSG_API MapAlignment | getAlignment () const
Get the alignment of the MapArray.
NVSG_API void | setAlignment (MapAlignment alignment)
Set the alignment of the MapArray.
NVSG_API MapOrientation | getOrientation () const
Get the orientation of the MapArray.
NVSG_API void | setOrientation (MapOrientation orientation)
Set the orientation of the MapArray.
NVSG_API unsigned int | getSpacing () const
Get the spacing between consecutive Map objects.
NVSG_API void | setSpacing (unsigned int spacing)
Set the spacing between consecutive Map objects.
NVSG_API MapTraversalDirection | getTraversalDirection () const
Get the traversal direction of the MapArray.
NVSG_API void | setTraversalDirection (MapTraversalDirection direction)
Set the traversal direction of the MapArray.
NVSG_API unsigned int | getNumberOfMaps () const
Get the number of Map objects in this MapArray.
NVSG_API const TextureHostSharedPtr & | getMap (unsigned int index) const
Get the image at the specified index.
NVSG_API unsigned int | getIndexOfMap (const TextureHostSharedPtr &img) const
Get the index of a image in this MapArray.
NVSG_API void | addMap (const TextureHostSharedPtr &img)
Add an image to the end of the MapArray.
NVSG_API void | insertMap (unsigned int index, const TextureHostSharedPtr &img)
Insert an image in front of the specified index.
NVSG_API void | replaceMap (unsigned int index, const TextureHostSharedPtr &img)
Replace the image at the specified index.
NVSG_API void | removeMap (unsigned int index)
Remove the Map at the specified index.
NVSG_API void | clear (void)
Clear the MapArray.
NVSG_API void | getEntrySize (unsigned int &width, unsigned int &height) const
Get the maximal width and height of the Map objects.
virtual NVSG_API void | getSize (unsigned int &width, unsigned int &height) const
Get the overall size of the MapArray.
virtual NVSG_API const TextureHostSharedPtr & | pickMap (int x, int y) const
Get the image being at the specified raster position.
REFLECTION_INFO_API (NVSG_API, MapArray)

Static Public Member Functions

static NVSG_API MapArraySharedPtr | create ()

Protected Member Functions

NVSG_API | MapArray ()
Default-constructs a MapArray.
NVSG_API | MapArray (const MapArray &rhs)
Copy-constructs a MapArray from another MapArray.
virtual NVSG_API | ~MapArray ()
Destructs a MapArray.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class to hold an array of Map objects.

Namespace: nvsg
Remarks:
This class is used to add an array of Map objects to a MapList. This array can be oriented horizontally or vertically. The Map objects can be aligned along a common base, center, or top line. The traversal direction can be from the lower to the higher index, or vice versa. A spacing can be determined to be between each of the Map objects.
See also:
Map, MapElement, MapList, MapMatrix

Constructor & Destructor Documentation

NVSG_API MapArray ( ) [protected]

Default-constructs a MapArray.

Remarks:
The MapArray initially is aligned along the lower base line (MA_LOWER), is vertical oriented (MO_VERTICAL), has a spacing of 1 pixel, and will be traversed from low index to high index (MTD_LOW_TO_HIGH).

NVSG_API MapArray ( const MapArray & rhs ) [protected]

Copy-constructs a MapArray from another MapArray.

virtual NVSG_API ~MapArray ( ) [protected, virtual]

Destructs a MapArray.

Member Function Documentation

MapAlignment getAlignment ( ) const [inline]

Get the alignment of the MapArray.

Returns:
The MapAlignment of the MapArray.
Remarks:
If the Map objects of the MapArray have different sizes, they can be aligned along their lower (MA_LOWER), center (MA_CENTER), or upper (MA_UPPER) coordinate. The default is MA_LOWER.
Example
If the MapArray is horizontally oriented, and the Map objects have different heights, they can have a common base line (MA_LOWER), a common center line (MA_CENTER), or a common top line (MA_UPPER).
If the MapArray is vertically oriented, and the Map objects have different widths, they can have a common left margin (MA_LOWER), a common center line (MA_CENTER), or a common right margin (MA_UPPER).
See also:
getOrientation, setAlignment

void setAlignment ( MapAlignment alignment ) [inline]

Set the alignment of the MapArray.

Parameters:
alignment The MapAlignment of the MapArray.
Remarks:
If the Map objects of the MapArray have different sizes, they can be aligned along their lower (MA_LOWER), center (MA_CENTER), or upper (MA_UPPER) coordinate. The default is MA_LOWER.
Example
If the MapArray is horizontally oriented, and the Map objects have different heights, they can have a common base line (MA_LOWER), a common center line (MA_CENTER), or a common top line (MA_UPPER).
If the MapArray is vertically oriented, and the Map objects have different widths, they can have a common left margin (MA_LOWER), a common center line (MA_CENTER), or a common right margin (MA_UPPER).
See also:
getAlignment, setOrientation

MapOrientation getOrientation ( ) const [inline]

Get the orientation of the MapArray.

Returns:
The MapOrientation of the MapArray.
Remarks:
The Map objects of the MapArray can be oriented either horizontally (MO_HORIZONTAL) or vertically (MO_VERTICAL), thus resulting in either a row of Map objects or a column of Map objects. The default is MO_VERTICAL.
See also:
getAlignment, setOrientation

void setOrientation ( MapOrientation orientation ) [inline]

Set the orientation of the MapArray.

Parameters:
orientation The MapOrientation of the MapArray.
Remarks:
The Map objects of the MapArray can be oriented either horizontally (MO_HORIZONTAL) or vertically (MO_VERTICAL), thus resulting in either a row of Map objects or a column of Map objects. The default is MO_VERTICAL.
See also:
getOrientation, setAlignment

unsigned int getSpacing ( ) const [inline]

Get the spacing between consecutive Map objects.

Returns:
The spacing between consecutive Map objects.
Remarks:
Between each Map of the MapArray, there can be some open space remaining. The default is one.
See also:
setSpacing

void setSpacing ( unsigned int spacing ) [inline]

Set the spacing between consecutive Map objects.

Parameters:
spacing The spacing between consecutive Map objects.
Remarks:
Between each Map of the MapArray, there can be some open space remaining. The default is one.
See also:
getSpacing

MapTraversalDirection getTraversalDirection ( ) const [inline]

Get the traversal direction of the MapArray.

Returns:
The MapTraversalDirection of the MapArray.
Remarks:
The Map objects of the MapArray can be traversed either from lower to higher index (MTD_LOW_TO_HIGH) or from higher to lower index (MTD_HIGH_TO_LOW). The default is MTD_LOW_TO_HIGH.
Example
If the MapArray is vertically oriented, aligned to the lower base line, and the traversal direction is MTD_LOW_TO_HIGH, the Map with index 0 is drawn at the bottom base line, the Map with index 1 is drawn above, and so on.
See also:
getAlignment, getOrientation, setTraversalDirection

void setTraversalDirection ( MapTraversalDirection direction ) [inline]

Set the traversal direction of the MapArray.

Parameters:
direction The MapTraversalDirection of the MapArray.
Remarks:
The Map objects of the MapArray can be traversed either from lower to higher index (MTD_LOW_TO_HIGH) or from higher to lower index (MTD_HIGH_TO_LOW). The default is MTD_LOW_TO_HIGH.
Example
If the MapArray is vertically oriented, aligned to the lower base line, and the traversal direction is MTD_LOW_TO_HIGH, the Map with index 0 is drawn at the bottom base line, the Map with index 1 is drawn above, and so on.
See also:
getTraversalDirection, setAlignment, setOrientation

unsigned int getNumberOfMaps ( ) const [inline]

Get the number of Map objects in this MapArray.

Returns:
The number of Map objects in this MapArray.
See also:
addMap, getMap, insertMap, pickMap, removeMap, replaceMap

const TextureHostSharedPtr & getMap ( unsigned int index ) const [inline]

Get the image at the specified index.

Parameters:
index Index of the image to get.
Returns:
The image at the specified index in the MapArray.
Note:
The behavior is undefined, if index is larger than or equal to the number of images in this MapArray.
See also:
addMap, getNumberOfMaps, insertMap, removeMap, replaceMap

unsigned int getIndexOfMap ( const TextureHostSharedPtr & img ) const [inline]

Get the index of a image in this MapArray.

Parameters:
img A pointer to the image to get index for.
Returns:
The index of img in this MapArray, or (-1) if img is not part of this MapArray.
See also:
getMap, pickMap

void addMap ( const TextureHostSharedPtr & img ) [inline]

Add an image to the end of the MapArray.

Parameters:
img A pointer to the image to add.
Remarks:
The reference count of img is incremented.
See also:
getMap, getNumberOfMaps, insertMap, replaceMap, removeMap

void insertMap | ( | unsigned int | index,
 |  | const TextureHostSharedPtr & | img
 | ) | [inline]

Insert an image in front of the specified index.

Parameters:
index | Index to insert an image before.
img | A pointer to the image to insert.
Remarks:
The reference count of img is incremented.
Note:
The behavior is undefined if index is larger than or equal to the number of images in this MapArray.
See also:
addMap, getMap, getNumberOfMaps, replaceMap, removeMap

void replaceMap | ( | unsigned int | index,
 |  | const TextureHostSharedPtr & | img
 | ) | [inline]

Replace the image at the specified index.

Parameters:
index | Index to replace the image at.
img | A pointer to the image to replace with.
Remarks:
The reference count of img is incremented, and the reference count of the image previously at index index is decremented.
Note:
The behavior is undefined if index is larger than or equal to the number of Map objects in this MapArray.
See also:
addMap, getMap, getNumberOfMaps, insertMap, removeMap

void removeMap ( unsigned int index ) [inline]

Remove the Map at the specified index.

Parameters:
index Index to remove the Map at.
Remarks:
The reference count of the Map at index index is decremented.
Note:
The behavior is undefined if index is larger than or equal to the number of Map objects in this MapArray.
See also:
addMap, getMap, getNumberOfMaps, insertMap, replaceMap

NVSG_API void clear ( void )

Clear the MapArray.

Remarks:
The reference count of every Map in this MapArray is decremented, and the array is cleared.
See also:
addMap, getNumberOfMaps, removeMap

NVSG_API void getEntrySize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const

Get the maximal width and height of the Map objects.

Parameters:
width | Reference to the maximal width, in pixels, to get.
height | Reference to the maximal height, in pixels, to get.
Remarks:
For a horizontally oriented MapArray, height is used as the overall height; for a vertically oriented MapArray, width is used as the overall width.
See also:
getOrientation, getSize

virtual NVSG_API void getSize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const [virtual]

Get the overall size of the MapArray.

Parameters:
width | Reference to the overall width, in pixels, to get.
height | Reference to the overall height, in pixels, to get.
Remarks:
The overall size of a MapArray is the size, in pixels, that the complete MapArray has.
Example
For a horizontally oriented MapArray, height is the same as what you get with getEntrySize(), while width is the sum of the widths of every Map in the MapArray, plus the spacing in between them.
For a vertically oriented MapArray, width is the same as what you get with getEntrySize(), while height is the sum of the heights of every Map in the MapArray, plus the spacing in between them.
See also:
getEntrySize, getOrientation

Implements MapObject.

virtual NVSG_API const TextureHostSharedPtr& pickMap | ( | int | x,
 |  | int | y
 | ) | const [virtual]

Get the image being at the specified raster position.

Parameters:
x | Horizontal raster coordinate to get Map at.
y | Vertical raster coordinate to get Map at.
Returns:
The TextureHost specifying the image at the specified raster position.
Remarks:
This function determines the image of this MapArray at the specified raster position (x, y), if any. It takes into account the position, alignment, direction, orientation, and spacing. For a horizontally oriented MapArray, the images are considered to be of equal height; for a vertically oriented MapArray, the images are considered to be of equal width. If the position is in the spacing between two images, or outside of the overall size of the MapArray, NULL is returned.
See also:
getEntrySize, getSize, getMap

Implements MapObject.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from MapObject.

The documentation for this class was generated from the following file:
  • MapArray.h
Generated on Fri Jul 13 13:30:07 2012 for SceniX


SceniX: Member List

MapArray Member List

This is the complete list of members for MapArray, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addMap(const TextureHostSharedPtr &img) | MapArray | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clear(void) | MapArray |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in MapArray) | MapArray | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MapArray | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAlignment() const | MapArray | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getEntrySize(unsigned int &width, unsigned int &height) const | MapArray |
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexOfMap(const TextureHostSharedPtr &img) const | MapArray | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getLowerLeft(int &x, int &y) const | MapObject |
getMap(unsigned int index) const | MapArray | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfMaps() const | MapArray | [inline]
getObjectCode() const | Object | [inline]
getOrientation() const | MapArray | [inline]
getPosition(int &x, int &y) const | MapObject | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getRelation(void) const | MapObject | [inline]
getSize(unsigned int &width, unsigned int &height) const | MapArray | [virtual]
getSpacing() const | MapArray | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalDirection() const | MapArray | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertMap(unsigned int index, const TextureHostSharedPtr &img) | MapArray | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MapArray() | MapArray | [protected]
MapArray(const MapArray &rhs) | MapArray | [protected]
MapObject(void) | MapObject | [protected]
MapObject(const MapObject &rhs) | MapObject | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
pickMap(int x, int y) const | MapArray | [virtual]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MapArray) (defined in MapArray) | MapArray |
REFLECTION_INFO_API(NVSG_API, MapObject) (defined in MapObject) | MapObject |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeMap(unsigned int index) | MapArray | [inline]
replaceMap(unsigned int index, const TextureHostSharedPtr &img) | MapArray | [inline]
setAlignment(MapAlignment alignment) | MapArray | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setOrientation(MapOrientation orientation) | MapArray | [inline]
setPosition(int x, int y) | MapObject | [inline]
setRelation(MapRelation relation) | MapObject | [inline]
setSpacing(unsigned int spacing) | MapArray | [inline]
setTraversalDirection(MapTraversalDirection direction) | MapArray | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~MapArray() | MapArray | [protected, virtual]
~MapObject(void) | MapObject | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:07 2012 for SceniX


SceniX: MapElement Class Reference

nvsg::MapElement

MapElement Class Reference

Class to hold a single Map. More...

#include <MapElement.h>

Inheritance diagram for MapElement:

[legend]
Collaboration diagram for MapElement:

[legend]
List of all members.

Public Member Functions

NVSG_API const TextureHostSharedPtr & | getMap () const
Get a pointer to the image.
virtual NVSG_API const TextureHostSharedPtr & | pickMap (int x, int y) const
Get the image being at the specified raster position.
NVSG_API void | setMap (const TextureHostSharedPtr &img)
Set the image of the MapElement.
virtual NVSG_API void | getSize (unsigned int &width, unsigned int &height) const
Get the overall size of the MapElement.
REFLECTION_INFO_API (NVSG_API, MapElement)

Static Public Member Functions

static NVSG_API MapElementSharedPtr | create ()

Protected Member Functions

NVSG_API | MapElement ()
Default constructor of a MapElement.
NVSG_API | MapElement (const MapElement &rhs)
Copy-constructs a MapElement.
virtual NVSG_API | ~MapElement ()
Destructs a MapElement.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class to hold a single Map.

Namespace: nvsg
Remarks:
This class is used to add a single Map to a MapList.
See also:
Map, MapArray, MapList, MapMatrix

Constructor & Destructor Documentation

NVSG_API MapElement ( ) [protected]

Default constructor of a MapElement.

Remarks:
The default constructor creates an empty MapElement without associated Map. To set the Map use setMap().

NVSG_API MapElement ( const MapElement & rhs ) [protected]

Copy-constructs a MapElement.

Parameters:
rhs Source MapElement.

virtual NVSG_API ~MapElement ( ) [protected, virtual]

Destructs a MapElement.

Member Function Documentation

const TextureHostSharedPtr & getMap ( ) const [inline]

Get a pointer to the image.

Returns:
A pointer to the image of this MapElement.
See also:
pickMap

virtual NVSG_API const TextureHostSharedPtr& pickMap | ( | int | x,
 |  | int | y
 | ) | const [virtual]

Get the image being at the specified raster position.

Parameters:
x | Horizontal raster coordinate to get the image at.
y | Vertical raster coordinate to get the image at.
Returns:
A pointer to the image specified for the specified raster position, or NULL if no image was found at that position.
Remarks:
This functions determines if the image of this MapElement is at the specified raster position (x, y). If it is, a pointer to the image is returned, otherwise NULL.
See also:
getMap

Implements MapObject.

NVSG_API void setMap ( const TextureHostSharedPtr & img )

Set the image of the MapElement.

Parameters:
img A pointer to a image to be used by this MapElement.

virtual NVSG_API void getSize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const [virtual]

Get the overall size of the MapElement.

Parameters:
width | Reference to the overall width, in pixels, to get.
height | Reference to the overall height, in pixels, to get.
Remarks:
The overall size of the MapElement is the size, in pixels, of it's Map.

Implements MapObject.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from MapObject.

The documentation for this class was generated from the following file:
  • MapElement.h
Generated on Fri Jul 13 13:30:07 2012 for SceniX


SceniX: Member List

MapElement Member List

This is the complete list of members for MapElement, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in MapElement) | MapElement | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MapElement | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getLowerLeft(int &x, int &y) const | MapObject |
getMap() const | MapElement | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getObjectCode() const | Object | [inline]
getPosition(int &x, int &y) const | MapObject | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getRelation(void) const | MapObject | [inline]
getSize(unsigned int &width, unsigned int &height) const | MapElement | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MapElement() | MapElement | [protected]
MapElement(const MapElement &rhs) | MapElement | [protected]
MapObject(void) | MapObject | [protected]
MapObject(const MapObject &rhs) | MapObject | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
pickMap(int x, int y) const | MapElement | [virtual]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MapElement) (defined in MapElement) | MapElement |
REFLECTION_INFO_API(NVSG_API, MapObject) (defined in MapObject) | MapObject |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMap(const TextureHostSharedPtr &img) | MapElement |
setName(const std::string &name) | Object |
setPosition(int x, int y) | MapObject | [inline]
setRelation(MapRelation relation) | MapObject | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~MapElement() | MapElement | [protected, virtual]
~MapObject(void) | MapObject | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:07 2012 for SceniX


SceniX: MapList Class Reference

nvsg::MapList

MapList Class Reference

Class to hold a list of two-dimensional maps. More...

#include <MapList.h>

Inheritance diagram for MapList:

[legend]
Collaboration diagram for MapList:

[legend]
List of all members.

Public Member Functions

NVSG_API unsigned int | getNumberOfMapObjects (void) const
Get the number of MapObject objects in this MapList.
NVSG_API const MapObjectSharedPtr & | getMapObject (unsigned int index) const
Get a pointer to the constant MapObject at the specified index.
NVSG_API void | addMapObject (const MapObjectSharedPtr &mo)
Add a MapObject to the end of the MapList.
NVSG_API void | insertMapObject (unsigned int index, const MapObjectSharedPtr &mo)
Insert a MapObject in front of the specified index.
NVSG_API void | replaceMapObject (unsigned int index, const MapObjectSharedPtr &mo)
Replace the MapObject at the specified index.
NVSG_API void | removeMapObject (unsigned int index)
Remove the MapObject at the specified index.
NVSG_API void | clear (void)
Clear the MapList.
NVSG_API const TextureHostSharedPtr & | pickMap (int x, int y, unsigned int *index=NULL) const
Get the image located at the specified raster position.
REFLECTION_INFO_API (NVSG_API, MapList)

Static Public Member Functions

static NVSG_API MapListSharedPtr | create ()

Protected Member Functions

NVSG_API | MapList ()
Constructs an empty MapList.
NVSG_API | MapList (const MapList &rhs)
Copy-Constructs a MapList from another MapList.
virtual NVSG_API | ~MapList (void)
Destructs a MapList.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class to hold a list of two-dimensional maps.

Namespace: nvsg
Remarks:
A MapList is used in a ViewState to hold a list of two-dimensional maps. These maps are displayed on top of the scene. They can be, for example, some information overlay or type of menus.
The MapList holds a list of MapObject objects. A MapObject can be a MapElement, holding a single Map; a MapArray, holding a row or column of Map objects; or a MapMatrix, holding a matrix of Map objects.
The MapObject objects are positioned in the viewport by raster coordinates.
See also:
Map, MapArray, MapElement, MapObject, MapMatrix

Constructor & Destructor Documentation

NVSG_API MapList ( ) [protected]

Constructs an empty MapList.

NVSG_API MapList ( const MapList & rhs ) [protected]

Copy-Constructs a MapList from another MapList.

virtual NVSG_API ~MapList ( void ) [protected, virtual]

Destructs a MapList.

Member Function Documentation

unsigned int getNumberOfMapObjects ( void ) const [inline]

Get the number of MapObject objects in this MapList.

Returns:
The number of contained MapObject objects.
See also:
addMapObject, getMapObject

const MapObjectSharedPtr & getMapObject ( unsigned int index ) const [inline]

Get a pointer to the constant MapObject at the specified index.

Parameters:
index Index of the MapObject to get.
Returns:
A pointer to the constant MapObject at the specified index in the MapList.
Note:
The behavior is undefined if index is larger than or equal to the number of MapObject objects in this MapList.
See also:
addMapObject, getNumberOfMapObjects, pickMap

void addMapObject ( const MapObjectSharedPtr & mo ) [inline]

Add a MapObject to the end of the MapList.

Parameters:
mo A pointer to the constant MapObject to add
Remarks:
The reference count of mo is increased.
See also:
getMapObject, getNumberOfMapObjects, insertMapObject

void insertMapObject | ( | unsigned int | index,
 |  | const MapObjectSharedPtr & | mo
 | ) | [inline]

Insert a MapObject in front of the specified index.

Parameters:
index | Index to insert a MapObject before.
mo | A pointer to the constant MapObject to insert.
Remarks:
The reference count of mo is incremented.
Note:
The behavior is undefined if index is larger than or equal to the number of MapObject objects in this MapList.
See also:
addMapObject, getMapObject, getNumberOfMapObjects

void replaceMapObject | ( | unsigned int | index,
 |  | const MapObjectSharedPtr & | mo
 | ) | [inline]

Replace the MapObject at the specified index.

Parameters:
index | Index to determine where to replace the MapObject.
mo | A pointer to the constant MapObject to replace with.
Remarks:
The reference count of mo is incremented, and the reference count of the MapObject previously at index index is decremented.
Note:
The behavior is undefined if index is larger than or equal to the number of MapObject objects in this MapList.
See also:
addMapObject, getMapObject, getNumberOfMapObjects, removeMapObject

void removeMapObject ( unsigned int index ) [inline]

Remove the MapObject at the specified index.

Parameters:
index Index to determine where to remove the MapObjec.
Remarks:
The reference count of the MapObject at index index is decremented.
Note:
The behavior is undefined if index is larger than or equal to the number of MapObject objects in this MapList.
See also:
addMapObject, getMapObject, getNumberOfMapObjects, replaceMapObject

NVSG_API void clear ( void )

Clear the MapList.

Remarks:
The reference count of every MapObject in this MapList is decremented, and the list is cleared.
See also:
addMapObject, getNumberOfMapObjects, removeMapObject

NVSG_API const TextureHostSharedPtr& pickMap | ( | int | x,
 |  | int | y,
 |  | unsigned int * | index = NULL
 | ) | const

Get the image located at the specified raster position.

Parameters:
x | Horizontal raster coordinate to use for getting the image
y | Vertical raster coordinate to use for getting the image.
index | Optional pointer to get the index of the MapObject that holds the picked image.
Returns:
The TextureHost specifying the image at the specified raster position. If an image is picked and index is not NULL, it returns the index of the MapObject holding the picked image.
Remarks:
This function determines the image of this MapList at the specified raster position (x, y), if any. It asks each of its MapObjects if it has an image at the specified position, and if so, that image is returned. If index is not NULL, the index of the MapObject holding that image is returned there, too.
See also:
getMapObject, getNumberOfMapObjects

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • MapList.h
Generated on Fri Jul 13 13:30:07 2012 for SceniX


SceniX: Member List

MapList Member List

This is the complete list of members for MapList, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addMapObject(const MapObjectSharedPtr &mo) | MapList | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clear(void) | MapList |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in MapList) | MapList | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MapList | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMapObject(unsigned int index) const | MapList | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfMapObjects(void) const | MapList | [inline]
getObjectCode() const | Object | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertMapObject(unsigned int index, const MapObjectSharedPtr &mo) | MapList | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MapList() | MapList | [protected]
MapList(const MapList &rhs) | MapList | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
pickMap(int x, int y, unsigned int *index=NULL) const | MapList |
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MapList) (defined in MapList) | MapList |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeMapObject(unsigned int index) | MapList | [inline]
replaceMapObject(unsigned int index, const MapObjectSharedPtr &mo) | MapList | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in MapList) | MapList | [protected, virtual]
~MapList(void) | MapList | [protected, virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:07 2012 for SceniX


SceniX: MapMatrix Class Reference

nvsg::MapMatrix

MapMatrix Class Reference

Class to hold a matrix of Map objects. More...

#include <MapMatrix.h>

Inheritance diagram for MapMatrix:

[legend]
Collaboration diagram for MapMatrix:

[legend]
List of all members.

Public Member Functions

NVSG_API MapAlignment | getAlignment (MapOrientation orientation) const
Get the alignment of the MapMatrix along the orientation.
NVSG_API void | setAlignment (MapOrientation orientation, MapAlignment alignment)
Set the alignment of the MapMatrix along the orientation.
NVSG_API unsigned int | getSpacing (MapOrientation orientation) const
Get the spacing between consecutive Map objects along the orientation.
NVSG_API void | setSpacing (MapOrientation orientation, unsigned int spacing)
Set the spacing between consecutive Map objects.
NVSG_API MapTraversalDirection | getTraversalDirection (MapOrientation orientation) const
Get the traversal direction of the MapMatrix along the orientation.
NVSG_API void | setTraversalDirection (MapOrientation orientation, MapTraversalDirection direction)
Set the traversal direction of the MapMatrix along the orientation.
NVSG_API unsigned int | getNumberOfColumns (void) const
Get the number of columns of Map objects.
NVSG_API void | addEmptyColumn (void)
Add an empty column of Map objects as the last column.
NVSG_API void | insertEmptyColumn (unsigned int col)
Insert an empty column of Map objects in front of column col.
NVSG_API void | removeColumn (unsigned int col)
Remove the column col of Map objects.
NVSG_API unsigned int | getNumberOfMaps (unsigned int col) const
Get the number of Map objects in the column col.
NVSG_API const TextureHostSharedPtr & | getMap (unsigned int col, unsigned int row) const
Get a pointer to the image at the specified position.
NVSG_API bool | getIndexOfMap (const TextureHostSharedPtr &img, unsigned int &col, unsigned int &row) const
Get the index of an image in this MapMatrix.
NVSG_API void | addMap (unsigned int col, const TextureHostSharedPtr &img)
Add an image at the end of the column col.
NVSG_API void | insertMap (unsigned int col, unsigned int row, const TextureHostSharedPtr &map)
Insert an image in the column col in front of index row.
NVSG_API void | replaceMap (unsigned int col, unsigned int row, const TextureHostSharedPtr &img)
Replace the image in the column col at index row.
NVSG_API void | removeMap (unsigned int col, unsigned int row)
Remove the Map in the column col at index row.
NVSG_API void | getEntrySize (unsigned int &width, unsigned int &height) const
Get the maximal width and height of the Map objects.
virtual NVSG_API void | getSize (unsigned int &width, unsigned int &height) const
Get the overall size of the MapMatrix.
virtual NVSG_API const TextureHostSharedPtr & | pickMap (int x, int y) const
Get the image located at the specified raster position.
REFLECTION_INFO_API (NVSG_API, MapMatrix)

Static Public Member Functions

static NVSG_API MapMatrixSharedPtr | create ()

Protected Member Functions

NVSG_API | MapMatrix (void)
Default-constructs a MapMatrix.
NVSG_API | MapMatrix (const MapMatrix &rhs)
Copy-constructs a MapMatrix.
virtual NVSG_API | ~MapMatrix (void)
Destructs a MapMatrix.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class to hold a matrix of Map objects.

Namespace: nvsg
Remarks:
This class is used to add a matrix of Map objects to a MapList. Each Map is positioned in a raster field, with each field as large as the largest Map in the MapMatrix. The Map objects can be aligned along a common base, a center, or a top line. The traversal direction can be from the lower to the higher index, or vice versa. A spacing can be determined to be between each of the Map objects.
The MapMatrix is organized as a row of columns, where each column can have a different number of entries.
See also:
Map, MapElement, MapList, MapMatrix

Constructor & Destructor Documentation

NVSG_API MapMatrix ( void ) [protected]

Default-constructs a MapMatrix.

Remarks:
The MapMatrix initially is aligned to the lower base line (MA_LOWER), has a spacing of 1 pixel, and will be traversed from low index to high index (MTD_LOW_TO_HIGH).

NVSG_API MapMatrix ( const MapMatrix & rhs ) [protected]

Copy-constructs a MapMatrix.

Parameters:
rhs Source MapMatrix.

virtual NVSG_API ~MapMatrix ( void ) [protected, virtual]

Destructs a MapMatrix.

Member Function Documentation

MapAlignment getAlignment ( MapOrientation orientation ) const [inline]

Get the alignment of the MapMatrix along the orientation.

Parameters:
orientation The MapOrientation to get the alignment for.
Returns:
The MapAlignment of the Map objects in the MapOrienation orientation.
Remarks:
If the Map objects of the MapMatrix have different sizes, they can be aligned along their lower (MA_LOWER), center (MA_CENTER), or upper (MA_UPPER) coordinate. The default is MA_LOWER.
Example
If the Map objects have different heights, they can have a common base line (MA_LOWER), a common center line (MA_CENTER), or a common top line (MA_UPPER).
If the Map objects have different widths, they can have a common left margin (MA_LOWER), a common center line (MA_CENTER), or a common right margin (MA_UPPER).
See also:
setAlignment

void setAlignment | ( | MapOrientation | orientation,
 |  | MapAlignment | alignment
 | ) | [inline]

Set the alignment of the MapMatrix along the orientation.

Parameters:
orientation | The MapOrientation along which to set the alignment.
alignment | The MapAlignment of the Map objects along the MapOrientation orientation.
Remarks:
If the Map objects of the MapMatrix have different sizes, they can be aligned along their lower (MA_LOWER), center (MA_CENTER), or upper (MA_UPPER) coordinate. The default is MA_LOWER.
Example
If the Map objects have different heights, they can have a common base line (MA_LOWER), a common center line (MA_CENTER), or a common top line (MA_UPPER).
If the Map objects have different widths, they can have a common left margin (MA_LOWER), a common center line (MA_CENTER), or a common right margin (MA_UPPER).
See also:
getAlignment

unsigned int getSpacing ( MapOrientation orientation ) const [inline]

Get the spacing between consecutive Map objects along the orientation.

Parameters:
orientation The MapOrientation to use to get the spacing.
Returns:
The spacing between consecutive Map objects in the MapOrientation orientation.
Remarks:
Between each Map of the MapMatrix, there can be some open space left. Each direction can have a different spacing, but between each Map, then, the spacing is equal. The default is one in both directions.
See also:
setSpacing

void setSpacing | ( | MapOrientation | orientation,
 |  | unsigned int | spacing
 | ) | [inline]

Set the spacing between consecutive Map objects.

Parameters:
orientation | The MapOrientation to use when setting the spacing.
spacing | The spacing between consecutive Map objects.
Remarks:
Between each Map of the MapMatrix, there can be some open space left. Each direction can have a different spacing, but between each Map, then, the spacing is equal. The default is one in both directions.
See also:
getSpacing

MapTraversalDirection getTraversalDirection ( MapOrientation orientation ) const [inline]

Get the traversal direction of the MapMatrix along the orientation.

Parameters:
orientation The MapOrientation to use for getting the traversal direction.
Returns:
The MapTraversalDirection of the MapMatrix in the MapOrientation orientation.
Remarks:
The Map objects of the MapMatrix can be traversed either from lower to higher index (MTD_LOW_TO_HIGH) or from higher to lower index (MTD_HIGH_TO_LOW), independently in both orientations. The default is MTD_LOW_TO_HIGH in both orientations.
Example
If the traversal direction for the orientation MO_VERTICAL is MTD_LOW_TO_HIGH, in each column of the MapMatrix, the Map with index 0 is drawn at the bottom, the Map with index 1 is drawn above, and so on.
See also:
getAlignment, setTraversalDirection

void setTraversalDirection | ( | MapOrientation | orientation,
 |  | MapTraversalDirection | direction
 | ) | [inline]

Set the traversal direction of the MapMatrix along the orientation.

Parameters:
orientation | The MapOrientation to use for setting the traversal direction.
direction | The MapTraversalDirection of the MapMatrix in the MapOrientation orientation.
Remarks:
The Map objects of the MapMatrix can be traversed either from lower to higher index (MTD_LOW_TO_HIGH) or from higher to lower index (MTD_HIGH_TO_LOW), independently in both orientations. The default is MTD_LOW_TO_HIGH in both orientations.
Example
If the traversal direction for the orientation MO_VERTICAL is MTD_LOW_TO_HIGH, in each column of the MapMatrix, the Map with index 0 is drawn at the bottom, the Map with index 1 is drawn above, and so on.
See also:
getTraversalDirection, setAlignment

unsigned int getNumberOfColumns ( void ) const [inline]

Get the number of columns of Map objects.

Returns:
The number of columns of Map objects.
See also:
addEmptyColumn, insertEmptyColumn, removeColumn

void addEmptyColumn ( void ) [inline]

Add an empty column of Map objects as the last column.

See also:
addMap, getNumberOfColumns, insertEmptyColumn, removeColumn

void insertEmptyColumn ( unsigned int col ) [inline]

Insert an empty column of Map objects in front of column col.

Parameters:
col Index to insert an empty column of Map objects before.
Note:
The behavior is undefined if col is larger than or equal to the current number of columns.
See also:
addEmptyColumn, addMap, getNumberOfColumns, removeColumn

NVSG_API void removeColumn ( unsigned int col )

Remove the column col of Map objects.

Parameters:
col Index of column of Map objects to remove.
Note:
The behavior is undefined if col is larger than or equal to the current number of columns.
See also:
addEmptyColumn, getNumberOfColumns, insertEmptyColumn

unsigned int getNumberOfMaps ( unsigned int col ) const [inline]

Get the number of Map objects in the column col.

Parameters:
col Index of the column to use to get the number of Map objects.
Returns:
The number of Map objects in the column col.
See also:
addMap, getMap, getNumberOfColumns, insertMap

const TextureHostSharedPtr & getMap | ( | unsigned int | col,
 |  | unsigned int | row
 | ) | const [inline]

Get a pointer to the image at the specified position.

Parameters:
col | Index of the column.
row | Index of the row in column col.
Returns:
A pointer to the image at the specified position.
Note:
The behavior is undefined if col is larger than or equal to the number of columns, or if row is larger than or equal to the number of images in the column col.
See also:
addMap, getIndexOfMap, getNumberOfColumns, getNumberOfMaps, pickMap

NVSG_API bool getIndexOfMap | ( | const TextureHostSharedPtr & | img,
 |  | unsigned int & | col,
 |  | unsigned int & | row
 | ) | const

Get the index of an image in this MapMatrix.

Parameters:
img | A pointer to the image to use for getting the index.
col | A reference to get the column, where img is in.
row | A reference to get the row, where img is in.
Returns:
true, if img is part of this MapMatrix, otherwise false.
See also:
getMap, getNumberOfColumns, getNumberOfMaps, pickMap

void addMap | ( | unsigned int | col,
 |  | const TextureHostSharedPtr & | img
 | ) | [inline]

Add an image at the end of the column col.

Parameters:
col | Index of the column to add the Map to.
img | A pointer to the image to add.
Remarks:
The reference count of img is increased.
Note:
The behavior is undefined if col is larger than or equal to the number of columns.
See also:
getNumberOfColumns, getNumberOfMaps, insertMap, removeMap, replaceMap

void insertMap | ( | unsigned int | col,
 |  | unsigned int | row,
 |  | const TextureHostSharedPtr & | map
 | ) | [inline]

Insert an image in the column col in front of index row.

Parameters:
col | Index of the column to insert the image into.
row | Index of the row in the column col to insert the image before.
map | A pointer to the image to insert.
Remarks:
The reference count of img is increased.
Note:
The behavior is undefined if col is larger than or equal to the number of columns, or if row is larger than or equal to the number of images in the column col.
See also:
addMap, getNumberOfColumns, getNumberOfMaps, removeMap, replaceMap

void replaceMap | ( | unsigned int | col,
 |  | unsigned int | row,
 |  | const TextureHostSharedPtr & | img
 | ) | [inline]

Replace the image in the column col at index row.

Parameters:
col | Index of the column to replace the image in.
row | Index of the row in the column col to replace the image at.
img | A pointer to the image to replace with.
Remarks:
The reference count of img is incremented, and the reference count of the image previously at column col, row row, is decremented.
Note:
The behavior is undefined if col is larger than or equal to the number of columns, or if row is larger than or equal to the number of images in the column col.
See also:
addMap, getNumberOfColumns, getNumberOfMaps, insertMap, removeMap

void removeMap | ( | unsigned int | col,
 |  | unsigned int | row
 | ) | [inline]

Remove the Map in the column col at index row.

Parameters:
col | Index of the column to remove the Map in.
row | Index of the row in the column col to remove the Map at.
Note:
The behavior is undefined if col is larger than or equal to the number of columns, or if row is larger than or equal to the number of Map objects in the column col.
See also:
addMap, getNumberOfColumns, getNumberOfMaps, insertMap, replaceMap

NVSG_API void getEntrySize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const

Get the maximal width and height of the Map objects.

Parameters:
width | Reference to the maximal width, in pixels, to get.
height | Reference to the maximal height, in pixels, to get.
Remarks:
The entry size is the width and height of the matrix cells, in pixels, where each Map fits in. It is the maximal width and maximal height of all the Map objects.
See also:
getSize

virtual NVSG_API void getSize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const [virtual]

Get the overall size of the MapMatrix.

Parameters:
width | Reference to the overall width, in pixels, to get.
height | Reference to the overall height, in pixels, to get.
Remarks:
The overall size of a MapMatrix is the size, in pixels, the complete MapMatrix has. The overall width is the maximal width of the Map objects times the number of columns, plus the horizontal spacing between each of these. The overall height is the maximal height of the Map objects times the maximal number of rows of all columns, plus the vertical spacing between each of these.
See also:
getEntrySize, getNumberOfColumns, getNumberOfMaps

Implements MapObject.

virtual NVSG_API const TextureHostSharedPtr& pickMap | ( | int | x,
 |  | int | y
 | ) | const [virtual]

Get the image located at the specified raster position.

Parameters:
x | Horizontal raster coordinate to use for getting the image.
y | Vertical raster coordinate to use for getting the image.
Returns:
A pointer to the image located at the specified raster position, or NULL if there is none.
Remarks:
This function determines the image of this MapMatrix at the specified raster position (x, y), if any. It takes into account the position, alignment, direction, and spacing. Each image is considered to be the size of the largest image in this MapMatrix. If the position is in the spacing between two images, or outside of the overall size of the MapMatrix, NULL is returned.
See also:
getEntrySize, getSize, getMap

Implements MapObject.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from MapObject.

The documentation for this class was generated from the following file:
  • MapMatrix.h
Generated on Fri Jul 13 13:30:08 2012 for SceniX


SceniX: Member List

MapMatrix Member List

This is the complete list of members for MapMatrix, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addEmptyColumn(void) | MapMatrix | [inline]
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addMap(unsigned int col, const TextureHostSharedPtr &img) | MapMatrix | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in MapMatrix) | MapMatrix | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MapMatrix | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAlignment(MapOrientation orientation) const | MapMatrix | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getEntrySize(unsigned int &width, unsigned int &height) const | MapMatrix |
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexOfMap(const TextureHostSharedPtr &img, unsigned int &col, unsigned int &row) const | MapMatrix |
getIndexSetIncarnation() const (defined in Object) | Object |
getLowerLeft(int &x, int &y) const | MapObject |
getMap(unsigned int col, unsigned int row) const | MapMatrix | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfColumns(void) const | MapMatrix | [inline]
getNumberOfMaps(unsigned int col) const | MapMatrix | [inline]
getObjectCode() const | Object | [inline]
getPosition(int &x, int &y) const | MapObject | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getRelation(void) const | MapObject | [inline]
getSize(unsigned int &width, unsigned int &height) const | MapMatrix | [virtual]
getSpacing(MapOrientation orientation) const | MapMatrix | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalDirection(MapOrientation orientation) const | MapMatrix | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertEmptyColumn(unsigned int col) | MapMatrix | [inline]
insertMap(unsigned int col, unsigned int row, const TextureHostSharedPtr &map) | MapMatrix | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MapMatrix(void) | MapMatrix | [protected]
MapMatrix(const MapMatrix &rhs) | MapMatrix | [protected]
MapObject(void) | MapObject | [protected]
MapObject(const MapObject &rhs) | MapObject | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
pickMap(int x, int y) const | MapMatrix | [virtual]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MapMatrix) (defined in MapMatrix) | MapMatrix |
REFLECTION_INFO_API(NVSG_API, MapObject) (defined in MapObject) | MapObject |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeColumn(unsigned int col) | MapMatrix |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeMap(unsigned int col, unsigned int row) | MapMatrix | [inline]
replaceMap(unsigned int col, unsigned int row, const TextureHostSharedPtr &img) | MapMatrix | [inline]
setAlignment(MapOrientation orientation, MapAlignment alignment) | MapMatrix | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setPosition(int x, int y) | MapObject | [inline]
setRelation(MapRelation relation) | MapObject | [inline]
setSpacing(MapOrientation orientation, unsigned int spacing) | MapMatrix | [inline]
setTraversalDirection(MapOrientation orientation, MapTraversalDirection direction) | MapMatrix | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~MapMatrix(void) | MapMatrix | [protected, virtual]
~MapObject(void) | MapObject | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:08 2012 for SceniX


SceniX: MapObject Class Reference

nvsg::MapObject

MapObject Class Reference

Abstract base class to position one or more Map objects. More...

#include <MapObject.h>

Inheritance diagram for MapObject:

[legend]
Collaboration diagram for MapObject:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~MapObject (void)
Destructs a MapObject.
NVSG_API void | getPosition (int &x, int &y) const
Get the raster position.
NVSG_API void | setPosition (int x, int y)
Set the raster position.
NVSG_API MapRelation | getRelation (void) const
Get the relation of the MapObject.
NVSG_API void | setRelation (MapRelation relation)
Set the relation of the MapObject.
NVSG_API void | getLowerLeft (int &x, int &y) const
Get the lower left position of the MapObject.
virtual NVSG_API void | getSize (unsigned int &width, unsigned int &height) const =0
Interface to get the overall size of the MapObject.
virtual NVSG_API const TextureHostSharedPtr & | pickMap (int x, int y) const =0
Interface to get an image at a specified raster position.
REFLECTION_INFO_API (NVSG_API, MapObject)

Protected Member Functions

NVSG_API | MapObject (void)
Protected default constructor to prevent explicit creation.
NVSG_API | MapObject (const MapObject &rhs)
Protected copy constructor to prevent explicit creation.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class to position one or more Map objects.

Namespace: nvsg
Remarks:
The position of a MapObject is given in raster coordinates, relative to the lower left corner of the viewport. The MapRelation determines which point of the MapObject corresponds to that position.
The default position is the origin (0,0) with a MapRelation of MR_LOWER_LEFT.
See also:
MapArray, MapElement, MapMatrix

Constructor & Destructor Documentation

virtual NVSG_API ~MapObject ( void ) [virtual]

Destructs a MapObject.

NVSG_API MapObject ( void ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
The default setting for a MapObject are:
  • MapRelation to lower left (MR_LOWER_LEFT)
  • position at the origin (0,0).

NVSG_API MapObject ( const MapObject & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Remarks:
The MapRelation and position is copied over from rhs.

Member Function Documentation

void getPosition | ( | int & | x,
 |  | int & | y
 | ) | const [inline]

Get the raster position.

Parameters:
x | A reference to the x-coordinate to get.
y | A reference to the y-coordinate to get.
Remarks:
The position of the MapObject is the raster position relative to the lower left corner of the viewport. The point of the MapObject which corresponds to the position is defined by the MapRelation.
The default position is the origin (0,0).
See also:
getMapRelation, setPosition

void setPosition | ( | int | x,
 |  | int | y
 | ) | [inline]

Set the raster position.

Parameters:
x | The x-coordinate of the raster position.
y | The y-coordinate of the raster position.
Remarks:
The position of the MapObject is the raster position relative to the lower left corner of the viewport. The point of the MapObject which corresponds to the position is defined by the MapRelation.
The default position is the origin (0,0).
See also:
getPosition, setMapReleation

MapRelation getRelation ( void ) const [inline]

Get the relation of the MapObject.

Returns:
The MapRelation of the MapObject.
Remarks:
The MapRelation describes which point of the MapObject is used as the position.
The default MapRelation is MR_LOWER_LEFT.
Example
If the MapRelation is MR_LOWER_LEFT, the lower left corner of the MapObject corresponds to the position; that is, the MapObject is displayed to the upper right of the position.
If the MapRelation is MR_UPPER_RIGHT, the upper right corner of the MapObject corresponds to the position; that is, the MapObject is displayed below and to the left of the position.
See also:
getPosition, setRelation

void setRelation ( MapRelation relation ) [inline]

Set the relation of the MapObject.

Parameters:
relation The MapRelation of the MapObject to set.
Remarks:
The MapRelation describes which point of the MapObject is used as the position.
The default MapRelation is MR_LOWER_LEFT.
Example
If the MapRelation is MR_LOWER_LEFT, the lower left corner of the MapObject corresponds to the position; that is, the MapObject is displayed to the upper right of the position.
If the MapRelation is MR_UPPER_RIGHT, the upper right corner of the MapObject corresponds to the position; that is, the MapObject is displayed below and to the left of the position.
See also:
getRelation, setPosition

NVSG_API void getLowerLeft | ( | int & | x,
 |  | int & | y
 | ) | const

Get the lower left position of the MapObject.

Parameters:
x | A reference to the x-coordinate to get.
y | A reference to the y-coordinate to get.
Remarks:
The lower left position of the MapObject is calculated from its position, the MapRelation (describing the relative point of the MapObject corresponding to that position), and the Map objects with the heights, widths, and spacings.
Example
If the MapRelation is MR_LOWER_LEFT (the default), the lower left position equals the position of the MapObject.
If the MapRelation is MR_CENTER, the lower left position is half the width of the MapObject to the left, and half the height to below it's position.
See also:
getPosition, getRelation

virtual NVSG_API void getSize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const [pure virtual]

Interface to get the overall size of the MapObject.

Parameters:
width | Reference to the overall width, in pixels, to get.
height | Reference to the overall height, in pixels, to get.
Remarks:
If the MapObject just holds one Map, the size is the size of the Map. If it holds more than one Map and/or does some special alignment or other operations on its Map objects, the size is the overall size of these Map objects after any alignment or other operations have been applied to the Map objects.
See also:
getLowerLeft, getPosition

Implemented in MapArray, MapElement, and MapMatrix.

virtual NVSG_API const TextureHostSharedPtr& pickMap | ( | int | x,
 |  | int | y
 | ) | const [pure virtual]

Interface to get an image at a specified raster position.

Parameters:
x | Horizontal raster coordinate for the image to get.
y | Vertical raster coordinate for the image to get.
Returns:
The TextureHost specifying the image at the specified raster position.

Implemented in MapArray, MapElement, and MapMatrix.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in MapArray, MapElement, and MapMatrix.

The documentation for this class was generated from the following file:
  • MapObject.h
Generated on Fri Jul 13 13:30:08 2012 for SceniX


SceniX: Member List

MapObject Member List

This is the complete list of members for MapObject, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MapObject | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getLowerLeft(int &x, int &y) const | MapObject |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getObjectCode() const | Object | [inline]
getPosition(int &x, int &y) const | MapObject | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getRelation(void) const | MapObject | [inline]
getSize(unsigned int &width, unsigned int &height) const =0 | MapObject | [pure virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MapObject(void) | MapObject | [protected]
MapObject(const MapObject &rhs) | MapObject | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
pickMap(int x, int y) const =0 | MapObject | [pure virtual]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MapObject) (defined in MapObject) | MapObject |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setPosition(int x, int y) | MapObject | [inline]
setRelation(MapRelation relation) | MapObject | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~MapObject(void) | MapObject | [virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:08 2012 for SceniX


SceniX: Material Class Reference

nvsg::Material

Material Class Reference

StateAttribute that describes material properties. More...

#include <Material.h>

Inheritance diagram for Material:

[legend]
Collaboration diagram for Material:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | isDataShared () const
Query whether the data of this Material is shared with other Material objects.
virtual NVSG_API DataID | getDataID () const
Get the unique data identifier of this object.
NVSG_API const nvmath::Vec3f & | getAmbientColor (MaterialFace mf=MF_FRONT) const
Retrieves the ambient color.
NVSG_API void | setAmbientColor (const nvmath::Vec3f &ac, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the ambient color.
NVSG_API const nvmath::Vec3f & | getDiffuseColor (MaterialFace mf=MF_FRONT) const
Retrieves the diffuse color.
NVSG_API void | setDiffuseColor (const nvmath::Vec3f &dc, MaterialFace mf=MF_FRONT_AND_BACK)
Set the diffuse color.
NVSG_API const nvmath::Vec3f & | getEmissiveColor (MaterialFace mf=MF_FRONT) const
Retrieves the emissive color.
NVSG_API void | setEmissiveColor (const nvmath::Vec3f &ec, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the emissive color.
NVSG_API float | getOpacity (MaterialFace mf=MF_FRONT) const
Retrieves the opacity.
NVSG_API void | setOpacity (float o, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the opacity.
NVSG_API const nvmath::Vec3f & | getSpecularColor (MaterialFace mf=MF_FRONT) const
Retrieves the specular color.
NVSG_API void | setSpecularColor (const nvmath::Vec3f &sc, MaterialFace mf=MF_FRONT_AND_BACK)
Set the specular color.
NVSG_API float | getSpecularExponent (MaterialFace mf=MF_FRONT) const
Retrieves the specular exponent.
NVSG_API void | setSpecularExponent (float se, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the specular exponent.
NVSG_API float | getReflectivity (MaterialFace mf=MF_FRONT) const
Retrieves the reflectivity.
NVSG_API void | setReflectivity (float r, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the reflectivity.
NVSG_API float | getIndexOfRefraction (MaterialFace mf=MF_FRONT) const
Retrieves the IndexOfRefraction.
NVSG_API void | setIndexOfRefraction (float ior, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the IndexOfRefraction.
NVSG_API const nvmath::Vec3f & | getReflectivityColor (MaterialFace mf=MF_FRONT) const
Retrieves the Reflectivity color.
NVSG_API void | setReflectivityColor (const nvmath::Vec3f &sc, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the reflectivity color.
NVSG_API const nvmath::Vec3f & | getOpacityColor (MaterialFace mf=MF_FRONT) const
Retrieves the opacity color.
NVSG_API void | setOpacityColor (const nvmath::Vec3f &oc, MaterialFace mf=MF_FRONT_AND_BACK)
Sets the opacity color.
NVSG_API Material & | operator= (const Material &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other Material.
REFLECTION_INFO_API (NVSG_API, Material)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (AmbientColorFront)
NVSG_API | DECLARE_STATIC_PROPERTY (DiffuseColorFront)
NVSG_API | DECLARE_STATIC_PROPERTY (EmissiveColorFront)
NVSG_API | DECLARE_STATIC_PROPERTY (SpecularColorFront)
NVSG_API | DECLARE_STATIC_PROPERTY (ReflectivityColorFront)
NVSG_API | DECLARE_STATIC_PROPERTY (OpacityColorFront)
NVSG_API | DECLARE_STATIC_PROPERTY (OpacityFront)
NVSG_API | DECLARE_STATIC_PROPERTY (ReflectivityFront)
NVSG_API | DECLARE_STATIC_PROPERTY (SpecularExponentFront)
NVSG_API | DECLARE_STATIC_PROPERTY (IndexOfRefractionFront)
NVSG_API | DECLARE_STATIC_PROPERTY (AmbientColorBack)
NVSG_API | DECLARE_STATIC_PROPERTY (DiffuseColorBack)
NVSG_API | DECLARE_STATIC_PROPERTY (EmissiveColorBack)
NVSG_API | DECLARE_STATIC_PROPERTY (SpecularColorBack)
NVSG_API | DECLARE_STATIC_PROPERTY (ReflectivityColorBack)
NVSG_API | DECLARE_STATIC_PROPERTY (OpacityColorBack)
NVSG_API | DECLARE_STATIC_PROPERTY (OpacityBack)
NVSG_API | DECLARE_STATIC_PROPERTY (ReflectivityBack)
NVSG_API | DECLARE_STATIC_PROPERTY (SpecularExponentBack)
NVSG_API | DECLARE_STATIC_PROPERTY (IndexOfRefractionBack)

Static Public Member Functions

static NVSG_API MaterialSharedPtr | create ()

Protected Member Functions

NVSG_API | Material ()
Default-constructs a Material.
NVSG_API | Material (const Material &rhs)
Constructs a Material as a copy from another Material.
virtual NVSG_API | ~Material ()
Destructs a Material.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute that describes material properties.

Namespace: nvsg
Remarks:
A Material describes the color properties of a geometry. The properties for front and back faces can be described independently. The following are the default values that Material uses for both front and back faces:
  • ambient color is dark grey (0.2,0.2,0.2)
  • diffuse color is light grey (0.8,0.8,0.8)
  • emissive color is black (0.0,0.0,0.0)
  • index of refraction is 1.0
  • opacity is opaque 1.0
  • opacity color is opaque (1.0,1.0,1.0)
  • reflectivity is none 0.0
  • reflective color is none (0.0,0.0,0.0)
  • specular color is black (0.0,0.0,0.0)
  • specular exponent is zero 0.0
See also:
StateAttribute

Constructor & Destructor Documentation

NVSG_API Material ( ) [protected]

Default-constructs a Material.

NVSG_API Material ( const Material & rhs ) [protected]

Constructs a Material as a copy from another Material.

virtual NVSG_API ~Material ( ) [protected, virtual]

Destructs a Material.

Member Function Documentation

virtual NVSG_API bool isDataShared ( ) const [virtual]

Query whether the data of this Material is shared with other Material objects.

Returns:
true, if the data of this Material is shared with other Material objects, otherwise false.
Remarks:
A Material object shares its data with another Material object if it was either instantiated as a copy of the other, using Material::clone, or if it was assigned to by the other object using the assignment operator. In that case, the two objects have the same DataID.
See also:
clone, getDataID, operator=()

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Get the unique data identifier of this object.

Returns:
A 64-bit value that uniquely identifies the embedded data.
Remarks:
A Material object shares its data with another Material object if it was either instantiated as a copy of the other, using Material::clone, or if it was assigned to by the other object using the assignment operator. In that case, the two objects have the same DataID.
See also:
clone, isDataShared, operator=()

Reimplemented from Object.

const nvmath::Vec3f & getAmbientColor ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the ambient color.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) ambient color. The default is MF_FRONT.
Returns:
The function returns the ambient color value of this Material.
Remarks:
Ambient reflection, like ambient light, is non-directional. Ambient reflection has a lesser impact on the apparent color of a rendered object, but it does affect the overall color and is most noticeable when little or no diffuse light reflects off the material. A material's ambient reflection is affected by the ambient light set for a scene. The initial value is (0.2,0.2,0.2).
Note:
The behavior is undefined, if MF_FRONT_AND_BACK is used as the MaterialFace mf.
See also:
getDiffuseColor, getEmissiveColor, getSpecularColor, setAmbientColor

NVSG_API void setAmbientColor | ( | const nvmath::Vec3f & | ac,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the ambient color.

Parameters:
ac | Specifies the ambient color to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
Ambient reflection, like ambient light, is non-directional. Ambient reflection has a lesser impact on the apparent color of a rendered object, but it does affect the overall color and is most noticeable when little or no diffuse light reflects off the material. A material's ambient reflection is affected by the ambient light set for a scene.
See also:
getAmbientColor, setDiffuseColor, setEmissiveColor, setSpecularColor

const nvmath::Vec3f & getDiffuseColor ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the diffuse color.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) diffuse color. The default is MF_FRONT.
Returns:
The function returns the diffuse color value of this Material.
Remarks:
The diffuse and ambient colors of a material describe how a material reflects the ambient and diffuse light in a scene. Because most scenes contain much more diffuse light than ambient light, diffuse reflection plays the largest role in determining color. Additionally, because diffuse light is directional, the angle of incidence for diffuse light affects the overall intensity of the reflection. Diffuse reflection is greatest when the light strikes a vertex parallel to the vertex normal. As the angle increases, the effect of diffuse reflection diminishes. The amount of light reflected is the cosine of the angle between the incoming light and the vertex normal. The initial value is (0.8,0.8,0.8).
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.
See also:
getAmbientColor, getEmissiveColor, getSpecularColor, setDiffuseColor

NVSG_API void setDiffuseColor | ( | const nvmath::Vec3f & | dc,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Set the diffuse color.

Parameters:
dc | Specifies the diffuse color to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
The diffuse and ambient colors of a material describe how a material reflects the ambient and diffuse light in a scene. Because most scenes contain much more diffuse light than ambient light, diffuse reflection plays the largest role in determining color. Additionally, because diffuse light is directional, the angle of incidence for diffuse light affects the overall intensity of the reflection. Diffuse reflection is greatest when the light strikes a vertex parallel to the vertex normal. As the angle increases, the effect of diffuse reflection diminishes. The amount of light reflected is the cosine of the angle between the incoming light and the vertex normal.
See also:
getDiffuseColor, setAmbientColor, setEmissiveColor, setSpecularColor

const nvmath::Vec3f & getEmissiveColor ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the emissive color.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) emissive color. The default is MF_FRONT.
Returns:
The function returns the emissive color value of this Material.
Remarks:
Materials can be used to make a rendered object appear to be self-luminous. The emissive color of a material is used to describe the color of the emitted light. Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color. You can use a material's emissive color to add the illusion that an object is emitting light, without incurring the computational overhead of adding a light to the scene. Remember, materials with emissive color don't emit light that can be reflected by other objects in a scene. To achieve this reflected light, you need to place an additional light within the scene. The default is black (0.0,0.0,0.0).
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.
See also:
getAmbientColor, getDiffuseColor, getSpecularColor, setEmissiveColor

NVSG_API void setEmissiveColor | ( | const nvmath::Vec3f & | ec,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the emissive color.

Parameters:
ec | Specifies the emissive color to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
Materials can be used to make a rendered object appear to be self-luminous. The emissive color of a material is used to describe the color of the emitted light. Emission affects an object's color, and can, for example, make a dark material brighter and take on part of the emitted color. You can use a material's emissive color to add the illusion that an object is emitting light, without incurring the computational overhead of adding a light to the scene. Remember, materials with emissive color don't emit light that can be reflected by other objects in a scene. To achieve this reflected light, you need to place an additional light within the scene.
See also:
getEmissiveColor, setAmbientColor, setDiffuseColor, setSpecularColor

float getOpacity ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the opacity.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) opacity. The default is MF_FRONT.
Returns:
The opacity.
Remarks:
The opacity of a material controls how much light is reflected and how much light goes through. An opacity of 1.0 means the material is completely opaque - all light is reflected and no objects behind shine through. An opacity of 0.0 means the material is completely transparent - no light is reflected and objects behind are seen undisturbed. The default is opaque 1.0.
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.
See also:
setOpacity

NVSG_API void setOpacity | ( | float | o,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the opacity.

Parameters:
o | The opacity to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
The opacity of a material controls how much light is reflected and how much light goes through. An opacity of 1.0 means the material is completely opaque - all light is reflected and no objects behind shine through. An opacity of 0.0 means the material is completely transparent - no light is reflected and objects behind are seen undisturbed. The default opacity is 1.0 (completely opaque).
Note:
This function also sets the opacity color to o on all three channels.
See also:
getOpacity

const nvmath::Vec3f & getSpecularColor ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the specular color.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) specular color. The default is MF_FRONT.
Returns:
The function returns the specular color value of this Material.
Remarks:
Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color. The values you set in the specular exponent control how sharp the specular effects are. The initial value is (0.0,0.0,0.0).
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.
See also:
getAmbientColor, getDiffuseColor, getEmissiveColor, getSpecularExponent, setSpecularColor

NVSG_API void setSpecularColor | ( | const nvmath::Vec3f & | sc,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Set the specular color.

Parameters:
sc | Specifies the specular color to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color. The values you set in the specular exponent control how sharp the specular effects are.
See also:
getSpecularColor, setAmbientColor, setDiffuseColor, setEmissiveColor, setSpecularExponent

float getSpecularExponent ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the specular exponent.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) opacity. The default is MF_FRONT.
Returns:
The specular exponent.
Remarks:
Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color. The value you set as the specular exponent controls how sharp the specular effects are. The initial value is 0.0.
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.
See also:
getSpecularColor, setSpecularExponent

NVSG_API void setSpecularExponent | ( | float | se,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the specular exponent.

Parameters:
se | The specular exponent to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
Specular reflection creates highlights on objects, making them appear shiny. The material contains two members that describe the specular highlight color as well as the material's overall shininess. You establish the color of the specular highlights by setting the specular color to the desired RGBA color. The value you set as the specular exponent controls how sharp the specular effects are.
See also:
getSpecularExponent, setSpecularColor

float getReflectivity ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the reflectivity.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) reflectivity. The default is MF_FRONT.
Returns:
The reflectivity.
Remarks:
The reflectivity of a material declares the amount of perfect mirror reflection to be added to the reflected light as a value between 0.0 and 1.0. The default for reflectivity is 0.0.
Note:
OpenGL does not have a notion of reflectivity, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.

See also:
setReflectivity

NVSG_API void setReflectivity | ( | float | r,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the reflectivity.

Parameters:
r | The reflectivity to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
The reflectivity of a material declares the amount of perfect mirror reflection to be added to the reflected light as a value between 0.0 and 1.0. The default for reflectivity is 0.0.
Note:
OpenGL does not have a notion of reflectivity, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

This function also sets the reflectivity color to r on all three channels.

See also:
getReflectivity

float getIndexOfRefraction ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the IndexOfRefraction.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) IndexOfRefraction. The default is MF_FRONT.
Returns:
The IndexOfRefraction.
Remarks:
The IndexOfRefraction of a material declares the IOR for perfectly refracted light as a single scalar index. The default for IndexOfRefraction is 1.0.
Note:
OpenGL does not have a notion of IndexOfRefraction, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.

See also:
setIndexOfRefraction

NVSG_API void setIndexOfRefraction | ( | float | ior,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the IndexOfRefraction.

Parameters:
ior | The IndexOfRefraction to set.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
The IndexOfRefraction of a material declares the IOR for perfectly refracted light as a single scalar index. The default for IndexOfRefraction is 1.0.
Note:
OpenGL does not have a notion of IndexOfRefraction, and therefore this value will have no effect on the OpenGL fixed-function pipeline.
See also:
getIndexOfRefraction

const nvmath::Vec3f & getReflectivityColor ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the Reflectivity color.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) reflectivity color. The default is MF_FRONT.
Returns:
A reference to the constant reflectivity color.
Remarks:
The reflectivity color declares an reflectivity per color channel. If, for example, the reflectivity color is (1.0,0.5,0.0), the material would be completely reflective on the red channel, half reflective on the green channel, and not reflective at all on the blue channel.
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.

OpenGL does not have a notion of reflectivity color, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

See also:
getAmbientColor, getDiffuseColor, getEmissiveColor, getSpecularColor, setReflectivitiyColor, getReflectivity

NVSG_API void setReflectivityColor | ( | const nvmath::Vec3f & | sc,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the reflectivity color.

Parameters:
sc | A reference to the constant color to set as reflectivity color.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
The reflectivity color declares an reflectivity per color channel. If, for example, the reflectivity color is (1.0,0.5,0.0), the material would be completely reflective on the red channel, half reflective on the green channel, and not reflective at all on the blue channel.
Note:
OpenGL does not have a notion of reflectivity color, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

Setting the reflectivity color also sets the single valued reflectivity to the intensity of that color.

See also:
getReflectivityColor, setAmbientColor, setDiffuseColor, setEmissiveColor, setReflectivity

const nvmath::Vec3f & getOpacityColor ( MaterialFace mf = MF_FRONT ) const [inline]

Retrieves the opacity color.

Parameters:
mf Optional identifier to select front face (MF_FRONT) or back face (MF_BACK) opacity color. The default is MF_FRONT.
Returns:
A reference to the constant opacity color.
Remarks:
The opacity color declares an opacity per color channel. If, for example, the opacity color is (1.0,0.5,0.0), the material would be completely opaque on the red channel, half transparent on the green channel, and completely transparent on the blue channel.
Note:
The behavior is undefined if MF_FRONT_AND_BACK is used as the MaterialFace mf.

OpenGL does not have a notion of TransparentColor, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

See also:
getAmbientColor, getDiffuseColor, getEmissiveColor, getSpecularColor, setReflectivityColor, getOpacity

NVSG_API void setOpacityColor | ( | const nvmath::Vec3f & | oc,
 |  | MaterialFace | mf = MF_FRONT_AND_BACK
 | ) |

Sets the opacity color.

Parameters:
oc | A reference to the constant color to set as the opacity color.
mf | Optional identifier to select front face (MF_FRONT), back face (FM_BACK) or both (MF_FRONT_AND_BACK) to set. The default is MF_FRONT_AND_BACK.
Remarks:
The opacity color declares an opacity per color channel. If, for example, the opacity color is (1.0,0.5,0.0), the material would be completely opaque on the red channel, half transparent on the green channel, and completely transparent on the blue channel.
Note:
OpenGL does not have a notion of opacity color, and therefore this value will have no effect on the OpenGL fixed-function pipeline.

Setting the opacity color also sets the single valued opacity to the intensity of that color.

See also:
getTransparentColor, setAmbientColor, setDiffuseColor, setEmissiveColor, setTransparentExponent, setOpacity

NVSG_API Material& operator= ( const Material & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Material to copy from.
Returns:
A reference to the assigned Material.
Remarks:
The assignment operator calls the assignment operator of StateAttribute and copies all the material properties.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other Material.

Parameters:
p | A reference to the constant Material to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the Material p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as StateAttribute, they are equivalent if all their material properties are equal.
See also:
StateAttribute

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • Material.h
Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: Member List

Material Member List

This is the complete list of members for Material, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Material) | Material | [static]
DECLARE_STATIC_PROPERTY(AmbientColorFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(DiffuseColorFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(EmissiveColorFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(SpecularColorFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(ReflectivityColorFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(OpacityColorFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(OpacityFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(ReflectivityFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(SpecularExponentFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(IndexOfRefractionFront) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(AmbientColorBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(DiffuseColorBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(EmissiveColorBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(SpecularColorBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(ReflectivityColorBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(OpacityColorBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(OpacityBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(ReflectivityBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(SpecularExponentBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(IndexOfRefractionBack) (defined in Material) | Material |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Material | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAmbientColor(MaterialFace mf=MF_FRONT) const | Material | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Material | [virtual]
getDiffuseColor(MaterialFace mf=MF_FRONT) const | Material | [inline]
getEmissiveColor(MaterialFace mf=MF_FRONT) const | Material | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexOfRefraction(MaterialFace mf=MF_FRONT) const | Material | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOpacity(MaterialFace mf=MF_FRONT) const | Material | [inline]
getOpacityColor(MaterialFace mf=MF_FRONT) const | Material | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getReflectivity(MaterialFace mf=MF_FRONT) const | Material | [inline]
getReflectivityColor(MaterialFace mf=MF_FRONT) const | Material | [inline]
getSpecularColor(MaterialFace mf=MF_FRONT) const | Material | [inline]
getSpecularExponent(MaterialFace mf=MF_FRONT) const | Material | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Material | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Material | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Material() | Material | [protected]
Material(const Material &rhs) | Material | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Material &rhs) | Material |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Material) (defined in Material) | Material |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAmbientColor(const nvmath::Vec3f &ac, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setAnnotation(const std::string &anno) | Object |
setDiffuseColor(const nvmath::Vec3f &dc, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setEmissiveColor(const nvmath::Vec3f &ec, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexOfRefraction(float ior, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setName(const std::string &name) | Object |
setOpacity(float o, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setOpacityColor(const nvmath::Vec3f &oc, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setReflectivity(float r, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setReflectivityColor(const nvmath::Vec3f &sc, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setSpecularColor(const nvmath::Vec3f &sc, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setSpecularExponent(float se, MaterialFace mf=MF_FRONT_AND_BACK) | Material |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Material() | Material | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: Matnnt Class Template Reference

nvmath::Matnnt

Matnnt Class Template Reference

Matrix class of fixed size and type. More...

#include <Matnnt.h>

Inheritance diagram for Matnnt:

[legend]
List of all members.

Public Member Functions

Matnnt (bool idmat=false)
Default constructor.
template<unsigned int m, typename S>
Matnnt (const Matnnt< m, S > &rhs)
Copy constructor from a matrix of possibly different size and type.
Matnnt (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)
Constructor for a 3 by 3 matrix out of 9 scalar values.
Matnnt (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2)
Constructor for a 3 by 3 matrix out of three vectors of three values each.
Matnnt (T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33)
Constructor for a 4 by 4 matrix out of 16 scalar values.
Matnnt (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2, const Vecnt< n, T > &v3)
Constructor for a 4 by 4 matrix out of four vectors of four values each.
Matnnt (const Vecnt< n, T > &axis, T angle)
Constructor for a 3 by 3 rotation matrix out of an axis and an angle.
Matnnt (const Quatt< T > &ori)
Constructor for a 3 by 3 rotation matrix out of a normalized quaternion.
Matnnt (const Quatt< T > &ori, const Vecnt< n-1, T > &trans)
Constructor for a 4 by 4 transformation matrix out of a quaternion and a translation.
Matnnt (const Quatt< T > &ori, const Vecnt< n-1, T > &trans, const Vecnt< n-1, T > &scale)
Constructor for a 4 by 4 transformation matrix out of a quaternion, a translation, and a scaling.
const T * | getPtr () const
Get a constant pointer to the n times n values of the matrix.
bool | invert ()
Invert the matrix.
template<typename S>
Vecnt< n, T > & | operator[] (S i)
Non-constant subscript operator.
template<typename S>
const Vecnt< n, T > & | operator[] (S i) const
Constant subscript operator.
template<typename S>
Matnnt< n, T > & | operator+= (const Matnnt< n, S > &m)
Matrix addition and assignment operator.
template<typename S>
Matnnt< n, T > & | operator-= (const Matnnt< n, S > &m)
Matrix subtraction and assignment operator.
template<typename S>
Matnnt< n, T > & | operator *= (S s)
Scalar multiplication and assignment operator.
Matnnt< n, T > & | operator *= (const Matnnt< n, T > &m)
Matrix multiplication and assignment operator.
template<typename S>
Matnnt< n, T > & | operator/= (S s)
Scalar division and assignment operator.
template<unsigned int n, typename T>
Matnnt (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)
template<unsigned int n, typename T>
Matnnt (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2)
template<unsigned int n, typename T>
Matnnt (T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33)
template<unsigned int n, typename T>
Matnnt (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2, const Vecnt< n, T > &v3)
template<unsigned int n, typename T>
Matnnt (const Vecnt< n, T > &axis, T angle)
template<unsigned int n, typename T>
Matnnt (const Quatt< T > &ori)
template<unsigned int n, typename T>
Matnnt (const Quatt< T > &ori, const Vecnt< n-1, T > &trans)
template<unsigned int n, typename T>
Matnnt (const Quatt< T > &ori, const Vecnt< n-1, T > &trans, const Vecnt< n-1, T > &scale)

Detailed Description

template<typename T>
class nvmath::Matnnt< T >

Matrix class of fixed size and type.

Remarks:
This class is templated by size and type. It holds n times n values of type T. There are typedefs for the most common usage with 3 and 4 values of type float and double: Mat33f, Mat33d, Mat44f, Mat44d.

Constructor & Destructor Documentation

Matnnt ( bool idmat = false ) [inline]

Default constructor.

Remarks:
For performance reasons, no initialization is performed.

Matnnt ( const Matnnt< m, S > & rhs ) [inline, explicit]

Copy constructor from a matrix of possibly different size and type.

Parameters:
rhs A matrix with m times m values of type S.
Remarks:
The minimum k of n and m is determined. The first k values of type S in the first k rows from rhs are converted to type T and assigned as the first k values in the first k rows of this. If k is less than n, the n - k last values of the n - k last rows of this are not initialized.

Matnnt | ( | T | m00,
 |  | T | m01,
 |  | T | m02,
 |  | T | m10,
 |  | T | m11,
 |  | T | m12,
 |  | T | m20,
 |  | T | m21,
 |  | T | m22
 | ) |

Constructor for a 3 by 3 matrix out of 9 scalar values.

Parameters:
m00 | First element of the first row of the matrix.
m01 | Second element of the first row of the matrix.
m02 | Third element of the first row of the matrix.
m10 | First element of the second row of the matrix.
m11 | Second element of the second row of the matrix.
m12 | Third element of the second row of the matrix.
m20 | First element of the third row of the matrix.
m21 | Second element of the third row of the matrix.
m22 | Third element of the third row of the matrix.
Remarks:
This constructor can only be used with 3 by 3 matrices, like Mat33f.
Example:
    Mat33f m33f( 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f );

Matnnt | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | const Vecnt< n, T > & | v2
 | ) |

Constructor for a 3 by 3 matrix out of three vectors of three values each.

Parameters:
v0 | First row of the matrix.
v1 | Second row of the matrix.
v2 | Third row of the matrix.
Remarks:
This constructor can only be used with 3 by 3 matrices, like Mat33f.
Example:
    Mat33f m33f( xAxis, yAxis, zAxis );

Matnnt | ( | T | m00,
 |  | T | m01,
 |  | T | m02,
 |  | T | m03,
 |  | T | m10,
 |  | T | m11,
 |  | T | m12,
 |  | T | m13,
 |  | T | m20,
 |  | T | m21,
 |  | T | m22,
 |  | T | m23,
 |  | T | m30,
 |  | T | m31,
 |  | T | m32,
 |  | T | m33
 | ) |

Constructor for a 4 by 4 matrix out of 16 scalar values.

Parameters:
m00 | First element of the first row of the matrix.
m01 | Second element of the first row of the matrix.
m02 | Third element of the first row of the matrix.
m03 | Fourth element of the first row of the matrix.
m10 | First element of the second row of the matrix.
m11 | Second element of the second row of the matrix.
m12 | Third element of the second row of the matrix.
m13 | Fourth element of the second row of the matrix.
m20 | First element of the third row of the matrix.
m21 | Second element of the third row of the matrix.
m22 | Third element of the third row of the matrix.
m23 | Fourth element of the third row of the matrix.
m30 | First element of the fourth row of the matrix.
m31 | Second element of the fourth row of the matrix.
m32 | Third element of the fourth row of the matrix.
m33 | Fourth element of the fourth row of the matrix.
Remarks:
This constructor can only be used with 4 by 4 matrices, like Mat44f.
Example:
    Mat44f m44f(  1.0f,  2.0f,  3.0f,  4.0f
               ,  5.0f,  6.0f,  7.0f,  8.0f
               ,  9.0f, 10.0f, 11.0f, 12.0f
               , 13.0f, 14.0f, 15.0f, 16.0f );

Matnnt | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | const Vecnt< n, T > & | v2,
 |  | const Vecnt< n, T > & | v3
 | ) |

Constructor for a 4 by 4 matrix out of four vectors of four values each.

Parameters:
v0 | First row of the matrix.
v1 | Second row of the matrix.
v2 | Third row of the matrix.
v3 | Fourth row of the matrix.
Remarks:
This constructor can only be used with 4 by 4 matrices, like Mat44f.
Example:
    Mat44f m44f( Vec3f( xAxis, 0.0f )
               , Vec4f( yAxis, 0.0f )
               , Vec4f( zAxis, 0.0f )
               , Vec4f( trans, 1.0f ) );

Matnnt | ( | const Vecnt< n, T > & | axis,
 |  | T | angle
 | ) |

Constructor for a 3 by 3 rotation matrix out of an axis and an angle.

Parameters:
axis | A reference to the constant axis to rotate about.
angle | The angle, in radians, to rotate.
Remarks:
The resulting 3 by 3 matrix is a pure rotation.
Note:
The behavior is undefined, if axis is not normalized.
Example:
    Mat33f rotZAxisBy45Degrees( Vec3f( 0.0f, 0.0f, 1.0f ), PI/4 );

Matnnt ( const Quatt< T > & ori ) [explicit]

Constructor for a 3 by 3 rotation matrix out of a normalized quaternion.

Parameters:
ori A reference to the normalized quaternion representing the rotation.
Remarks:
The resulting 3 by 3 matrix is a pure rotation.
Note:
The behavior is undefined, if ori is not normalized.

Matnnt | ( | const Quatt< T > & | ori,
 |  | const Vecnt< n-1, T > & | trans
 | ) |

Constructor for a 4 by 4 transformation matrix out of a quaternion and a translation.

Parameters:
ori | A reference to the normalized quaternion representing the rotational part.
trans | A reference to the vector representing the translational part.
Note:
The behavior is undefined, if \ ori is not normalized.

Matnnt | ( | const Quatt< T > & | ori,
 |  | const Vecnt< n-1, T > & | trans,
 |  | const Vecnt< n-1, T > & | scale
 | ) |

Constructor for a 4 by 4 transformation matrix out of a quaternion, a translation, and a scaling.

Parameters:
ori | A reference to the normalized quaternion representing the rotational part.
trans | A reference to the vector representing the translational part.
scale | A reference to the vector representing the scaling along the three axis directions.
Note:
The behavior is undefined, if \ ori is not normalized.

Member Function Documentation

const T * getPtr ( ) const [inline]

Get a constant pointer to the n times n values of the matrix.

Returns:
A constant pointer to the matrix elements.
Remarks:
The matrix elements are stored in row-major order. This function returns the address of the first element of the first row. It is assured, that the other elements of the matrix follow linearly.
Example:
If m is a 3 by 3 matrix, m.getPtr() gives a pointer to the 9 elements m00, m01, m02, m10, m11, m12, m20, m21, m22, in that order.

bool invert ( )

Invert the matrix.

Returns:
true, if the matrix was successfully inverted, otherwise false.

Vecnt< n, T > & operator[] ( S i ) [inline]

Non-constant subscript operator.

Parameters:
i Index of the row to address.
Returns:
A reference to the i th row of the matrix.

const Vecnt< n, T > & operator[] ( S i ) const [inline]

Constant subscript operator.

Parameters:
i Index of the row to address.
Returns:
A constant reference to the i th row of the matrix.

Matnnt< n, T > & operator+= ( const Matnnt< n, S > & m ) [inline]

Matrix addition and assignment operator.

Parameters:
m A constant reference to the matrix to add.
Returns:
A reference to this.
Remarks:
The matrix m has to be of the same size as this, but may hold values of a different type. The matrix elements of type S of m are converted to type T and added to the corresponding matrix elements of this.

Matnnt< n, T > & operator-= ( const Matnnt< n, S > & m ) [inline]

Matrix subtraction and assignment operator.

Parameters:
m A constant reference to the matrix to subtract.
Returns:
A reference to this.
Remarks:
The matrix m has to be of the same size as this, but may hold values of a different type. The matrix elements of type S of m are converted to type T and subtracted from the corresponding matrix elements of this.

Matnnt< n, T > & operator *= ( S s ) [inline]

Scalar multiplication and assignment operator.

Parameters:
s A scalar value to multiply with.
Returns:
A reference to this.
Remarks:
The type of s may be of different type as the elements of the this. s is converted to type T and each element of this is multiplied with it.

Matnnt<n,T>& operator *= ( const Matnnt< n, T > & m )

Matrix multiplication and assignment operator.

Parameters:
m A constant reference to the matrix to multiply with.
Returns:
A reference to this.
Remarks:
The matrix multiplication
 *this * m
is calculated and assigned to this.

Matnnt< n, T > & operator/= ( S s ) [inline]

Scalar division and assignment operator.

Parameters:
s A scalar value to divide by.
Returns:
A reference to this.
Remarks:
The type of s may be of different type as the elements of the this. s is converted to type T and each element of this is divided by it.
Note:
The behavior is undefined if s is very close to zero.

The documentation for this class was generated from the following file:
  • Matnnt.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

Matnnt Member List

This is the complete list of members for Matnnt, including all inherited members.

getPtr() const | Matnnt | [inline]
invert() | Matnnt |
Matnnt(bool idmat=false) | Matnnt | [inline]
Matnnt(const Matnnt< m, S > &rhs) | Matnnt | [inline, explicit]
Matnnt(T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22) | Matnnt |
Matnnt(const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2) | Matnnt |
Matnnt(T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33) | Matnnt |
Matnnt(const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2, const Vecnt< n, T > &v3) | Matnnt |
Matnnt(const Vecnt< n, T > &axis, T angle) | Matnnt |
Matnnt(const Quatt< T > &ori) | Matnnt | [explicit]
Matnnt(const Quatt< T > &ori, const Vecnt< n-1, T > &trans) | Matnnt |
Matnnt(const Quatt< T > &ori, const Vecnt< n-1, T > &trans, const Vecnt< n-1, T > &scale) | Matnnt |
Matnnt(T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22) (defined in Matnnt) | Matnnt | [inline]
Matnnt(const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2) (defined in Matnnt) | Matnnt | [inline]
Matnnt(T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33) (defined in Matnnt) | Matnnt | [inline]
Matnnt(const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, const Vecnt< n, T > &v2, const Vecnt< n, T > &v3) (defined in Matnnt) | Matnnt | [inline]
Matnnt(const Vecnt< n, T > &axis, T angle) (defined in Matnnt) | Matnnt | [inline]
Matnnt(const Quatt< T > &ori) (defined in Matnnt) | Matnnt | [inline]
Matnnt(const Quatt< T > &ori, const Vecnt< n-1, T > &trans) (defined in Matnnt) | Matnnt | [inline]
Matnnt(const Quatt< T > &ori, const Vecnt< n-1, T > &trans, const Vecnt< n-1, T > &scale) (defined in Matnnt) | Matnnt | [inline]
operator *=(S s) | Matnnt | [inline]
operator *=(const Matnnt< n, T > &m) | Matnnt |
operator+=(const Matnnt< n, S > &m) | Matnnt | [inline]
operator-=(const Matnnt< n, S > &m) | Matnnt | [inline]
operator/=(S s) | Matnnt | [inline]
operator[](S i) | Matnnt | [inline]
operator[](S i) const | Matnnt | [inline]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: MatrixCamera Class Reference

nvsg::MatrixCamera

MatrixCamera Class Reference

Class describing a Camera by a projection matrix. More...

#include <MatrixCamera.h>

Inheritance diagram for MatrixCamera:

[legend]
Collaboration diagram for MatrixCamera:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setMatrices (const nvmath::Mat44f &projection, const nvmath::Mat44f &inverse)
virtual NVSG_API nvmath::Mat44f | getProjection () const
Get the projection matrix of this MatrixCamera.
virtual NVSG_API nvmath::Mat44f | getInverseProjection () const
Get the inverse projection matrix of this MatrixCamera.
NVSG_API virtual void | zoom (float factor)
Zoom by a positive factor.
NVSG_API MatrixCamera & | operator= (const MatrixCamera &rhs)
Assignment operator.
virtual NVSG_API CullCode | determineCullCode (const nvmath::Sphere3f &sphere) const
Determine the CullCode of a Sphere3f relative to the view volume.
REFLECTION_INFO_API (NVSG_API, MatrixCamera)

Static Public Member Functions

static NVSG_API MatrixCameraSharedPtr | create ()

Protected Member Functions

NVSG_API | MatrixCamera ()
Default-constructs a MatrixCamera.
NVSG_API | MatrixCamera (const MatrixCamera &rhs)
Copy-constructs a MatrixCamera from another MatrixCamera.
virtual NVSG_API | ~MatrixCamera ()
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class describing a Camera by a projection matrix.

Namespace: nvsg
Remarks:
A MatrixCamera overwrites the projection-specific functions of a Camera.
See also:
Camera, ParallelCamera, PerspectiveCamera

Constructor & Destructor Documentation

NVSG_API MatrixCamera ( ) [protected]

Default-constructs a MatrixCamera.

Remarks:
The MatrixCamera initially is positioned at (0.0,0.0,1.0), has the y-axis as up-vector and looks down the negative z-axis.

NVSG_API MatrixCamera ( const MatrixCamera & rhs ) [protected]

Copy-constructs a MatrixCamera from another MatrixCamera.

virtual NVSG_API ~MatrixCamera ( ) [protected, virtual]

Destructs a MatrixCamera.

Member Function Documentation

virtual NVSG_API nvmath::Mat44f getProjection ( ) const [virtual]

Get the projection matrix of this MatrixCamera.

Returns:
The projection transformation.
See also:
Camera, getInverseProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implements Camera.

virtual NVSG_API nvmath::Mat44f getInverseProjection ( ) const [virtual]

Get the inverse projection matrix of this MatrixCamera.

Returns:
The inverse projection transformation.
See also:
Camera, getProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implements Camera.

NVSG_API virtual void zoom ( float factor ) [virtual]

Zoom by a positive factor.

Parameters:
factor Factor to use in zooming
Remarks:
Zooming by a factor changes the window size of the Camera. The window size is the size of the world that is viewed at the projection plane. This plane is at a target distance along the view direction and orthogonal to the view direction.
When the factor is less than one, the window size is reduced, and thus the viewport shows less content in the same space. That is, it is zoomed in. When the factor is greater than one, it is zoomed out.
Zooming the Camera increases the Incarnation.
See also:
move, orbit, rotate, zoom

Implements Camera.

NVSG_API MatrixCamera& operator= ( const MatrixCamera & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant MatrixCamera to copy from.
Returns:
A reference to the assigned MatrixCamera.
Remarks:
The assignment operator calls the assignment operator of Camera.

virtual NVSG_API CullCode determineCullCode ( const nvmath::Sphere3f & sphere ) const [virtual]

Determine the CullCode of a Sphere3f relative to the view volume.

Parameters:
sphere A reference to the constant Sphere3f to determine the CullCode for.
Returns:
CC_IN, if the Sphere3f sphere is completely inside the view volume; CC_OUT if it is completely out of the view volume; otherwise CC_PART.

Implements Camera.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Camera.

The documentation for this class was generated from the following file:
  • MatrixCamera.h
Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: Member List

MatrixCamera Member List

This is the complete list of members for MatrixCamera, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHeadLight(const LightSourceSharedPtr &light) | Camera |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginHeadLights() const | Camera | [inline]
beginHeadLights() | Camera | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
Camera(void) | Camera | [protected]
Camera(const Camera &rhs) | Camera | [protected]
clearAppTraverserCallbacks() | Object | [inline]
clearHeadLights(void) | Camera |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in MatrixCamera) | MatrixCamera | [static]
DECLARE_STATIC_PROPERTY(Position) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Direction) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(UpVector) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(FocusDistance) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineCullCode(const nvmath::Sphere3f &sphere) const | MatrixCamera | [virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endHeadLights() const | Camera | [inline]
endHeadLights() | Camera | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MatrixCamera | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDirection(void) const | Camera | [inline]
getFocusDistance(void) const | Camera | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverseProjection() const | MatrixCamera | [virtual]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfHeadLights(void) const | Camera | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const | Camera | [inline]
getPosition(void) const | Camera | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getProjection() const | MatrixCamera | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUpVector(void) const | Camera | [inline]
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getViewToWorldMatrix(void) const | Camera |
getWorldToViewMatrix(void) const | Camera |
HeadLightConstIterator typedef | Camera |
HeadLightContainer typedef | Camera |
HeadLightIterator typedef | Camera |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MatrixCamera() | MatrixCamera | [protected]
MatrixCamera(const MatrixCamera &rhs) | MatrixCamera | [protected]
move(const nvmath::Vec3f &delta, bool cameraRelative=true) | Camera |
moveX(float val) | Camera | [inline]
moveY(float val) | Camera | [inline]
moveZ(float val) | Camera | [inline]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const MatrixCamera &rhs) | MatrixCamera |
nvsg::Camera::operator=(const Camera &rhs) | Camera | [protected]
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
orbit(const nvmath::Vec3f &axis, float targetDistance, float angle, bool cameraRelative=true) | Camera |
orbitX(float targetDistance, float angle) | Camera | [inline]
orbitY(float targetDistance, float angle) | Camera | [inline]
orbitZ(float targetDistance, float angle) | Camera | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MatrixCamera) (defined in MatrixCamera) | MatrixCamera |
REFLECTION_INFO_API(NVSG_API, Camera) (defined in Camera) | Camera |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHeadLight(const LightSourceSharedPtr &light) | Camera |
removeHeadLight(const HeadLightIterator &light) | Camera |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
replaceHeadLight(const LightSourceSharedPtr &newLight, const LightSourceSharedPtr &oldLight) | Camera |
replaceHeadLight(const LightSourceSharedPtr &newLight, const HeadLightIterator &oldLight) | Camera |
rotate(const nvmath::Vec3f &axis, float angle, bool cameraRelative=true) | Camera |
rotateX(float angle) | Camera | [inline]
rotateY(float angle) | Camera | [inline]
rotateZ(float angle) | Camera | [inline]
setAnnotation(const std::string &anno) | Object |
setDirection(const nvmath::Vec3f &dir) | Camera |
setFocusDistance(float fd) | Camera | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMatrices(const nvmath::Mat44f &projection, const nvmath::Mat44f &inverse) (defined in MatrixCamera) | MatrixCamera |
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &quat) | Camera |
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | Camera |
setPosition(const nvmath::Vec3f &pos) | Camera |
setTraversalMask(unsigned int mask) | Object | [inline]
setUpVector(const nvmath::Vec3f &up) | Camera |
setUserData(const void *userData) | Object | [inline]
setViewToWorldMatrix(const nvmath::Mat44f &m) | Camera |
setWorldToViewMatrix(const nvmath::Mat44f &m) | Camera |
syncIncarnation(PFNGETINCARNATION) const (defined in Camera) | Camera | [protected, virtual]
zoom(float factor) | MatrixCamera | [virtual]
~Camera(void) | Camera | [virtual]
~MatrixCamera() | MatrixCamera | [protected, virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: MemFunTbl Class Template Reference

nvutil::MemFunTbl

MemFunTbl Class Template Reference

Member Function Table template. More...

#include <MemFunTbl.h>

Inheritance diagram for MemFunTbl:

[legend]
List of all members.

Public Member Functions

MemFunTbl (size_t size)
reserve 'size' table entries, to avoid frequend allocations
PMFN | operator[] (size_t i) const
read-only access the function pointer stored at index i; behavior is undefined for invalid indices
template<typename U>
void | addEntry (size_t i, U pmfn)
register function pointer pmfn at index i; former entry at i will by overridden
bool | testEntry (size_t i) const
test if entry at i is valid

Detailed Description

template<typename T>
class nvutil::MemFunTbl< T >

Member Function Table template.

Constructor & Destructor Documentation

MemFunTbl ( size_t size ) [inline, explicit]

reserve 'size' table entries, to avoid frequend allocations

Member Function Documentation

MemFunTbl< T >::PMFN operator[] ( size_t i ) const [inline]

read-only access the function pointer stored at index i; behavior is undefined for invalid indices

void addEntry | ( | size_t | i,
 |  | U | pmfn
 | ) | [inline]

register function pointer pmfn at index i; former entry at i will by overridden

bool testEntry ( size_t i ) const [inline]

test if entry at i is valid

The documentation for this class was generated from the following file:
  • MemFunTbl.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

MemFunTbl Member List

This is the complete list of members for MemFunTbl, including all inherited members.

addEntry(size_t i, U pmfn) | MemFunTbl | [inline]
MemFunTbl(size_t size) | MemFunTbl | [inline, explicit]
operator[](size_t i) const | MemFunTbl | [inline]
testEntry(size_t i) const | MemFunTbl | [inline]

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: MeshedPrimitiveSet Class Reference

nvsg::MeshedPrimitiveSet

MeshedPrimitiveSet Class Reference

Abstract base class for PrimitiveSet objects with points organized as meshes. More...

#include <MeshedPrimitiveSet.h>

Inheritance diagram for MeshedPrimitiveSet:

[legend]
Collaboration diagram for MeshedPrimitiveSet:

[legend]
List of all members.

Public Member Functions

NVSG_API | MeshedPrimitiveSet ()
Destructs a MeshedPrimtiveSet.
virtual NVSG_API | ~MeshedPrimitiveSet ()
Destructor.
virtual NVSG_API bool | isDataShared () const
Query whether the data of this MeshedPrimitiveSet is shared with other MeshedPrimitiveSet objects.
virtual NVSG_API DataID | getDataID () const
Get the unique data identifier of this object.
NVSG_API bool | hasMeshes () const
Query if this MeshedPrimitiveSet has meshes.
NVSG_API unsigned int | getNumberOfMeshes () const
Get the number of meshes.
NVSG_API const IndexMesh * | getMeshes () const
Get a pointer to the meshes.
NVSG_API void | setMeshes (const IndexMesh *meshes, unsigned int numMeshes)
Set the meshes of this MeshedPrimitiveSet.
NVSG_API void | setMeshes (unsigned int pos, const IndexMesh *meshes, unsigned int numMeshes)
Set a subset of meshes of this MeshedPrimitiveSet.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other MeshedPrimitiveSet.
REFLECTION_INFO_API (NVSG_API, MeshedPrimitiveSet)

Protected Member Functions

NVSG_API | MeshedPrimitiveSet (const MeshedPrimitiveSet &rhs)
Protected copy constructor to prevent explicit creation.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this MeshedPrimitiveSet.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculate the bounding sphere of this MeshedPrimitiveSet.
NVSG_API MeshedPrimitiveSet & | operator= (const MeshedPrimitiveSet &rhs)
Assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class for PrimitiveSet objects with points organized as meshes.

Namespace: nvsg
Remarks:
This class holds a vector of IndexMesh elements used in meshed primitives like QuadMeshes. The meshes are defined by a vector of IndexMesh elements. Each IndexMesh holds the width and height of the mesh and is an IndexList with width times height elements, and represents one mesh.
See also:
IndependentPrimitiveSet, QuadMeshes, StrippedPrimitiveSet

Constructor & Destructor Documentation

NVSG_API MeshedPrimitiveSet ( )

Destructs a MeshedPrimtiveSet.

virtual NVSG_API ~MeshedPrimitiveSet ( ) [virtual]

Destructor.

Remarks:
The destructor is never used explicitly, but only when the reference count of the MeshedPrimitiveSet is decremented to zero.

NVSG_API MeshedPrimitiveSet ( const MeshedPrimitiveSet & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant MeshedPrimitiveSet to copy from.
Remarks:
The newly created MeshedPrimitiveSet is copied from rhs.
Note:
A MeshedPrimitiveSet will not be instantiated directly, but through instantiating a derived object like QuadMeshes for example.

Member Function Documentation

virtual NVSG_API bool isDataShared ( ) const [virtual]

Query whether the data of this MeshedPrimitiveSet is shared with other MeshedPrimitiveSet objects.

Returns:
true, if the data of this MeshedPrimitiveSet is shared with other MeshedPrimitiveSet objects, otherwise false.
Remarks:
A MeshedPrimitiveSet object shares it's data with another MeshedPrimitiveSet object, if it was either instantiated as a copy of the other, using MeshedPrimitiveSet::clone, or if it was assigned to by the other object using the assignment operator. In that case, the two objects have the same DataID.
See also:
clone, getDataID, operator=()

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Get the unique data identifier of this object.

Returns:
A 64-bit value that uniquely identifies the embedded data.
Remarks:
A MeshedPrimitiveSet object shares it's data with another MeshedPrimitiveSet object, if it was either instantiated as a copy of the other, using MeshedPrimitiveSet::clone, or if it was assigned to by the other object using the assignment operator. In that case, the two objects have the same DataID.
See also:
clone, isDataShared, operator=()

Reimplemented from Object.

bool hasMeshes ( ) const [inline]

Query if this MeshedPrimitiveSet has meshes.

Returns:
true, if this MeshedPrimitiveSet has at least one IndexMesh, otherwise false.
See also:
getNumberOfMeshes, getMeshes, setMeshes

unsigned int getNumberOfMeshes ( ) const [inline]

Get the number of meshes.

Returns:
The number of meshes of this MeshedPrimitiveSet.
See also:
hasMeshes, getMeshes, setMeshes

const IndexMesh * getMeshes ( ) const [inline]

Get a pointer to the meshes.

Returns:
A pointer to the constant IndexMesh elements of this MeshedPrimitiveSet.
See also:
hasMeshes, getNumberOfMeshes, setMeshes

NVSG_API void setMeshes | ( | const IndexMesh * | meshes,
 |  | unsigned int | numMeshes
 | ) |

Set the meshes of this MeshedPrimitiveSet.

Parameters:
meshes | A pointer to the constant IndexMesh elements to use.
numMeshes | The number of meshes.
Remarks:
Copies numMeshes meshes from meshes into this MeshedPrimitiveSet.
Note:
The behaviour is undefined, if there are less than numMeshes values of type IndexMesh located at meshes.
See also:
hasMeshes, getNumberOfMeshes, getMeshes

NVSG_API void setMeshes | ( | unsigned int | pos,
 |  | const IndexMesh * | meshes,
 |  | unsigned int | numMeshes
 | ) |

Set a subset of meshes of this MeshedPrimitiveSet.

Parameters:
pos | The start position inside the range of pre-existing meshes.
meshes | A pointer to the constant meshes to use.
numMeshes | The number of meshes.
Remarks:
Copies numMeshes of IndexMesh elements from meshes into this MeshedPrimitiveSet, starting at position pos inside the range of pre-existing indices.
Pre-existing meshes in the range [pos, pos + numMeshes) will be replaced. Pre-existing meshes outside this range remain untouched.
If you specifiy (-1) for pos or pos specifies the number of meshes currently stored, the meshes pointed to by meshes will be appended to the pre-existing meshes.
Note:
The behaviour is undefined, if pos is neither a valid position inside the range of pre-existing meshes, nor the number of meshes currently stored, nor (-1).

The behaviour is undefined, if there are less than numMeshes values of type IndexMesh located at meshes.

See also:
hasMeshes, getNumberOfMeshes, getMeshes

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other MeshedPrimitiveSet.

Parameters:
p | A reference to the constant MeshedPrimitiveSet to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the MeshedPrimitiveSet p is equivalent to this, otherwise false.
Remarks:
Two MeshedPrimitiveSet objects are equivalent, if they are equivalent as PrimitiveSet, and all their IndexMesh elements are pairwise equal.
Note:
The behaviour is undefined if p is not an MeshedPrimitiveSet or derived from one.
See also:
PrimitiveSet

Reimplemented from PrimitiveSet.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this MeshedPrimitiveSet.

Returns:
The axis-aligned bounding box of this MeshedPrimitiveSet.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this MeshedPrimitiveSet.

Reimplemented from Object.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculate the bounding sphere of this MeshedPrimitiveSet.

Returns:
A nvmath::Sphere3f that contains the complete MeshedPrimitiveSet.
Remarks:
This function is called by the framework to determine a sphere that completely contains the MeshedPrimitiveSet.

Reimplemented from Object.

NVSG_API MeshedPrimitiveSet& operator= ( const MeshedPrimitiveSet & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant MeshedPrimitiveSet to copy from.
Returns:
A reference to the assigned MeshedPrimitiveSet.
Remarks:
The assignment operator calls the assignment operator of PrimitiveSet and copies the IndexMesh elements.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from PrimitiveSet.

The documentation for this class was generated from the following file:
  • MeshedPrimitiveSet.h
Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: Member List

MeshedPrimitiveSet Member List

This is the complete list of members for MeshedPrimitiveSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | MeshedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | MeshedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MeshedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | MeshedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getMeshes() const | MeshedPrimitiveSet | [inline]
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfMeshes() const | MeshedPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasMeshes() const | MeshedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | MeshedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | MeshedPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MeshedPrimitiveSet() | MeshedPrimitiveSet |
MeshedPrimitiveSet(const MeshedPrimitiveSet &rhs) | MeshedPrimitiveSet | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const MeshedPrimitiveSet &rhs) | MeshedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, MeshedPrimitiveSet) (defined in MeshedPrimitiveSet) | MeshedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMeshes(const IndexMesh *meshes, unsigned int numMeshes) | MeshedPrimitiveSet |
setMeshes(unsigned int pos, const IndexMesh *meshes, unsigned int numMeshes) | MeshedPrimitiveSet |
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~MeshedPrimitiveSet() | MeshedPrimitiveSet | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:09 2012 for SceniX


SceniX: meshSet_t Struct Reference

meshSet_t Struct Reference

The meshSet_t structure specifies how an mesh set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t width
Specifies the width of the mesh.
uint_t height
Specifies the height of the mesh.
uint_t indices
a index is a 32-bit unsigned integer value.

Detailed Description

The meshSet_t structure specifies how an mesh set is stored in a .NBF file.

Mesh sets, in this context, need to be considered in conjunction with NBFMeshedPrimitiveSet objects.

Member Data Documentation

uint_t width

Specifies the width of the mesh.

uint_t height

Specifies the height of the mesh.

uint_t indices

a index is a 32-bit unsigned integer value.

Specifies the file offset to the indices. As specified by the NBF format,

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

meshSet_t Member List

This is the complete list of members for meshSet_t, including all inherited members.

height | meshSet_t
indices | meshSet_t
width | meshSet_t

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: MissingResult Class Reference

nvtraverser::MissingResult

MissingResult Class Reference

AnalyzeResult indicating non-complete objects. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for MissingResult:

[legend]
Collaboration diagram for MissingResult:

[legend]
List of all members.

Public Member Functions

virtual | ~MissingResult ()
Virtual Destructor.

Public Attributes

unsigned int | missingCount
The number of objects with missing information.

Detailed Description

AnalyzeResult indicating non-complete objects.

Namespace: nvsg
Remarks:
All Objects with missing information (e.g. an AnimatedTransform without an Animation) are reported with a MissingResult.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~MissingResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int missingCount

The number of objects with missing information.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: Member List

MissingResult Member List

This is the complete list of members for MissingResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
missingCount | MissingResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~MissingResult() | MissingResult | [inline, virtual]

Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: NBFAlphaTestAttribute Struct Reference

NBFAlphaTestAttribute Struct Reference

The NBFAlphaTestAttribute structure represents an alpha test state attribute in the NBF format. More...

#include <NBF.h>

Inheritance diagram for NBFAlphaTestAttribute:

[legend]
Collaboration diagram for NBFAlphaTestAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (2)
Padding bits to ensure offset of threshold member is on a 4-byte boundary, regardless of packing.

Public Attributes

ubyte_t alphaFunction
Specifies the alpha function.
ubyte_t enabledMSAlpha
Specifies whether enabled during msalpha.
float threshold
Specifies the threshold value.

Detailed Description

The NBFAlphaTestAttribute structure represents an alpha test state attribute in the NBF format.

The object code for a NBFAlphaTestAttribute is NBF_ALPHA_TEST_ATTRIBUTE.

Member Function Documentation

PADDING ( 2 )

Padding bits to ensure offset of threshold member is on a 4-byte boundary, regardless of packing.

Member Data Documentation

ubyte_t alphaFunction

Specifies the alpha function.

ubyte_t enabledMSAlpha

Specifies whether enabled during msalpha.

float threshold

Specifies the threshold value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

NBFAlphaTestAttribute Member List

This is the complete list of members for NBFAlphaTestAttribute, including all inherited members.

alphaFunction | NBFAlphaTestAttribute
enabledMSAlpha | NBFAlphaTestAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(2) | NBFAlphaTestAttribute
NBFStateAttribute::PADDING(3) | NBFObject
sourceObject | NBFObject
threshold | NBFAlphaTestAttribute

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: NBFAnimatedTransform Struct Reference

NBFAnimatedTransform Struct Reference

The NBFAnimatedTransform structure represents an animated transform group node. More...

#include <NBF.h>

Inheritance diagram for NBFAnimatedTransform:

[legend]
Collaboration diagram for NBFAnimatedTransform:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFAnimatedTransform is a multiple of 8, regardless of packing.

Public Attributes

uint_t animation

Detailed Description

The NBFAnimatedTransform structure represents an animated transform group node.

The object code for a NBFAnimatedTransform is NBF_ANIMATED_TRANSFORM.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFAnimatedTransform is a multiple of 8, regardless of packing.

Reimplemented from NBFTransform.

Member Data Documentation

uint_t animation

Specifies the file offset to the NBFTrafoAnimation object to be applied to the transform group node.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: Member List

NBFAnimatedTransform Member List

This is the complete list of members for NBFAnimatedTransform, including all inherited members.

animation | NBFAnimatedTransform
annotation | NBFNode
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFAnimatedTransform
NBFGroup::PADDING(6) | NBFNode
NBFGroup::PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
trafo | NBFTransform

Generated on Fri Jul 13 13:28:48 2012 for SceniX


SceniX: NBFAnimatedVertexAttributeSet Struct Reference

NBFAnimatedVertexAttributeSet Struct Reference

The NBFAnimatedVertexAttributeSet structure represents a set of animated vertex attributes. More...

#include <NBF.h>

Inheritance diagram for NBFAnimatedVertexAttributeSet:

[legend]
Collaboration diagram for NBFAnimatedVertexAttributeSet:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFAnimatedVertexAttributeSet is a multiple of 8, regardless of packing.

Public Attributes

uint_t animations [16]
uint_t normalizeFlags

Detailed Description

The NBFAnimatedVertexAttributeSet structure represents a set of animated vertex attributes.

Remarks:
A NBFAnimatedVertexAttributeSet derives from NBFVertexAttributeSet, and holds up to 16 animations, one for each of the up to 16 vertex attributes in a NBFVertexAttributeSet, and a field of flags to specify if a vertex attribute has to be normalized, for example after interpolating.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFAnimatedVertexAttributeSet is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t animations[16]

Specifies the file offset to the animation objects, one offset for each vertex attribute.

uint_t normalizeFlags

Flags that determine if a vertex attribute has to be normalized after interpolation

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: Member List

NBFAnimatedVertexAttributeSet Member List

This is the complete list of members for NBFAnimatedVertexAttributeSet, including all inherited members.

animations | NBFAnimatedVertexAttributeSet
enableFlags | NBFVertexAttributeSet
hints | NBFObject
isShared | NBFObject
normalizeEnableFlags | NBFVertexAttributeSet
normalizeFlags | NBFAnimatedVertexAttributeSet
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFAnimatedVertexAttributeSet
NBFVertexAttributeSet::PADDING(3) | NBFObject
sourceObject | NBFObject
vattribs | NBFVertexAttributeSet

Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: NBFAnimation Struct Reference

NBFAnimation Struct Reference

The NBFAnimation structure represents an animation object. More...

#include <NBF.h>

Inheritance diagram for NBFAnimation:

[legend]
Collaboration diagram for NBFAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFAnimation is a multiple of 8, regardless of packing.

Public Attributes

uint_t description
Specifies the file offset to the animation description.

Detailed Description

The NBFAnimation structure represents an animation object.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFAnimation is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t description

Specifies the file offset to the animation description.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: Member List

NBFAnimation Member List

This is the complete list of members for NBFAnimation, including all inherited members.

description | NBFAnimation
forward | NBFAnimationState
hints | NBFObject
isShared | NBFObject
loopCount | NBFAnimationState
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFAnimation
NBFAnimationState::PADDING(6) | NBFAnimationState
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
speed | NBFAnimationState
swinging | NBFAnimationState

Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: NBFAnimationDescription Struct Reference

NBFAnimationDescription Struct Reference

The NBFAnimationDescription structure represents an animation description object. More...

#include <NBF.h>

Inheritance diagram for NBFAnimationDescription:

[legend]
Collaboration diagram for NBFAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFAnimationDescription structure represents an animation description object.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: Member List

NBFAnimationDescription Member List

This is the complete list of members for NBFAnimationDescription, including all inherited members.

hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: NBFAnimationState Struct Reference

NBFAnimationState Struct Reference

The NBFAnimationState structure represents the common anchor of all animation structures. More...

#include <NBF.h>

Inheritance diagram for NBFAnimationState:

[legend]
Collaboration diagram for NBFAnimationState:

[legend]
List of all members.

Public Member Functions

PADDING (6)
Padding bits to ensure the size of NBFAnimationState is a multiple of 8, regardless of packing.

Public Attributes

uint_t loopCount
Specifies the number of times to run through the Animation.
uint_t speed
Specifies the number if steps per advance.
bool | forward
Specifies to run the Animation forward or backward.
bool | swinging
Specifies to run the Animation looping or swinging (ping-pong).

Detailed Description

The NBFAnimationState structure represents the common anchor of all animation structures.

A NBFAnimationState serves as a base class only and needs to be considered in conjunction with either NBFFramedAnimationDescription or NBFKeyFramedAnimationDescription.

Member Function Documentation

PADDING ( 6 )

Padding bits to ensure the size of NBFAnimationState is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t loopCount

Specifies the number of times to run through the Animation.

uint_t speed

Specifies the number if steps per advance.

bool forward

Specifies to run the Animation forward or backward.

bool swinging

Specifies to run the Animation looping or swinging (ping-pong).

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: Member List

NBFAnimationState Member List

This is the complete list of members for NBFAnimationState, including all inherited members.

forward | NBFAnimationState
hints | NBFObject
isShared | NBFObject
loopCount | NBFAnimationState
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(6) | NBFAnimationState
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
speed | NBFAnimationState
swinging | NBFAnimationState

Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: NBFBillboard Struct Reference

NBFBillboard Struct Reference

The NBFBillboard structure represents a billboard group node. More...

#include <NBF.h>

Inheritance diagram for NBFBillboard:

[legend]
Collaboration diagram for NBFBillboard:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits to ensure the size of NBFBillboard is a multiple of 8, regardless of packing.

Public Attributes

float3_t rotationAxis
Specifies the axis to rotate the Billboard around.
ubyte_t alignment
Specifies the alignment (axis, viewer, or screen aligned).

Detailed Description

The NBFBillboard structure represents a billboard group node.

The object code for a NBFBillboard is NBF_BILLBOARD.

Member Function Documentation

PADDING ( 3 )

Padding bits to ensure the size of NBFBillboard is a multiple of 8, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

float3_t rotationAxis

Specifies the axis to rotate the Billboard around.

ubyte_t alignment

Specifies the alignment (axis, viewer, or screen aligned).

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: Member List

NBFBillboard Member List

This is the complete list of members for NBFBillboard, including all inherited members.

alignment | NBFBillboard
annotation | NBFNode
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFBillboard
NBFGroup::PADDING(6) | NBFNode
NBFGroup::PADDING(2) | NBFNode
rotationAxis | NBFBillboard
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:49 2012 for SceniX


SceniX: NBFBlendAttribute Struct Reference

NBFBlendAttribute Struct Reference

The NBFBlendAttribute structure represents a blend function. More...

#include <NBF.h>

Inheritance diagram for NBFBlendAttribute:

[legend]
Collaboration diagram for NBFBlendAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (6)
Padding bits to ensure size of NBFBlendAttribute is a multiple of 8.

Public Attributes

ubyte_t sourceFunction
Specifies the source blending function.
ubyte_t destinationFunction
Specifies the destination blending function.

Detailed Description

The NBFBlendAttribute structure represents a blend function.

The object code for a NBFBlendAttribute is NBF_BLEND_ATTRIBUTE.

Member Function Documentation

PADDING ( 6 )

Padding bits to ensure size of NBFBlendAttribute is a multiple of 8.

Member Data Documentation

ubyte_t sourceFunction

Specifies the source blending function.

ubyte_t destinationFunction

Specifies the destination blending function.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: Member List

NBFBlendAttribute Member List

This is the complete list of members for NBFBlendAttribute, including all inherited members.

destinationFunction | NBFBlendAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(6) | NBFBlendAttribute
NBFStateAttribute::PADDING(3) | NBFObject
sourceFunction | NBFBlendAttribute
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: NBFCamera Struct Reference

NBFCamera Struct Reference

The NBFCamera represents a camera. More...

#include <NBF.h>

Inheritance diagram for NBFCamera:

[legend]
Collaboration diagram for NBFCamera:

[legend]
List of all members.

Public Attributes

uint_t numHeadLights
Specifies the number of headlights attached.
uint_t headLights
float3_t upVector
Specifies the camera's normalized up vector.
float3_t position
Specifies the actual position of camera in world space.
float3_t direction
Specifies the normalized direction for the camera to look along.
float focusDist
Specifies the distance to the projection plane.

Detailed Description

The NBFCamera represents a camera.

A NBFCamera serves as base class only.
Concrete object codes valid for a NBFCamera are NBF_PARALLEL_CAMERA and NBF_PERSPECTIVE_CAMERA. Further object codes valid for a NBFCamera are subject to future extensions for the NBF format.

Member Data Documentation

uint_t numHeadLights

Specifies the number of headlights attached.

uint_t headLights

Specifies the file offset to the offsets to the attached headlight objects. Headlights are of type NBFLightSource.

float3_t upVector

Specifies the camera's normalized up vector.

float3_t position

Specifies the actual position of camera in world space.

float3_t direction

Specifies the normalized direction for the camera to look along.

float focusDist

Specifies the distance to the projection plane.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: Member List

NBFCamera Member List

This is the complete list of members for NBFCamera, including all inherited members.

direction | NBFCamera
focusDist | NBFCamera
headLights | NBFCamera
hints | NBFObject
isShared | NBFObject
numHeadLights | NBFCamera
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
position | NBFCamera
sourceObject | NBFObject
upVector | NBFCamera

Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: NBFCgFx Struct Reference

NBFCgFx Struct Reference

The NBFCgFx structure represents an effect attribute. More...

#include <NBF.h>

Inheritance diagram for NBFCgFx:

[legend]
Collaboration diagram for NBFCgFx:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits to keep compatibility to earlier versions.
PADDING (4)
Padding bits to ensure the size of NBFCgFx is a multiple of 8, regardless of packing.

Public Attributes

ubyte_t fromFile
Specifies whether the effect's source is a file. If this is false, the source member below is interpreted as a code string.
str_t source
Holds either the filename of an effect file or a source code string.
uint_t numTweaks
Specifies the number of tweakable effect parameters stored.
uint_t tweaks
Specifies the file offset to the tweakable effect paramters. Tweakables in the NBF format are stored as tweak_t objects.
uint_t numSamplers
Specifies the number of sampler parameters stored.
uint_t samplers
Specifies the file offset t the sampler parameters. Samplers parameters a stored as sampler_t objects.
str_t currTech
Specifies the name of the current technique used with rendering.

Detailed Description

The NBFCgFx structure represents an effect attribute.

The object code for a NBFCgFx is NBF_CGFX.

Member Function Documentation

PADDING ( 3 )

Padding bits to keep compatibility to earlier versions.

Reimplemented from NBFObject.

PADDING ( 4 )

Padding bits to ensure the size of NBFCgFx is a multiple of 8, regardless of packing.

Member Data Documentation

ubyte_t fromFile

Specifies whether the effect's source is a file. If this is false, the source member below is interpreted as a code string.

str_t source

Holds either the filename of an effect file or a source code string.

uint_t numTweaks

Specifies the number of tweakable effect parameters stored.

uint_t tweaks

Specifies the file offset to the tweakable effect paramters. Tweakables in the NBF format are stored as tweak_t objects.

uint_t numSamplers

Specifies the number of sampler parameters stored.

uint_t samplers

Specifies the file offset t the sampler parameters. Samplers parameters a stored as sampler_t objects.

str_t currTech

Specifies the name of the current technique used with rendering.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: Member List

NBFCgFx Member List

This is the complete list of members for NBFCgFx, including all inherited members.

currTech | NBFCgFx
fromFile | NBFCgFx
hints | NBFObject
isShared | NBFObject
numSamplers | NBFCgFx
numTweaks | NBFCgFx
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFCgFx
PADDING(4) | NBFCgFx
samplers | NBFCgFx
source | NBFCgFx
sourceObject | NBFObject
tweaks | NBFCgFx

Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: NBFDepthAttribute Struct Reference

NBFDepthAttribute Struct Reference

The NBFDepthAttribute structure represents depth buffer settings. More...

#include <NBF.h>

Inheritance diagram for NBFDepthAttribute:

[legend]
Collaboration diagram for NBFDepthAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure size of NBFBlendAttribute is a multiple of 8.

Public Attributes

ubyte_t depthFunction
Specifies the depth function.
ubyte_t depthTestingEnabled
Specifies if depth testing is enabled.
ubyte_t depthWritingEnabled
Specifies if depth writing is enabled.
ubyte_t depthClampingEnabled
Specifies if depth clamping is enabled.

Detailed Description

The NBFDepthAttribute structure represents depth buffer settings.

The object code for a NBFDepthAttribute is NBF_DEPTH_ATTRIBUTE.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure size of NBFBlendAttribute is a multiple of 8.

Member Data Documentation

ubyte_t depthFunction

Specifies the depth function.

ubyte_t depthTestingEnabled

Specifies if depth testing is enabled.

ubyte_t depthWritingEnabled

Specifies if depth writing is enabled.

ubyte_t depthClampingEnabled

Specifies if depth clamping is enabled.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: Member List

NBFDepthAttribute Member List

This is the complete list of members for NBFDepthAttribute, including all inherited members.

depthClampingEnabled | NBFDepthAttribute
depthFunction | NBFDepthAttribute
depthTestingEnabled | NBFDepthAttribute
depthWritingEnabled | NBFDepthAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFDepthAttribute
NBFStateAttribute::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:50 2012 for SceniX


SceniX: NBFDirectedLight Struct Reference

NBFDirectedLight Struct Reference

#include <NBF.h>

Inheritance diagram for NBFDirectedLight:

[legend]
Collaboration diagram for NBFDirectedLight:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the offset of the next struct member is on a 4-byte boundary.

Public Attributes

float3_t direction
Specifies the direction of the light source.

Detailed Description

The object code for a NBFDirectedLight is NBF_DIRECTED_LIGHT.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the offset of the next struct member is on a 4-byte boundary.

Member Data Documentation

float3_t direction

Specifies the direction of the light source.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: Member List

NBFDirectedLight Member List

This is the complete list of members for NBFDirectedLight, including all inherited members.

ambientColor | NBFLightSource
animation | NBFLightSource
castShadow | NBFLightSource
diffuseColor | NBFLightSource
direction | NBFDirectedLight
enabled | NBFLightSource
hints | NBFObject
intensity | NBFLightSource
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFDirectedLight
NBFLightSource::PADDING(2) | NBFLightSource
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
specularColor | NBFLightSource

Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: NBFDrawable Struct Reference

NBFDrawable Struct Reference

The NBFDrawable represents any kind of a drawable object. More...

#include <NBF.h>

Inheritance diagram for NBFDrawable:

[legend]
Collaboration diagram for NBFDrawable:

[legend]
List of all members.

Detailed Description

The NBFDrawable represents any kind of a drawable object.

A NBFDrawable serves a base class only.
Concrete object codes valid for a NBFDrawable are NBF_TRIANGLES, NBF_ANIMATED_TRIANGLES, NBF_SKINNED_TRIANGLES, NBF_TRIFANS, and NBF_TRISTRIPS. Further object codes valid for a NBFDrawable are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: Member List

NBFDrawable Member List

This is the complete list of members for NBFDrawable, including all inherited members.

hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: NBFFaceAttribute Struct Reference

NBFFaceAttribute Struct Reference

The NBFFaceAttribute structure represents a render mode. More...

#include <NBF.h>

Inheritance diagram for NBFFaceAttribute:

[legend]
Collaboration diagram for NBFFaceAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (2)
Padding bits to ensure offset of polygonOffsetFactor is on a 4-byte boundary, regardless of packing.

Public Attributes

ubyte_t cullMode
Specifies the face culling mode.
ubyte_t polygonOffsetEnabled
Specifies if polygon offset should be enabled for rendering.
float | polygonOffsetFactor
float | polygonOffsetUnits
ubyte_t twoSidedLighting
Specifies if two-sided lighting should be enabled for rendering.
ubyte_t frontFaceMode
Specifies the face mode (points/lines/faces) for front faces.
ubyte_t backFaceMode
Specifies the face mode (points/lines/faces) for back faces.
ubyte_t faceWindingCCW
Specifies if the face winding is counter clock wise.

Detailed Description

The NBFFaceAttribute structure represents a render mode.

The object code for a NBFFaceAttribute is NBF_FACE_ATTRIBUTE.

Member Function Documentation

PADDING ( 2 )

Padding bits to ensure offset of polygonOffsetFactor is on a 4-byte boundary, regardless of packing.

Member Data Documentation

ubyte_t cullMode

Specifies the face culling mode.

ubyte_t polygonOffsetEnabled

Specifies if polygon offset should be enabled for rendering.

float polygonOffsetFactor

Specifies the scale factor to be used to create a variable depth offset for a polygon.

float polygonOffsetUnits

Specifies a unit that is multiplied by a render API implementation-specific value to create a constant depth offset.

ubyte_t twoSidedLighting

Specifies if two-sided lighting should be enabled for rendering.

ubyte_t frontFaceMode

Specifies the face mode (points/lines/faces) for front faces.

ubyte_t backFaceMode

Specifies the face mode (points/lines/faces) for back faces.

ubyte_t faceWindingCCW

Specifies if the face winding is counter clock wise.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: Member List

NBFFaceAttribute Member List

This is the complete list of members for NBFFaceAttribute, including all inherited members.

backFaceMode | NBFFaceAttribute
cullMode | NBFFaceAttribute
faceWindingCCW | NBFFaceAttribute
frontFaceMode | NBFFaceAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(2) | NBFFaceAttribute
NBFStateAttribute::PADDING(3) | NBFObject
polygonOffsetEnabled | NBFFaceAttribute
polygonOffsetFactor | NBFFaceAttribute
polygonOffsetUnits | NBFFaceAttribute
sourceObject | NBFObject
twoSidedLighting | NBFFaceAttribute

Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: NBFFlipbookAnimation Struct Reference

NBFFlipbookAnimation Struct Reference

The NBFFlipbookAnimation structure represents an animated group node. More...

#include <NBF.h>

Inheritance diagram for NBFFlipbookAnimation:

[legend]
Collaboration diagram for NBFFlipbookAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFFlipbookAnimation is a multiple of 8, regardless of packing.

Public Attributes

uint_t animation

Detailed Description

The NBFFlipbookAnimation structure represents an animated group node.

The object code for a NBFFlipbookAnimation is NBF_FLIPBOOK_ANIMATION.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFFlipbookAnimation is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t animation

Specifies the file offset to the NBFIndexAnimation object to be applied to the transform group node.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: Member List

NBFFlipbookAnimation Member List

This is the complete list of members for NBFFlipbookAnimation, including all inherited members.

animation | NBFFlipbookAnimation
annotation | NBFNode
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFFlipbookAnimation
NBFGroup::PADDING(6) | NBFNode
NBFGroup::PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:51 2012 for SceniX


SceniX: NBFFramedAnimationDescription Struct Reference

NBFFramedAnimationDescription Struct Reference

The NBFFramedAnimationDescription structure represents a framed animation. More...

#include <NBF.h>

Inheritance diagram for NBFFramedAnimationDescription:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFFramedIndexAnimationDescription is a multiple of 8, regardless of packing.

Public Attributes

uint_t numSteps

Detailed Description

The NBFFramedAnimationDescription structure represents a framed animation.

A NBFFramedAnimationDescription serves as base class only and needs to be considered in conjunction with either NBFIndexAnimation, NBFTrafoAnimation or NBFVertexAttributeAnimation.
Concrete object codes valid for a NBFFramedAnimationDescription are NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION, NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION, and NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION. Further concrete object codes valid for NBFFramedAnimationDescription objects are subject to future extensions of the NBF format.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFFramedIndexAnimationDescription is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t numSteps

Specifies the number of animation steps.
In conjunction with a NBFIndexAnimation, this corresponds to the number of uint_t objects stored with a NBFTrafoAnimation.
In conjunction with a NBFTrafoAnimation, this corresponds to the number of trafo_t objects stored with a NBFTrafoAnimation.
In conjunction with a NBFVertexAttributeAnimation, this corresponds to the number of VertexAttribute sets stored with a NBFVertexAttributeAnimation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: Member List

NBFFramedAnimationDescription Member List

This is the complete list of members for NBFFramedAnimationDescription, including all inherited members.

numSteps | NBFFramedAnimationDescription
PADDING(4) | NBFFramedAnimationDescription

Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: NBFFramedIndexAnimationDescription Struct Reference

NBFFramedIndexAnimationDescription Struct Reference

The NBFFramedIndexAnimationDescription structure represents a framed animation that will be applied to uint_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFFramedIndexAnimationDescription:

[legend]
Collaboration diagram for NBFFramedIndexAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFFramedIndexAnimationDescription structure represents a framed animation that will be applied to uint_t objects.

A NBFFramedIndexAnimationDescription is a concrete animation type. It publicly inherits from NBFIndexAnimation and NBFFramedAnimationDescription. The object code for a NBFFramedIndexAnimationDescription is NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: Member List

NBFFramedIndexAnimationDescription Member List

This is the complete list of members for NBFFramedIndexAnimationDescription, including all inherited members.

hints | NBFObject
indices | NBFIndexAnimation
isShared | NBFObject
numSteps | NBFFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFFramedAnimationDescription::PADDING(4) | NBFFramedAnimationDescription
NBFIndexAnimation::PADDING(4) | NBFIndexAnimation
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: NBFFramedTrafoAnimationDescription Struct Reference

NBFFramedTrafoAnimationDescription Struct Reference

The NBFFramedTrafoAnimationDescription structure represents a framed animation that will be applied to trafo_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFFramedTrafoAnimationDescription:

[legend]
Collaboration diagram for NBFFramedTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFFramedTrafoAnimationDescription structure represents a framed animation that will be applied to trafo_t objects.

A NBFFramedTrafoAnimationDescription is a concrete animation type. It publicly inherits from NBFTrafoAnimation and NBFFramedAnimationDescription. The object code for a NBFFramedTrafoAnimationDescription is NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: Member List

NBFFramedTrafoAnimationDescription Member List

This is the complete list of members for NBFFramedTrafoAnimationDescription, including all inherited members.

hints | NBFObject
isShared | NBFObject
numSteps | NBFFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFFramedAnimationDescription::PADDING(4) | NBFFramedAnimationDescription
NBFTrafoAnimation::PADDING(4) | NBFTrafoAnimation
sourceObject | NBFObject
trafos | NBFTrafoAnimation

Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: NBFFramedVertexAttributeAnimationDescription Struct Reference

NBFFramedVertexAttributeAnimationDescription Struct Reference

The NBFFramedVertexAttributeAnimationDescription structure represents a framed animation that will be applied to vertexAttrib_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFFramedVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for NBFFramedVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFFramedVertexAttributeAnimationDescription structure represents a framed animation that will be applied to vertexAttrib_t objects.

A NBFFramedVertexAttributeAnimationDescription is a concrete animation type. It publicly inherits from NBFVertexAttributeAnimation and NBFFramedAnimationDescription. The object code for a NBFFramedVertexAttributeAnimationDescription is NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: Member List

NBFFramedVertexAttributeAnimationDescription Member List

This is the complete list of members for NBFFramedVertexAttributeAnimationDescription, including all inherited members.

attribs | NBFVertexAttributeAnimation
hints | NBFObject
isShared | NBFObject
numSteps | NBFFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFFramedAnimationDescription::PADDING(4) | NBFFramedAnimationDescription
NBFVertexAttributeAnimation::PADDING(4) | NBFVertexAttributeAnimation
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:52 2012 for SceniX


SceniX: NBFFrustumCamera Struct Reference

NBFFrustumCamera Struct Reference

The NBFFrustumCamera structure is the base of the NBFParalleleCamera and the NBFPerspectiveCamera. More...

#include <NBF.h>

Inheritance diagram for NBFFrustumCamera:

[legend]
Collaboration diagram for NBFFrustumCamera:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure offset of windowSize is on a 4-byte boundary, regardless of packing.
PADDING (4)
Padding bits to ensure the size of NBFCamera is a multiple of 8, regardless of packing.

Public Attributes

float | farDist
Specifies the distance from the actual camera position to the far clipping plane.
float | nearDist
Specifies the distance from the actual camera position to the near clipping plane.
float2_t windowOffset
float2_t windowSize

Detailed Description

The NBFFrustumCamera structure is the base of the NBFParalleleCamera and the NBFPerspectiveCamera.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure offset of windowSize is on a 4-byte boundary, regardless of packing.

PADDING ( 4 )

Padding bits to ensure the size of NBFCamera is a multiple of 8, regardless of packing.

Member Data Documentation

float farDist

Specifies the distance from the actual camera position to the far clipping plane.

float nearDist

Specifies the distance from the actual camera position to the near clipping plane.

float2_t windowOffset

Specifies the world-relative offset from the viewing reference point to the center of the viewing window.

float2_t windowSize

Specifies the world-relative size of the viewing window. Whereas the x-component of of the vector specifies the width, and the y-component of the vector specifies the height.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: Member List

NBFFrustumCamera Member List

This is the complete list of members for NBFFrustumCamera, including all inherited members.

direction | NBFCamera
farDist | NBFFrustumCamera
focusDist | NBFCamera
headLights | NBFCamera
hints | NBFObject
isShared | NBFObject
nearDist | NBFFrustumCamera
numHeadLights | NBFCamera
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFFrustumCamera
PADDING(4) | NBFFrustumCamera
NBFCamera::PADDING(3) | NBFObject
position | NBFCamera
sourceObject | NBFObject
upVector | NBFCamera
windowOffset | NBFFrustumCamera
windowSize | NBFFrustumCamera

Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: NBFGeoNode Struct Reference

NBFGeoNode Struct Reference

The NBFGeoNode structure represents a geometry node. More...

#include <NBF.h>

Inheritance diagram for NBFGeoNode:

[legend]
Collaboration diagram for NBFGeoNode:

[legend]
List of all members.

Public Attributes

uint_t numStateSets
Specifies the number of contained StateSets.
uint_t geometrySets
Specifies the file offset to the geometry sets. Geometry sets are stored as geometrySet_t objects.

Detailed Description

The NBFGeoNode structure represents a geometry node.

The object code for a NBFGeoNode is NBF_GEO_NODE.

Member Data Documentation

uint_t numStateSets

Specifies the number of contained StateSets.

uint_t geometrySets

Specifies the file offset to the geometry sets. Geometry sets are stored as geometrySet_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: Member List

NBFGeoNode Member List

This is the complete list of members for NBFGeoNode, including all inherited members.

annotation | NBFNode
geometrySets | NBFGeoNode
hints | NBFObject
isShared | NBFObject
numStateSets | NBFGeoNode
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(6) | NBFNode
PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: NBFGroup Struct Reference

NBFGroup Struct Reference

The NBFGroup structure represents a group node. More...

#include <NBF.h>

Inheritance diagram for NBFGroup:

[legend]
Collaboration diagram for NBFGroup:

[legend]
List of all members.

Public Attributes

uint_t numChildren
Specifies the number of maintained children.
uint_t children
uint_t numClipPlanes
Specifies the number of clipping planes.
uint_t clipPlanes
Specifies the file offset to the clipping planes.
uint_t numLightSource
Specifies the number of light sources.
uint_t lightSources
Specifies the fie offset to the offsets to the light sources.

Detailed Description

The NBFGroup structure represents a group node.

A NBFGroup serves as base class only. Concrete object codes valid for a NBFGroup are NBF_LOD, NBF_SWITCH, NBF_TRANSFORM, and NBF_ANIMATED_TRANSFORM. Further concrete object codes valid for a NBFGroup are subject to future extensions of the NBF format.

Member Data Documentation

uint_t numChildren

Specifies the number of maintained children.

uint_t children

Specifies the file offset to the offsets to the maintained children. NBFGroup's children always are of NBFNode-derived types.

uint_t numClipPlanes

Specifies the number of clipping planes.

uint_t clipPlanes

Specifies the file offset to the clipping planes.

uint_t numLightSource

Specifies the number of light sources.

uint_t lightSources

Specifies the fie offset to the offsets to the light sources.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: Member List

NBFGroup Member List

This is the complete list of members for NBFGroup, including all inherited members.

annotation | NBFNode
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(6) | NBFNode
PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: NBFHeader Struct Reference

NBFHeader Struct Reference

The NBFHeader structure represents the NBF header format. More...

#include <NBF.h>

List of all members.

Public Member Functions

PADDING (2)
Padding bits to ensure offset of scene is on a 4-byte boundary, regardless of packing.

Public Attributes

byte_t | signature [4]
A 4-byte signature identifying the file as a valid NBF file. The bytes are "#NBF".
ubyte_t nbfMajorVersion
Specifies the major part of the NBF version used to save the file.
ubyte_t nbfMinorVersion
Specifies the minor part (compatibility level) of the NBF version used to save the file.
ubyte_t nbfBugfixLevel
ubyte_t nvsgMajorVersion
Specifies the major part of the SceniX version the content of this file is compatible to.
ubyte_t nvsgMinorVersion
Specifies the minor part of the SceniX version the content of this file is compatible to.
ubyte_t nvsgBugfixLevel
ubyte_t | reserved [16]
Reserved bytes for future extensions.
ubyte_t dayLastModified
Specifies the day (1-31) of last modification.
ubyte_t monthLastModified
Specifies the month (1-12) of last modification.
ubyte_t | yearLastModified [2]
Specifies the year of last modification.
ubyte_t secondLastModified
Specifies the second (0-59) of last modification.
ubyte_t minuteLastModified
Specifies the minute (0-59) of last modification.
ubyte_t hourLastModified
Specifies the hour (0-23) of last modification.
ubyte_t byteOrder
uint_t scene
Specifies the file offset to the contained NBFScene object.
uint_t viewState

Detailed Description

The NBFHeader structure represents the NBF header format.

The NBFHeader structure is the primary location where NBF specifics are stored.
For a valid NBF file, the NBFHeader structure is stored at file offset 0. Note that, except for the NBFHeader object, a file offset of 0 indicates an invalid file offset!
This structure mainly serves as validation and compatibility checks for verification purposes. It also maintains the file offset to the contained NBFScene object, which represents a scene in the context of computer graphics.

Member Function Documentation

PADDING ( 2 )

Padding bits to ensure offset of scene is on a 4-byte boundary, regardless of packing.

Member Data Documentation

byte_t signature[4]

A 4-byte signature identifying the file as a valid NBF file. The bytes are "#NBF".

ubyte_t nbfMajorVersion

Specifies the major part of the NBF version used to save the file.

ubyte_t nbfMinorVersion

Specifies the minor part (compatibility level) of the NBF version used to save the file.

ubyte_t nbfBugfixLevel

Specifies the bugfix level of the NBF version used to save the file. This is optional information, as a bugfix level does not influence compatibility issues, and hence must not be taken into account for compatibility checks.

ubyte_t nvsgMajorVersion

Specifies the major part of the SceniX version the content of this file is compatible to.

ubyte_t nvsgMinorVersion

Specifies the minor part of the SceniX version the content of this file is compatible to.

ubyte_t nvsgBugfixLevel

Specifies the bugfix level of the SceniX version. This is optional information, as a bugfix level does not influence compatibility issues, and hence must not be taken into account for compatibility checks.

ubyte_t reserved[16]

Reserved bytes for future extensions.

ubyte_t dayLastModified

Specifies the day (1-31) of last modification.

ubyte_t monthLastModified

Specifies the month (1-12) of last modification.

ubyte_t yearLastModified[2]

Specifies the year of last modification.

ubyte_t secondLastModified

Specifies the second (0-59) of last modification.

ubyte_t minuteLastModified

Specifies the minute (0-59) of last modification.

ubyte_t hourLastModified

Specifies the hour (0-23) of last modification.

ubyte_t byteOrder

Specifies the byte order used to save the contained data. A value of 0 implies little-endian byte order, a value of 1 implies big-endian byte order. It is more convenient to use the symbolic constants NBF_LITTLE_ENDIAN and NBF_BIG_ENDIAN here.

uint_t scene

Specifies the file offset to the contained NBFScene object.

uint_t viewState

Specifies the file offset to an optional NBFViewState object. An offset of 0 indicates that no NBFViewState object is available in this file.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: Member List

NBFHeader Member List

This is the complete list of members for NBFHeader, including all inherited members.

byteOrder | NBFHeader
dayLastModified | NBFHeader
hourLastModified | NBFHeader
minuteLastModified | NBFHeader
monthLastModified | NBFHeader
nbfBugfixLevel | NBFHeader
nbfMajorVersion | NBFHeader
nbfMinorVersion | NBFHeader
nvsgBugfixLevel | NBFHeader
nvsgMajorVersion | NBFHeader
nvsgMinorVersion | NBFHeader
PADDING(2) | NBFHeader
reserved | NBFHeader
scene | NBFHeader
secondLastModified | NBFHeader
signature | NBFHeader
viewState | NBFHeader
yearLastModified | NBFHeader

Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: NBFIndependentPrimitiveSet Struct Reference

NBFIndependentPrimitiveSet Struct Reference

The NBFIndependentPrimitiveSet structure represents a set of independent primitives. More...

#include <NBF.h>

Inheritance diagram for NBFIndependentPrimitiveSet:

[legend]
Collaboration diagram for NBFIndependentPrimitiveSet:

[legend]
List of all members.

Public Attributes

uint_t numIndices
Specifies the number of contained indices.
uint_t indices
Specifies the file offset to the Independent objects.

Detailed Description

The NBFIndependentPrimitiveSet structure represents a set of independent primitives.

A NBFIndependentPrimitiveSet is an abstract topology class derived from NBFPrimitiveSet. It is used with NBF_LINES, NBF_POINTS, NBF_QUADS, and NBF_TRIANGLES.

Member Data Documentation

uint_t numIndices

Specifies the number of contained indices.

uint_t indices

Specifies the file offset to the Independent objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: Member List

NBFIndependentPrimitiveSet Member List

This is the complete list of members for NBFIndependentPrimitiveSet, including all inherited members.

hints | NBFObject
indices | NBFIndependentPrimitiveSet
isShared | NBFObject
numIndices | NBFIndependentPrimitiveSet
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
skin | NBFPrimitiveSet
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitiveSet

Generated on Fri Jul 13 13:28:53 2012 for SceniX


SceniX: NBFIndexAnimation Struct Reference

NBFIndexAnimation Struct Reference

The NBFIndexAnimation represents an animation that will be applied to uint_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFIndexAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFIndexAnimation is a multiple of 8, regardless of packing.

Public Attributes

uint_t indices

Detailed Description

The NBFIndexAnimation represents an animation that will be applied to uint_t objects.

A NBFIndexAnimation serves as base class only and needs to be considered in conjunction with NBFFramedAnimationDescription.
Valid object code for a NBFIndexAnimation is NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION. Further concrete object codes valid for NBFIndexAnimation objects are subject to future extensions of the NBF format.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFIndexAnimation is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t indices

Specifies the file offset to the uint_t objects the animation will be applied to. The actual number of uint_t objects is specified by the corresponding animation type, which is NBFFramedAnimationDescription.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: Member List

NBFIndexAnimation Member List

This is the complete list of members for NBFIndexAnimation, including all inherited members.

indices | NBFIndexAnimation
PADDING(4) | NBFIndexAnimation

Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: NBFKeyFramedAnimationDescription Struct Reference

NBFKeyFramedAnimationDescription Struct Reference

The NBFKeyFramedAnimationDescription structure represents a interpolated animation. More...

#include <NBF.h>

Inheritance diagram for NBFKeyFramedAnimationDescription:

[legend]
List of all members.

Public Attributes

uint_t numKeys
Specifies the number of key frames.
uint_t keys

Detailed Description

The NBFKeyFramedAnimationDescription structure represents a interpolated animation.

A NBFKeyFramedAnimationDescription serves as base class only and needs to be considered in conjunction with either NBFTrafoAnimation or NBFVertexAttributeAnimation.
Concrete object codes valid for a NBFKeyFramedAnimationDescription are NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION and NBF_LINEAR_INTERPOLATED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION. Further concrete object codes valid for NBFKeyFramedAnimationDescription objects are subject to future extensions of the NBF format.

Member Data Documentation

uint_t numKeys

Specifies the number of key frames.

uint_t keys

Specifies the file offset to the key frames. As specified in the NBF format, a key is a 32-bit unsigned integer value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: Member List

NBFKeyFramedAnimationDescription Member List

This is the complete list of members for NBFKeyFramedAnimationDescription, including all inherited members.

keys | NBFKeyFramedAnimationDescription
numKeys | NBFKeyFramedAnimationDescription

Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: NBFKeyFramedTrafoAnimationDescription Struct Reference

NBFKeyFramedTrafoAnimationDescription Struct Reference

The NBFKeyFramedTrafoAnimationDescription structure represents a interpolated animation that will be applied to trafo_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFKeyFramedTrafoAnimationDescription:

[legend]
Collaboration diagram for NBFKeyFramedTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFKeyFramedTrafoAnimationDescription structure represents a interpolated animation that will be applied to trafo_t objects.

A NBFKeyFramedTrafoAnimationDescription is a concrete animation type. It publicly inherits from NBFTrafoAnimation and NBFKeyFramedAnimationDescription.
The object code valid for a NBFKeyFramedTrafoAnimationDescription is NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION. Further object codes valid for NBFKeyFramedTrafoAnimationDescription objects are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: Member List

NBFKeyFramedTrafoAnimationDescription Member List

This is the complete list of members for NBFKeyFramedTrafoAnimationDescription, including all inherited members.

hints | NBFObject
isShared | NBFObject
keys | NBFKeyFramedAnimationDescription
numKeys | NBFKeyFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFTrafoAnimation::PADDING(4) | NBFTrafoAnimation
sourceObject | NBFObject
trafos | NBFTrafoAnimation

Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: NBFKeyFramedVertexAttributeAnimationDescription Struct Reference

NBFKeyFramedVertexAttributeAnimationDescription Struct Reference

The NBFKeyFramedVertexAttributeAnimationDescription structure represents a interpolated animation that will be applied to vertexAttrib_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFKeyFramedVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for NBFKeyFramedVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFKeyFramedVertexAttributeAnimationDescription structure represents a interpolated animation that will be applied to vertexAttrib_t objects.

A NBFKeyFramedVertexAttributeAnimationDescription is a concrete animation type. It publicly inherits from NBFVertexAttributeAnimation and NBFKeyFramedAnimationDescription.
The object code valid for a NBFKeyFramedVertexAttributeAnimationDescription is NBF_LINEAR_INTERPOLATED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION. Further object codes valid for NBFKeyFramedVertexAttributeAnimationDescription objects are subject to future extensions of the NBF format.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: Member List

NBFKeyFramedVertexAttributeAnimationDescription Member List

This is the complete list of members for NBFKeyFramedVertexAttributeAnimationDescription, including all inherited members.

attribs | NBFVertexAttributeAnimation
hints | NBFObject
isShared | NBFObject
keys | NBFKeyFramedAnimationDescription
numKeys | NBFKeyFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFVertexAttributeAnimation::PADDING(4) | NBFVertexAttributeAnimation
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:54 2012 for SceniX


SceniX: NBFLightingAttribute Struct Reference

NBFLightingAttribute Struct Reference

The NBFLightingAttribute structure represents a render mode. More...

#include <NBF.h>

Inheritance diagram for NBFLightingAttribute:

[legend]
Collaboration diagram for NBFLightingAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Public Attributes

ubyte_t enabled
Specifies if lighting is enabled or disabled.

Detailed Description

The NBFLightingAttribute structure represents a render mode.

The object code for a NBFLightingAttribute is NBF_LIGHTING_ATTRIBUTE.

Member Function Documentation

PADDING ( 3 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

ubyte_t enabled

Specifies if lighting is enabled or disabled.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: Member List

NBFLightingAttribute Member List

This is the complete list of members for NBFLightingAttribute, including all inherited members.

enabled | NBFLightingAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFLightingAttribute
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: NBFLightSource Struct Reference

NBFLightSource Struct Reference

The NBFLightSource structure represents a light source node. More...

#include <NBF.h>

Inheritance diagram for NBFLightSource:

[legend]
Collaboration diagram for NBFLightSource:

[legend]
List of all members.

Public Member Functions

PADDING (2)
Padding bits to ensure the offset of the next struct member is on a 4-byte boundary.

Public Attributes

float intensity
Specifies the light intensity.
float3_t ambientColor
Specifies the ambient color term of the light.
float3_t diffuseColor
Specifies the diffuse color term of the light.
float3_t specularColor
Specifies the specular color term of the light.
ubyte_t castShadow
flag that determines if this light source creates shadows.
ubyte_t enabled
flag to indicate enabled state.
uint_t animation

Detailed Description

The NBFLightSource structure represents a light source node.

A NBFLightSource serves as base class only. Concrete object codes valid for a NBFLightSource are NBF_DIRECTED_LIGHT, NBF_POINT_LIGHT, and NBF_SPOT_LIGHT.

Member Function Documentation

PADDING ( 2 )

Padding bits to ensure the offset of the next struct member is on a 4-byte boundary.

Member Data Documentation

float intensity

Specifies the light intensity.

float3_t ambientColor

Specifies the ambient color term of the light.

float3_t diffuseColor

Specifies the diffuse color term of the light.

float3_t specularColor

Specifies the specular color term of the light.

ubyte_t castShadow

flag that determines if this light source creates shadows.

ubyte_t enabled

flag to indicate enabled state.

uint_t animation

Specifies the file offset to an optional NBFTrafoAnimation object to be applied to the light transform (orientation and translation).

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: Member List

NBFLightSource Member List

This is the complete list of members for NBFLightSource, including all inherited members.

ambientColor | NBFLightSource
animation | NBFLightSource
castShadow | NBFLightSource
diffuseColor | NBFLightSource
enabled | NBFLightSource
hints | NBFObject
intensity | NBFLightSource
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(2) | NBFLightSource
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
specularColor | NBFLightSource

Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: NBFLinearInterpolatedTrafoAnimationDescription Struct Reference

NBFLinearInterpolatedTrafoAnimationDescription Struct Reference

#include <NBF.h>

Inheritance diagram for NBFLinearInterpolatedTrafoAnimationDescription:

[legend]
Collaboration diagram for NBFLinearInterpolatedTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFLinearInterpolatedTrafoAnimationDescription structure represents an animation description object for linear interpolated transformations.
Remarks:
The object code for a NBFLinearInterpolatedTrafoAnimationDescription is NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: Member List

NBFLinearInterpolatedTrafoAnimationDescription Member List

This is the complete list of members for NBFLinearInterpolatedTrafoAnimationDescription, including all inherited members.

hints | NBFObject
isShared | NBFObject
keys | NBFKeyFramedAnimationDescription
numKeys | NBFKeyFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFTrafoAnimation::PADDING(4) | NBFTrafoAnimation
sourceObject | NBFObject
trafos | NBFTrafoAnimation

Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: NBFLinearInterpolatedVertexAttributeAnimationDescription Struct Reference

NBFLinearInterpolatedVertexAttributeAnimationDescription Struct Reference

#include <NBF.h>

Inheritance diagram for NBFLinearInterpolatedVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for NBFLinearInterpolatedVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

The NBFLinearInterpolatedVertexAttributeAnimationDescription structure represents an animation description object for linear interpolated vertex attributes.
Remarks:
The object code for a NBFLinearInterpolatedVertexAttributeAnimationDescription is NBF_LINEAR_INTERPOLATED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: Member List

NBFLinearInterpolatedVertexAttributeAnimationDescription Member List

This is the complete list of members for NBFLinearInterpolatedVertexAttributeAnimationDescription, including all inherited members.

attribs | NBFVertexAttributeAnimation
hints | NBFObject
isShared | NBFObject
keys | NBFKeyFramedAnimationDescription
numKeys | NBFKeyFramedAnimationDescription
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
NBFAnimationDescription::PADDING(3) | NBFObject
NBFVertexAttributeAnimation::PADDING(4) | NBFVertexAttributeAnimation
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:55 2012 for SceniX


SceniX: NBFLineAttribute Struct Reference

NBFLineAttribute Struct Reference

The NBFLineAttribute structure represents a render mode. More...

#include <NBF.h>

Inheritance diagram for NBFLineAttribute:

[legend]
Collaboration diagram for NBFLineAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Public Attributes

ubyte_t antiAliasing
Specifies if the lines are anti aliased.
uint_t stippleFactor
Specifies the stipple factor.
uint_t stipplePattern
Specifies the stipple pattern.
float width
Specifies the line width.

Detailed Description

The NBFLineAttribute structure represents a render mode.

The object code for a NBFLineAttribute is NBF_LINE_ATTRIBUTE.

Member Function Documentation

PADDING ( 3 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

ubyte_t antiAliasing

Specifies if the lines are anti aliased.

uint_t stippleFactor

Specifies the stipple factor.

uint_t stipplePattern

Specifies the stipple pattern.

float width

Specifies the line width.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: Member List

NBFLineAttribute Member List

This is the complete list of members for NBFLineAttribute, including all inherited members.

antiAliasing | NBFLineAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFLineAttribute
sourceObject | NBFObject
stippleFactor | NBFLineAttribute
stipplePattern | NBFLineAttribute
width | NBFLineAttribute

Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: NBFLink Struct Reference

NBFLink Struct Reference

The NBFLink structure represents a link between two objects using a callback. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t linkID
Specifies the class id of the callback.
uint_t subject
Specifies the offset of the subject.
uint_t observer
Specifies the offset of the observer.

Detailed Description

The NBFLink structure represents a link between two objects using a callback.

Member Data Documentation

uint_t linkID

Specifies the class id of the callback.

uint_t subject

Specifies the offset of the subject.

uint_t observer

Specifies the offset of the observer.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: Member List

NBFLink Member List

This is the complete list of members for NBFLink, including all inherited members.

linkID | NBFLink
observer | NBFLink
subject | NBFLink

Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: NBFLoader Class Reference

NBFLoader Class Reference

A Scene Loader for nbf files. More...

#include <NBFLoader.h>

Inheritance diagram for NBFLoader:

[legend]
Collaboration diagram for NBFLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.
nvsg::SceneSharedPtr | load (const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState)
Realization of the pure virtual interface function of a SceneLoader.

Protected Member Functions

virtual | ~NBFLoader (void)
Protected destructor to prevent explicit creation on stack.
virtual nvsg::ObjectSharedPtr | loadCustomObject (uint_t objectCode, uint_t offset)
Load a custom object identified by objectCode from the file offset specified by offset.
ubyte_t * | mapOffset (uint_t offset, unsigned int numBytes)
Maps numBytes bytes at file offset offset into process memory.
void | unmapOffset (ubyte_t *offsetPtr)
Unmaps the memory that previously was mapped through mapOffset from the process' address space.

Classes

class | Offset_AutoPtr
An auxiliary helper template class which provides exception safe mapping and unmapping of file offsets.

Detailed Description

A Scene Loader for nbf files.

Constructor & Destructor Documentation

virtual ~NBFLoader ( void ) [protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

void deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

nvsg::SceneSharedPtr load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | nvsg::ViewStateSharedPtr & | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvb file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

virtual nvsg::ObjectSharedPtr loadCustomObject | ( | uint_t | objectCode,
 |  | uint_t | offset
 | ) | [protected, virtual]

Load a custom object identified by objectCode from the file offset specified by offset.

This function is called from the loader's framework if a custom object was detected for the object stored at the particular file offset.

A custom implementation should first evaluate the passed object code. To map identified objects into memory, a custom implementation should call the member function mapOffset with the file offset and the correct byte size for the identified object as parameters. After that, the corresponding SceniX object can be initialized from the mapped data.

Returns:
An ObjectSharedPtr specifying the loaded SceniX object.
Note:
A custom implementation must not fall back on to the base implementation, as this simply returns a null pointer.
Parameters:
objectCode | NBF object code identifying the custom object.
offset | Specifies the file offset for the custom object.

ubyte_t * mapOffset | ( | uint_t | offset,
 |  | unsigned int | numBytes
 | ) | [inline, protected]

Maps numBytes bytes at file offset offset into process memory.

This function turns a given offset into a pointer and ensures that a minimum of numBytes bytes are mapped.

Returns:
A pointer to the mapped memory.
Parameters:
offset | File offset of the memory block to map.
numBytes | Amount of bytes to map into process memory.

void unmapOffset ( ubyte_t * offsetPtr ) [inline, protected]

Unmaps the memory that previously was mapped through mapOffset from the process' address space.

The function accepts a pointer to the mapped file offset that previously was received by a call to mapOffset.

Parameters:
offsetPtr Address where the file offset was mapped.

The documentation for this class was generated from the following file:
  • NBFLoader.h
Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: Member List

NBFLoader Member List

This is the complete list of members for NBFLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | NBFLoader | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState) | NBFLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, ViewStateSharedPtr &viewState)=0 | SceneLoader | [pure virtual]
loadCustomObject(uint_t objectCode, uint_t offset) | NBFLoader | [protected, virtual]
mapOffset(uint_t offset, unsigned int numBytes) | NBFLoader | [inline, protected]
markUnshareable() | RCObject | [inline]
NBFLoader() (defined in NBFLoader) | NBFLoader |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
unmapOffset(ubyte_t *offsetPtr) | NBFLoader | [inline, protected]
~IAllocator() | IAllocator | [inline, virtual]
~NBFLoader(void) | NBFLoader | [protected, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneLoader() | SceneLoader | [protected, virtual]

Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: NBFLOD Struct Reference

NBFLOD Struct Reference

The NBFLOD structure represents a 'Level Of Detail' group node. More...

#include <NBF.h>

Inheritance diagram for NBFLOD:

[legend]
Collaboration diagram for NBFLOD:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFLOD is a multiple of 8, regardless of packing.

Public Attributes

float3_t center
Specifies the center point used for distance calculations.
uint_t numRanges
Specifies the number of contained ranges.
uint_t ranges

Detailed Description

The NBFLOD structure represents a 'Level Of Detail' group node.

The object code for a NBFLOD is NBF_LOD.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFLOD is a multiple of 8, regardless of packing.

Member Data Documentation

float3_t center

Specifies the center point used for distance calculations.

uint_t numRanges

Specifies the number of contained ranges.

uint_t ranges

Specifies the file offset to the ranges. Ranges are stored as 32-bit floating point numbers.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: Member List

NBFLOD Member List

This is the complete list of members for NBFLOD, including all inherited members.

annotation | NBFNode
center | NBFLOD
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
numRanges | NBFLOD
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFLOD
NBFGroup::PADDING(6) | NBFNode
NBFGroup::PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
ranges | NBFLOD
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:56 2012 for SceniX


SceniX: NBFMaterial Struct Reference

NBFMaterial Struct Reference

The NBFMaterial structure represents a material. More...

#include <NBF.h>

Inheritance diagram for NBFMaterial:

[legend]
Collaboration diagram for NBFMaterial:

[legend]
List of all members.

Public Attributes

float3_t frontAmbientColor
Specifies the ambient part of the front material color.
float3_t frontDiffuseColor
Specifies the diffuse part of the front material color.
float3_t frontEmissiveColor
Specifies the emissive part of the front material color.
float | frontIndexOfRefraction
Specifies the index of refraction of the front material.
float3_t frontOpacityColor
Specifies the opacity per color channel of the front material.
float3_t frontReflectivityColor
Specifies the reflectivity per color channel of the front material.
float3_t frontSpecularColor
Specifies the specular part of the front material color.
float | frontSpecularExponent
Specifies the specular exponent of the front material color.
float3_t backAmbientColor
Specifies the ambient part of the back material color.
float3_t backDiffuseColor
Specifies the diffuse part of the back material color.
float3_t backEmissiveColor
Specifies the emissive part of the back material color.
float | backIndexOfRefraction
Specifies the index of refraction of the back material.
float3_t backOpacityColor
Specifies the opacity per color channel of the back material.
float3_t backReflectivityColor
Specifies the reflectivity per color channel of the back material.
float3_t backSpecularColor
Specifies the specular part of the back material color.
float | backSpecularExponent
Specifies the specular exponent of the back material color.

Detailed Description

The NBFMaterial structure represents a material.

The object code for a NBFMaterial is NBF_MATERIAL.

Member Data Documentation

float3_t frontAmbientColor

Specifies the ambient part of the front material color.

float3_t frontDiffuseColor

Specifies the diffuse part of the front material color.

float3_t frontEmissiveColor

Specifies the emissive part of the front material color.

float frontIndexOfRefraction

Specifies the index of refraction of the front material.

float3_t frontOpacityColor

Specifies the opacity per color channel of the front material.

float3_t frontReflectivityColor

Specifies the reflectivity per color channel of the front material.

float3_t frontSpecularColor

Specifies the specular part of the front material color.

float frontSpecularExponent

Specifies the specular exponent of the front material color.

float3_t backAmbientColor

Specifies the ambient part of the back material color.

float3_t backDiffuseColor

Specifies the diffuse part of the back material color.

float3_t backEmissiveColor

Specifies the emissive part of the back material color.

float backIndexOfRefraction

Specifies the index of refraction of the back material.

float3_t backOpacityColor

Specifies the opacity per color channel of the back material.

float3_t backReflectivityColor

Specifies the reflectivity per color channel of the back material.

float3_t backSpecularColor

Specifies the specular part of the back material color.

float backSpecularExponent

Specifies the specular exponent of the back material color.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: Member List

NBFMaterial Member List

This is the complete list of members for NBFMaterial, including all inherited members.

backAmbientColor | NBFMaterial
backDiffuseColor | NBFMaterial
backEmissiveColor | NBFMaterial
backIndexOfRefraction | NBFMaterial
backOpacityColor | NBFMaterial
backReflectivityColor | NBFMaterial
backSpecularColor | NBFMaterial
backSpecularExponent | NBFMaterial
frontAmbientColor | NBFMaterial
frontDiffuseColor | NBFMaterial
frontEmissiveColor | NBFMaterial
frontIndexOfRefraction | NBFMaterial
frontOpacityColor | NBFMaterial
frontReflectivityColor | NBFMaterial
frontSpecularColor | NBFMaterial
frontSpecularExponent | NBFMaterial
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: NBFMatrixCamera Struct Reference

NBFMatrixCamera Struct Reference

The NBFMatrixCamera structure represents a general matrix camera. More...

#include <NBF.h>

Inheritance diagram for NBFMatrixCamera:

[legend]
Collaboration diagram for NBFMatrixCamera:

[legend]
List of all members.

Public Attributes

float44_t projection
Specifies the projection matrix.
float44_t inverseProjection
Specifies the inverse projection matrix.

Detailed Description

The NBFMatrixCamera structure represents a general matrix camera.

Remarks:
The object code for a NBFMatrixCamera is NBF_MATRIX_CAMERA.

Member Data Documentation

float44_t projection

Specifies the projection matrix.

float44_t inverseProjection

Specifies the inverse projection matrix.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: Member List

NBFMatrixCamera Member List

This is the complete list of members for NBFMatrixCamera, including all inherited members.

direction | NBFCamera
focusDist | NBFCamera
headLights | NBFCamera
hints | NBFObject
inverseProjection | NBFMatrixCamera
isShared | NBFObject
numHeadLights | NBFCamera
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
position | NBFCamera
projection | NBFMatrixCamera
sourceObject | NBFObject
upVector | NBFCamera

Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: NBFMeshedPrimitiveSet Struct Reference

NBFMeshedPrimitiveSet Struct Reference

The NBFMeshedPrimitiveSet structure represents a mesh set. More...

#include <NBF.h>

Inheritance diagram for NBFMeshedPrimitiveSet:

[legend]
Collaboration diagram for NBFMeshedPrimitiveSet:

[legend]
List of all members.

Public Attributes

uint_t numMeshes
Specifies the number of meshes.
uint_t meshes
Strips are stored as indexList_t objects.

Detailed Description

The NBFMeshedPrimitiveSet structure represents a mesh set.

A NBFMeshedPrimitiveSet is an abstract topology class derived from NBFPrimitiveSet. Valid object codes for a NBFMeshedPrimitiveSet are NBF_QUADMESHES.

Member Data Documentation

uint_t numMeshes

Specifies the number of meshes.

uint_t meshes

Strips are stored as indexList_t objects.

Specifies the file offset to the meshes.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: Member List

NBFMeshedPrimitiveSet Member List

This is the complete list of members for NBFMeshedPrimitiveSet, including all inherited members.

hints | NBFObject
isShared | NBFObject
meshes | NBFMeshedPrimitiveSet
numMeshes | NBFMeshedPrimitiveSet
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
skin | NBFPrimitiveSet
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitiveSet

Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: NBFNode Struct Reference

NBFNode Struct Reference

The NBFNode structure represents a general node. More...

#include <NBF.h>

Inheritance diagram for NBFNode:

[legend]
Collaboration diagram for NBFNode:

[legend]
List of all members.

Public Member Functions

PADDING (6)
Padding bits to ensure the size of NBFStateAttribute is a multiple of 4, regardless of packing.
PADDING (2)
Two more padding for backwards compat.

Public Attributes

str_t annotation
Specifies an optional annotation string. Unused since v61.2!

Detailed Description

The NBFNode structure represents a general node.

A NBFNode serves as base class only. Concrete object codes valid for a NBFNode are NBF_GEO_NODE, NBF_LOD, NBF_SWITCH, NBF_TRANSFORM, NBF_ANIMATED_TRANSFORM, NBF_DIRECTED_LIGHT, NBF_POINT_LIGHT, NBF_SPOT_LIGHT, and NBF_VOLUME_NODE. Further concrete object codes valid for a NBFNode are subject to future extensions of the NBF format.

Member Function Documentation

PADDING ( 6 )

Padding bits to ensure the size of NBFStateAttribute is a multiple of 4, regardless of packing.

PADDING ( 2 )

Two more padding for backwards compat.

Member Data Documentation

str_t annotation

Specifies an optional annotation string. Unused since v61.2!

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: Member List

NBFNode Member List

This is the complete list of members for NBFNode, including all inherited members.

annotation | NBFNode
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(6) | NBFNode
PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: NBFObject Struct Reference

NBFObject Struct Reference

The NBFObject structure represents general object data. More...

#include <NBF.h>

Inheritance diagram for NBFObject:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits to keep compatibility to earlier versions.

Public Attributes

uint_t objectCode
Specifies the object code of the actual object. The object code is unique per object type!
ubyte_t isShared
uint64_t objectDataID
A unique 64-bit value to identify shared object data while loading.
uint_t sourceObject
uint_t objectName
uint_t objectAnno
uint_t hints
Hints vars for node, user, object.

Detailed Description

The NBFObject structure represents general object data.

Member Function Documentation

PADDING ( 3 )

Padding bits to keep compatibility to earlier versions.

Reimplemented in NBFBillboard, NBFCgFx, NBFRTFxProgram, NBFLightingAttribute, NBFLineAttribute, and NBFPointAttribute.

Member Data Documentation

uint_t objectCode

Specifies the object code of the actual object. The object code is unique per object type!

ubyte_t isShared

Indicates whether the data of the actual object is shared among different objects. A value of 1 indicates that this object's data is shared, whereas a value of 0 indicates that this object's data is not shared.

uint64_t objectDataID

A unique 64-bit value to identify shared object data while loading.

uint_t sourceObject

Specifies the file offset to the source object in case of data sharing. A file offset of 0 always indicates that no source object is available for the actual object.

uint_t objectName

Specifies the offset to an optional name. A 0-offset implies no name. The name is stored as a str_t object.

uint_t objectAnno

Specifies the offset to an optional annotation that can be specified for an object. A 0-offset implies no annotation. An annotation is stored as a str_t object.

uint_t hints

Hints vars for node, user, object.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: Member List

NBFObject Member List

This is the complete list of members for NBFObject, including all inherited members.

hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:57 2012 for SceniX


SceniX: NBFParallelCamera Struct Reference

NBFParallelCamera Struct Reference

The NBFParallelCamera represents a parallel camera. More...

#include <NBF.h>

Inheritance diagram for NBFParallelCamera:

[legend]
Collaboration diagram for NBFParallelCamera:

[legend]
List of all members.

Detailed Description

The NBFParallelCamera represents a parallel camera.

A NBFParallelCamera is a concrete camera type. The object code for a NBFParallelCamera is NBF_PARALLEL_CAMERA.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: Member List

NBFParallelCamera Member List

This is the complete list of members for NBFParallelCamera, including all inherited members.

direction | NBFCamera
farDist | NBFFrustumCamera
focusDist | NBFCamera
headLights | NBFCamera
hints | NBFObject
isShared | NBFObject
nearDist | NBFFrustumCamera
numHeadLights | NBFCamera
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFFrustumCamera
PADDING(4) | NBFFrustumCamera
NBFCamera::PADDING(3) | NBFObject
position | NBFCamera
sourceObject | NBFObject
upVector | NBFCamera
windowOffset | NBFFrustumCamera
windowSize | NBFFrustumCamera

Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: NBFPatchesBase Struct Reference

NBFPatchesBase Struct Reference

The NBFPatchesBase structure is the base of all patches structures. More...

#include <NBF.h>

Inheritance diagram for NBFPatchesBase:

[legend]
Collaboration diagram for NBFPatchesBase:

[legend]
List of all members.

Detailed Description

The NBFPatchesBase structure is the base of all patches structures.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: Member List

NBFPatchesBase Member List

This is the complete list of members for NBFPatchesBase, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive

Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: NBFPerspectiveCamera Struct Reference

NBFPerspectiveCamera Struct Reference

The NBFPerspectiveCamera represents a perspective camera. More...

#include <NBF.h>

Inheritance diagram for NBFPerspectiveCamera:

[legend]
Collaboration diagram for NBFPerspectiveCamera:

[legend]
List of all members.

Detailed Description

The NBFPerspectiveCamera represents a perspective camera.

A NBFPerspectiveCamera is a concrete camera type. The object code for a NBFPerspectiveCamera is NBF_PERSPECTIVE_CAMERA.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: Member List

NBFPerspectiveCamera Member List

This is the complete list of members for NBFPerspectiveCamera, including all inherited members.

direction | NBFCamera
farDist | NBFFrustumCamera
focusDist | NBFCamera
headLights | NBFCamera
hints | NBFObject
isShared | NBFObject
nearDist | NBFFrustumCamera
numHeadLights | NBFCamera
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFFrustumCamera
PADDING(4) | NBFFrustumCamera
NBFCamera::PADDING(3) | NBFObject
position | NBFCamera
sourceObject | NBFObject
upVector | NBFCamera
windowOffset | NBFFrustumCamera
windowSize | NBFFrustumCamera

Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: NBFPointAttribute Struct Reference

NBFPointAttribute Struct Reference

The NBFPointAttribute structure represents a render mode. More...

#include <NBF.h>

Inheritance diagram for NBFPointAttribute:

[legend]
Collaboration diagram for NBFPointAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Public Attributes

ubyte_t antiAliasing
Specifies if the points are anti aliased.
float size
Specifies the point size.

Detailed Description

The NBFPointAttribute structure represents a render mode.

The object code for a NBFPointAttribute is NBF_POINT_ATTRIBUTE.

Member Function Documentation

PADDING ( 3 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Reimplemented from NBFObject.

Member Data Documentation

ubyte_t antiAliasing

Specifies if the points are anti aliased.

float size

Specifies the point size.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: Member List

NBFPointAttribute Member List

This is the complete list of members for NBFPointAttribute, including all inherited members.

antiAliasing | NBFPointAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFPointAttribute
size | NBFPointAttribute
sourceObject | NBFObject

Generated on Fri Jul 13 13:28:58 2012 for SceniX


SceniX: NBFPointLight Struct Reference

NBFPointLight Struct Reference

#include <NBF.h>

Inheritance diagram for NBFPointLight:

[legend]
Collaboration diagram for NBFPointLight:

[legend]
List of all members.

Public Attributes

float3_t position
Specifies the position of the light source.
float3_t attenuation

Detailed Description

The object code for a NBFPointLight is NBF_POINT_LIGHT.

Member Data Documentation

float3_t position

Specifies the position of the light source.

float3_t attenuation

Specifies the attenuation factors of the point light. The x-component of the vector specifies the constant term of the attenuation, the y-component of the vector specifies the linear term of the attenuation, and the z-component of the vector specifies the quadratic term of the attenuation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:59 2012 for SceniX


SceniX: Member List

NBFPointLight Member List

This is the complete list of members for NBFPointLight, including all inherited members.

ambientColor | NBFLightSource
animation | NBFLightSource
attenuation | NBFPointLight
castShadow | NBFLightSource
diffuseColor | NBFLightSource
enabled | NBFLightSource
hints | NBFObject
intensity | NBFLightSource
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(2) | NBFLightSource
NBFObject::PADDING(3) | NBFObject
position | NBFPointLight
sourceObject | NBFObject
specularColor | NBFLightSource

Generated on Fri Jul 13 13:28:59 2012 for SceniX


SceniX: NBFPrimitive Struct Reference

NBFPrimitive Struct Reference

The NBFPrimitive structure represents a geometry with an NBFVertexAttributeSet, and possibly an index set. More...

#include <NBF.h>

Inheritance diagram for NBFPrimitive:

[legend]
Collaboration diagram for NBFPrimitive:

[legend]
List of all members.

Public Attributes

uint_t primitiveType
Specified the primitive type (unit because it may be a user enum).
uint_t elementOffset
Specifies the element offset.
uint_t elementCount
Specifies the element count.
uint_t instanceCount
Specified the instance count.
uint_t verticesPerPatch
Specified the num verts per patch.
uint_t renderFlags
Specified the rendering flags.
uint_t vertexAttributeSet
Specifies the file offset to the vertex attribute set.
indexSet_t indexSet
Specifies the index set, if any.
uint_t skin
Specifies the file offset to the skin.

Detailed Description

The NBFPrimitive structure represents a geometry with an NBFVertexAttributeSet, and possibly an index set.

A NBFPrimitive holds the offset to an NBFVertexAttributeSet, and possibly an index set

Member Data Documentation

uint_t primitiveType

Specified the primitive type (unit because it may be a user enum).

uint_t elementOffset

Specifies the element offset.

uint_t elementCount

Specifies the element count.

uint_t instanceCount

Specified the instance count.

uint_t verticesPerPatch

Specified the num verts per patch.

uint_t renderFlags

Specified the rendering flags.

uint_t vertexAttributeSet

Specifies the file offset to the vertex attribute set.

indexSet_t indexSet

Specifies the index set, if any.

uint_t skin

Specifies the file offset to the skin.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:59 2012 for SceniX


SceniX: Member List

NBFPrimitive Member List

This is the complete list of members for NBFPrimitive, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive

Generated on Fri Jul 13 13:28:59 2012 for SceniX


SceniX: NBFPrimitiveSet Struct Reference

NBFPrimitiveSet Struct Reference

The NBFPrimitiveSet structure represents a geometry with an NBFVertexAttributeSet. More...

#include <NBF.h>

Inheritance diagram for NBFPrimitiveSet:

[legend]
Collaboration diagram for NBFPrimitiveSet:

[legend]
List of all members.

Public Attributes

uint_t vertexAttributeSet
Specifies the file offset to the vertex attribute set.
uint_t skin
Specifies the file offset to the skin (from version 0x3e on!).

Detailed Description

The NBFPrimitiveSet structure represents a geometry with an NBFVertexAttributeSet.

A NBFPrimitiveSet holds the offset to an NBFVertexAttributeSet.

Member Data Documentation

uint_t vertexAttributeSet

Specifies the file offset to the vertex attribute set.

uint_t skin

Specifies the file offset to the skin (from version 0x3e on!).

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:28:59 2012 for SceniX


SceniX: Member List

NBFPrimitiveSet Member List

This is the complete list of members for NBFPrimitiveSet, including all inherited members.

hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
skin | NBFPrimitiveSet
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitiveSet

Generated on Fri Jul 13 13:28:59 2012 for SceniX


SceniX: NBFQuadPatches Struct Reference

NBFQuadPatches Struct Reference

The NBFQuadPatches structure represents a general quad patches object. More...

#include <NBF.h>

Inheritance diagram for NBFQuadPatches:

[legend]
Collaboration diagram for NBFQuadPatches:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Public Attributes

uint_t size
Specifies the size of the quad patches. Each patch is specified by size^2 vertices.

Detailed Description

The NBFQuadPatches structure represents a general quad patches object.

Remarks:
The object code for a NBFQuadPatches is NBF_QUAD_PATCHES.

Member Function Documentation

PADDING ( 4 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Member Data Documentation

uint_t size

Specifies the size of the quad patches. Each patch is specified by size^2 vertices.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: NBFQuadPatches4x4 Struct Reference

NBFQuadPatches4x4 Struct Reference

The NBFQuadPatches4x4 structure represents a 4x4 quad patches object. More...

#include <NBF.h>

Inheritance diagram for NBFQuadPatches4x4:

[legend]
Collaboration diagram for NBFQuadPatches4x4:

[legend]
List of all members.

Detailed Description

The NBFQuadPatches4x4 structure represents a 4x4 quad patches object.

Remarks:
The object code for a NBFQuadPatches4x4 is NBF_QUAD_PATCHES_4X4.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: Member List

NBFQuadPatches4x4 Member List

This is the complete list of members for NBFQuadPatches4x4, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive

Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: NBFRectPatches Struct Reference

NBFRectPatches Struct Reference

The NBFRectPatches structure represents a general rectangular patches object. More...

#include <NBF.h>

Inheritance diagram for NBFRectPatches:

[legend]
Collaboration diagram for NBFRectPatches:

[legend]
List of all members.

Public Attributes

uint_t width
Specifies the width of the patches. Each patch is specified by with*height vertices.
uint_t height
Specifies the height of the patches. Each patch is specified by width*height vertices.

Detailed Description

The NBFRectPatches structure represents a general rectangular patches object.

Remarks:
The object code for a NBFRectPatches is NBF_RECT_PATCHES.

Member Data Documentation

uint_t width

Specifies the width of the patches. Each patch is specified by with*height vertices.

uint_t height

Specifies the height of the patches. Each patch is specified by width*height vertices.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: Member List

NBFRectPatches Member List

This is the complete list of members for NBFRectPatches, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
height | NBFRectPatches
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive
width | NBFRectPatches

Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: NBFRTBufferAttribute Struct Reference

NBFRTBufferAttribute Struct Reference

The NBFRTBufferAttribute structure represents a ray tracing buffer attribute. More...

#include <NBF.h>

Inheritance diagram for NBFRTBufferAttribute:

[legend]
Collaboration diagram for NBFRTBufferAttribute:

[legend]
List of all members.

Public Attributes

str_t variableName
Name of variable to assign in RTFx.
uint_t format
Specifies the buffer format.
uint_t width
Specifies the width of the buffer.
uint_t height
Specifies the height of the buffer.
uint_t depth
Specifies the depth of the buffer.
uint_t elementSize
Specifies the element size if format is RT_FORMAT_USER.
uint_t buffer
Offset to the buffer data.

Detailed Description

The NBFRTBufferAttribute structure represents a ray tracing buffer attribute.

The object code for a NBFRTBufferAttribute is NBF_RTBUFFER_ATTRIBUTE.

Member Data Documentation

str_t variableName

Name of variable to assign in RTFx.

uint_t format

Specifies the buffer format.

uint_t width

Specifies the width of the buffer.

uint_t height

Specifies the height of the buffer.

uint_t depth

Specifies the depth of the buffer.

uint_t elementSize

Specifies the element size if format is RT_FORMAT_USER.

uint_t buffer

Offset to the buffer data.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: Member List

NBFRTBufferAttribute Member List

This is the complete list of members for NBFRTBufferAttribute, including all inherited members.

buffer | NBFRTBufferAttribute
depth | NBFRTBufferAttribute
elementSize | NBFRTBufferAttribute
format | NBFRTBufferAttribute
height | NBFRTBufferAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject
variableName | NBFRTBufferAttribute
width | NBFRTBufferAttribute

Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: NBFRTFx Struct Reference

NBFRTFx Struct Reference

The NBFRTFx structure represents an effect attribute. More...

#include <NBF.h>

Inheritance diagram for NBFRTFx:

[legend]
Collaboration diagram for NBFRTFx:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFRTFx is a multiple of 8, regardless of packing.

Public Attributes

uint_t program
Specifies the file offset of the RTFxProgram.

Detailed Description

The NBFRTFx structure represents an effect attribute.

The object code for a NBFRTFx is NBF_RTFX.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFRTFx is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t program

Specifies the file offset of the RTFxProgram.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: Member List

NBFRTFx Member List

This is the complete list of members for NBFRTFx, including all inherited members.

hints | NBFObject
isShared | NBFObject
numParameters | NBFRTFxBase
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFRTFx
NBFStateAttribute::PADDING(3) | NBFObject
parameters | NBFRTFxBase
program | NBFRTFx
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: NBFRTFxBase Struct Reference

NBFRTFxBase Struct Reference

An NBFRTFxBase is a common base for both RTFx and RTFxSceneAttribute. More...

#include <NBF.h>

Inheritance diagram for NBFRTFxBase:

[legend]
List of all members.

Public Attributes

uint_t numParameters
Specifies the number of parameters.
uint_t parameters
Specifies the file offset of the parameters.

Detailed Description

An NBFRTFxBase is a common base for both RTFx and RTFxSceneAttribute.

Member Data Documentation

uint_t numParameters

Specifies the number of parameters.

uint_t parameters

Specifies the file offset of the parameters.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: Member List

NBFRTFxBase Member List

This is the complete list of members for NBFRTFxBase, including all inherited members.

numParameters | NBFRTFxBase
parameters | NBFRTFxBase

Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: NBFRTFxParameter Struct Reference

NBFRTFxParameter Struct Reference

An NBFRTFxParameter specifies on parameter in an RTFxBase. More...

#include <NBF.h>

Collaboration diagram for NBFRTFxParameter:

[legend]
List of all members.

Public Member Functions

PADDING (2)
Padding bits.

Public Attributes

str_t name
Specifies the name of the parameter.
ubyte_t count
Specifies the number of elements of the parameter.
ubyte_t type
Specifies the type of the parameter.
byteArray_t data
Specifies the array of data, stored as bytes.
uint_t buffer
Specifies the file offset of an RTBuffer.
uint_t texture
Specifies the file offset of an RTTextureSampler.

Detailed Description

An NBFRTFxParameter specifies on parameter in an RTFxBase.

Member Function Documentation

PADDING ( 2 )

Padding bits.

Member Data Documentation

str_t name

Specifies the name of the parameter.

ubyte_t count

Specifies the number of elements of the parameter.

ubyte_t type

Specifies the type of the parameter.

byteArray_t data

Specifies the array of data, stored as bytes.

uint_t buffer

Specifies the file offset of an RTBuffer.

uint_t texture

Specifies the file offset of an RTTextureSampler.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: Member List

NBFRTFxParameter Member List

This is the complete list of members for NBFRTFxParameter, including all inherited members.

buffer | NBFRTFxParameter
count | NBFRTFxParameter
data | NBFRTFxParameter
name | NBFRTFxParameter
PADDING(2) | NBFRTFxParameter
texture | NBFRTFxParameter
type | NBFRTFxParameter

Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: NBFRTFxProgram Struct Reference

NBFRTFxProgram Struct Reference

The NBFRTFxProgram structure represents an RTFx program. More...

#include <NBF.h>

Inheritance diagram for NBFRTFxProgram:

[legend]
Collaboration diagram for NBFRTFxProgram:

[legend]
List of all members.

Public Member Functions

PADDING (3)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.
PADDING (4)
Padding bits to ensure size of NBFRTFxProgram is a multiple of 8.

Public Attributes

ubyte_t fromFile
Specifies if the effect is from a file or a string.
str_t effect
Specifies the effect file or source, depending on fromFile.

Detailed Description

The NBFRTFxProgram structure represents an RTFx program.

The object code for a NBFRTFxProgram is NBF_RTFX_PROGRAM

Member Function Documentation

PADDING ( 3 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Reimplemented from NBFObject.

PADDING ( 4 )

Padding bits to ensure size of NBFRTFxProgram is a multiple of 8.

Member Data Documentation

ubyte_t fromFile

Specifies if the effect is from a file or a string.

str_t effect

Specifies the effect file or source, depending on fromFile.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: Member List

NBFRTFxProgram Member List

This is the complete list of members for NBFRTFxProgram, including all inherited members.

effect | NBFRTFxProgram
fromFile | NBFRTFxProgram
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFRTFxProgram
PADDING(4) | NBFRTFxProgram
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: NBFSaver Class Reference

NBFSaver Class Reference

A scene saver capable to save a NVSG scene to a "NBF" (Nvsg Binary File format) file. More...

#include <NBFSaver.h>

Inheritance diagram for NBFSaver:

[legend]
Collaboration diagram for NBFSaver:

[legend]
List of all members.

Public Member Functions

NBFSaver ()
constructor
void | deleteThis (void)
PlugIn interface.
bool | save (const nvsg::SceneSharedPtr &scene, const nvsg::ViewStateSharedPtr &viewState, const std::string &filename)
Realization of the pure virtual interface function of a SceneSaver.

Detailed Description

A scene saver capable to save a NVSG scene to a "NBF" (Nvsg Binary File format) file.

Constructor & Destructor Documentation

NBFSaver ( )

constructor

Member Function Documentation

void deleteThis ( void ) [inline, virtual]

PlugIn interface.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

bool save | ( | const nvsg::SceneSharedPtr & | scene,
 |  | const nvsg::ViewStateSharedPtr & | viewState,
 |  | const std::string & | filename
 | ) |

Realization of the pure virtual interface function of a SceneSaver.

Saves the scene and the viewState to filename. The viewState may be NULL.

Parameters:
scene | scene to save
viewState | view state to save
filename | file name to save to

The documentation for this class was generated from the following file:
  • NBFSaver.h
Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: Member List

NBFSaver Member List

This is the complete list of members for NBFSaver, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | NBFSaver | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
NBFSaver() | NBFSaver |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
save(const nvsg::SceneSharedPtr &scene, const nvsg::ViewStateSharedPtr &viewState, const std::string &filename) | NBFSaver |
nvsg::SceneSaver::save(const SceneSharedPtr &scene, const ViewStateSharedPtr &viewState, const std::string &filename)=0 | SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~NBFSaver() (defined in NBFSaver) | NBFSaver | [protected, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneSaver() | SceneSaver | [protected, virtual]

Generated on Fri Jul 13 13:29:01 2012 for SceniX


SceniX: NBFSaveTraverser Class Reference

NBFSaveTraverser Class Reference

A Traverser to traverse a scene on saving to "NBF" binary file format. More...

#include <NBFSaver.h>

Inheritance diagram for NBFSaveTraverser:

[legend]
Collaboration diagram for NBFSaveTraverser:

[legend]
List of all members.

Public Member Functions

NBFSaveTraverser ()
Default constructor.
bool | preCalculateFileSize (const nvsg::SceneSharedPtr &scene)
Calculate the expected file size.
void | setFileName (const std::string &fileName)
Set the file name to save the scene in.
void | setPlugInCallback (const nvutil::PlugInCallback *pic)
Set the PlugInCallback used for warnings and error messages.
bool | getSuccess () const
Get the success state of the latest saving operation.
std::string | getErrorMessage () const
Get the error message if the latest saving operation was not successful.

Protected Member Functions

bool | calculatingStorageRequirements () const
Determine whether the current traverser pass is calculating storage requirements.
uint_t | alloc (void *&offsetPtr, unsigned int numBytes)
Allocate a portion of the currently mapped file into the process' address space.
void | dealloc (void *offsetPtr)
Deallocate a portion of memory that is currently mapped to a file.
uint_t | pseudoAlloc (unsigned int numBytes)
Add numBytes to the currently calculated file size.
virtual void | doApply (const nvsg::NodeSharedPtr &root)
Override of the traversal initiating interface.
virtual void | handleParallelCamera (const nvsg::ParallelCamera *camera)
Save a ParallelCamera.
virtual void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *camera)
Save a PerspectiveCamera.
virtual void | handleMatrixCamera (const nvsg::MatrixCamera *camera)
Save a MatrixCamera.
virtual void | handleBillboard (const nvsg::Billboard *billboard)
Save a Billboard.
virtual void | handleGeoNode (const nvsg::GeoNode *gnode)
Save a GeoNode.
virtual void | handleGroup (const nvsg::Group *group)
Save a Group.
virtual void | handleFlipbookAnimation (const nvsg::FlipbookAnimation *anim)
Save a FlipbookAnimation.
virtual void | handleTransform (const nvsg::Transform *trafo)
Save a Transform.
virtual void | handleAnimatedTransform (const nvsg::AnimatedTransform *trafo)
Save a AnimatedTransform.
virtual void | handleLOD (const nvsg::LOD *lod)
Save a LOD.
virtual void | handleSwitch (const nvsg::Switch *swtch)
Save a Switch.
virtual void | handleDirectedLight (const nvsg::DirectedLight *light)
Save a DirectedLight.
virtual void | handlePointLight (const nvsg::PointLight *light)
Save a PointLight.
virtual void | handleSpotLight (const nvsg::SpotLight *light)
Save a SpotLight.
virtual void | handleStateSet (const nvsg::StateSet *stateSet)
Save a StateSet.
virtual void | handleStateVariant (const nvsg::StateVariant *variant)
Save a StateVariant.
virtual void | handleStatePass (const nvsg::StatePass *pass)
Save a StatePass.
virtual void | handleAlphaTestAttribute (const nvsg::AlphaTestAttribute *alphaTestAttrib)
Save an AlphaTestAttribute.
virtual void | handleBlendAttribute (const nvsg::BlendAttribute *blendAttrib)
Save a BlendAttribute.
virtual void | handleCgFx (const nvsg::CgFx *cgfx)
Save a CgFx.
virtual void | handleRTFx (const nvsg::RTFx *rtfx)
Save an RTFx.
virtual void | handleRTFxProgram (const nvsg::RTFxProgram *rtfxProgram)
Save an RTFxProgram.
virtual void | handleRTFxSceneAttribute (const nvsg::RTFxSceneAttribute *rtfx)
Save an RTFxSceneAttribute.
virtual void | handleRTBufferAttribute (const nvsg::RTBufferAttribute *rtba)
Save an RTBufferAttribute.
virtual void | handleDepthAttribute (const nvsg::DepthAttribute *depthAttrib)
Save a DepthAttribute.
virtual void | handleStencilAttribute (const nvsg::StencilAttribute *stencilAttrib)
Save a StencilAttribute.
virtual void | handleFaceAttribute (const nvsg::FaceAttribute *faceAttrib)
Save a FaceAttribute.
virtual void | handleLightingAttribute (const nvsg::LightingAttribute *lightingAttrib)
Save a LightingAttribute.
virtual void | handleLineAttribute (const nvsg::LineAttribute *lineAttrib)
Save a LineAttribute.
virtual void | handleMaterial (const nvsg::Material *material)
Save a Material.
virtual void | handlePointAttribute (const nvsg::PointAttribute *pointAttrib)
Save a PointAttribute.
virtual void | handleTextureAttribute (const nvsg::TextureAttribute *texAttrib)
Save a TextureAttribute.
virtual void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *texAttribItem)
Save a TextureAttributeItem.
virtual void | handleTriangles (const nvsg::Triangles *triangles)
Save a Triangles.
virtual void | handleTriFans (const nvsg::TriFans *fans)
Save a TriFans.
virtual void | handleTriPatches (const nvsg::TriPatches *p)
Save a TriPatches.
virtual void | handleTriPatches4 (const nvsg::TriPatches4 *p)
Save a TriPatches4.
virtual void | handleTriStrips (const nvsg::TriStrips *strips)
Save a TriStrips.
virtual void | handleQuadMeshes (const nvsg::QuadMeshes *meshes)
Save a QuadMeshes.
virtual void | handleQuads (const nvsg::Quads *quads)
Save a Quads.
virtual void | handleQuadStrips (const nvsg::QuadStrips *strips)
Save a QuadStrips.
virtual void | handleLines (const nvsg::Lines *lines)
Save a Lines.
virtual void | handleLineStrips (const nvsg::LineStrips *strips)
Save a LineStrips.
virtual void | handlePoints (const nvsg::Points *points)
Save a Points.
virtual void | handlePrimitive (const nvsg::Primitive *prim)
Save a Primitive.
virtual void | handleRectPatches (const nvsg::RectPatches *p)
Save a RectPatches.
virtual void | handleQuadPatches (const nvsg::QuadPatches *p)
Save a QuadPatches.
virtual void | handleQuadPatches4x4 (const nvsg::QuadPatches4x4 *p)
Save a QuadPatches4x4.
virtual void | handleVertexAttributeSet (const nvsg::VertexAttributeSet *vas)
Save a VertexAttributeSet.
virtual void | handleAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *avas)
Save an AnimatedVertexAttributeSet.
virtual void | handleSkin (const nvsg::Skin *skin)
Save a Skin.
virtual void | handleFramedIndexAnimationDescription (const nvsg::FramedAnimationDescription< unsigned int > *trafo)
Save a FramedAnimationDescription<unsigned int>.
virtual void | handleFramedTrafoAnimationDescription (const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo)
Save a FramedAnimationDescription<Trafo>.
virtual void | handleFramedVertexAttributeAnimationDescription (const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Save a FramedAnimationDescription<VertexAttribute>.
virtual void | handleLinearInterpolatedTrafoAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo)
Save a LinearInterpolatedAnimationDescription<Trafo>.
virtual void | handleLinearInterpolatedVertexAttributeAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Save a LinearInterpolatedAnimationDescription<VertexAttribute>.
virtual void | handleUnlitColorAttribute (const nvsg::UnlitColorAttribute *unlitColor)
Save an UnlitColorAttribute.
virtual void | handleIndexAnimation (const nvsg::Animation< unsigned int > *anim)
Handle function for an Animation of indices.
virtual void | handleTrafoAnimation (const nvsg::Animation< nvmath::Trafo > *anim)
Handle function for an Animation of Trafos.
virtual void | handleVertexAttributeAnimation (const nvsg::Animation< nvsg::VertexAttribute > *anim)
Handle function for an Animation of VertexAttributes.

Classes

struct | CallbackLink
struct | Mapping
class | Offset_AutoPtr
An auxiliary helper template class which provides exception safe mapping and unmapping of file offsets.

Detailed Description

A Traverser to traverse a scene on saving to "NBF" binary file format.

Remarks:
For each Object in the tree, the handle<Object> function is called twice from the NBFSaver framework. The first time it is called to calculate storage requirements, and the second time it is called to store the specified object to a file.
The implementation calls calculatingStorageRequirements to determine whether the storage requirement calculation is active or not. During storage requirement calculation no file mapping is available, and therefore no file offsets may be allocated. Within this calculation pass, the implementation uses pseudoAlloc instead of alloc. pseudoAlloc simply adds up the number of bytes required for the corresponding NBF structure and attached data The implementation uses alloc in the second pass to map the required amount of memory from the file mapping maintained by the NBFSaver. alloc returns a pointer to the file offset which is then used to write the corresponding NBF data to the file.

Constructor & Destructor Documentation

NBFSaveTraverser ( )

Default constructor.

Member Function Documentation

bool preCalculateFileSize ( const nvsg::SceneSharedPtr & scene )

Calculate the expected file size.

Parameters:
scene The Scene to use in file size calculation.
Returns:
true if the file size is less than 4G, and thus can be saved. Otherwise false.
Remarks:
In this function the complete scene is traversed once to determine the required file size. As NBF is a 32bit file format, only files up to 4G can be saved.

void setFileName ( const std::string & fileName ) [inline]

Set the file name to save the scene in.

Parameters:
fileName The name of the file to save in.

void setPlugInCallback ( const nvutil::PlugInCallback * pic ) [inline]

Set the PlugInCallback used for warnings and error messages.

Parameters:
pic A pointer to the PlugInCallback object to use.
Remarks:
The PlugInCallback has a number of functions that are called in case an error or warning is to be reported while saving.

bool getSuccess ( ) const [inline]

Get the success state of the latest saving operation.

Returns:
true if the latest saving was successful, otherwise false.

std::string getErrorMessage ( ) const [inline]

Get the error message if the latest saving operation was not successful.

Returns:
The string containing the last error.

bool calculatingStorageRequirements ( ) const [inline, protected]

Determine whether the current traverser pass is calculating storage requirements.

Returns:
true if the current pass is to calculate storage requirements, false if the current pass is to write the scene to a file that has been mapped into the process' address space by the framework.
Remarks:
While saving a scene, the scene graph will be traversed twice. The first pass is to calculate storage requirements. The second pass writes the scene data to a file that has been mapped into the process' address space by the framework.
Handler routines should call this function to determine what the current pass is intended for.
See also:
pseudoAlloc

uint_t alloc | ( | void *& | offsetPtr,
 |  | unsigned int | numBytes
 | ) | [protected]

Allocate a portion of the currently mapped file into the process' address space.

Parameters:
offsetPtr | A reference to the pointer to get the address of the mapped memory block.
numBytes | The number of bytes to be mapped into the process' address space.
Returns:
The file offset of the mapped memory block
Remarks:
The function maps the amount of numBytes bytes of the currently mapped file into the process' address space. The start address of the mapped memory block will be assigned to ptr.
Note:
The behavior is undefined if called while the current traverser pass is calculating storage requirements.
See also:
calculatingStorageRequirements, dealloc

void dealloc ( void * offsetPtr ) [protected]

Deallocate a portion of memory that is currently mapped to a file.

Parameters:
offsetPtr A mapped memory address, previously allocated with alloc.
Note:
: The memory, which is part of a potentially larger file mapping, actually won't be freed until that file mapping is unused (unreferenced).
See also:
alloc

uint_t pseudoAlloc ( unsigned int numBytes ) [protected]

Add numBytes to the currently calculated file size.

Parameters:
numBytes The number of bytes to add to the currently calculated file size.
Returns:
This function always returns zero.
Remarks:
The function does not allocate anything, it just adds numBytes to the currently calculated file size.
See also:
calculatingStorageRequirements

virtual void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the traversal initiating interface.

Parameters:
root The Node to use as the root of the save operation.
Remarks:
The framework calls this method to perform the file save operation. If a Scene and ViewState have been provided, they are locked before this function is called.

Reimplemented from SharedTraverser.

virtual void handleParallelCamera ( const nvsg::ParallelCamera * camera ) [protected, virtual]

Save a ParallelCamera.

Parameters:
camera A pointer to the read-locked ParallelCamera to save.
See also:
calculatingStorageRequirements, pseudoAlloc, handleMatrixCamera, handleParallelCamera

Reimplemented from SharedTraverser.

virtual void handlePerspectiveCamera ( const nvsg::PerspectiveCamera * camera ) [protected, virtual]

Save a PerspectiveCamera.

Parameters:
camera A pointer to the read-locked PerspectiveCamera to save.
See also:
calculatingStorageRequirements, pseudoAlloc, handleMatrixCamera, handlePerspectiveCamera

Reimplemented from SharedTraverser.

virtual void handleMatrixCamera ( const nvsg::MatrixCamera * camera ) [protected, virtual]

Save a MatrixCamera.

Parameters:
camera A pointer to the read-locked MatrixCamera to save.
See also:
calculatingStorageRequirements, pseudoAlloc, handleParallelCamera, handlePerspectiveCamera

Reimplemented from SharedTraverser.

virtual void handleBillboard ( const nvsg::Billboard * billboard ) [protected, virtual]

Save a Billboard.

Parameters:
billboard A pointer to the read-locked Billboard to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleGeoNode ( const nvsg::GeoNode * gnode ) [protected, virtual]

Save a GeoNode.

Parameters:
gnode A pointer to the read-locked GeoNode to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleGroup ( const nvsg::Group * group ) [protected, virtual]

Save a Group.

Parameters:
group A pointer to the read-locked Group to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleFlipbookAnimation ( const nvsg::FlipbookAnimation * anim ) [protected, virtual]

Save a FlipbookAnimation.

Parameters:
anim A pointer to the read-locked FlipbookAnimation to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleTransform ( const nvsg::Transform * trafo ) [protected, virtual]

Save a Transform.

Parameters:
trafo A pointer to the read-locked Transform to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleAnimatedTransform ( const nvsg::AnimatedTransform * trafo ) [protected, virtual]

Save a AnimatedTransform.

Parameters:
trafo A pointer to the read-locked AnimatedTransform to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLOD ( const nvsg::LOD * lod ) [protected, virtual]

Save a LOD.

Parameters:
lod A pointer to the read-locked LOD to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleSwitch ( const nvsg::Switch * swtch ) [protected, virtual]

Save a Switch.

Parameters:
swtch A pointer to the read-locked Switch to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleDirectedLight ( const nvsg::DirectedLight * light ) [protected, virtual]

Save a DirectedLight.

Parameters:
light A pointer to the read-locked DirectedLight to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handlePointLight ( const nvsg::PointLight * light ) [protected, virtual]

Save a PointLight.

Parameters:
light A pointer to the read-locked PointLight to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleSpotLight ( const nvsg::SpotLight * light ) [protected, virtual]

Save a SpotLight.

Parameters:
light A pointer to the read-locked SpotLight to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleStateSet ( const nvsg::StateSet * stateSet ) [protected, virtual]

Save a StateSet.

Parameters:
stateSet A pointer to the read-locked StateSet to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleStateVariant ( const nvsg::StateVariant * variant ) [protected, virtual]

Save a StateVariant.

Parameters:
variant A pointer to the read-locked StateVariant to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleStatePass ( const nvsg::StatePass * pass ) [protected, virtual]

Save a StatePass.

Parameters:
pass A pointer to the read-locked StatePass to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleAlphaTestAttribute ( const nvsg::AlphaTestAttribute * alphaTestAttrib ) [protected, virtual]

Save an AlphaTestAttribute.

Parameters:
alphaTestAttrib A pointer to the read-locked AlphaTestAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleBlendAttribute ( const nvsg::BlendAttribute * blendAttrib ) [protected, virtual]

Save a BlendAttribute.

Parameters:
blendAttrib A pointer to the read-locked BlendAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleCgFx ( const nvsg::CgFx * cgfx ) [protected, virtual]

Save a CgFx.

Parameters:
cgfx A pointer to the read-locked CgFx to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleRTFx ( const nvsg::RTFx * rtfx ) [protected, virtual]

Save an RTFx.

Parameters:
rtfx A pointer to the read-locked RTFx to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleRTFxProgram ( const nvsg::RTFxProgram * rtfxProgram ) [protected, virtual]

Save an RTFxProgram.

Parameters:
rtfxProgram A pointer to the read-locked RTFxProgram to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleRTFxSceneAttribute ( const nvsg::RTFxSceneAttribute * rtfx ) [protected, virtual]

Save an RTFxSceneAttribute.

Parameters:
rtfx A pointer to the read-locked RTFxSceneAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleRTBufferAttribute ( const nvsg::RTBufferAttribute * rtba ) [protected, virtual]

Save an RTBufferAttribute.

Parameters:
rtba A pointer to the read-locked RTBufferAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleDepthAttribute ( const nvsg::DepthAttribute * depthAttrib ) [protected, virtual]

Save a DepthAttribute.

Parameters:
depthAttrib A pointer to the read-locked DepthAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleStencilAttribute ( const nvsg::StencilAttribute * stencilAttrib ) [protected, virtual]

Save a StencilAttribute.

Parameters:
stencilAttrib A pointer to the read-locked StencilAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleFaceAttribute ( const nvsg::FaceAttribute * faceAttrib ) [protected, virtual]

Save a FaceAttribute.

Parameters:
faceAttrib A pointer to the read-locked FaceAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLightingAttribute ( const nvsg::LightingAttribute * lightingAttrib ) [protected, virtual]

Save a LightingAttribute.

Parameters:
lightingAttrib A pointer to the read-locked LightingAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLineAttribute ( const nvsg::LineAttribute * lineAttrib ) [protected, virtual]

Save a LineAttribute.

Parameters:
lineAttrib A pointer to the read-locked LineAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleMaterial ( const nvsg::Material * material ) [protected, virtual]

Save a Material.

Parameters:
material A pointer to the read-locked Material to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handlePointAttribute ( const nvsg::PointAttribute * pointAttrib ) [protected, virtual]

Save a PointAttribute.

Parameters:
pointAttrib A pointer to the read-locked PointAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleTextureAttribute ( const nvsg::TextureAttribute * texAttrib ) [protected, virtual]

Save a TextureAttribute.

Parameters:
texAttrib A pointer to the read-locked TextureAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Save a TextureAttributeItem.

Parameters:
texAttribItem A pointer to the read-locked TextureAttributeItem to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleTriangles ( const nvsg::Triangles * triangles ) [protected, virtual]

Save a Triangles.

Parameters:
triangles A pointer to the read-locked Triangles to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleTriFans ( const nvsg::TriFans * fans ) [protected, virtual]

Save a TriFans.

Parameters:
fans A pointer to the read-locked TriFans to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleTriPatches ( const nvsg::TriPatches * p ) [protected, virtual]

Save a TriPatches.

If the TriPatches p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriPatches4 ( const nvsg::TriPatches4 * p ) [protected, virtual]

Save a TriPatches4.

If the TriPatches4 p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriStrips ( const nvsg::TriStrips * strips ) [protected, virtual]

Save a TriStrips.

Parameters:
strips A pointer to the read-locked TriStrips to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleQuadMeshes ( const nvsg::QuadMeshes * meshes ) [protected, virtual]

Save a QuadMeshes.

Parameters:
meshes A pointer to the read-locked QuadMeshes to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleQuads ( const nvsg::Quads * quads ) [protected, virtual]

Save a Quads.

Parameters:
quads A pointer to the read-locked Quads to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleQuadStrips ( const nvsg::QuadStrips * strips ) [protected, virtual]

Save a QuadStrips.

Parameters:
strips A pointer to the read-locked QuadStrips to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLines ( const nvsg::Lines * lines ) [protected, virtual]

Save a Lines.

Parameters:
lines A pointer to the read-locked Lines to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLineStrips ( const nvsg::LineStrips * strips ) [protected, virtual]

Save a LineStrips.

Parameters:
strips A pointer to the read-locked LineStrips to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handlePoints ( const nvsg::Points * points ) [protected, virtual]

Save a Points.

Parameters:
points A pointer to the read-locked Points to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handlePrimitive ( const nvsg::Primitive * prim ) [protected, virtual]

Save a Primitive.

Parameters:
prim A pointer to the read-locked Primitive to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleRectPatches ( const nvsg::RectPatches * p ) [protected, virtual]

Save a RectPatches.

If the RectPatches p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuadPatches ( const nvsg::QuadPatches * p ) [protected, virtual]

Save a QuadPatches.

If the QuadPatches p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuadPatches4x4 ( const nvsg::QuadPatches4x4 * p ) [protected, virtual]

Save a QuadPatches4x4.

If the QuadPatches4x4 p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleVertexAttributeSet ( const nvsg::VertexAttributeSet * vas ) [protected, virtual]

Save a VertexAttributeSet.

Parameters:
vas A pointer to the read-locked VertexAttributeSet to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleAnimatedVertexAttributeSet ( const nvsg::AnimatedVertexAttributeSet * avas ) [protected, virtual]

Save an AnimatedVertexAttributeSet.

Parameters:
avas A pointer to the read-locked AnimatedVertexAttributeSet to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleSkin ( const nvsg::Skin * skin ) [protected, virtual]

Save a Skin.

Parameters:
skin A pointer to the read-locked Skin to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleFramedIndexAnimationDescription ( const nvsg::FramedAnimationDescription< unsigned int > * trafo ) [protected, virtual]

Save a FramedAnimationDescription<unsigned int>.

Parameters:
trafo A pointer to the read-locked FramedAnimationDescription<unsigned int> to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleFramedTrafoAnimationDescription ( const nvsg::FramedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Save a FramedAnimationDescription<Trafo>.

Parameters:
trafo A pointer to the read-locked FramedAnimationDescription<Trafo> to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleFramedVertexAttributeAnimationDescription ( const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Save a FramedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the read-locked FramedAnimationDescription<VertexAttribute> to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLinearInterpolatedTrafoAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Save a LinearInterpolatedAnimationDescription<Trafo>.

Parameters:
trafo A pointer to the read-locked LinearInterpolatedAnimationDescription<Trafo> to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleLinearInterpolatedVertexAttributeAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Save a LinearInterpolatedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the read-locked LinearInterpolatedAnimationDescription<VertexAttribute> to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleUnlitColorAttribute ( const nvsg::UnlitColorAttribute * unlitColor ) [protected, virtual]

Save an UnlitColorAttribute.

Parameters:
unlitColor A pointer to the read-locked UnlitColorAttribute to save.
See also:
calculatingStorageRequirements, pseudoAlloc

Reimplemented from SharedTraverser.

virtual void handleIndexAnimation ( const nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Handle function for an Animation of indices.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of indices is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual void handleTrafoAnimation ( const nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Handle function for an Animation of Trafos.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of Trafos is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual void handleVertexAttributeAnimation ( const nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Handle function for an Animation of VertexAttributes.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of VertexAttributes is encountered on traversal. Then Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

The documentation for this class was generated from the following file:
  • NBFSaver.h
Generated on Fri Jul 13 13:29:02 2012 for SceniX


SceniX: Member List

NBFSaveTraverser Member List

This is the complete list of members for NBFSaveTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
alloc(void *&offsetPtr, unsigned int numBytes) | NBFSaveTraverser | [protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
calculatingStorageRequirements() const | NBFSaveTraverser | [inline, protected]
dealloc(void *offsetPtr) | NBFSaveTraverser | [protected]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | NBFSaveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getErrorMessage() const | NBFSaveTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getSuccess() const | NBFSaveTraverser | [inline]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | NBFSaveTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *trafo) | NBFSaveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | NBFSaveTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *billboard) | NBFSaveTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *blendAttrib) | NBFSaveTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *cgfx) | NBFSaveTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *depthAttrib) | NBFSaveTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *light) | NBFSaveTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *faceAttrib) | NBFSaveTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *anim) | NBFSaveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *trafo) | NBFSaveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | NBFSaveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | NBFSaveTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *gnode) | NBFSaveTraverser | [protected, virtual]
handleGroup(const nvsg::Group *group) | NBFSaveTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | NBFSaveTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *lightingAttrib) | NBFSaveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | NBFSaveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | NBFSaveTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *lineAttrib) | NBFSaveTraverser | [protected, virtual]
handleLines(const nvsg::Lines *lines) | NBFSaveTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *strips) | NBFSaveTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *lod) | NBFSaveTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *material) | NBFSaveTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *camera) | NBFSaveTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *camera) | NBFSaveTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *camera) | NBFSaveTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *pointAttrib) | NBFSaveTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *light) | NBFSaveTraverser | [protected, virtual]
handlePoints(const nvsg::Points *points) | NBFSaveTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *prim) | NBFSaveTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *meshes) | NBFSaveTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *p) | NBFSaveTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p) | NBFSaveTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *quads) | NBFSaveTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *strips) | NBFSaveTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *p) | NBFSaveTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | NBFSaveTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *rtfx) | NBFSaveTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *rtfxProgram) | NBFSaveTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfx) | NBFSaveTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SharedTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *skin) | NBFSaveTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *light) | NBFSaveTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *pass) | NBFSaveTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *stateSet) | NBFSaveTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *variant) | NBFSaveTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | NBFSaveTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *swtch) | NBFSaveTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *texAttrib) | NBFSaveTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | NBFSaveTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | NBFSaveTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *trafo) | NBFSaveTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *triangles) | NBFSaveTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *fans) | NBFSaveTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *p) | NBFSaveTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *p) | NBFSaveTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *strips) | NBFSaveTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | NBFSaveTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | NBFSaveTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | NBFSaveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
NBFSaveTraverser() | NBFSaveTraverser |
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preCalculateFileSize(const nvsg::SceneSharedPtr &scene) | NBFSaveTraverser |
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
pseudoAlloc(unsigned int numBytes) | NBFSaveTraverser | [protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setFileName(const std::string &fileName) | NBFSaveTraverser | [inline]
setPlugInCallback(const nvutil::PlugInCallback *pic) | NBFSaveTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:29:02 2012 for SceniX


SceniX: NBFScene Struct Reference

NBFScene Struct Reference

The NBFScene structure represents a scene in the context of computer graphics. More...

#include <NBF.h>

List of all members.

Public Attributes

float3_t ambientColor
Specifies the global ambient color to be used for rendering.
float4_t backColor
Specifies the scene's RGBA background color used with rendering.
uint_t backImg
Specifies the file offset to the back image object.
uint_t numCameras
Specifies the number of the scene's NBFCamera objects.
uint_t cameras
Specifies the file offset to the offsets of the scene's NBFCamera objects.
uint_t numCameraAnimations
Specifies the number of the scene's NBFTrafoAnimation objects (camera animations).
uint_t cameraAnimations
Specifies the offset to the offsets of the scene's NBFTrafoAnimation objects (camera animations).
uint_t numberOfAnimationFrames
For animated scenes, this specifies the number of animation frames.
uint_t root
Specifies the file offset to the scene's root node, which always is of a NBFNode derived type.
uint_t numObjectLinks
Specifies the number of objects links in the scene.
uint_t objectLinks
Specifies the file offset to the scenes's object links.
uint_t numAttributes
Specifies the number of attributes in the scene.
uint_t attributes
Specifies the file offset to the scenes's attributes.

Detailed Description

The NBFScene structure represents a scene in the context of computer graphics.

A valid NBF file always contains one - and only one - NBFScene object. The file offset to this NBFScene object is specified within the NBFHeader structure.

Member Data Documentation

float3_t ambientColor

Specifies the global ambient color to be used for rendering.

float4_t backColor

Specifies the scene's RGBA background color used with rendering.

uint_t backImg

Specifies the file offset to the back image object.

uint_t numCameras

Specifies the number of the scene's NBFCamera objects.

uint_t cameras

Specifies the file offset to the offsets of the scene's NBFCamera objects.

uint_t numCameraAnimations

Specifies the number of the scene's NBFTrafoAnimation objects (camera animations).

uint_t cameraAnimations

Specifies the offset to the offsets of the scene's NBFTrafoAnimation objects (camera animations).

uint_t numberOfAnimationFrames

For animated scenes, this specifies the number of animation frames.

uint_t root

Specifies the file offset to the scene's root node, which always is of a NBFNode derived type.

uint_t numObjectLinks

Specifies the number of objects links in the scene.

uint_t objectLinks

Specifies the file offset to the scenes's object links.

uint_t numAttributes

Specifies the number of attributes in the scene.

uint_t attributes

Specifies the file offset to the scenes's attributes.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:02 2012 for SceniX


SceniX: Member List

NBFScene Member List

This is the complete list of members for NBFScene, including all inherited members.

ambientColor | NBFScene
attributes | NBFScene
backColor | NBFScene
backImg | NBFScene
cameraAnimations | NBFScene
cameras | NBFScene
numAttributes | NBFScene
numberOfAnimationFrames | NBFScene
numCameraAnimations | NBFScene
numCameras | NBFScene
numObjectLinks | NBFScene
objectLinks | NBFScene
root | NBFScene

Generated on Fri Jul 13 13:29:02 2012 for SceniX


SceniX: NBFSkin Struct Reference

NBFSkin Struct Reference

The NBFSkin structure represents a set of skin information for a vertex attribute. More...

#include <NBF.h>

Inheritance diagram for NBFSkin:

[legend]
Collaboration diagram for NBFSkin:

[legend]
List of all members.

Public Attributes

float44_t bindShapeMatrix
Specifies the bindShapeMatrix.
uint_t numCounts
Specifies the number of influences (counts).
uint_t counts
Specifies the file offset to the indices/weights per vertex.
uint_t indices
Specifies the file offset to the indices.
uint_t weights
Specifies the file offset to the weights.
ubyte_t skinningType [16]
Specifies the skinning type for each vertex attribute.
uint_t numJoints
Specifies the number of joints.
uint_t inverseBindMatrices
Specifies the file offset to the inverseBindMatrices.
uint_t joints
Specifies the file offset to the joints.
uint_t bindPose
Specifies the file offset to the bind pose vertex attribute set.

Detailed Description

The NBFSkin structure represents a set of skin information for a vertex attribute.

Remarks:
An NBFSkin derives from NBFObject, and holds the bindShapeMatrix, the number of influences (numCounts), the number of indices/weights per influence (counts), the indices into the array of joints and the corresponding weights, the skinning types for each vertex attribute, the number of joints, and the offsets to the inverseBindMatrices and the joints.

Member Data Documentation

float44_t bindShapeMatrix

Specifies the bindShapeMatrix.

uint_t numCounts

Specifies the number of influences (counts).

uint_t counts

Specifies the file offset to the indices/weights per vertex.

uint_t indices

Specifies the file offset to the indices.

uint_t weights

Specifies the file offset to the weights.

ubyte_t skinningType[16]

Specifies the skinning type for each vertex attribute.

uint_t numJoints

Specifies the number of joints.

uint_t inverseBindMatrices

Specifies the file offset to the inverseBindMatrices.

uint_t joints

Specifies the file offset to the joints.

uint_t bindPose

Specifies the file offset to the bind pose vertex attribute set.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:02 2012 for SceniX


SceniX: Member List

NBFSkin Member List

This is the complete list of members for NBFSkin, including all inherited members.

bindPose | NBFSkin
bindShapeMatrix | NBFSkin
counts | NBFSkin
hints | NBFObject
indices | NBFSkin
inverseBindMatrices | NBFSkin
isShared | NBFObject
joints | NBFSkin
numCounts | NBFSkin
numJoints | NBFSkin
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
skinningType | NBFSkin
sourceObject | NBFObject
weights | NBFSkin

Generated on Fri Jul 13 13:29:02 2012 for SceniX


SceniX: NBFSkinnedTriangles Struct Reference

NBFSkinnedTriangles Struct Reference

The NBFSkinnedTriangles structure represents skin animated triangles. More...

#include <NBF.h>

Inheritance diagram for NBFSkinnedTriangles:

[legend]
Collaboration diagram for NBFSkinnedTriangles:

[legend]
List of all members.

Public Attributes

uint_t numSkins
Specifies the number of contained skins.
uint_t skins
Specifies the file offset to the corresponding skin_t objects.

Detailed Description

The NBFSkinnedTriangles structure represents skin animated triangles.

A NBFSkinnedTriangles is a concrete topology class derived from NBFIndependentPrimitiveSet. The object code for a NBFSkinnedTriangles is NBF_SKINNED_TRIANGLES.

Member Data Documentation

uint_t numSkins

Specifies the number of contained skins.

uint_t skins

Specifies the file offset to the corresponding skin_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: Member List

NBFSkinnedTriangles Member List

This is the complete list of members for NBFSkinnedTriangles, including all inherited members.

hints | NBFObject
indices | NBFIndependentPrimitiveSet
isShared | NBFObject
numIndices | NBFIndependentPrimitiveSet
numSkins | NBFSkinnedTriangles
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
skin | NBFPrimitiveSet
skins | NBFSkinnedTriangles
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitiveSet

Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: NBFSpotLight Struct Reference

NBFSpotLight Struct Reference

#include <NBF.h>

Inheritance diagram for NBFSpotLight:

[legend]
Collaboration diagram for NBFSpotLight:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFSpotLight is a multiple of 8, regardless of packing.

Public Attributes

float3_t position
Specifies the position of the light source.
float3_t direction
Specifies the direction of the light source.
float3_t attenuation
float | cutoffAngle
float | falloffExponent
Controls the intensity distribution inside the cone, the light is mitted to.

Detailed Description

The object code for a NBFSpotLight is NBF_SPOT_LIGHT.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFSpotLight is a multiple of 8, regardless of packing.

Member Data Documentation

float3_t position

Specifies the position of the light source.

float3_t direction

Specifies the direction of the light source.

float3_t attenuation

Specifies the attenuation factors of the spot light. The x-component of the vector specifies the constant term of the attenuation, the y-component of the vector specifies the linear term of the attenuation, and the z-component of the vector specifies the quadratic term of the attenuation.

float cutoffAngle

Specifies the angle between the axis of the cone, the light is emitted to, and a ray along the edge of the cone.

float falloffExponent

Controls the intensity distribution inside the cone, the light is mitted to.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: Member List

NBFSpotLight Member List

This is the complete list of members for NBFSpotLight, including all inherited members.

ambientColor | NBFLightSource
animation | NBFLightSource
attenuation | NBFSpotLight
castShadow | NBFLightSource
cutoffAngle | NBFSpotLight
diffuseColor | NBFLightSource
direction | NBFSpotLight
enabled | NBFLightSource
falloffExponent | NBFSpotLight
hints | NBFObject
intensity | NBFLightSource
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFSpotLight
NBFLightSource::PADDING(2) | NBFLightSource
NBFObject::PADDING(3) | NBFObject
position | NBFSpotLight
sourceObject | NBFObject
specularColor | NBFLightSource

Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: NBFStateAttribute Struct Reference

NBFStateAttribute Struct Reference

The NBFStateAttribute structure represents a state attribute. More...

#include <NBF.h>

Inheritance diagram for NBFStateAttribute:

[legend]
Collaboration diagram for NBFStateAttribute:

[legend]
List of all members.

Detailed Description

The NBFStateAttribute structure represents a state attribute.

A NBFStateAttribute serves a base class only. Concrete object codes valid for a NBFStateAttribute are NBF_BLEND_ATTRIBUTE, NBF_CGFX, NBF_RTFX, NBF_MATERIAL, NBF_FACE_ATTRIBUTE, and NBF_TEXTURE_ATTRIBUTE.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: Member List

NBFStateAttribute Member List

This is the complete list of members for NBFStateAttribute, including all inherited members.

hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: NBFStatePass Struct Reference

NBFStatePass Struct Reference

The NBFStatePass structure represents a set of heterogeneous NBFStateAttributes. More...

#include <NBF.h>

Inheritance diagram for NBFStatePass:

[legend]
Collaboration diagram for NBFStatePass:

[legend]
List of all members.

Public Attributes

uint_t numStateAttribs
Specifies the number of contained state attributes.
uint_t stateAttribs
Specifies the file offset to the offsets to the NBFStateAttribute objects.

Detailed Description

The NBFStatePass structure represents a set of heterogeneous NBFStateAttributes.

The object code for a NBFStatePass is NBF_STATE_PASS.

Member Data Documentation

uint_t numStateAttribs

Specifies the number of contained state attributes.

uint_t stateAttribs

Specifies the file offset to the offsets to the NBFStateAttribute objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: Member List

NBFStatePass Member List

This is the complete list of members for NBFStatePass, including all inherited members.

hints | NBFObject
isShared | NBFObject
numStateAttribs | NBFStatePass
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject
stateAttribs | NBFStatePass

Generated on Fri Jul 13 13:29:03 2012 for SceniX


SceniX: NBFStateSet Struct Reference

NBFStateSet Struct Reference

The NBFStateSet structure represents a set of pairs of VariantKeys and StateVariants. More...

#include <NBF.h>

Inheritance diagram for NBFStateSet:

[legend]
Collaboration diagram for NBFStateSet:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFStateSet is a multiple of 8, regardless of packing.

Public Attributes

uint_t activeKey
Specifies the currently active VariantKey.
uint_t numStateVariants
Specifies the number of contained pairs of VariantKey and StateVariant.
uint_t keyStateVariantPairs
Specifies the file offset to the offsets to the keyVariant_t objects.

Detailed Description

The NBFStateSet structure represents a set of pairs of VariantKeys and StateVariants.

The object code for a NBFStateSet is NBF_STATE_SET.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFStateSet is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t activeKey

Specifies the currently active VariantKey.

uint_t numStateVariants

Specifies the number of contained pairs of VariantKey and StateVariant.

uint_t keyStateVariantPairs

Specifies the file offset to the offsets to the keyVariant_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: Member List

NBFStateSet Member List

This is the complete list of members for NBFStateSet, including all inherited members.

activeKey | NBFStateSet
hints | NBFObject
isShared | NBFObject
keyStateVariantPairs | NBFStateSet
numStateVariants | NBFStateSet
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFStateSet
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: NBFStateVariant Struct Reference

NBFStateVariant Struct Reference

The NBFStateVariant structure represents a set of StatePasses. More...

#include <NBF.h>

Inheritance diagram for NBFStateVariant:

[legend]
Collaboration diagram for NBFStateVariant:

[legend]
List of all members.

Public Attributes

uint_t numStatePasses
Specifies the number of contained state passes.
uint_t statePasses
Specifies the file offset to the offsets to the NBFStatePass objects.

Detailed Description

The NBFStateVariant structure represents a set of StatePasses.

The object code for a NBFStateVariant is NBF_STATE_VARIANT.

Member Data Documentation

uint_t numStatePasses

Specifies the number of contained state passes.

uint_t statePasses

Specifies the file offset to the offsets to the NBFStatePass objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: Member List

NBFStateVariant Member List

This is the complete list of members for NBFStateVariant, including all inherited members.

hints | NBFObject
isShared | NBFObject
numStatePasses | NBFStateVariant
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject
statePasses | NBFStateVariant

Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: NBFStencilAttribute Struct Reference

NBFStencilAttribute Struct Reference

The NBFStencilAttribute structure represents a stencil attribute. More...

#include <NBF.h>

Inheritance diagram for NBFStencilAttribute:

[legend]
Collaboration diagram for NBFStencilAttribute:

[legend]
List of all members.

Public Member Functions

PADDING (2)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.
PADDING (4)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Public Attributes

ubyte_t testing
Specifies whether to test or not.
ubyte_t separate
Specifies whether two-sided variant or front values are used.
uint_t writeMaskFront
Specifies the write mask for the front faces.
uint_t failFront
Specifies the stencil test fail operation for the front faces.
uint_t zfailFront
Specifies the depth test fail operation for the front faces.
uint_t zpassFront
Specifies the depth test pass operation for the front faces.
uint_t funcFront
Specifies the stencil function for the front faces.
int_t refValueFront
Specifies the reference value for the front faces.
uint_t valMaskFront
Specifies the value mask for the front faces.
uint_t writeMaskBack
Specifies the write mask for the back faces.
uint_t failBack
Specifies the stencil test fail operation for the back faces.
uint_t zfailBack
Specifies the depth test fail operation for the back faces.
uint_t zpassBack
Specifies the depth test pass operation for the back faces.
uint_t funcBack
Specifies the stencil function for the back faces.
int_t refValueBack
Specifies the reference value for the back faces.
uint_t valMaskBack
Specifies the value mask for the back faces.

Detailed Description

The NBFStencilAttribute structure represents a stencil attribute.

Remarks:
The object code for a NBFStencilAttribute is NBF_STENCIL_ATTRIBUTE.

Member Function Documentation

PADDING ( 2 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

PADDING ( 4 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Member Data Documentation

ubyte_t testing

Specifies whether to test or not.

ubyte_t separate

Specifies whether two-sided variant or front values are used.

uint_t writeMaskFront

Specifies the write mask for the front faces.

uint_t failFront

Specifies the stencil test fail operation for the front faces.

uint_t zfailFront

Specifies the depth test fail operation for the front faces.

uint_t zpassFront

Specifies the depth test pass operation for the front faces.

uint_t funcFront

Specifies the stencil function for the front faces.

int_t refValueFront

Specifies the reference value for the front faces.

uint_t valMaskFront

Specifies the value mask for the front faces.

uint_t writeMaskBack

Specifies the write mask for the back faces.

uint_t failBack

Specifies the stencil test fail operation for the back faces.

uint_t zfailBack

Specifies the depth test fail operation for the back faces.

uint_t zpassBack

Specifies the depth test pass operation for the back faces.

uint_t funcBack

Specifies the stencil function for the back faces.

int_t refValueBack

Specifies the reference value for the back faces.

uint_t valMaskBack

Specifies the value mask for the back faces.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: Member List

NBFStencilAttribute Member List

This is the complete list of members for NBFStencilAttribute, including all inherited members.

failBack | NBFStencilAttribute
failFront | NBFStencilAttribute
funcBack | NBFStencilAttribute
funcFront | NBFStencilAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(2) | NBFStencilAttribute
PADDING(4) | NBFStencilAttribute
NBFStateAttribute::PADDING(3) | NBFObject
refValueBack | NBFStencilAttribute
refValueFront | NBFStencilAttribute
separate | NBFStencilAttribute
sourceObject | NBFObject
testing | NBFStencilAttribute
valMaskBack | NBFStencilAttribute
valMaskFront | NBFStencilAttribute
writeMaskBack | NBFStencilAttribute
writeMaskFront | NBFStencilAttribute
zfailBack | NBFStencilAttribute
zfailFront | NBFStencilAttribute
zpassBack | NBFStencilAttribute
zpassFront | NBFStencilAttribute

Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: NBFStrippedPrimitiveSet Struct Reference

NBFStrippedPrimitiveSet Struct Reference

The NBFStrippedPrimitiveSet structure represents a strip set. More...

#include <NBF.h>

Inheritance diagram for NBFStrippedPrimitiveSet:

[legend]
Collaboration diagram for NBFStrippedPrimitiveSet:

[legend]
List of all members.

Public Attributes

uint_t numStrips
Specifies the number of strips.
uint_t strips

Detailed Description

The NBFStrippedPrimitiveSet structure represents a strip set.

A NBFStrippedPrimitiveSet is an abstract topology class derived from NBFPrimitiveSet. Valid object codes for a NBFStrippedPrimitiveSet are NBF_TRIFANS, NBF_TRISTRIPS, and NBF_QUADSTRIPS.

Member Data Documentation

uint_t numStrips

Specifies the number of strips.

uint_t strips

Specifies the file offset to the strips. Strips are stored as indexList_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: Member List

NBFStrippedPrimitiveSet Member List

This is the complete list of members for NBFStrippedPrimitiveSet, including all inherited members.

hints | NBFObject
isShared | NBFObject
numStrips | NBFStrippedPrimitiveSet
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
skin | NBFPrimitiveSet
sourceObject | NBFObject
strips | NBFStrippedPrimitiveSet
vertexAttributeSet | NBFPrimitiveSet

Generated on Fri Jul 13 13:29:04 2012 for SceniX


SceniX: NBFSwitch Struct Reference

NBFSwitch Struct Reference

The NBFSwitch structure represents a switch group node. More...

#include <NBF.h>

Inheritance diagram for NBFSwitch:

[legend]
Collaboration diagram for NBFSwitch:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFSwitch is a multiple of 8, regardless of packing.

Public Attributes

uint_t activeMaskKey
Specifies the key of the active mask.
uint_t numMasks
Specifies the number of masks stored at offset masks.
uint_t masks
Specifies the file offset to the masks stored as switchMask_t objects.

Detailed Description

The NBFSwitch structure represents a switch group node.

The object code for a NBFSwitch is NBF_SWITCH.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFSwitch is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t activeMaskKey

Specifies the key of the active mask.

uint_t numMasks

Specifies the number of masks stored at offset masks.

uint_t masks

Specifies the file offset to the masks stored as switchMask_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: Member List

NBFSwitch Member List

This is the complete list of members for NBFSwitch, including all inherited members.

activeMaskKey | NBFSwitch
annotation | NBFNode
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
masks | NBFSwitch
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
numMasks | NBFSwitch
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFSwitch
NBFGroup::PADDING(6) | NBFNode
NBFGroup::PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: NBFTextureAttribute Struct Reference

NBFTextureAttribute Struct Reference

The NBFTextureAttribute structure represents a texture attribute. More...

#include <NBF.h>

Inheritance diagram for NBFTextureAttribute:

[legend]
Collaboration diagram for NBFTextureAttribute:

[legend]
List of all members.

Public Attributes

uint_t numBindings
Specifies the number of contained texture bindings.
uint_t bindings

Detailed Description

The NBFTextureAttribute structure represents a texture attribute.

The object code for a NBFTextureAttribute is NBF_TEXTURE_ATTRIBUTE.

Member Data Documentation

uint_t numBindings

Specifies the number of contained texture bindings.

uint_t bindings

Specifies the file offset to the texture bindings. Texture bindings in the NBF format are stored as texBinding_t objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: Member List

NBFTextureAttribute Member List

This is the complete list of members for NBFTextureAttribute, including all inherited members.

bindings | NBFTextureAttribute
hints | NBFObject
isShared | NBFObject
numBindings | NBFTextureAttribute
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: NBFTextureAttributeItem Struct Reference

NBFTextureAttributeItem Struct Reference

The NBFTextureAttributeItem structure represents a single texture object. More...

#include <NBF.h>

Inheritance diagram for NBFTextureAttributeItem:

[legend]
Collaboration diagram for NBFTextureAttributeItem:

[legend]
List of all members.

Public Attributes

uint_t texImg
Specifies the file offset to the texture image object.
float4_t texEnvColor
Specifies the texture environment color.
uint_t texEnvMode
uint_t texEnvScale
Specifies the texture environment scale used with rasterization.
uint_t texWrapS
Specifies the wrap parameter for texture coordinate s.
uint_t texWrapT
Specifies the wrap parameter for texture coordinate t.
uint_t texWrapR
Specifies the wrap parameter for texture coordinate r.
uint_t minFilter
uint_t magFilter
float4_t texBorderColor
Specifies the texture border RGBA color.
trafo_t trafo
Specifies the texture transformation.
uint_t | texGenMode [4]
Specifies the texture coordinate generation modes.
float4_t | texGenPlane [2][4]
Specifies the texture coordinate generation planes.
float | maxAnisotropy
Maximum Anisotropy value.

Detailed Description

The NBFTextureAttributeItem structure represents a single texture object.

The object code for a NBFTextureAttributeItem is NBF_TEXTURE_ATTRIBUTE_ITEM. A NBFTextureAttributeItem needs to be consider in conjunction with a NBFTextureAttribute, which specifies the binding of texture objects.

Member Data Documentation

uint_t texImg

Specifies the file offset to the texture image object.

float4_t texEnvColor

Specifies the texture environment color.

uint_t texEnvMode

Specifies the texture environment mode for the actual texture object. Valid modes are TEM_REPLACE, TEM_MODULATE, TEM_DECAL, TEM_BLEND, and TEM_ADD.

uint_t texEnvScale

Specifies the texture environment scale used with rasterization.

uint_t texWrapS

Specifies the wrap parameter for texture coordinate s.

uint_t texWrapT

Specifies the wrap parameter for texture coordinate t.

uint_t texWrapR

Specifies the wrap parameter for texture coordinate r.

uint_t minFilter

Specifies the filter used with minimizing. Valid values are TFM_MIN_NEAREST, TFM_MIN_LINEAR, TFM_MIN_LINEAR_MIPMAP_LINEAR, TFM_MIN_NEAREST_MIPMAP_NEAREST, TFM_MIN_NEAREST_MIPMAP_LINEAR, TFM_MIN_LINEAR_MIPMAP_NEAREST.

uint_t magFilter

Specifies the filter used with magnifying. Valid values are TFM_MAG_NEAREST, and TFM_MAG_LINEAR.

float4_t texBorderColor

Specifies the texture border RGBA color.

trafo_t trafo

Specifies the texture transformation.

uint_t texGenMode[4]

Specifies the texture coordinate generation modes.

float4_t texGenPlane[2][4]

Specifies the texture coordinate generation planes.

float maxAnisotropy

Maximum Anisotropy value.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: Member List

NBFTextureAttributeItem Member List

This is the complete list of members for NBFTextureAttributeItem, including all inherited members.

hints | NBFObject
isShared | NBFObject
magFilter | NBFTextureAttributeItem
maxAnisotropy | NBFTextureAttributeItem
minFilter | NBFTextureAttributeItem
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject
texBorderColor | NBFTextureAttributeItem
texEnvColor | NBFTextureAttributeItem
texEnvMode | NBFTextureAttributeItem
texEnvScale | NBFTextureAttributeItem
texGenMode | NBFTextureAttributeItem
texGenPlane | NBFTextureAttributeItem
texImg | NBFTextureAttributeItem
texWrapR | NBFTextureAttributeItem
texWrapS | NBFTextureAttributeItem
texWrapT | NBFTextureAttributeItem
trafo | NBFTextureAttributeItem

Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: NBFTrafoAnimation Struct Reference

NBFTrafoAnimation Struct Reference

The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFTrafoAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFTrafoAnimation is a multiple of 8, regardless of packing.

Public Attributes

uint_t trafos

Detailed Description

The NBFTrafoAnimation represents an animation that will be applied to trafo_t objects.

A NBFTrafoAnimation serves as base class only and needs to be considered in conjunction with either NBFFramedAnimationDescription or NBFKeyFramedAnimationDescription.
Valid object codes for a NBFTrafoAnimation are NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION, and NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION. Further concrete object codes valid for NBFTrafoAnimation objects are subject to future extensions of the NBF format.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFTrafoAnimation is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t trafos

Specifies the file offset to the trafo_t objects the animation will be applied to. The actual number of trafo_t objects is specified by the corresponding animation type, which is either NBFFramedAnimationDescription or NBFKeyFramedAnimationDescription.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: Member List

NBFTrafoAnimation Member List

This is the complete list of members for NBFTrafoAnimation, including all inherited members.

PADDING(4) | NBFTrafoAnimation
trafos | NBFTrafoAnimation

Generated on Fri Jul 13 13:29:05 2012 for SceniX


SceniX: NBFTransform Struct Reference

NBFTransform Struct Reference

The NBFTransform structure represents a transform group node. More...

#include <NBF.h>

Inheritance diagram for NBFTransform:

[legend]
Collaboration diagram for NBFTransform:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFTransform is a multiple of 8, regardless of packing.

Public Attributes

trafo_t trafo
Specifies the transformation of the NBFTransform.

Detailed Description

The NBFTransform structure represents a transform group node.

The object code for a NBFTransform is NBF_TRANSFORM.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFTransform is a multiple of 8, regardless of packing.

Reimplemented in NBFAnimatedTransform.

Member Data Documentation

trafo_t trafo

Specifies the transformation of the NBFTransform.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: Member List

NBFTransform Member List

This is the complete list of members for NBFTransform, including all inherited members.

annotation | NBFNode
children | NBFGroup
clipPlanes | NBFGroup
hints | NBFObject
isShared | NBFObject
lightSources | NBFGroup
numChildren | NBFGroup
numClipPlanes | NBFGroup
numLightSource | NBFGroup
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFTransform
NBFGroup::PADDING(6) | NBFNode
NBFGroup::PADDING(2) | NBFNode
NBFObject::PADDING(3) | NBFObject
sourceObject | NBFObject
trafo | NBFTransform

Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: NBFTriPatches Struct Reference

NBFTriPatches Struct Reference

The NBFRectPatches structure represents a general triangular patches object. More...

#include <NBF.h>

Inheritance diagram for NBFTriPatches:

[legend]
Collaboration diagram for NBFTriPatches:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Public Attributes

uint_t size
Specifies the size of the patches. Each patch is specified by 1+2+...+size vertices.

Detailed Description

The NBFRectPatches structure represents a general triangular patches object.

Remarks:
The object code for a NBFRectPatches is NBF_TRI_PATCHES.

Member Function Documentation

PADDING ( 4 )

Padding bits ensure offset of next elements is on a 4-byte boundary, regardless of packing.

Member Data Documentation

uint_t size

Specifies the size of the patches. Each patch is specified by 1+2+...+size vertices.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: NBFTriPatches4 Struct Reference

NBFTriPatches4 Struct Reference

The NBFTriPatches4 structure represents a 4-vertices-per-edge triangular patches object. More...

#include <NBF.h>

Inheritance diagram for NBFTriPatches4:

[legend]
Collaboration diagram for NBFTriPatches4:

[legend]
List of all members.

Detailed Description

The NBFTriPatches4 structure represents a 4-vertices-per-edge triangular patches object.

Remarks:
The object code for a NBFTriPatches4 is NBF_TRI_PATCHES_4.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: Member List

NBFTriPatches4 Member List

This is the complete list of members for NBFTriPatches4, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive

Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: NBFUnlitColorAttribute Struct Reference

NBFUnlitColorAttribute Struct Reference

The NBFUnlitColorAttribute structure represents the color for unlit objects. More...

#include <NBF.h>

Inheritance diagram for NBFUnlitColorAttribute:

[legend]
Collaboration diagram for NBFUnlitColorAttribute:

[legend]
List of all members.

Public Attributes

float4_t color
Specifies the color for unlit objects.

Detailed Description

The NBFUnlitColorAttribute structure represents the color for unlit objects.

Remarks:
The object code for a NBFUnlitColorAttribute is NBF_UNLIT_COLOR_ATTRIBUTE.

Member Data Documentation

float4_t color

Specifies the color for unlit objects.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: Member List

NBFUnlitColorAttribute Member List

This is the complete list of members for NBFUnlitColorAttribute, including all inherited members.

color | NBFUnlitColorAttribute
hints | NBFObject
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject

Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: NBFVertexAttributeAnimation Struct Reference

NBFVertexAttributeAnimation Struct Reference

The NBFVertexAttributeAnimation represents an animation that will be applied to vertexAttrib_t objects. More...

#include <NBF.h>

Inheritance diagram for NBFVertexAttributeAnimation:

[legend]
List of all members.

Public Member Functions

PADDING (4)
Padding bits to ensure the size of NBFVertexAttributeAnimation is a multiple of 8, regardless of packing.

Public Attributes

uint_t attribs

Detailed Description

The NBFVertexAttributeAnimation represents an animation that will be applied to vertexAttrib_t objects.

A NBFVertexAttributeAnimation serves as base class only and needs to be considered in conjunction with either NBFFramedAnimationDescription or NBFKeyFramedAnimationDescription.
Valid object codes for a NBFVertexAttributeAnimation are NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION, and NBF_LINEAR_INTERPOLATED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION. Further concrete object codes valid for NBFVertexAttributeAnimation objects are subject to future extensions of the NBF format.

Member Function Documentation

PADDING ( 4 )

Padding bits to ensure the size of NBFVertexAttributeAnimation is a multiple of 8, regardless of packing.

Member Data Documentation

uint_t attribs

Specifies the file offset to the vertexAttrib_t objects the animation will be applied to. The actual number of vertexAttrib_t objects is specified by the corresponding animation type, which is either NBFFramedAnimationDescription or NBFKeyFramedAnimationDescription.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Member List

NBFVertexAttributeAnimation Member List

This is the complete list of members for NBFVertexAttributeAnimation, including all inherited members.

attribs | NBFVertexAttributeAnimation
PADDING(4) | NBFVertexAttributeAnimation

Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: NBFVertexAttributeSet Struct Reference

NBFVertexAttributeSet Struct Reference

The NBFVertexAttributeSet structure represents a set of vertex attributes. More...

#include <NBF.h>

Inheritance diagram for NBFVertexAttributeSet:

[legend]
Collaboration diagram for NBFVertexAttributeSet:

[legend]
List of all members.

Public Attributes

uint_t enableFlags
Specifies which of the 16 vertex attributes is enabled.
uint_t normalizeEnableFlags
Specifies for which of the 16 vertex attributes normalization is enabled.
vertexAttrib_t vattribs [16]
Specifies the 16 vertex attributes.

Detailed Description

The NBFVertexAttributeSet structure represents a set of vertex attributes.

A NBFVertexAttributeSet maintains a full set of geometry data (vertex attributes) that is used by all topology classes.

Member Data Documentation

uint_t enableFlags

Specifies which of the 16 vertex attributes is enabled.

uint_t normalizeEnableFlags

Specifies for which of the 16 vertex attributes normalization is enabled.

vertexAttrib_t vattribs[16]

Specifies the 16 vertex attributes.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Member List

NBFVertexAttributeSet Member List

This is the complete list of members for NBFVertexAttributeSet, including all inherited members.

enableFlags | NBFVertexAttributeSet
hints | NBFObject
isShared | NBFObject
normalizeEnableFlags | NBFVertexAttributeSet
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(3) | NBFObject
sourceObject | NBFObject
vattribs | NBFVertexAttributeSet

Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: NBFViewState Struct Reference

NBFViewState Struct Reference

The NBFViewState represents an optional view state used to render the scene. More...

#include <NBF.h>

List of all members.

Public Member Functions

PADDING (1)
Padding bits to ensure offset of next member is on a 4-byte boundary, regardless of packing.
PADDING (20)
discontinuing support for jitter

Public Attributes

uint_t objectCode
Specifies the object code of the actual object. The object code is unique per object type!
uint_t camera
Specifies the offset to the NBFCamera object to be used for viewing.
ubyte_t isStereo
Indicates whether the view is in stereo mode.
ubyte_t isStereoAutomatic
Indicates whether eye distance is automatically adjusted in stereo mode.
ubyte_t isAutoClipPlanes
Indicates if automatic generation of clipping planes is enabled.
float | stereoAutomaticFactor
Specifies the automatic eye distance adjustment factor in stereo mode.
float | stereoEyeDistance
Specifies the stereo eye distance used if the view is in stereo mode.
float | targetDistance
Specifies the target distance to the projection plane.

Detailed Description

The NBFViewState represents an optional view state used to render the scene.

The file offset to an optional NBFViewState object is specified within the NBFHeader structure.

Member Function Documentation

PADDING ( 1 )

Padding bits to ensure offset of next member is on a 4-byte boundary, regardless of packing.

PADDING ( 20 )

discontinuing support for jitter

Member Data Documentation

uint_t objectCode

Specifies the object code of the actual object. The object code is unique per object type!

uint_t camera

Specifies the offset to the NBFCamera object to be used for viewing.

ubyte_t isStereo

Indicates whether the view is in stereo mode.

ubyte_t isStereoAutomatic

Indicates whether eye distance is automatically adjusted in stereo mode.

ubyte_t isAutoClipPlanes

Indicates if automatic generation of clipping planes is enabled.

float stereoAutomaticFactor

Specifies the automatic eye distance adjustment factor in stereo mode.

float stereoEyeDistance

Specifies the stereo eye distance used if the view is in stereo mode.

float targetDistance

Specifies the target distance to the projection plane.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Member List

NBFViewState Member List

This is the complete list of members for NBFViewState, including all inherited members.

camera | NBFViewState
isAutoClipPlanes | NBFViewState
isStereo | NBFViewState
isStereoAutomatic | NBFViewState
objectCode | NBFViewState
PADDING(1) | NBFViewState
PADDING(20) | NBFViewState
stereoAutomaticFactor | NBFViewState
stereoEyeDistance | NBFViewState
targetDistance | NBFViewState

Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Node Class Reference

nvsg::Node

Node Class Reference

Serves as base class for all tree nodes. More...

#include <Node.h>

Inheritance diagram for Node:

[legend]
Collaboration diagram for Node:

[legend]
List of all members.

Public Member Functions

NVSG_API | Node ()
Default-constructs a Node.
NVSG_API | Node (const Node &rhs)
Constructs a Node as a copy of another Node.
virtual NVSG_API | ~Node ()
Destructs a Node.
NVSG_API size_t | getNumberOfParents () const
Returns the number of parent Group nodes for this Node.
REFLECTION_INFO_API (NVSG_API, Node)

Protected Member Functions

virtual NVSG_API const nvmath::Box3f & | getBoundingBox (bool recalculate) const
virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (bool recalculate) const
virtual NVSG_API void | incrementHintsIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryHintsIncarnation () const
virtual NVSG_API void | incrementIndexSetIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryIndexSetIncarnation () const
virtual NVSG_API void | incrementMaterialIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryMaterialIncarnation () const
virtual NVSG_API void | incrementPrimitiveIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryPrimitiveIncarnation () const
virtual NVSG_API void | incrementVertexAttributeSetIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryVertexAttributeSetIncarnation () const
NVSG_API Node & | operator= (const Node &rhs)
Assigns new content from another Node.

Detailed Description

Serves as base class for all tree nodes.

Namespace: nvsg

Constructor & Destructor Documentation

NVSG_API Node ( )

Default-constructs a Node.

NVSG_API Node ( const Node & rhs )

Constructs a Node as a copy of another Node.

virtual NVSG_API ~Node ( ) [virtual]

Destructs a Node.

Member Function Documentation

size_t getNumberOfParents ( ) const [inline]

Returns the number of parent Group nodes for this Node.

Returns:
The actual number of Group nodes that have this Node as child node.

NVSG_API Node& operator= ( const Node & rhs ) [protected]

Assigns new content from another Node.

Parameters:
rhs Reference to a Node from which to assign the new content.
Returns:
A reference to this object.
Remarks:
The assignment operator unreferences the old content before assigning the new content. The new content will be a deep-copy of the content of right-hand-sided object.

The documentation for this class was generated from the following file:
  • Node.h
Generated on Fri Jul 13 13:30:10 2012 for SceniX


SceniX: Member List

Node Member List

This is the complete list of members for Node, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]

Generated on Fri Jul 13 13:30:10 2012 for SceniX


SceniX: NormalizeTraverser Class Reference

nvtraverser::NormalizeTraverser

NormalizeTraverser Class Reference

Traverser that normalizes all normals. More...

#include <NormalizeTraverser.h>

Inheritance diagram for NormalizeTraverser:

[legend]
Collaboration diagram for NormalizeTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | NormalizeTraverser (void)
Constructor.
NVSG_API unsigned int | getVertexAttributeIndex () const
Get the index of the VertexAttributeSet that is to be normalized.
NVSG_API void | setVertexAttributeIndex (unsigned int attrib)
Set the index of the VertexAttributeSet that is to be normalized.
REFLECTION_INFO_API (NVSG_API, NormalizeTraverser)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (VertexAttributeIndex)

Protected Member Functions

virtual NVSG_API | ~NormalizeTraverser (void)
Protected destructor to prevent instantiation of a NormalizeTraverser on stack.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Initiate traversal of the scene.
virtual NVSG_API void | handleVertexAttributeSet (nvsg::VertexAttributeSet *p)
Normalize VertexAttributeSets.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (nvsg::AnimatedVertexAttributeSet *p)
Normalize AnimatedVertexAttributeSet.
virtual NVSG_API void | handleFramedVertexAttributeAnimationDescription (nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Normalize FramedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | handleLinearInterpolatedVertexAttributeAnimationDescription (nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Normalize LinearInterpolatedAnimationDescription<VertexAttribute>.

Detailed Description

Traverser that normalizes all normals.

Constructor & Destructor Documentation

NVSG_API NormalizeTraverser ( void )

Constructor.

virtual NVSG_API ~NormalizeTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a NormalizeTraverser on stack.

Member Function Documentation

unsigned int getVertexAttributeIndex ( ) const [inline]

Get the index of the VertexAttributeSet that is to be normalized.

The default index for normalizing is NORMAL.

void setVertexAttributeIndex ( unsigned int attrib ) [inline]

Set the index of the VertexAttributeSet that is to be normalized.

The default index for normalizing is NORMAL.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Initiate traversal of the scene.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleVertexAttributeSet ( nvsg::VertexAttributeSet * p ) [protected, virtual]

Normalize VertexAttributeSets.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( nvsg::AnimatedVertexAttributeSet * p ) [protected, virtual]

Normalize AnimatedVertexAttributeSet.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleFramedVertexAttributeAnimationDescription ( nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Normalize FramedAnimationDescription<VertexAttribute>.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLinearInterpolatedVertexAttributeAnimationDescription ( nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Normalize LinearInterpolatedAnimationDescription<VertexAttribute>.

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • NormalizeTraverser.h
Generated on Fri Jul 13 13:30:45 2012 for SceniX


SceniX: Member List

NormalizeTraverser Member List

This is the complete list of members for NormalizeTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DECLARE_STATIC_PROPERTY(VertexAttributeIndex) (defined in NormalizeTraverser) | NormalizeTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | NormalizeTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
getVertexAttributeIndex() const | NormalizeTraverser | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *p) | NormalizeTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | NormalizeTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | NormalizeTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *p) | NormalizeTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
NormalizeTraverser(void) | NormalizeTraverser |
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, NormalizeTraverser) (defined in NormalizeTraverser) | NormalizeTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setVertexAttributeIndex(unsigned int attrib) | NormalizeTraverser | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~NormalizeTraverser(void) | NormalizeTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:45 2012 for SceniX


SceniX: NullNormalsResult Class Reference

nvtraverser::NullNormalsResult

NullNormalsResult Class Reference

AnalyzeResult indicating a VertexAttributeSet with null normals. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for NullNormalsResult:

[legend]
Collaboration diagram for NullNormalsResult:

[legend]
List of all members.

Public Member Functions

virtual | ~NullNormalsResult ()
Virtual Destructor.

Public Attributes

unsigned int | nullNormalsCount
The number of objects with null normals.
unsigned int | nullNormalsNumber
The number of null normals in those objects.

Detailed Description

AnalyzeResult indicating a VertexAttributeSet with null normals.

Namespace: nvsg
Remarks:
Reports if there is a VertexAttributeSet with null normals.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~NullNormalsResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int nullNormalsCount

The number of objects with null normals.

unsigned int nullNormalsNumber

The number of null normals in those objects.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: Member List

NullNormalsResult Member List

This is the complete list of members for NullNormalsResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
nullNormalsCount | NullNormalsResult |
nullNormalsNumber | NullNormalsResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~NullNormalsResult() | NullNormalsResult | [inline, virtual]

Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: NVSGException Class Reference

nvsg::NVSGException

NVSGException Class Reference

#include <ErrorHandling.h>

List of all members.

Public Member Functions

NVSGException (bool critical, const std::string &errMsg)
NVSGException (bool critical, unsigned int errMsgID)
virtual bool | isCritical () const
virtual const std::string & | getErrorMessage () const

Detailed Description

Exception base class. Derive from this class if you intend to provide more specific exceptions.

Constructor & Destructor Documentation

NVSGException | ( | bool | critical,
 |  | const std::string & | errMsg
 | ) | [inline]

Constructs a NVSGExeption object

Parameters

  • critical Assigns whether this will be treated as a critical or noncritical exception.
  • errMsg The related error message to be displayed with subsequent error handling.

NVSGException | ( | bool | critical,
 |  | unsigned int | errMsgID
 | ) | [inline]

Constructs a NVSGExeption object

Parameters

  • critical Assigns whether this will be treated as a critical or noncritical exception.
  • errMsgID Identifies a string resource whithin a string table that holds the related error message to be displayed with subsequent error handling.

Note This is not implemented yet. Use the NVSGException(bool, const string&) variant instead.

Member Function Documentation

bool isCritical ( ) const [inline, virtual]

Tests whether this exception is critical to the execution of subsequent code. For example, an error handler routine can query the critical status of an exception, and then decide to either throw the exception (if it is critical) or pop up a message box and then resume execution.

Return value true if this is a critical exception and execution of subsequent code is not possible; false if this exception is noncritical.

const std::string & getErrorMessage ( ) const [inline, virtual]

Receive the exception's error message.

Return value A reference to a const string object holding the exception's error message.

The documentation for this class was generated from the following file:
  • ErrorHandling.h
Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: Member List

NVSGException Member List

This is the complete list of members for NVSGException, including all inherited members.

getErrorMessage() const | NVSGException | [inline, virtual]
isCritical() const | NVSGException | [inline, virtual]
NVSGException(bool critical, const std::string &errMsg) | NVSGException | [inline]
NVSGException(bool critical, unsigned int errMsgID) | NVSGException | [inline]
~NVSGException() (defined in NVSGException) | NVSGException | [inline, virtual]

Generated on Fri Jul 13 13:29:58 2012 for SceniX


SceniX: NVSGLight Struct Reference

NVSGLight Struct Reference

The NVSGLight structure specifies the data layout for an effect light parameter. More...

List of all members.

Public Attributes

float4 | ambient
Specifies the ambient RGBA intensity of the light.
float4 | diffuse
Specifies the diffuse RGBA intensity of the light.
float4 | specular
Specifies the specular RGBA intensity of the light.
float4 | position
Specifies the light position in world coordinates.
float4 | direction
Specifies the light direction in world coordinates.
float | spotExponent
Specifies the intensity distribution of the light.
float | spotCutoff
Specifies the maximum spread angle of the light.
float | constantAttenuation
Specifies the constant light attenuation factor.
float | linearAttenuation
Specifies the linear light attenuation factor.
float | quadraticAttenuation
Specifies the quadratic light attenuation factor.

Detailed Description

The NVSGLight structure specifies the data layout for an effect light parameter.

A parameter of type NVSGLight will be automatic bound to a tree light in NVSG.

Member Data Documentation

float4 ambient

Specifies the ambient RGBA intensity of the light.

float4 diffuse

Specifies the diffuse RGBA intensity of the light.

float4 specular

Specifies the specular RGBA intensity of the light.

float4 position

Specifies the light position in world coordinates.

float4 direction

Specifies the light direction in world coordinates.

float spotExponent

Specifies the intensity distribution of the light.

float spotCutoff

Specifies the maximum spread angle of the light.

float constantAttenuation

Specifies the constant light attenuation factor.

float linearAttenuation

Specifies the linear light attenuation factor.

float quadraticAttenuation

Specifies the quadratic light attenuation factor.

The documentation for this struct was generated from the following file:
  • NVSGLight.cg
Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Member List

NVSGLight Member List

This is the complete list of members for NVSGLight, including all inherited members.

ambient | NVSGLight
constantAttenuation | NVSGLight
diffuse | NVSGLight
direction | NVSGLight
linearAttenuation | NVSGLight
position | NVSGLight
quadraticAttenuation | NVSGLight
specular | NVSGLight
spotCutoff | NVSGLight
spotExponent | NVSGLight

Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: NVSGLoader Class Reference

NVSGLoader Class Reference

A Scene Loader for nvsg files. More...

#include <NVSGLoader.h>

Inheritance diagram for NVSGLoader:

[legend]
Collaboration diagram for NVSGLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.
nvsg::SceneSharedPtr | load (const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState)
Realization of the pure virtual interface function of a SceneLoader.

Detailed Description

A Scene Loader for nvsg files.

NVSG files can be produced with the sample SceniX Viewer. They are text files that represent a Scene and a ViewState.

Member Function Documentation

void deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

nvsg::SceneSharedPtr load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | nvsg::ViewStateSharedPtr & | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvsg file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • NVSGLoader.h
Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Member List

NVSGLoader Member List

This is the complete list of members for NVSGLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | NVSGLoader | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState) | NVSGLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, ViewStateSharedPtr &viewState)=0 | SceneLoader | [pure virtual]
markUnshareable() | RCObject | [inline]
NVSGLoader() (defined in NVSGLoader) | NVSGLoader |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~NVSGLoader() (defined in NVSGLoader) | NVSGLoader |
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneLoader() | SceneLoader | [protected, virtual]

Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: NVSGMaterial Struct Reference

NVSGMaterial Struct Reference

The NVSGMaterial structure specifies the data layout for an effect material parameter. More...

List of all members.

Public Attributes

float4 | ambient
Specifies the ambient RGBA reflectance of the material.
float4 | diffuse
Specifies the diffuse RGBA reflectance of the material.
float4 | specular
Specifies the specular RGBA reflectance of the material.
float4 | emission
Specifies the RGBA emitted light intensity of the material.
float | shininess
Specifies the RGBA specular exponent of the material.

Detailed Description

The NVSGMaterial structure specifies the data layout for an effect material parameter.

A parameter of type NVSGMaterial will be automatic bound to a NVSG material.

Member Data Documentation

float4 ambient

Specifies the ambient RGBA reflectance of the material.

float4 diffuse

Specifies the diffuse RGBA reflectance of the material.

float4 specular

Specifies the specular RGBA reflectance of the material.

float4 emission

Specifies the RGBA emitted light intensity of the material.

float shininess

Specifies the RGBA specular exponent of the material.

The documentation for this struct was generated from the following file:
  • NVSGMaterial.cg
Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: Member List

NVSGMaterial Member List

This is the complete list of members for NVSGMaterial, including all inherited members.

ambient | NVSGMaterial
diffuse | NVSGMaterial
emission | NVSGMaterial
shininess | NVSGMaterial
specular | NVSGMaterial

Generated on Fri Jul 13 13:29:07 2012 for SceniX


SceniX: NVSGSaver Class Reference

NVSGSaver Class Reference

A Scene Saver for nvsg files. More...

#include <NVSGSaver.h>

Inheritance diagram for NVSGSaver:

[legend]
Collaboration diagram for NVSGSaver:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
PlugIn interface.
bool | save (const nvsg::SceneSharedPtr &scene, const nvsg::ViewStateSharedPtr &viewState, const std::string &filename)
Realization of the pure virtual interface function of a SceneSaver.

Detailed Description

A Scene Saver for nvsg files.

NVSG files can be produced with the sample ViewerVR. They are text files that represent a Scene and a ViewState.

Member Function Documentation

void deleteThis ( void ) [inline, virtual]

PlugIn interface.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

bool save | ( | const nvsg::SceneSharedPtr & | scene,
 |  | const nvsg::ViewStateSharedPtr & | viewState,
 |  | const std::string & | filename
 | ) |

Realization of the pure virtual interface function of a SceneSaver.

Saves the scene and the viewState to filename. The viewState may be NULL.

Parameters:
scene | scene to save
viewState | view state to save
filename | file name to save to

The documentation for this class was generated from the following file:
  • NVSGSaver.h
Generated on Fri Jul 13 13:29:08 2012 for SceniX


SceniX: Member List

NVSGSaver Member List

This is the complete list of members for NVSGSaver, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | NVSGSaver | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
save(const nvsg::SceneSharedPtr &scene, const nvsg::ViewStateSharedPtr &viewState, const std::string &filename) | NVSGSaver |
nvsg::SceneSaver::save(const SceneSharedPtr &scene, const ViewStateSharedPtr &viewState, const std::string &filename)=0 | SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneSaver() | SceneSaver | [protected, virtual]

Generated on Fri Jul 13 13:29:08 2012 for SceniX


SceniX: NVSGSaveTraverser Class Reference

NVSGSaveTraverser Class Reference

A Traverser to traverse a scene on saving to nvsg file format. More...

#include <NVSGSaver.h>

Inheritance diagram for NVSGSaveTraverser:

[legend]
Collaboration diagram for NVSGSaveTraverser:

[legend]
List of all members.

Public Member Functions

NVSGSaveTraverser ()
Default constructor.
void | setFILE (FILE *fh)
Sets the FILE where the scene is to be saved to.

Protected Member Functions

void | doApply (const nvsg::NodeSharedPtr &root)
Controls saving of the scene together with a ViewState.
virtual void | handleParallelCamera (const nvsg::ParallelCamera *p)
Save a ParallelCamera.
virtual void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p)
Save a PerspectiveCamera.
virtual void | handleMatrixCamera (const nvsg::MatrixCamera *p)
Save a MatrixCamera.
virtual void | handleBillboard (const nvsg::Billboard *p)
Save a Billboard.
virtual void | handleGeoNode (const nvsg::GeoNode *p)
Save a GeoNode.
virtual void | handleGroup (const nvsg::Group *p)
Save a Group.
virtual void | handleFlipbookAnimation (const nvsg::FlipbookAnimation *p)
Save a FlipbookAnimation.
virtual void | handleTransform (const nvsg::Transform *p)
Save a Transform.
virtual void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Save an AnimatedTransform.
virtual void | handleLOD (const nvsg::LOD *p)
Save a LOD.
virtual void | handleSwitch (const nvsg::Switch *p)
Save a Switch.
virtual void | handleDirectedLight (const nvsg::DirectedLight *p)
Save a DirectedLight.
virtual void | handlePointLight (const nvsg::PointLight *p)
Save a PointLight.
virtual void | handleSpotLight (const nvsg::SpotLight *p)
Save a SpotLight.
virtual void | handleStateSet (const nvsg::StateSet *p)
Save a StateSet.
virtual void | handleStateVariant (const nvsg::StateVariant *p)
Save a StateVariant.
virtual void | handleStatePass (const nvsg::StatePass *p)
Save a StatePass.
virtual void | handleBlendAttribute (const nvsg::BlendAttribute *p)
Save a BlendAttribute.
virtual void | handleCgFx (const nvsg::CgFx *p)
Save a CgFx.
virtual void | handleRTFx (const nvsg::RTFx *p)
Save a RTFx.
virtual void | handleRTFxProgram (const nvsg::RTFxProgram *p)
virtual void | handleRTBufferAttribute (const nvsg::RTBufferAttribute *p)
Save a RTBufferAttribute.
virtual void | handleDepthAttribute (const nvsg::DepthAttribute *p)
Save a DepthAttribute.
virtual void | handleStencilAttribute (const nvsg::StencilAttribute *p)
Save a StencilAttribute.
virtual void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Save a FaceAttribute.
virtual void | handleLineAttribute (const nvsg::LineAttribute *p)
Save a LineAttribute.
virtual void | handleAlphaTestAttribute (const nvsg::AlphaTestAttribute *p)
Save a AlphaTestAttribute.
virtual void | handleLightingAttribute (const nvsg::LightingAttribute *p)
Save a LightingAttribute.
virtual void | handleMaterial (const nvsg::Material *p)
Save a Material.
virtual void | handlePointAttribute (const nvsg::PointAttribute *p)
Save a PointAttribute.
virtual void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Save a TextureAttribute.
virtual void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *p)
Save a TextureAttributeItem.
virtual void | handleUnlitColorAttribute (const nvsg::UnlitColorAttribute *p)
Save an UnlitColorAttribute.
virtual void | handleTriangles (const nvsg::Triangles *p)
Save a Triangles.
virtual void | handleTriFans (const nvsg::TriFans *p)
Save a TriFans.
virtual void | handleTriPatches (const nvsg::TriPatches *p)
Save a TriPatches.
virtual void | handleTriPatches4 (const nvsg::TriPatches4 *p)
Save a TriPatches4.
virtual void | handleTriStrips (const nvsg::TriStrips *p)
Save a TriStrips.
virtual void | handleQuadMeshes (const nvsg::QuadMeshes *p)
Save a QuadMeshes.
virtual void | handleQuads (const nvsg::Quads *p)
Save a Quads.
virtual void | handleQuadStrips (const nvsg::QuadStrips *p)
Save a QuadStrips.
virtual void | handleLines (const nvsg::Lines *p)
Save a Lines.
virtual void | handleLineStrips (const nvsg::LineStrips *p)
Save a LineStrips.
virtual void | handlePoints (const nvsg::Points *p)
Save a Points.
virtual void | handlePrimitive (const nvsg::Primitive *p)
Save a Primitive.
virtual void | handleRectPatches (const nvsg::RectPatches *p)
Save a RectPatches.
virtual void | handleQuadPatches (const nvsg::QuadPatches *p)
Save a QuadPatches.
virtual void | handleQuadPatches4x4 (const nvsg::QuadPatches4x4 *p)
Save a QuadPatches4x4.
virtual void | handleVertexAttributeSet (const nvsg::VertexAttributeSet *p)
Save a VertexAttributeSet.
virtual void | handleAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *p)
Save an AnimatedVertexAttributeSet.
virtual void | handleSkin (const nvsg::Skin *p)
Save a Skin.
virtual void | handleIndexAnimation (const nvsg::Animation< unsigned int > *anim)
Handle function for an Animation of indices.
virtual void | handleTrafoAnimation (const nvsg::Animation< nvmath::Trafo > *anim)
Handle function for an Animation of Trafos.
virtual void | handleVertexAttributeAnimation (const nvsg::Animation< nvsg::VertexAttribute > *anim)
Handle function for an Animation of VertexAttributes.
virtual void | handleFramedIndexAnimationDescription (const nvsg::FramedAnimationDescription< unsigned int > *p)
Save a FramedIndexAnimationDescription.
virtual void | handleFramedTrafoAnimationDescription (const nvsg::FramedAnimationDescription< nvmath::Trafo > *p)
Save a FramedTrafoAnimationDescription.
virtual void | handleFramedVertexAttributeAnimationDescription (const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Save a FramedAnimationDescription<VertexAttribute>.
virtual void | handleLinearInterpolatedTrafoAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *p)
Save a LinearInterpolatedTrafoAnimationDescription.
virtual void | handleLinearInterpolatedVertexAttributeAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Save a LinearInterpolatedAnimationDescription<VertexAttribute>.

Classes

struct | CallbackLink

Detailed Description

A Traverser to traverse a scene on saving to nvsg file format.

Note:
Needs a valid ViewState. Call setViewState prior to apply().

Constructor & Destructor Documentation

NVSGSaveTraverser ( )

Default constructor.

Member Function Documentation

void setFILE ( FILE * fh )

Sets the FILE where the scene is to be saved to.

Parameters:
fh FILE to save to

void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Controls saving of the scene together with a ViewState.

Note:
This version ignores the ViewState and the Tweakables of the CgFx objects.

Reimplemented from SharedTraverser.

virtual void handleParallelCamera ( const nvsg::ParallelCamera * p ) [protected, virtual]

Save a ParallelCamera.

If the ParallelCarmera p is encountered on saving the first time, it is traversed with root and then it's saved.

Reimplemented from SharedTraverser.

virtual void handlePerspectiveCamera ( const nvsg::PerspectiveCamera * p ) [protected, virtual]

Save a PerspectiveCamera.

If the PerspectiveCamera p is encountered on saving the first time, it is traversed with root and then it's saved.

Reimplemented from SharedTraverser.

virtual void handleMatrixCamera ( const nvsg::MatrixCamera * p ) [protected, virtual]

Save a MatrixCamera.

If the MatrixCamera p is encountered on saving the first time, it is traversed with root and then it's saved.

Reimplemented from SharedTraverser.

virtual void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Save a Billboard.

If the Billboard p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Save a GeoNode.

If the GeoNode p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleGroup ( const nvsg::Group * p ) [protected, virtual]

Save a Group.

If the Group p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleFlipbookAnimation ( const nvsg::FlipbookAnimation * p ) [protected, virtual]

Save a FlipbookAnimation.

If the FlipbookAnimation p is encountered on saving the first time, it first is traversed as a Group, then it's associated Animation is traversed, and finally it is saved.

Reimplemented from SharedTraverser.

virtual void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Save a Transform.

If the Transform p is encountered on saving the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Save an AnimatedTransform.

If the AnimatedTransform p is encountered on saving the first time, it first is traversed as a Transform, then it's associated Animation is traversed, and finally it is saved.

Reimplemented from SharedTraverser.

virtual void handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Save a LOD.

If the LOD p is encountered on saving the first time, all it's children are traversed, no matter which might be currently active, then it is saved.

Reimplemented from SharedTraverser.

virtual void handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Save a Switch.

If the Switch p is encountered on saving the first time, all it's children are traversed, no matter which might be currently active, then it is saved.

Reimplemented from SharedTraverser.

virtual void handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Save a DirectedLight.

If the DirectedLight p is encountered on saving the first time, first any associated Animation is traversed, then it is saved.

Reimplemented from SharedTraverser.

virtual void handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Save a PointLight.

If the PointLight p is encountered on saving the first time, first any associated Animation is traversed, then it is saved.

Reimplemented from SharedTraverser.

virtual void handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Save a SpotLight.

If the SpotLight p is encountered on saving the first time, first any associated Animation is traversed, then it is saved.

Reimplemented from SharedTraverser.

virtual void handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Save a StateSet.

If the StateSet p is encountered on saving, it is stored as the current one. Then, if it's the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleStateVariant ( const nvsg::StateVariant * p ) [protected, virtual]

Save a StateVariant.

If the StateVariant p is encountered on saving, it is stored as the current one. Then, if it is the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleStatePass ( const nvsg::StatePass * p ) [protected, virtual]

Save a StatePass.

If the \ StatePass p is encountered on saving, it is stored as the current one. Then, if is is the first time, it is traversed and then saved.

Reimplemented from SharedTraverser.

virtual void handleBlendAttribute ( const nvsg::BlendAttribute * p ) [protected, virtual]

Save a BlendAttribute.

If the BlendAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Save a CgFx.

If the CgFx p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleRTFx ( const nvsg::RTFx * p ) [protected, virtual]

Save a RTFx.

If the RTFx p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleRTBufferAttribute ( const nvsg::RTBufferAttribute * p ) [protected, virtual]

Save a RTBufferAttribute.

If an RTBufferAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleDepthAttribute ( const nvsg::DepthAttribute * p ) [protected, virtual]

Save a DepthAttribute.

If the DepthAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleStencilAttribute ( const nvsg::StencilAttribute * p ) [protected, virtual]

Save a StencilAttribute.

If the StencilAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Save a FaceAttribute.

If the FaceAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleLineAttribute ( const nvsg::LineAttribute * p ) [protected, virtual]

Save a LineAttribute.

If the LineAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleAlphaTestAttribute ( const nvsg::AlphaTestAttribute * p ) [protected, virtual]

Save a AlphaTestAttribute.

If the AlphaTestAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleLightingAttribute ( const nvsg::LightingAttribute * p ) [protected, virtual]

Save a LightingAttribute.

If the LightingAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Save a Material.

If the Material p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handlePointAttribute ( const nvsg::PointAttribute * p ) [protected, virtual]

Save a PointAttribute.

If the PointAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Save a TextureAttribute.

If the TextureAttribute p is encountered on saving the first time, it is traversed and then saved .

Reimplemented from SharedTraverser.

virtual void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * p ) [protected, virtual]

Save a TextureAttributeItem.

If the TextureAttributeItem p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleUnlitColorAttribute ( const nvsg::UnlitColorAttribute * p ) [protected, virtual]

Save an UnlitColorAttribute.

If the UnlitColorAttribute p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Save a Triangles.

If the Triangles p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriFans ( const nvsg::TriFans * p ) [protected, virtual]

Save a TriFans.

If the TriFans p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriPatches ( const nvsg::TriPatches * p ) [protected, virtual]

Save a TriPatches.

If the TriPatches p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriPatches4 ( const nvsg::TriPatches4 * p ) [protected, virtual]

Save a TriPatches4.

If the TriPatches4 p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Save a TriStrips.

If the TriStrips p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuadMeshes ( const nvsg::QuadMeshes * p ) [protected, virtual]

Save a QuadMeshes.

If the QuadMeshes p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Save a Quads.

If the Quads p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Save a QuadStrips.

If the QuadStrips p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleLines ( const nvsg::Lines * p ) [protected, virtual]

Save a Lines.

If the Lines p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleLineStrips ( const nvsg::LineStrips * p ) [protected, virtual]

Save a LineStrips.

If the LineStrips p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handlePoints ( const nvsg::Points * p ) [protected, virtual]

Save a Points.

If the Points p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handlePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Save a Primitive.

If the Primitive p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleRectPatches ( const nvsg::RectPatches * p ) [protected, virtual]

Save a RectPatches.

If the RectPatches p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuadPatches ( const nvsg::QuadPatches * p ) [protected, virtual]

Save a QuadPatches.

If the QuadPatches p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleQuadPatches4x4 ( const nvsg::QuadPatches4x4 * p ) [protected, virtual]

Save a QuadPatches4x4.

If the QuadPatches4x4 p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleVertexAttributeSet ( const nvsg::VertexAttributeSet * p ) [protected, virtual]

Save a VertexAttributeSet.

If the VertexAttributeSet p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleAnimatedVertexAttributeSet ( const nvsg::AnimatedVertexAttributeSet * p ) [protected, virtual]

Save an AnimatedVertexAttributeSet.

If the AnimatedVertexAttributeSet p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleSkin ( const nvsg::Skin * p ) [protected, virtual]

Save a Skin.

If the Skin p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleIndexAnimation ( const nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Handle function for an Animation of indices.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of indices is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual void handleTrafoAnimation ( const nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Handle function for an Animation of Trafos.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of Trafos is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual void handleVertexAttributeAnimation ( const nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Handle function for an Animation of VertexAttributes.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of VertexAttributes is encountered on traversal. Then Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual void handleFramedIndexAnimationDescription ( const nvsg::FramedAnimationDescription< unsigned int > * p ) [protected, virtual]

Save a FramedIndexAnimationDescription.

If the FramedIndexAnimationDescription p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleFramedTrafoAnimationDescription ( const nvsg::FramedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Save a FramedTrafoAnimationDescription.

If the FramedTrafoAnimationDescription p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleFramedVertexAttributeAnimationDescription ( const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Save a FramedAnimationDescription<VertexAttribute>.

If the FramedAnimationDescription<VertexAttribute> p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleLinearInterpolatedTrafoAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Save a LinearInterpolatedTrafoAnimationDescription.

If the LinearInterpolatedTrafoAnimationDescription p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

virtual void handleLinearInterpolatedVertexAttributeAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Save a LinearInterpolatedAnimationDescription<VertexAttribute>.

If the LinearInterpolatedAnimationDescription<VertexAttribute> p is encountered on saving the first time, it is saved.

Reimplemented from SharedTraverser.

The documentation for this class was generated from the following file:
  • NVSGSaver.h
Generated on Fri Jul 13 13:29:08 2012 for SceniX


SceniX: Member List

NVSGSaveTraverser Member List

This is the complete list of members for NVSGSaveTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | NVSGSaveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | NVSGSaveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *p) | NVSGSaveTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | NVSGSaveTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | NVSGSaveTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | NVSGSaveTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *p) | NVSGSaveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *p) | NVSGSaveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *p) | NVSGSaveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | NVSGSaveTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | NVSGSaveTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | NVSGSaveTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | NVSGSaveTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *p) | NVSGSaveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | NVSGSaveTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleLines(const nvsg::Lines *p) | NVSGSaveTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *p) | NVSGSaveTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | NVSGSaveTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | NVSGSaveTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *p) | NVSGSaveTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p) | NVSGSaveTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p) | NVSGSaveTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | NVSGSaveTraverser | [protected, virtual]
handlePoints(const nvsg::Points *p) | NVSGSaveTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *p) | NVSGSaveTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *p) | NVSGSaveTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *p) | NVSGSaveTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p) | NVSGSaveTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | NVSGSaveTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | NVSGSaveTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *p) | NVSGSaveTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *p) | NVSGSaveTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *p) (defined in NVSGSaveTraverser) | NVSGSaveTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SharedTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *p) | NVSGSaveTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | NVSGSaveTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *p) | NVSGSaveTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | NVSGSaveTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *p) | NVSGSaveTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | NVSGSaveTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *p) | NVSGSaveTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | NVSGSaveTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | NVSGSaveTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | NVSGSaveTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *p) | NVSGSaveTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *p) | NVSGSaveTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *p) | NVSGSaveTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | NVSGSaveTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *p) | NVSGSaveTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | NVSGSaveTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *p) | NVSGSaveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSGSaveTraverser() | NVSGSaveTraverser |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setFILE(FILE *fh) | NVSGSaveTraverser |
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:29:08 2012 for SceniX


SceniX: NVSGScene Struct Reference

NVSGScene Struct Reference

The NVSGScene structure specifies some global scene relevant data. More...

List of all members.

Public Attributes

float4 | ambient
Specifies the ambient RGBA intensity of the scene.
int | frameNumber
Number of elapsed frames.

Detailed Description

The NVSGScene structure specifies some global scene relevant data.

A parameter of type NVSGScene will be automatically bound to NVSG scene parameters: global ambient from Scene::ambientColor, and the Scene's current frame number.

Member Data Documentation

float4 ambient

Specifies the ambient RGBA intensity of the scene.

int frameNumber

Number of elapsed frames.

The documentation for this struct was generated from the following file:
  • NVSGScene.cg
Generated on Fri Jul 13 13:29:08 2012 for SceniX


SceniX: Member List

NVSGScene Member List

This is the complete list of members for NVSGScene, including all inherited members.

ambient | NVSGScene
frameNumber | NVSGScene

Generated on Fri Jul 13 13:29:08 2012 for SceniX


SceniX: NVSGTexImageFmt Struct Reference

nvgl::NVSGTexImageFmt

NVSGTexImageFmt Struct Reference

Internal data structure used to describe formats. More...

#include <GLContext.h>

List of all members.

Public Attributes

GLint | fixedPtFmt
The OpenGL internal format for fixed point.
GLint | floatFmt
The OpenGL internal format for floating point.
GLint | integerFmt
The OpenGL internal format integer textures.
GLint | compressedFmt
The OpenGL internal format for compressed textures.
GLint | nonLinearFmt
The OpenGL internal format SRGB textures.
GLint | usrFmt
The 'typical' OpenGL user format of a texture (integer textures excluded).
GLint | type
The OpenGL type of a texture.
GLint | uploadHint
An upload hint for the texture: 0=glTexImage, 1=PBO.

Detailed Description

Internal data structure used to describe formats.

Member Data Documentation

GLint fixedPtFmt

The OpenGL internal format for fixed point.

GLint floatFmt

The OpenGL internal format for floating point.

GLint integerFmt

The OpenGL internal format integer textures.

GLint compressedFmt

The OpenGL internal format for compressed textures.

GLint nonLinearFmt

The OpenGL internal format SRGB textures.

GLint usrFmt

The 'typical' OpenGL user format of a texture (integer textures excluded).

GLint type

The OpenGL type of a texture.

GLint uploadHint

An upload hint for the texture: 0=glTexImage, 1=PBO.

The documentation for this struct was generated from the following file:
  • GLContext.h
Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: Member List

NVSGTexImageFmt Member List

This is the complete list of members for NVSGTexImageFmt, including all inherited members.

compressedFmt | NVSGTexImageFmt
fixedPtFmt | NVSGTexImageFmt
floatFmt | NVSGTexImageFmt
integerFmt | NVSGTexImageFmt
nonLinearFmt | NVSGTexImageFmt
type | NVSGTexImageFmt
uploadHint | NVSGTexImageFmt
usrFmt | NVSGTexImageFmt

Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: Object Class Reference

nvsg::Object

Object Class Reference

Serves as base class for all traversable objects. More...

#include <Object.h>

Inheritance diagram for Object:

[legend]
Collaboration diagram for Object:

[legend]
List of all members.

Public Types

typedef std::vector< nvutil::SmartPtr<
Callback > > 		CallbackContainer
The container type of the Callbacks.
typedef nvutil::SceniXIterator<
Object, CallbackContainer::iterator > 		CallbackIterator
The iterator over the CallbackContainer.
typedef nvutil::SceniXIterator<
Object, CallbackContainer::const_iterator > 		CallbackConstIterator
The const iterator over the CallbackContainer.
enum {
NVSG_HINT_ALWAYS_VISIBLE = BIT0, NVSG_HINT_ALWAYS_INVISIBLE = BIT1, NVSG_HINT_VISIBILITY_MASK = NVSG_HINT_ALWAYS_VISIBLE | NVSG_HINT_ALWAYS_INVISIBLE, NVSG_HINT_NO_SHADOW_CASTER = BIT2,
NVSG_HINT_NO_SHADOW_RECEIVER = BIT3, NVSG_HINT_OVERLAY = BIT4, NVSG_HINT_DYNAMIC = BIT5, NVSG_HINT_DONT_CLIP = BIT6,
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER = BIT7, NVSG_HINT_INVISIBLE_TO_REFLECTIONS = BIT8, NVSG_HINT_INVISIBLE_TO_REFRACTIONS = BIT9, NVSG_HINT_LAST_HINT = NVSG_HINT_INVISIBLE_TO_REFRACTIONS,
NVSG_HINT_ALL_HINTS = (NVSG_HINT_LAST_HINT << 1) - 1
}
enum {
NVSG_INCARNATION = NVSG_HINT_LAST_HINT << 1, NVSG_TREE_INCARNATION = NVSG_INCARNATION << 1, NVSG_SWITCH_INCARNATION = NVSG_TREE_INCARNATION << 1, NVSG_MATERIAL_INCARNATION = NVSG_SWITCH_INCARNATION << 1,
NVSG_BOUNDING_VOLUME_INCARNATION = NVSG_MATERIAL_INCARNATION << 1, NVSG_VAS_INCARNATION = NVSG_BOUNDING_VOLUME_INCARNATION << 1, NVSG_INDEXSET_INCARNATION = NVSG_VAS_INCARNATION << 1, NVSG_PRIMITIVE_INCARNATION = NVSG_INDEXSET_INCARNATION << 1,
NVSG_BOUNDING_BOX = NVSG_PRIMITIVE_INCARNATION << 1, NVSG_BOUNDING_SPHERE = NVSG_BOUNDING_BOX << 1, NVSG_BOUNDING_VOLUMES, NVSG_CONTAINS_SHADER = NVSG_BOUNDING_SPHERE << 1,
NVSG_CONTAINS_TRANSPARENCY = NVSG_CONTAINS_SHADER << 1, NVSG_CONTAINS_LIGHT = NVSG_CONTAINS_TRANSPARENCY << 1, NVSG_CONTAINS_LOD = NVSG_CONTAINS_LIGHT << 1, NVSG_CONTAINS_ANIMATION = NVSG_CONTAINS_LOD << 1,
NVSG_CONTAINS_MASK, NVSG_HASH_KEY = NVSG_CONTAINS_ANIMATION << 1
}

Public Member Functions

NVSG_API | Object ()
Constructs an Object.
NVSG_API | Object (const Object &rhs)
Constructs an Object as a copy of another Object.
virtual NVSG_API | ~Object ()
Destructs an Object.
unsigned int | getObjectCode () const
Returns the object code, which is unique per object type.
virtual NVSG_API unsigned int | getHigherLevelObjectCode (unsigned int oc) const
Returns the higher-level object code for a given object code.
virtual NVSG_API bool | isDataShared () const
Returns whether this object shares its embedded data with other objects.
virtual NVSG_API DataID | getDataID () const
Returns the unique data identifier for this object.
virtual NVSG_API void | notifyChange (const Subject *originator, unsigned int state=0) const
NVSG_API void | setName (const std::string &name)
Specifies the name for an object.
NVSG_API const std::string & | getName () const
Returns the name of the object.
NVSG_API void | setAnnotation (const std::string &anno)
Lets you append an annotation to this Object.
NVSG_API const std::string & | getAnnotation () const
Retrieves the Object's annotation.
virtual NVSG_API bool | isEquivalent (const Object *object, bool ignoreNames=true, bool deepCompare=false) const
Tests whether this object is equivalent to another object.
NVSG_API void | setUserData (const void *userData)
Attaches arbitrary user data to the object.
NVSG_API const void * | getUserData () const
Returns a pointer to the attached arbitrary user data.
NVSG_API unsigned int | getHints () const
NVSG_API unsigned int | getHints (unsigned int mask) const
NVSG_API void | setHints (unsigned int hints)
NVSG_API void | addHints (unsigned int hints)
NVSG_API void | removeHints (unsigned int hints)
NVSG_API const nvmath::Box3f & | getBoundingBox () const
NVSG_API const nvmath::Sphere3f & | getBoundingSphere () const
NVSG_API const nvutil::Incarnation & | getIncarnation () const
NVSG_API const nvutil::Incarnation & | getTreeIncarnation () const
NVSG_API const nvutil::Incarnation & | getBoundingVolumeIncarnation () const
NVSG_API const nvutil::Incarnation & | getSwitchIncarnation () const
NVSG_API const nvutil::Incarnation & | getMaterialIncarnation () const
NVSG_API const nvutil::Incarnation & | getVertexAttributeSetIncarnation () const
NVSG_API const nvutil::Incarnation & | getIndexSetIncarnation () const
NVSG_API const nvutil::Incarnation & | getPrimitiveIncarnation () const
NVSG_API const nvutil::Incarnation & | getHintsIncarnation () const
NVSG_API HashKey | getHashKey () const
Get the hash key of this Object.
NVSG_API unsigned int | getContainedHints (unsigned int which) const
NVSG_API bool | containsHints (unsigned int which) const
NVSG_API bool | containsShader () const
NVSG_API bool | containsTransparency () const
NVSG_API bool | containsAnimation () const
NVSG_API bool | containsLight () const
NVSG_API bool | containsLOD () const
NVSG_API unsigned int | getNumberOfAppTraverserCallbacks () const
NVSG_API CallbackConstIterator | beginAppTraverserCallbacks () const
Get a const iterator to the first AppTraverserCallback in this Object.
NVSG_API CallbackIterator | beginAppTraverserCallbacks ()
Get an iterator to the first AppTraverserCallback in this Object.
NVSG_API CallbackConstIterator | endAppTraverserCallbacks () const
Get a const iterator that points just beyond the end of the AppTraverserCallbacks in this Object.
NVSG_API CallbackIterator | endAppTraverserCallbacks ()
Get an iterator that points just beyond the end of the AppTraverserCallbacks in this Object.
NVSG_API CallbackIterator | addAppTraverserCallback (Callback *cb)
Add an AppTraverserCallback to this Object.
NVSG_API bool | removeAppTraverserCallback (const Callback *cb)
Remove an AppTraverserCallback from this Object.
NVSG_API CallbackIterator | removeAppTraverserCallback (const CallbackIterator &ci)
Remove an AppTraverserCallback from this Object.
NVSG_API void | clearAppTraverserCallbacks ()
Remove all AppTraverserCallbacks from this Object.
NVSG_API CallbackConstIterator | findAppTraverserCallback (const Callback *cb) const
NVSG_API CallbackIterator | findAppTraverserCallback (const Callback *cb)
NVSG_API void | setTraversalMask (unsigned int mask)
Set a TraversalMask to be used with this Object.
NVSG_API unsigned int | getTraversalMask () const
NVSG_API const DALHostSharedPtr & | getDALHost () const
NVSG_API void | releaseDALData ()
REFLECTION_INFO_API (NVSG_API, Object)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Name)
NVSG_API | DECLARE_STATIC_PROPERTY (Annotation)
NVSG_API | DECLARE_STATIC_PROPERTY (Hints)
NVSG_API | DECLARE_STATIC_PROPERTY (TraversalMask)

Protected Types

typedef const nvutil::Incarnation
&(Object::* 		PFNGETINCARNATION )() const

Protected Member Functions

NVSG_API Object & | operator= (const Object &rhs)
Assigns new content from another Object.
virtual NVSG_API unsigned int | determineHintsContainment (unsigned int which) const
virtual NVSG_API bool | determineShaderContainment () const
virtual NVSG_API bool | determineTransparencyContainment () const
virtual NVSG_API bool | determineAnimationContainment () const
virtual NVSG_API bool | determineLightContainment () const
virtual NVSG_API bool | determineLODContainment () const
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
virtual NVSG_API const nvmath::Box3f & | getBoundingBox (bool recalculate) const
virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (bool recalculate) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | incrementHintsIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryHintsIncarnation () const
virtual NVSG_API void | incrementIndexSetIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryIndexSetIncarnation () const
virtual NVSG_API void | incrementMaterialIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryMaterialIncarnation () const
virtual NVSG_API void | incrementPrimitiveIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryPrimitiveIncarnation () const
virtual NVSG_API void | incrementSwitchIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | querySwitchIncarnation () const
virtual NVSG_API void | incrementVertexAttributeSetIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryVertexAttributeSetIncarnation () const

Protected Attributes

unsigned int | m_objectCode
Per-object type identifier.
unsigned int | m_flags
HashKey | m_hashKey

Detailed Description

Serves as base class for all traversable objects.

Namespace: nvsg
Remarks:
Besides being reference counted, providing the read/write locking interface, and being host for DAL data, an Object has an object code that identifies its concrete class type. Every concrete class derived from Object has to set an unique object code in its constructors. This object code is used in the Traverser to determine the concrete type of the Object. If there is a handler function registered for that specific object code, this handler is called. Otherwise, a higher level object code is queried, that also has to be provided by the concrete classes derived from Object, until an object code is encountered a handler function is registered for.

Member Typedef Documentation

typedef std::vector<nvutil::SmartPtr<Callback> > CallbackContainer

The container type of the Callbacks.

typedef nvutil::SceniXIterator<Object,CallbackContainer::iterator> CallbackIterator

The iterator over the CallbackContainer.

typedef nvutil::SceniXIterator<Object,CallbackContainer::const_iterator> CallbackConstIterator

The const iterator over the CallbackContainer.

Member Enumeration Documentation

anonymous enum

The Object hints are available in ray tracing programs by using rtDeclareVariable(int, nvsgHints, ,); inside an RTFx program. The nvsgHints are put at GeometryInstance level and are accessible like materials. The built-in ray tracing programs evaluate these hints: NVSG_HINT_ALWAYS_INVISIBLE, NVSG_HINT_NO_SHADOW_CASTER, NVSG_HINT_NO_SHADOW_RECEIVER, NVSG_HINT_INVISIBLE_TO_REFLECTIONS, NVSG_HINT_INVISIBLE_TO_REFRACTIONS. To toggle the rendering of any ray traced geometry change the NVSG_HINT_ALWAYS_INVISIBLE hint at a Group or GeoNode. To render geometry like manipulator gizmos without being seen by any secondary ray, set all these hints: NVSG_HINT_NO_SHADOW_CASTER | NVSG_HINT_NO_SHADOW_RECEIVER | NVSG_HINT_INVISIBLE_TO_REFLECTIONS | NVSG_HINT_INVISIBLE_TO_REFRACTIONS

Enumeration values:
NVSG_HINT_ALWAYS_VISIBLE Flags the Object as always visible.

Remarks:
A visible-flagged Object will not be considered by the frameworks cull step. By default, this hint is not set.
NVSG_HINT_ALWAYS_INVISIBLE Flags the Object as always invisible.

Remarks:
An invisible-flagged Object will not be processed by the render framework. The built-in ray tracing programs will ignore intersections with geometry with this flag set. By default, this hint is not set.
NVSG_HINT_NO_SHADOW_CASTER Flags the Object not to cast shadows.

Remarks:
Shadow algorithms can consider this hint for optimized strategy. The built-in ray tracing programs will ignore intersections with geometry with this hint set in the any_hit_shadow program.
NVSG_HINT_NO_SHADOW_RECEIVER Flags the Object not to receive shadows.

Remarks:
Shadow algorithms can consider this hint for optimized strategy. The built-in ray tracing programs will not shoot shadow rays from geometry with this hint set. By default, this hint is not set.
NVSG_HINT_OVERLAY Flags the Object as overlay Object.

Remarks:
An overlay Object will always be rendered on top of other non-overlay Objects independent of the Objects z-depth. By default, this hint is not set.
NVSG_HINT_DYNAMIC Flags the Object as frequently altering.

Remarks:
The processing framework considers dynamic-flagged objects different from ordinary non-dynamic Objects to yield optimized render performance. By default, an Object is not flagged dynamic.
NVSG_HINT_DONT_CLIP Flags the Object as not being considered for clipping.

Remarks:
During rendering, active clip planes have no effect on Objects that have the NVSG_HINT_DONT_CLIP bit set. This hint only applies to Node-derived Objects.
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER Advises the ray tracing framework to use high quality AS builder.

Remarks:
The flag advises the ray tracing engine to use high quality AS builder for this particular object. Higher quality acceleration structures potentially take longer to be built and probably require more memory, but often support considerably faster ray tracing than lower quality acceleration structures.
NVSG_HINT_INVISIBLE_TO_REFLECTIONS Flags the Object to be invisble in ray traced reflections.

Remarks:
The built-in ray tracing programs will ignore geometry with this hint set in reflection rays. By default, this hint is not set.
NVSG_HINT_INVISIBLE_TO_REFRACTIONS Flags the Object to be invisible in ray traced refractions.

Remarks:
The built-in ray tracing programs will ignore geometry with this hint set in transparency/refraction rays. By default, this hint is not set.
NVSG_HINT_ALL_HINTS All possible hints.

Constructor & Destructor Documentation

NVSG_API Object ( )

Constructs an Object.

NVSG_API Object ( const Object & rhs )

Constructs an Object as a copy of another Object.

virtual NVSG_API ~Object ( ) [virtual]

Destructs an Object.

Member Function Documentation

unsigned int getObjectCode ( ) const [inline]

Returns the object code, which is unique per object type.

Returns:
The function returns the object code enum for this object.
Remarks:
The object code, which is unique per object type, is used for fast object type identification at runtime. A nvtraverser::Traverser, for example, uses the object code to fast lookup the handler function for a particular object type.

Object-derived classes must override the protected member m_objectCode , with the correct value for the respective type. It is recommended to do this at instantiation time of the customized object.
See also:
howtoderiveanvsgobject, Object::getHigherLevelObjectCode

virtual NVSG_API unsigned int getHigherLevelObjectCode ( unsigned int oc ) const [virtual]

Returns the higher-level object code for a given object code.

Parameters:
oc Object code for which to retrieve the associated higher-level object code.
Returns:
The default implementation returns OC_INVALID, which causes the traverser framework to immediately proceed without handling the object when it comes across an unknown object code.
Remarks:
This function will be called from the object traverser framework if the object code oc is unknown. This would be the case if for a custom object a certain traverser did not register an appropriate handler function.

The framework expects this function to return a higher-level object code in terms of a custom object hierarchy. The function will be repeatedly called with the returned higher-level object code, until either a known object code or OC_INVALID will be returned. That is - by repeatedly calling this function, the traverser framework moves up the custom object hierarchy to find an object for which a handler function was registered. If the traverser framework recognizes a known object code, it calls the appropriate handler function and proceeds. If OC_INVALID was returned, the traverser framework proceeds without handling the object.

The runtime behavior is undefined if the function returns an object code of an object that is not part of the object hierarchy of the primary object!

The framework might end up in a deadlock if the function never returns either OC_INVALID or an object code of a concrete object known by the traverser!
See also:
Object::getObjectCode

Reimplemented in PatchesBase.

virtual NVSG_API bool isDataShared ( ) const [virtual]

Returns whether this object shares its embedded data with other objects.

Returns:
The function should return true if the object shares its embedded data with other objects. Otherwise, the function should return false.

The default implementation always returns false.
Remarks:
For Object-derived classes that are capable of sharing their embedded data with other objects, it is recommended to override this function. For all other objects, the default implementation will be sufficient.

An object, capable of data sharing, shares its data with another object if it was either instantiated as a copy of the other object, or if its content was re-assigned to by the content of the other object using the appropriate assignment operator.

Only a few classes of the SceniX core implement data sharing. These mainly are classes where data sharing probably could save a lot of memory because of the large amount of data these classes might contain. VertexAttributeSet, IndependentPrimitiveSet, and StrippedPrimitiveSet are examples of coreobjects that implement data sharing.
See also:
Object::getDataID

Reimplemented in CgFx, IndependentPrimitiveSet, Material, MeshedPrimitiveSet, RTFx, RTFxSceneAttribute, StrippedPrimitiveSet, TextureAttributeItem, and VertexAttributeSet.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Returns the unique data identifier for this object.

Returns:
The function returns a 64-bit value which uniquely identifies the embedded data.
Remarks:
This function in particular is useful to identify different objects that share their embedded data. Two objects that share the same data always have the same DataID.

Identifying objects that share their data with other objects is useful for saving objects to a file and later reloading it without losing the data sharing.
See also:
Object::isDataShared

Reimplemented in CgFx, IndependentPrimitiveSet, Material, MeshedPrimitiveSet, RTFx, RTFxSceneAttribute, StrippedPrimitiveSet, TextureAttributeItem, and VertexAttributeSet.

NVSG_API void setName ( const std::string & name )

Specifies the name for an object.

Parameters:
name Reference to a STL sting holding the name to specify.
Remarks:
A previously specified name gets lost when specifying a new name using this function.

Use Object::getName to retrieve the actual name of an Object.

NVSG_API const std::string& getName ( ) const

Returns the name of the object.

Returns:
A reference to a STL string holding the name of the object. The function returns a reference to an empty string if no name was previously specified for the object.
Remarks:
The function retrieves the object's name previously specified through Object::setName.

NVSG_API void setAnnotation ( const std::string & anno )

Lets you append an annotation to this Object.

Parameters:
anno Annotation to append to this Object.
Remarks:
The function lets you append an optional annotation. A previously appended annotation gets lost.
See also:
Object::getAnnotation

NVSG_API const std::string& getAnnotation ( ) const

Retrieves the Object's annotation.

Returns:
The function returns the annotation as last specified through setAnnotation. If no annotation was specified before, the function returns an empty string.
See also:
Object::setAnnotation

virtual NVSG_API bool isEquivalent | ( | const Object * | object,
 |  | bool | ignoreNames = true,
 |  | bool | deepCompare = false
 | ) | const [virtual]

Tests whether this object is equivalent to another object.

Parameters:
object | Pointer to the object to test for equivalence with this object.
ignoreNames | Object names will be ignored while testing if this is true.
deepCompare | The function performs a deep-compare if this is true. Otherwise the function only performs a shallow compare.
Returns:
The function returns true if the object pointed to by object is detected to be equivalent to this object. Otherwise the function returns false.
Remarks:
The test will be performed considering the optional control parameters ignoreNames and deepCompare. If you omit these two, the function ignores object names and performs a shallow compare only.

Reimplemented in AlphaTestAttribute, AnimatedTransform, AnimatedVertexAttributeSet, AnimationState, Animation, AnimationDescription, Billboard, BlendAttribute, CgFx, ClipPlane, DepthAttribute, FaceAttribute, FlipbookAnimation, FramedAnimationDescription, GeoNode, Group, IndependentPrimitiveSet, KeyFramedAnimationDescription, LightingAttribute, LightSource, LineAttribute, LOD, Material, MeshedPrimitiveSet, PatchesBase, PointAttribute, PointLight, Primitive, PrimitiveSet, RTBufferAttribute, RTFx, RTFxSceneAttribute, Shape, Skin, SpotLight, StatePass, StateSet, StateVariant, StencilAttribute, StrippedPrimitiveSet, Switch, TextureAttributeItem, TextureAttribute, Transform, UnlitColorAttribute, and VertexAttributeSet.

void setUserData ( const void * userData ) [inline]

Attaches arbitrary user data to the object.

Parameters:
userData Specifies the address of the arbitrary user data.
Remarks:
Use setUserData to store the address to arbitrary user data with the object. The object does not interpret the data, nor does it take over responsibility for managing the memory occupied by the data behind userData. It just keeps the address to the user data until the address will be overwritten by a subsequent call to setUserData.

User data will not be considered for storing to a file!

Use getUserData to get back the address to the user data that was last specified through setUserData.
See also:
getUserData

const void * getUserData ( ) const [inline]

Returns a pointer to the attached arbitrary user data.

Returns:
The function returns the pointer to the arbitrary user data that was last specified by a call to setUserData.
See also:
setUserData

NVSG_API HashKey getHashKey ( ) const

Get the hash key of this Object.

Returns:
The hash key of this Object.
Remarks:
If the hash key is not valid, the virtual function feedHashGenerator() is called to recursively determine a hash string, using a HashGenerator, which then is converted into a HashKey.
See also:
feedHashGenerator

Object::CallbackConstIterator beginAppTraverserCallbacks ( ) const [inline]

Get a const iterator to the first AppTraverserCallback in this Object.

Returns:
A const iterator to the first AppTraverserCallback in this Object.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, endAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

Object::CallbackIterator beginAppTraverserCallbacks ( ) [inline]

Get an iterator to the first AppTraverserCallback in this Object.

Returns:
An iterator to the first AppTraverserCallback in this Object.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, endAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

Object::CallbackConstIterator endAppTraverserCallbacks ( ) const [inline]

Get a const iterator that points just beyond the end of the AppTraverserCallbacks in this Object.

Returns:
A const iterator that points just beyond the end of the AppTraverserCallbacks in this Object.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

Object::CallbackIterator endAppTraverserCallbacks ( ) [inline]

Get an iterator that points just beyond the end of the AppTraverserCallbacks in this Object.

Returns:
An iterator that points just beyond the end of the AppTraverserCallbacks in this Object.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

NVSG_API CallbackIterator addAppTraverserCallback ( Callback * cb )

Add an AppTraverserCallback to this Object.

Parameters:
cb The Callback to add.
Returns:
An iterator that points to the position where cb was added.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks, endAppTraverserCallbacks, removeAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

NVSG_API bool removeAppTraverserCallback ( const Callback * cb )

Remove an AppTraverserCallback from this Object.

Parameters:
cb The Callback to remove from this Object.
Returns:
true, if the AppTraverserCallback has been removed from this Object, otherwise false.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks, endAppTraverserCallbacks, addAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

Object::CallbackIterator removeAppTraverserCallback ( const CallbackIterator & ci ) [inline]

Remove an AppTraverserCallback from this Object.

Parameters:
ci An iterator to the Callback to remove from this Object.
Returns:
An iterator pointing to the new location of the AppTraverserCallback that followed the one removed by this function call, which is endAppTraverserCallbacks() if the operation removed the last Callback.
See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks, endAppTraverserCallbacks, addAppTraverserCallback, clearAppTraverserCallbacks, findAppTraverserCallback

void clearAppTraverserCallbacks ( ) [inline]

Remove all AppTraverserCallbacks from this Object.

See also:
Callback, AppTraverser, getNumberOfAppTraverserCallbacks, beginAppTraverserCallbacks, endAppTraverserCallbacks, addAppTraverserCallback, removeAppTraverserCallback, findAppTraverserCallback

void setTraversalMask ( unsigned int mask ) [inline]

Set a TraversalMask to be used with this Object.

Parameters:
mask The mask to be used.
Remarks:
The traversal mask is used in conjuction with Traverser-derived and Renderer-derived objects to determine whether this node, and therefore any of this node's children, are traversed, and/or rendered. See Traverser::setTraversalMask and SceneRenderer::setTraversalMask for more info.
Note:
The default traversal mask is ~0
See also:
getTraversalMask, ViewState::setTraversalMask, Traverser::setTraversalMask, Traverser::setTraversalMaskOverride,

SceneRenderer::setTraversalMask, SceneRenderer::setTraversalMaskOverride

NVSG_API Object& operator= ( const Object & rhs ) [protected]

Assigns new content from another Object.

Parameters:
rhs Reference to an Object from which to assign the new content.
Returns:
A reference to this object.
Remarks:
The assignment operator unreferences the old content before assigning the new content. The new content will be a deep-copy of the content of right-hand-sided object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented in AlphaTestAttribute, AnimatedTransform, AnimatedVertexAttributeSet, AnimationState, Animation, Billboard, BlendAttribute, Camera, CgFxEffect, CgFx, ClipPlane, DepthAttribute, FaceAttribute, FlipbookAnimation, FramedAnimationDescription, FrustumCamera, GeoNode, Group, IndependentPrimitiveSet, IndexSet, KeyFramedAnimationDescription, LightingAttribute, LightSource, LineAttribute, LOD, Map, MapArray, MapElement, MapList, MapMatrix, MapObject, Material, MatrixCamera, MeshedPrimitiveSet, PatchesBase, PointAttribute, PointLight, Primitive, PrimitiveSet, QuadPatches, RectPatches, RTBufferAttribute, RTFx, Shape, Skin, SpotLight, StatePass, StateSet, StateVariant, StencilAttribute, StrippedPrimitiveSet, Switch, TextureAttributeItem, TextureAttribute, Transform, TriPatches, UnlitColorAttribute, and VertexAttributeSet.

Member Data Documentation

unsigned int m_objectCode [protected]

Per-object type identifier.

Remarks:
Concrete derived objects must initialize this object code with an identifier, which must be a unique per-object type. It is recommended to do this at object instantiation.

SceniX uses this object code for fast object type identification at runtime.

Codes from 0x00 to 0xBF are reserved for SceniX core objects, and may not be used for custom object types!

Codes for custom objects should start at OC_CUSTOMOBJECT:

 // example for custom object code initialization

 enum
 {
   OC_MYFIRSTOBJECT = nvsg::OC_CUSTOMOBJECT,
   OC_MYSECONDOBJECT, // = OC_MYFIRSTOBJECT + 1
   OC_MYTHIRDOBJECT.  // = OC_MYFIRSTOBJECT + 2
 // ... further codes
 };

The documentation for this class was generated from the following file:
  • Object.h
Generated on Fri Jul 13 13:30:11 2012 for SceniX


SceniX: Member List

Object Member List

This is the complete list of members for Object, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getObjectCode() const | Object | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]

Generated on Fri Jul 13 13:30:11 2012 for SceniX


SceniX: ObjectTraits Struct Template Reference

nvutil::ObjectTraits

ObjectTraits Struct Template Reference

Typedefs for objects The following typedefs should be defined for an object. Handle SharedPtr WeakPtr ReadLock WriteLock. More...

#include <Handle.h>

Inheritance diagram for ObjectTraits:

[legend]

Detailed Description

template<typename ObjectType>
struct nvutil::ObjectTraits< ObjectType >

Typedefs for objects The following typedefs should be defined for an object. Handle SharedPtr WeakPtr ReadLock WriteLock.

The documentation for this struct was generated from the following file:
  • Handle.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: OBJSaver Class Reference

OBJSaver Class Reference

A Scene Saver for obj files. More...

#include <OBJSaver.h>

Inheritance diagram for OBJSaver:

[legend]
Collaboration diagram for OBJSaver:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
PlugIn interface.
bool | save (const nvsg::SceneSharedPtr &scene, const nvsg::ViewStateSharedPtr &viewState, const std::string &filename)
Realization of the pure virtual interface function of a SceneSaver.

Detailed Description

A Scene Saver for obj files.

NVSG files can be produced with the sample ViewerVR. They are text files that represent a Scene and a ViewState.

Member Function Documentation

void deleteThis ( void ) [inline, virtual]

PlugIn interface.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

bool save | ( | const nvsg::SceneSharedPtr & | scene,
 |  | const nvsg::ViewStateSharedPtr & | viewState,
 |  | const std::string & | filename
 | ) |

Realization of the pure virtual interface function of a SceneSaver.

Saves the scene and the viewState to filename. The viewState may be NULL.

Parameters:
scene | scene to save
viewState | view state to save
filename | file name to save to

The documentation for this class was generated from the following file:
  • OBJSaver.h
Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Member List

OBJSaver Member List

This is the complete list of members for OBJSaver, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | OBJSaver | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
save(const nvsg::SceneSharedPtr &scene, const nvsg::ViewStateSharedPtr &viewState, const std::string &filename) | OBJSaver |
nvsg::SceneSaver::save(const SceneSharedPtr &scene, const ViewStateSharedPtr &viewState, const std::string &filename)=0 | SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneSaver() | SceneSaver | [protected, virtual]

Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Observer Class Reference

nvutil::Observer

Observer Class Reference

Class used to observe other subjects. More...

#include <Observer.h>

Inheritance diagram for Observer:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | clear (unsigned int state)
Marks the indicated state as not dirty.
NVSG_API void | destroyed (const Subject *subject, const nvutil::Subject::SmartPayload &payload)
Called from observed subject right before destruction.
NVSG_API void | update (const Subject *subject, unsigned int state, const nvutil::Subject::SmartPayload &payload)
Called from observed subject upon a property change.
NVSG_API void | update (const Subject *subject, PropertyId propertyId, const Subject::SmartPayload &payload)
Called from observed subject upon a property change.
NVSG_API void | postAddChild (const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload)
Called from observed group after a child has been added.
NVSG_API void | preRemoveChild (const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload)
Called from observed group before a child will be removed from a Group.
NVSG_API void | postGroupExchanged (const nvsg::Group *group, const Subject::SmartPayload &payload)
Called from the observed group after the content of the specified group had been exchanged.
NVSG_API void | postAddLightSource (const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload)
Called from the observed group after a lightsource has been added.
NVSG_API void | preRemoveLightSource (const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload)
Called from observed group before a lightsource will be removed from a Group.
NVSG_API void | postAddClipPlane (const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload)
Called from the observed group after a clipplane has been added.
NVSG_API void | preRemoveClipPlane (const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const Subject::SmartPayload &payload)
Called from observed group before a clipplane will be removed from a Group.

Protected Member Functions

virtual NVSG_API void | onDestroyed (const Subject *subject, const nvutil::Subject::SmartPayload &payload)
Called by the framework right before destruction of the Subject subject.
virtual NVSG_API unsigned int | onUpdate (const Subject *subject, unsigned int currentState, unsigned int changeState, const nvutil::Subject::SmartPayload &payload) const
Called by the framework when a state has changed.
virtual NVSG_API void | onUpdate (const Subject *subject, PropertyId propertyId, const nvutil::Subject::SmartPayload &payload) const
Called by the framework when a property changed.
virtual NVSG_API void | onPostAddChild (const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload)
Called by the framework after a child has been added to a Group.
virtual NVSG_API void | onPreRemoveChild (const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload)
Called by the framework before a child will be removed from a Group.
virtual NVSG_API void | onPostGroupExchanged (const nvsg::Group *group, const nvutil::Subject::SmartPayload &payload)
Called by the framework after the content of the specified group had been exchanged.
virtual NVSG_API void | onPostAddLightSource (const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload)
Called by the framework after a lightsource has been added.
virtual NVSG_API void | onPreRemoveLightSource (const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload)
Called by the framework before a lightsource will be removed from a Group.
virtual NVSG_API void | onPostAddClipPlane (const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload)
Called by the framework after a clipplane has been added.
virtual NVSG_API void | onPreRemoveClipPlane (const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload)
Called by the framework before a clipplane will be removed from a Group.

Detailed Description

Class used to observe other subjects.

See also:
Subject

Member Function Documentation

NVSG_API bool clear ( unsigned int state )

Marks the indicated state as not dirty.

Parameters:
state The state, as a bitfield, that has to be cleared
Returns:
false if the indicated state was not marked as dirty, true otherwise.

NVSG_API void destroyed | ( | const Subject * | subject,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from observed subject right before destruction.

Parameters:
subject | The subject which is going to be destructed.
payload | Payload object passed to the Subject::attach method.

NVSG_API void update | ( | const Subject * | subject,
 |  | unsigned int | state,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from observed subject upon a property change.

Parameters:
subject | The subject that has changed.
state | The state, as a bitfield, that changed.
payload | Payload object passed to the Subject::attach method.

NVSG_API void update | ( | const Subject * | subject,
 |  | PropertyId | propertyId,
 |  | const Subject::SmartPayload & | payload
 | ) |

Called from observed subject upon a property change.

Parameters:
subject | The subject that has changed.
propertyId | Id of the property which has changed.
payload | Payload object passed to the Subject::attach method.

NVSG_API void postAddChild | ( | const nvsg::Group * | group,
 |  | const nvsg::NodeSharedPtr & | child,
 |  | unsigned int | index,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from observed group after a child has been added.

Parameters:
group | The group the child was added to.
child | The child which was added to the group.
index | The index the child was added at.
payload | Payload object passed to the Subject::attach method.

NVSG_API void preRemoveChild | ( | const nvsg::Group * | group,
 |  | const nvsg::NodeSharedPtr & | child,
 |  | unsigned int | index,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from observed group before a child will be removed from a Group.

Parameters:
group | The group the child will be removed from.
child | The child to be removed from the group.
index | The index the child will be removed from.
payload | Payload object passed to the Subject::attach method.

NVSG_API void postGroupExchanged | ( | const nvsg::Group * | group,
 |  | const Subject::SmartPayload & | payload
 | ) |

Called from the observed group after the content of the specified group had been exchanged.

Parameters:
group | The group whose content had been exchanged.
payload | Payload object passed to the Subject::attach method.

NVSG_API void postAddLightSource | ( | const nvsg::Group * | group,
 |  | const nvsg::LightSourceSharedPtr & | lightSource,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from the observed group after a lightsource has been added.

Parameters:
group | The group the lightsource was added to.
lightSource | The lightsource which was added to the group.
payload | Payload object passed to the Subject::attach method.

NVSG_API void preRemoveLightSource | ( | const nvsg::Group * | group,
 |  | const nvsg::LightSourceSharedPtr & | lightSource,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from observed group before a lightsource will be removed from a Group.

Parameters:
group | The group the lightsource will be removed from.
lightSource | The lightsource to be removed from the group.
payload | Payload object passed to the Subject::attach method.

NVSG_API void postAddClipPlane | ( | const nvsg::Group * | group,
 |  | const nvsg::ClipPlaneSharedPtr & | clipPlane,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) |

Called from the observed group after a clipplane has been added.

Parameters:
group | The group the clipplane was added to.
clipPlane | The clipplane which was added to the group.
payload | Payload object passed to the Subject::attach method.

NVSG_API void preRemoveClipPlane | ( | const nvsg::Group * | group,
 |  | const nvsg::ClipPlaneSharedPtr & | clipPlane,
 |  | const Subject::SmartPayload & | payload
 | ) |

Called from observed group before a clipplane will be removed from a Group.

Parameters:
group | The group the clipplane will be removed from.
clipPlane | The clipplane to be removed from the group.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onDestroyed | ( | const Subject * | subject,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework right before destruction of the Subject subject.

Parameters:
subject | Pointer to the subject that is going to be destroyed.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API unsigned int onUpdate | ( | const Subject * | subject,
 |  | unsigned int | currentState,
 |  | unsigned int | changeState,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | const [protected, virtual]

Called by the framework when a state has changed.

Parameters:
subject | Pointer to the subject that changed.
currentState | Bitfield representing the current state.
changeState | Bitfield representing the changing state.
payload | Payload object passed to the Subject::attach method.
Returns:
Provide the new state which should be stored by the observer. Usually it should be currentState | changeState.

Reimplemented in BackLinkObserver.

virtual NVSG_API void onUpdate | ( | const Subject * | subject,
 |  | PropertyId | propertyId,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | const [protected, virtual]

Called by the framework when a property changed.

Parameters:
subject | Pointer to the subject that changed.
propertyId | Id of the property which has changed.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onPostAddChild | ( | const nvsg::Group * | group,
 |  | const nvsg::NodeSharedPtr & | child,
 |  | unsigned int | index,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework after a child has been added to a Group.

Parameters:
group | The group the child was added to.
child | The child which was added to the group.
index | The index the child was added at.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onPreRemoveChild | ( | const nvsg::Group * | group,
 |  | const nvsg::NodeSharedPtr & | child,
 |  | unsigned int | index,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework before a child will be removed from a Group.

Parameters:
group | The group the child will be removed from.
child | The child to be removed from the group.
index | The index the child will be removed from.
payload | Payload object passed to the Subject::attach method

virtual NVSG_API void onPostGroupExchanged | ( | const nvsg::Group * | group,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework after the content of the specified group had been exchanged.

Parameters:
group | The group whose content had been exchanged.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onPostAddLightSource | ( | const nvsg::Group * | group,
 |  | const nvsg::LightSourceSharedPtr & | lightSource,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework after a lightsource has been added.

Parameters:
group | The group the lightsource was added to.
lightSource | The lightsource which was added to the group.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onPreRemoveLightSource | ( | const nvsg::Group * | group,
 |  | const nvsg::LightSourceSharedPtr & | lightSource,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework before a lightsource will be removed from a Group.

Parameters:
group | The group the lightsource will be removed from.
lightSource | The lightsource to be removed from the group.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onPostAddClipPlane | ( | const nvsg::Group * | group,
 |  | const nvsg::ClipPlaneSharedPtr & | clipPlane,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework after a clipplane has been added.

Parameters:
group | The group the clipplane was added to.
clipPlane | The clipplane which was added to the group.
payload | Payload object passed to the Subject::attach method.

virtual NVSG_API void onPreRemoveClipPlane | ( | const nvsg::Group * | group,
 |  | const nvsg::ClipPlaneSharedPtr & | clipPlane,
 |  | const nvutil::Subject::SmartPayload & | payload
 | ) | [protected, virtual]

Called by the framework before a clipplane will be removed from a Group.

Parameters:
group | The group the clipplane will be removed from.
clipPlane | The clipplane to be removed from the group.
payload | Payload object passed to the Subject::attach method.

The documentation for this class was generated from the following file:
  • Observer.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

Observer Member List

This is the complete list of members for Observer, including all inherited members.

clear(unsigned int state) | Observer |
destroyed(const Subject *subject, const nvutil::Subject::SmartPayload &payload) | Observer |
Observer() (defined in Observer) | Observer |
onDestroyed(const Subject *subject, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPostGroupExchanged(const nvsg::Group *group, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer | [protected, virtual]
onUpdate(const Subject *subject, unsigned int currentState, unsigned int changeState, const nvutil::Subject::SmartPayload &payload) const | Observer | [protected, virtual]
onUpdate(const Subject *subject, PropertyId propertyId, const nvutil::Subject::SmartPayload &payload) const | Observer | [protected, virtual]
postAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer |
postAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const nvutil::Subject::SmartPayload &payload) | Observer |
postAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer |
postGroupExchanged(const nvsg::Group *group, const Subject::SmartPayload &payload) | Observer |
preRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload) | Observer |
preRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane, const Subject::SmartPayload &payload) | Observer |
preRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload &payload) | Observer |
update(const Subject *subject, unsigned int state, const nvutil::Subject::SmartPayload &payload) | Observer |
update(const Subject *subject, PropertyId propertyId, const Subject::SmartPayload &payload) | Observer |
~Observer() (defined in Observer) | Observer | [virtual]

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: OptimizeTraverser Class Reference

nvtraverser::OptimizeTraverser

OptimizeTraverser Class Reference

Base for Traversers that perform some optimizations on a scene. More...

#include <OptimizeTraverser.h>

Inheritance diagram for OptimizeTraverser:

[legend]
Collaboration diagram for OptimizeTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | OptimizeTraverser (void)
Constructor.
NVSG_API bool | getIgnoreNames (void) const
Get the 'ignore names' flag.
NVSG_API void | setIgnoreNames (bool ignore)
Set the 'ignore names' flags.
REFLECTION_INFO_API (NVSG_API, OptimizeTraverser)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (IgnoreNames)

Protected Member Functions

virtual NVSG_API bool | optimizationAllowed (const nvsg::Object *obj)
returns whether we can/should optimize a given object.
virtual NVSG_API | ~OptimizeTraverser (void)
Protected destructor to prevent instantiation of a TreeOptimizeTraverser on stack.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
doApply override

Detailed Description

Base for Traversers that perform some optimizations on a scene.

Constructor & Destructor Documentation

NVSG_API OptimizeTraverser ( void )

Constructor.

virtual NVSG_API ~OptimizeTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a TreeOptimizeTraverser on stack.

Member Function Documentation

bool getIgnoreNames ( void ) const [inline]

Get the 'ignore names' flag.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Returns:
true if the names will be ignored, otherwise false

void setIgnoreNames ( bool ignore ) [inline]

Set the 'ignore names' flags.

If the 'ignore names' flag is set, the names of the GeoNodes are ignored.

Parameters:
ignore set true to ignore names on comparison

virtual NVSG_API bool optimizationAllowed ( const nvsg::Object * obj ) [protected, virtual]

returns whether we can/should optimize a given object.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

doApply override

Reimplemented from ExclusiveTraverser.

Reimplemented in EliminateTraverser, and UnifyTraverser.

The documentation for this class was generated from the following file:
  • OptimizeTraverser.h
Generated on Fri Jul 13 13:30:46 2012 for SceniX


SceniX: Member List

OptimizeTraverser Member List

This is the complete list of members for OptimizeTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DECLARE_STATIC_PROPERTY(IgnoreNames) (defined in OptimizeTraverser) | OptimizeTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | OptimizeTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getIgnoreNames(void) const | OptimizeTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *obj) | OptimizeTraverser | [protected, virtual]
OptimizeTraverser(void) | OptimizeTraverser |
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, OptimizeTraverser) (defined in OptimizeTraverser) | OptimizeTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setIgnoreNames(bool ignore) | OptimizeTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~OptimizeTraverser(void) | OptimizeTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:46 2012 for SceniX


SceniX: OwnedObject Class Template Reference

nvsg::OwnedObject

OwnedObject Class Template Reference

Helper class to hold a vector of owners of an Object. More...

#include <OwnedObject.h>

Inheritance diagram for OwnedObject:

[legend]
Collaboration diagram for OwnedObject:

[legend]
List of all members.

Public Types

typedef nvutil::STLMultiset<
typename nvutil::ObjectTraits<
OwnerType >::WeakPtr > 		OwnerContainer
typedef OwnerContainer::const_iterator | OwnerIterator

Public Member Functions

size_t | getNumberOfOwners () const
Get the number of owners of this OwnedObject.
nvutil::ObjectTraits< OwnerType
>::WeakPtr 		getOwner (OwnerIterator) const
Get the owning OwnerType at position index.
OwnerIterator | ownersBegin () const
OwnerIterator | ownersEnd () const
OwnedObject< OwnerType > & | operator= (const OwnedObject< OwnerType > &rhs)
Assignment operator.
virtual void | notify (const Subject *originator, unsigned int state) const
virtual void | notify (nvutil::PropertyId propertyId) const

Protected Member Functions

OwnedObject ()
Protected default constructor to prevent instantiation of an OwnedObject.
OwnedObject (const Object &rhs)
Protected copy constructor from an Object.
OwnedObject (const OwnedObject< OwnerType > &rhs)
Protected copy constructor from an OwnedObject.
~OwnedObject ()
Protected destructor of an OwnedObject.
void | addOwner (OwnerType *owner)
void | removeOwner (OwnerType *owner)

Friends

template<typename T, typename U>
void | addAsOwnerTo (T *, const nvutil::SmartPtr< U > &)
template<typename T, typename U>
void | removeAsOwnerFrom (T *, const nvutil::SmartPtr< U > &)

Detailed Description

template<typename OwnerType>
class nvsg::OwnedObject< OwnerType >

Helper class to hold a vector of owners of an Object.

Remarks:
Some classes, like Drawable, LightSource, or StateAttribute, need to know all the objects that "own" them, i.e. the objects that are referencing them in the tree hierarchy. This knowledge is needed to carry information from such objects that are not derived from Node "up-tree" to the Nodes that hold them. That is, the "owner-relationship" is similar to the "parent-relationship" of the Nodes. Each OwnedObject can only be owned by one specific type of owners, specified as the template parameter "OwnerType".
See also:
Node

Constructor & Destructor Documentation

OwnedObject ( ) [protected]

Protected default constructor to prevent instantiation of an OwnedObject.

Remarks:
An OwnedObject is not intended to be instantiated, but only classes derived from it.

OwnedObject ( const Object & rhs ) [protected]

Protected copy constructor from an Object.

Remarks:
An OwnedObject is not intended to be instantiated, but only classes derived from it.

OwnedObject ( const OwnedObject< OwnerType > & rhs ) [protected]

Protected copy constructor from an OwnedObject.

Remarks:
An OwnedObject is not intended to be instantiated, but only classes derived from it.

~OwnedObject ( ) [protected]

Protected destructor of an OwnedObject.

Remarks:
An OwnedObject is not intended to be instantiated, but only classes derived from it.

Member Function Documentation

size_t getNumberOfOwners ( ) const [inline]

Get the number of owners of this OwnedObject.

Returns:
Number of owners of this OwnedObject.
Remarks:
An OwnedObject that is part of one or more OwnerType objects holds a pointer back to each of those OwnerType objects. These are called the owners. So the number of owners tells you how often this OwnedObject is referenced in a scene tree.
See also:
getOwner

nvutil::ObjectTraits< OwnerType >::WeakPtr getOwner ( OwnerIterator ) const [inline]

Get the owning OwnerType at position index.

Parameters:
index Position of the OwnerType to get in the list of owners.
Returns:
The OwnerType that owns this OwnedObject.
Remarks:
An OwnedObject that is part of one or more OwnerType objects, holds a pointer back to each of those OnwerType objects. These are called the owners.
Note:
The behavior is undefined if index is greater than or equal to the number of owners.
See also:
getNumberOfOwners

OwnedObject< OwnerType > & operator= ( const OwnedObject< OwnerType > & rhs ) [inline]

Assignment operator.

Parameters:
rhs A reference to the constant OwnedObject to copy from
Returns:
A reference to the assigned OwnedObject
Remarks:
The assignment operator calls the assignment operator of Object.
Note:
The owners of rhs are not copied.
See also:
Object

The documentation for this class was generated from the following file:
  • OwnedObject.h
Generated on Fri Jul 13 13:30:11 2012 for SceniX


SceniX: Member List

OwnedObject Member List

This is the complete list of members for OwnedObject, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addAsOwnerTo (defined in OwnedObject) | OwnedObject | [friend]
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(OwnerType *owner) (defined in OwnedObject) | OwnedObject | [inline, protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject) | OwnedObject | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject) | OwnedObject | [inline, virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const OwnedObject< OwnerType > &rhs) | OwnedObject | [inline]
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject | [protected]
OwnedObject(const Object &rhs) | OwnedObject | [protected]
OwnedObject(const OwnedObject< OwnerType > &rhs) | OwnedObject | [protected]
OwnerContainer typedef (defined in OwnedObject) | OwnedObject |
OwnerIterator typedef (defined in OwnedObject) | OwnedObject |
ownersBegin() const (defined in OwnedObject) | OwnedObject | [inline]
ownersEnd() const (defined in OwnedObject) | OwnedObject | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeAsOwnerFrom (defined in OwnedObject) | OwnedObject | [friend]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(OwnerType *owner) (defined in OwnedObject) | OwnedObject | [inline, protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject | [protected]

Generated on Fri Jul 13 13:30:11 2012 for SceniX


SceniX: ParallelCamera Class Reference

nvsg::ParallelCamera

ParallelCamera Class Reference

Class describing a parallel (non-perspective) Camera. More...

#include <ParallelCamera.h>

Inheritance diagram for ParallelCamera:

[legend]
Collaboration diagram for ParallelCamera:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API nvmath::Mat44f | getProjection () const
Get the projection matrix of this ParallelCamera.
virtual NVSG_API nvmath::Mat44f | getInverseProjection () const
Get the inverse projection matrix of this ParallelCamera.
virtual NVSG_API void | getPickRay (int x, int y, int w, int h, nvmath::Vec3f &rayOrigin, nvmath::Vec3f &rayDir) const
Get a pick ray in world coordinates for a given screen point.
NVSG_API ParallelCamera & | operator= (const ParallelCamera &rhs)
Assignment operator.
virtual NVSG_API CullCode | determineCullCode (const nvmath::Sphere3f &sphere) const
Determine the CullCode of a Sphere3f relative to the view volume.
REFLECTION_INFO_API (NVSG_API, ParallelCamera)

Static Public Member Functions

static NVSG_API ParallelCameraSharedPtr | create ()

Protected Member Functions

NVSG_API | ParallelCamera ()
Default-constructs a ParallelCamera.
NVSG_API | ParallelCamera (const ParallelCamera &rhs)
Copy-constructs a ParallelCamera from another ParallelCamera.
virtual NVSG_API | ~ParallelCamera ()

Detailed Description

Class describing a parallel (non-perspective) Camera.

Namespace: nvsg
Remarks:
A ParallelCamera overwrites the projection-specific functions of a FrustumCamera.
See also:
Camera, FrustumCamera, PerspectiveCamera

Constructor & Destructor Documentation

NVSG_API ParallelCamera ( ) [protected]

Default-constructs a ParallelCamera.

Remarks:
The ParallelCamera initially is positioned at (0.0,0.0,1.0), has the y-axis as up-vector and looks down the negative z-axis.

NVSG_API ParallelCamera ( const ParallelCamera & rhs ) [protected]

Copy-constructs a ParallelCamera from another ParallelCamera.

virtual NVSG_API ~ParallelCamera ( ) [protected, virtual]

Destructs a ParallelCamera.

Member Function Documentation

virtual NVSG_API nvmath::Mat44f getProjection ( ) const [virtual]

Get the projection matrix of this ParallelCamera.

Returns:
The projection transformation.
See also:
FrustumCamera, getInverseProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implements Camera.

virtual NVSG_API nvmath::Mat44f getInverseProjection ( ) const [virtual]

Get the inverse projection matrix of this ParallelCamera.

Returns:
The inverse projection transformation.
See also:
FrustumCamera, getProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implements Camera.

virtual NVSG_API void getPickRay | ( | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | nvmath::Vec3f & | rayOrigin,
 |  | nvmath::Vec3f & | rayDir
 | ) | const [virtual]

Get a pick ray in world coordinates for a given screen point.

Parameters:
x | x-coordinate of the input screen point.
y | y-coordinate of the input screen point.
w | Width of the screen window in pixels.
h | Height of the screen window in pixels.
rayOrigin | Reference to an nvmath::Vec3f to get the ray origin.
rayDir | Reference to an nvmath::Vec3f to get the ray direction.
Remarks:
The function returns in rayOrigin the origin, and in rayDir the direction of the pick ray calculated from the screen point specified by its x and y coordinate. The pick ray is a ray parallel to the camera direction, starting from a point, that is a displacement of the camera position parallel to the projection plane.
Note:
A screen point of (0,0) indicates the lower left of the currently considered screen window.

Implements FrustumCamera.

NVSG_API ParallelCamera& operator= ( const ParallelCamera & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant ParallelCamera to copy from.
Returns:
A reference to the assigned ParallelCamera.
Remarks:
The assignment operator calls the assignment operator of FrustumCamera.

virtual NVSG_API CullCode determineCullCode ( const nvmath::Sphere3f & sphere ) const [virtual]

Determine the CullCode of a Sphere3f relative to the view volume.

Parameters:
sphere A reference to the constant Sphere3f to determine the CullCode for.
Returns:
CC_IN, if the Sphere3f sphere is completely inside the view volume; CC_OUT if it is completely out of the view volume; otherwise CC_PART.

Implements Camera.

The documentation for this class was generated from the following file:
  • ParallelCamera.h
Generated on Fri Jul 13 13:30:11 2012 for SceniX


SceniX: Member List

ParallelCamera Member List

This is the complete list of members for ParallelCamera, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHeadLight(const LightSourceSharedPtr &light) | Camera |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginHeadLights() const | Camera | [inline]
beginHeadLights() | Camera | [inline]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | FrustumCamera |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
Camera(void) | Camera | [protected]
Camera(const Camera &rhs) | Camera | [protected]
clearAppTraverserCallbacks() | Object | [inline]
clearHeadLights(void) | Camera |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in ParallelCamera) | ParallelCamera | [static]
DECLARE_STATIC_PROPERTY(FarDistance) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(NearDistance) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowOffset) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowSize) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowRegion) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(AspectRatio) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(Position) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Direction) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(UpVector) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(FocusDistance) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineCullCode(const nvmath::Sphere3f &sphere) const | ParallelCamera | [virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endHeadLights() const | Camera | [inline]
endHeadLights() | Camera | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | FrustumCamera | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
FrustumCamera() | FrustumCamera | [protected]
FrustumCamera(const FrustumCamera &rhs) | FrustumCamera | [protected]
getAnnotation() const | Object |
getAspectRatio(void) const | FrustumCamera |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDirection(void) const | Camera | [inline]
getFarDistance(void) const | FrustumCamera |
getFocusDistance(void) const | Camera | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverseProjection() const | ParallelCamera | [virtual]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNearDistance(void) const | FrustumCamera |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfHeadLights(void) const | Camera | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const | Camera | [inline]
getPickRay(int x, int y, int w, int h, nvmath::Vec3f &rayOrigin, nvmath::Vec3f &rayDir) const | ParallelCamera | [virtual]
getPosition(void) const | Camera | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getProjection() const | ParallelCamera | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUpVector(void) const | Camera | [inline]
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getViewToWorldMatrix(void) const | Camera |
getWindowOffset(void) const | FrustumCamera |
getWindowRegion() const | FrustumCamera |
getWindowSize(void) const | FrustumCamera |
getWorldToViewMatrix(void) const | Camera |
HeadLightConstIterator typedef | Camera |
HeadLightContainer typedef | Camera |
HeadLightIterator typedef | Camera |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
move(const nvmath::Vec3f &delta, bool cameraRelative=true) | Camera |
moveX(float val) | Camera | [inline]
moveY(float val) | Camera | [inline]
moveZ(float val) | Camera | [inline]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const ParallelCamera &rhs) | ParallelCamera |
nvsg::FrustumCamera::operator=(const FrustumCamera &rhs) | FrustumCamera | [protected]
nvsg::Camera::operator=(const Camera &rhs) | Camera | [protected]
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
orbit(const nvmath::Vec3f &axis, float targetDistance, float angle, bool cameraRelative=true) | Camera |
orbitX(float targetDistance, float angle) | Camera | [inline]
orbitY(float targetDistance, float angle) | Camera | [inline]
orbitZ(float targetDistance, float angle) | Camera | [inline]
ParallelCamera() | ParallelCamera | [protected]
ParallelCamera(const ParallelCamera &rhs) | ParallelCamera | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, ParallelCamera) (defined in ParallelCamera) | ParallelCamera |
REFLECTION_INFO_API(NVSG_API, FrustumCamera) (defined in FrustumCamera) | FrustumCamera |
REFLECTION_INFO_API(NVSG_API, Camera) (defined in Camera) | Camera |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHeadLight(const LightSourceSharedPtr &light) | Camera |
removeHeadLight(const HeadLightIterator &light) | Camera |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
replaceHeadLight(const LightSourceSharedPtr &newLight, const LightSourceSharedPtr &oldLight) | Camera |
replaceHeadLight(const LightSourceSharedPtr &newLight, const HeadLightIterator &oldLight) | Camera |
rotate(const nvmath::Vec3f &axis, float angle, bool cameraRelative=true) | Camera |
rotateX(float angle) | Camera | [inline]
rotateY(float angle) | Camera | [inline]
rotateZ(float angle) | Camera | [inline]
setAnnotation(const std::string &anno) | Object |
setAspectRatio(float ar, bool keepWidth) | FrustumCamera |
setAspectRatio(float ar) | FrustumCamera |
setDirection(const nvmath::Vec3f &dir) | Camera |
setFarDistance(float fd) | FrustumCamera |
setFocusDistance(float fd) | Camera | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setNearDistance(float nd) | FrustumCamera |
setOrientation(const nvmath::Quatf &quat) | Camera |
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | Camera |
setPosition(const nvmath::Vec3f &pos) | Camera |
setTraversalMask(unsigned int mask) | Object | [inline]
setUpVector(const nvmath::Vec3f &up) | Camera |
setUserData(const void *userData) | Object | [inline]
setViewToWorldMatrix(const nvmath::Mat44f &m) | Camera |
setWindowOffset(const nvmath::Vec2f &offset) | FrustumCamera |
setWindowRegion(const nvmath::Box2f &region) | FrustumCamera |
setWindowSize(const nvmath::Vec2f &size) | FrustumCamera |
setWorldToViewMatrix(const nvmath::Mat44f &m) | Camera |
syncIncarnation(PFNGETINCARNATION) const (defined in Camera) | Camera | [protected, virtual]
zoom(float factor) | FrustumCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f, bool adjustClipPlanes=true) | FrustumCamera |
~Camera(void) | Camera | [virtual]
~FrustumCamera() | FrustumCamera | [virtual]
~Object() | Object | [virtual]
~ParallelCamera() | ParallelCamera | [protected, virtual]

Generated on Fri Jul 13 13:30:11 2012 for SceniX


SceniX: parameter_t Struct Reference

parameter_t Struct Reference

The parameter_t structure specifies how a parameter is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for parameter_t:

[legend]
List of all members.

Public Types

enum {
PTYPE_BUFFER = BIT0, PTYPE_TEXTURE = BIT1, PTYPE_FLOAT = BIT2, PTYPE_INT = BIT3,
PTYPE_UINT = BIT4
}

Public Attributes

str_t name
Specifies the tweakable's name as it appears in the effect source.
uint_t type
Specifies the type of the tweakable.
uint_t numComponents
Specifies the number of values stored. For a float4-typed parameter, for example, this is 4.
uint_t param
Specifies the file offset to either the elements.

Detailed Description

The parameter_t structure specifies how a parameter is stored in a .NBF file.

Tweakables need to be considered in conjunction with NBFRTFx objects.

Member Data Documentation

str_t name

Specifies the tweakable's name as it appears in the effect source.

uint_t type

Specifies the type of the tweakable.

uint_t numComponents

Specifies the number of values stored. For a float4-typed parameter, for example, this is 4.

uint_t param

Specifies the file offset to either the elements.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Member List

parameter_t Member List

This is the complete list of members for parameter_t, including all inherited members.

name | parameter_t
numComponents | parameter_t
param | parameter_t
PTYPE_BUFFER enum value (defined in parameter_t) | parameter_t
PTYPE_FLOAT enum value (defined in parameter_t) | parameter_t
PTYPE_INT enum value (defined in parameter_t) | parameter_t
PTYPE_TEXTURE enum value (defined in parameter_t) | parameter_t
PTYPE_UINT enum value (defined in parameter_t) | parameter_t
type | parameter_t

Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: PatchesBase Class Reference

nvsg::PatchesBase

PatchesBase Class Reference

Base class for various Patches classes. More...

#include <PatchesBase.h>

Inheritance diagram for PatchesBase:

[legend]
Collaboration diagram for PatchesBase:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~PatchesBase ()
Destructs a PatchesBase.
NVSG_API bool | hasPatches () const
Query if this PatchesBase has patches.
NVSG_API unsigned int | getNumberOfPatches () const
Get the number of patches.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other PatchesBase.
virtual NVSG_API unsigned int | getHigherLevelObjectCode (unsigned int oc) const
Returns the higher-level object code for a given object code.
REFLECTION_INFO_API (NVSG_API, PatchesBase)

Protected Member Functions

NVSG_API | PatchesBase ()
Default-constructs a PatchesBase.
NVSG_API | PatchesBase (const PatchesBase &rhs)
Constructs a PatchesBase as a copy from another PatchesBase.
NVSG_API void | setNumberOfVerticesPerPatch (unsigned int verticesPerPatch)
Set the number of vertices per patch.
NVSG_API PatchesBase & | operator= (const PatchesBase &rhs)
Assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Base class for various Patches classes.

Namespace: nvsg
Remarks:
A PatchesBase is an IndependentPrimitiveSet that holds an array of index-tuples of a specified size. The size of the tuples is specified by the classes deriving form PatchesBase. Each of these tuples describe a patch with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, Points, Lines, Quads

Constructor & Destructor Documentation

virtual NVSG_API ~PatchesBase ( ) [virtual]

Destructs a PatchesBase.

NVSG_API PatchesBase ( ) [protected]

Default-constructs a PatchesBase.

NVSG_API PatchesBase ( const PatchesBase & rhs ) [protected]

Constructs a PatchesBase as a copy from another PatchesBase.

Member Function Documentation

bool hasPatches ( ) const [inline]

Query if this PatchesBase has patches.

Returns:
true, if this PatchesBase has at least the number of indices specified by setNumberOfVerticesPerPatch, otherwise false.
Remarks:
Each such set of successive indices represent one patch.
See also:
setNumberOfVerticesPerPatch, getNumberOfVerticesPerPatch, getNumberOfPatches

unsigned int getNumberOfPatches ( ) const [inline]

Get the number of patches.

Returns:
The number of indices of this Patches divided by the number of indices per patch, as specified by setNumberOfVerticesPerPatch.
Remarks:
Each such set of successive indices represent one patch.
See also:
setNumberOfVerticesPerPatch, getNumberOfVerticesPerPatch, hasPatches

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other PatchesBase.

Parameters:
p | A reference to the constant PatchesBase to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the PatchesBase p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as IndependentPrimitiveSet and have the same number of vertices per patch.
Note:
The behavior is undefined if p is not a PatchesBase nor derived from one.
See also:
IndependentPrimitiveSets

Reimplemented from Primitive.

unsigned int getHigherLevelObjectCode ( unsigned int oc ) const [inline, virtual]

Returns the higher-level object code for a given object code.

Parameters:
oc Object code for which to retrieve the associated higher-level object code.
Returns:
OC_PRIMITIVE, if oc is the object code of this, otherwise OC_INVALID.
Note:
A PatchesBase essentially just is a Primitive. Thus, it can be handled as a Primitive, if the Traverser doesn't have an handler for the Patches.
See also:
getObjectCode

Reimplemented from Object.

void setNumberOfVerticesPerPatch ( unsigned int verticesPerPatch ) [inline, protected]

Set the number of vertices per patch.

Parameters:
verticesPerPatch The number of vertices per patch.
Remarks:
Each consecutive set of verticesPerPatch indices are treated as one patch.
See also:
getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

Reimplemented from Primitive.

NVSG_API PatchesBase& operator= ( const PatchesBase & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant PatchesBase to copy from.
Returns:
A reference to the assigned PatchesBase.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Primitive.

Reimplemented in QuadPatches, RectPatches, and TriPatches.

The documentation for this class was generated from the following file:
  • PatchesBase.h
Generated on Fri Jul 13 13:30:12 2012 for SceniX


SceniX: Member List

PatchesBase Member List

This is the complete list of members for PatchesBase, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | Primitive | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Primitive | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Primitive) | Primitive | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | PatchesBase | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | PatchesBase | [inline, virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPatches() const | PatchesBase | [inline]
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasPatches() const | PatchesBase | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PatchesBase | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const PatchesBase &rhs) | PatchesBase | [protected]
nvsg::Primitive::operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PatchesBase() | PatchesBase | [protected]
PatchesBase(const PatchesBase &rhs) | PatchesBase | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, PatchesBase) (defined in PatchesBase) | PatchesBase |
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int verticesPerPatch) | PatchesBase | [inline, protected]
setPrimitiveType(PrimitiveType t) | Primitive |
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PatchesBase() | PatchesBase | [virtual]
~Primitive() | Primitive | [protected, virtual]

Generated on Fri Jul 13 13:30:12 2012 for SceniX


SceniX: Path Class Reference

nvsg::Path

Path Class Reference

Class that represents a path through the tree. More...

#include <Path.h>

Inheritance diagram for Path:

[legend]
Collaboration diagram for Path:

[legend]
List of all members.

Public Member Functions

NVSG_API | Path ()
Construct a Path object.
NVSG_API | Path (const Path &rhs)
Copy constructor.
NVSG_API unsigned int | getLength () const
Get the length of the path through the graph.
NVSG_API bool | isEmpty () const
Test an empty path.
NVSG_API ObjectWeakPtr | getHead () const
Get the head object of the path.
NVSG_API ObjectWeakPtr | getTail () const
Get the tail object of the path.
NVSG_API ObjectWeakPtr | getFromHead (unsigned int i) const
Get an object on the path.
NVSG_API ObjectWeakPtr | getFromTail (unsigned int i) const
Get an object on the path.
NVSG_API void | pop ()
Remove the last object from the path.
NVSG_API void | push (const ObjectWeakPtr &pObject)
Append an object to the path chain.
NVSG_API void | truncate (unsigned int start)
Remove several objects from the path chain.
NVSG_API void | getModelToWorldMatrix (nvmath::Mat44f &modelToWorld, nvmath::Mat44f &worldToModel) const
Get the ModelToWorld and WorldToModel matrices along the path.
NVSG_API bool | operator== (const Path &rhs) const
Compares two Path instances.
NVSG_API bool | operator!= (const Path &rhs) const
Compares two Path instances.
NVSG_API bool | operator< (const Path &rhs) const
Compares two Path instances.

Protected Member Functions

virtual NVSG_API | ~Path ()
Prohibit explicit creation on stack by making the destructor protected.

Detailed Description

Class that represents a path through the tree.

Namespace: nvsg
Remarks:
A Path represents a scene graph or subgraph. It contains pointers to a chain of objects, each being a child of the previous object.
A path can hold any kind of Object-derived objects (even Drawables).

Constructor & Destructor Documentation

NVSG_API Path ( )

Construct a Path object.

NVSG_API Path ( const Path & rhs )

Copy constructor.

Parameters:
rhs Reference to a constant Path object.
Remarks:
This copy constructor creates an exact copy of the provided Path object.
Internally this class holds a vector of node pointer representing the path through the graph. This copy constructor does not perform a deep copy on the pointers in the vector. It simply copies the pointers.

virtual NVSG_API ~Path ( ) [protected, virtual]

Prohibit explicit creation on stack by making the destructor protected.

Member Function Documentation

unsigned int getLength ( ) const [inline]

Get the length of the path through the graph.

Returns:
The number of nodes in the path chain.
Remarks:
The path length is the exact number of nodes in the path chain.

bool isEmpty ( ) const [inline]

Test an empty path.

Returns:
When there is no node in the path chain, this function returns true.
Remarks:
Testing on emptiness with this function is possibly faster than testing the length.

ObjectWeakPtr getHead ( ) const [inline]

Get the head object of the path.

Returns:
This function returns a pointer to the constant head object or NULL when the path is empty.
Remarks:
The head object is the first object in the path chain. the call Path::getFromHead(0) is equivalent to Path::getHead().
See also:
getTail, getFromHead, getFromTail

ObjectWeakPtr getTail ( ) const [inline]

Get the tail object of the path.

Returns:
This function returns a pointer to the constant tail object or NULL when the path is empty.
Remarks:
The tail object is the last object in the path chain. the call Path::getFromTail(0) is equivalent to Path::getTail().
See also:
getHead, getFromHead, getFromTail

ObjectWeakPtr getFromHead ( unsigned int i ) const [inline]

Get an object on the path.

Parameters:
i Null based index of the node to get from the path. The behavior of this function is undefined for an invalid index.
Returns:
Pointer to the constant object with the index i.
Remarks:
The returned object is the object at the requested position. Providing an index of 0 corresponds to the call to Path::getHead.
See also:
getHead, getFromHead, getFromTail

ObjectWeakPtr getFromTail ( unsigned int i ) const [inline]

Get an object on the path.

Parameters:
i Null based index of the node to get from the path. The behavior of this function is undefined for an invalid index.
Returns:
Pointer to the constant object with the index i.
Remarks:
The returned object is the object at the requested position. Providing an index of 0 corresponds to the call to Path::getTail.
See also:
getTail, getFromHead, getFromTail

void pop ( ) [inline]

Remove the last object from the path.

Remarks:
This function simply removes the last (tail) object from the current path chain. It also handles decrementing the reference count of the removed object.
Calling this function on an empty path will lead to undefined behavior.
See also:
push, truncate

NVSG_API void push ( const ObjectWeakPtr & pObject )

Append an object to the path chain.

Parameters:
pObject Pointer to a constant Object. Providing an invalid pointer or a NULL pointer will lead to undefined behavior.
Remarks:
This function appends the given Object to the end of the path chain. It also correctly increments the reference count of the provide object.
See also:
pop, truncate

NVSG_API void truncate ( unsigned int start )

Remove several objects from the path chain.

Parameters:
start The start index where the removal starts. Providing an invalid start index will lead to undefined behavior.
Remarks:
This function removes all following objects beginning from the start index from the path chain, including the object at the start index. It correctly decrements the reference counts of all the removed objects.
Calling Path::truncate(0) will remove all objects from the path chain.
See also:
pop, push

NVSG_API void getModelToWorldMatrix | ( | nvmath::Mat44f & | modelToWorld,
 |  | nvmath::Mat44f & | worldToModel
 | ) | const

Get the ModelToWorld and WorldToModel matrices along the path.

Parameters:
modelToWorld | Reference for returning the ModelToWorld matrix, excluding the tail node transformation.
worldToModel | Reference for returning the WorldToModel matrix, excluding the tail node transformation.
Remarks:
The accumulated matrices do not contain the tail node transformation. These matrices are very handy in the nvui::TransformManipulator derived classes. nvui::TransformManipulator

bool operator== ( const Path & rhs ) const [inline]

Compares two Path instances.

Parameters:
rhs The Path instance to compare with.
Returns:
true if the two instances are equal, that is - if both represent the same path. false otherwise.

bool operator!= ( const Path & rhs ) const [inline]

Compares two Path instances.

Parameters:
rhs The Path instance to compare with.
Returns:
true if the two instances are not equal, that is - if both don't represent the same path. false otherwise.

bool operator< ( const Path & rhs ) const [inline]

Compares two Path instances.

Parameters:
rhs The Path instance to compare with.
Returns:
true if 'this' is less than rhs, that is - rhs is deeper than 'this'; or the depths are equivalent, but the paths are different. false otherwise.

The documentation for this class was generated from the following file:
  • Path.h
Generated on Fri Jul 13 13:30:12 2012 for SceniX


SceniX: Member List

Path Member List

This is the complete list of members for Path, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getFromHead(unsigned int i) const | Path | [inline]
getFromTail(unsigned int i) const | Path | [inline]
getHead() const | Path | [inline]
getLength() const | Path | [inline]
getModelToWorldMatrix(nvmath::Mat44f &modelToWorld, nvmath::Mat44f &worldToModel) const | Path |
getTail() const | Path | [inline]
IAllocator() | IAllocator | [inline]
isEmpty() const | Path | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator!=(const Path &rhs) const | Path | [inline]
operator<(const Path &rhs) const | Path | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator==(const Path &rhs) const | Path | [inline]
Path() | Path |
Path(const Path &rhs) | Path |
pop() | Path | [inline]
push(const ObjectWeakPtr &pObject) | Path |
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
truncate(unsigned int start) | Path |
~IAllocator() | IAllocator | [inline, virtual]
~Path() | Path | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:12 2012 for SceniX


SceniX: PerspectiveCamera Class Reference

nvsg::PerspectiveCamera

PerspectiveCamera Class Reference

Class describing a perspective Camera. More...

#include <PerspectiveCamera.h>

Inheritance diagram for PerspectiveCamera:

[legend]
Collaboration diagram for PerspectiveCamera:

[legend]
List of all members.

Public Member Functions

NVSG_API float | getFieldOfView () const
Get the field of view.
NVSG_API void | setFieldOfView (float fov)
Set the field of view.
virtual NVSG_API void | setFocusDistance (float fd)
Set the distance to the projection plane.
virtual NVSG_API nvmath::Mat44f | getProjection () const
Get the projection matrix of this PerspectiveCamera.
virtual NVSG_API nvmath::Mat44f | getInverseProjection () const
Get the inverse projection matrix of this PerspectiveCamera.
virtual NVSG_API void | getPickRay (int x, int y, int w, int h, nvmath::Vec3f &rayOrigin, nvmath::Vec3f &rayDir) const
Get a pick ray in world coordinates for a given screen point.
NVSG_API PerspectiveCamera & | operator= (const PerspectiveCamera &rhs)
Assignment operator.
virtual NVSG_API CullCode | determineCullCode (const nvmath::Sphere3f &sphere) const
Determine the CullCode of a Sphere3f relative to the view frustum.
REFLECTION_INFO_API (NVSG_API, PerspectiveCamera)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (FieldOfView)

Static Public Member Functions

static NVSG_API PerspectiveCameraSharedPtr | create ()

Protected Member Functions

NVSG_API | PerspectiveCamera ()
Default-constructs a PerspectiveCamera.
NVSG_API | PerspectiveCamera (const PerspectiveCamera &rhs)
Copy-constructs a PerspectiveCamera from another PerspectiveCamera.
virtual NVSG_API | ~PerspectiveCamera ()

Detailed Description

Class describing a perspective Camera.

Namespace: nvsg
Remarks:
A PerspectiveCamera overwrites the projection specific functions of a Camera.
See also:
Camera, FrustumCamera, ParallelCamera

Constructor & Destructor Documentation

NVSG_API PerspectiveCamera ( ) [protected]

Default-constructs a PerspectiveCamera.

Remarks:
The PerspectiveCamera initially is positioned at (0.0,0.0,1.0), has the y-axis as up-vector and looks down the negative z-axis.

NVSG_API PerspectiveCamera ( const PerspectiveCamera & rhs ) [protected]

Copy-constructs a PerspectiveCamera from another PerspectiveCamera.

virtual NVSG_API ~PerspectiveCamera ( ) [protected, virtual]

Destructs a PerspectiveCamera.

Member Function Documentation

float getFieldOfView ( ) const [inline]

Get the field of view.

Returns:
The field of view in radians.
Remarks:
The field of view is the complete view angle (in radians) in the y-direction.
See also:
setFieldOfView

NVSG_API void setFieldOfView ( float fov )

Set the field of view.

Parameters:
fov The field of view in radians.
Remarks:
The field of view is the complete view angle (in radians) in the y-direction.
See also:
getFieldOfView

virtual NVSG_API void setFocusDistance ( float fd ) [virtual]

Set the distance to the projection plane.

Parameters:
fd The distance from the PerspectiveCamera to the projection plane.
Remarks:
Setting the focus distance keeps the field of view constant. Therefore, the window size is adjusted accordingly.
See also:
getFieldOfView, getFocusDistance

Reimplemented from Camera.

virtual NVSG_API nvmath::Mat44f getProjection ( ) const [virtual]

Get the projection matrix of this PerspectiveCamera.

Returns:
The projection transformation.
See also:
Camera, getInverseProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implements Camera.

virtual NVSG_API nvmath::Mat44f getInverseProjection ( ) const [virtual]

Get the inverse projection matrix of this PerspectiveCamera.

Returns:
The inverse projection transformation.
See also:
Camera, getProjection, getWorldToViewMatrix, getViewToWorldMatrix

Implements Camera.

virtual NVSG_API void getPickRay | ( | int | x,
 |  | int | y,
 |  | int | w,
 |  | int | h,
 |  | nvmath::Vec3f & | rayOrigin,
 |  | nvmath::Vec3f & | rayDir
 | ) | const [virtual]

Get a pick ray in world coordinates for a given screen point.

Parameters:
x | x-coordinate of the input screen point.
y | y-coordinate of the input screen point.
w | Width of the screen window in pixels.
h | Height of the screen window in pixels.
rayOrigin | Reference to an nvmath::Vec3f to get the ray origin.
rayDir | Reference to an nvmath::Vec3f to get the ray direction.
Remarks:
The function returns in rayOrigin the origin, and in rayDir the direction of the pick ray calculated from the screen point specified by its x and y coordinate. The ray origin is the camera position.
Note:
A screen point of (0,0) indicates the lower left of the currently considered screen window.

Implements FrustumCamera.

NVSG_API PerspectiveCamera& operator= ( const PerspectiveCamera & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant PerspectiveCamera to copy from.
Returns:
A reference to the assigned PerspectiveCamera.
Remarks:
The assignment operator calls the assignment operator of FrustumCamera.

virtual NVSG_API CullCode determineCullCode ( const nvmath::Sphere3f & sphere ) const [virtual]

Determine the CullCode of a Sphere3f relative to the view frustum.

Parameters:
sphere A reference to the constant Sphere3f to determine the CullCode for.
Returns:
CC_IN, if the Sphere3f sphere is completely inside the view frustum; CC_OUT if it is completely out of the view frustum; otherwise CC_PART.

Implements Camera.

The documentation for this class was generated from the following file:
  • PerspectiveCamera.h
Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: Member List

PerspectiveCamera Member List

This is the complete list of members for PerspectiveCamera, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHeadLight(const LightSourceSharedPtr &light) | Camera |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginHeadLights() const | Camera | [inline]
beginHeadLights() | Camera | [inline]
calcNearFarDistances(const nvmath::Sphere3f &sphere) | FrustumCamera |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
Camera(void) | Camera | [protected]
Camera(const Camera &rhs) | Camera | [protected]
clearAppTraverserCallbacks() | Object | [inline]
clearHeadLights(void) | Camera |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in PerspectiveCamera) | PerspectiveCamera | [static]
DECLARE_STATIC_PROPERTY(FieldOfView) (defined in PerspectiveCamera) | PerspectiveCamera |
DECLARE_STATIC_PROPERTY(FarDistance) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(NearDistance) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowOffset) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowSize) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(WindowRegion) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(AspectRatio) (defined in FrustumCamera) | FrustumCamera |
DECLARE_STATIC_PROPERTY(Position) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Direction) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(UpVector) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(FocusDistance) (defined in Camera) | Camera |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineCullCode(const nvmath::Sphere3f &sphere) const | PerspectiveCamera | [virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endHeadLights() const | Camera | [inline]
endHeadLights() | Camera | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | FrustumCamera | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
FrustumCamera() | FrustumCamera | [protected]
FrustumCamera(const FrustumCamera &rhs) | FrustumCamera | [protected]
getAnnotation() const | Object |
getAspectRatio(void) const | FrustumCamera |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDirection(void) const | Camera | [inline]
getFarDistance(void) const | FrustumCamera |
getFieldOfView() const | PerspectiveCamera | [inline]
getFocusDistance(void) const | Camera | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverseProjection() const | PerspectiveCamera | [virtual]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNearDistance(void) const | FrustumCamera |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfHeadLights(void) const | Camera | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const | Camera | [inline]
getPickRay(int x, int y, int w, int h, nvmath::Vec3f &rayOrigin, nvmath::Vec3f &rayDir) const | PerspectiveCamera | [virtual]
getPosition(void) const | Camera | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getProjection() const | PerspectiveCamera | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUpVector(void) const | Camera | [inline]
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getViewToWorldMatrix(void) const | Camera |
getWindowOffset(void) const | FrustumCamera |
getWindowRegion() const | FrustumCamera |
getWindowSize(void) const | FrustumCamera |
getWorldToViewMatrix(void) const | Camera |
HeadLightConstIterator typedef | Camera |
HeadLightContainer typedef | Camera |
HeadLightIterator typedef | Camera |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
move(const nvmath::Vec3f &delta, bool cameraRelative=true) | Camera |
moveX(float val) | Camera | [inline]
moveY(float val) | Camera | [inline]
moveZ(float val) | Camera | [inline]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const PerspectiveCamera &rhs) | PerspectiveCamera |
nvsg::FrustumCamera::operator=(const FrustumCamera &rhs) | FrustumCamera | [protected]
nvsg::Camera::operator=(const Camera &rhs) | Camera | [protected]
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
orbit(const nvmath::Vec3f &axis, float targetDistance, float angle, bool cameraRelative=true) | Camera |
orbitX(float targetDistance, float angle) | Camera | [inline]
orbitY(float targetDistance, float angle) | Camera | [inline]
orbitZ(float targetDistance, float angle) | Camera | [inline]
PerspectiveCamera() | PerspectiveCamera | [protected]
PerspectiveCamera(const PerspectiveCamera &rhs) | PerspectiveCamera | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, PerspectiveCamera) (defined in PerspectiveCamera) | PerspectiveCamera |
REFLECTION_INFO_API(NVSG_API, FrustumCamera) (defined in FrustumCamera) | FrustumCamera |
REFLECTION_INFO_API(NVSG_API, Camera) (defined in Camera) | Camera |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHeadLight(const LightSourceSharedPtr &light) | Camera |
removeHeadLight(const HeadLightIterator &light) | Camera |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
replaceHeadLight(const LightSourceSharedPtr &newLight, const LightSourceSharedPtr &oldLight) | Camera |
replaceHeadLight(const LightSourceSharedPtr &newLight, const HeadLightIterator &oldLight) | Camera |
rotate(const nvmath::Vec3f &axis, float angle, bool cameraRelative=true) | Camera |
rotateX(float angle) | Camera | [inline]
rotateY(float angle) | Camera | [inline]
rotateZ(float angle) | Camera | [inline]
setAnnotation(const std::string &anno) | Object |
setAspectRatio(float ar, bool keepWidth) | FrustumCamera |
setAspectRatio(float ar) | FrustumCamera |
setDirection(const nvmath::Vec3f &dir) | Camera |
setFarDistance(float fd) | FrustumCamera |
setFieldOfView(float fov) | PerspectiveCamera |
setFocusDistance(float fd) | PerspectiveCamera | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setNearDistance(float nd) | FrustumCamera |
setOrientation(const nvmath::Quatf &quat) | Camera |
setOrientation(const nvmath::Vec3f &dir, const nvmath::Vec3f &up) | Camera |
setPosition(const nvmath::Vec3f &pos) | Camera |
setTraversalMask(unsigned int mask) | Object | [inline]
setUpVector(const nvmath::Vec3f &up) | Camera |
setUserData(const void *userData) | Object | [inline]
setViewToWorldMatrix(const nvmath::Mat44f &m) | Camera |
setWindowOffset(const nvmath::Vec2f &offset) | FrustumCamera |
setWindowRegion(const nvmath::Box2f &region) | FrustumCamera |
setWindowSize(const nvmath::Vec2f &size) | FrustumCamera |
setWorldToViewMatrix(const nvmath::Mat44f &m) | Camera |
syncIncarnation(PFNGETINCARNATION) const (defined in Camera) | Camera | [protected, virtual]
zoom(float factor) | FrustumCamera | [virtual]
zoom(const nvmath::Sphere3f &sphere, float fovy=-1.0f, bool adjustClipPlanes=true) | FrustumCamera |
~Camera(void) | Camera | [virtual]
~FrustumCamera() | FrustumCamera | [virtual]
~Object() | Object | [virtual]
~PerspectiveCamera() | PerspectiveCamera | [protected, virtual]

Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: plane_t Struct Reference

plane_t Struct Reference

The plane_t structure specifies how a clipping plane is stored in an .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t active
Specifies if this plane is active.
float3_t normal
Specifies the normal of the plane.
float offset
Specifies the offset of the plane.

Detailed Description

The plane_t structure specifies how a clipping plane is stored in an .NBF file.

Member Data Documentation

uint_t active

Specifies if this plane is active.

float3_t normal

Specifies the normal of the plane.

float offset

Specifies the offset of the plane.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Member List

plane_t Member List

This is the complete list of members for plane_t, including all inherited members.

active | plane_t
normal | plane_t
offset | plane_t

Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Planent Class Template Reference

nvmath::Planent

Planent Class Template Reference

Plane class. More...

#include <Planent.h>

Collaboration diagram for Planent:

[legend]
List of all members.

Public Member Functions

Planent ()
Default constructor.
Planent (const Vecnt< n, T > &normal, T offset)
Constructor by normal and an offset.
Planent (const Vecnt< n, T > &normal, const Vecnt< n, T > &p)
Constructor by normal and a point on the plane.
Planent (const Vecnt< n, T > &p0, const Vecnt< n, T > &p1, const Vecnt< n, T > &p2)
Constructor by three points on the plane.
const Vecnt< n, T > & | getNormal () const
Get the normal of the plane.
T | getOffset () const
Get the offset of the plane.
T | operator() (const Vecnt< n, T > &p) const
Function call operator.
void | setNormal (const Vecnt< n, T > &normal)
Set the normal of the plane.
void | setOffset (T offset)
Set the offset of the plane.

Detailed Description

template<unsigned int n, typename T>
class nvmath::Planent< n, T >

Plane class.

Remarks:
A Plane is a Hyperplane in n-space. It's defined by a normal and an offset, such that for any point x in the plane, the equation
 normal * x + offset = 0
holds.

Constructor & Destructor Documentation

Planent ( ) [inline]

Default constructor.

Remarks:
For performance reasons no initialization is performed.

Planent | ( | const Vecnt< n, T > & | normal,
 |  | T | offset
 | ) | [inline]

Constructor by normal and an offset.

Parameters:
normal | The normal of the plane.
offset | The offset of the plane.
Note:
It is assumed that normal is normalized.

Planent | ( | const Vecnt< n, T > & | normal,
 |  | const Vecnt< n, T > & | p
 | ) | [inline]

Constructor by normal and a point on the plane.

Parameters:
normal | The normal of the plane.
p | An arbitrary point on the plane.
Remarks:
The plane containing the point p, with the plane normal normal is created.

Planent | ( | const Vecnt< n, T > & | p0,
 |  | const Vecnt< n, T > & | p1,
 |  | const Vecnt< n, T > & | p2
 | ) | [inline]

Constructor by three points on the plane.

Parameters:
p0 | A first point on the plane.
p1 | A second point on the plane.
p2 | A third point on the plane.
Remarks:
Three points uniquely define a plane.

Member Function Documentation

const Vecnt< n, T > & getNormal ( ) const [inline]

Get the normal of the plane.

Returns:
A constant reference to the normal of the plane.
See also:
getOffset, setNormal

T getOffset ( ) const [inline]

Get the offset of the plane.

Returns:
The offset of the plane.
See also:
getNormal, setOffset

T operator() ( const Vecnt< n, T > & p ) const [inline]

Function call operator.

Parameters:
p A reference to a constant point.
Returns:
The signed distance of the point p from the plane.

void setNormal ( const Vecnt< n, T > & normal ) [inline]

Set the normal of the plane.

Parameters:
normal A reference to the constant normal to use.
See also:
getNormal, setOffset

void setOffset ( T offset ) [inline]

Set the offset of the plane.

Parameters:
offset The offset to use.
See also:
getOffset, setNormal

The documentation for this class was generated from the following file:
  • Planent.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

Planent Member List

This is the complete list of members for Planent, including all inherited members.

getNormal() const | Planent | [inline]
getOffset() const | Planent | [inline]
operator()(const Vecnt< n, T > &p) const | Planent | [inline]
Planent() | Planent | [inline]
Planent(const Vecnt< n, T > &normal, T offset) | Planent | [inline]
Planent(const Vecnt< n, T > &normal, const Vecnt< n, T > &p) | Planent | [inline]
Planent(const Vecnt< n, T > &p0, const Vecnt< n, T > &p1, const Vecnt< n, T > &p2) | Planent | [inline]
setNormal(const Vecnt< n, T > &normal) | Planent | [inline]
setOffset(T offset) | Planent | [inline]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: PlugIn Class Reference

nvutil::PlugIn

PlugIn Class Reference

Plug-in base class. More...

#include <PlugIn.h>

Inheritance diagram for PlugIn:

[legend]
Collaboration diagram for PlugIn:

[legend]
List of all members.

Public Member Functions

void | setCallback (PlugInCallback *cb, bool throwExceptionOnError=true)
Set the callback object to use on this PlugIn.

Protected Member Functions

virtual void | deleteThis (void)=0
Plug-in deletion.
const PlugInCallback * | callback (void) const
Get the current callback object as a const pointer.
PlugInCallback * | callback (void)
Get the current callback object.

Detailed Description

Plug-in base class.

Serves as base class for all user defined plug-ins.

Member Function Documentation

void setCallback | ( | PlugInCallback * | cb,
 |  | bool | throwExceptionOnError = true
 | ) | [inline]

Set the callback object to use on this PlugIn.

The PlugInCallback object is used to report errors and warnings that happen while using this PlugIn.

Parameters:
cb | callback object to use
throwExceptionOnError | true if an exception is thrown on error

virtual void deleteThis ( void ) [protected, pure virtual]

Plug-in deletion.

Every plug-in must provide this function. It assures that, when deleting the plug-in object, always the right heap manager is called to free the associated memory.

Note:
Ordinary client code is not allowed to call deleteThis on a plug-in object. Client code needs to utilize the PlugInServer interface for plug-in managment for this purposes.

Implemented in ILTexLoader, NBFLoader, NVSGLoader, PLYLoader, WRLLoader, ILTexSaver, NBFSaver, NVSGSaver, and OBJSaver.

const PlugInCallback * callback ( void ) const [inline, protected]

Get the current callback object as a const pointer.

Returns:
The current callback object.

PlugInCallback * callback ( void ) [inline, protected]

Get the current callback object.

Returns:
The current callback object.

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugIn Member List

This is the complete list of members for PlugIn, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void)=0 | PlugIn | [protected, pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback Class Reference

nvutil::PlugInCallback

PlugInCallback Class Reference

PlugInCallback base class. More...

#include <PlugInCallback.h>

Inheritance diagram for PlugInCallback:

[legend]
Collaboration diagram for PlugInCallback:

[legend]
List of all members.

Public Types

enum PIC_ERROR {
PICE_UNEXPECTED_EOF, PICE_UNEXPECTED_TOKEN, PICE_UNKNOWN_TOKEN, PICE_FILE_ACCESS_FAILED,
PICE_FILE_MAPPING_FAILED, PICE_INCOMPATIBLE_FILE, PICE_INVALID_FILE, PICE_UNSPECIFIED_ERROR
}
Enumeration of PlugInCallback errors. More...
enum PIC_WARNING {
PICW_FILE_EMPTY, PICW_FILE_NOT_FOUND, PICW_FILES_NOT_FOUND, PICW_EMPTY_TOKEN,
PICW_INCOMPATIBLE_VALUES, PICW_INVALID_VALUE, PICW_UNDEFINED_TOKEN, PICW_UNSUPPORTED_TOKEN,
PICW_DEGENERATE_GEOMETRY, PICW_UNSPECIFIED_WARNING
}
Enumeration of PlugInCallback warnings. More...
enum | PIC_TYPE_ID { PICT_INT, PICT_FLOAT }
Enumeration of value types used in warnings/errors. More...

Public Member Functions

PlugInCallback ()
Constructor.
void | setThrowExceptionOnError (bool set)
Set whether an exception should be thrown on error.
virtual void | onError (PIC_ERROR eid, const void *info) const
General callback on error.
virtual bool | onWarning (PIC_WARNING wid, const void *info) const
General callback on warning.
virtual bool | onUnLocalizedMessage (const std::string &severity, const std::string &message) const
General callback to display an unlocalized message.
virtual void | onUnexpectedEndOfFile (unsigned int position) const
Specialized callback on error: PICE_UNEXPECTED_EOF.
virtual void | onUnexpectedToken (unsigned int position, const std::string &expected, const std::string &encountered) const
Specialized callback on error: PICE_UNEXPECTED_TOKEN.
virtual void | onUnknownToken (unsigned int position, const std::string &context, const std::string &token) const
Specialized callback on error: PICE_UNKNOWN_TOKEN.
virtual bool | onEmptyToken (unsigned int position, const std::string &context, const std::string &token) const
Specialized callback on warning: PICW_EMPTY_TOKEN.
virtual bool | onFileEmpty (const std::string &file) const
Specialized callback on warning: PICW_FILE_EMPTY.
virtual bool | onFileNotFound (const std::string &file) const
Specialized callback on warning: PICW_FILE_NOT_FOUND.
virtual bool | onFilesNotFound (const std::vector< std::string > &files) const
Specialized callback on warning: PICW_FILES_NOT_FOUND.
virtual bool | onUndefinedToken (unsigned int position, const std::string &context, const std::string &token) const
Specialized callback on warning: PICW_UNDEFINED_TOKEN.
virtual bool | onIncompatibleValues (unsigned int position, const std::string &context, const std::string &value0Name, int value0, const std::string &value1Name, int value1) const
Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.
virtual bool | onIncompatibleValues (unsigned int position, const std::string &context, const std::string &value0Name, float value0, const std::string &value1Name, float value1) const
Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.
virtual bool | onInvalidValue (unsigned int position, const std::string &context, const std::string &valueName, int value) const
Specialized callback on warning: PICW_INVALID_VALUE.
virtual bool | onInvalidValue (unsigned int position, const std::string &context, const std::string &valueName, float value) const
Specialized callback on warning: PICW_INVALID_VALUE.
virtual bool | onUnsupportedToken (unsigned int position, const std::string &context, const std::string &token) const
Specialized callback on warning: PICW_UNSUPPORTED_TOKEN.
virtual bool | onDegenerateGeometry (unsigned int position, const std::string &context) const
Specialized callback on warning: PICW_DEGENERATE_GEOMETRY.
virtual void | onFileAccessFailed (const std::string &file, unsigned int systemSpecificErrorCode) const
Error callback on PICE_FILE_ACCESS_FAILED error.
virtual void | onFileMappingFailed (unsigned int systemSpecificErrorCode) const
Error callback on PICE_FILE_MAPPING_FAILED error.
virtual void | onIncompatibleFile (const std::string &file, const std::string &context, unsigned int expectedVersion, unsigned int detectedVersion) const
Error callback on PICE_INCOMPATIBLE_FILE error.
virtual void | onInvalidFile (const std::string &file, const std::string &context) const
Error callback on PICE_INVALID_FILE error.

Protected Member Functions

virtual | ~PlugInCallback ()
Protected destructor to prevent explicit creation on stack.

Classes

struct | DegenerateGeometryInfo
Information structure used for warning PICW_DEGENERATE_GEOMETRY. More...
struct | EmptyTokenInfo
Information structure used for warning PICW_EMPTY_TOKEN. More...
struct | FileAccessFailedInfo
Information structure used for error PICE_FILE_ACCESS_ERROR. More...
struct | FileMappingFailedInfo
Information structure used for error PICE_FILE_MAPPING_ERROR. More...
struct | IncompatibleFileInfo
Information structure used for error PICE_INCOMPATIBLE_FILE. More...
struct | IncompatibleValueInfo
Information structure used for warning PICW_INCOMPATIBLE_VALUES. More...
struct | InvalidFileInfo
Information structure used for error PICE_INVALID_FILE. More...
struct | InvalidValueInfo
Information structure used for warning PICW_INVALID_VALUE. More...
struct | UndefinedTokenInfo
Information structure used for warning PICW_UNDEFINED_TOKEN. More...
struct | UnexpectedTokenInfo
Information structure used for error PICE_UNEXPECTED_TOKEN. More...
struct | UnknownTokenInfo
Information structure used for error PICE_UNKNOWN_TOKEN. More...
struct | UnsupportedTokenInfo
Information structure used for warning PICW_UNSUPPORTED_TOKEN. More...

Detailed Description

PlugInCallback base class.

A PlugInCallback object can be used to report warnings and errors that happen while using a PlugIn. It is applied to a PlugIn via PlugIn::setCallback(). A PlugInCallback object consists of a set of virtual functions that can be overloaded by an application specific PlugInCallback object. It has two generic callbacks onError and onWarning, that can be called with any error/warning code. And it has two families of specific error and warning functions that are called on specific error/warning conditions.

Member Enumeration Documentation

enum PIC_ERROR

Enumeration of PlugInCallback errors.

enum PIC_WARNING

Enumeration of PlugInCallback warnings.

enum PIC_TYPE_ID

Enumeration of value types used in warnings/errors.

Constructor & Destructor Documentation

PlugInCallback ( ) [inline]

Constructor.

~PlugInCallback ( ) [inline, protected, virtual]

Protected destructor to prevent explicit creation on stack.

Member Function Documentation

void setThrowExceptionOnError ( bool set ) [inline]

Set whether an exception should be thrown on error.

void onError | ( | PIC_ERROR | eid,
 |  | const void * | info
 | ) | const [inline, virtual]

General callback on error.

This general error callback is called with every error that isn't completely handled in a specialized error callback. If throwExceptionOnError is set (default), onError throws an PIC_ERROR exception. The specific error callbacks fall back to this function. This callback can be overloaded to support new error conditions.

Parameters:
eid | error ID
info | pointer to information structure corresponding to eid

bool onWarning | ( | PIC_WARNING | wid,
 |  | const void * | info
 | ) | const [inline, virtual]

General callback on warning.

This general warning callback is called with every warning that isn't completely handled in a specialized warning callback. In this base implemetation, onWarning just returns true, meaning the PlugIn operation can be continued without danger. The specific warning callbacks fall back to this function. This callback can be overloaded to support new warning conditions.

Parameters:
wid | waringing ID
info | pointer to information structure corresponding to wid

bool onUnLocalizedMessage | ( | const std::string & | severity,
 |  | const std::string & | message
 | ) | const [inline, virtual]

General callback to display an unlocalized message.

This general callback is *DISCOURAGED* but can be used by a loader in the event that an unstructured or unlocalized message must be presented to the user.

'severity' should contain either "WARNING" or "ERROR" 'message' should contain the unlocalized text message

In this base implemetation, if the string severity == "WARNING" then the function will return true; if the string severity == "ERROR" then if throwExceptionOnError is set (default), throws PIC_ERROR exception.

This callback can be overloaded to support new warning conditions.

void onUnexpectedEndOfFile ( unsigned int position ) const [inline, virtual]

Specialized callback on error: PICE_UNEXPECTED_EOF.

This error callback is called, when the end of a file was reached unexpectedly. In this base implementation, the general callback onError is called. Overload this callback to implement special handling on unexpected end of file errors.

Parameters:
position position in file, where error occured

void onUnexpectedToken | ( | unsigned int | position,
 |  | const std::string & | expected,
 |  | const std::string & | encountered
 | ) | const [inline, virtual]

Specialized callback on error: PICE_UNEXPECTED_TOKEN.

This error callback is called, when an unexpected token is encountered. In this base implementation, a struct UnexpectedTokenInfo is constructed out of the arguments, and the general callback onError is called. Overlaod this callback to implement special handling on unexpected token errors.

Parameters:
position | position in file, where error occured
expected | expected token
encountered | encountered token

void onUnknownToken | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on error: PICE_UNKNOWN_TOKEN.

This error callback is called, when an unknown token is encountered. In this base implementation, a struct UnknownTokenInfo is constructed out of the arguments, and the general callback onError is called. Overload this callback to implement special handling on unknown token errors.

Parameters:
position | position in file, where the error occured
context | context of the unknown token
token | unknown token

bool onEmptyToken | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_EMPTY_TOKEN.

This warning callback is called, when a token proved to be empty. In this base implementation, a struct EmptyTokenInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on empty token warnings.

Parameters:
position | position in file, where the warning occured
context | context of the empty token
token | name of the empty token

bool onFileEmpty ( const std::string & file ) const [inline, virtual]

Specialized callback on warning: PICW_FILE_EMPTY.

This warning callback is called, when a file proved to be empty. In this base implementation, the general callback onWarning is called. Overload this callback to implement special handling on empty file warnings.

Parameters:
file name of the empty file

bool onFileNotFound ( const std::string & file ) const [inline, virtual]

Specialized callback on warning: PICW_FILE_NOT_FOUND.

This warning callback is called, when a file wasn't found. In this base implementation, the general callback onWarning is called. Overload this callback to implement special handling on file not found warnings.

Parameters:
file name of the file, that wasn't found

bool onFilesNotFound ( const std::vector< std::string > & files ) const [inline, virtual]

Specialized callback on warning: PICW_FILES_NOT_FOUND.

This warning callback is called, when none of a number of files was found. In this base implementation, the general callback onWarning is called. Overload this callback to implement special handling on file not found warnings.

Parameters:
files vector of files, where none was found

bool onUndefinedToken | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_UNDEFINED_TOKEN.

This warning callback is called, a named token is used that wasn't defined before. In this base implementation, a struct UndefinedTokenInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on undefined token warnings.

Parameters:
position | position in file, where the warning occured
context | context of the undefined token
token | undefined token

bool onIncompatibleValues | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | value0Name,
 |  | int | value0,
 |  | const std::string & | value1Name,
 |  | int | value1
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.

This warning callback is called, when two incompatible values of type int are found in the file. In this base implementation, a struct IncompatibleValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the incompatible values
value0Name | name of the first value
value0 | first value
value1Name | name of the second value
value1 | second value

bool onIncompatibleValues | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | value0Name,
 |  | float | value0,
 |  | const std::string & | value1Name,
 |  | float | value1
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INCOMPATIBLE_VALUES.

This warning callback is called, when two incompatible values of type float are found in the file. In this base implementation, a struct IncompatibleValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the incompatible values
value0Name | name of the first value
value0 | first value
value1Name | name of the second value
value1 | second value

bool onInvalidValue | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | valueName,
 |  | int | value
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INVALID_VALUE.

This warning callback is called, when an invalid value of type int is found in the file. In this base implementation, a struct InvalidValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the invalid value
valueName | name of the invalid value
value | invalid value

bool onInvalidValue | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | valueName,
 |  | float | value
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_INVALID_VALUE.

This warning callback is called, when an invalid value of type float is found in the file. In this base implementation, a struct InvalidValueInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on incompatible values warnings.

Parameters:
position | position in file, where the warning occured
context | context of the invalid value
valueName | name of the invalid value
value | invalid value

bool onUnsupportedToken | ( | unsigned int | position,
 |  | const std::string & | context,
 |  | const std::string & | token
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_UNSUPPORTED_TOKEN.

This warning callback is called, when an unsupported token is found in the file. In this base implementation, a struct UnsupportedTokenInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on unsupported token warnings.

Parameters:
position | position in file, where the warning occured
context | context of the unsupported token
token | unsupported token

bool onDegenerateGeometry | ( | unsigned int | position,
 |  | const std::string & | context
 | ) | const [inline, virtual]

Specialized callback on warning: PICW_DEGENERATE_GEOMETRY.

This warning callback is called when degenerate geometry is found in the file. In this base implementation, a struct DegenerateGeometryInfo is constructed out of the arguments, and the general callback onWarning is called. Overload this callback to implement special handling on unsupported token warnings.

Parameters:
position | position in file, where the warning occured
name | name of geometry

void onFileAccessFailed | ( | const std::string & | file,
 |  | unsigned int | systemSpecificErrorCode
 | ) | const [inline, virtual]

Error callback on PICE_FILE_ACCESS_FAILED error.

This callback should be invoked from within a plug-in if a file access error occured. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested for file access errors.

Parameters:
file | Specifies the name of the file
systemSpecificErrorCode | Specifies a system specific error code.

void onFileMappingFailed ( unsigned int systemSpecificErrorCode ) const [inline, virtual]

Error callback on PICE_FILE_MAPPING_FAILED error.

This callback should be invoked from within a plug-in if a file mapping error occured. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested for file mapping errors.

Parameters:
systemSpecificErrorCode Specifies a system specific error code.

void onIncompatibleFile | ( | const std::string & | file,
 |  | const std::string & | context,
 |  | unsigned int | expectedVersion,
 |  | unsigned int | detectedVersion
 | ) | const [inline, virtual]

Error callback on PICE_INCOMPATIBLE_FILE error.

This callback should be invoked from within a plug-in if a file is detected to be incompatible. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested when detecting incompatible files.

Parameters:
file | Specifies the name of the file.
context | Specifies the context of detected incompatibility.
expectedVersion | Specifies the expected version. The high-order 16-bits specify the major version; the low-order 16-bits specify the compatibility level.
detectedVersion | Specifies the detected version. The high-order 16-bits specify the major version; the low-order 16-bits specify the compatibility level.

void onInvalidFile | ( | const std::string & | file,
 |  | const std::string & | context
 | ) | const [inline, virtual]

Error callback on PICE_INVALID_FILE error.

This callback should be invoked from within a plug-in if a file is detected to be invalid. The default implementation simply calls onError.
It is advisable to overload this function if more customized error handling is requested when detecting invalid files.

Parameters:
file | Specifies the name of the file.
context | Specifies the context of detected invalidity.

The documentation for this class was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback Member List

This is the complete list of members for PlugInCallback, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
onDegenerateGeometry(unsigned int position, const std::string &context) const | PlugInCallback | [inline, virtual]
onEmptyToken(unsigned int position, const std::string &context, const std::string &token) const | PlugInCallback | [inline, virtual]
onError(PIC_ERROR eid, const void *info) const | PlugInCallback | [inline, virtual]
onFileAccessFailed(const std::string &file, unsigned int systemSpecificErrorCode) const | PlugInCallback | [inline, virtual]
onFileEmpty(const std::string &file) const | PlugInCallback | [inline, virtual]
onFileMappingFailed(unsigned int systemSpecificErrorCode) const | PlugInCallback | [inline, virtual]
onFileNotFound(const std::string &file) const | PlugInCallback | [inline, virtual]
onFilesNotFound(const std::vector< std::string > &files) const | PlugInCallback | [inline, virtual]
onIncompatibleFile(const std::string &file, const std::string &context, unsigned int expectedVersion, unsigned int detectedVersion) const | PlugInCallback | [inline, virtual]
onIncompatibleValues(unsigned int position, const std::string &context, const std::string &value0Name, int value0, const std::string &value1Name, int value1) const | PlugInCallback | [inline, virtual]
onIncompatibleValues(unsigned int position, const std::string &context, const std::string &value0Name, float value0, const std::string &value1Name, float value1) const | PlugInCallback | [inline, virtual]
onInvalidFile(const std::string &file, const std::string &context) const | PlugInCallback | [inline, virtual]
onInvalidValue(unsigned int position, const std::string &context, const std::string &valueName, int value) const | PlugInCallback | [inline, virtual]
onInvalidValue(unsigned int position, const std::string &context, const std::string &valueName, float value) const | PlugInCallback | [inline, virtual]
onUndefinedToken(unsigned int position, const std::string &context, const std::string &token) const | PlugInCallback | [inline, virtual]
onUnexpectedEndOfFile(unsigned int position) const | PlugInCallback | [inline, virtual]
onUnexpectedToken(unsigned int position, const std::string &expected, const std::string &encountered) const | PlugInCallback | [inline, virtual]
onUnknownToken(unsigned int position, const std::string &context, const std::string &token) const | PlugInCallback | [inline, virtual]
onUnLocalizedMessage(const std::string &severity, const std::string &message) const | PlugInCallback | [inline, virtual]
onUnsupportedToken(unsigned int position, const std::string &context, const std::string &token) const | PlugInCallback | [inline, virtual]
onWarning(PIC_WARNING wid, const void *info) const | PlugInCallback | [inline, virtual]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PIC_ERROR enum name | PlugInCallback |
PIC_TYPE_ID enum name | PlugInCallback |
PIC_WARNING enum name | PlugInCallback |
PICE_FILE_ACCESS_FAILED enum value (defined in PlugInCallback) | PlugInCallback |
PICE_FILE_MAPPING_FAILED enum value (defined in PlugInCallback) | PlugInCallback |
PICE_INCOMPATIBLE_FILE enum value (defined in PlugInCallback) | PlugInCallback |
PICE_INVALID_FILE enum value (defined in PlugInCallback) | PlugInCallback |
PICE_UNEXPECTED_EOF enum value (defined in PlugInCallback) | PlugInCallback |
PICE_UNEXPECTED_TOKEN enum value (defined in PlugInCallback) | PlugInCallback |
PICE_UNKNOWN_TOKEN enum value (defined in PlugInCallback) | PlugInCallback |
PICE_UNSPECIFIED_ERROR enum value (defined in PlugInCallback) | PlugInCallback |
PICT_FLOAT enum value (defined in PlugInCallback) | PlugInCallback |
PICT_INT enum value (defined in PlugInCallback) | PlugInCallback |
PICW_DEGENERATE_GEOMETRY enum value (defined in PlugInCallback) | PlugInCallback |
PICW_EMPTY_TOKEN enum value (defined in PlugInCallback) | PlugInCallback |
PICW_FILE_EMPTY enum value (defined in PlugInCallback) | PlugInCallback |
PICW_FILE_NOT_FOUND enum value (defined in PlugInCallback) | PlugInCallback |
PICW_FILES_NOT_FOUND enum value (defined in PlugInCallback) | PlugInCallback |
PICW_INCOMPATIBLE_VALUES enum value (defined in PlugInCallback) | PlugInCallback |
PICW_INVALID_VALUE enum value (defined in PlugInCallback) | PlugInCallback |
PICW_UNDEFINED_TOKEN enum value (defined in PlugInCallback) | PlugInCallback |
PICW_UNSPECIFIED_WARNING enum value (defined in PlugInCallback) | PlugInCallback |
PICW_UNSUPPORTED_TOKEN enum value (defined in PlugInCallback) | PlugInCallback |
PlugInCallback() | PlugInCallback | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setThrowExceptionOnError(bool set) | PlugInCallback | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugInCallback() | PlugInCallback | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::DegenerateGeometryInfo Struct Reference

nvutil::PlugInCallback::DegenerateGeometryInfo

PlugInCallback::DegenerateGeometryInfo Struct Reference

Information structure used for warning PICW_DEGENERATE_GEOMETRY. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the warning was raised
std::string | name
name of the geometry that was degenerate

Detailed Description

Information structure used for warning PICW_DEGENERATE_GEOMETRY.

Member Data Documentation

unsigned int position

position in file, where the warning was raised

std::string name

name of the geometry that was degenerate

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::DegenerateGeometryInfo Member List

This is the complete list of members for PlugInCallback::DegenerateGeometryInfo, including all inherited members.

name | PlugInCallback::DegenerateGeometryInfo
position | PlugInCallback::DegenerateGeometryInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::EmptyTokenInfo Struct Reference

nvutil::PlugInCallback::EmptyTokenInfo

PlugInCallback::EmptyTokenInfo Struct Reference

Information structure used for warning PICW_EMPTY_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the warning was raised
std::string | context
context of the warning
std::string | token
name of empty token

Detailed Description

Information structure used for warning PICW_EMPTY_TOKEN.

Member Data Documentation

unsigned int position

position in file, where the warning was raised

std::string context

context of the warning

std::string token

name of empty token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::EmptyTokenInfo Member List

This is the complete list of members for PlugInCallback::EmptyTokenInfo, including all inherited members.

context | PlugInCallback::EmptyTokenInfo
position | PlugInCallback::EmptyTokenInfo
token | PlugInCallback::EmptyTokenInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::FileAccessFailedInfo Struct Reference

nvutil::PlugInCallback::FileAccessFailedInfo

PlugInCallback::FileAccessFailedInfo Struct Reference

Information structure used for error PICE_FILE_ACCESS_ERROR. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

std::string | file
Specifies the name of the file for which the access error occurred.
unsigned int | systemSpecificErrorCode
Specifies a system specific error code.

Detailed Description

Information structure used for error PICE_FILE_ACCESS_ERROR.

Member Data Documentation

std::string file

Specifies the name of the file for which the access error occurred.

unsigned int systemSpecificErrorCode

Specifies a system specific error code.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::FileAccessFailedInfo Member List

This is the complete list of members for PlugInCallback::FileAccessFailedInfo, including all inherited members.

file | PlugInCallback::FileAccessFailedInfo
systemSpecificErrorCode | PlugInCallback::FileAccessFailedInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::FileMappingFailedInfo Struct Reference

nvutil::PlugInCallback::FileMappingFailedInfo

PlugInCallback::FileMappingFailedInfo Struct Reference

Information structure used for error PICE_FILE_MAPPING_ERROR. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int systemSpecificErrorCode
Specifies a system specific error code.

Detailed Description

Information structure used for error PICE_FILE_MAPPING_ERROR.

Member Data Documentation

unsigned int systemSpecificErrorCode

Specifies a system specific error code.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PlugInCallback::FileMappingFailedInfo Member List

This is the complete list of members for PlugInCallback::FileMappingFailedInfo, including all inherited members.

systemSpecificErrorCode PlugInCallback::FileMappingFailedInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::IncompatibleFileInfo Struct Reference

nvutil::PlugInCallback::IncompatibleFileInfo

PlugInCallback::IncompatibleFileInfo Struct Reference

Information structure used for error PICE_INCOMPATIBLE_FILE. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

std::string | file
Specifies the name of the file that was detected to be incompatible.
std::string | context
Specifies the context of detected incompatibility.
unsigned int | expectedVersion
unsigned int | detectedVersion

Detailed Description

Information structure used for error PICE_INCOMPATIBLE_FILE.

Member Data Documentation

std::string file

Specifies the name of the file that was detected to be incompatible.

std::string context

Specifies the context of detected incompatibility.

unsigned int expectedVersion

Specifies the expected version. The high-order 16-bits specify the major version; the low-order 16-bits specify the compatibility level.

unsigned int detectedVersion

Specifies the detected version. The high-order 16-bits specify the major version; the low-order 16-bits specify the compatibility level.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::IncompatibleFileInfo Member List

This is the complete list of members for PlugInCallback::IncompatibleFileInfo, including all inherited members.

context | PlugInCallback::IncompatibleFileInfo
detectedVersion | PlugInCallback::IncompatibleFileInfo
expectedVersion | PlugInCallback::IncompatibleFileInfo
file | PlugInCallback::IncompatibleFileInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::IncompatibleValueInfo Struct Reference

nvutil::PlugInCallback::IncompatibleValueInfo

PlugInCallback::IncompatibleValueInfo Struct Reference

Information structure used for warning PICW_INCOMPATIBLE_VALUES. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the warning was raised
std::string | context
context of the warning
PIC_TYPE_ID valueType
type of the incompatible values
std::string | value0Name
name of the first value
const void * | value0
pointer to the first value
std::string | value1Name
name of the second value
const void * | value1
pointer to the second value

Detailed Description

Information structure used for warning PICW_INCOMPATIBLE_VALUES.

Member Data Documentation

unsigned int position

position in file, where the warning was raised

std::string context

context of the warning

PIC_TYPE_ID valueType

type of the incompatible values

std::string value0Name

name of the first value

const void* value0

pointer to the first value

std::string value1Name

name of the second value

const void* value1

pointer to the second value

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::IncompatibleValueInfo Member List

This is the complete list of members for PlugInCallback::IncompatibleValueInfo, including all inherited members.

context | PlugInCallback::IncompatibleValueInfo
position | PlugInCallback::IncompatibleValueInfo
value0 | PlugInCallback::IncompatibleValueInfo
value0Name | PlugInCallback::IncompatibleValueInfo
value1 | PlugInCallback::IncompatibleValueInfo
value1Name | PlugInCallback::IncompatibleValueInfo
valueType | PlugInCallback::IncompatibleValueInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::InvalidFileInfo Struct Reference

nvutil::PlugInCallback::InvalidFileInfo

PlugInCallback::InvalidFileInfo Struct Reference

Information structure used for error PICE_INVALID_FILE. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

std::string | file
Specifies the name of the file the was detected to be invalid.
std::string | context
Specifies the context of detected invalidity.

Detailed Description

Information structure used for error PICE_INVALID_FILE.

Member Data Documentation

std::string file

Specifies the name of the file the was detected to be invalid.

std::string context

Specifies the context of detected invalidity.

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::InvalidFileInfo Member List

This is the complete list of members for PlugInCallback::InvalidFileInfo, including all inherited members.

context | PlugInCallback::InvalidFileInfo
file | PlugInCallback::InvalidFileInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::InvalidValueInfo Struct Reference

nvutil::PlugInCallback::InvalidValueInfo

PlugInCallback::InvalidValueInfo Struct Reference

Information structure used for warning PICW_INVALID_VALUE. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the warning was raised
std::string | context
context of the warning
PIC_TYPE_ID valueType
type of the invalid value
std::string | valueName
name of the value
const void * | value
pointer to the value

Detailed Description

Information structure used for warning PICW_INVALID_VALUE.

Member Data Documentation

unsigned int position

position in file, where the warning was raised

std::string context

context of the warning

PIC_TYPE_ID valueType

type of the invalid value

std::string valueName

name of the value

const void* value

pointer to the value

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::InvalidValueInfo Member List

This is the complete list of members for PlugInCallback::InvalidValueInfo, including all inherited members.

context | PlugInCallback::InvalidValueInfo
position | PlugInCallback::InvalidValueInfo
value | PlugInCallback::InvalidValueInfo
valueName | PlugInCallback::InvalidValueInfo
valueType | PlugInCallback::InvalidValueInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::UndefinedTokenInfo Struct Reference

nvutil::PlugInCallback::UndefinedTokenInfo

PlugInCallback::UndefinedTokenInfo Struct Reference

Information structure used for warning PICW_UNDEFINED_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the warning was raised
std::string | context
context of the undefined token
std::string | token
undefined token

Detailed Description

Information structure used for warning PICW_UNDEFINED_TOKEN.

Member Data Documentation

unsigned int position

position in file, where the warning was raised

std::string context

context of the undefined token

std::string token

undefined token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::UndefinedTokenInfo Member List

This is the complete list of members for PlugInCallback::UndefinedTokenInfo, including all inherited members.

context | PlugInCallback::UndefinedTokenInfo
position | PlugInCallback::UndefinedTokenInfo
token | PlugInCallback::UndefinedTokenInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::UnexpectedTokenInfo Struct Reference

nvutil::PlugInCallback::UnexpectedTokenInfo

PlugInCallback::UnexpectedTokenInfo Struct Reference

Information structure used for error PICE_UNEXPECTED_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the error was raised
std::string | expected
expected token
std::string | encountered
encountered token

Detailed Description

Information structure used for error PICE_UNEXPECTED_TOKEN.

Member Data Documentation

unsigned int position

position in file, where the error was raised

std::string expected

expected token

std::string encountered

encountered token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::UnexpectedTokenInfo Member List

This is the complete list of members for PlugInCallback::UnexpectedTokenInfo, including all inherited members.

encountered | PlugInCallback::UnexpectedTokenInfo
expected | PlugInCallback::UnexpectedTokenInfo
position | PlugInCallback::UnexpectedTokenInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::UnknownTokenInfo Struct Reference

nvutil::PlugInCallback::UnknownTokenInfo

PlugInCallback::UnknownTokenInfo Struct Reference

Information structure used for error PICE_UNKNOWN_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the error was raised
std::string | context
context of the unknown token
std::string | token
unknown token

Detailed Description

Information structure used for error PICE_UNKNOWN_TOKEN.

Member Data Documentation

unsigned int position

position in file, where the error was raised

std::string context

context of the unknown token

std::string token

unknown token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::UnknownTokenInfo Member List

This is the complete list of members for PlugInCallback::UnknownTokenInfo, including all inherited members.

context | PlugInCallback::UnknownTokenInfo
position | PlugInCallback::UnknownTokenInfo
token | PlugInCallback::UnknownTokenInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInCallback::UnsupportedTokenInfo Struct Reference

nvutil::PlugInCallback::UnsupportedTokenInfo

PlugInCallback::UnsupportedTokenInfo Struct Reference

Information structure used for warning PICW_UNSUPPORTED_TOKEN. More...

#include <PlugInCallback.h>

List of all members.

Public Attributes

unsigned int | position
position in file, where the warning was raised
std::string | context
context of the unsupported token
std::string | token
unsupported token

Detailed Description

Information structure used for warning PICW_UNSUPPORTED_TOKEN.

Member Data Documentation

unsigned int position

position in file, where the warning was raised

std::string context

context of the unsupported token

std::string token

unsupported token

The documentation for this struct was generated from the following file:
  • PlugInCallback.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInCallback::UnsupportedTokenInfo Member List

This is the complete list of members for PlugInCallback::UnsupportedTokenInfo, including all inherited members.

context | PlugInCallback::UnsupportedTokenInfo
position | PlugInCallback::UnsupportedTokenInfo
token | PlugInCallback::UnsupportedTokenInfo

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PlugInServer Class Reference

nvutil::PlugInServer

PlugInServer Class Reference

Plug-in management. More...

#include <PlugIn.h>

List of all members.

Friends

NVSG_API bool | getInterface (const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn)
Get hold of a certain interface object.
NVSG_API bool | queryInterfaceType (const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids)
Query for a certain interface type.
NVSG_API void | releaseInterface (const UPIID &piid)
Release a certain interface.
NVSG_API void | setPlugInFileFilter (const std::string &filter)
Specify a file name filter to be used while searching for appropriate plug-in modules.
NVSG_API void | addPlugInSearchPath (const std::string &path)
Add a path to the list of directories used to search for PlugIn DLLs.
NVSG_API const std::vector<
std::string > & 		getPlugInSearchPath ()
Return the list of directories used to search for PlugIn DLLs.

Detailed Description

Plug-in management.

The PlugInServer class provides functionality for convenient plug-in managment.

The PlugInServer is a central management tool to handle plug-ins and therefore it is implemented as a singleton object. The interface of the PlugInServer can only be accesses through an external set of wrapper functions with special access rights.

Friends And Related Function Documentation

NVSG_API bool getInterface | ( | const std::vector< std::string > & | searchPath,
 |  | const UPIID & | piid,
 |  | PlugIn *& | plugIn
 | ) | [friend]

Get hold of a certain interface object.

Searches the searchPath in addition to plug-in search-paths for a plug-in that provides an interface specified by piid. If successfull, plugIn holds the requested interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.nxm" on Microsoft(R) Windows platforms as well as on Linux platforms.

The function always returns the first matching interface found in the specified search path in consideration of the used file name filter.

If client code asks for a certain interface a second time, without releasing the interface object got with the first call to getInterface, this function will not search through the search path a second time but returning the interface object registered with the first call. This will also work this way, independent of whether the file name filter was changed in between.

Remarks:
If client code has no concrete interface ID available to query for, it should first query for a superior interface type using nvutil::queryInterfaceType to get hold of a list of interfaces all providing the superior interface type.
In order to utilize the concrete interface queried for, client code must 'reinterpret_cast' plugIn to a concrete interface pointer and use this pointer to access the interface.
To avoid resource leaks, client code should release the interface through a call to nvutil::releaseInterface, after usage.
Returns:
true if successfull, false otherwise.
Parameters:
searchPath | The optional path to search for the plug-ins.
piid | Identifies the interface to search for.
plugIn | Holds the interface object (plug-in), if successfull.

NVSG_API bool queryInterfaceType | ( | const std::vector< std::string > & | searchPath,
 |  | const UPITID & | pitid,
 |  | std::vector< UPIID > & | piids
 | ) | [friend]

Query for a certain interface type.

Searches the searchPath in addition to plug-in search paths for all plug-ins that provide a certain interface type specified by pitid. If successful, client code will receive the concrete interface IDs in piids. Each of these IDs can than be used along with nvutil::getInterface, to get an interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.nxm" on Microsoft(R) Windows platforms as well as on Linux platforms.

Returns:
true if successful, false otherwise.
Parameters:
searchPath | The optional path to search for plug-ins.
pitid | Identifies the interface type to query for.
piids | Holds all interface IDs found, if successfull.

NVSG_API void releaseInterface ( const UPIID & piid ) [friend]

Release a certain interface.

Frees all resources acquired by the interface object identified by piid.

Parameters:
piid Identifies the interface to be released.

NVSG_API void setPlugInFileFilter ( const std::string & filter ) [friend]

Specify a file name filter to be used while searching for appropriate plug-in modules.

This function overrides the PlugInServer's default file name filter used to search for appropriate plug-in modules. The function lets you specify different file name patterns. The patterns must be separated by a semicolon.

Parameters:
filter String of file name filter patterns all delimited by a semicolon.

NVSG_API void addPlugInSearchPath ( const std::string & path ) [friend]

Add a path to the list of directories used to search for PlugIn DLLs.

This function adds a directory to the internal search list. The list is used internally when SceniX looks for Texture Loaders and it can be queried by an application through getPlugInSearchPath() to be used as a search path when querying SceneLoader PlugIns. It will always contain the current instance's path (module path), which is added during initialization.

Parameters:
path A directory to be added to the search path.

NVSG_API const std::vector<std::string>& getPlugInSearchPath ( ) [friend]

Return the list of directories used to search for PlugIn DLLs.

See comments for addPlugInSearchPath()

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: Member List

PlugInServer Member List

This is the complete list of members for PlugInServer, including all inherited members.

addPlugInSearchPath(const std::string &path) | PlugInServer | [friend]
getInterface(const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn) | PlugInServer | [friend]
getPlugInSearchPath() | PlugInServer | [friend]
PlugInServer() (defined in PlugInServer) | PlugInServer |
queryInterfaceType(const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids) | PlugInServer | [friend]
releaseInterface(const UPIID &piid) | PlugInServer | [friend]
setPlugInFileFilter(const std::string &filter) | PlugInServer | [friend]
~PlugInServer() (defined in PlugInServer) | PlugInServer |

Generated on Fri Jul 13 13:31:25 2012 for SceniX


SceniX: PLYLoader Class Reference

PLYLoader Class Reference

A Scene Loader for PLY files. More...

#include <PLYLoader.h>

Inheritance diagram for PLYLoader:

[legend]
Collaboration diagram for PLYLoader:

[legend]
List of all members.

Public Member Functions

void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.
nvsg::SceneSharedPtr | load (const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState)
Realization of the pure virtual interface function of a SceneLoader.

Protected Member Functions

ubyte_t * | mapOffset (uint_t offset, size_t numBytes)
Maps numBytes bytes at file offset offset into process memory.
void | unmapOffset (ubyte_t *offsetPtr)
Unmaps the memory that previously was mapped through mapOffset from the process' address space.

Classes

class | Offset_AutoPtr
An auxiliary helper template class which provides exception safe mapping and unmapping of file offsets.

Detailed Description

A Scene Loader for PLY files.

PLY are simple single geometry files often used in academia. Most famous scenes found in PLY format are the Stanford Bunny, Happy Buddha, Dragon, and Armadillo. A repository of model can be found here:

Member Function Documentation

ubyte_t * mapOffset | ( | uint_t | offset,
 |  | size_t | numBytes
 | ) | [inline, protected]

Maps numBytes bytes at file offset offset into process memory.

This function turns a given offset into a pointer and ensures that a minimum of numBytes bytes are mapped.

Returns:
A pointer to the mapped memory.
Parameters:
offset | File offset of the memory block to map.
numBytes | Amount of bytes to map into process memory.

void unmapOffset ( ubyte_t * offsetPtr ) [inline, protected]

Unmaps the memory that previously was mapped through mapOffset from the process' address space.

The function accepts a pointer to the mapped file offset that previously was received by a call to mapOffset.

Parameters:
offsetPtr Address where the file offset was mapped.

void deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

nvsg::SceneSharedPtr load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | nvsg::ViewStateSharedPtr & | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a PLY file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • PLYLoader.h
Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Member List

PLYLoader Member List

This is the complete list of members for PLYLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | PLYLoader | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState) | PLYLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, ViewStateSharedPtr &viewState)=0 | SceneLoader | [pure virtual]
mapOffset(uint_t offset, size_t numBytes) | PLYLoader | [inline, protected]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
PLYLoader() (defined in PLYLoader) | PLYLoader |
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
unmapOffset(ubyte_t *offsetPtr) | PLYLoader | [inline, protected]
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~PLYLoader() (defined in PLYLoader) | PLYLoader |
~RCObject() | RCObject | [inline, protected, virtual]
~SceneLoader() | SceneLoader | [protected, virtual]

Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: PointAttribute Class Reference

nvsg::PointAttribute

PointAttribute Class Reference

PrimitiveAttribute specific for Points. More...

#include <PointAttribute.h>

Inheritance diagram for PointAttribute:

[legend]
Collaboration diagram for PointAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | isAntiAliased () const
Get the anti-aliasing state.
NVSG_API void | setAntiAliasing (bool aa)
Set the anti-aliasing state.
NVSG_API float | getSize () const
Get the point size.
NVSG_API void | setSize (float size)
Set the point size.
NVSG_API PointAttribute & | operator= (const PointAttribute &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other PointAttribute.
REFLECTION_INFO_API (NVSG_API, PointAttribute)

Static Public Member Functions

static NVSG_API PointAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | PointAttribute ()
Default-constructs a PointAttribute.
NVSG_API | PointAttribute (const PointAttribute &rhs)
Constructs a PointAttribute as a copy from another PointAttribute.
virtual NVSG_API | ~PointAttribute ()
Destructs a PointAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

PrimitiveAttribute specific for Points.

Namespace: nvsg
Remarks:
A PointAttribute holds the point-specific attributes of a StatePass.
Note:
Faces and Lines are not affected by a PointAttribute.
See also:
FaceAttribute, LineAttribute, PrimitiveAttribute, StatePass

Constructor & Destructor Documentation

NVSG_API PointAttribute ( ) [protected]

Default-constructs a PointAttribute.

Remarks:
A default-constructed PointAttribute has anti-aliasing off, and a point size of 1.0.

NVSG_API PointAttribute ( const PointAttribute & rhs ) [protected]

Constructs a PointAttribute as a copy from another PointAttribute.

virtual NVSG_API ~PointAttribute ( ) [protected, virtual]

Destructs a PointAttribute.

Member Function Documentation

bool isAntiAliased ( ) const [inline]

Get the anti-aliasing state.

Returns:
true, if anti-aliasing for Points is enabled, otherwise false.
Remarks:
With anti-aliasing enabled, a point is drawn as a circular group of pixels, and the pixels on the boundaries are typically drawn at less than full intensity to give the edge a smoother appearance. By default, anti-aliasing is disabled.
See also:
getSize, setAntiAliasing

void setAntiAliasing ( bool aa ) [inline]

Set the anti-aliasing state.

Parameters:
aa true, if anti-aliasing is to be enabled, otherwise false.
Remarks:
With anti-aliasing enabled, a point is drawn as a circular group of pixels, and the pixels on the boundaries are typically drawn at less than full intensity to give the edge a smoother appearance. By default, anti-aliasing is disabled.
See also:
isAntiAliasing, setSize

float getSize ( ) const [inline]

Get the point size.

Returns:
The point size
Remarks:
The size must be greater than 0.0, and by default is 1.0.
See also:
isAntiAliased, setSize

void setSize ( float size ) [inline]

Set the point size.

Parameters:
size The point size
Remarks:
The size must be greater than 0.0, and by default is 1.0.
See also:
getSize, setAntiAliasing

NVSG_API PointAttribute& operator= ( const PointAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant PointAttribute to copy from
Returns:
A reference to the assigned PointAttribute
Remarks:
The assignment operator calls the assignment operator of PrimitiveAttribute and then copies the PointAttribute specific data.
See also:
PrimitiveAttribute

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other PointAttribute.

Parameters:
p | A reference to the constant PointAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the PointAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as PrimitiveAttribute, they are equivalent if they have the same anti-aliasing state and the same point size.
Note:
The behavior is undefined if p is not a PointAttribute nor derived from one.
See also:
PrimitiveAttribute

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • PointAttribute.h
Generated on Fri Jul 13 13:30:14 2012 for SceniX


SceniX: Member List

PointAttribute Member List

This is the complete list of members for PointAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in PointAttribute) | PointAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | PointAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSize() const | PointAttribute | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isAntiAliased() const | PointAttribute | [inline]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PointAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const PointAttribute &rhs) | PointAttribute |
nvsg::PrimitiveAttribute::operator=(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PointAttribute() | PointAttribute | [protected]
PointAttribute(const PointAttribute &rhs) | PointAttribute | [protected]
PrimitiveAttribute() | PrimitiveAttribute | [protected]
PrimitiveAttribute(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, PointAttribute) (defined in PointAttribute) | PointAttribute |
REFLECTION_INFO_API(NVSG_API, PrimitiveAttribute) (defined in PrimitiveAttribute) | PrimitiveAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setAntiAliasing(bool aa) | PointAttribute | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSize(float size) | PointAttribute | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~PointAttribute() | PointAttribute | [protected, virtual]
~PrimitiveAttribute() | PrimitiveAttribute | [virtual]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:14 2012 for SceniX


SceniX: PointLight Class Reference

nvsg::PointLight

PointLight Class Reference

LightSource representing a point light. More...

#include <PointLight.h>

Inheritance diagram for PointLight:

[legend]
Collaboration diagram for PointLight:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | syncEffectLight (CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const
virtual NVSG_API void | syncMetaSLLightParameters (CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const
NVSG_API const nvmath::Vec3f & | getPosition () const
Get the position.
NVSG_API void | setPosition (const nvmath::Vec3f &position)
Set the position.
NVSG_API bool | isAttenuated () const
Query if this PointLight is attenuated.
NVSG_API void | getAttenuation (float &c, float &l, float &q) const
Get the attenuation factors.
NVSG_API const nvmath::Vec3f & | getAttenuation () const
Get the attenuation factors as a nvmath::Vec3f.
NVSG_API void | setAttenuation (float c, float l, float q)
Set the attenuation factors.
NVSG_API void | setAttenuation (const nvmath::Vec3f &attenuation)
Set the attenuation factors by a nvmath::Vec3f.
NVSG_API PointLight & | operator= (const PointLight &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other PointLight.
REFLECTION_INFO_API (NVSG_API, PointLight)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Position)
NVSG_API | DECLARE_STATIC_PROPERTY (Attenuation)

Static Public Member Functions

static NVSG_API PointLightSharedPtr | create ()

Protected Member Functions

NVSG_API | PointLight ()
Default-constructs a PointLight.
NVSG_API | PointLight (const PointLight &rhs)
Constructs a PointLight as a copy of another PointLight.
virtual NVSG_API | ~PointLight ()
Destructs a PointLight.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

LightSource representing a point light.

Namespace: nvsg
Remarks:
Point lights have color and position within a scene, but no single direction. They give off light equally in all directions. A light bulb is a good example of a point light. Point lights are affected by attenuation and range, and illuminate a mesh on a vertex-by-vertex basis. During lighting, the point light's position in world space and the coordinates of the vertex being lit are used to derive a vector for the direction of the light and the distance that the light has traveled. Both are used, along with the vertex normal, to calculate the contribution of the light to the illumination of the surface. The defaults for a PointLight are as follows:
  • attenuation is off (constant = 1.0, linear = 0.0, quadratic = 0.0)
  • position is the origin (0.0,0.0,0.0)
See also:
LightSource, DirectedLight, SpotLight

Constructor & Destructor Documentation

NVSG_API PointLight ( ) [protected]

Default-constructs a PointLight.

NVSG_API PointLight ( const PointLight & rhs ) [protected]

Constructs a PointLight as a copy of another PointLight.

virtual NVSG_API ~PointLight ( ) [protected, virtual]

Destructs a PointLight.

Member Function Documentation

NVSG_API const nvmath::Vec3f& getPosition ( ) const

Get the position.

Returns:
A reference to the constant position of the PointLight.
Remarks:
The default position is the origin (0.0,0.0,0.0).
See also:
setPosition

NVSG_API void setPosition ( const nvmath::Vec3f & position )

Set the position.

Parameters:
position A reference to the constant position to set.
Remarks:
The default position is the origin (0.0,0.0,0.0).
See also:
getPosition

bool isAttenuated ( ) const [inline]

Query if this PointLight is attenuated.

Returns:
true if this light source is attenuated, otherwise false
Remarks:
A PointLight is attenuated if the constant attenuation factor is different from one, or if the linear or quadratic attenuation factor is different from zero.
By default, attenuation is off.
See also:
getAttenuation, setAttenuation

void getAttenuation | ( | float & | c,
 |  | float & | l,
 |  | float & | q
 | ) | const [inline]

Get the attenuation factors.

Parameters:
c | A reference to a float to get the constant attenuation factor.
l | A reference to a float to get the linear attenuation factor.
q | A reference to a float to get the quadratic attenuation factor.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point, using the equation
 atten = 1 / ( c + l * d + q * d * d )
where d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, setAttenuation

const nvmath::Vec3f & getAttenuation ( ) const [inline]

Get the attenuation factors as a nvmath::Vec3f.

Returns:
A reference to the constant nvmath::Vec3f with the attenuation factors.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point, using the equation
 atten = 1 / ( v[0] + v[1] * d + v[2] * d * d )
where v is the returned nvmath::Vec3f, and d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, setAttenuation

void setAttenuation | ( | float | c,
 |  | float | l,
 |  | float | q
 | ) | [inline]

Set the attenuation factors.

Parameters:
c | The constant attenuation factor.
l | The linear attenuation factor.
q | The quadratic attenuation factor.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point, using the equation
 atten = 1 / ( c + l * d + q * d * d )
where d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, getAttenuation

void setAttenuation ( const nvmath::Vec3f & attenuation ) [inline]

Set the attenuation factors by a nvmath::Vec3f.

Parameters:
attenuation A reference to the constant attenuation factors.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point, using the equation
 atten = 1 / ( v[0] + v[1] * d + v[2] * d * d )
where v is the returned nvmath::Vec3f, and d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, getAttenuation

NVSG_API PointLight& operator= ( const PointLight & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant PointLight to copy from
Returns:
A reference to the assigned PointLight
Remarks:
The assignment operator calls the assignment operator of LightSource, and copies the attenuation factors.
See also:
LightSource

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other PointLight.

Parameters:
p | A pointer to the PointLight to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the PointLight p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as LightSource, they are equivalent if the attenuation factors are equal.
Note:
The behavior is undefined if p is not a PointLight nor derived from one.
See also:
DirectedLight, LightSource, SpotLight

Reimplemented from LightSource.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from LightSource.

The documentation for this class was generated from the following file:
  • PointLight.h
Generated on Fri Jul 13 13:30:15 2012 for SceniX


SceniX: Member List

PointLight Member List

This is the complete list of members for PointLight, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in PointLight) | PointLight | [static]
DECLARE_STATIC_PROPERTY(Position) (defined in PointLight) | PointLight |
DECLARE_STATIC_PROPERTY(Attenuation) (defined in PointLight) | PointLight |
DECLARE_STATIC_PROPERTY(AmbientColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(DiffuseColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(SpecularColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Intensity) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Enabled) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(ShadowCasting) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineMetaSLLightParameterSpace(CgFxEffect *fx, CgFxParameter param, const nvmath::Mat44f &world, const nvmath::Mat44f &view, nvmath::Mat44f &transform) const | LightSource | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | PointLight | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAmbientColor() const | LightSource | [inline]
getAnimation() const | LightSource | [inline]
getAnnotation() const | Object |
getAttenuation(float &c, float &l, float &q) const | PointLight | [inline]
getAttenuation() const | PointLight | [inline]
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDiffuseColor() const | LightSource | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIntensity() const | LightSource | [inline]
getInverse() const | LightSource | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPosition() const | PointLight |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSpecularColor() const | LightSource | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTransformationMatrix() const | LightSource | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isAttenuated() const | PointLight | [inline]
isDataShared() const | Object | [virtual]
isEnabled() const | LightSource | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PointLight | [virtual]
isShadowCasting() const | LightSource | [inline]
LightSource() | LightSource | [protected]
LightSource(const LightSource &rhs) | LightSource | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
m_trafo | LightSource | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const PointLight &rhs) | PointLight |
nvsg::LightSource::operator=(const LightSource &rhs) | LightSource | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PointLight() | PointLight | [protected]
PointLight(const PointLight &rhs) | PointLight | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, PointLight) (defined in PointLight) | PointLight |
REFLECTION_INFO_API(NVSG_API, LightSource) (defined in LightSource) | LightSource |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
setAmbientColor(const nvmath::Vec3f &color) | LightSource | [inline]
setAnimation(const TrafoAnimationSharedPtr &animation) | LightSource |
setAnnotation(const std::string &anno) | Object |
setAttenuation(float c, float l, float q) | PointLight | [inline]
setAttenuation(const nvmath::Vec3f &attenuation) | PointLight | [inline]
setDiffuseColor(const nvmath::Vec3f &color) | LightSource | [inline]
setEnabled(bool enable) | LightSource | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIntensity(float intensity) | LightSource | [inline]
setName(const std::string &name) | Object |
setPosition(const nvmath::Vec3f &position) | PointLight |
setShadowCasting(bool cast) | LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &color) | LightSource | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncEffectLight(CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const (defined in PointLight) | PointLight | [virtual]
syncIncarnation(PFNGETINCARNATION) const (defined in LightSource) | LightSource | [protected, virtual]
syncMetaSLLightParameters(CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const (defined in PointLight) | PointLight | [virtual]
~LightSource() | LightSource | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]
~PointLight() | PointLight | [protected, virtual]

Generated on Fri Jul 13 13:30:15 2012 for SceniX


SceniX: Points Class Reference

nvsg::Points

Points Class Reference

IndependentPrimitiveSet for points. More...

#include <Points.h>

Inheritance diagram for Points:

[legend]
Collaboration diagram for Points:

[legend]
List of all members.

Public Member Functions

NVSG_API Points & | operator= (const Points &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, Points)

Static Public Member Functions

static NVSG_API PointsSharedPtr | create ()

Protected Member Functions

NVSG_API | Points ()
Default-constructs a Points.
NVSG_API | Points (const PrimitiveSet &rhs)
Constructs a Points from a PrimitiveSet.
NVSG_API | Points (const Points &rhs)
Constructs a Points as a copy from another Points.
virtual NVSG_API | ~Points ()
Destructs a Points.

Detailed Description

IndependentPrimitiveSet for points.

Namespace: nvsg
Remarks:
A Points is an IndependentPrimitiveSet that holds an array of indices. Each of these indices describes a point with the index pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, Lines, Quads, Triangles

Constructor & Destructor Documentation

NVSG_API Points ( ) [protected]

Default-constructs a Points.

NVSG_API Points ( const PrimitiveSet & rhs ) [explicit, protected]

Constructs a Points from a PrimitiveSet.

NVSG_API Points ( const Points & rhs ) [protected]

Constructs a Points as a copy from another Points.

virtual NVSG_API ~Points ( ) [protected, virtual]

Destructs a Points.

Member Function Documentation

NVSG_API Points& operator= ( const Points & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Points to copy from.
Returns:
A reference to the assigned Points.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

The documentation for this class was generated from the following file:
  • Points.h
Generated on Fri Jul 13 13:30:15 2012 for SceniX


SceniX: Member List

Points Member List

This is the complete list of members for Points, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | IndependentPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | IndependentPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Points) | Points | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | IndependentPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | IndependentPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIndices() const | IndependentPrimitiveSet | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfIndices() const | IndependentPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasIndices() const | IndependentPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
IndependentPrimitiveSet() | IndependentPrimitiveSet | [protected]
IndependentPrimitiveSet(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
isDataShared() const | IndependentPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | IndependentPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Points &rhs) | Points |
nvsg::IndependentPrimitiveSet::operator=(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Points() | Points | [protected]
Points(const PrimitiveSet &rhs) | Points | [explicit, protected]
Points(const Points &rhs) | Points | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Points) (defined in Points) | Points |
REFLECTION_INFO_API(NVSG_API, IndependentPrimitiveSet) (defined in IndependentPrimitiveSet) | IndependentPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndices(const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setIndices(unsigned int pos, const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~IndependentPrimitiveSet() | IndependentPrimitiveSet | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~Points() | Points | [protected, virtual]
~PrimitiveSet() | PrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:15 2012 for SceniX


SceniX: PostBuildTraverser Class Reference

PostBuildTraverser Class Reference

PostBuildTraverser Class. More...

#include <PostBuildTraverser.h>

Inheritance diagram for PostBuildTraverser:

[legend]
Collaboration diagram for PostBuildTraverser:

[legend]
List of all members.

Public Member Functions

PostBuildTraverser ()
Default constructor.

Protected Member Functions

virtual | ~PostBuildTraverser ()
Default destructor.
virtual void | handleFlipbookAnimation (nvsg::FlipbookAnimation *p)
Handler function for a FlipbookAnimation.
virtual void | handleSwitch (nvsg::Switch *p)
Handler function for a Switch.
virtual void | postTraverseObject (const nvsg::Object *object)
Handle each Object after traversal.

Detailed Description

PostBuildTraverser Class.

This class ensures that state for objects containing Links (AppTraverserCallbacks) are correct for the first frame of rendering.

Constructor & Destructor Documentation

PostBuildTraverser ( )

Default constructor.

virtual ~PostBuildTraverser ( ) [protected, virtual]

Default destructor.

Member Function Documentation

virtual void handleFlipbookAnimation ( nvsg::FlipbookAnimation * p ) [protected, virtual]

Handler function for a FlipbookAnimation.

Parameters:
anim A pointer to the write-locked FlipbookAnimation being traversed.
Remarks:
This function is called from the framework whenever a FlipbookAnimation is encountered on traversal. The FlipbookAnimation anim is already write-locked.
The base implementation first traverses the associated IndexAnimation, and then calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup, IndexAnimation

Reimplemented from ExclusiveTraverser.

virtual void handleSwitch ( nvsg::Switch * p ) [protected, virtual]

Handler function for a Switch.

Parameters:
swtch A pointer to the write-locked Switch being traversed.
Remarks:
This function is called from the framework whenever a Switch is encountered on traversal. The Switch switch is already write-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented from ExclusiveTraverser.

virtual void postTraverseObject ( const nvsg::Object * object ) [protected, virtual]

Handle each Object after traversal.

Parameters:
object A pointer to the read-locked object that was just traversed.
Remarks:
Each app callbacks of the object is called.
See also:
Callback

Reimplemented from Traverser.

The documentation for this class was generated from the following file:
  • PostBuildTraverser.h
Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Member List

PostBuildTraverser Member List

This is the complete list of members for PostBuildTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveModelViewTraverser() | ExclusiveModelViewTraverser | [protected]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *p) | PostBuildTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *p) | PostBuildTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | ExclusiveModelViewTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_transformStack | ExclusiveModelViewTraverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
PostBuildTraverser() | PostBuildTraverser |
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | PostBuildTraverser | [protected, virtual]
postTraverseTransform(const nvmath::Trafo *p) | ExclusiveModelViewTraverser | [protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
preTraverseTransform(const nvmath::Trafo *p) | ExclusiveModelViewTraverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveModelViewTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveModelViewTraverser() | ExclusiveModelViewTraverser | [protected, virtual]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~PostBuildTraverser() | PostBuildTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Primitive Class Reference

nvsg::Primitive

Primitive Class Reference

Class for Drawable objects holding a VertexAttributeSet. More...

#include <Primitive.h>

Inheritance diagram for Primitive:

[legend]
Collaboration diagram for Primitive:

[legend]
List of all members.

Public Types

enum | { DRAW_ARRAYS = 0, DRAW_INDEXED = BIT(0), DRAW_INSTANCED = BIT(1) }

Public Member Functions

NVSG_API Primitive & | operator= (const Primitive &rhs)
Assignment operator.
NVSG_API void | setPrimitiveType (PrimitiveType t)
Set the primitive type.
NVSG_API PrimitiveType | getPrimitiveType () const
NVSG_API const SkinSharedPtr & | getSkin () const
Get the Skin of this Primitive.
NVSG_API void | setSkin (const SkinSharedPtr &skin)
Set the Skin of this Primitive.
NVSG_API void | setElementRange (unsigned int offset, unsigned int count)
Set the range of elements to use. If an IndexSet is present the range applies to that, if not, it applies to the VertexAttributeSet directly.
NVSG_API void | getElementRange (unsigned int &offset, unsigned int &count) const
Get the element range values offset and count exactly as specified by the user via setElementRange. If setElementRange hasn't been used the returned values will be offset = 0 and count = ~0 which describes the whole IndexSet or VertexAttributeSet.
NVSG_API unsigned int | getElementOffset () const
Get the user defined element offset value. Returns the user defined offset value for the starting index or vertex. If setElementRange hasn't been used the returned value will be 0 describing the start of the IndexSet or VertexAttributeSet.
NVSG_API unsigned int | getElementCount () const
Get the effective element count. Returns the effective count value for indices or vertices.
NVSG_API unsigned int | getMaxElementCount () const
Get the maximum allowed element count of the IndexSet or VertexAttributeSet. This is a convenience function which allows to query the IndexSet or VertexAttributeSet size without considering the currently active user defined element range offset or count values. Only with the default setElementRange(0, ~0) setting the result will match the one from getElementCount.
NVSG_API void | setInstanceCount (unsigned int icount)
Set the instance count for this primitive.
NVSG_API unsigned int | getInstanceCount () const
NVSG_API void | setNumberOfVerticesPerPatch (unsigned int vpp)
Set the number of vertices per patch.
NVSG_API unsigned int | getNumberOfVerticesPerPatch () const
NVSG_API void | setVertexAttributeSet (const VertexAttributeSetSharedPtr &vash)
Set the VertexAttributeSet.
NVSG_API const VertexAttributeSetSharedPtr & | getVertexAttributeSet () const
Get The VertexAttributeSet of this Primitive.
NVSG_API const IndexSetSharedPtr & | getIndexSet () const
Get the IndexSet.
NVSG_API void | setIndexSet (const IndexSetSharedPtr &iset)
Set the IndexSet.
NVSG_API bool | isIndexed () const
Check whether this Primitive is indexed or not.
NVSG_API bool | makeIndexed ()
Make this Primitive indexed.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other Primitive.
NVSG_API unsigned int | getRenderFlags () const
Get the renderer specific render flags.
NVSG_API unsigned int | getNumberOfPrimitives () const
Get the number of geometric primitives in this Primitive.
NVSG_API unsigned int | getNumberOfFaces () const
Get the number of faces in this primitive.
NVSG_API unsigned int | getNumberOfVerticesPerPrimitive () const
Get the number of vertices per Primitive.
virtual NVSG_API void | notify (const Subject *originator, unsigned int state) const
REFLECTION_INFO_API (NVSG_API, Primitive)

Static Public Member Functions

static NVSG_API PrimitiveSharedPtr | create ()

Protected Member Functions

NVSG_API | Primitive ()
default constructor
NVSG_API | Primitive (const Primitive &rhs)
Copy constructor.
virtual NVSG_API | ~Primitive ()
Destructor.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API bool | determineAnimationContainment () const
NVSG_API void | determinePrimitiveAndFaceCount () const
NVSG_API unsigned int | getNumberOfPrimitiveRestarts () const
Get the number of primitive restarts in the IndexSet.
virtual NVSG_API void | calculateTexCoords (TextureCoordType type, unsigned int texcoords, bool overwrite)
Override to specialize calculation of texture coords.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this Primitive.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculate the bounding sphere of this Primitive.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for Primitives.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for Primitives.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class for Drawable objects holding a VertexAttributeSet.

See also:
Drawable, VertexAttributeSet, IndexSet

Constructor & Destructor Documentation

NVSG_API Primitive ( ) [protected]

default constructor

NVSG_API Primitive ( const Primitive & rhs ) [protected]

Copy constructor.

Parameters:
rhs A reference to the constant Primitive to copy from
Remarks:
The new Primitive holds a copy of the VertexAttributeSet and IndexSet (if any) of rhs.

virtual NVSG_API ~Primitive ( ) [protected, virtual]

Destructor.

Member Function Documentation

NVSG_API Primitive& operator= ( const Primitive & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Primitive to copy from.
Returns:
A reference to the assigned Primitive.

NVSG_API void setPrimitiveType ( PrimitiveType t )

Set the primitive type.

Parameters:
pt The primitive type to use to render this primitive.
Remarks:
If the selected primitive type is not available on the target hardware, nothing will be drawn for this primitive.
See also:
PrimitiveType

const SkinSharedPtr & getSkin ( ) const [inline]

Get the Skin of this Primitive.

Returns:
The Skin of this Primitive.
Remarks:
If a Primitive holds a Skin, the associated VertexAttributeSet is skinned using that Skin object.
See also:
setSkin, getVertexAttributeSet

NVSG_API void setSkin ( const SkinSharedPtr & skin )

Set the Skin of this Primitive.

Parameters:
skin The Skin to set.
Remarks:
If a Primitive holds a Skin, the associated VertexAttributeSet is skinned using that Skin object.
See also:
getSkin, getVertexAttributeSet

NVSG_API void setElementRange | ( | unsigned int | offset,
 |  | unsigned int | count
 | ) |

Set the range of elements to use. If an IndexSet is present the range applies to that, if not, it applies to the VertexAttributeSet directly.

Parameters:
offset | The starting index or vertex to use for this primitive. The default value is 0, meaning the traverser should begin sourcing indices or vertices from the start of the IndexSet or VertexAttributeSet.
count | The count of indices or vertices to use for this primitive. The default value of ~0 describes the end of the IndexSet or VertexAttributeSet. It will cause all elements from offset to the end of the IndexSet or VertexAttributeSet to be used. Results are undefined if offset is greater than the size of the IndexSet or VertexArray. Results are undefined if the count is not equal to ~0 and offset + count is greater than the IndexSet or VertexAttributeSet size.
Remarks:
Sets the number of elements to use for this primitive. This is the number of indices or vertices, NOT the number of primitives.
Note:
This method must be called after setIndexSet() or setVertexAttributeSet() for proper validation. The defaults match the call setElementRange(0, ~0) which will render the whole Primitive. With these defaults it is not required to update the range after the IndexSet or VertexAttributeSet size has been changed if the whole Primitive should be rendered.
See also:
getElementRange, getElementOffset, getElementCount, getMaxElementCount

void getElementRange | ( | unsigned int & | offset,
 |  | unsigned int & | count
 | ) | const [inline]

Get the element range values offset and count exactly as specified by the user via setElementRange. If setElementRange hasn't been used the returned values will be offset = 0 and count = ~0 which describes the whole IndexSet or VertexAttributeSet.

Parameters:
offset | Returns the user defined offset value for the starting index or vertex.
count | Returns the user defined count value for indices or vertices. This can be ~0 which describes the IndexSet or VertexAttributeSet end.
Remarks:
The range describes the start and count of indices or vertices to use, NOT the number of primitives. setElementRange and getElementRange are symmetric to be able to use them in succession while the special count parameter ~0 is used. To get the effective number of elements use getElementCount. It will return the user count if it is not ~0 and the IndexSet or VertexAttributeSet size minus offset when the user count is ~0.
See also:
setElementRange, getElementOffset, getElementCount, getMaxElementCount

unsigned int getElementOffset ( ) const [inline]

Get the user defined element offset value. Returns the user defined offset value for the starting index or vertex. If setElementRange hasn't been used the returned value will be 0 describing the start of the IndexSet or VertexAttributeSet.

Remarks:
The offset value describes the start of indices or vertices to use, NOT the number of primitives.
See also:
setElementRange, getElementRange, getElementCount, getElementCount

NVSG_API unsigned int getElementCount ( ) const

Get the effective element count. Returns the effective count value for indices or vertices.

Remarks:
The count describes the number of indices or vertices, NOT the number of primitives. With the default element count value of ~0 this function returns the IndexSet or VertexAttribute size minus the element offset. This is in contrast to the getElementRange function which returns the user defined range values which can have count at ~0. There is no setElementCount defined on purpose because that wouldn't be symmetric to this getElementCount function.
See also:
setElementRange, getElementRange, getElementOffset, getMaxElementCount

NVSG_API unsigned int getMaxElementCount ( ) const

Get the maximum allowed element count of the IndexSet or VertexAttributeSet. This is a convenience function which allows to query the IndexSet or VertexAttributeSet size without considering the currently active user defined element range offset or count values. Only with the default setElementRange(0, ~0) setting the result will match the one from getElementCount.

See also:
setElementRange, getElementRange, getElementOffset, getElementCount

NVSG_API void setInstanceCount ( unsigned int icount )

Set the instance count for this primitive.

Parameters:
icount The number of times to instance (render) this primitive. Typically the shader used to render an instanced primitive must be written to be instance-aware, and separate data must be packed into vertex attributes in order to appropriately render each instance. The value must be greater than or equal to 1.
Remarks:
If icount is greater than 1, and OpenGL 3.0 or ARB_draw_instanced is not available, nothing will be rendered for this primitive since a compatible software fallback is not possible.
Note:
The default instance count is 1, rendering exactly 1 primitive.

NVSG_API void setNumberOfVerticesPerPatch ( unsigned int vpp )

Set the number of vertices per patch.

Parameters:
vpp The number of vertices per patch.
Remarks:
If the PrimitiveType for this Primitive is PRIMITIVE_PATCHES then each consecutive set of verticesPerPatch indices are treated as one patch.
Note:
This value MUST be set if rendering a patch primitive. If not rendering a patch primitive, it is ignored.
See also:
getNumberOfVerticesPerPatch

Reimplemented in PatchesBase.

NVSG_API void setVertexAttributeSet ( const VertexAttributeSetSharedPtr & vash )

Set the VertexAttributeSet.

Parameters:
vash The VertexAttributeSet to set.
See also:
VertexAttributeSet

const VertexAttributeSetSharedPtr & getVertexAttributeSet ( ) const [inline]

Get The VertexAttributeSet of this Primitive.

Returns:
The VertexAttributeSet of this Primitive.
See also:
VertexAttributeSet

const IndexSetSharedPtr & getIndexSet ( ) const [inline]

Get the IndexSet.

Returns:
The IndexSet.
Note:
If a Primitive does not contain an IndexSet then it is considered to be a non-indexed array of primitives that will be drawn in linear order as specified in the VAS.
See also:
IndexSet

NVSG_API void setIndexSet ( const IndexSetSharedPtr & iset )

Set the IndexSet.

Parameters:
iset A pointer to the IndexSet.
See also:
IndexSet, getIndexSet

bool isIndexed ( ) const [inline]

Check whether this Primitive is indexed or not.

Returns:
true if the Primitive p is indexed (contains a IndexSet), otherwise false.
See also:
IndexSet, setIndexSet

NVSG_API bool makeIndexed ( )

Make this Primitive indexed.

Returns:
true if the Primitive was not indexed before, otherwise false.
Remarks:
If this Primitive is not indexed, an IndexSet is created, indexing the vertices from offset to offset+count. Otherwise nothing is done.
See also:
isIndexed, getIndexSet, setIndexSet, getElementOffset, getElementCount

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other Primitive.

Parameters:
p | A reference to the constant Primitive to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the Primitive p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Drawable, they are equivalent if the VertexAttributeSet objects are equivalent. If deepCompare is true, a full equivalence test is performed on the VertexAttributeSet objects, otherwise they are considered to be equivalent if the pointers are equal.
Note:
The behavior is undefined if p is not a Primitive nor derived from one.
See also:
Drawable, VertexAttributeSet

Reimplemented from Object.

Reimplemented in PatchesBase.

unsigned int getRenderFlags ( ) const [inline]

Get the renderer specific render flags.

Remarks:
This function is used by the renderer to accelerate rendering of this primitive
Returns:
The render flags

unsigned int getNumberOfPrimitives ( ) const [inline]

Get the number of geometric primitives in this Primitive.

Remarks:
This function returns the number of geometric primitives in this primitive. This count varies depending on the primitive type, whether the primitive is indexed, is stripped, and whether the IndexSet contains Primitive Restart indices or not. If the primitive is "singular" (*_STRIP, TRIANGLE_FAN, etc) the count of that type (not the face count) is returned. If the primitive is "plural" (TRIANGLES, QUADS, etc) the face count is returned.
Returns:
The primitive count.
See also:
getNumberOfFaces, getNumberOfVerticesPerPrimitive

unsigned int getNumberOfFaces ( ) const [inline]

Get the number of faces in this primitive.

Remarks:
This function returns the number of faces in this primitive. The face count varies depending on the primitive type, whether the primitive is indexed, is stripped, and whether the IndexSet contains Primitive Restart indices or not. If the primitive is "singular" (*_STRIP, TRIANGLE_FAN, etc) the primitive will be processed to determine the actual number of faces in the strip or fan, etc. If the primitive is "plural" (TRIANGLES, QUADS, etc) the face count equals the number of primitives.
Returns:
The face count.
See also:
getNumberOfVerticesPerPrimitive, getNumberOfPrimitives

unsigned int getNumberOfVerticesPerPrimitive ( ) const [inline]

Get the number of vertices per Primitive.

Remarks:
This function returns the number of vertices required to specify a complete Primitive. For instance it would be 3 for PRIMITIVE_TRIANGLES, 4 for PRIMITIVE_QUADS, etc. For types with a variable number of vertices per primitive (PRIMITIVE_POLYGON, PRIMITIVE_TRIANGLE_STRIP, etc) the return value is zero.
Returns:
The vertex count, 0, or ~0 if the primitive is uninitialized.
See also:
getNumberOfFaces, getNumberOfPrimitives, getNumberOfPrimitiveRestarts

NVSG_API unsigned int getNumberOfPrimitiveRestarts ( ) const [protected]

Get the number of primitive restarts in the IndexSet.

Remarks:
This function returns the number of primitive restarts found in the IndexSet.
Returns:
The number of primitive restarts found in the IndexSet, which may be zero if there is no index set or no primitive restarts therein.
See also:
getNumberofFaces, getNumberOfElements, getNumberOfVerticesPerPrimitive

virtual NVSG_API void calculateTexCoords | ( | TextureCoordType | type,
 |  | unsigned int | texcoords,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize calculation of texture coords.

Reimplemented from Drawable.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this Primitive.

Returns:
The axis-aligned bounding box of this Primitive.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this Primitive.

Reimplemented from Object.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculate the bounding sphere of this Primitive.

Returns:
A nvmath::Sphere3f that contains the complete Primitive.
Remarks:
This function is called by the framework to determine a sphere that completely contains the Primitive.

Reimplemented from Object.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for Primitives.

Parameters:
overwrite A flag indicating whether to overwrite existing vertex normals.
Returns:
true, if normals could be calculated, otherwise false.
Remarks:
This function gets called from the generateNormals API. If overwrite is true or the Primitive has no normals, and the Primitive is of type PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN, PRIMITIVE_TRIANGLES, PRIMITIVE_QUAD_STRIP, or PRIMITIVE_QUADS, normals are calculated and true is returned. Otherwise false is returned.
See also:
generateNormals

Reimplemented from Drawable.

Reimplemented in QuadPatches, QuadPatches4x4, RectPatches, TriPatches, and TriPatches4.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for Primitives.

Parameters:
texcoords | Addresses the vertex attribute to hold the input 2D texture coordinates used to calculate the tangent space.
tangents | Addresses the vertex attribute where to output the calculated tangents.
binormals | Addresses the vertex attribute where to output the calculated binormals.
overwrite | A flag indicating whether to overwrite existing vertex data.
Remarks:
This function gets called from the generateTangentSpace API. If overwrite is true or the Primitive has no normals, and the Primitive is of type PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN, PRIMITIVE_TRIANGLES, PRIMITIVE_QUAD_STRIP, or PRIMITIVE_QUADS, tangents and binormals are calculated.
See also:
generateTangentSpace

Reimplemented from Drawable.

Reimplemented in QuadPatches, QuadPatches4x4, RectPatches, TriPatches, and TriPatches4.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in PatchesBase, QuadPatches, RectPatches, and TriPatches.

The documentation for this class was generated from the following file:
  • Primitive.h
Generated on Fri Jul 13 13:30:16 2012 for SceniX


SceniX: Member List

Primitive Member List

This is the complete list of members for Primitive, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | Primitive | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Primitive | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Primitive) | Primitive | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Primitive | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Primitive | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int vpp) | Primitive |
setPrimitiveType(PrimitiveType t) | Primitive |
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~Primitive() | Primitive | [protected, virtual]

Generated on Fri Jul 13 13:30:16 2012 for SceniX


SceniX: PrimitiveAttribute Class Reference

nvsg::PrimitiveAttribute

PrimitiveAttribute Class Reference

Base class for all primitive related StateAttribute classes. More...

#include <PrimitiveAttribute.h>

Inheritance diagram for PrimitiveAttribute:

[legend]
Collaboration diagram for PrimitiveAttribute:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~PrimitiveAttribute ()
Destructs a PrimitiveAttribute.
REFLECTION_INFO_API (NVSG_API, PrimitiveAttribute)

Protected Member Functions

NVSG_API | PrimitiveAttribute ()
Protected default constructor to prevent explicit creation.
NVSG_API | PrimitiveAttribute (const PrimitiveAttribute &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API PrimitiveAttribute & | operator= (const PrimitiveAttribute &rhs)
Assignment operator.

Detailed Description

Base class for all primitive related StateAttribute classes.

Namespace: nvsg
Remarks:
For each primitive type like points, lines, or faces, there is one specific PrimitiveAttribute, like PointAttribute, LineAttribute, and FaceAttribute. The different kinds of PrimitiveAttributes do not interfere.
See also:
FaceAttribute, LineAttribute, PointAttribute, StateAttribute

Constructor & Destructor Documentation

virtual NVSG_API ~PrimitiveAttribute ( ) [virtual]

Destructs a PrimitiveAttribute.

NVSG_API PrimitiveAttribute ( ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
This default constructor is accessible only by derived classes.

NVSG_API PrimitiveAttribute ( const PrimitiveAttribute & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant PrimitiveAttribute to copy from
Remarks:
This copy constructor is accessible only by derived classes.

Member Function Documentation

NVSG_API PrimitiveAttribute& operator= ( const PrimitiveAttribute & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant PrimitiveAttribute to copy from.
Returns:
A reference to the assigned PrimitiveAttribute.
Remarks:
This assignment operator is accessible only by derived classes. It calls the assignment operator of StateAttibute.

The documentation for this class was generated from the following file:
  • PrimitiveAttribute.h
Generated on Fri Jul 13 13:30:16 2012 for SceniX


SceniX: Member List

PrimitiveAttribute Member List

This is the complete list of members for PrimitiveAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveAttribute() | PrimitiveAttribute | [protected]
PrimitiveAttribute(const PrimitiveAttribute &rhs) | PrimitiveAttribute | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, PrimitiveAttribute) (defined in PrimitiveAttribute) | PrimitiveAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~PrimitiveAttribute() | PrimitiveAttribute | [virtual]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:16 2012 for SceniX


SceniX: PrimitiveSet Class Reference

nvsg::PrimitiveSet

PrimitiveSet Class Reference

Base class for Drawable objects holding a VertexAttributeSet. More...

#include <PrimitiveSet.h>

Inheritance diagram for PrimitiveSet:

[legend]
Collaboration diagram for PrimitiveSet:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~PrimitiveSet ()
Destructs a PrimitiveSet.
NVSG_API const VertexAttributeSetSharedPtr & | getVertexAttributeSet () const
Get a pointer to the constant VertexAttributeSet.
NVSG_API void | setVertexAttributeSet (const VertexAttributeSetSharedPtr &svash)
Set the VertexAttributeSet.
NVSG_API const SkinSharedPtr & | getSkin () const
Get the Skin of this PrimitiveSet.
NVSG_API void | setSkin (const SkinSharedPtr &skin)
Set the Skin of this PrimitiveSet.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other PrimitiveSet.
REFLECTION_INFO_API (NVSG_API, PrimitiveSet)

Protected Member Functions

NVSG_API | PrimitiveSet ()
Protected default constructor to prevent explicit creation.
NVSG_API | PrimitiveSet (const PrimitiveSet &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API PrimitiveSet & | operator= (const PrimitiveSet &rhs)
Assignment operator.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API bool | determineAnimationContainment () const
virtual NVSG_API void | calculateTexCoords (TextureCoordType type, unsigned int texcoords, bool overwrite)
Override to specialize calculation of texture coords.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Base class for Drawable objects holding a VertexAttributeSet.

Namespace: nvsg
Remarks:
This class provides the common interface for Drawable object with a VertexAttributeSet, like IndependentPrimitiveSet or StrippedPrimitiveSet.
See also:
Drawable, IndependentPrimitiveSet, StrippedPrimitiveSet, VertexAttributeSet

Constructor & Destructor Documentation

virtual NVSG_API ~PrimitiveSet ( ) [virtual]

Destructs a PrimitiveSet.

NVSG_API PrimitiveSet ( ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
This default constructor is accessible only by derived classes. By default, it holds no VertexAttributeSet.

NVSG_API PrimitiveSet ( const PrimitiveSet & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant PrimitiveSet to copy from
Remarks:
This copy constructor is accessible only by derived classes. The new PrimitiveSet holds a copy of the VertexAttributeSet of rhs.

Member Function Documentation

const VertexAttributeSetSharedPtr & getVertexAttributeSet ( ) const [inline]

Get a pointer to the constant VertexAttributeSet.

Returns:
A pointer to the constant VertexAttributeSet.
See also:
VertexAttributeSet

NVSG_API void setVertexAttributeSet ( const VertexAttributeSetSharedPtr & svash )

Set the VertexAttributeSet.

Parameters:
svash A smart pointer to the VertexAttributeSet.
See also:
VertexAttributeSet

const SkinSharedPtr & getSkin ( ) const [inline]

Get the Skin of this PrimitiveSet.

Returns:
The Skin of this PrimitiveSet.
Remarks:
If a PrimitiveSet holds a Skin, the associated VertexAttributeSet is skinned using that Skin object.
See also:
setSkin, getSkinnedVertexAttributeSet, getVertexAttributeSet

NVSG_API void setSkin ( const SkinSharedPtr & skin )

Set the Skin of this PrimitiveSet.

Parameters:
skin The Skin to set.
Remarks:
If a PrimitiveSet holds a Skin, the associated VertexAttributeSet is skinned using that Skin object.
See also:
getSkin, getVertexAttributeSet

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other PrimitiveSet.

Parameters:
p | A reference to the constant PrimitiveSet to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the PrimitiveSet p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Drawable, they are equivalent if the VertexAttributeSet objects are equivalent. If deepCompare is true, a full equivalence test is performed on the VertexAttributeSet objects, otherwise they are considered to be equivalent if the pointers are equal.
Note:
The behavior is undefined if p is not a PrimitiveSet nor derived from one.
See also:
Drawable, VertexAttributeSet

Reimplemented from Object.

Reimplemented in IndependentPrimitiveSet, MeshedPrimitiveSet, and StrippedPrimitiveSet.

NVSG_API PrimitiveSet& operator= ( const PrimitiveSet & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant PrimitiveSet to copy from.
Returns:
A reference to the assigned PrimitiveSet.
Remarks:
This assignment operator is accessible only by derived classes. It calls the assignment operator of PrimitiveSet.

virtual NVSG_API void calculateTexCoords | ( | TextureCoordType | type,
 |  | unsigned int | texcoords,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize calculation of texture coords.

Reimplemented from Drawable.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in IndependentPrimitiveSet, MeshedPrimitiveSet, and StrippedPrimitiveSet.

The documentation for this class was generated from the following file:
  • PrimitiveSet.h
Generated on Fri Jul 13 13:30:17 2012 for SceniX


SceniX: Member List

PrimitiveSet Member List

This is the complete list of members for PrimitiveSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | PrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:17 2012 for SceniX


SceniX: ProblemInfo Class Reference

nvutil::ProblemInfo

ProblemInfo Class Reference

Class that holds the problem information. More...

#include <ProblemLog.h>

List of all members.

Public Member Functions

ProblemInfo (const char *problem, bool isCritical, const char *missingFeatures)
Constructor to construct a valid problem info.

Public Attributes

std::string | m_problem
catchword
bool | m_isCritical
severity
std::string | m_missingFeatures
explanation

Detailed Description

Class that holds the problem information.

This class holds the problem information that is logged in the ProblemLog class.

Constructor & Destructor Documentation

ProblemInfo | ( | const char * | problem,
 |  | bool | isCritical,
 |  | const char * | missingFeatures
 | ) | [inline]

Constructor to construct a valid problem info.

Parameters:
problem | Catchword, like the name of a missing extension
isCritical | Yes means critical problem
missingFeatures | Longer description on what feature(s) will be missing

Member Data Documentation

std::string m_problem

catchword

bool m_isCritical

severity

std::string m_missingFeatures

explanation

The documentation for this class was generated from the following file:
  • ProblemLog.h
Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Member List

ProblemInfo Member List

This is the complete list of members for ProblemInfo, including all inherited members.

m_isCritical | ProblemInfo |
m_missingFeatures | ProblemInfo |
m_problem | ProblemInfo |
ProblemInfo(const char *problem, bool isCritical, const char *missingFeatures) | ProblemInfo | [inline]
~ProblemInfo() (defined in ProblemInfo) | ProblemInfo | [inline]

Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: ProblemLog Class Reference

nvutil::ProblemLog

ProblemLog Class Reference

Class to log problems. More...

#include <ProblemLog.h>

List of all members.

Public Member Functions

void | addProblem (const ProblemInfo &info)
Get the problem log.
const ProblemLogList & | getLogList ()

Detailed Description

Class to log problems.

Member Function Documentation

void addProblem ( const ProblemInfo & info ) [inline]

Get the problem log.

Parameters:
info Valid Problem information

const ProblemLogList & getLogList ( ) [inline]

Use the returned log to analyse problems and missing features, ...

Returns:
Problem log list, if there is no problem the log list does not contain entries.

The documentation for this class was generated from the following file:
  • ProblemLog.h
Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Member List

ProblemLog Member List

This is the complete list of members for ProblemLog, including all inherited members.

addProblem(const ProblemInfo &info) | ProblemLog | [inline]
getLogList() | ProblemLog | [inline]

Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Profile Class Reference

nvutil::Profile

Profile Class Reference

Profiling class. More...

#include <Profile.h>

Collaboration diagram for Profile:

[legend]
List of all members.

Public Member Functions

NVSG_API | Profile (const std::string &description)
Start a profiler.
NVSG_API double | getTime ()
Output and return the current measured time in milliseconds.
NVSG_API void | text (const std::string &text)
Output a text.
NVSG_API double | stop ()
Stop the profiler, output and return measured time in milliseconds.

Detailed Description

Profiling class.

Constructor & Destructor Documentation

NVSG_API Profile ( const std::string & description )

Start a profiler.

Member Function Documentation

NVSG_API double getTime ( )

Output and return the current measured time in milliseconds.

NVSG_API void text ( const std::string & text )

Output a text.

NVSG_API double stop ( )

Stop the profiler, output and return measured time in milliseconds.

The documentation for this class was generated from the following file:
  • Profile.h
Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Member List

Profile Member List

This is the complete list of members for Profile, including all inherited members.

getTime() | Profile
Profile(const std::string &description) | Profile
stop() | Profile
text(const std::string &text) | Profile
~Profile() (defined in Profile) | Profile

Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Property Class Reference

nvutil::Property

Property Class Reference

This is the base class for all Properties. It's being used as Handle to a Property. All property implementations need to derive from. More...

#include <Reflection.h>

Inheritance diagram for Property:

[legend]
List of all members.

Public Types

enum Type {
TYPE_FLOAT, TYPE_FLOAT2, TYPE_FLOAT3, TYPE_FLOAT4,
TYPE_INT, TYPE_INT2, TYPE_INT3, TYPE_INT4,
TYPE_UINT, TYPE_UINT2, TYPE_UINT3, TYPE_UINT4,
TYPE_QUATERNION_FLOAT, TYPE_BOX2_FLOAT, TYPE_BOX3_FLOAT, TYPE_BOX4_FLOAT,
TYPE_MATRIX33_FLOAT, TYPE_MATRIX44_FLOAT, TYPE_BOOLEAN, TYPE_TRANSFORMATION,
TYPE_VERTEX_ATTRIBUTE, TYPE_OBJECT, TYPE_STRING, TYPE_SET_UINT,
TYPE_SCENE, TYPE_VIEWSTATE, TYPE_RENDERTARGET, TYPE_UNKNOWN
}
enum Semantic {
SEMANTIC_VALUE, SEMANTIC_POSITION, SEMANTIC_DIRECTION, SEMANTIC_ORIENTATION,
SEMANTIC_DIMENSION, SEMANTIC_SCALING, SEMANTIC_COLOR, SEMANTIC_OBJECT
}

Public Member Functions

virtual NVSG_API Type | getType () const =0
Returns the type of the Property.
virtual NVSG_API Semantic | getSemantic () const =0
Returns the semantic of the Property.
virtual NVSG_API void | addRef ()=0
Increase the refcount of the property.
virtual NVSG_API void | destroy ()=0
Decrease the refcount and destroy the property if necessary.
virtual NVSG_API std::string | getAnnotation () const =0
Returns the annotation of a property.
virtual NVSG_API Property * | clone () const
Clone a property. Most properties do not contain any data and can just be reused.

Detailed Description

This is the base class for all Properties. It's being used as Handle to a Property. All property implementations need to derive from.

See also:
TypedProperty which also adds the get/set methods to the interface.

Member Enumeration Documentation

enum Type

Supported property types *

Enumeration values:
TYPE_OBJECT | class nvsg::Object
TYPE_STRING | class std::string
TYPE_SET_UINT | class std::set<unsigned int>

enum Semantic

Supported semantics *

Enumeration values:
SEMANTIC_VALUE | Property does not have a special semantic.
SEMANTIC_POSITION | Property is a position.
SEMANTIC_DIRECTION | Property is a direction, i.e. for directional lights.
SEMANTIC_ORIENTATION | Property is an orientation.
SEMANTIC_DIMENSION | Property is a dimension.
SEMANTIC_SCALING | Property is a scaling factor.
SEMANTIC_COLOR | Property is a color.
SEMANTIC_OBJECT | Property is an object.

Member Function Documentation

virtual NVSG_API Type getType ( ) const [pure virtual]

Returns the type of the Property.

Implemented in TypedProperty, TypedPropertyValue, TypedProperty< int >, and TypedProperty< ValueType >.

virtual NVSG_API Semantic getSemantic ( ) const [pure virtual]

Returns the semantic of the Property.

Implemented in TypedPropertyImpl, TypedPropertyValue, and TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >.

virtual NVSG_API void addRef ( ) [pure virtual]

Increase the refcount of the property.

Implemented in TypedPropertyImpl, TypedPropertyValue, and TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >.

virtual NVSG_API void destroy ( ) [pure virtual]

Decrease the refcount and destroy the property if necessary.

Implemented in TypedPropertyImpl, TypedPropertyValue, and TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >.

virtual NVSG_API std::string getAnnotation ( ) const [pure virtual]

Returns the annotation of a property.

Implemented in TypedPropertyImpl, TypedPropertyValue, and TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >.

virtual NVSG_API Property* clone ( ) const [inline, virtual]

Clone a property. Most properties do not contain any data and can just be reused.

Reimplemented in TypedPropertyValue.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Property Member List

This is the complete list of members for Property, including all inherited members.

addRef()=0 | Property | [pure virtual]
clone() const | Property | [inline, virtual]
destroy()=0 | Property | [pure virtual]
getAnnotation() const =0 | Property | [pure virtual]
getSemantic() const =0 | Property | [pure virtual]
getType() const =0 | Property | [pure virtual]
Semantic enum name | Property |
SEMANTIC_COLOR enum value | Property |
SEMANTIC_DIMENSION enum value | Property |
SEMANTIC_DIRECTION enum value | Property |
SEMANTIC_OBJECT enum value | Property |
SEMANTIC_ORIENTATION enum value | Property |
SEMANTIC_POSITION enum value | Property |
SEMANTIC_SCALING enum value | Property |
SEMANTIC_VALUE enum value | Property |
Type enum name | Property |
TYPE_BOOLEAN enum value (defined in Property) | Property |
TYPE_BOX2_FLOAT enum value (defined in Property) | Property |
TYPE_BOX3_FLOAT enum value (defined in Property) | Property |
TYPE_BOX4_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT2 enum value (defined in Property) | Property |
TYPE_FLOAT3 enum value (defined in Property) | Property |
TYPE_FLOAT4 enum value (defined in Property) | Property |
TYPE_INT enum value (defined in Property) | Property |
TYPE_INT2 enum value (defined in Property) | Property |
TYPE_INT3 enum value (defined in Property) | Property |
TYPE_INT4 enum value (defined in Property) | Property |
TYPE_MATRIX33_FLOAT enum value (defined in Property) | Property |
TYPE_MATRIX44_FLOAT enum value (defined in Property) | Property |
TYPE_OBJECT enum value | Property |
TYPE_QUATERNION_FLOAT enum value (defined in Property) | Property |
TYPE_RENDERTARGET enum value (defined in Property) | Property |
TYPE_SCENE enum value (defined in Property) | Property |
TYPE_SET_UINT enum value | Property |
TYPE_STRING enum value | Property |
TYPE_TRANSFORMATION enum value (defined in Property) | Property |
TYPE_UINT enum value (defined in Property) | Property |
TYPE_UINT2 enum value (defined in Property) | Property |
TYPE_UINT3 enum value (defined in Property) | Property |
TYPE_UINT4 enum value (defined in Property) | Property |
TYPE_UNKNOWN enum value (defined in Property) | Property |
TYPE_VERTEX_ATTRIBUTE enum value (defined in Property) | Property |
TYPE_VIEWSTATE enum value (defined in Property) | Property |
~Property() (defined in Property) | Property | [inline, virtual]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: PropertyList Class Reference

nvutil::PropertyList

PropertyList Class Reference

This is the base class for a list of Properties. It's possible to implement this interace for custom property lists, i.e. mapping properties of an CgFx or an RTFx. More...

#include <Reflection.h>

Inheritance diagram for PropertyList:

[legend]
List of all members.

Public Member Functions

NVSG_API | PropertyList ()
Default constructor of a PropertyList.
NVSG_API | PropertyList (const PropertyList &rhs)
Copy constructor of a PropertyList.
virtual NVSG_API | ~PropertyList ()
Destructor of a PropertyList.
virtual NVSG_API unsigned int | getPropertyCount () const =0
Retrieve the numer of properties in this list.
virtual NVSG_API PropertyId | getProperty (unsigned int index) const =0
Get a PropertyId by index. Note that indices may change during runtime if an object has dynamic properties. Never keep indices to properties!
virtual NVSG_API PropertyId | getProperty (const std::string &name) const =0
Get a PropertyId by name.
virtual NVSG_API std::string | getPropertyName (unsigned int index) const =0
Get the name of a property at the given index.
virtual NVSG_API std::string | getPropertyName (const PropertyId propertyId) const =0
Get the name of a property for the given propertyid.
virtual NVSG_API bool | hasProperty (const PropertyId propertyId) const =0
Check if a given Property is still available.
virtual NVSG_API bool | hasProperty (const std::string &name) const =0
Check if a given Property is still available.
virtual NVSG_API PropertyList * | clone () const =0
Create a deep copy of this PropertyList.
virtual NVSG_API bool | isStatic () const =0
Check if list is marked as static.
virtual NVSG_API void | destroy ()
Destroy the given list *.
NVSG_API size_t | getId () const
Returns id of the list *.
NVSG_API void | setId (size_t Id)
Sets id for the list.

Detailed Description

This is the base class for a list of Properties. It's possible to implement this interace for custom property lists, i.e. mapping properties of an CgFx or an RTFx.

Constructor & Destructor Documentation

NVSG_API PropertyList ( ) [inline]

Default constructor of a PropertyList.

NVSG_API PropertyList ( const PropertyList & rhs ) [inline]

Copy constructor of a PropertyList.

Parameters:
rhs The PropertyList to copy from.

virtual NVSG_API ~PropertyList ( ) [inline, virtual]

Destructor of a PropertyList.

Member Function Documentation

virtual NVSG_API unsigned int getPropertyCount ( ) const [pure virtual]

Retrieve the numer of properties in this list.

Returns:
Number of properties within this list

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API PropertyId getProperty ( unsigned int index ) const [pure virtual]

Get a PropertyId by index. Note that indices may change during runtime if an object has dynamic properties. Never keep indices to properties!

Parameters:
index index of Property to get
Returns:
PropertyId of Property at position index

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API PropertyId getProperty ( const std::string & name ) const [pure virtual]

Get a PropertyId by name.

Parameters:
name name of Property to get
Returns:
PropertyId of Property with given name

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API std::string getPropertyName ( unsigned int index ) const [pure virtual]

Get the name of a property at the given index.

Parameters:
index index of a property
Returns:
std::string with the name of the property at the given index

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API std::string getPropertyName ( const PropertyId propertyId ) const [pure virtual]

Get the name of a property for the given propertyid.

Parameters:
propertyId PropertyId of the property which name is requested
Returns:
std::string with the name of the property for the given PropertyId

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API bool hasProperty ( const PropertyId propertyId ) const [pure virtual]

Check if a given Property is still available.

Parameters:
propertyId The PropertyId to check for
Returns:
true if the object contains the given Property, false otherwise

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API bool hasProperty ( const std::string & name ) const [pure virtual]

Check if a given Property is still available.

Parameters:
name name of Property to check for
Returns:
true if the object contains the given Property, false otherwise

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API PropertyList* clone ( ) const [pure virtual]

Create a deep copy of this PropertyList.

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API bool isStatic ( ) const [pure virtual]

Check if list is marked as static.

Returns:
true If list can be threated as static list. Static lists contain only static (program global) properties and the content of the list is also static after first initialization.

Implemented in PropertyListImpl, and PropertyListChain.

virtual NVSG_API void destroy ( ) [virtual]

Destroy the given list *.

NVSG_API size_t getId ( ) const [inline]

Returns id of the list *.

NVSG_API void setId ( size_t Id ) [inline]

Sets id for the list.

Parameters:
Id new Id for the list

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: Member List

PropertyList Member List

This is the complete list of members for PropertyList, including all inherited members.

clone() const =0 | PropertyList | [pure virtual]
destroy() | PropertyList | [virtual]
getId() const | PropertyList | [inline]
getProperty(unsigned int index) const =0 | PropertyList | [pure virtual]
getProperty(const std::string &name) const =0 | PropertyList | [pure virtual]
getPropertyCount() const =0 | PropertyList | [pure virtual]
getPropertyName(unsigned int index) const =0 | PropertyList | [pure virtual]
getPropertyName(const PropertyId propertyId) const =0 | PropertyList | [pure virtual]
hasProperty(const PropertyId propertyId) const =0 | PropertyList | [pure virtual]
hasProperty(const std::string &name) const =0 | PropertyList | [pure virtual]
isStatic() const =0 | PropertyList | [pure virtual]
PropertyList() | PropertyList | [inline]
PropertyList(const PropertyList &rhs) | PropertyList | [inline]
setId(size_t Id) | PropertyList | [inline]
~PropertyList() | PropertyList | [inline, virtual]

Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: PropertyListChain Class Reference

nvutil::PropertyListChain

PropertyListChain Class Reference

This PropertyList implementation will provide a view on multiple PropertyList with a single List only. Changes to the added PropertyLists are immideatly visible in this view. More...

#include <Reflection.h>

Inheritance diagram for PropertyListChain:

[legend]
Collaboration diagram for PropertyListChain:

[legend]
List of all members.

Public Types

typedef std::vector< PropertyList * > | PropertyListContainer
The container type of the Camera's head lights.
typedef PropertyListContainer::iterator | PropertyListIterator
The iterator over the HeadLightContainer.
typedef PropertyListContainer::const_iterator | PropertyListConstIterator
The const iterator over the HeadLightContainer.

Public Member Functions

NVSG_API | PropertyListChain (bool isStatic=true)
Constructor for a list of PropertyLists.
NVSG_API | PropertyListChain (const PropertyListChain &rhs)
Copy constructor of a PropertyListChain.
virtual NVSG_API | ~PropertyListChain ()
Desctructor of a PropertyListChain.
NVSG_API void | addPropertyList (PropertyList *propertyList)
Add a new PropertyList to the chain. All properties of the given propertyList will be visible at the end of the current list, but not duplicated.
NVSG_API PropertyListConstIterator | beginPropertyLists () const
Get the beginning iterator of PropertyLists.
NVSG_API PropertyListConstIterator | endPropertyLists () const
Get the ending iterator of PropertyLists.
NVSG_API void | removePropertyList (PropertyList *propertyList)
Remove a PropertyList from the chain.
NVSG_API unsigned int | getPropertyCount () const
Get the number of properties.
NVSG_API PropertyId | getProperty (unsigned int index) const
Get a property by index.
NVSG_API PropertyId | getProperty (const std::string &name) const
Get a PropertyId by name.
NVSG_API std::string | getPropertyName (unsigned int index) const
Get the name of a property at the given index.
NVSG_API std::string | getPropertyName (const PropertyId propertyId) const
Get the name of a property for the given propertyid.
virtual NVSG_API bool | hasProperty (const PropertyId propertyId) const
Check if a given Property is still available.
virtual NVSG_API bool | hasProperty (const std::string &name) const
Check if a given Property is still available.
virtual NVSG_API PropertyList * | clone () const
Create a deep copy of this PropertyList.
virtual NVSG_API bool | isStatic () const
Check if list is marked as static.

Protected Attributes

bool | m_isStatic
Flag specifying if this PropertyListChain is static.
std::vector< PropertyList * > | m_propertyLists
The container of PropertyLists.

Detailed Description

This PropertyList implementation will provide a view on multiple PropertyList with a single List only. Changes to the added PropertyLists are immideatly visible in this view.

Member Typedef Documentation

typedef std::vector<PropertyList*> PropertyListContainer

The container type of the Camera's head lights.

typedef PropertyListContainer::iterator PropertyListIterator

The iterator over the HeadLightContainer.

typedef PropertyListContainer::const_iterator PropertyListConstIterator

The const iterator over the HeadLightContainer.

Constructor & Destructor Documentation

NVSG_API PropertyListChain ( bool isStatic = true )

Constructor for a list of PropertyLists.

Parameters:
isStatic Marks the list as global static or object centric local list.

NVSG_API PropertyListChain ( const PropertyListChain & rhs )

Copy constructor of a PropertyListChain.

Parameters:
rhs The PropertyListChain to copy from.

virtual NVSG_API ~PropertyListChain ( ) [virtual]

Desctructor of a PropertyListChain.

Member Function Documentation

NVSG_API void addPropertyList ( PropertyList * propertyList )

Add a new PropertyList to the chain. All properties of the given propertyList will be visible at the end of the current list, but not duplicated.

Parameters:
propertyList The PropertyList to add.

NVSG_API PropertyListConstIterator beginPropertyLists ( ) const

Get the beginning iterator of PropertyLists.

Returns:
A const beginning iterator of PropertyLists.

NVSG_API PropertyListConstIterator endPropertyLists ( ) const

Get the ending iterator of PropertyLists.

Returns:
A const ending iterator of PropertyLists.

NVSG_API void removePropertyList ( PropertyList * propertyList )

Remove a PropertyList from the chain.

Parameters:
propertyList The PropertyList to remove.

NVSG_API unsigned int getPropertyCount ( ) const [virtual]

Get the number of properties.

Returns:
The total number of properties in this PropertyListChain.

Implements PropertyList.

NVSG_API PropertyId getProperty ( unsigned int index ) const [virtual]

Get a property by index.

Parameters:
index The index of the property to get.
Returns:
The PropertyId of the property specified by index.
Remarks:
If index is larger than the number of properties in this PropertyListChain, the returned PropertyId is zero, that is, invalid.

Implements PropertyList.

NVSG_API PropertyId getProperty ( const std::string & name ) const [virtual]

Get a PropertyId by name.

Parameters:
name name of Property to get
Returns:
PropertyId of Property with given name

Implements PropertyList.

NVSG_API std::string getPropertyName ( unsigned int index ) const [virtual]

Get the name of a property at the given index.

Parameters:
index index of a property
Returns:
std::string with the name of the property at the given index

Implements PropertyList.

NVSG_API std::string getPropertyName ( const PropertyId propertyId ) const [virtual]

Get the name of a property for the given propertyid.

Parameters:
propertyId PropertyId of the property which name is requested
Returns:
std::string with the name of the property for the given PropertyId

Implements PropertyList.

virtual NVSG_API bool hasProperty ( const PropertyId propertyId ) const [virtual]

Check if a given Property is still available.

Parameters:
propertyId The PropertyId to check for
Returns:
true if the object contains the given Property, false otherwise

Implements PropertyList.

virtual NVSG_API bool hasProperty ( const std::string & name ) const [virtual]

Check if a given Property is still available.

Parameters:
name name of Property to check for
Returns:
true if the object contains the given Property, false otherwise

Implements PropertyList.

virtual NVSG_API PropertyList* clone ( ) const [virtual]

Create a deep copy of this PropertyList.

Implements PropertyList.

virtual NVSG_API bool isStatic ( ) const [virtual]

Check if list is marked as static.

Returns:
true If list can be threated as static list. Static lists contain only static (program global) properties and the content of the list is also static after first initialization.

Implements PropertyList.

Member Data Documentation

bool m_isStatic [protected]

Flag specifying if this PropertyListChain is static.

std::vector<PropertyList*> m_propertyLists [protected]

The container of PropertyLists.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: Member List

PropertyListChain Member List

This is the complete list of members for PropertyListChain, including all inherited members.

addPropertyList(PropertyList *propertyList) | PropertyListChain |
beginPropertyLists() const | PropertyListChain |
clone() const | PropertyListChain | [virtual]
destroy() | PropertyList | [virtual]
endPropertyLists() const | PropertyListChain |
getId() const | PropertyList | [inline]
getProperty(unsigned int index) const | PropertyListChain | [virtual]
getProperty(const std::string &name) const | PropertyListChain | [virtual]
getPropertyCount() const | PropertyListChain | [virtual]
getPropertyName(unsigned int index) const | PropertyListChain | [virtual]
getPropertyName(const PropertyId propertyId) const | PropertyListChain | [virtual]
hasProperty(const PropertyId propertyId) const | PropertyListChain | [virtual]
hasProperty(const std::string &name) const | PropertyListChain | [virtual]
isStatic() const | PropertyListChain | [virtual]
m_isStatic | PropertyListChain | [protected]
m_propertyLists | PropertyListChain | [protected]
PropertyList() | PropertyList | [inline]
PropertyList(const PropertyList &rhs) | PropertyList | [inline]
PropertyListChain(bool isStatic=true) | PropertyListChain |
PropertyListChain(const PropertyListChain &rhs) | PropertyListChain |
PropertyListConstIterator typedef | PropertyListChain |
PropertyListContainer typedef | PropertyListChain |
PropertyListIterator typedef | PropertyListChain |
removePropertyList(PropertyList *propertyList) | PropertyListChain |
setId(size_t Id) | PropertyList | [inline]
~PropertyList() | PropertyList | [inline, virtual]
~PropertyListChain() | PropertyListChain | [virtual]

Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: PropertyListImpl Class Reference

nvutil::PropertyListImpl

PropertyListImpl Class Reference

Default implementation of a PropertyList. Add the new function addProperty to add Properties. More...

#include <Reflection.h>

Inheritance diagram for PropertyListImpl:

[legend]
Collaboration diagram for PropertyListImpl:

[legend]
List of all members.

Public Member Functions

NVSG_API | PropertyListImpl (bool isStatic=true)
Constructor for a list of PropertyLists.
NVSG_API | PropertyListImpl (const PropertyListImpl &rhs)
Copy constructor of a PropertyListImpl.
NVSG_API | ~PropertyListImpl ()
Destructor of a PropertyListImpl.
NVSG_API unsigned int | getPropertyCount () const
Get the number of properties in this PropertyListImpl.
NVSG_API PropertyId | getProperty (unsigned int index) const
Get the PropertyId by its index.
NVSG_API PropertyId | getProperty (const std::string &name) const
Get the PropertyId by its name.
NVSG_API void | addProperty (const std::string &name, PropertyId property)
Add a new Property to the PropertyList.
NVSG_API std::string | getPropertyName (unsigned int index) const
Get the property name by its index.
NVSG_API std::string | getPropertyName (const PropertyId propertyId) const
Get the property name by its PropertyId.
virtual NVSG_API bool | hasProperty (const PropertyId propertyId) const
Check if this PropertyListImpl has a property specified by a PropertyId.
virtual NVSG_API bool | hasProperty (const std::string &name) const
Check if this PropertyListImpl has a property specified by a name.
virtual NVSG_API PropertyList * | clone () const
Create a clone of this PropertyListImpl.
virtual NVSG_API bool | isStatic () const
Check if this PropertyListImpl is static.

Protected Types

typedef std::vector< PropertyId > | PropertyVector
Type definition for container holding properties.
typedef std::map< std::string,
PropertyId > 		PropertyMap
Type definition for container mapping property names to property.

Protected Attributes

bool | m_isStatic
Flag specifying if this PropertyList is static.
PropertyMap m_propertyMap
The map from property name to property.
PropertyVector m_propertyVector
The container of properties.

Detailed Description

Default implementation of a PropertyList. Add the new function addProperty to add Properties.

Member Typedef Documentation

typedef std::vector<PropertyId> PropertyVector [protected]

Type definition for container holding properties.

typedef std::map<std::string, PropertyId> PropertyMap [protected]

Type definition for container mapping property names to property.

Constructor & Destructor Documentation

NVSG_API PropertyListImpl ( bool isStatic = true )

Constructor for a list of PropertyLists.

Parameters:
isStatic Marks the list as global static or object centric local list.

NVSG_API PropertyListImpl ( const PropertyListImpl & rhs )

Copy constructor of a PropertyListImpl.

Parameters:
rhs The PropertyListImpl to copy from.

NVSG_API ~PropertyListImpl ( )

Destructor of a PropertyListImpl.

Member Function Documentation

NVSG_API unsigned int getPropertyCount ( ) const [virtual]

Get the number of properties in this PropertyListImpl.

Returns:
The number of properties in this PropertyListImpl.

Implements PropertyList.

NVSG_API PropertyId getProperty ( unsigned int index ) const [virtual]

Get the PropertyId by its index.

Parameters:
index The index of the property to handle.
Returns:
The PropertyId of the property at position index.

Implements PropertyList.

NVSG_API PropertyId getProperty ( const std::string & name ) const [virtual]

Get the PropertyId by its name.

Parameters:
name The name of the property to handle.
Returns:
The Propertyid of the property named name.

Implements PropertyList.

NVSG_API void addProperty | ( | const std::string & | name,
 |  | PropertyId | property
 | ) |

Add a new Property to the PropertyList.

Parameters:
name | The name of the property
property | The PropertyId of the property (which is a pointer to the property)

NVSG_API std::string getPropertyName ( unsigned int index ) const [virtual]

Get the property name by its index.

Parameters:
index The index of the property to handle.
Returns:
The name of the property at position index.

Implements PropertyList.

NVSG_API std::string getPropertyName ( const PropertyId propertyId ) const [virtual]

Get the property name by its PropertyId.

Parameters:
propertyId The PropertyId of the property to handle.
Returns:
The name of the property with PropertyId propertyId.

Implements PropertyList.

virtual NVSG_API bool hasProperty ( const PropertyId propertyId ) const [virtual]

Check if this PropertyListImpl has a property specified by a PropertyId.

Parameters:
propertyId The PropertyId of the property to check.
Returns:
true if the property with the PropertyId propertyId is part of this PropertyListImpl, otherwise false.

Implements PropertyList.

virtual NVSG_API bool hasProperty ( const std::string & name ) const [virtual]

Check if this PropertyListImpl has a property specified by a name.

Parameters:
name The name of the property to check.
Returns:
true if a property named name is part of this PropertyListImpl, otherwise false.

Implements PropertyList.

virtual NVSG_API PropertyList* clone ( ) const [virtual]

Create a clone of this PropertyListImpl.

Returns:
A pointer to the newly created PropertyList.

Implements PropertyList.

virtual NVSG_API bool isStatic ( ) const [virtual]

Check if this PropertyListImpl is static.

Returns:
true if this PropertyListImple is static, otherwise false.

Implements PropertyList.

Member Data Documentation

bool m_isStatic [protected]

Flag specifying if this PropertyList is static.

PropertyMap m_propertyMap [protected]

The map from property name to property.

PropertyVector m_propertyVector [protected]

The container of properties.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: Member List

PropertyListImpl Member List

This is the complete list of members for PropertyListImpl, including all inherited members.

addProperty(const std::string &name, PropertyId property) | PropertyListImpl |
clone() const | PropertyListImpl | [virtual]
destroy() | PropertyList | [virtual]
getId() const | PropertyList | [inline]
getProperty(unsigned int index) const | PropertyListImpl | [virtual]
getProperty(const std::string &name) const | PropertyListImpl | [virtual]
getPropertyCount() const | PropertyListImpl | [virtual]
getPropertyName(unsigned int index) const | PropertyListImpl | [virtual]
getPropertyName(const PropertyId propertyId) const | PropertyListImpl | [virtual]
hasProperty(const PropertyId propertyId) const | PropertyListImpl | [virtual]
hasProperty(const std::string &name) const | PropertyListImpl | [virtual]
isStatic() const | PropertyListImpl | [virtual]
m_isStatic | PropertyListImpl | [protected]
m_propertyMap | PropertyListImpl | [protected]
m_propertyVector | PropertyListImpl | [protected]
PropertyList() | PropertyList | [inline]
PropertyList(const PropertyList &rhs) | PropertyList | [inline]
PropertyListImpl(bool isStatic=true) | PropertyListImpl |
PropertyListImpl(const PropertyListImpl &rhs) | PropertyListImpl |
PropertyMap typedef | PropertyListImpl | [protected]
PropertyVector typedef | PropertyListImpl | [protected]
setId(size_t Id) | PropertyList | [inline]
~PropertyList() | PropertyList | [inline, virtual]
~PropertyListImpl() | PropertyListImpl |

Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: QuadMeshes Class Reference

nvsg::QuadMeshes

QuadMeshes Class Reference

MeshedPrimitiveSet for quad meshes. More...

#include <QuadMeshes.h>

Inheritance diagram for QuadMeshes:

[legend]
Collaboration diagram for QuadMeshes:

[legend]
List of all members.

Public Member Functions

NVSG_API QuadMeshes & | operator= (const QuadMeshes &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, QuadMeshes)

Static Public Member Functions

static NVSG_API QuadMeshesSharedPtr | create ()

Protected Member Functions

NVSG_API | QuadMeshes ()
Default-constructs a QuadMeshes.
NVSG_API | QuadMeshes (const QuadMeshes &rhs)
Copy-Constructs a QuadMeshes from another QuadMeshes.
virtual NVSG_API | ~QuadMeshes ()
Destructs a QuadMeshes.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for QuadMeshes.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for QuadMeshes.

Detailed Description

MeshedPrimitiveSet for quad meshes.

Namespace: nvsg
Remarks:
A QuadMeshes is a MeshedPrimitiveSet that interprets the vertex attributes and the vector of IndexMesh objects of a MeshedPrimitiveSet as a mesh of quads.
See also:
IndependentPrimitiveSet, StrippedPrimitiveSet

Constructor & Destructor Documentation

NVSG_API QuadMeshes ( ) [protected]

Default-constructs a QuadMeshes.

Remarks:
After instantiation the QuadMeshes initially is empty.

NVSG_API QuadMeshes ( const QuadMeshes & rhs ) [protected]

Copy-Constructs a QuadMeshes from another QuadMeshes.

Parameters:
rhs Source QuadMeshes.

virtual NVSG_API ~QuadMeshes ( ) [protected, virtual]

Destructs a QuadMeshes.

Member Function Documentation

NVSG_API QuadMeshes& operator= ( const QuadMeshes & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant QuadMeshes to copy from.
Returns:
A reference to the assigned QuadMeshes.
Remarks:
The assignment operator calls the assignment operator of MeshedPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for QuadMeshes.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for QuadMeshes.

Reimplemented from Drawable.

The documentation for this class was generated from the following file:
  • QuadMeshes.h
Generated on Fri Jul 13 13:30:17 2012 for SceniX


SceniX: Member List

QuadMeshes Member List

This is the complete list of members for QuadMeshes, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | MeshedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | MeshedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | QuadMeshes | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | QuadMeshes | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in QuadMeshes) | QuadMeshes | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | MeshedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | MeshedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getMeshes() const | MeshedPrimitiveSet | [inline]
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfMeshes() const | MeshedPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasMeshes() const | MeshedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | MeshedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | MeshedPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MeshedPrimitiveSet() | MeshedPrimitiveSet |
MeshedPrimitiveSet(const MeshedPrimitiveSet &rhs) | MeshedPrimitiveSet | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const QuadMeshes &rhs) | QuadMeshes |
nvsg::MeshedPrimitiveSet::operator=(const MeshedPrimitiveSet &rhs) | MeshedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
QuadMeshes() | QuadMeshes | [protected]
QuadMeshes(const QuadMeshes &rhs) | QuadMeshes | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, QuadMeshes) (defined in QuadMeshes) | QuadMeshes |
REFLECTION_INFO_API(NVSG_API, MeshedPrimitiveSet) (defined in MeshedPrimitiveSet) | MeshedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMeshes(const IndexMesh *meshes, unsigned int numMeshes) | MeshedPrimitiveSet |
setMeshes(unsigned int pos, const IndexMesh *meshes, unsigned int numMeshes) | MeshedPrimitiveSet |
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~MeshedPrimitiveSet() | MeshedPrimitiveSet | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~QuadMeshes() | QuadMeshes | [protected, virtual]

Generated on Fri Jul 13 13:30:17 2012 for SceniX


SceniX: QuadPatches Class Reference

nvsg::QuadPatches

QuadPatches Class Reference

IndependentPrimitiveSet for quadratic patches. More...

#include <QuadPatches.h>

Inheritance diagram for QuadPatches:

[legend]
Collaboration diagram for QuadPatches:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setSize (unsigned int size)
Set the size of the quadratic patches.
NVSG_API unsigned int | getSize () const
Get the size of the quadratic patches.
NVSG_API QuadPatches & | operator= (const QuadPatches &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, QuadPatches)

Static Public Member Functions

static NVSG_API QuadPatchesSharedPtr | create ()

Protected Member Functions

NVSG_API | QuadPatches ()
Default-constructs a QuadPatches.
NVSG_API | QuadPatches (const QuadPatches &rhs)
Constructs a QuadPatches as a copy from another QuadPatches.
virtual NVSG_API | ~QuadPatches ()
Destructs a QuadPatches.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for QuadPatches.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for QuadPatches.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

IndependentPrimitiveSet for quadratic patches.

Namespace: nvsg
Remarks:
A QuadPatches is an IndependentPrimitiveSet that holds an array of index-tuples of size size x size. Each of these tuples describe a quadratic patch with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, PatchesBase, Patches

Constructor & Destructor Documentation

NVSG_API QuadPatches ( ) [protected]

Default-constructs a QuadPatches.

NVSG_API QuadPatches ( const QuadPatches & rhs ) [protected]

Constructs a QuadPatches as a copy from another QuadPatches.

virtual NVSG_API ~QuadPatches ( ) [protected, virtual]

Destructs a QuadPatches.

Member Function Documentation

void setSize ( unsigned int size ) [inline]

Set the size of the quadratic patches.

Parameters:
size The number of vertices on the edges of the quadratic patches.
Remarks:
The number of vertices per patch equals size x size. Each such consecutive set of indices is treated as one patch.
See also:
getSize, getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

unsigned int getSize ( ) const [inline]

Get the size of the quadratic patches.

Returns:
The number of vertices on the edges of the quadratic patches.
Remarks:
The number of vertices per patch equals size x size. Each such consecutive set of indices is treated as one patch.
See also:
setSize, getNumberOfVerticesperPatch, hasPatches, getNumberOfPatches

NVSG_API QuadPatches& operator= ( const QuadPatches & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant QuadPatches to copy from.
Returns:
A reference to the assigned QuadPatches.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for QuadPatches.

Reimplemented from Primitive.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for QuadPatches.

Reimplemented from Primitive.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from PatchesBase.

The documentation for this class was generated from the following file:
  • QuadPatches.h
Generated on Fri Jul 13 13:30:18 2012 for SceniX


SceniX: QuadPatches4x4 Class Reference

nvsg::QuadPatches4x4

QuadPatches4x4 Class Reference

IndependentPrimitiveSet for 4x4 patches. More...

#include <QuadPatches4x4.h>

Inheritance diagram for QuadPatches4x4:

[legend]
Collaboration diagram for QuadPatches4x4:

[legend]
List of all members.

Public Member Functions

NVSG_API QuadPatches4x4 & | operator= (const QuadPatches4x4 &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, QuadPatches4x4)

Static Public Member Functions

static NVSG_API QuadPatches4x4SharedPtr | create ()

Protected Member Functions

NVSG_API | QuadPatches4x4 ()
Default-constructs a QuadPatches4x4.
NVSG_API | QuadPatches4x4 (const QuadPatches4x4 &rhs)
Constructs a QuadPatches4x4 as a copy from another QuadPatches4x4.
virtual NVSG_API | ~QuadPatches4x4 ()
Destructs a QuadPatches4x4.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for QuadPatches4x4.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for QuadPatches4x4.

Detailed Description

IndependentPrimitiveSet for 4x4 patches.

Namespace: nvsg
Remarks:
A QuadPatches4x4 is an IndependentPrimitiveSet that holds an array of 4x4 index-tuples. Each of these tuples describe a quadratic patch with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, PatchesBase, Patches

Constructor & Destructor Documentation

NVSG_API QuadPatches4x4 ( ) [protected]

Default-constructs a QuadPatches4x4.

NVSG_API QuadPatches4x4 ( const QuadPatches4x4 & rhs ) [protected]

Constructs a QuadPatches4x4 as a copy from another QuadPatches4x4.

virtual NVSG_API ~QuadPatches4x4 ( ) [protected, virtual]

Destructs a QuadPatches4x4.

Member Function Documentation

NVSG_API QuadPatches4x4& operator= ( const QuadPatches4x4 & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant QuadPatches4x4 to copy from.
Returns:
A reference to the assigned QuadPatches4x4.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for QuadPatches4x4.

Reimplemented from Primitive.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for QuadPatches4x4.

Reimplemented from Primitive.

The documentation for this class was generated from the following file:
  • QuadPatches4x4.h
Generated on Fri Jul 13 13:30:18 2012 for SceniX


SceniX: Member List

QuadPatches4x4 Member List

This is the complete list of members for QuadPatches4x4, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | QuadPatches4x4 | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | QuadPatches4x4 | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in QuadPatches4x4) | QuadPatches4x4 | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | PatchesBase | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | PatchesBase | [inline, virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPatches() const | PatchesBase | [inline]
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasPatches() const | PatchesBase | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PatchesBase | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const QuadPatches4x4 &rhs) | QuadPatches4x4 |
nvsg::PatchesBase::operator=(const PatchesBase &rhs) | PatchesBase | [protected]
nvsg::Primitive::operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PatchesBase() | PatchesBase | [protected]
PatchesBase(const PatchesBase &rhs) | PatchesBase | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
QuadPatches4x4() | QuadPatches4x4 | [protected]
QuadPatches4x4(const QuadPatches4x4 &rhs) | QuadPatches4x4 | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, QuadPatches4x4) (defined in QuadPatches4x4) | QuadPatches4x4 |
REFLECTION_INFO_API(NVSG_API, PatchesBase) (defined in PatchesBase) | PatchesBase |
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int verticesPerPatch) | PatchesBase | [inline, protected]
setPrimitiveType(PrimitiveType t) | Primitive |
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PatchesBase() | PatchesBase | [virtual]
~Primitive() | Primitive | [protected, virtual]
~QuadPatches4x4() | QuadPatches4x4 | [protected, virtual]

Generated on Fri Jul 13 13:30:18 2012 for SceniX


SceniX: Quads Class Reference

nvsg::Quads

Quads Class Reference

IndependentPrimitiveSet for quads. More...

#include <Quads.h>

Inheritance diagram for Quads:

[legend]
Collaboration diagram for Quads:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | hasFaces () const
Query if this Quads has faces.
NVSG_API unsigned int | getNumberOfFaces () const
Get the number of quadrangular faces.
NVSG_API const Face4 * | getFaces () const
Get a pointer to the faces.
NVSG_API void | setFaces (const Face4 *faces, unsigned int numFaces)
Set the faces of this Quads.
NVSG_API void | setFaces (unsigned int pos, const Face4 *faces, unsigned int numFaces)
Set a subset of faces of this Quads.
NVSG_API Quads & | operator= (const Quads &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, Quads)

Static Public Member Functions

static NVSG_API QuadsSharedPtr | create ()

Protected Member Functions

NVSG_API | Quads ()
Default-constructs a Quads.
NVSG_API | Quads (const Quads &rhs)
Constructs a Quads as a copy from another Quads.
virtual NVSG_API | ~Quads ()
Destructs a Quads.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for QuadMeshes.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for QuadMeshes.

Detailed Description

IndependentPrimitiveSet for quads.

Namespace: nvsg
Remarks:
A Quads is an IndependentPrimitiveSet that holds an array of index-quadruples. Each of these quadruples describe a quad with the indices pointing in the array of vertices. All vertex attributes (such as normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, Points, Lines, Triangles

Constructor & Destructor Documentation

NVSG_API Quads ( ) [protected]

Default-constructs a Quads.

NVSG_API Quads ( const Quads & rhs ) [protected]

Constructs a Quads as a copy from another Quads.

virtual NVSG_API ~Quads ( ) [protected, virtual]

Destructs a Quads.

Member Function Documentation

bool hasFaces ( ) const [inline]

Query if this Quads has faces.

Returns:
true, if this Quads has at least four indices, otherwise false.
Remarks:
Each quadruple of successive indices represent one quadrangular face.
See also:
getNumberOfFaces, getFaces, setFaces

unsigned int getNumberOfFaces ( ) const [inline]

Get the number of quadrangular faces.

Returns:
The number of indices of this Quads divided by four.
Remarks:
Each quadruple of successive indices represent one quadrangular face.
See also:
hasFaces, getFaces, setFaces

const Face4 * getFaces ( ) const [inline]

Get a pointer to the faces.

Returns:
A pointer to the constant indices of this IndependentPrimitiveSet.
Remarks:
Each quadruple of successive indices represent one quadrangular face.
See also:
hasFaces, getNumberOfFaces, setFaces

void setFaces | ( | const Face4 * | faces,
 |  | unsigned int | numFaces
 | ) | [inline]

Set the faces of this Quads.

Parameters:
faces | A pointer to the constant faces to use.
numFaces | The number of faces, with four indices per face.
Remarks:
Copies four times numFaces indices from faces into this Quads by just calling the appropriate setIndices.
Note:
The behavior is undefined if there are less than numFaces values of type nvsg::Face4 located at faces.
See also:
hasFaces, getNumberOfFaces, getFaces

void setFaces | ( | unsigned int | pos,
 |  | const Face4 * | faces,
 |  | unsigned int | numFaces
 | ) | [inline]

Set a subset of faces of this Quads.

Parameters:
pos | The start position inside the range of pre-existing faces.
faces | A pointer to the constant faces to use.
numFaces | The number of faces.
Remarks:
Copies four times numFaces indices from faces into this Quads, starting at position four times pos inside the range of pre-existing indices.
Pre-existing indices in the range [4*pos, 4*(pos + numFaces)) will be replaced. Pre-existing indices outside this range remain untouched.
If you specifiy (-1) for pos or pos specifies the number of faces currently stored, the faces pointed to by faces will be appended to the pre-existing faces.
Note:
The behavior is undefined if pos is neither a valid position inside the range of pre-existing faces, nor the number of faces currently stored, nor (-1).

The behavior is undefined if there are less than numFaces values of type Face4 located at segments.

See also:
hasFaces, getNumberOfFaces, getFaces

NVSG_API Quads& operator= ( const Quads & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Quads to copy from.
Returns:
A reference to the assigned Quads.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for QuadMeshes.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for QuadMeshes.

Reimplemented from Drawable.

The documentation for this class was generated from the following file:
  • Quads.h
Generated on Fri Jul 13 13:30:18 2012 for SceniX


SceniX: Member List

Quads Member List

This is the complete list of members for Quads, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | IndependentPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | IndependentPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Quads | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Quads | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Quads) | Quads | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | IndependentPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | IndependentPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getFaces() const | Quads | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIndices() const | IndependentPrimitiveSet | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Quads | [inline]
getNumberOfIndices() const | IndependentPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasFaces() const | Quads | [inline]
hasIndices() const | IndependentPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
IndependentPrimitiveSet() | IndependentPrimitiveSet | [protected]
IndependentPrimitiveSet(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
isDataShared() const | IndependentPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | IndependentPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Quads &rhs) | Quads |
nvsg::IndependentPrimitiveSet::operator=(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
Quads() | Quads | [protected]
Quads(const Quads &rhs) | Quads | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Quads) (defined in Quads) | Quads |
REFLECTION_INFO_API(NVSG_API, IndependentPrimitiveSet) (defined in IndependentPrimitiveSet) | IndependentPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setFaces(const Face4 *faces, unsigned int numFaces) | Quads | [inline]
setFaces(unsigned int pos, const Face4 *faces, unsigned int numFaces) | Quads | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndices(const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setIndices(unsigned int pos, const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~IndependentPrimitiveSet() | IndependentPrimitiveSet | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~Quads() | Quads | [protected, virtual]

Generated on Fri Jul 13 13:30:18 2012 for SceniX


SceniX: QuadStrips Class Reference

nvsg::QuadStrips

QuadStrips Class Reference

StrippedPrimitiveSet for quad strips. More...

#include <QuadStrips.h>

Inheritance diagram for QuadStrips:

[legend]
Collaboration diagram for QuadStrips:

[legend]
List of all members.

Public Member Functions

NVSG_API QuadStrips & | operator= (const QuadStrips &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, QuadStrips)

Static Public Member Functions

static NVSG_API QuadStripsSharedPtr | create ()

Protected Member Functions

NVSG_API | QuadStrips ()
Default-constructs a QuadStrips.
NVSG_API | QuadStrips (const QuadStrips &rhs)
Constructs a QuadStrips as a copy from another QuadStrips.
virtual NVSG_API | ~QuadStrips ()
Destructs a QuadStrips.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for QuadStrips.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for QuadStrips.

Detailed Description

StrippedPrimitiveSet for quad strips.

Namespace: nvsg
Remarks:
A QuadStrips is a StrippedPrimitiveSet that represents the vertex attributes of the StrippedPrimitiveSet as quad strips.
Example
If you have an array of eight vertices in the StrippedPrimitiveSet, one possible method for making them a cube is to define three IndexList elements as follows:
    set[0] = { 0, 1, 2, 3, 4, 5, 6, 7, 0, 1 };
    set[1] = { 1, 7, 3, 5 };
    set[2] = { 6, 0, 4, 2 };
The ordering ensures that the quads are all drawn with the same orientation so that the quad strip correctly forms part of a surface. Preserving the orientation is important for some operations, such as culling. The number of vertices per IndexList must be at least 4 for anything to be drawn.
See also:
LineStrips, StrippedPrimitiveSet, TriangleStrips

Constructor & Destructor Documentation

NVSG_API QuadStrips ( ) [protected]

Default-constructs a QuadStrips.

NVSG_API QuadStrips ( const QuadStrips & rhs ) [explicit, protected]

Constructs a QuadStrips as a copy from another QuadStrips.

virtual NVSG_API ~QuadStrips ( ) [protected, virtual]

Destructs a QuadStrips.

Member Function Documentation

NVSG_API QuadStrips& operator= ( const QuadStrips & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant QuadStrips to copy from.
Returns:
A reference to the assigned QuadStrips.
Remarks:
The assignment operator calls the assignment operator of StrippedPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for QuadStrips.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for QuadStrips.

Reimplemented from Drawable.

The documentation for this class was generated from the following file:
  • QuadStrips.h
Generated on Fri Jul 13 13:30:19 2012 for SceniX


SceniX: Member List

QuadStrips Member List

This is the complete list of members for QuadStrips, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | StrippedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | StrippedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | QuadStrips | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | QuadStrips | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in QuadStrips) | QuadStrips | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StrippedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | StrippedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfStrips(void) const | StrippedPrimitiveSet | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getStrips() const | StrippedPrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasStrips(void) const | StrippedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared(void) const | StrippedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StrippedPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const QuadStrips &rhs) | QuadStrips |
nvsg::StrippedPrimitiveSet::operator=(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
QuadStrips() | QuadStrips | [protected]
QuadStrips(const QuadStrips &rhs) | QuadStrips | [explicit, protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, QuadStrips) (defined in QuadStrips) | QuadStrips |
REFLECTION_INFO_API(NVSG_API, StrippedPrimitiveSet) (defined in StrippedPrimitiveSet) | StrippedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setStrips(const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setStrips(unsigned int pos, const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [protected]
StrippedPrimitiveSet(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~QuadStrips() | QuadStrips | [protected, virtual]
~StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:19 2012 for SceniX


SceniX: Quatt Class Template Reference

nvmath::Quatt

Quatt Class Template Reference

Quaternion class. More...

#include <Quatt.h>

Collaboration diagram for Quatt:

[legend]
List of all members.

Public Member Functions

Quatt ()
Default constructor.
Quatt (T x, T y, T z, T w)
Constructor using four scalar values.
Quatt (const Vecnt< 4, T > &v)
Constructor using a Vecnt<4,T>.
template<typename S>
Quatt (const Quatt< S > &q)
Copy constructor using a Quaternion of possibly different type.
Quatt (const Vecnt< 3, T > &axis, T angle)
Constructor using an axis and an angle.
Quatt (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1)
Constructor by two vectors.
Quatt (const Matnnt< 3, T > &rot)
Constructor by a rotation matrix.
Quatt< T > & | normalize ()
Normalize the quaternion.
template<typename S>
T & | operator[] (S i)
Non-constant subscript operator.
template<typename S>
const T & | operator[] (S i) const
Constant subscript operator.
template<typename S>
Quatt< T > & | operator= (const Quatt< S > &q)
Quaternion assignment operator from a Quaternion of possibly different type.
Quatt< T > & | operator *= (const Quatt< T > &q)
Quaternion multiplication with a quaternion and assignment operator.
Quatt< T > & | operator/= (const Quatt< T > &q)
Quaternion division by a quaternion and assignment operator.
template<>
Quatt< float > & | normalize ()

Detailed Description

template<unsigned int n, typename T>
class nvmath::Quatt< n, T >

Quaternion class.

Remarks:
Quaternions are an alternative to the 3x3 matrices that are typically used for 3-D rotations. A unit quaternion represents an axis in 3-D space and a rotation around that axis. Every rotation can be expressed that way. There are typedefs for the most common usage with float and double: Quatf, Quatd.
Note:
Only unit quaternions represent a rotation.

Constructor & Destructor Documentation

Quatt ( ) [inline]

Default constructor.

Remarks:
For performance reasons no initialization is performed.

Quatt | ( | T | x,
 |  | T | y,
 |  | T | z,
 |  | T | w
 | ) | [inline]

Constructor using four scalar values.

Parameters:
x | X-component of the quaternion.
y | Y-component of the quaternion.
z | Z-component of the quaternion.
w | W-component of the quaternion.
Note:
x, y, and z are not the x,y,z-component of the rotation axis, and w is not the rotation angle. If you have such values handy, use the constructor that takes the axis as a Vecnt<3,T> and an angle.

Quatt ( const Vecnt< 4, T > & v ) [inline, explicit]

Constructor using a Vecnt<4,T>.

Parameters:
v Vector to construct the quaternion from.
Remarks:
The four values of v are just copied over to the quaternion. It is assumed that this operation gives a normalized quaternion.

Quatt ( const Quatt< S > & q ) [inline, explicit]

Copy constructor using a Quaternion of possibly different type.

Parameters:
q The quaternion to copy.

Quatt | ( | const Vecnt< 3, T > & | axis,
 |  | T | angle
 | ) | [inline]

Constructor using an axis and an angle.

Parameters:
axis | Axis to rotate around.
angle | Angle in radians to rotate.
Remarks:
The resulting quaternion represents a rotation by angle (in radians) around axis.

Quatt | ( | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1
 | ) | [inline]

Constructor by two vectors.

Parameters:
v0 | Start vector.
v1 | End vector.
Remarks:
The resulting quaternion represents the rotation that maps vec0 to vec1.
Note:
The quaternion out of two anti-parallel vectors is not uniquely defined. We select just one out of the possible candidates, which might not be the one you would expect. For better control on the quaternion in such a case, we recommend to use the constructor out of an axis and an angle.

Quatt ( const Matnnt< 3, T > & rot ) [inline, explicit]

Constructor by a rotation matrix.

Parameters:
rot The rotation matrix to convert to a unit quaternion.
Remarks:
The resulting quaternion represents the same rotation as the matrix.

Member Function Documentation

Quatt< T > & normalize ( ) [inline]

Normalize the quaternion.

Returns:
A reference to this, as the normalized quaternion.
Remarks:
It is always assumed, that a quaternion is normalized. But when getting data from outside or due to numerically instabilities, a quaternion might become unnormalized. You can use this function then to normalize it again.

T & operator[] ( S i ) [inline]

Non-constant subscript operator.

Parameters:
i Index to the element to use (i=0,1,2,3).
Returns:
A reference to the i th element of the quaternion.

const T & operator[] ( S i ) const [inline]

Constant subscript operator.

Parameters:
i Index to the element to use (i=0,1,2,3).
Returns:
A reference to the constant i th element of the quaternion.

Quatt< T > & operator= ( const Quatt< S > & q ) [inline]

Quaternion assignment operator from a Quaternion of possibly different type.

Parameters:
q The quaternion to assign.
Returns:
A reference to this, as the assigned Quaternion from q.

Quatt< T > & operator *= ( const Quatt< T > & q ) [inline]

Quaternion multiplication with a quaternion and assignment operator.

Parameters:
q A Quaternion to multiply with.
Returns:
A reference to this, as the product (or concatenation) of this and q.
Remarks:
Multiplying two quaternions give a quaternion that represents the concatenation of the rotations represented by the two quaternions.

Quatt< T > & operator/= ( const Quatt< T > & q ) [inline]

Quaternion division by a quaternion and assignment operator.

Parameters:
q A Quaternion to divide by.
Returns:
A reference to this, as the division of this by q.
Remarks:
Dividing a quaternion by an other gives a quaternion that represents the concatenation of the rotation represented by the numerator quaternion and the rotation represented by the conjugated denumerator quaternion.

The documentation for this class was generated from the following file:
  • Quatt.h
Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: Member List

Quatt Member List

This is the complete list of members for Quatt, including all inherited members.

normalize() | Quatt | [inline]
normalize() (defined in Quatt) | Quatt | [inline]
operator *=(const Quatt< T > &q) | Quatt | [inline]
operator/=(const Quatt< T > &q) | Quatt | [inline]
operator=(const Quatt< S > &q) | Quatt | [inline]
operator[](S i) | Quatt | [inline]
operator[](S i) const | Quatt | [inline]
Quatt() | Quatt | [inline]
Quatt(T x, T y, T z, T w) | Quatt | [inline]
Quatt(const Vecnt< 4, T > &v) | Quatt | [inline, explicit]
Quatt(const Quatt< S > &q) | Quatt | [inline, explicit]
Quatt(const Vecnt< 3, T > &axis, T angle) | Quatt | [inline]
Quatt(const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1) | Quatt | [inline]
Quatt(const Matnnt< 3, T > &rot) | Quatt | [inline, explicit]

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: RayIntersectTraverser Class Reference

nvtraverser::RayIntersectTraverser

RayIntersectTraverser Class Reference

RayIntersectTraverser. More...

#include <RayIntersectTraverser.h>

Inheritance diagram for RayIntersectTraverser:

[legend]
Collaboration diagram for RayIntersectTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | RayIntersectTraverser (void)
Default constructor.
NVSG_API void | release ()
Release all resources.
NVSG_API void | setRay (const nvmath::Vec3f &origin, const nvmath::Vec3f &dir)
Set the ray for the intersection test.
NVSG_API void | setCamClipping (bool b)
Enable/disable camera plane clipping.
NVSG_API const Intersection & | getNearest (void) const
Get the nearest intersection.
NVSG_API const Intersection * | getIntersections (void) const
Get intersections.
NVSG_API unsigned int | getNumberOfIntersections (void) const
Get number of intersections.
NVSG_API void | setViewportSize (unsigned int width, unsigned int height)
Set the viewport size for intersection calculations with lines and points.

Protected Types

enum ISType {
_NONE = 0, _BSTANGENT, _BSNEAR, _BSFAR,
_BSNEARFAR
}
Intersection type (bounding sphere). More...

Protected Member Functions

virtual NVSG_API | ~RayIntersectTraverser (void)
Default destructor.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Apply the traverser to the scene.
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *gnode)
Handler function for a GeoNode.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Provide special treatment of an AnimatedTransform node.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *p)
Provide special treatment of a Billboard node.
virtual NVSG_API void | handleGroup (const nvsg::Group *group)
Handler function for a Group.
virtual NVSG_API void | handleLOD (const nvsg::LOD *lod)
Handler function for an LOD.
virtual NVSG_API void | handleSwitch (const nvsg::Switch *swtch)
Handler function for a Switch.
virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Provide special treatment of a Transform node.
virtual NVSG_API void | handleLines (const nvsg::Lines *p)
Handler function for a Lines.
virtual NVSG_API void | handleLineStrips (const nvsg::LineStrips *p)
Handler function for a LineStrips.
virtual NVSG_API void | handlePoints (const nvsg::Points *p)
Handler function for a Points.
virtual NVSG_API void | handleQuadMeshes (const nvsg::QuadMeshes *p)
Handler function for a QuadsMeshes.
virtual NVSG_API void | handleQuadPatches (const nvsg::QuadPatches *p)
Handler function for a QuadPatches.
virtual NVSG_API void | handleQuadPatches4x4 (const nvsg::QuadPatches4x4 *p)
Handler function for a QuadPatches4x4.
virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Handler function for a Quads.
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Handler function for a QuadStrips.
virtual NVSG_API void | handleRectPatches (const nvsg::RectPatches *p)
Handler function for a RectPatches.
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Handler function for a Triangles.
virtual NVSG_API void | handleTriFans (const nvsg::TriFans *p)
Handler function for a TriFans.
virtual NVSG_API void | handleTriPatches (const nvsg::TriPatches *p)
Handler function for a TriPatches.
virtual NVSG_API void | handleTriPatches4 (const nvsg::TriPatches4 *p)
Handler function for a TriPatches4.
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Handler function for a TriStrips.
virtual NVSG_API void | handlePrimitive (const nvsg::Primitive *p)
Handler function for a Primitive.
virtual NVSG_API void | handlePoints (const nvsg::Primitive *p)
virtual NVSG_API void | checkAPoint (const nvsg::Primitive *p, const nvmath::Vec3f &v, unsigned int)
virtual NVSG_API void | handleLines (const nvsg::Primitive *p)
virtual NVSG_API void | handleLineStrip (const nvsg::Primitive *p)
virtual NVSG_API void | handleLineLoop (const nvsg::Primitive *p)
virtual NVSG_API void | handleTriangles (const nvsg::Primitive *p)
virtual NVSG_API void | handleTriangleStrip (const nvsg::Primitive *p)
virtual NVSG_API void | handleTriangleFan (const nvsg::Primitive *p)
virtual NVSG_API void | handleQuads (const nvsg::Primitive *p)
virtual NVSG_API void | handleQuadStrip (const nvsg::Primitive *p)
virtual NVSG_API void | handleLineAttribute (const nvsg::LineAttribute *lineAttrib)
Handler function for a LineAttribute.
virtual NVSG_API void | handlePointAttribute (const nvsg::PointAttribute *pointAttrib)
Handler function for a PointAttribute.
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *stateSet)
Handler function for a StateSet.
virtual NVSG_API void | handleStateVariant (const nvsg::StateVariant *stateVariant)
Handler function for a StateVariant.
virtual NVSG_API bool | preTraverseGroup (const nvsg::Group *p)
Store the active clip planes of p for later usage.
virtual NVSG_API void | postTraverseGroup (const nvsg::Group *p)
Restore the set of active clip planes to the set before entering p.
virtual NVSG_API bool | preTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between transform stack adjustment and traversal.
virtual NVSG_API void | postTraverseTransform (const nvmath::Trafo *p)
Handles stuff to do between traversal and transform stack adjustment.
NVSG_API bool | checkClipPlanes (const nvmath::Vec3f &p)
Test a point against all active clip planes.
NVSG_API bool | checkClipPlanes (const nvmath::Sphere3f &p)
Test a sphere against all active clip planes.
NVSG_API bool | checkIntersection (const nvmath::Sphere3f &sphere)
Check the current ray for intersection with a Sphere3f.
NVSG_API nvmath::Vec3f | getModelIntersection (float dist)
Get the intersection point in model coordinates.
NVSG_API nvmath::Vec3f | getWorldIntersection (const nvmath::Vec3f &misp)
Get the intersection point in world coordinates.
NVSG_API bool | isClipped (const nvmath::Vec3f &isp, const nvmath::Vec3f &misp)
Check if the intersection point is within the camera's clips planes.
NVSG_API bool | intersectBox (const nvmath::Vec3f &p0, const nvmath::Vec3f &p1, nvmath::Vec3f &isp, float &dist)
Intersect with a box.
NVSG_API bool | intersectLine (const nvmath::Vec3f &v0, const nvmath::Vec3f &v1, nvmath::Vec3f &isp, float &dist)
Intersect with line.
NVSG_API bool | intersectPoint (const nvmath::Vec3f &v0, nvmath::Vec3f &isp, float &dist)
Intersect with point.
NVSG_API bool | intersectTriangle (const nvmath::Vec3f &v0, const nvmath::Vec3f &v1, const nvmath::Vec3f &v2, nvmath::Vec3f &isp, float &dist)
Intersect with triangle.
NVSG_API void | storeIntersection (const nvsg::Drawable *p, const nvmath::Vec3f &isp, float dist, unsigned int primitiveIndex, const std::vector< unsigned int > &vertexIndices)
Store the intersection point isp.
NVSG_API void | dumpIntersectionList ()

Detailed Description

RayIntersectTraverser.

A RayIntersectTraverser is a specialized traverser that calculates the intersections of a given ray that passes through the scene. It does NOT consider face culling modes.

Note:
If you add new geometry objects classes to SceniX you must also derive from this class and add an operator for this object to handle the intersection calculation.

If you create a special kind of transformation node you also have to take care of the transformation stack in this class.

Needs a valid ViewState. Call setViewState prior to apply().

Member Enumeration Documentation

enum ISType [protected]

Intersection type (bounding sphere).

These are the possible types of intersections between the ray and the boundingsphere of an object in the scene. These types are used for the preintersection calculation with the objects bounding sphere. Regarding the intersection type we can skip objects.

Enumeration values:
_NONE | No intersection.
_BSTANGENT | Tangential intersection.
_BSNEAR | Intersection with the front part of the bounding sphere.
_BSFAR | Intersection with the back part of the bounding sphere.
_BSNEARFAR | Intersection with the front and back part of the bounding sphere.

Constructor & Destructor Documentation

NVSG_API RayIntersectTraverser ( void )

Default constructor.

virtual NVSG_API ~RayIntersectTraverser ( void ) [protected, virtual]

Default destructor.

Member Function Documentation

NVSG_API void release ( )

Release all resources.

By releasing all resources we can use this traverser for the next intersection calculation.

NVSG_API void setRay | ( | const nvmath::Vec3f & | origin,
 |  | const nvmath::Vec3f & | dir
 | ) |

Set the ray for the intersection test.

Sets a world-space ray along which to pick. The ray is defined as a world space origin point and direction vector. The direction vector must be normalized.

Parameters:
origin | World space origin
dir | Direction of the ray - must be normalized!

void setCamClipping ( bool b ) [inline]

Enable/disable camera plane clipping.

Enabling camera plane clipping forces the traverser to calculate only intersections that lie in between the camera's clip planes.

Note:
if the RayIntersectTraverser is applied before the scene is rendered and the camera has been changed since the latest rendering, then this mode may yield incorrect results because the clip planes wouldn't have gotten a chance to re-adapt to the new camera settings
Parameters:
flag true = enable clipping

const Intersection & getNearest ( void ) const [inline]

Get the nearest intersection.

Returns:
The nearest intersection regarding the rays origin.

const Intersection * getIntersections ( void ) const [inline]

Get intersections.

Returns:
All intersections along the ray.

unsigned int getNumberOfIntersections ( void ) const [inline]

Get number of intersections.

Returns:
The number of intersections along the ray.

NVSG_API void setViewportSize | ( | unsigned int | width,
 |  | unsigned int | height
 | ) |

Set the viewport size for intersection calculations with lines and points.

Note:
Both width and height have to be positive.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Apply the traverser to the scene.

Start the intersection calculation of the given ray with the scene objects.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGeoNode ( const nvsg::GeoNode * gnode ) [protected, virtual]

Handler function for a GeoNode.

Parameters:
gnode A pointer to the read-locked GeoNode being traversed.
Remarks:
This function is called from the framework whenever a GeoNode is encountered on traversal. The GeoNode gnode is already read-locked.
The base implementation just calls Traverser::traverseGeoNode().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGeoNode

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Provide special treatment of an AnimatedTransform node.

An AnimatedTransform is handled as a Transform.

Reimplemented from SharedModelViewTraverser.

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Provide special treatment of a Billboard node.

On a Billboard the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Reimplemented from SharedModelViewTraverser.

virtual NVSG_API void handleGroup ( const nvsg::Group * group ) [protected, virtual]

Handler function for a Group.

Parameters:
group A pointer to the read-locked Group being traversed.
Remarks:
This function is called from the framework whenever a Group is encountered on traversal. The Group group is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLOD ( const nvsg::LOD * lod ) [protected, virtual]

Handler function for an LOD.

Parameters:
lod A pointer to the read-locked LOD being traversed.
Remarks:
This function is called from the framework whenever an LOD is encountered on traversal. The LOD lod is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSwitch ( const nvsg::Switch * swtch ) [protected, virtual]

Handler function for a Switch.

Parameters:
swtch A pointer to the read-locked Switch being traversed.
Remarks:
This function is called from the framework whenever a Switch is encountered on traversal. The Switch switch is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Reimplemented from SharedModelViewTraverser.

virtual NVSG_API void handleLines ( const nvsg::Lines * p ) [protected, virtual]

Handler function for a Lines.

Parameters:
lines A pointer to the read-locked Lines being traversed.
Remarks:
This function is called from the framework whenever a Lines is encountered on traversal. The Lines lines is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineStrips ( const nvsg::LineStrips * p ) [protected, virtual]

Handler function for a LineStrips.

Parameters:
strips A pointer to the read-locked LineStrips being traversed.
Remarks:
This function is called from the framework whenever a LineStrips is encountered on traversal. The LineStrips strips is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePoints ( const nvsg::Points * p ) [protected, virtual]

Handler function for a Points.

Parameters:
points A pointer to the read-locked Points being traversed.
Remarks:
This function is called from the framework whenever a Points is encountered on traversal. The Points points is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadMeshes ( const nvsg::QuadMeshes * p ) [protected, virtual]

Handler function for a QuadsMeshes.

Parameters:
meshes A pointer to the read-locked QuadsMeshes being traversed.
Remarks:
This function is called from the framework whenever a QuadsMeshes is encountered on traversal. The QuadsMeshes meshes is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadPatches ( const nvsg::QuadPatches * p ) [protected, virtual]

Handler function for a QuadPatches.

Parameters:
patches A pointer to the read-locked QuadPatches being traversed.
Remarks:
This function is called from the framework whenever a QuadPatches is encountered on traversal. The QuadPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( const nvsg::QuadPatches4x4 * p ) [protected, virtual]

Handler function for a QuadPatches4x4.

Parameters:
patches A pointer to the read-locked QuadPatches4x4 being traversed.
Remarks:
This function is called from the framework whenever a QuadPatches4x4 is encountered on traversal. The QuadPatches4x4 patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Handler function for a Quads.

Parameters:
quads A pointer to the read-locked Quads being traversed.
Remarks:
This function is called from the framework whenever a Quads is encountered on traversal. The Quads quads is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Handler function for a QuadStrips.

Parameters:
strips A pointer to the read-locked QuadStrips being traversed.
Remarks:
This function is called from the framework whenever a QuadStrips is encountered on traversal. The QuadStrips strips is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRectPatches ( const nvsg::RectPatches * p ) [protected, virtual]

Handler function for a RectPatches.

Parameters:
patches A pointer to the read-locked RectPatches being traversed.
Remarks:
This function is called from the framework whenever a RectPatches is encountered on traversal. The RectPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Handler function for a Triangles.

Parameters:
triangles A pointer to the read-locked Triangles being traversed.
Remarks:
This function is called from the framework whenever a Triangles is encountered on traversal. The Triangles quads is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriFans ( const nvsg::TriFans * p ) [protected, virtual]

Handler function for a TriFans.

Parameters:
fans A pointer to the read-locked TriFans being traversed.
Remarks:
This function is called from the framework whenever a TriFans is encountered on traversal. The TriFans fans is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriPatches ( const nvsg::TriPatches * p ) [protected, virtual]

Handler function for a TriPatches.

Parameters:
patches A pointer to the read-locked TriPatches being traversed.
Remarks:
This function is called from the framework whenever a TriPatches is encountered on traversal. The TriPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriPatches4 ( const nvsg::TriPatches4 * p ) [protected, virtual]

Handler function for a TriPatches4.

Parameters:
patches A pointer to the read-locked TriPatches4 being traversed.
Remarks:
This function is called from the framework whenever a TriPatches4 is encountered on traversal. The TriPatches4 patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Handler function for a TriStrips.

Parameters:
strips A pointer to the read-locked TriStrips being traversed.
Remarks:
This function is called from the framework whenever a TriStrips is encountered on traversal. The TriStrips strips is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Handler function for a Primitive.

Parameters:
primitive A pointer to the read-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive primitive is already read-locked.
The base implementation just calls Traverser::traversePrimitive().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitive

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineAttribute ( const nvsg::LineAttribute * lineAttrib ) [protected, virtual]

Handler function for a LineAttribute.

Parameters:
lineAttrib A pointer to the read-locked LineAttribute being traversed.
Remarks:
This function is called from the framework whenever a LineAttribute is encountered on traversal. The LineAttribute lineAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointAttribute ( const nvsg::PointAttribute * pointAttrib ) [protected, virtual]

Handler function for a PointAttribute.

Parameters:
pointAttrib A pointer to the read-locked PointAttribute being traversed.
Remarks:
This function is called from the framework whenever a PointAttribute is encountered on traversal. The PointAttribute pointAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateSet ( const nvsg::StateSet * stateSet ) [protected, virtual]

Handler function for a StateSet.

Parameters:
stateSet A pointer to the read-locked StateSet being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StateSet stateSet is already read-locked.
The base implementation just traverses the active StateVariant.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
StateVariant

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateVariant ( const nvsg::StateVariant * stateVariant ) [protected, virtual]

Handler function for a StateVariant.

Parameters:
variant A pointer to the read-locked StateVariant being traversed.
Remarks:
This function is called from the framework whenever a StateVariant is encountered on traversal. The StateVariant variant is already read-locked.
The base implementation just call Traverser::traverseStateVariant().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStateVariant

Reimplemented from SharedTraverser.

virtual NVSG_API bool preTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

Store the active clip planes of p for later usage.

Parameters:
p A pointer to the constant Group to get the active clip planes from.
Returns:
The result of ModelViewTraverser::preTraverseGroup().
See also:
postTraverseGroup

Reimplemented from Traverser.

virtual NVSG_API void postTraverseGroup ( const nvsg::Group * p ) [protected, virtual]

Restore the set of active clip planes to the set before entering p.

Parameters:
p A pointer to the constant Group just traversed.
Remarks:
The clip planes stored in preTraverseGroup are removed.
See also:
preTraverseGroup

Reimplemented from Traverser.

virtual NVSG_API bool preTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

Adjusts the ray origin and direction and the camera direction in model space.

Returns:
result of the base class (ModelViewTraverser).
Parameters:
p Trafo of node to traverse next

Reimplemented from SharedModelViewTraverser.

virtual NVSG_API void postTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles stuff to do between traversal and transform stack adjustment.

Readjusts the ray origin and direction and the camera direction in model space.

Parameters:
p Trafo of node that was traversed immediately before this call.

Reimplemented from SharedModelViewTraverser.

NVSG_API bool checkClipPlanes ( const nvmath::Vec3f & p ) [protected]

Test a point against all active clip planes.

Parameters:
p A reference to a constant point to test against the clip planes.
Returns:
true if p is on the visible side of all active clip planes, otherwise false.

NVSG_API bool checkClipPlanes ( const nvmath::Sphere3f & p ) [protected]

Test a sphere against all active clip planes.

Parameters:
p A reference to a constant sphere to test agains the clip planes.
Returns:
true if p is at least partially on the visible side of all active clip planes, otherwise false.

NVSG_API bool checkIntersection ( const nvmath::Sphere3f & sphere ) [protected]

Check the current ray for intersection with a Sphere3f.

Returns:
true, if the ray intersects sphere, otherwise false.

NVSG_API nvmath::Vec3f getModelIntersection ( float dist ) [protected]

Get the intersection point in model coordinates.

Returns:
the point of intersection in model coordinates
Parameters:
dist Input: modelspace distance between the ray origin and the point of intersection

NVSG_API nvmath::Vec3f getWorldIntersection ( const nvmath::Vec3f & misp ) [protected]

Get the intersection point in world coordinates.

Returns:
the point of intersection in world coordinates
Parameters:
misp Input: the point of intersection, in model coordinates

NVSG_API bool isClipped | ( | const nvmath::Vec3f & | isp,
 |  | const nvmath::Vec3f & | misp
 | ) | [protected]

Check if the intersection point is within the camera's clips planes.

Returns:
true: intersection is within the camera's clip planes, false: intersection is outside of the camera's clip planes
Parameters:
isp | Input: The point of intersection, in world coordinates
misp | Input: The point of intersection, in model coordinates

NVSG_API bool intersectBox | ( | const nvmath::Vec3f & | p0,
 |  | const nvmath::Vec3f & | p1,
 |  | nvmath::Vec3f & | isp,
 |  | float & | dist
 | ) | [protected]

Intersect with a box.

This methods tells if it intersects a box or not. It also calculates the intersection point between a box and a ray and the distance of the intersection from the origin of the ray.

Returns:
true: intersection in front of the ray origin, false: no such intersection
Parameters:
p0 | lower left front point of box
p1 | upper right back point of box
isp | Result: intesection point (world space)
dist | Result: distance form camera to intersection

NVSG_API bool intersectLine | ( | const nvmath::Vec3f & | v0,
 |  | const nvmath::Vec3f & | v1,
 |  | nvmath::Vec3f & | isp,
 |  | float & | dist
 | ) | [protected]

Intersect with line.

This method tells if it intersects the line or not. It also calculates the intersection point between line and ray and the distance of the intersection from the origin of the ray.

Returns:
true: intersection in front of the ray origin, false: no such intersection
Parameters:
v0 | First vertex of the line
v1 | Second vertex of the line
isp | Result: intersection point (world space)
dist | Result: distance from camera to intersection

NVSG_API bool intersectPoint | ( | const nvmath::Vec3f & | v0,
 |  | nvmath::Vec3f & | isp,
 |  | float & | dist
 | ) | [protected]

Intersect with point.

This method tells if it intersects the point or not. It also calculates the intersection point between point and ray and the distance of the intersection from the origin of the ray.

Returns:
true: intersection in front of the ray origin, false: no such intersection
Parameters:
v0 | vertex of the point
isp | Result: intersection point (world space)
dist | Result: distance from camera to intersection

NVSG_API bool intersectTriangle | ( | const nvmath::Vec3f & | v0,
 |  | const nvmath::Vec3f & | v1,
 |  | const nvmath::Vec3f & | v2,
 |  | nvmath::Vec3f & | isp,
 |  | float & | dist
 | ) | [protected]

Intersect with triangle.

This method tells if it intersects the triangle or not. It also calculates the intersection point between triangle and ray and the distance of the intersection from the origin of the ray.

Returns:
true: intersection in front of the ray origin, false: no such intersection
Parameters:
v0 | First vertex of the triangle
v1 | Second vertex of the triangle
v2 | Third vertex of the triangle
isp | Result: intersection point (world space)
dist | Result: distance from camera to intersection

NVSG_API void storeIntersection | ( | const nvsg::Drawable * | p,
 |  | const nvmath::Vec3f & | isp,
 |  | float | dist,
 |  | unsigned int | primitiveIndex,
 |  | const std::vector< unsigned int > & | vertexIndices
 | ) | [protected]

Store the intersection point isp.

If the point isn't clipped, it is stored to the intersection list.

Parameters:
p | Drawable that holds the intersection
isp | Intersection point
dist | Distance from camera to intersection
primitiveIndex | Index of the intersected primitive
vertexIndices | Indices of the vertices of the intersected primitive

NVSG_API void dumpIntersectionList ( ) [protected]

Dump intersection map - for Debug

The documentation for this class was generated from the following file:
  • RayIntersectTraverser.h
Generated on Fri Jul 13 13:30:47 2012 for SceniX


SceniX: Member List

RayIntersectTraverser Member List

This is the complete list of members for RayIntersectTraverser, including all inherited members.

_BSFAR enum value | RayIntersectTraverser | [protected]
_BSNEAR enum value | RayIntersectTraverser | [protected]
_BSNEARFAR enum value | RayIntersectTraverser | [protected]
_BSTANGENT enum value | RayIntersectTraverser | [protected]
_NONE enum value | RayIntersectTraverser | [protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
checkAPoint(const nvsg::Primitive *p, const nvmath::Vec3f &v, unsigned int) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
checkClipPlanes(const nvmath::Vec3f &p) | RayIntersectTraverser | [protected]
checkClipPlanes(const nvmath::Sphere3f &p) | RayIntersectTraverser | [protected]
checkIntersection(const nvmath::Sphere3f &sphere) | RayIntersectTraverser | [protected]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | RayIntersectTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
dumpIntersectionList() | RayIntersectTraverser | [protected]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getIntersections(void) const | RayIntersectTraverser | [inline]
getModelIntersection(float dist) | RayIntersectTraverser | [protected]
getNearest(void) const | RayIntersectTraverser | [inline]
getNumberOfIntersections(void) const | RayIntersectTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
getWorldIntersection(const nvmath::Vec3f &misp) | RayIntersectTraverser | [protected]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | SharedTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | RayIntersectTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | SharedTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | RayIntersectTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *blendAttrib) | SharedTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *cgfx) | SharedTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *depthAttrib) | SharedTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *light) | SharedTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *faceAttrib) | SharedTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *anim) | SharedTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *gnode) | RayIntersectTraverser | [protected, virtual]
handleGroup(const nvsg::Group *group) | RayIntersectTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *lineAttrib) | RayIntersectTraverser | [protected, virtual]
handleLineLoop(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleLines(const nvsg::Lines *p) | RayIntersectTraverser | [protected, virtual]
handleLines(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleLineStrip(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *p) | RayIntersectTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *lod) | RayIntersectTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *material) | SharedTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *camera) | SharedTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *camera) | SharedTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *camera) | SharedTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *pointAttrib) | RayIntersectTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *light) | SharedTraverser | [protected, virtual]
handlePoints(const nvsg::Points *p) | RayIntersectTraverser | [protected, virtual]
handlePoints(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *p) | RayIntersectTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *p) | RayIntersectTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *p) | RayIntersectTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p) | RayIntersectTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | RayIntersectTraverser | [protected, virtual]
handleQuads(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleQuadStrip(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | RayIntersectTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *p) | RayIntersectTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | SharedTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *rtfx) | SharedTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *rtfxProgram) (defined in SharedTraverser) | SharedTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SharedTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *skin) | SharedTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *light) | SharedTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *pass) | SharedTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *stateSet) | RayIntersectTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *stateVariant) | RayIntersectTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | SharedTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *swtch) | RayIntersectTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *texAttrib) | SharedTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | SharedTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | SharedTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | RayIntersectTraverser | [protected, virtual]
handleTriangleFan(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | RayIntersectTraverser | [protected, virtual]
handleTriangles(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleTriangleStrip(const nvsg::Primitive *p) (defined in RayIntersectTraverser) | RayIntersectTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *p) | RayIntersectTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *p) | RayIntersectTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *p) | RayIntersectTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | RayIntersectTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | SharedTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | SharedTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | SharedTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
intersectBox(const nvmath::Vec3f &p0, const nvmath::Vec3f &p1, nvmath::Vec3f &isp, float &dist) | RayIntersectTraverser | [protected]
intersectLine(const nvmath::Vec3f &v0, const nvmath::Vec3f &v1, nvmath::Vec3f &isp, float &dist) | RayIntersectTraverser | [protected]
intersectPoint(const nvmath::Vec3f &v0, nvmath::Vec3f &isp, float &dist) | RayIntersectTraverser | [protected]
intersectTriangle(const nvmath::Vec3f &v0, const nvmath::Vec3f &v1, const nvmath::Vec3f &v2, nvmath::Vec3f &isp, float &dist) | RayIntersectTraverser | [protected]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isClipped(const nvmath::Vec3f &isp, const nvmath::Vec3f &misp) | RayIntersectTraverser | [protected]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
ISType enum name | RayIntersectTraverser | [protected]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_transformStack | SharedModelViewTraverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *p) | RayIntersectTraverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
postTraverseTransform(const nvmath::Trafo *p) | RayIntersectTraverser | [protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *p) | RayIntersectTraverser | [protected, virtual]
preTraverseTransform(const nvmath::Trafo *p) | RayIntersectTraverser | [protected, virtual]
RayIntersectTraverser(void) | RayIntersectTraverser |
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
release() | RayIntersectTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCamClipping(bool b) | RayIntersectTraverser | [inline]
setRay(const nvmath::Vec3f &origin, const nvmath::Vec3f &dir) | RayIntersectTraverser |
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewportSize(unsigned int width, unsigned int height) | RayIntersectTraverser |
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedModelViewTraverser() | SharedModelViewTraverser | [protected]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
storeIntersection(const nvsg::Drawable *p, const nvmath::Vec3f &isp, float dist, unsigned int primitiveIndex, const std::vector< unsigned int > &vertexIndices) | RayIntersectTraverser | [protected]
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedModelViewTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RayIntersectTraverser(void) | RayIntersectTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedModelViewTraverser() | SharedModelViewTraverser | [protected, virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:47 2012 for SceniX


SceniX: RCObject Class Reference

nvutil::RCObject

RCObject Class Reference

Provides an interface for reference counted objects. More...

#include <RCObject.h>

Inheritance diagram for RCObject:

[legend]
Collaboration diagram for RCObject:

[legend]
List of all members.

Public Member Functions

NVSG_API void | markUnshareable ()
Marks the object as not shareable.
NVSG_API bool | isShareable () const
Tests whether this particular object is flagged shareable.
NVSG_API bool | isShared () const
Tests whether this RCobject is shared.
NVSG_API void | addOnDestroyCallback (DestroyCallback *dcb, void *data)
Add a callback to be called on destruction.
NVSG_API void | removeOnDestroyCallback (DestroyCallback *dcb, void *data)
Remove a callback from the list of callbacks called on destruction.

Protected Member Functions

NVSG_API void | addRef () const
Increments the object's reference count.
NVSG_API void | removeRef () const
Decrements the object's reference count.
RCObject ()
Constructs an RCObject.
RCObject (const RCObject &rhs)
Constructs an RCObject.
RCObject & | operator= (const RCObject &rhs)
Assignment operator.
virtual | ~RCObject ()
Destructs an RCObject.

Detailed Description

Provides an interface for reference counted objects.

Namespace: nvutil
Remarks:
The class provides a protected interface for managing reference counted objects. RCObject inherits from IAllocator to utilize an optimized heap manager for small object allocation.

Note:
An RCObject can only be constructed on heap. The compiler will reject any attempt to construct an RCObject on stack.

It is prohibited to explicitly delete an RCObject by calling delete on a pointer to an RCObject received from a previous call to new. The compiler will complain if any client code attempts to do so. If client code creates an RCObject, it must pass it to a SmartPtr. That SmartPtr then manages the reference count of this RCObject.

The reference count of a newly created RCObject is initially zero.

See also:
nvutil::SmartPtr

Constructor & Destructor Documentation

RCObject ( ) [inline, protected]

Constructs an RCObject.

Remarks:
Initializes the reference count to zero. The creator is responsible for setting the reference count to its proper value.

Initially the RCObject is marked as shareable.

An RCObject is intended to serve as base class only. That is, an RCObject can be instantiated only as an object of a class derived from RCObject.

RCObject ( const RCObject & rhs ) [inline, protected]

Constructs an RCObject.

Remarks:
A new RCObject is created, and hence, the reference count will be initialized to zero because no one but the creator is currently referencing this object, and the creator is responsible for setting the reference count to its proper value.

Initially the RCObject is marked as shareable.

An RCObject is intended to serve as base class only. That is, an RCObject can be instantiated only as an object of a class derived from RCObject.

~RCObject ( ) [inline, protected, virtual]

Destructs an RCObject.

Remarks:
An RCObject will be automatically deleted when its reference count changes from one to zero.
See also:
RCObject::removeRef

Member Function Documentation

void markUnshareable ( ) [inline]

Marks the object as not shareable.

Remarks:
The function marks the object as not shareable. The shareable flag of an RCObject will be evaluated if a managing SmartPtr (reference counter pointer) will be copied. If the managed RCObject is flagged as shareable (default), only the reference count of the RCObject will be incremented, indicating that two or more SmartPtr objects share the same RCObject. The managed RCObject will be copied not before the first write access (lazy copying).
If instead the RCObject is flagged as not shareable, the managed RCObject will be copied as the managing SmartPtr object will be copied (immediate copying).
See also:
RCObject::isShareable

bool isShareable ( ) const [inline]

Tests whether this particular object is flagged shareable.

Returns:
true if shareable, false otherwise.
Remarks:
Marking an RCObject as shareable enables lazy copying of the RCObject if managed by a SmartPtr (reference counted pointer) object. That is, a SmartPtr object can share its referenced RCObject with other SmartPtr objects as long as no write access happens.
See also:
RCObject::markUnshareable

bool isShared ( ) const [inline]

Tests whether this RCobject is shared.

Returns:
true if the internal reference count is greater than one, false otherwise.
Remarks:

void addOnDestroyCallback | ( | DestroyCallback * | dcb,
 |  | void * | data
 | ) | [inline]

Add a callback to be called on destruction.

Parameters:
dcb | A pointer to the DestroyCallback to add.
data | A pointer to be used as the second argument of the DestroyCallback.
Note:
The behavior is undefined, if the same combination of DestroyCallback and void * is added more than once.
Example
    ObjectWriteLock(myObject)->addOnDestroyCallback( myDestroyCallback, NULL );
See also:
DestroyCallback, removeOnDestroyCallback

void removeOnDestroyCallback | ( | DestroyCallback * | dcb,
 |  | void * | data
 | ) | [inline]

Remove a callback from the list of callbacks called on destruction.

Parameters:
dcb | A pointer to the DestroyCallback to remove.
data | The pointer that is used as the data pointer in the corresponding addOnDestroyCallback.
Note:
The behavior is undefined if the combination of dcb and data is not registered as a callback on destruction via addOnDestroyCallback.
Example
    ObjectWriteLock(myObject)->removeOnDestroyCallback( myDestroyCallback, NULL );
See also:
DestroyCallback, addOnDestroyCallback

void addRef ( ) const [inline, protected]

Increments the object's reference count.

Remarks:
For user code to ensure that the data of a reference counted object is valid as long as it uses the object, it should first increment the objects reference count. After usage, client code should decrement the objects reference count to avoid resource leaks.
Note:
The reference count of a newly created RCObject initially is zero.
See also:
RCObject::removeRef

void removeRef ( ) const [inline, protected]

Decrements the object's reference count.

Remarks:
It is prohibited to explicitly delete an RCObject. The object will be automatically deleted, if the reference count changes from one to zero.
See also:
RCObject::addRef

RCObject& operator= ( const RCObject & rhs ) [inline, protected]

Assignment operator.

Remarks:
Assigning new content from another object does not change the number of users referencing the object nor does it change its shareable state. Hence, this assignment operator leaves the reference count and the shareable state unchanged.

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: Member List

RCObject Member List

This is the complete list of members for RCObject, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:31:26 2012 for SceniX


SceniX: RCVector Class Template Reference

nvutil::RCVector

RCVector Class Template Reference

A reference counted vector. More...

#include <RCObject.h>

Inheritance diagram for RCVector:

[legend]
Collaboration diagram for RCVector:

[legend]
List of all members.

Public Member Functions

RCVector ()
Constructs an initially empty RCVector.
RCVector (const RCVector< T > &rhs)
Copy constructor of an RCVector.
RCVector (unsigned int n)
Constructs a RCVector of the specified size.

Detailed Description

template<typename T>
class nvutil::RCVector< T >

A reference counted vector.

Namespace : nvutil
Remarks:
A RCVector is simply a STL vector providing the RCObject interface. A RCVector, once constructed using the limited set of available constructors, can be used same as a STL vector.

Constructor & Destructor Documentation

RCVector ( ) [inline]

Constructs an initially empty RCVector.

RCVector ( const RCVector< T > & rhs ) [inline]

Copy constructor of an RCVector.

Parameters:
rhs The RCVector to copy from.

RCVector ( unsigned int n ) [inline, explicit]

Constructs a RCVector of the specified size.

Parameters:
n Number of elements in the constructed vector.
Remarks:
The constructor specifies a repetition of the specified number n of elements of the default value for type T.
See also:
std::vector

The documentation for this class was generated from the following file:
  • RCObject.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

RCVector Member List

This is the complete list of members for RCVector, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
RCVector() | RCVector | [inline]
RCVector(const RCVector< T > &rhs) | RCVector | [inline]
RCVector(unsigned int n) | RCVector | [inline, explicit]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: ReadMapping Class Reference

nvutil::ReadMapping

ReadMapping Class Reference

Helper class to ease efficient reading of large files. More...

#include <FileMapping.h>

Inheritance diagram for ReadMapping:

[legend]
Collaboration diagram for ReadMapping:

[legend]
List of all members.

Public Member Functions

NVSG_API | ReadMapping (const std::string &fileName)
Constructor using the name of the file to read.
NVSG_API | ~ReadMapping ()
Destructor of a read-only mapping.
NVSG_API const void * | mapIn (size_t offset, size_t numBytes)
Map a view of the file.

Detailed Description

Helper class to ease efficient reading of large files.

See also:
FileMapping

Constructor & Destructor Documentation

NVSG_API ReadMapping ( const std::string & fileName )

Constructor using the name of the file to read.

Parameters:
fileName The name of the file to read.
Note:
If the file fileName does not exist, the resulting ReadMapping is marked as invalid. Only valid ReadMappings can be used for reading.
Example:
    ReadMapping rm = new ReadMapping( fileName );
    if ( rm->isValid() )
    {...}

NVSG_API ~ReadMapping ( )

Destructor of a read-only mapping.

Remarks:
If the ReadMapping is valid, the opened file is closed.

Member Function Documentation

const void * mapIn | ( | size_t | offset,
 |  | size_t | numBytes
 | ) | [inline]

Map a view of the file.

Parameters:
offset | The offset that has to be part of the mapping.
numBytes | The number of bytes that, starting from offset, are to be part of the mapping.
Returns:
A pointer to the constant mapped memory location, or NULL if the mapping failed.
See also:
mapOut

Reimplemented from FileMapping.

The documentation for this class was generated from the following file:
  • FileMapping.h
Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Member List

ReadMapping Member List

This is the complete list of members for ReadMapping, including all inherited members.

FileMapping() | FileMapping | [protected]
getLastError() const | FileMapping | [inline]
isValid() const | FileMapping | [inline]
m_accessType | FileMapping | [protected]
m_file | FileMapping | [protected]
m_fileMapping | FileMapping | [protected]
m_isValid | FileMapping | [protected]
m_mappingSize | FileMapping | [protected]
mapIn(size_t offset, size_t numBytes) | ReadMapping | [inline]
mapOut(const void *offsetPtr) | FileMapping |
ReadMapping(const std::string &fileName) | ReadMapping |
~FileMapping() | FileMapping | [protected]
~ReadMapping() | ReadMapping |

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: RectPatches Class Reference

nvsg::RectPatches

RectPatches Class Reference

IndependentPrimitiveSet for rectangular patches. More...

#include <RectPatches.h>

Inheritance diagram for RectPatches:

[legend]
Collaboration diagram for RectPatches:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setSize (unsigned int width, unsigned int height)
Set width and height of the rectangular patches.
NVSG_API unsigned int | getWidth () const
Get the width of the rectangular patches.
NVSG_API unsigned int | getHeight () const
Get the height of the rectangular patches.
NVSG_API RectPatches & | operator= (const RectPatches &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, RectPatches)

Static Public Member Functions

static NVSG_API RectPatchesSharedPtr | create ()

Protected Member Functions

NVSG_API | RectPatches ()
Default-constructs a RectPatches.
NVSG_API | RectPatches (const RectPatches &rhs)
Constructs a RectPatches as a copy from another RectPatches.
virtual NVSG_API | ~RectPatches ()
Destructs a RectPatches.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for RectPatches.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for RectPatches.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

IndependentPrimitiveSet for rectangular patches.

Namespace: nvsg
Remarks:
A RectPatches is an IndependentPrimitiveSet that holds an array of index-tuples of size width x height. Each of these tuples describe a rectangular patch with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, PatchesBase, Patches

Constructor & Destructor Documentation

NVSG_API RectPatches ( ) [protected]

Default-constructs a RectPatches.

NVSG_API RectPatches ( const RectPatches & rhs ) [protected]

Constructs a RectPatches as a copy from another RectPatches.

virtual NVSG_API ~RectPatches ( ) [protected, virtual]

Destructs a RectPatches.

Member Function Documentation

void setSize | ( | unsigned int | width,
 |  | unsigned int | height
 | ) | [inline]

Set width and height of the rectangular patches.

Parameters:
width | The number of vertices along the width of the patches.
height | The number of vertices along the height of the patches.
Remarks:
The number of vertices per patch equals width x height. Each such consecutive set of indices is treated as one patch.
See also:
getWidth, getHeight, getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

unsigned int getWidth ( ) const [inline]

Get the width of the rectangular patches.

Returns:
The number vertices along the width of the patches.
Remarks:
The number of vertices per patch equals width x height. Each such consecutive set of indices is treated as one patch.
See also:
setSize, getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

unsigned int getHeight ( ) const [inline]

Get the height of the rectangular patches.

Returns:
The number vertices along the height of the patches.
Remarks:
The number of vertices per patch equals width x height. Each such consecutive set of indices is treated as one patch.
See also:
setSize, getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

NVSG_API RectPatches& operator= ( const RectPatches & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant RectPatches to copy from.
Returns:
A reference to the assigned RectPatches.
Remarks:
The assignment operator calls the assignment operator of PatchesBase.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for RectPatches.

Reimplemented from Primitive.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for RectPatches.

Reimplemented from Primitive.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from PatchesBase.

The documentation for this class was generated from the following file:
  • RectPatches.h
Generated on Fri Jul 13 13:30:19 2012 for SceniX


SceniX: Member List

RectPatches Member List

This is the complete list of members for RectPatches, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | RectPatches | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | RectPatches | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in RectPatches) | RectPatches | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | RectPatches | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHeight() const | RectPatches | [inline]
getHigherLevelObjectCode(unsigned int oc) const | PatchesBase | [inline, virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPatches() const | PatchesBase | [inline]
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getWidth() const | RectPatches | [inline]
hasPatches() const | PatchesBase | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PatchesBase | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const RectPatches &rhs) | RectPatches |
nvsg::PatchesBase::operator=(const PatchesBase &rhs) | PatchesBase | [protected]
nvsg::Primitive::operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PatchesBase() | PatchesBase | [protected]
PatchesBase(const PatchesBase &rhs) | PatchesBase | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
RectPatches() | RectPatches | [protected]
RectPatches(const RectPatches &rhs) | RectPatches | [protected]
REFLECTION_INFO_API(NVSG_API, RectPatches) (defined in RectPatches) | RectPatches |
REFLECTION_INFO_API(NVSG_API, PatchesBase) (defined in PatchesBase) | PatchesBase |
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int verticesPerPatch) | PatchesBase | [inline, protected]
setPrimitiveType(PrimitiveType t) | Primitive |
setSize(unsigned int width, unsigned int height) | RectPatches | [inline]
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PatchesBase() | PatchesBase | [virtual]
~Primitive() | Primitive | [protected, virtual]
~RectPatches() | RectPatches | [protected, virtual]

Generated on Fri Jul 13 13:30:19 2012 for SceniX


SceniX: RedundantIndexSetResult Class Reference

nvtraverser::RedundantIndexSetResult

RedundantIndexSetResult Class Reference

AnalyzeResult indicating redundant IndexSets. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for RedundantIndexSetResult:

[legend]
Collaboration diagram for RedundantIndexSetResult:

[legend]
List of all members.

Public Member Functions

virtual | ~RedundantIndexSetResult ()
Virtual Destructor.

Public Attributes

unsigned int | redundantIndexSetCount
The number of redundant index sets.

Detailed Description

AnalyzeResult indicating redundant IndexSets.

Namespace: nvsg
Remarks:
An IndexSet that holds all indices between the smallest and the largest just once are reported with a RedundantIndexSetResult.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~RedundantIndexSetResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int redundantIndexSetCount

The number of redundant index sets.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: Member List

RedundantIndexSetResult Member List

This is the complete list of members for RedundantIndexSetResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
redundantIndexSetCount | RedundantIndexSetResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~RedundantIndexSetResult() | RedundantIndexSetResult | [inline, virtual]

Generated on Fri Jul 13 13:30:36 2012 for SceniX


SceniX: RedundantLODRangesResult Class Reference

nvtraverser::RedundantLODRangesResult

RedundantLODRangesResult Class Reference

AnalyzeResult indicating LODs with redundant ranges. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for RedundantLODRangesResult:

[legend]
Collaboration diagram for RedundantLODRangesResult:

[legend]
List of all members.

Public Member Functions

virtual | ~RedundantLODRangesResult ()
Virtual Destructor.

Public Attributes

unsigned int | lodRanges
The number of LOD ranges.
unsigned int | redundantLODs
The number of LODs with redundant ranges.
unsigned int | redundantLODRanges
The number of redundant LOD ranges.

Detailed Description

AnalyzeResult indicating LODs with redundant ranges.

Namespace: nvsg
Remarks:
Two ranges of an LOD are redundant, if they are the same.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~RedundantLODRangesResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int lodRanges

The number of LOD ranges.

unsigned int redundantLODs

The number of LODs with redundant ranges.

unsigned int redundantLODRanges

The number of redundant LOD ranges.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: Member List

RedundantLODRangesResult Member List

This is the complete list of members for RedundantLODRangesResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
lodRanges | RedundantLODRangesResult |
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
redundantLODRanges | RedundantLODRangesResult |
redundantLODs | RedundantLODRangesResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~RedundantLODRangesResult() | RedundantLODRangesResult | [inline, virtual]

Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: Reflection Class Reference

nvutil::Reflection

Reflection Class Reference

This is the base class for all objects which support the Reflection/Property mechanism. It's basically a PropertyListChain which will get Base class for all objects with properties. Use this as base class for all objects which provide properties *. More...

#include <Reflection.h>

Inheritance diagram for Reflection:

[legend]
Collaboration diagram for Reflection:

[legend]
List of all members.

Public Member Functions

NVSG_API | Reflection ()
Default constructor of a Reflection.
NVSG_API | Reflection (const Reflection &rhs)
Copy constructor of a Reflection.
virtual NVSG_API | ~Reflection ()
Destructor of a Reflection.
NVSG_API const char * | getClassName () const
Get the class name of this Reflection.
template<typename T>
void | setValue (PropertyId propertyId, const T &value)
Set the value of a property.
NVSG_API Property::Type | getPropertyType (PropertyId propertyId) const
Get the type of a property.
template<typename T>
T | getValue (PropertyId propertyId) const
Get the value of a property.
NVSG_API unsigned int | getPropertyCount () const
Get the number of properties in this Reflection.
NVSG_API PropertyId | getProperty (unsigned int index) const
Get a property by index.
NVSG_API PropertyId | getProperty (const std::string &name) const
Get a property by name.
NVSG_API void | addProperty (const std::string &name, PropertyId property)
Add a new Property to the PropertyList.
NVSG_API std::string | getPropertyName (unsigned int index) const
Get the name of a property by index.
NVSG_API std::string | getPropertyName (const PropertyId propertyId) const
Get the name of a property by PropertyId.
virtual NVSG_API bool | hasProperty (const PropertyId propertyId) const
Check if a property is part of this Reflection.
virtual NVSG_API bool | hasProperty (const std::string &name) const
Check if a property is part of this Reflection.
Reflection & | operator= (const Reflection &rhs)

Static Public Member Functions

static void | initStaticProperties (nvutil::ReflectionInfo &properties)
static NVSG_API void | initReflectionInfo ()
template<typename ObjectType>
static nvutil::ReflectionInfo * | initReflection (const char *classname)
Initialize reflection of a class.

Protected Member Functions

virtual NVSG_API ReflectionInfo * | getReflectionInfo () const

Static Protected Member Functions

template<typename ValueType, typename GetType, typename SetType, typename ObjectType, typename TypeTraits< ValueType, GetType >::parameter_type(ObjectType::*)() const get, void(ObjectType::*)(typename TypeTraits< ValueType, SetType >::parameter_type) set, typename Property::Semantic semantic>
static Property * | makeProperty ()
template<typename ValueType, typename ObjectType, ValueType ObjectType::* Member, bool readonly, typename Property::Semantic semantic>
static Property * | makePropertyMember ()
template<typename ValueType, typename GetType, typename SetType, typename ObjectType, typename TypeTraits< ValueType, GetType >::parameter_type(ObjectType::*)() const get, void(ObjectType::*)(typename TypeTraits< ValueType, SetType >::parameter_type) set, typename Property::Semantic semantic>
static Property * | makeEnumProperty ()
template<typename ValueType, typename GetType, typename ObjectType, typename TypeTraits< ValueType, GetType >::parameter_type(ObjectType::*)() const get, typename Property::Semantic semantic>
static Property * | makeProperty ()

Protected Attributes

PropertyListChain * m_propertyLists
List of PropertyLists for this Object.

Detailed Description

This is the base class for all objects which support the Reflection/Property mechanism. It's basically a PropertyListChain which will get Base class for all objects with properties. Use this as base class for all objects which provide properties *.

Constructor & Destructor Documentation

NVSG_API Reflection ( ) [inline]

Default constructor of a Reflection.

NVSG_API Reflection ( const Reflection & rhs )

Copy constructor of a Reflection.

Parameters:
rhs The Reflection to copy from.

virtual NVSG_API ~Reflection ( ) [virtual]

Destructor of a Reflection.

Member Function Documentation

NVSG_API const char* getClassName ( ) const

Get the class name of this Reflection.

Returns:
The class name of this Reflection.

Reimplemented in SearchTraverser.

void setValue | ( | PropertyId | propertyId,
 |  | const T & | value
 | ) | [inline]

Set the value of a property.

Parameters:
propertyId | The id of the property to set.
value | The value to set.

NVSG_API Property::Type getPropertyType ( PropertyId propertyId ) const [inline]

Get the type of a property.

Parameters:
propertyId The id of the property.
Returns:
The Property::Type of the property specified by propertyId.

T getValue ( PropertyId propertyId ) const [inline]

Get the value of a property.

Parameters:
propertyId The id of the property to get.
Returns:
the value of the property specified by propertyId.

NVSG_API unsigned int getPropertyCount ( ) const

Get the number of properties in this Reflection.

Returns:
The number of properties in this Reflection.

NVSG_API PropertyId getProperty ( unsigned int index ) const

Get a property by index.

Parameters:
index The index of the property to get.
Returns:
The PropertyId of the property specified by index.
Remarks:
If this Reflection holds less properties than index, a zero PropertyId is returned.

NVSG_API PropertyId getProperty ( const std::string & name ) const

Get a property by name.

Parameters:
name The name of the property to get.
Returns:
The PropertyId of the property specified by name.
Remarks:
If this Reflection does not hold a property name name, a zero PropertyId is returned.

NVSG_API void addProperty | ( | const std::string & | name,
 |  | PropertyId | property
 | ) |

Add a new Property to the PropertyList.

Parameters:
name | The name of the property
property | The PropertyId of the property (which is a pointer to the property)

NVSG_API std::string getPropertyName ( unsigned int index ) const

Get the name of a property by index.

Parameters:
index The index of the property.
Returns:
The name of the property specified by index.
Remarks:
If this Reflection holds less than index properties , an empty string is returned.

NVSG_API std::string getPropertyName ( const PropertyId propertyId ) const

Get the name of a property by PropertyId.

Parameters:
propertyId The id of the property.
Returns:
The name of the property specifed by propertyId.

virtual NVSG_API bool hasProperty ( const PropertyId propertyId ) const [virtual]

Check if a property is part of this Reflection.

Parameters:
propertyId The id of the property to check.
Returns:
true if the property specified by propertyId is part of this Reflection, otherwise false.

virtual NVSG_API bool hasProperty ( const std::string & name ) const [virtual]

Check if a property is part of this Reflection.

Parameters:
name The name of the property to check.
Returns:
true if the property named name is part of this Reflection, otherwise false.

static Property* makeProperty ( ) [inline, static, protected]

Create read/write property *

static Property* makePropertyMember ( ) [inline, static, protected]

Create read/write member property *

static Property* makeEnumProperty ( ) [inline, static, protected]

Create read/write enum property *

static Property* makeProperty ( ) [inline, static, protected]

Create readonly property *

static nvutil::ReflectionInfo* initReflection ( const char * classname ) [inline, static]

Initialize reflection of a class.

Parameters:
classname The name of the class to initialize.

Member Data Documentation

PropertyListChain* m_propertyLists [protected]

List of PropertyLists for this Object.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: Member List

Reflection Member List

This is the complete list of members for Reflection, including all inherited members.

addProperty(const std::string &name, PropertyId property) | Reflection |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
getClassName() const | Reflection |
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
m_mutableLock (defined in Subject) | Subject | [protected]
m_propertyLists | Reflection | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: ReflectionInfo Class Reference

nvutil::ReflectionInfo

ReflectionInfo Class Reference

This class stores reflection information for one object type. There will be exactly one instance of this object per object type. More...

#include <Reflection.h>

Inheritance diagram for ReflectionInfo:

[legend]
Collaboration diagram for ReflectionInfo:

[legend]
List of all members.

Public Member Functions

const char * | getClassName () const
Get the class name of this ReflectionInfo.

Protected Attributes

const char * | m_className
The class name of this ReflectionInfo.

Detailed Description

This class stores reflection information for one object type. There will be exactly one instance of this object per object type.

Member Function Documentation

const char* getClassName ( ) const [inline]

Get the class name of this ReflectionInfo.

Returns:
The class name of this ReflectionInfo.

Member Data Documentation

const char* m_className [protected]

The class name of this ReflectionInfo.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: Member List

ReflectionInfo Member List

This is the complete list of members for ReflectionInfo, including all inherited members.

addProperty(const std::string &name, PropertyId property) | PropertyListImpl |
clone() const | PropertyListImpl | [virtual]
destroy() | PropertyList | [virtual]
getClassName() const | ReflectionInfo | [inline]
getId() const | PropertyList | [inline]
getProperty(unsigned int index) const | PropertyListImpl | [virtual]
getProperty(const std::string &name) const | PropertyListImpl | [virtual]
getPropertyCount() const | PropertyListImpl | [virtual]
getPropertyName(unsigned int index) const | PropertyListImpl | [virtual]
getPropertyName(const PropertyId propertyId) const | PropertyListImpl | [virtual]
hasProperty(const PropertyId propertyId) const | PropertyListImpl | [virtual]
hasProperty(const std::string &name) const | PropertyListImpl | [virtual]
isStatic() const | PropertyListImpl | [virtual]
m_className | ReflectionInfo | [protected]
m_isStatic | PropertyListImpl | [protected]
m_propertyMap | PropertyListImpl | [protected]
m_propertyVector | PropertyListImpl | [protected]
PropertyList() | PropertyList | [inline]
PropertyList(const PropertyList &rhs) | PropertyList | [inline]
PropertyListImpl(bool isStatic=true) | PropertyListImpl |
PropertyListImpl(const PropertyListImpl &rhs) | PropertyListImpl |
PropertyMap typedef | PropertyListImpl | [protected]
PropertyVector typedef | PropertyListImpl | [protected]
ReflectionInfo() (defined in ReflectionInfo) | ReflectionInfo | [inline]
setId(size_t Id) | PropertyList | [inline]
~PropertyList() | PropertyList | [inline, virtual]
~PropertyListImpl() | PropertyListImpl |
~ReflectionInfo() (defined in ReflectionInfo) | ReflectionInfo | [inline, virtual]

Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: ReflectionStorage Class Template Reference

nvutil::ReflectionStorage

ReflectionStorage Class Template Reference

#include <Reflection.h>

Collaboration diagram for ReflectionStorage:

[legend]
List of all members.

Static Public Member Functions

static ReflectionInfo * getReflectionInfo ()

Detailed Description

template<typename ObjectType>
class nvutil::ReflectionStorage< ObjectType >

This class stores the static data for the properties. Each class has exactly one list independent of the number of instantiations! *

Member Function Documentation

ReflectionInfo * getReflectionInfo ( ) [static]

Currently this is not yet thread-safe, but can easily be adopted if necessary *

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ReflectionStorage Member List

This is the complete list of members for ReflectionStorage, including all inherited members.

getReflectionInfo() ReflectionStorage [static]

Generated on Fri Jul 13 13:31:29 2012 for SceniX


SceniX: RegVal Class Template Reference

nvutil::RegVal

RegVal Class Template Reference

Template class for easy access to the Registry. More...

#include <Registry.h>

Collaboration diagram for RegVal:

[legend]
List of all members.

Public Types

enum | { DIRTY = 1 }

Public Member Functions

RegVal (const TCHAR *value_name, const TCHAR *subkey, DWORD type, HKEY root=HKEY_CURRENT_USER, const T &def=T())
~RegVal ()
RegVal< T > & | operator= (const T &rhs)
operator const T & ()

Detailed Description

template<typename T>
class nvutil::RegVal< T >

Template class for easy access to the Registry.

Constructor & Destructor Documentation

RegVal | ( | const TCHAR * | value_name,
 |  | const TCHAR * | subkey,
 |  | DWORD | type,
 |  | HKEY | root = HKEY_CURRENT_USER,
 |  | const T & | def = T()
 | ) | [inline]

constructor

~RegVal ( ) [inline]

destructor

Member Function Documentation

RegVal< T > & operator= ( const T & rhs ) [inline]

convenient writes throug simple assignment

operator const T & ( ) [inline]

convenient reads through implicit type conversion

The documentation for this class was generated from the following file:
  • Registry.h
Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: Member List

RegVal Member List

This is the complete list of members for RegVal, including all inherited members.

DIRTY enum value (defined in RegVal) | RegVal |
operator const T &() | RegVal | [inline]
operator=(const T &rhs) | RegVal | [inline]
RegVal(const TCHAR *value_name, const TCHAR *subkey, DWORD type, HKEY root=HKEY_CURRENT_USER, const T &def=T()) | RegVal | [inline]
~RegVal() | RegVal | [inline]

Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: RenderbufferGL Class Reference

nvgl::RenderbufferGL

RenderbufferGL Class Reference

RenderbufferGL is a wrapper around OpenGL renderbuffers. It can be used as attachment by nvgl::RenderTargetGLFBO or as standalone object. If the buffer is used as attachment the size is managed by the RenderTarget. More...

#include <RenderbufferGL.h>

Inheritance diagram for RenderbufferGL:

[legend]
Collaboration diagram for RenderbufferGL:

[legend]
List of all members.

Public Member Functions

NVSG_API void | resize (int width, int height)
Change the size of the renderbuffer.
NVSG_API GLuint | getRenderbufferId () const
Get the OpenGL name of the renderbuffer.

Static Public Member Functions

static NVSG_API nvutil::SmartPtr<
RenderbufferGL > 		create (GLenum internalFormat, int width=1, int height=1)
Create a new RenderbufferGL.
static NVSG_API nvutil::SmartPtr<
RenderbufferGL > 		create (const MSAA &msaa, GLenum internalFormat, int width=1, int height=1)
Create a new Renderbuffer with MSAA enabled.
static NVSG_API nvutil::SmartPtr<
RenderbufferGL > 		create (const CSAA &csaa, GLenum internalFormat, int width=1, int height=1)
Create a new Renderbuffer with CSAA enabled.
static NVSG_API bool | isMSAAAvailable ()
Test if MSAA is available for the current active context.
static NVSG_API bool | isCSAAAvailable ()
Test if CSAA is available for the current active context.
static NVSG_API GLint | getMaxMSAASamples ()
Determine the maximum number of MSAA samples supported by the current active context.
static NVSG_API std::vector<
CSAA > 		getAvailableCSAAModes ()
Get a list of all supported CSAA modes supported by the current active context.

Protected Member Functions

void | init (int width, int height)

Classes

struct | CSAA
struct | MSAA

Detailed Description

RenderbufferGL is a wrapper around OpenGL renderbuffers. It can be used as attachment by nvgl::RenderTargetGLFBO or as standalone object. If the buffer is used as attachment the size is managed by the RenderTarget.

Member Function Documentation

static NVSG_API nvutil::SmartPtr<RenderbufferGL> create | ( | GLenum | internalFormat,
 |  | int | width = 1,
 |  | int | height = 1
 | ) | [static]

Create a new RenderbufferGL.

Parameters:
internalFormat | OpenGL format of the newly created renderbuffer.
width | Width of the newly created Renderbuffer.
height | Height of the newly created Renderbuffer.
Returns:
RefCounted RenderbufferGL.

static NVSG_API nvutil::SmartPtr<RenderbufferGL> create | ( | const MSAA & | msaa,
 |  | GLenum | internalFormat,
 |  | int | width = 1,
 |  | int | height = 1
 | ) | [static]

Create a new Renderbuffer with MSAA enabled.

Parameters:
msaa | MSAA settings of the newly created Renderbuffer.
internalFormat | OpenGL format of the newly created renderbuffer.
width | Width of the newly created Renderbuffer.
height | Height of the newly created Renderbuffer.
Returns:
RefCounted RenderbufferGL.

static NVSG_API nvutil::SmartPtr<RenderbufferGL> create | ( | const CSAA & | csaa,
 |  | GLenum | internalFormat,
 |  | int | width = 1,
 |  | int | height = 1
 | ) | [static]

Create a new Renderbuffer with CSAA enabled.

Parameters:
csaa | CSAA settings of the newly created Renderbuffer.
internalFormat | OpenGL format of the newly created renderbuffer.
width | Width of the newly created Renderbuffer.
height | Height of the newly created Renderbuffer.
Returns:
RefCounted RenderbufferGL.

NVSG_API void resize | ( | int | width,
 |  | int | height
 | ) |

Change the size of the renderbuffer.

Parameters:
width | New width of the renderbuffer.
height | New height of the renderbuffer.
Note:
It's not necessary to call this function if the renderbuffer is used as nvgl::RenderTargetGLFBO::Attachment. The size of attachments is managed by nvgl::RenderTargetGLFBO.

GLuint getRenderbufferId ( ) const [inline]

Get the OpenGL name of the renderbuffer.

Returns:
OpenGL name of the renderbuffer.

static NVSG_API bool isMSAAAvailable ( ) [static]

Test if MSAA is available for the current active context.

Returns:
true if MSAA is supported, false otherwise.

static NVSG_API bool isCSAAAvailable ( ) [static]

Test if CSAA is available for the current active context.

Returns:
true if CSAA is supported, false otherwise.

static NVSG_API GLint getMaxMSAASamples ( ) [static]

Determine the maximum number of MSAA samples supported by the current active context.

Returns:
Maximum number of supported MSAA samples.

static NVSG_API std::vector<CSAA> getAvailableCSAAModes ( ) [static]

Get a list of all supported CSAA modes supported by the current active context.

Returns:
vector of all supported CSAA modes

The documentation for this class was generated from the following file:
  • RenderbufferGL.h
Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Member List

RenderbufferGL Member List

This is the complete list of members for RenderbufferGL, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
create(GLenum internalFormat, int width=1, int height=1) | RenderbufferGL | [static]
create(const MSAA &msaa, GLenum internalFormat, int width=1, int height=1) | RenderbufferGL | [static]
create(const CSAA &csaa, GLenum internalFormat, int width=1, int height=1) | RenderbufferGL | [static]
getAvailableCSAAModes() | RenderbufferGL | [static]
getMaxMSAASamples() | RenderbufferGL | [static]
getRenderbufferId() const | RenderbufferGL | [inline]
IAllocator() | IAllocator | [inline]
init(int width, int height) (defined in RenderbufferGL) | RenderbufferGL | [protected]
isCSAAAvailable() | RenderbufferGL | [static]
isMSAAAvailable() | RenderbufferGL | [static]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
resize(int width, int height) | RenderbufferGL |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~RenderbufferGL() (defined in RenderbufferGL) | RenderbufferGL | [virtual]

Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: RenderContextGL Class Reference

nvgl::RenderContextGL

RenderContextGL Class Reference

RenderContextGL wraps an OpenGL context. More...

#include <RenderContextGL.h>

Inheritance diagram for RenderContextGL:

[legend]
Collaboration diagram for RenderContextGL:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | makeCurrent ()
NVSG_API void | makeNoncurrent ()
NVSG_API ShareGroupGLSharedPtr | getShareGroupGL () const
NVSG_API void | swap ()
virtual NVSG_API void | notifyDestroy ()
NVSG_API const RenderContextGLFormat & | getFormat () const
NVSG_API HWND | getHWND () const
NVSG_API HDC | getHDC () const
NVSG_API HGLRC | getHGLRC () const

Static Public Member Functions

static NVSG_API SmartRenderContextGL | create (const Attach &creation)
static NVSG_API SmartRenderContextGL | create (const Clone &creation)
static NVSG_API SmartRenderContextGL | create (const Headless &creation)
static NVSG_API SmartRenderContextGL | create (const FromDrawable &creation)
static NVSG_API const SmartRenderContextGL & | getCurrentRenderContextGL ()

Protected Member Functions

NVSG_API | RenderContextGL (const SmartNativeContext &nativeContext, const ShareGroupGLSharedPtr &shareGroupGL)
NVSG_API | RenderContextGL (const SmartNativeContext &nativeContext, const ShareGroupGLSharedPtr &shareGroupGL, const RenderContextGLFormat &format)
NVSG_API | RenderContextGL (const Attach &creation)
NVSG_API | RenderContextGL (const Headless &headless)
NVSG_API | RenderContextGL (const Clone &creation)
NVSG_API | RenderContextGL (const FromDrawable &creation)
NVSG_API | RenderContextGL (const RenderContextGL &)
NVSG_API RenderContextGL & | operator= (const RenderContextGL &)
NVSG_API void | clone (GLXContext context, bool share)

Static Protected Member Functions

static NVSG_API LRESULT CALLBACK | RenderContextGLWndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
static NVSG_API HWND | createWindow ()
static NVSG_API HGLRC | createContext (HDC hdc, HGLRC shareContext)
static NVSG_API ShareGroupGLSharedPtr | createShareGroupGL (const RenderContextGL::SmartNativeContext &context)

Protected Attributes

typedef nvutil::SmartPtr<
NativeContext > 		SmartNativeContext
RenderContextGLFormat | m_format
ShareGroupGLSharedPtr | m_shareGroup
SmartNativeContext | m_context

Classes

struct | Attach
struct | Clone
struct | FromDrawable
struct | Headless
class | NativeContext

Detailed Description

RenderContextGL wraps an OpenGL context.

The documentation for this class was generated from the following file:
  • RenderContextGL.h
Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Member List

RenderContextGL Member List

This is the complete list of members for RenderContextGL, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
clone(GLXContext context, bool share) (defined in RenderContextGL) | RenderContextGL | [protected]
create(const Attach &creation) (defined in RenderContextGL) | RenderContextGL | [static]
create(const Clone &creation) (defined in RenderContextGL) | RenderContextGL | [static]
create(const Headless &creation) (defined in RenderContextGL) | RenderContextGL | [static]
create(const FromDrawable &creation) (defined in RenderContextGL) | RenderContextGL | [static]
createContext(HDC hdc, HGLRC shareContext) (defined in RenderContextGL) | RenderContextGL | [protected, static]
createShareGroupGL(const RenderContextGL::SmartNativeContext &context) (defined in RenderContextGL) | RenderContextGL | [protected, static]
createWindow() (defined in RenderContextGL) | RenderContextGL | [protected, static]
getCurrentRenderContextGL() (defined in RenderContextGL) | RenderContextGL | [static]
getFormat() const (defined in RenderContextGL) | RenderContextGL |
getHDC() const (defined in RenderContextGL) | RenderContextGL |
getHGLRC() const (defined in RenderContextGL) | RenderContextGL |
getHWND() const (defined in RenderContextGL) | RenderContextGL |
getShareGroupGL() const (defined in RenderContextGL) | RenderContextGL |
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
m_context (defined in RenderContextGL) | RenderContextGL | [protected]
m_format (defined in RenderContextGL) | RenderContextGL | [protected]
m_shareGroup (defined in RenderContextGL) | RenderContextGL | [protected]
makeCurrent() (defined in RenderContextGL) | RenderContextGL |
makeNoncurrent() (defined in RenderContextGL) | RenderContextGL |
markUnshareable() | RCObject | [inline]
notifyDestroy() (defined in RenderContextGL) | RenderContextGL | [virtual]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RenderContextGL &) (defined in RenderContextGL) | RenderContextGL | [protected]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
RenderContextGL() (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const SmartNativeContext &nativeContext, const ShareGroupGLSharedPtr &shareGroupGL) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const SmartNativeContext &nativeContext, const ShareGroupGLSharedPtr &shareGroupGL, const RenderContextGLFormat &format) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const Attach &creation) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const Headless &headless) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const Clone &creation) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const FromDrawable &creation) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGL(const RenderContextGL &) (defined in RenderContextGL) | RenderContextGL | [protected]
RenderContextGLWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) (defined in RenderContextGL) | RenderContextGL | [protected, static]
SmartNativeContext (defined in RenderContextGL) | RenderContextGL | [protected]
swap() (defined in RenderContextGL) | RenderContextGL |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~RenderContextGL() (defined in RenderContextGL) | RenderContextGL | [protected, virtual]

Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: RenderContextGL::NativeContext Class Reference

nvgl::RenderContextGL::NativeContext

RenderContextGL::NativeContext Class Reference

#include <RenderContextGL.h>

List of all members.

Public Member Functions

NVSG_API | NativeContext (GLXContext context, bool destroyContext, GLXDrawable drawable, bool destroyDrawable, GLXPbuffer pbuffer, bool destroyPbuffer, Display *display, bool destroyDisplay)
NVSG_API bool | makeCurrent ()
NVSG_API void | makeNoncurrent ()
NVSG_API void | swap ()
NVSG_API void | notifyDestroyed ()

Public Attributes

HDC | m_hdc
HWND | m_hwnd
HGLRC | m_hglrc
bool | m_destroyHDC
bool | m_destroyHWND
bool | m_destroyHGLRC

Detailed Description

Hold a native OGL context *

The documentation for this class was generated from the following file:
  • RenderContextGL.h
Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Member List

RenderContextGL::NativeContext Member List

This is the complete list of members for RenderContextGL::NativeContext, including all inherited members.

m_destroyHDC (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
m_destroyHGLRC (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
m_destroyHWND (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
m_hdc (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
m_hglrc (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
m_hwnd (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
makeCurrent() (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
makeNoncurrent() (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
NativeContext(GLXContext context, bool destroyContext, GLXDrawable drawable, bool destroyDrawable, GLXPbuffer pbuffer, bool destroyPbuffer, Display *display, bool destroyDisplay) (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
notifyDestroyed() (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
swap() (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext |
~NativeContext() (defined in RenderContextGL::NativeContext) | RenderContextGL::NativeContext | [virtual]

Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Renderer Class Reference

nvui::Renderer

Renderer Class Reference

Renderer is the base class for algorithms which operate on an nvui::RenderTarget. More...

#include <Renderer.h>

Inheritance diagram for Renderer:

[legend]
Collaboration diagram for Renderer:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setRenderTarget (const SmartRenderTarget &renderTarget)
Set the nvui::RenderTarget used by all subsequent render calls.
NVSG_API SmartRenderTarget | getRenderTarget () const
Get the nvui::RenderTarget used by render calls.
NVSG_API void | render (const SmartRenderTarget &renderTarget=SmartRenderTarget())
Executes the rendering algorithm on the given nvui::RenderTarget. It calls beginRendering, doRender and endRendering with an nvui::RenderTarget.
virtual NVSG_API void | restartAccumulation ()
Signals the renderer that a complete new image is going to be rendered. *.

Protected Member Functions

NVSG_API | Renderer (const SmartRenderTarget &renderTarget=SmartRenderTarget())
virtual NVSG_API void | beginRendering (const SmartRenderTarget &renderTarget=SmartRenderTarget())
This function is called once per render call before the first doRender call.
virtual NVSG_API void | endRendering (const SmartRenderTarget &renderTarget=SmartRenderTarget())
This function is called once per render call after the last doRender call.
virtual NVSG_API void | doRender (const SmartRenderTarget &renderTarget)=0
Override this function to implement a rendering algorithm.

Detailed Description

Renderer is the base class for algorithms which operate on an nvui::RenderTarget.

Member Function Documentation

NVSG_API void setRenderTarget ( const SmartRenderTarget & renderTarget )

Set the nvui::RenderTarget used by all subsequent render calls.

Parameters:
renderTarget The new nvui::RenderTarget.

NVSG_API SmartRenderTarget getRenderTarget ( ) const

Get the nvui::RenderTarget used by render calls.

Returns:
The current nvui::RenderTarget.

NVSG_API void render ( const SmartRenderTarget & renderTarget = SmartRenderTarget() )

Executes the rendering algorithm on the given nvui::RenderTarget. It calls beginRendering, doRender and endRendering with an nvui::RenderTarget.

Parameters:
renderTarget nvui::RenderTarget to render on. If this parameter is specified it overrides the nvui::RenderTarget set by setRenderTarget. Otherwise the previously specified nvui::RenderTarget is used.

virtual NVSG_API void restartAccumulation ( ) [virtual]

Signals the renderer that a complete new image is going to be rendered. *.

virtual NVSG_API void beginRendering ( const SmartRenderTarget & renderTarget = SmartRenderTarget() ) [protected, virtual]

This function is called once per render call before the first doRender call.

Parameters:
nvui::renderTarget SmartRenderTarget which had been passed to the render call

virtual NVSG_API void endRendering ( const SmartRenderTarget & renderTarget = SmartRenderTarget() ) [protected, virtual]

This function is called once per render call after the last doRender call.

Parameters:
renderTarget nvui::SmartRenderTarget which had been passed to the render call

virtual NVSG_API void doRender ( const SmartRenderTarget & renderTarget ) [protected, pure virtual]

Override this function to implement a rendering algorithm.

Parameters:
renderTarget nvui::RenderTarget determined by the render call.

Implemented in SceneRenderer.

The documentation for this class was generated from the following file:
  • nvui/Renderer.h
Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: Member List

Renderer Member List

This is the complete list of members for Renderer, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doRender(const SmartRenderTarget &renderTarget)=0 | Renderer | [protected, pure virtual]
endRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
getClassName() const | Reflection |
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderTarget() const | Renderer |
getValue(PropertyId propertyId) const | Reflection | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
m_mutableLock (defined in Subject) | Subject | [protected]
m_propertyLists | Reflection | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
render(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer |
Renderer(const SmartRenderTarget &renderTarget=SmartRenderTarget()) (defined in Renderer) | Renderer | [protected]
restartAccumulation() | Renderer | [virtual]
setRenderTarget(const SmartRenderTarget &renderTarget) | Renderer |
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Renderer() (defined in Renderer) | Renderer | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: RendererGLFSQ Class Reference

nvgl::RendererGLFSQ

RendererGLFSQ Class Reference

Renderer to draw a "Full Screen" (ie: viewport-filling) quad, using a supplied CgFX. More...

#include <RendererGLFSQ.h>

Inheritance diagram for RendererGLFSQ:

[legend]
Collaboration diagram for RendererGLFSQ:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | setCgFx (const nvsg::CgFxSharedPtr &cgfxh)
Set the CgFX to use when rendering this FSQ.
virtual NVSG_API const nvsg::CgFxSharedPtr & | getCgFx ()
Get the CgFX used in this FSQ.
virtual NVSG_API void | setTexCoords (unsigned int unit, const std::vector< nvmath::Vec4f > &coords)
Add or remove texture coordinate attributes.
virtual NVSG_API bool | setSamplerTextureByName (const std::string &sampler, const nvsg::TextureSharedPtr &texture)
Set a Sampler's texture by name.
virtual NVSG_API bool | setSamplerTextureByName (const std::string &sampler, GLuint texID)
Set a Sampler's texture by name using a native OpenGL texture object ID.
virtual NVSG_API bool | setSamplerTextureBySemantic (const std::string &semantic, const nvsg::TextureSharedPtr &texture)
Set a Sampler's texture by semantic.
virtual NVSG_API bool | setSamplerTextureBySemantic (const std::string &semantic, GLuint texID)
Set a Sampler's texture by semantic using a native OpenGL texture object ID.
REFLECTION_INFO_API (NVSG_API, RendererGLFSQ)

Static Public Member Functions

static NVSG_API nvutil::SmartPtr<
RendererGLFSQ > 		create (const nvgl::SmartRenderTargetGL &renderTarget=nvgl::SmartRenderTargetGL())
static NVSG_API void | presentTextureGL2D (GLuint textureId, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd=true)
Fill the viewport with the given 2D GL textureID.
static NVSG_API void | presentTextureGL2D (const nvgl::TextureGL2DSharedPtr &tex2d, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd=true)
Fill the viewport with the given TextureGL2D.
static NVSG_API void | presentTextureGLRectangle (const nvgl::TextureGLRectangleSharedPtr &tex2d, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd=true)
Fill the viewport with the given TextureGLRectangle.

Protected Member Functions

NVSG_API | RendererGLFSQ (const nvgl::SmartRenderTargetGL &target)
virtual NVSG_API void | doRender (const nvui::SmartRenderTarget &renderTarget)

Classes

struct | TexInfo

Detailed Description

Renderer to draw a "Full Screen" (ie: viewport-filling) quad, using a supplied CgFX.

Namespace: nvgl
Remarks:
Many rendering effects in modern applications require a Viewport-filling quad to realize certain screen-space or compositing effects. This class will render this type of quad, using the supplied CgFX. Additionally, applications may supply per vertex data as texture coordinates to be used by the CgFX while rendering.
This class also provides several helper methods to "present" (render) a texture in a full screen quad.
Note:
Draws a viewport filling quad on Z = 0, with the following characteristics:
         Vertex Coords                 Texture Coords (units 0 and 1)

     (-1,1) 3-------2 (1,1)          0:(0,1)   3-------2 0:(1,1)
            |       |                1:(x,y+h) |       | 1:(x+w,y+h)
            |       |                          |       |
    (-1,-1) 0-------1 (1,-1)         0:(0,0)   0-------1 0:(1,0)
                                     1:(x,y)             1:(x+w,y)

                                      Where: X,Y,W,H are either Viewport Parameters or
                                             X,Y=0 and W,H are output RenderTarget dimensions

Here is an example CgFX effect that could be used to render a checkerboard pattern over the scene and tint it Red.

   float4 vertex( float4 vpos : POSITION ) : POSITION
   {
     // Note, vertices are already appropriately transformed.  Typically it will not be necessary to
     // further transform them.  However, any TEXCOORDS that are used should be passed to the fragment program.
     return vpos;
   }

   float4 fragment( int2 wpos : WPOS ) : COLOR
   {
     //make a checkerboard pattern
     bool xp = wpos.x & 4;
     bool yp = wpos.y & 4;
     return (xp != yp) ? float4( 1.f, 0.f, 0.f, 0.5f ) : float4(0.f);
   }

   technique
   {
     pass
     {
       VertexProgram   = compile latest vertex();
       FragmentProgram = compile latest fragment();

       BlendEnable = true;
       BlendFunc = { SrcAlpha, OneMinusSrcAlpha };
     }
   }
See also:
nvsg::CgFx, nvsg::CgFx::Effect, nvui::Renderer

Member Function Documentation

virtual NVSG_API bool setCgFx ( const nvsg::CgFxSharedPtr & cgfxh ) [virtual]

Set the CgFX to use when rendering this FSQ.

Parameters:
cgfxh A shared pointer to the CgFx to use for this FSQ.
See also:
getCgFx, nvsg::CgFx

virtual NVSG_API const nvsg::CgFxSharedPtr& getCgFx ( ) [virtual]

Get the CgFX used in this FSQ.

Returns:
cgfxh A shared pointer to the CgFx used in this FSQ.
See also:
setCgFx, nvsg::CgFx

virtual NVSG_API void setTexCoords | ( | unsigned int | unit,
 |  | const std::vector< nvmath::Vec4f > & | coords
 | ) | [virtual]

Add or remove texture coordinate attributes.

Remarks:
Adds or removes texture coordinate attributes from this FSQ.
Parameters:
unit | The texture attribute identifier on which to modify the texcoords. If adding texcoords, they will be available as TEXCOORDunit, where unit can range from 2 to 7, as TEXCOORD0 and TEXCOORD1 are used internally by the FSQ.
coords | A vector of Vec4f's to use as the data. Note the ordering of the vertex data, as described above. If this vector is empty, any texcoords assigned to this texcoord unit are removed.

virtual NVSG_API bool setSamplerTextureByName | ( | const std::string & | sampler,
 |  | const nvsg::TextureSharedPtr & | texture
 | ) | [virtual]

Set a Sampler's texture by name.

Remarks:
This is a convenience function to set the TextureGL or TextureHost of a Sampler. This could also be accomplished using the CgFX API as well.
Parameters:
sampler | The Sampler name in the CgFX.
texture | The Texture to assign to the Sampler.
Returns:
True if the named sampler was found and the texture was assigned. False otherwise.
Note:
An example would be the following:
   CgFX:
   sampler2D coolio [...];
   C++:
   fsq->setSamplerTextureByName( "coolio", theTexture );
See also:
setSamplerTextureBySemantic

virtual NVSG_API bool setSamplerTextureByName | ( | const std::string & | sampler,
 |  | GLuint | texID
 | ) | [virtual]

Set a Sampler's texture by name using a native OpenGL texture object ID.

Parameters:
sampler | The Sampler name in the CgFX.
texID | The OpenGL texture object ID to assing to the Cg sampler
Returns:
True if the named sampler was found and the texture was assigned. False otherwise.
See also:
setSamplerTextureBySemantic

virtual NVSG_API bool setSamplerTextureBySemantic | ( | const std::string & | semantic,
 |  | const nvsg::TextureSharedPtr & | texture
 | ) | [virtual]

Set a Sampler's texture by semantic.

Remarks:
This is a convenience function to set the TextureGL or TextureHost of a Sampler. This could also be accomplished using the CgFX API as well.
Parameters:
semantic | The semantic of the Sampler in the CgFX.
texture | The Texture to assign to the Sampler.
Returns:
True if a sampler with the given semantic was found and the texture was assigned. False otherwise.
Note:
An example would be the following:
   CgFX:
   sampler2D coolio : MYCOOLSAMPLER;
   C++:
   fsq->setSamplerTextureBySemantic( "MYCOOLSAMPLER", theTexture );
See also:
setSamplerTextureByName

virtual NVSG_API bool setSamplerTextureBySemantic | ( | const std::string & | semantic,
 |  | GLuint | texID
 | ) | [virtual]

Set a Sampler's texture by semantic using a native OpenGL texture object ID.

Parameters:
semantic | The semantic of the Sampler in the CgFX.
texID | The OpenGL texture object ID to assing to the Cg sampler
Returns:
True if a sampler with the given semantic was found and the texture was assigned. False otherwise.
See also:
setSamplerTextureByName

static NVSG_API void presentTextureGL2D | ( | GLuint | textureId,
 |  | const nvgl::SmartRenderTargetGL & | target,
 |  | bool | callRTBeginEnd = true
 | ) | [static]

Fill the viewport with the given 2D GL textureID.

Remarks:
This is a convenience function to render the given OpenGL texture in a viewport-filling quad.
Parameters:
textureId | The GLuint representing an OpenGL texture resource.
target | The RenderTargetGL to fill with the texture.
callRTBeginEnd | Whether to wrap the Quad rendering with target->beginRendering() and target->endRendering(). In some cases the RenderTarget may be current and calling begin/endRendering may be either unnecessary or detremental.

static NVSG_API void presentTextureGL2D | ( | const nvgl::TextureGL2DSharedPtr & | tex2d,
 |  | const nvgl::SmartRenderTargetGL & | target,
 |  | bool | callRTBeginEnd = true
 | ) | [static]

Fill the viewport with the given TextureGL2D.

Remarks:
This is a convenience function to render the given TextureGL2D in a viewport-filling quad.
Parameters:
tex2d | The TextureGL2D resource.
target | The RenderTargetGL to fill with the texture.
callRTBeginEnd | Whether to wrap the Quad rendering with target->beginRendering() and target->endRendering(). In some cases the RenderTarget may be current and calling begin/endRendering may be either unnecessary or detremental.

static NVSG_API void presentTextureGLRectangle | ( | const nvgl::TextureGLRectangleSharedPtr & | tex2d,
 |  | const nvgl::SmartRenderTargetGL & | target,
 |  | bool | callRTBeginEnd = true
 | ) | [static]

Fill the viewport with the given TextureGLRectangle.

Remarks:
This is a convenience function to render the given TextureGLRectangle in a viewport-filling quad.
Parameters:
tex2d | The TextureGLRectangle resource.
target | The RenderTargetGL to fill with the texture.
callRTBeginEnd | Whether to wrap the Quad rendering with target->beginRendering() and target->endRendering(). In some cases the RenderTarget may be current and calling begin/endRendering may be either unnecessary or detremental.

The documentation for this class was generated from the following file:
  • RendererGLFSQ.h
Generated on Fri Jul 13 13:29:38 2012 for SceniX


SceniX: Member List

RendererGLFSQ Member List

This is the complete list of members for RendererGLFSQ, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
create(const nvgl::SmartRenderTargetGL &renderTarget=nvgl::SmartRenderTargetGL()) (defined in RendererGLFSQ) | RendererGLFSQ | [static]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doRender(const nvui::SmartRenderTarget &renderTarget) (defined in RendererGLFSQ) | RendererGLFSQ | [protected, virtual]
nvui::Renderer::doRender(const SmartRenderTarget &renderTarget)=0 | Renderer | [protected, pure virtual]
endRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
getCgFx() | RendererGLFSQ | [virtual]
getClassName() const | Reflection |
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderTarget() const | Renderer |
getValue(PropertyId propertyId) const | Reflection | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
m_mutableLock (defined in Subject) | Subject | [protected]
m_propertyLists | Reflection | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
presentTextureGL2D(GLuint textureId, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd=true) | RendererGLFSQ | [static]
presentTextureGL2D(const nvgl::TextureGL2DSharedPtr &tex2d, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd=true) | RendererGLFSQ | [static]
presentTextureGLRectangle(const nvgl::TextureGLRectangleSharedPtr &tex2d, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd=true) | RendererGLFSQ | [static]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, RendererGLFSQ) (defined in RendererGLFSQ) | RendererGLFSQ |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
render(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer |
Renderer(const SmartRenderTarget &renderTarget=SmartRenderTarget()) (defined in Renderer) | Renderer | [protected]
RendererGLFSQ(const nvgl::SmartRenderTargetGL &target) (defined in RendererGLFSQ) | RendererGLFSQ | [protected]
restartAccumulation() | Renderer | [virtual]
setCgFx(const nvsg::CgFxSharedPtr &cgfxh) | RendererGLFSQ | [virtual]
setRenderTarget(const SmartRenderTarget &renderTarget) | Renderer |
setSamplerTextureByName(const std::string &sampler, const nvsg::TextureSharedPtr &texture) | RendererGLFSQ | [virtual]
setSamplerTextureByName(const std::string &sampler, GLuint texID) | RendererGLFSQ | [virtual]
setSamplerTextureBySemantic(const std::string &semantic, const nvsg::TextureSharedPtr &texture) | RendererGLFSQ | [virtual]
setSamplerTextureBySemantic(const std::string &semantic, GLuint texID) | RendererGLFSQ | [virtual]
setTexCoords(unsigned int unit, const std::vector< nvmath::Vec4f > &coords) | RendererGLFSQ | [virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Renderer() (defined in Renderer) | Renderer | [virtual]
~RendererGLFSQ(void) (defined in RendererGLFSQ) | RendererGLFSQ | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:29:38 2012 for SceniX


SceniX: RendererOptions Class Reference

nvui::RendererOptions

RendererOptions Class Reference

This class is a container for RendererOptions. More...

#include <RendererOptions.h>

Collaboration diagram for RendererOptions:

[legend]
List of all members.

Public Member Functions

template<typename ValueType>
void | addProperty (const std::string &name, const std::string &annonation, const ValueType &value)
Add a new property.
template<typename ValueType>
ValueType | getValue (const std::string &name) const
template<typename ValueType>
void | setValue (const std::string &name, const ValueType &value)
Set the value of a property.
NVSG_API std::string | getAnnotation (const std::string &name) const
Get the annotation of this property.
RendererOptions (const RendererOptions &rhs)
REFLECTION_INFO_API (NVSG_API, RendererOptions)

Static Public Member Functions

static NVSG_API nvui::RendererOptionsSharedPtr | create ()

Detailed Description

This class is a container for RendererOptions.

Remarks:
Use SceneRenderer*::addRendererOptions( const RendererOptionsSharedPtr &options ) to initialize the options for a specific SceneRenderer. It is possible to store the options for multiple renderers at the same time. All options of a SceneRenderer* should be prefix with the name of the SceneRenderer to ensure that no collisions between options of different Renderers occur. The properties and values should be stored by savers if possible. It is possible to add custom attributes which contain information like last active renderer. Those attributes can be evaluated by the application to initialize a Window. !

Member Function Documentation

void addProperty | ( | const std::string & | name,
 |  | const std::string & | annonation,
 |  | const ValueType & | value
 | ) |

Add a new property.

Parameters:
name | Name of the property.
value | Initial value of the property.
Remarks:
Behaviour when adding two properties with the same name is undefined. !

void setValue | ( | const std::string & | name,
 |  | const ValueType & | value
 | ) |

Set the value of a property.

Parameters:
name | Name of the property to set the value for.
value | Value to set for the given property name.
Remarks:
This is a shortcut for setValue(getProperty(name), value);. !

NVSG_API std::string getAnnotation ( const std::string & name ) const

Get the annotation of this property.

Parameters:
name Name of the property to get the annotation for.
Returns:
A string with the annotation of this property. !

The documentation for this class was generated from the following file:
  • RendererOptions.h
Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: Member List

RendererOptions Member List

This is the complete list of members for RendererOptions, including all inherited members.

addProperty(const std::string &name, const std::string &annonation, const ValueType &value) | RendererOptions |
create() (defined in RendererOptions) | RendererOptions | [static]
getAnnotation(const std::string &name) const | RendererOptions |
getValue(const std::string &name) const (defined in RendererOptions) | RendererOptions |
REFLECTION_INFO_API(NVSG_API, RendererOptions) (defined in RendererOptions) | RendererOptions |
RendererOptions() (defined in RendererOptions) | RendererOptions |
RendererOptions(const RendererOptions &rhs) (defined in RendererOptions) | RendererOptions |
setValue(const std::string &name, const ValueType &value) | RendererOptions |
~RendererOptions() (defined in RendererOptions) | RendererOptions | [virtual]

Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: RendererOptionsProvider Class Reference

nvui::RendererOptionsProvider

RendererOptionsProvider Class Reference

Base class for classes that need RendererOptions. More...

#include <RendererOptions.h>

Inheritance diagram for RendererOptionsProvider:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | addRendererOptions (const RendererOptionsSharedPtr &rendererOptions)
Add all renderer options required to the given rendererOptions object.
virtual NVSG_API void | setRendererOptions (const RendererOptionsSharedPtr &rendererOptions)
Set this renderOptions object as current render options.

Protected Member Functions

virtual NVSG_API void | doAddRendererOptions (const nvui::RendererOptionsSharedPtr &rendererOptions)=0
Overwrite this function if you need to add options.
virtual NVSG_API void | doSetRendererOptions (const nvui::RendererOptionsSharedPtr &rendererOptions)=0
Overwrite this function if you need to re-validate property ids on rendererOptions change.

Protected Attributes

RendererOptionsSharedPtr | m_rendererOptions

Detailed Description

Base class for classes that need RendererOptions.

Remarks:
Use this class as base class for every class that needs to keep RendererOptions. !

Member Function Documentation

void addRendererOptions ( const RendererOptionsSharedPtr & rendererOptions ) [inline, virtual]

Add all renderer options required to the given rendererOptions object.

void setRendererOptions ( const RendererOptionsSharedPtr & rendererOptions ) [inline, virtual]

Set this renderOptions object as current render options.

virtual NVSG_API void doAddRendererOptions ( const nvui::RendererOptionsSharedPtr & rendererOptions ) [protected, pure virtual]

Overwrite this function if you need to add options.

virtual NVSG_API void doSetRendererOptions ( const nvui::RendererOptionsSharedPtr & rendererOptions ) [protected, pure virtual]

Overwrite this function if you need to re-validate property ids on rendererOptions change.

The documentation for this class was generated from the following file:
  • RendererOptions.h
Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: Member List

RendererOptionsProvider Member List

This is the complete list of members for RendererOptionsProvider, including all inherited members.

addRendererOptions(const RendererOptionsSharedPtr &rendererOptions) | RendererOptionsProvider | [inline, virtual]
doAddRendererOptions(const nvui::RendererOptionsSharedPtr &rendererOptions)=0 | RendererOptionsProvider | [protected, pure virtual]
doSetRendererOptions(const nvui::RendererOptionsSharedPtr &rendererOptions)=0 | RendererOptionsProvider | [protected, pure virtual]
m_rendererOptions (defined in RendererOptionsProvider) | RendererOptionsProvider | [protected]
RendererOptionsProvider() (defined in RendererOptionsProvider) | RendererOptionsProvider | [inline]
setRendererOptions(const RendererOptionsSharedPtr &rendererOptions) | RendererOptionsProvider | [inline, virtual]
~RendererOptionsProvider() (defined in RendererOptionsProvider) | RendererOptionsProvider | [inline, virtual]

Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: RenderTarget Class Reference

nvui::RenderTarget

RenderTarget Class Reference

An nvui::RenderTarget specifies a render surface to be used in conjunction with an nvui::Renderer. SceniX supports RenderTargets for OptiX (nvrt::RenderTargetRT, nvrt::RenderTargetRTBuiltin), for OpenGL (nvgl::RenderTargetGLFB, nvgl::RenderTargetGLFBO) . More...

#include <RenderTarget.h>

Inheritance diagram for RenderTarget:

[legend]
Collaboration diagram for RenderTarget:

[legend]
List of all members.

Public Types

enum | StereoTarget { LEFT = 0, RIGHT, LEFT_AND_RIGHT }

Public Member Functions

virtual NVSG_API bool | beginRendering ()
This function will be called by renderers when they start to render a frame.
virtual NVSG_API void | endRendering ()
This function will be called by renderers when they finished a frame. *.
virtual NVSG_API void | setSize (unsigned int width, unsigned int height)=0
Update the dimensions of the RenderTarget.
virtual NVSG_API void | getSize (unsigned int &width, unsigned int &height) const =0
Retrieve the dimensions of the RenderTarget.
NVSG_API unsigned int | getWidth () const
Get the current width of the RenderTarget.
NVSG_API unsigned int | getHeight () const
Get the current heightof the RenderTarget.
virtual NVSG_API float | getAspectRatio () const
Get the current aspect ratio of the RenderTarget. The default implementation returns width/height. If a derived class supports a RenderTarget with non-square pixels this function should be overriden.
virtual NVSG_API nvsg::TextureHostSharedPtr | getTextureHost (nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType pixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE)=0
Fetch pixels of the surface in a TextureHost.
virtual NVSG_API bool | isValid ()=0
Check if the RenderTarget is valid and can be used for rendering.
virtual NVSG_API bool | isStereoEnabled () const
Check if stereo is enabled.
virtual NVSG_API bool | setStereoTarget (StereoTarget target)
Choose stereo surface to render on.
virtual NVSG_API StereoTarget | getStereoTarget () const
Retrieve which stereo surface is currently active.

Detailed Description

An nvui::RenderTarget specifies a render surface to be used in conjunction with an nvui::Renderer. SceniX supports RenderTargets for OptiX (nvrt::RenderTargetRT, nvrt::RenderTargetRTBuiltin), for OpenGL (nvgl::RenderTargetGLFB, nvgl::RenderTargetGLFBO) .

After a Renderer's render command has been executed, the rendered image can be queried from the RenderTarget as an nvsg::TextureHost by calling RenderTarget::getTextureHost.

A RenderTarget is also prepared to support stereoscopic rendering in conjunction with nvui::SceneRenderer.

Remarks:
For mono rendering the LEFT surface is used as default.

Member Enumeration Documentation

enum StereoTarget

Enumeration values:
LEFT | Left eye only. Mono is aliased to the left eye.
RIGHT | Right eye only.
LEFT_AND_RIGHT | Left and right eye at the same time, may not work on all targets.

Member Function Documentation

virtual NVSG_API bool beginRendering ( ) [inline, virtual]

This function will be called by renderers when they start to render a frame.

Returns:
true If RenderTarget is ready for rendering, false otherwise.

Reimplemented in RenderTargetGL.

virtual NVSG_API void endRendering ( ) [inline, virtual]

This function will be called by renderers when they finished a frame. *.

Reimplemented in RenderTargetGL.

virtual NVSG_API void setSize | ( | unsigned int | width,
 |  | unsigned int | height
 | ) | [pure virtual]

Update the dimensions of the RenderTarget.

Parameters:
width | New width of the RenderTarget
height | New height of the RenderTarget

Implemented in RenderTargetGL.

virtual NVSG_API void getSize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const [pure virtual]

Retrieve the dimensions of the RenderTarget.

Parameters:
width | Returns current width of the RenderTarget.
height | Returns current height of the RenderTarget.

Implemented in RenderTargetGL.

unsigned int getWidth ( ) const [inline]

Get the current width of the RenderTarget.

Returns:
current width of the RenderTarget

unsigned int getHeight ( ) const [inline]

Get the current heightof the RenderTarget.

Returns:
current heightof the RenderTarget

float getAspectRatio ( ) const [inline, virtual]

Get the current aspect ratio of the RenderTarget. The default implementation returns width/height. If a derived class supports a RenderTarget with non-square pixels this function should be overriden.

Returns:
Aspect ratio of the surface

virtual NVSG_API nvsg::TextureHostSharedPtr getTextureHost | ( | nvsg::Image::PixelFormat | pixelFormat = nvsg::Image::IMG_BGR,
 |  | nvsg::Image::PixelDataType | pixelDataType = nvsg::Image::IMG_UNSIGNED_BYTE
 | ) | [pure virtual]

Fetch pixels of the surface in a TextureHost.

Parameters:
pixelFormat | Pixel format to use when grabbing the pixels.
pixelDataType | Data type to use for each pixel component.
Returns:
A TextureHostSharedPtr containing a texture with the content of the surface.
Remarks:
If a RenderTarget cannot support this operation it returns a null object.

Implemented in RenderTargetGL, and RenderTargetGLFBO.

virtual NVSG_API bool isValid ( ) [pure virtual]

Check if the RenderTarget is valid and can be used for rendering.

Returns:
true If the RenderTarget is ready for rendering, false otherwise.

Implemented in RenderTargetGL, RenderTargetGLFB, and RenderTargetGLFBO.

virtual NVSG_API bool isStereoEnabled ( ) const [inline, virtual]

Check if stereo is enabled.

Returns:
true If the RenderTarget has stereo enabled, false otherwise.

Reimplemented in RenderTargetGLFB, and RenderTargetGLFBO.

virtual NVSG_API bool setStereoTarget ( StereoTarget target ) [inline, virtual]

Choose stereo surface to render on.

Parameters:
target LEFT, RIGHT or LEFT_AND_RIGHT for the corresponding surface.
Returns:
true If the surface had been selected and false otherwise.

Reimplemented in RenderTargetGLFB, and RenderTargetGLFBO.

virtual NVSG_API StereoTarget getStereoTarget ( ) const [inline, virtual]

Retrieve which stereo surface is currently active.

Returns:
Currently active surface for stereo rendering.

Reimplemented in RenderTargetGLFB, and RenderTargetGLFBO.

The documentation for this class was generated from the following file:
  • RenderTarget.h
Generated on Fri Jul 13 13:31:21 2012 for SceniX


SceniX: Member List

RenderTarget Member List

This is the complete list of members for RenderTarget, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering() | RenderTarget | [inline, virtual]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
endRendering() | RenderTarget | [inline, virtual]
getAspectRatio() const | RenderTarget | [inline, virtual]
getClassName() const | Reflection |
getHeight() const | RenderTarget | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getSize(unsigned int &width, unsigned int &height) const =0 | RenderTarget | [pure virtual]
getStereoTarget() const | RenderTarget | [inline, virtual]
getTextureHost(nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType pixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE)=0 | RenderTarget | [pure virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
getWidth() const | RenderTarget | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
isStereoEnabled() const | RenderTarget | [inline, virtual]
isValid()=0 | RenderTarget | [pure virtual]
LEFT enum value | RenderTarget |
LEFT_AND_RIGHT enum value | RenderTarget |
m_mutableLock (defined in Subject) | Subject | [protected]
m_propertyLists | Reflection | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
RIGHT enum value | RenderTarget |
setSize(unsigned int width, unsigned int height)=0 | RenderTarget | [pure virtual]
setStereoTarget(StereoTarget target) | RenderTarget | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartPayload typedef (defined in Subject) | Subject |
StereoTarget enum name | RenderTarget |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~RenderTarget() (defined in RenderTarget) | RenderTarget | [inline, virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:31:21 2012 for SceniX


SceniX: RenderTargetGL Class Reference

nvgl::RenderTargetGL

RenderTargetGL Class Reference

RenderTargetGL is the base class for OpenGL based RenderTargets like nvgl::RenderTargetGLFB and nvgl::RenderTargetGLFBO. It contains basic OpenGL functionality like OpenGL context managment, framebuffer grabbing and clearing the background. More...

#include <RenderTargetGL.h>

Inheritance diagram for RenderTargetGL:

[legend]
Collaboration diagram for RenderTargetGL:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | beginRendering ()
Make the OpenGL context attached to this target current and clear the surface with the clearMask set by setClearMask. beginRendering and endRendering cannot be nested.
virtual NVSG_API void | endRendering ()
Make the current OpenGL context noncurrent.
virtual NVSG_API bool | copyToBuffer (GLenum mode, nvsg::Image::PixelFormat pixelFormat, nvsg::Image::PixelDataType pixelDataType, const nvsg::BufferSharedPtr &buffer)
Copy the content of the framebuffer attached to this RenderTargetGL into an nvsg::Buffer.
NVSG_API void | setClearMask (GLenum clearMask)
Sets the OpenGL clear mask used by beginRendering.
NVSG_API GLenum | getClearMask ()
Get the current OpenGL clear mask.
NVSG_API void | setClearColor (GLclampf r, GLclampf g, GLclampf b, GLclampf a)
Set the background color for glClear calls.
NVSG_API void | setClearDepth (GLclampd depth)
Set clear depth for glClear calls.
NVSG_API void | setClearStencil (GLint stencil)
Set clear stencil value for glClear calls.
virtual NVSG_API void | setSize (unsigned int width, unsigned int height)
Update the dimensions of the RenderTarget.
virtual NVSG_API void | getSize (unsigned int &width, unsigned int &height) const
Retrieve the dimensions of the RenderTarget.
NVSG_API unsigned int | getWidth ()
Get width of the RenderTargetGL.
NVSG_API unsigned int | getHeight ()
Get height of the RenderTargetGL.
virtual NVSG_API void | setPosition (int x, int y)
Set the lower left point of the viewport.
virtual NVSG_API void | getPosition (int &x, int &y) const
Get the lower left point of the viewport.
virtual NVSG_API nvsg::TextureHostSharedPtr | getTextureHost (nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE)
Grab a screenshot of the current color buffer.
virtual NVSG_API nvsg::TextureHostSharedPtr | getTargetAsTextureHost (GLenum mode, nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE)
Grab a screenshot of the specified color buffer.
virtual NVSG_API bool | isValid ()
Check if the RenderTarget is valid and can be used for rendering.
NVSG_API SmartRenderContextGL | getRenderContextGL ()
Get the OpenGL context used by this RenderTarget.

Protected Member Functions

NVSG_API | RenderTargetGL (const SmartRenderContextGL &glContext)
NVSG_API nvsg::TextureHostSharedPtr | createStereoTextureHost (const nvsg::TextureHostSharedPtr &extureImageHandleLeft, const nvsg::TextureHostSharedPtr &textureImageHandleRight)
Create a side-by-side stereo image out of two images.
virtual NVSG_API bool | isCurrent ()
Check if this RenderTargetGL is current.
virtual NVSG_API void | makeCurrent ()
virtual NVSG_API void | makeNoncurrent ()

Protected Attributes

GLbitfield | m_clearMask
GLclampf | m_clearColorR
GLclampf | m_clearColorG
GLclampf | m_clearColorB
GLclampf | m_clearColorA
GLclampd | m_clearDepth
GLuint | m_clearStencil

Classes

class | TmpCurrent

Detailed Description

RenderTargetGL is the base class for OpenGL based RenderTargets like nvgl::RenderTargetGLFB and nvgl::RenderTargetGLFBO. It contains basic OpenGL functionality like OpenGL context managment, framebuffer grabbing and clearing the background.

Member Function Documentation

virtual NVSG_API bool beginRendering ( ) [virtual]

Make the OpenGL context attached to this target current and clear the surface with the clearMask set by setClearMask. beginRendering and endRendering cannot be nested.

Returns:
false If rendering on the target is not possible.

Reimplemented from RenderTarget.

virtual NVSG_API void endRendering ( ) [virtual]

Make the current OpenGL context noncurrent.

Reimplemented from RenderTarget.

virtual NVSG_API bool copyToBuffer | ( | GLenum | mode,
 |  | nvsg::Image::PixelFormat | pixelFormat,
 |  | nvsg::Image::PixelDataType | pixelDataType,
 |  | const nvsg::BufferSharedPtr & | buffer
 | ) | [virtual]

Copy the content of the framebuffer attached to this RenderTargetGL into an nvsg::Buffer.

Parameters:
mode | OpenGL color buffer mode (i.e. GL_FRONT_LEFT or GL_COLOR_ATTACHMENT_0 ).
pixelFormat | SceniX Format to use for pixels in the resulting buffer.
pixelDataType | SceniX datatype to use for pixels in the resulting buffer.
buffer | A SceniX buffer which is being used for the resulting pixels.
Returns:
true If operation succeeded, false otherwise.

NVSG_API void setClearMask ( GLenum clearMask )

Sets the OpenGL clear mask used by beginRendering.

Parameters:
clearMask clearMask used for glClear calls.
Remarks:
The initial value for the clear mask is 0.

NVSG_API GLenum getClearMask ( )

Get the current OpenGL clear mask.

Returns:
Current clear mask used for glClear calls.

NVSG_API void setClearColor | ( | GLclampf | r,
 |  | GLclampf | g,
 |  | GLclampf | b,
 |  | GLclampf | a
 | ) |

Set the background color for glClear calls.

Parameters:
r | red value
g | green value
b | blue value
a | alpha value
Remarks:
The initial values for all components are 0.0.

NVSG_API void setClearDepth ( GLclampd depth )

Set clear depth for glClear calls.

Parameters:
depth Depth value used to fill the depth buffer when clearing the target
Remarks:
The initial value for the depth is 1.0.

NVSG_API void setClearStencil ( GLint stencil )

Set clear stencil value for glClear calls.

Parameters:
stencil stencil value used to fill the stencil buffer when clearing the target.
Remarks:
The initial value for the stencil is 0.

virtual NVSG_API void setSize | ( | unsigned int | width,
 |  | unsigned int | height
 | ) | [virtual]

Update the dimensions of the RenderTarget.

Parameters:
width | New width of the RenderTarget
height | New height of the RenderTarget

Implements RenderTarget.

virtual NVSG_API void getSize | ( | unsigned int & | width,
 |  | unsigned int & | height
 | ) | const [virtual]

Retrieve the dimensions of the RenderTarget.

Parameters:
width | Returns current width of the RenderTarget.
height | Returns current height of the RenderTarget.

Implements RenderTarget.

NVSG_API unsigned int getWidth ( ) [inline]

Get width of the RenderTargetGL.

Returns:
width of the RenderTargetGL.

NVSG_API unsigned int getHeight ( ) [inline]

Get height of the RenderTargetGL.

Returns:
width of the RenderTargetGL.

virtual NVSG_API void setPosition | ( | int | x,
 |  | int | y
 | ) | [virtual]

Set the lower left point of the viewport.

virtual NVSG_API void getPosition | ( | int & | x,
 |  | int & | y
 | ) | const [virtual]

Get the lower left point of the viewport.

virtual NVSG_API nvsg::TextureHostSharedPtr getTextureHost | ( | nvsg::Image::PixelFormat | pixelFormat = nvsg::Image::IMG_BGR,
 |  | nvsg::Image::PixelDataType | = nvsg::Image::IMG_UNSIGNED_BYTE
 | ) | [virtual]

Grab a screenshot of the current color buffer.

Parameters:
pixelFormat | PixelFormat to use when grabbing the pixels.
pixelDataType | DataType to use for each pixel component.
Returns:
A TextureHostSharedPtr containing a texture with the content of the surface.

Implements RenderTarget.

Reimplemented in RenderTargetGLFBO.

virtual NVSG_API nvsg::TextureHostSharedPtr getTargetAsTextureHost | ( | GLenum | mode,
 |  | nvsg::Image::PixelFormat | pixelFormat = nvsg::Image::IMG_BGR,
 |  | nvsg::Image::PixelDataType | = nvsg::Image::IMG_UNSIGNED_BYTE
 | ) | [virtual]

Grab a screenshot of the specified color buffer.

Parameters:
mode | GL color buffer target to grab (i.e. GL_FRONT_LEFT or GL_COLOR_ATTACHMENT0).
pixelFormat | PixelFormat to use when grabbing the pixels.
pixelDataType | DataType to use for each pixel component.
Returns:
A TextureHostSharedPtr containing a texture with the content of the surface.

virtual NVSG_API bool isValid ( ) [virtual]

Check if the RenderTarget is valid and can be used for rendering.

Returns:
true If the RenderTarget is ready for rendering, false otherwise.

Implements RenderTarget.

Reimplemented in RenderTargetGLFB, and RenderTargetGLFBO.

SmartRenderContextGL getRenderContextGL ( ) [inline]

Get the OpenGL context used by this RenderTarget.

Returns:
RenderContextGL used by this RenderTarget

NVSG_API nvsg::TextureHostSharedPtr createStereoTextureHost | ( | const nvsg::TextureHostSharedPtr & | extureImageHandleLeft,
 |  | const nvsg::TextureHostSharedPtr & | textureImageHandleRight
 | ) | [protected]

Create a side-by-side stereo image out of two images.

Parameters:
textureImageHandleLeft | Image for the left eye
textureImageHandleRight | Image for the right eye
Returns:
TextureHost with left eye on the right side and right eye on the left side

virtual NVSG_API bool isCurrent ( ) [protected, virtual]

Check if this RenderTargetGL is current.

Returns:
true if this RenderTargetGL is current, false otherwise.

The documentation for this class was generated from the following file:
  • RenderTargetGL.h
Generated on Fri Jul 13 13:29:38 2012 for SceniX


SceniX: Member List

RenderTargetGL Member List

This is the complete list of members for RenderTargetGL, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering() | RenderTargetGL | [virtual]
copyToBuffer(GLenum mode, nvsg::Image::PixelFormat pixelFormat, nvsg::Image::PixelDataType pixelDataType, const nvsg::BufferSharedPtr &buffer) | RenderTargetGL | [virtual]
createStereoTextureHost(const nvsg::TextureHostSharedPtr &extureImageHandleLeft, const nvsg::TextureHostSharedPtr &textureImageHandleRight) | RenderTargetGL | [protected]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
endRendering() | RenderTargetGL | [virtual]
getAspectRatio() const | RenderTarget | [inline, virtual]
getClassName() const | Reflection |
getClearMask() | RenderTargetGL |
getHeight() | RenderTargetGL | [inline]
nvui::RenderTarget::getHeight() const | RenderTarget | [inline]
getPosition(int &x, int &y) const | RenderTargetGL | [virtual]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderContextGL() | RenderTargetGL | [inline]
getSize(unsigned int &width, unsigned int &height) const | RenderTargetGL | [virtual]
getStereoTarget() const | RenderTarget | [inline, virtual]
getTargetAsTextureHost(GLenum mode, nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE) | RenderTargetGL | [virtual]
getTextureHost(nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE) | RenderTargetGL | [virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
getWidth() | RenderTargetGL | [inline]
nvui::RenderTarget::getWidth() const | RenderTarget | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isCurrent() | RenderTargetGL | [protected, virtual]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
isStereoEnabled() const | RenderTarget | [inline, virtual]
isValid() | RenderTargetGL | [virtual]
LEFT enum value | RenderTarget |
LEFT_AND_RIGHT enum value | RenderTarget |
m_clearColorA (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorB (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorG (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorR (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearDepth (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearMask (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearStencil (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_propertyLists | Reflection | [protected]
makeCurrent() (defined in RenderTargetGL) | RenderTargetGL | [protected, virtual]
makeEnumProperty() | Reflection | [inline, protected, static]
makeNoncurrent() (defined in RenderTargetGL) | RenderTargetGL | [protected, virtual]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
RenderTargetGL(const SmartRenderContextGL &glContext) (defined in RenderTargetGL) | RenderTargetGL | [protected]
RIGHT enum value | RenderTarget |
setClearColor(GLclampf r, GLclampf g, GLclampf b, GLclampf a) | RenderTargetGL |
setClearDepth(GLclampd depth) | RenderTargetGL |
setClearMask(GLenum clearMask) | RenderTargetGL |
setClearStencil(GLint stencil) | RenderTargetGL |
setPosition(int x, int y) | RenderTargetGL | [virtual]
setSize(unsigned int width, unsigned int height) | RenderTargetGL | [virtual]
setStereoTarget(StereoTarget target) | RenderTarget | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartPayload typedef (defined in Subject) | Subject |
StereoTarget enum name | RenderTarget |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~RenderTarget() (defined in RenderTarget) | RenderTarget | [inline, virtual]
~RenderTargetGL() (defined in RenderTargetGL) | RenderTargetGL | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:29:38 2012 for SceniX


SceniX: RenderTargetGLFB Class Reference

nvgl::RenderTargetGLFB

RenderTargetGLFB Class Reference

RenderTarget for the OpenGL framebuffer. If the attached OpenGL context has a stereo pixelformat stereo will be enabled automatically. More...

#include <RenderTargetGLFB.h>

Inheritance diagram for RenderTargetGLFB:

[legend]
Collaboration diagram for RenderTargetGLFB:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | isValid ()
Check if the RenderTarget is valid and can be used for rendering.
virtual NVSG_API nvsg::TextureHostSharedPtr | getTextureHost ()
Grab a screenshot of the current framebuffer. If stereo is enabled a side-by-side stereo image will be created.
virtual NVSG_API bool | isStereoEnabled () const
Check if stereo is enabled.
virtual NVSG_API bool | setStereoTarget (StereoTarget target)
Choose stereo surface to render on.
virtual NVSG_API StereoTarget | getStereoTarget () const
Retrieve which stereo surface is currently active.

Static Public Member Functions

static NVSG_API nvutil::SmartPtr<
RenderTargetGLFB > 		create (const SmartRenderContextGL &glContext)

Protected Member Functions

virtual NVSG_API void | makeCurrent ()
virtual NVSG_API void | makeNoncurrent ()
GLenum | getStereoTargetBuffer (StereoTarget stereoTarget, bool backbuffer)
void | setDrawBuffer (StereoTarget stereoTarget)
NVSG_API | RenderTargetGLFB (const SmartRenderContextGL &glContext)

Protected Attributes

StereoTarget m_stereoTarget
The currently active stereo target.
GLint | m_oldDrawBuffer
Keeps the drawbuffer which had been current before making this target current.
bool | m_stereoEnabled
True is stereo is supported on the OpenGL context.

Detailed Description

RenderTarget for the OpenGL framebuffer. If the attached OpenGL context has a stereo pixelformat stereo will be enabled automatically.

Member Function Documentation

virtual NVSG_API bool isValid ( ) [virtual]

Check if the RenderTarget is valid and can be used for rendering.

Returns:
true If the RenderTarget is ready for rendering, false otherwise.

Reimplemented from RenderTargetGL.

virtual NVSG_API nvsg::TextureHostSharedPtr getTextureHost ( ) [virtual]

Grab a screenshot of the current framebuffer. If stereo is enabled a side-by-side stereo image will be created.

Returns:
A TextureHost with the content of the color buffer.

virtual NVSG_API bool isStereoEnabled ( ) const [virtual]

Check if stereo is enabled.

Returns:
true If the RenderTarget has stereo enabled, false otherwise.

Reimplemented from RenderTarget.

virtual NVSG_API bool setStereoTarget ( StereoTarget target ) [virtual]

Choose stereo surface to render on.

Parameters:
target LEFT, RIGHT or LEFT_AND_RIGHT for the corresponding surface.
Returns:
true If the surface had been selected and false otherwise.

Reimplemented from RenderTarget.

virtual NVSG_API StereoTarget getStereoTarget ( ) const [virtual]

Retrieve which stereo surface is currently active.

Returns:
Currently active surface for stereo rendering.

Reimplemented from RenderTarget.

Member Data Documentation

StereoTarget m_stereoTarget [protected]

The currently active stereo target.

GLint m_oldDrawBuffer [protected]

Keeps the drawbuffer which had been current before making this target current.

bool m_stereoEnabled [protected]

True is stereo is supported on the OpenGL context.

The documentation for this class was generated from the following file:
  • RenderTargetGLFB.h
Generated on Fri Jul 13 13:29:39 2012 for SceniX


SceniX: Member List

RenderTargetGLFB Member List

This is the complete list of members for RenderTargetGLFB, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering() | RenderTargetGL | [virtual]
copyToBuffer(GLenum mode, nvsg::Image::PixelFormat pixelFormat, nvsg::Image::PixelDataType pixelDataType, const nvsg::BufferSharedPtr &buffer) | RenderTargetGL | [virtual]
create(const SmartRenderContextGL &glContext) (defined in RenderTargetGLFB) | RenderTargetGLFB | [static]
createStereoTextureHost(const nvsg::TextureHostSharedPtr &extureImageHandleLeft, const nvsg::TextureHostSharedPtr &textureImageHandleRight) | RenderTargetGL | [protected]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
endRendering() | RenderTargetGL | [virtual]
getAspectRatio() const | RenderTarget | [inline, virtual]
getClassName() const | Reflection |
getClearMask() | RenderTargetGL |
getHeight() | RenderTargetGL | [inline]
nvui::RenderTarget::getHeight() const | RenderTarget | [inline]
getPosition(int &x, int &y) const | RenderTargetGL | [virtual]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderContextGL() | RenderTargetGL | [inline]
getSize(unsigned int &width, unsigned int &height) const | RenderTargetGL | [virtual]
getStereoTarget() const | RenderTargetGLFB | [virtual]
getStereoTargetBuffer(StereoTarget stereoTarget, bool backbuffer) (defined in RenderTargetGLFB) | RenderTargetGLFB | [protected]
getTargetAsTextureHost(GLenum mode, nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE) | RenderTargetGL | [virtual]
getTextureHost() | RenderTargetGLFB | [virtual]
nvgl::RenderTargetGL::getTextureHost(nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE) | RenderTargetGL | [virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
getWidth() | RenderTargetGL | [inline]
nvui::RenderTarget::getWidth() const | RenderTarget | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isCurrent() | RenderTargetGL | [protected, virtual]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
isStereoEnabled() const | RenderTargetGLFB | [virtual]
isValid() | RenderTargetGLFB | [virtual]
LEFT enum value | RenderTarget |
LEFT_AND_RIGHT enum value | RenderTarget |
m_clearColorA (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorB (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorG (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorR (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearDepth (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearMask (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearStencil (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_oldDrawBuffer | RenderTargetGLFB | [protected]
m_propertyLists | Reflection | [protected]
m_stereoEnabled | RenderTargetGLFB | [protected]
m_stereoTarget | RenderTargetGLFB | [protected]
makeCurrent() (defined in RenderTargetGLFB) | RenderTargetGLFB | [protected, virtual]
makeEnumProperty() | Reflection | [inline, protected, static]
makeNoncurrent() (defined in RenderTargetGLFB) | RenderTargetGLFB | [protected, virtual]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
RenderTargetGL(const SmartRenderContextGL &glContext) (defined in RenderTargetGL) | RenderTargetGL | [protected]
RenderTargetGLFB(const SmartRenderContextGL &glContext) (defined in RenderTargetGLFB) | RenderTargetGLFB | [protected]
RIGHT enum value | RenderTarget |
setClearColor(GLclampf r, GLclampf g, GLclampf b, GLclampf a) | RenderTargetGL |
setClearDepth(GLclampd depth) | RenderTargetGL |
setClearMask(GLenum clearMask) | RenderTargetGL |
setClearStencil(GLint stencil) | RenderTargetGL |
setDrawBuffer(StereoTarget stereoTarget) (defined in RenderTargetGLFB) | RenderTargetGLFB | [protected]
setPosition(int x, int y) | RenderTargetGL | [virtual]
setSize(unsigned int width, unsigned int height) | RenderTargetGL | [virtual]
setStereoTarget(StereoTarget target) | RenderTargetGLFB | [virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartPayload typedef (defined in Subject) | Subject |
StereoTarget enum name | RenderTarget |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~RenderTarget() (defined in RenderTarget) | RenderTarget | [inline, virtual]
~RenderTargetGL() (defined in RenderTargetGL) | RenderTargetGL | [virtual]
~RenderTargetGLFB() (defined in RenderTargetGLFB) | RenderTargetGLFB | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:29:39 2012 for SceniX


SceniX: RenderTargetGLFBO Class Reference

nvgl::RenderTargetGLFBO

RenderTargetGLFBO Class Reference

This RenderTarget supports OpenGL offscreen rendering with FBOs. It is possible to render to nvgl::TextureGL objects for streaming textures and nvgl::RenderbufferGL objects. Stereo is also supported by attaching separate objects to the left and right eye targets. More...

#include <RenderTargetGLFBO.h>

Inheritance diagram for RenderTargetGLFBO:

[legend]
Collaboration diagram for RenderTargetGLFBO:

[legend]
List of all members.

Public Types

typedef nvutil::SmartPtr<
Attachment > 		SmartAttachment
typedef nvutil::SmartPtr<
AttachmentTexture > 		SmartAttachmentTexture
typedef nvutil::SmartPtr<
AttachmentRenderbuffer > 		SmartAttachmentRenderbuffer
typedef unsigned int | AttachmentTarget
typedef unsigned int | BlitMask
typedef unsigned int | BlitFilter
enum {
COLOR_ATTACHMENT0 = GL_COLOR_ATTACHMENT0_EXT, COLOR_ATTACHMENT1 = GL_COLOR_ATTACHMENT1_EXT, COLOR_ATTACHMENT2 = GL_COLOR_ATTACHMENT2_EXT, COLOR_ATTACHMENT3 = GL_COLOR_ATTACHMENT3_EXT,
COLOR_ATTACHMENT4 = GL_COLOR_ATTACHMENT4_EXT, COLOR_ATTACHMENT5 = GL_COLOR_ATTACHMENT5_EXT, COLOR_ATTACHMENT6 = GL_COLOR_ATTACHMENT6_EXT, COLOR_ATTACHMENT7 = GL_COLOR_ATTACHMENT7_EXT,
COLOR_ATTACHMENT8 = GL_COLOR_ATTACHMENT8_EXT, COLOR_ATTACHMENT9 = GL_COLOR_ATTACHMENT9_EXT, COLOR_ATTACHMENT10 = GL_COLOR_ATTACHMENT10_EXT, COLOR_ATTACHMENT11 = GL_COLOR_ATTACHMENT11_EXT,
COLOR_ATTACHMENT12 = GL_COLOR_ATTACHMENT12_EXT, COLOR_ATTACHMENT13 = GL_COLOR_ATTACHMENT13_EXT, COLOR_ATTACHMENT14 = GL_COLOR_ATTACHMENT14_EXT, COLOR_ATTACHMENT15 = GL_COLOR_ATTACHMENT15_EXT,
DEPTH_ATTACHMENT = GL_DEPTH_ATTACHMENT_EXT, STENCIL_ATTACHMENT = GL_STENCIL_ATTACHMENT_EXT, DEPTH_STENCIL_ATTACHMENT = GL_DEPTH_STENCIL_ATTACHMENT
}
enum | { COLOR_BUFFER_BIT = GL_COLOR_BUFFER_BIT, DEPTH_BUFFER_BIT = GL_DEPTH_BUFFER_BIT, STENCIL_BUFFER_BIT = GL_STENCIL_BUFFER_BIT }
enum | { NEAREST = GL_NEAREST, LINEAR = GL_LINEAR }

Public Member Functions

virtual NVSG_API nvsg::TextureHostSharedPtr | getTextureHost (nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE)
Grab a screenshot of the current color buffer.
virtual NVSG_API bool | isValid ()
Check if the RenderTarget is valid and can be used for rendering.
virtual NVSG_API void | setStereoEnabled (bool stereoEnabled)
Change stereo state on this RenderTargetGLFBO.
virtual NVSG_API bool | isStereoEnabled () const
Check if stereo is enabled.
virtual NVSG_API bool | setStereoTarget (StereoTarget target)
Choose stereo surface to render on.
virtual NVSG_API RenderTargetGL::StereoTarget | getStereoTarget () const
Retrieve which stereo surface is currently active.
NVSG_API void | clearAttachments (StereoTarget stereoTarget=RenderTargetGL::LEFT_AND_RIGHT)
Remove all attachments for the given stereo target.
NVSG_API bool | setAttachment (AttachmentTarget target, const SmartAttachment &attachment, StereoTarget stereoTarget=RenderTargetGL::LEFT)
Sets the attachment for a given target.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL1DSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int level=0)
Attach a 1d texture.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL2DSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int level=0)
Attach a 2d texture.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL3DSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int zoffset=0, int level=0)
Attach a 3d texture.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL1DArraySharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int layer=0, int level=0)
Attach a 1d texture array.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL2DArraySharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int layer=0, int level=0)
Attach a 2d texture array.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGLCubemapSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int face=0, int level=0)
Attach a cubemap.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGLRectangleSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT)
Attach a 2d rectangular texture.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL2DMultisampleSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT)
Attach a 2D multisample texture.
NVSG_API bool | setAttachment (AttachmentTarget target, const TextureGL2DMultisampleArraySharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int layer=0)
Attach a 2D multisample array texture.
NVSG_API bool | setAttachment (AttachmentTarget target, const SmartRenderbufferGL &buffer, StereoTarget stereoTarget=RenderTargetGL::LEFT)
Attach a renderbuffer.
NVSG_API SmartAttachment | getAttachment (AttachmentTarget target, StereoTarget stereoTarget=RenderTargetGL::LEFT)
Get the attachment for a given target.
NVSG_API void | setDrawBuffers (const std::vector< GLenum > &drawBuffers)
Set which targets of the framebuffer object should be active.
NVSG_API void | setReadBuffer (GLenum readBuffer)
Select the attachment which should be used for read operations on the framebuffer object.
NVSG_API void | blit (const SmartRenderTargetGLFBO &destination, const BlitMask &mask=COLOR_BUFFER_BIT, const BlitFilter &filter=NEAREST)
NVSG_API void | blit (const SmartRenderTargetGLFB &destination, const BlitMask &mask=COLOR_BUFFER_BIT, const BlitFilter &filter=NEAREST)
NVSG_API void | blit (const SmartRenderTargetGLFBO &destination, const BlitMask &mask, const BlitFilter &filter, const BlitRegion &destRegion, const BlitRegion &srcRegion)
NVSG_API void | blit (const SmartRenderTargetGLFB &destination, const BlitMask &mask, const BlitFilter &filter, const BlitRegion &destRegion, const BlitRegion &srcRegion)
NVSG_API GLuint | getFramebufferId (void) const
Get the OpenGL framebuffer name of this object.

Static Public Member Functions

static NVSG_API nvutil::SmartPtr<
RenderTargetGLFBO > 		create (const SmartRenderContextGL &glContext)
Create a new RenderTargetFBO object using the given context.
static NVSG_API bool | isSupported ()
Test if framebuffer objects are supported.
static NVSG_API bool | isMultiTargetSupported ()
Test if multiple rendertargets are supported.
static NVSG_API bool | isBlitSupported ()
Test if blitting between two framebuffers is supported.

Protected Types

typedef std::map< GLenum,
SmartAttachment > 		AttachmentMap

Protected Member Functions

NVSG_API | RenderTargetGLFBO (const SmartRenderContextGL &glContext)
NVSG_API int | getStereoTargetId (StereoTarget stereoTarget) const
NVSG_API void | blit (const int &framebufferId, const BlitMask &mask, const BlitFilter &filter, const BlitRegion &destRegion, const BlitRegion &srcRegion)
virtual NVSG_API void | makeCurrent ()
virtual NVSG_API void | makeNoncurrent ()
NVSG_API void | bindAttachments (StereoTarget stereoTarget)
NVSG_API void | resizeAttachments (StereoTarget stereoTarget)
NVSG_API bool | isFramebufferComplete ()

Protected Attributes

GLuint | m_framebuffer
std::vector< GLenum > | m_drawBuffers
List of drawbuffers to activate for rendering.
GLenum | m_readBuffer
read buffer to activate for rendering
std::vector< GLint > | m_bindingStack
Bind stack for FBO.
AttachmentMap | m_attachments [2]
AttachmentMap | m_attachmentChanges [2]
bool | m_stereoEnabled
StereoTarget | m_stereoTarget
int | m_currentlyBoundAttachments

Classes

class | Attachment
Base class for all attachments of nvgl::RenderTargetGLFBO. More...
class | AttachmentRenderbuffer
Class to attach an OpenGL renderbuffer to an nvgl::RenderTargetGLFBO. More...
class | AttachmentTexture
Class to attach an TextureGL object to a RenderTargetFBO object. More...
struct | BlitRegion

Detailed Description

This RenderTarget supports OpenGL offscreen rendering with FBOs. It is possible to render to nvgl::TextureGL objects for streaming textures and nvgl::RenderbufferGL objects. Stereo is also supported by attaching separate objects to the left and right eye targets.

RenderTargetGL renders to Attachments. Currently there are two types of Attachments available, nvgl::RenderTargetGLFBO::AttachmentTexture for rendering to OpenGL textures and nvgl::RenderTargetGLFBO::AttachmentRenderbuffer for rendering on OpenGL renderbuffers.

Attachments can be attached with the setAttachment methods. It is possible to share attachments between multiple RenderTargetGLFBO classes or the left and right eye.

It is not necessary to resize attachments to the size of the RenderTarget. Attachments are resized automatically during RenderTargetGLFBO::beginRendering.

Member Function Documentation

static NVSG_API nvutil::SmartPtr<RenderTargetGLFBO> create ( const SmartRenderContextGL & glContext ) [static]

Create a new RenderTargetFBO object using the given context.

virtual NVSG_API nvsg::TextureHostSharedPtr getTextureHost | ( | nvsg::Image::PixelFormat | pixelFormat = nvsg::Image::IMG_BGR,
 |  | nvsg::Image::PixelDataType | = nvsg::Image::IMG_UNSIGNED_BYTE
 | ) | [virtual]

Grab a screenshot of the current color buffer.

Parameters:
pixelFormat | PixelFormat to use when grabbing the pixels.
pixelDataType | DataType to use for each pixel component.
Returns:
A TextureHostSharedPtr containing a texture with the content of the surface.

Reimplemented from RenderTargetGL.

virtual NVSG_API bool isValid ( ) [virtual]

Check if the RenderTarget is valid and can be used for rendering.

Returns:
true If the RenderTarget is ready for rendering, false otherwise.

Reimplemented from RenderTargetGL.

virtual NVSG_API void setStereoEnabled ( bool stereoEnabled ) [virtual]

Change stereo state on this RenderTargetGLFBO.

Parameters:
stereoEnabled Stereo will be enabled if stereoEnabled is true. Otherwise it'll be disabled.

virtual NVSG_API bool isStereoEnabled ( ) const [virtual]

Check if stereo is enabled.

Returns:
true If the RenderTarget has stereo enabled, false otherwise.

Reimplemented from RenderTarget.

virtual NVSG_API bool setStereoTarget ( StereoTarget target ) [virtual]

Choose stereo surface to render on.

Parameters:
target LEFT, RIGHT or LEFT_AND_RIGHT for the corresponding surface.
Returns:
true If the surface had been selected and false otherwise.

Reimplemented from RenderTarget.

virtual NVSG_API RenderTargetGL::StereoTarget getStereoTarget ( ) const [virtual]

Retrieve which stereo surface is currently active.

Returns:
Currently active surface for stereo rendering.

Reimplemented from RenderTarget.

NVSG_API void clearAttachments ( StereoTarget stereoTarget = RenderTargetGL::LEFT_AND_RIGHT )

Remove all attachments for the given stereo target.

Parameters:
stereoTarget All attachments of the given stereoTarget will be removed.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const SmartAttachment & | attachment,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT
 | ) |

Sets the attachment for a given target.

Parameters:
target | The attachment will be attached to the given target.
attachment | Attachment to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL1DSharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | level = 0
 | ) |

Attach a 1d texture.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
level | Mipmap level to use for the attachment
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL2DSharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | level = 0
 | ) |

Attach a 2d texture.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
level | Mipmap level to use for the attachment
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL3DSharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | zoffset = 0,
 |  | int | level = 0
 | ) |

Attach a 3d texture.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
zoffset | zoffset of the 3d texture to use for the attachment.
level | Mipmap level to use for the attachment.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL1DArraySharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | layer = 0,
 |  | int | level = 0
 | ) |

Attach a 1d texture array.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
layer | Layer of the array to use for the attachment
level | Mipmap level to use for the attachment.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL2DArraySharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | layer = 0,
 |  | int | level = 0
 | ) |

Attach a 2d texture array.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
layer | Layer of the array to use for the attachment
level | Mipmap level to use for the attachment.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGLCubemapSharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | face = 0,
 |  | int | level = 0
 | ) |

Attach a cubemap.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
face | Face of the cubemap to use for the attachment
level | Mipmap level to use for the attachment.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGLRectangleSharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT
 | ) |

Attach a 2d rectangular texture.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL2DMultisampleSharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT
 | ) |

Attach a 2D multisample texture.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const TextureGL2DMultisampleArraySharedPtr & | texture,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT,
 |  | int | layer = 0
 | ) |

Attach a 2D multisample array texture.

Parameters:
target | The attachment will be attached to the given target.
texture | Texture to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
Returns:
true if the operation was successful, false otherwise.

NVSG_API bool setAttachment | ( | AttachmentTarget | target,
 |  | const SmartRenderbufferGL & | buffer,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT
 | ) |

Attach a renderbuffer.

Parameters:
target | The attachment will be attached to the given target.
buffer | Renderbuffer to attach.
stereoTarget | For stereo rendering it's possible to assign the attachment to the LEFT, RIGHT or LEFT_AND_RIGHT eye.
Returns:
true if the operation was successful, false otherwise.

NVSG_API SmartAttachment getAttachment | ( | AttachmentTarget | target,
 |  | StereoTarget | stereoTarget = RenderTargetGL::LEFT
 | ) |

Get the attachment for a given target.

Parameters:
target | Target of the FramebufferObject for the query.
stereoTarget | LEFT or RIGHT for the eye.
Returns:
Attachment for the given parameters.

NVSG_API void setDrawBuffers ( const std::vector< GLenum > & drawBuffers )

Set which targets of the framebuffer object should be active.

Parameters:
drawBuffers Vector of GLenums with attachment names

NVSG_API void setReadBuffer ( GLenum readBuffer )

Select the attachment which should be used for read operations on the framebuffer object.

Parameters:
readBuffer attachment name of the buffer to read.

NVSG_API GLuint getFramebufferId ( void ) const [inline]

Get the OpenGL framebuffer name of this object.

Returns:
OpenGL name of this object.

static NVSG_API bool isSupported ( ) [static]

Test if framebuffer objects are supported.

Returns:
true if framebuffer objects are supported, false otherwise.

static NVSG_API bool isMultiTargetSupported ( ) [static]

Test if multiple rendertargets are supported.

Returns:
true if multiple rendertargets are supported, false otherwise.

static NVSG_API bool isBlitSupported ( ) [static]

Test if blitting between two framebuffers is supported.

Returns:
true if blitting is supported, false otherwise.

Member Data Documentation

std::vector<GLenum> m_drawBuffers [protected]

List of drawbuffers to activate for rendering.

GLenum m_readBuffer [protected]

read buffer to activate for rendering

std::vector<GLint> m_bindingStack [protected]

Bind stack for FBO.

The documentation for this class was generated from the following file:
  • RenderTargetGLFBO.h
Generated on Fri Jul 13 13:29:39 2012 for SceniX


SceniX: Member List

RenderTargetGLFBO Member List

This is the complete list of members for RenderTargetGLFBO, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
AttachmentMap typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
AttachmentTarget typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
beginRendering() | RenderTargetGL | [virtual]
bindAttachments(StereoTarget stereoTarget) (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
blit(const SmartRenderTargetGLFBO &destination, const BlitMask &mask=COLOR_BUFFER_BIT, const BlitFilter &filter=NEAREST) (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
blit(const SmartRenderTargetGLFB &destination, const BlitMask &mask=COLOR_BUFFER_BIT, const BlitFilter &filter=NEAREST) (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
blit(const SmartRenderTargetGLFBO &destination, const BlitMask &mask, const BlitFilter &filter, const BlitRegion &destRegion, const BlitRegion &srcRegion) (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
blit(const SmartRenderTargetGLFB &destination, const BlitMask &mask, const BlitFilter &filter, const BlitRegion &destRegion, const BlitRegion &srcRegion) (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
blit(const int &framebufferId, const BlitMask &mask, const BlitFilter &filter, const BlitRegion &destRegion, const BlitRegion &srcRegion) (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
BlitFilter typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
BlitMask typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
clearAttachments(StereoTarget stereoTarget=RenderTargetGL::LEFT_AND_RIGHT) | RenderTargetGLFBO |
COLOR_ATTACHMENT0 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT1 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT10 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT11 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT12 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT13 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT14 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT15 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT2 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT3 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT4 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT5 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT6 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT7 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT8 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_ATTACHMENT9 enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
COLOR_BUFFER_BIT enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
copyToBuffer(GLenum mode, nvsg::Image::PixelFormat pixelFormat, nvsg::Image::PixelDataType pixelDataType, const nvsg::BufferSharedPtr &buffer) | RenderTargetGL | [virtual]
create(const SmartRenderContextGL &glContext) | RenderTargetGLFBO | [static]
createStereoTextureHost(const nvsg::TextureHostSharedPtr &extureImageHandleLeft, const nvsg::TextureHostSharedPtr &textureImageHandleRight) | RenderTargetGL | [protected]
DEPTH_ATTACHMENT enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
DEPTH_BUFFER_BIT enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
DEPTH_STENCIL_ATTACHMENT enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
endRendering() | RenderTargetGL | [virtual]
getAspectRatio() const | RenderTarget | [inline, virtual]
getAttachment(AttachmentTarget target, StereoTarget stereoTarget=RenderTargetGL::LEFT) | RenderTargetGLFBO |
getClassName() const | Reflection |
getClearMask() | RenderTargetGL |
getFramebufferId(void) const | RenderTargetGLFBO | [inline]
getHeight() | RenderTargetGL | [inline]
nvui::RenderTarget::getHeight() const | RenderTarget | [inline]
getPosition(int &x, int &y) const | RenderTargetGL | [virtual]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderContextGL() | RenderTargetGL | [inline]
getSize(unsigned int &width, unsigned int &height) const | RenderTargetGL | [virtual]
getStereoTarget() const | RenderTargetGLFBO | [virtual]
getStereoTargetId(StereoTarget stereoTarget) const (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
getTargetAsTextureHost(GLenum mode, nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE) | RenderTargetGL | [virtual]
getTextureHost(nvsg::Image::PixelFormat pixelFormat=nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType=nvsg::Image::IMG_UNSIGNED_BYTE) | RenderTargetGLFBO | [virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
getWidth() | RenderTargetGL | [inline]
nvui::RenderTarget::getWidth() const | RenderTarget | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isBlitSupported() | RenderTargetGLFBO | [static]
isCurrent() | RenderTargetGL | [protected, virtual]
isFramebufferComplete() (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
isMultiTargetSupported() | RenderTargetGLFBO | [static]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
isStereoEnabled() const | RenderTargetGLFBO | [virtual]
isSupported() | RenderTargetGLFBO | [static]
isValid() | RenderTargetGLFBO | [virtual]
LEFT enum value | RenderTarget |
LEFT_AND_RIGHT enum value | RenderTarget |
LINEAR enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
m_attachmentChanges (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
m_attachments (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
m_bindingStack | RenderTargetGLFBO | [protected]
m_clearColorA (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorB (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorG (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearColorR (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearDepth (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearMask (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_clearStencil (defined in RenderTargetGL) | RenderTargetGL | [protected]
m_currentlyBoundAttachments (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
m_drawBuffers | RenderTargetGLFBO | [protected]
m_framebuffer (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_propertyLists | Reflection | [protected]
m_readBuffer | RenderTargetGLFBO | [protected]
m_stereoEnabled (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
m_stereoTarget (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
makeCurrent() (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected, virtual]
makeEnumProperty() | Reflection | [inline, protected, static]
makeNoncurrent() (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected, virtual]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
NEAREST enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
RenderTargetGL(const SmartRenderContextGL &glContext) (defined in RenderTargetGL) | RenderTargetGL | [protected]
RenderTargetGLFBO(const SmartRenderContextGL &glContext) (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
resizeAttachments(StereoTarget stereoTarget) (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [protected]
RIGHT enum value | RenderTarget |
setAttachment(AttachmentTarget target, const SmartAttachment &attachment, StereoTarget stereoTarget=RenderTargetGL::LEFT) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL1DSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int level=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL2DSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int level=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL3DSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int zoffset=0, int level=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL1DArraySharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int layer=0, int level=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL2DArraySharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int layer=0, int level=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGLCubemapSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int face=0, int level=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGLRectangleSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL2DMultisampleSharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const TextureGL2DMultisampleArraySharedPtr &texture, StereoTarget stereoTarget=RenderTargetGL::LEFT, int layer=0) | RenderTargetGLFBO |
setAttachment(AttachmentTarget target, const SmartRenderbufferGL &buffer, StereoTarget stereoTarget=RenderTargetGL::LEFT) | RenderTargetGLFBO |
setClearColor(GLclampf r, GLclampf g, GLclampf b, GLclampf a) | RenderTargetGL |
setClearDepth(GLclampd depth) | RenderTargetGL |
setClearMask(GLenum clearMask) | RenderTargetGL |
setClearStencil(GLint stencil) | RenderTargetGL |
setDrawBuffers(const std::vector< GLenum > &drawBuffers) | RenderTargetGLFBO |
setPosition(int x, int y) | RenderTargetGL | [virtual]
setReadBuffer(GLenum readBuffer) | RenderTargetGLFBO |
setSize(unsigned int width, unsigned int height) | RenderTargetGL | [virtual]
setStereoEnabled(bool stereoEnabled) | RenderTargetGLFBO | [virtual]
setStereoTarget(StereoTarget target) | RenderTargetGLFBO | [virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
SmartAttachment typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
SmartAttachmentRenderbuffer typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
SmartAttachmentTexture typedef (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
SmartPayload typedef (defined in Subject) | Subject |
STENCIL_ATTACHMENT enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
STENCIL_BUFFER_BIT enum value (defined in RenderTargetGLFBO) | RenderTargetGLFBO |
StereoTarget enum name | RenderTarget |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~RenderTarget() (defined in RenderTarget) | RenderTarget | [inline, virtual]
~RenderTargetGL() (defined in RenderTargetGL) | RenderTargetGL | [virtual]
~RenderTargetGLFBO() (defined in RenderTargetGLFBO) | RenderTargetGLFBO | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:29:39 2012 for SceniX


SceniX: RenderTargetGLFBO::Attachment Class Reference

nvgl::RenderTargetGLFBO::Attachment

RenderTargetGLFBO::Attachment Class Reference

Base class for all attachments of nvgl::RenderTargetGLFBO. More...

#include <RenderTargetGLFBO.h>

Inheritance diagram for RenderTargetGLFBO::Attachment:

[legend]
Collaboration diagram for RenderTargetGLFBO::Attachment:

[legend]
List of all members.

Protected Member Functions

virtual NVSG_API void | resize (int width, int height)=0
Interface function to resize the attachment.
virtual NVSG_API void | bind (GLenum target)=0
Bind the attachment to the current framebuffer.
virtual NVSG_API void | unbind (GLenum target)=0
Remove the binding for the given target.

Detailed Description

Base class for all attachments of nvgl::RenderTargetGLFBO.

See also:
nvgl::RenderTargetGLFBO::AttachmentTexture and nvgl::RenderTargetGLFBO::AttachmentRenderbuffer *

Member Function Documentation

virtual NVSG_API void resize | ( | int | width,
 |  | int | height
 | ) | [protected, pure virtual]

Interface function to resize the attachment.

Parameters:
width | New width for the attachment.
height | New height for the attachment.

Implemented in RenderTargetGLFBO::AttachmentTexture, and RenderTargetGLFBO::AttachmentRenderbuffer.

virtual NVSG_API void bind ( GLenum target ) [protected, pure virtual]

Bind the attachment to the current framebuffer.

Parameters:
target Target to bind the attachment to.

Implemented in RenderTargetGLFBO::AttachmentTexture, and RenderTargetGLFBO::AttachmentRenderbuffer.

virtual NVSG_API void unbind ( GLenum target ) [protected, pure virtual]

Remove the binding for the given target.

Parameters:
param target The binding for the given target will be removed.

Implemented in RenderTargetGLFBO::AttachmentTexture, and RenderTargetGLFBO::AttachmentRenderbuffer.

The documentation for this class was generated from the following file:
  • RenderTargetGLFBO.h
Generated on Fri Jul 13 13:29:39 2012 for SceniX


SceniX: Member List

RenderTargetGLFBO::Attachment Member List

This is the complete list of members for RenderTargetGLFBO::Attachment, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
bind(GLenum target)=0 | RenderTargetGLFBO::Attachment | [protected, pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
resize(int width, int height)=0 | RenderTargetGLFBO::Attachment | [protected, pure virtual]
theAllocator typedef | IAllocator |
unbind(GLenum target)=0 | RenderTargetGLFBO::Attachment | [protected, pure virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:29:39 2012 for SceniX


SceniX: RenderTargetGLFBO::AttachmentRenderbuffer Class Reference

nvgl::RenderTargetGLFBO::AttachmentRenderbuffer

RenderTargetGLFBO::AttachmentRenderbuffer Class Reference

Class to attach an OpenGL renderbuffer to an nvgl::RenderTargetGLFBO. More...

#include <RenderTargetGLFBO.h>

Inheritance diagram for RenderTargetGLFBO::AttachmentRenderbuffer:

[legend]
Collaboration diagram for RenderTargetGLFBO::AttachmentRenderbuffer:

[legend]
List of all members.

Public Member Functions

NVSG_API | AttachmentRenderbuffer (SmartRenderbufferGL renderbufferGL)
Constructor for an Attachment with a renderbuffer.

Protected Member Functions

virtual NVSG_API void | resize (int width, int height)
Resize the renderbuffer.
virtual NVSG_API void | bind (GLenum target)
Bind the renderbuffer to the current framebuffer.
virtual NVSG_API void | unbind (GLenum target)
Remove the renderbuffer binding for given a target of the current framebuffer.
NVSG_API SmartRenderbufferGL | getRenderbufferGL () const
Get the RenderBufferGL object of this attachment.

Detailed Description

Class to attach an OpenGL renderbuffer to an nvgl::RenderTargetGLFBO.

See also:
nvgl::RenderTargetGLFBO::setAttachment

Constructor & Destructor Documentation

NVSG_API AttachmentRenderbuffer ( SmartRenderbufferGL renderbufferGL )

Constructor for an Attachment with a renderbuffer.

Parameters:
renderbufferGL RenderbufferGL to use for this attachment.

Member Function Documentation

virtual NVSG_API void resize | ( | int | width,
 |  | int | height
 | ) | [protected, virtual]

Resize the renderbuffer.

Parameters:
width | New width for the renderbuffer.
height | New height for the renderbuffer.

Implements RenderTargetGLFBO::Attachment.

virtual NVSG_API void bind ( GLenum target ) [protected, virtual]

Bind the renderbuffer to the current framebuffer.

Parameters:
param target. The renderbuffer will be bound to the given target of the current framebuffer. ´*

Implements RenderTargetGLFBO::Attachment.

virtual NVSG_API void unbind ( GLenum target ) [protected, virtual]

Remove the renderbuffer binding for given a target of the current framebuffer.

Parameters:
param target The binding for the given target will be removed. ´*

Implements RenderTargetGLFBO::Attachment.

NVSG_API SmartRenderbufferGL getRenderbufferGL ( ) const [protected]

Get the RenderBufferGL object of this attachment.

Returns:
SmartRenderbufferGL object used by this attachment.

The documentation for this class was generated from the following file:
  • RenderTargetGLFBO.h
Generated on Fri Jul 13 13:29:40 2012 for SceniX


SceniX: Member List

RenderTargetGLFBO::AttachmentRenderbuffer Member List

This is the complete list of members for RenderTargetGLFBO::AttachmentRenderbuffer, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
AttachmentRenderbuffer(SmartRenderbufferGL renderbufferGL) | RenderTargetGLFBO::AttachmentRenderbuffer |
bind(GLenum target) | RenderTargetGLFBO::AttachmentRenderbuffer | [protected, virtual]
getRenderbufferGL() const | RenderTargetGLFBO::AttachmentRenderbuffer | [protected]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
resize(int width, int height) | RenderTargetGLFBO::AttachmentRenderbuffer | [protected, virtual]
theAllocator typedef | IAllocator |
unbind(GLenum target) | RenderTargetGLFBO::AttachmentRenderbuffer | [protected, virtual]
~AttachmentRenderbuffer() (defined in RenderTargetGLFBO::AttachmentRenderbuffer) | RenderTargetGLFBO::AttachmentRenderbuffer | [virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:29:40 2012 for SceniX


SceniX: RenderTargetGLFBO::AttachmentTexture Class Reference

nvgl::RenderTargetGLFBO::AttachmentTexture

RenderTargetGLFBO::AttachmentTexture Class Reference

Class to attach an TextureGL object to a RenderTargetFBO object. More...

#include <RenderTargetGLFBO.h>

Inheritance diagram for RenderTargetGLFBO::AttachmentTexture:

[legend]
Collaboration diagram for RenderTargetGLFBO::AttachmentTexture:

[legend]
List of all members.

Public Member Functions

NVSG_API | AttachmentTexture (const TextureGL1DSharedPtr &texture, int level=0)
Constructor for 1D textures *.
NVSG_API | AttachmentTexture (const TextureGL2DSharedPtr &texture, int level=0)
Constructor for 2D textures *.
NVSG_API | AttachmentTexture (const TextureGL3DSharedPtr &texture, int zoffset, int level=0)
Constructor for 3D textures *.
NVSG_API | AttachmentTexture (const TextureGL1DArraySharedPtr &texture, int layer, int level=0)
Constructor for 1D array textures *.
NVSG_API | AttachmentTexture (const TextureGL2DArraySharedPtr &texture, int layer, int level=0)
Constructor for 2D array textures *.
NVSG_API | AttachmentTexture (const TextureGLCubemapSharedPtr &texture, int face, int level=0)
Constructor for cubemap textures *.
NVSG_API | AttachmentTexture (const TextureGLRectangleSharedPtr &texture)
Constructor for rectangle textures *.
NVSG_API | AttachmentTexture (const TextureGL2DMultisampleSharedPtr &texture)
Constructor for 2D multisample textures *.
NVSG_API | AttachmentTexture (const TextureGL2DMultisampleArraySharedPtr &texture, int level=0)
Constructor for 2D multisample array textures *.
NVSG_API TextureGLSharedPtr | getTextureGL () const
Get the attached textureGL object.

Protected Member Functions

virtual NVSG_API void | resize (int width, int height)
Resize the texture to the given size.
virtual NVSG_API void | bind (GLenum target)
Bind the texture to the given target of the framebuffer.
virtual NVSG_API void | unbind (GLenum target)
Remove the texture binding for given a target of the current framebuffer.
NVSG_API void | init (const TextureGLSharedPtr &texture, GLenum target, GLenum level, GLenum zoffset)
NVSG_API void | resizeTexture1D (int width, int height)
Resize function for 1D textures. *.
NVSG_API void | resizeTexture2D (int width, int height)
Resize function for 2D textures. *.
NVSG_API void | resizeTexture3D (int width, int height)
Resize function for 3D textures. *.
NVSG_API void | resizeTexture1DArray (int width, int height)
Resize function for 1D Array textures. *.
NVSG_API void | resizeTexture2DArray (int width, int height)
Resize function for 2D array textures. *.
NVSG_API void | resizeTextureCubemap (int width, int height)
Resize function for cubemap textures. *.
NVSG_API void | resizeTexture2DMultisample (int width, int height)
Resize function for 2D multisample textures. *.
NVSG_API void | resizeTexture2DMultisampleArray (int width, int height)
Resize function for 2D multisample array textures. *.
NVSG_API void | bind1D (GLenum attachment, GLuint textureId)
Bind a 1D texture to an attachment.
NVSG_API void | bind2D (GLenum attachment, GLuint textureId)
Bind a 2D texture to an attachment.
NVSG_API void | bind3D (GLenum attachment, GLuint textureId)
Bind a 3D texture to an attachment.
NVSG_API void | bindLayer (GLenum attachment, GLuint textureId)
Bind a layered texture to an attachment.

Detailed Description

Class to attach an TextureGL object to a RenderTargetFBO object.

See also:
nvgl::RenderTargetGLFBO::setAttachment

Constructor & Destructor Documentation

NVSG_API AttachmentTexture | ( | const TextureGL1DSharedPtr & | texture,
 |  | int | level = 0
 | ) |

Constructor for 1D textures *.

NVSG_API AttachmentTexture | ( | const TextureGL2DSharedPtr & | texture,
 |  | int | level = 0
 | ) |

Constructor for 2D textures *.

NVSG_API AttachmentTexture | ( | const TextureGL3DSharedPtr & | texture,
 |  | int | zoffset,
 |  | int | level = 0
 | ) |

Constructor for 3D textures *.

NVSG_API AttachmentTexture | ( | const TextureGL1DArraySharedPtr & | texture,
 |  | int | layer,
 |  | int | level = 0
 | ) |

Constructor for 1D array textures *.

NVSG_API AttachmentTexture | ( | const TextureGL2DArraySharedPtr & | texture,
 |  | int | layer,
 |  | int | level = 0
 | ) |

Constructor for 2D array textures *.

NVSG_API AttachmentTexture | ( | const TextureGLCubemapSharedPtr & | texture,
 |  | int | face,
 |  | int | level = 0
 | ) |

Constructor for cubemap textures *.

NVSG_API AttachmentTexture ( const TextureGLRectangleSharedPtr & texture )

Constructor for rectangle textures *.

NVSG_API AttachmentTexture ( const TextureGL2DMultisampleSharedPtr & texture )

Constructor for 2D multisample textures *.

NVSG_API AttachmentTexture | ( | const TextureGL2DMultisampleArraySharedPtr & | texture,
 |  | int | level = 0
 | ) |

Constructor for 2D multisample array textures *.

Member Function Documentation

NVSG_API TextureGLSharedPtr getTextureGL ( ) const

Get the attached textureGL object.

Returns:
The attached textureGL object.

virtual NVSG_API void resize | ( | int | width,
 |  | int | height
 | ) | [protected, virtual]

Resize the texture to the given size.

Parameters:
width | New width for the texture.
height | New height for the texture.

Implements RenderTargetGLFBO::Attachment.

virtual NVSG_API void bind ( GLenum target ) [protected, virtual]

Bind the texture to the given target of the framebuffer.

Parameters:
param target. The texture will be bound to the given target of the current framebuffer.

Implements RenderTargetGLFBO::Attachment.

virtual NVSG_API void unbind ( GLenum target ) [protected, virtual]

Remove the texture binding for given a target of the current framebuffer.

Parameters:
param target The binding for the given target will be removed. ´*

Implements RenderTargetGLFBO::Attachment.

NVSG_API void resizeTexture1D | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 1D textures. *.

NVSG_API void resizeTexture2D | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 2D textures. *.

NVSG_API void resizeTexture3D | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 3D textures. *.

NVSG_API void resizeTexture1DArray | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 1D Array textures. *.

NVSG_API void resizeTexture2DArray | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 2D array textures. *.

NVSG_API void resizeTextureCubemap | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for cubemap textures. *.

NVSG_API void resizeTexture2DMultisample | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 2D multisample textures. *.

NVSG_API void resizeTexture2DMultisampleArray | ( | int | width,
 |  | int | height
 | ) | [protected]

Resize function for 2D multisample array textures. *.

NVSG_API void bind1D | ( | GLenum | attachment,
 |  | GLuint | textureId
 | ) | [protected]

Bind a 1D texture to an attachment.

Parameters:
attachment | Attachment to bind the texture to.
textureId | OpenGL texture name which to bind.

NVSG_API void bind2D | ( | GLenum | attachment,
 |  | GLuint | textureId
 | ) | [protected]

Bind a 2D texture to an attachment.

Parameters:
attachment | Attachment to bind the texture to.
textureId | OpenGL texture name which to bind.

NVSG_API void bind3D | ( | GLenum | attachment,
 |  | GLuint | textureId
 | ) | [protected]

Bind a 3D texture to an attachment.

Parameters:
attachment | Attachment to bind the texture to.
textureId | OpenGL texture name which to bind.

NVSG_API void bindLayer | ( | GLenum | attachment,
 |  | GLuint | textureId
 | ) | [protected]

Bind a layered texture to an attachment.

Parameters:
attachment | Attachment to bind the texture to.
textureId | OpenGL texture name to bind.

The documentation for this class was generated from the following file:
  • RenderTargetGLFBO.h
Generated on Fri Jul 13 13:29:40 2012 for SceniX


SceniX: Member List

RenderTargetGLFBO::AttachmentTexture Member List

This is the complete list of members for RenderTargetGLFBO::AttachmentTexture, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
AttachmentTexture(const TextureGL1DSharedPtr &texture, int level=0) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGL2DSharedPtr &texture, int level=0) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGL3DSharedPtr &texture, int zoffset, int level=0) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGL1DArraySharedPtr &texture, int layer, int level=0) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGL2DArraySharedPtr &texture, int layer, int level=0) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGLCubemapSharedPtr &texture, int face, int level=0) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGLRectangleSharedPtr &texture) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGL2DMultisampleSharedPtr &texture) | RenderTargetGLFBO::AttachmentTexture |
AttachmentTexture(const TextureGL2DMultisampleArraySharedPtr &texture, int level=0) | RenderTargetGLFBO::AttachmentTexture |
bind(GLenum target) | RenderTargetGLFBO::AttachmentTexture | [protected, virtual]
bind1D(GLenum attachment, GLuint textureId) | RenderTargetGLFBO::AttachmentTexture | [protected]
bind2D(GLenum attachment, GLuint textureId) | RenderTargetGLFBO::AttachmentTexture | [protected]
bind3D(GLenum attachment, GLuint textureId) | RenderTargetGLFBO::AttachmentTexture | [protected]
bindLayer(GLenum attachment, GLuint textureId) | RenderTargetGLFBO::AttachmentTexture | [protected]
getTextureGL() const | RenderTargetGLFBO::AttachmentTexture |
IAllocator() | IAllocator | [inline]
init(const TextureGLSharedPtr &texture, GLenum target, GLenum level, GLenum zoffset) (defined in RenderTargetGLFBO::AttachmentTexture) | RenderTargetGLFBO::AttachmentTexture | [protected]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
resize(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected, virtual]
resizeTexture1D(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTexture1DArray(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTexture2D(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTexture2DArray(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTexture2DMultisample(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTexture2DMultisampleArray(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTexture3D(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
resizeTextureCubemap(int width, int height) | RenderTargetGLFBO::AttachmentTexture | [protected]
theAllocator typedef | IAllocator |
unbind(GLenum target) | RenderTargetGLFBO::AttachmentTexture | [protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:29:40 2012 for SceniX


SceniX: RTBufferAttribute Class Reference

nvsg::RTBufferAttribute

RTBufferAttribute Class Reference

StateAttribute that defines an RTBuffer used for Ray Tracing. More...

#include <RTBufferAttribute.h>

Inheritance diagram for RTBufferAttribute:

[legend]
Collaboration diagram for RTBufferAttribute:

[legend]
List of all members.

Public Types

enum | { MAP_READ = 0x01, MAP_WRITE = 0x02 }
Buffer Access modes. More...

Public Member Functions

virtual NVSG_API void | setFormat (RTformat format, unsigned int elementSize=0)
Set the format of a buffer.
NVSG_API RTformat | getFormat () const
Get the format of a buffer.
NVSG_API unsigned int | getElementSize () const
Gets the buffers element size.
NVSG_API size_t | getBufferSize () const
Gets the buffers size.
virtual NVSG_API void | setSize (unsigned int width, unsigned int height=0, unsigned int depth=0)
Sets the buffers size.
NVSG_API unsigned int | getDimensionality () const
Gets the buffers dimensionality.
NVSG_API unsigned int | getWidth () const
Gets the buffer's width.
NVSG_API unsigned int | getHeight () const
Gets the buffer's height.
NVSG_API unsigned int | getDepth () const
Gets the buffer's depth.
NVSG_API const void * | map () const
Maps the buffer to host memory for reading.
NVSG_API void * | map (unsigned int mode=MAP_READ|MAP_WRITE)
Maps the buffer to host memory.
NVSG_API void | unmap () const
Unmaps the buffer from host memory.
NVSG_API void | clear ()
Clears the contents of the memory buffer.
NVSG_API void | setData (const void *data)
Sets the buffers data.
NVSG_API void | setSubData (const void *data, unsigned int xOffset, unsigned int width, unsigned int yOffset=0, unsigned int height=0, unsigned int zOffset=0, unsigned int depth=0)
Fills a portion of the buffers data.
NVSG_API void | setVariableName (const std::string &name)
Sets the CUDA/RT variable name to bind the buffer to.
NVSG_API const std::string & | getVariableName () const
Gets the CUDA/RT variable name this buffer will be bound to.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another RTBufferAttribute.
NVSG_API RTBufferAttribute & | operator= (const RTBufferAttribute &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, RTBufferAttribute)

Static Public Member Functions

static NVSG_API RTBufferAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | RTBufferAttribute ()
Default-constructs a RTBufferAttribute.
NVSG_API | RTBufferAttribute (const RTBufferAttribute &rhs)
Constructs a RTBufferAttribute as a copy from another RTBufferAttribute.
virtual NVSG_API | ~RTBufferAttribute ()
Destructs a RTBufferAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute that defines an RTBuffer used for Ray Tracing.

Namespace: nvsg
Remarks:
an RTBuffer used to publish generic data to an RTFx. This StateAttribute maintains a host-memory buffer that is published to the RTFx when it is updated by the application. Only the application may read or write data to the buffer, but the CUDA/RT code may only read the buffer. Buffers can be shared between multiple RTFx instances in the scene.
See also:
StateAttribute,

Member Enumeration Documentation

anonymous enum

Buffer Access modes.

Enumeration values:
MAP_WRITE Map buffer for reading.

Constructor & Destructor Documentation

NVSG_API RTBufferAttribute ( ) [protected]

Default-constructs a RTBufferAttribute.

NVSG_API RTBufferAttribute ( const RTBufferAttribute & rhs ) [protected]

Constructs a RTBufferAttribute as a copy from another RTBufferAttribute.

Parameters:
rhs Source RTBufferAttribute.

virtual NVSG_API ~RTBufferAttribute ( ) [protected, virtual]

Destructs a RTBufferAttribute.

Member Function Documentation

virtual NVSG_API void setFormat | ( | RTformat | format,
 |  | unsigned int | elementSize = 0
 | ) | [virtual]

Set the format of a buffer.

Parameters:
format | The format of the given buffer. Must be one of the formats in optix.h, currently: RT_FORMAT_FLOAT[234] RT_FORMAT_BYTE[234] RT_FORMAT_UNSIGNED_BYTE[234] RT_FORMAT_SHORT[234] RT_FORMAT_UNSIGNED_SHORT[234] RT_FORMAT_INT[234] RT_FORMAT_UNSIGNED_INT[234] or RT_FORMAT_USER.
elementSize | Size of data structure if format == RT_FORMAT_USER.
Remarks:
Sets the format for the buffer. If format == RT_FORMAT_USER then elementSize must also be specified. Typically RT_FORMAT_USER is used to publish a data structure. In this case format would be RT_FORMAT_USER and elementSize would be sizeof( DataStructure ). This method will allocate host memory for the buffer if setSize has been called.
See also:
RTBufferAttribute::getFormat, RTBufferAttribute::getElementSize

NVSG_API RTformat getFormat ( ) const

Get the format of a buffer.

Returns:
RTformat representing the buffer's format. See RTBufferAttribute::setFormat for a list of possible values.
See also:
RTBufferAttribute::getFormat, RTBufferAttribute::getElementSize

NVSG_API unsigned int getElementSize ( ) const

Gets the buffers element size.

Returns:
The size of each element in the buffer, or zero if the buffer has not yet been configured.
Remarks:
Returns the number of bytes per element based on the buffer's format. The buffer must be previously configured by a call to RTBufferAttribute::setFormat.
See also:
RTBufferAttribute::getFormat, RTBufferAttribute::getElementSize

NVSG_API size_t getBufferSize ( ) const

Gets the buffers size.

Returns:
The total size, in bytes, of the buffer.
Remarks:
This method uses the following formula to calculate the buffer size: ( width * max<unsigned int>( 1, height ) * max<unsigned int>( 1, depth ) * elementSize )
See also:
RTBufferAttribute::getElementSize

virtual NVSG_API void setSize | ( | unsigned int | width,
 |  | unsigned int | height = 0,
 |  | unsigned int | depth = 0
 | ) | [virtual]

Sets the buffers size.

Parameters:
width | For a one- two- or three-dimensional buffer, this is the first dimension's size.
height | For a two- or three-dimensional buffer, this is the second dimension's size. Defaults to 0.
depth | For a three-dimensional buffer, this is the third dimension's size. Defaults to 0.
Remarks:
Width, height, and depth supply the number of elements in the buffer, not the number of "bytes" in the buffer. Therefore, if format is RT_FORMAT_FLOAT3 and there is 1 float3 to be published, width should be equal to '1'. This method will allocate host memory for the buffer if setFormat has been called.
See also:
RTBufferAttribute::getBufferSize

NVSG_API unsigned int getDimensionality ( ) const

Gets the buffers dimensionality.

Returns:
The number of dimensions this buffer contains. (1 = 1D, 2 = 2D, 3 = 3D).
Remarks:
Dimensionality of the buffer is set by a call to setSize.
See also:
RTBufferAttribute::setSize

NVSG_API unsigned int getWidth ( ) const

Gets the buffer's width.

Returns:
The width of the buffer.
Remarks:
Dimensionality of the buffer is set by a call to setSize.
See also:
RTBufferAttribute::setSize

NVSG_API unsigned int getHeight ( ) const

Gets the buffer's height.

Returns:
The height of the buffer.
Remarks:
Dimensionality of the buffer is set by a call to setSize.
See also:
RTBufferAttribute::setSize

NVSG_API unsigned int getDepth ( ) const

Gets the buffer's depth.

Returns:
The depth of the buffer.
Remarks:
Dimensionality of the buffer is set by a call to setSize.
See also:
RTBufferAttribute::setSize

NVSG_API const void* map ( ) const

Maps the buffer to host memory for reading.

Returns:
A pointer to the host memory where the buffer was mapped.
Remarks:
"Maps" the memory READ_ONLY so that it can be read by the application. Note that the implementation of this method simply returns a pointer to the internal buffer. Calls to map() should be paired with calls to unmap().
Note:
Do not write to the mapped memory, or internal incarnation counters will become invalid.
See also:
RTBufferAttribute::unmap

NVSG_API void* map ( unsigned int mode = MAP_READ|MAP_WRITE )

Maps the buffer to host memory.

Parameters:
mode A combination of MAP_READ and MAP_WRITE to declare how the buffer will be accessed.
Returns:
A pointer to the host memory where the buffer was mapped.
Remarks:
"Maps" the memory so that it can be read or written by the application. Note that the implementation of this method simply returns a pointer to the internal buffer. Calls to map() should be paired with calls to unmap().
See also:
RTBufferAttribute::unmap

NVSG_API void unmap ( ) const

Unmaps the buffer from host memory.

Remarks:
"Unmaps" the memory so that it can no longer be read or written by the application. Calls to map() should be paired with calls to unmap().
See also:
RTBufferAttribute::map

NVSG_API void clear ( )

Clears the contents of the memory buffer.

Remarks:
Zeroes the contents of the buffer.
See also:
RTBufferAttribute::unmap

NVSG_API void setData ( const void * data )

Sets the buffers data.

Parameters:
data A pointer to the data to copy into the buffer.
Remarks:
Copies the data from the given pointer into the host memory buffer. The size of the data pointed to must be at least as large as the buffer.
See also:
RTBufferAttribute::map, RTBufferAttribute::unmap

NVSG_API void setSubData | ( | const void * | data,
 |  | unsigned int | xOffset,
 |  | unsigned int | width,
 |  | unsigned int | yOffset = 0,
 |  | unsigned int | height = 0,
 |  | unsigned int | zOffset = 0,
 |  | unsigned int | depth = 0
 | ) |

Fills a portion of the buffers data.

Parameters:
data | A pointer to the data to copy into the buffer.
xOffset | The 1D element offset to begin writing data into the buffer.
yOffset | The 2D element offset to begin writing data into the buffer.
zOffset | The 3D element offset to begin writing data into the buffer.
width | The width of the data buffer.
height | For a two-dimensional data buffer, this is the second dimension's size. Defaults to 0.
depth | For a three-dimensional data buffer, this is the third dimension's size. Defaults to 0.
Remarks:
Copies the data from the given pointer into a portion of the host memory buffer. The host memory buffer must be greater than or equal to in size and dimension as the data to be copied.
See also:
RTBufferAttribute::map, RTBufferAttribute::setData

void setVariableName ( const std::string & name ) [inline]

Sets the CUDA/RT variable name to bind the buffer to.

Parameters:
name The name of the buffer in the CUDA/RT code to receive this data.
Remarks:
Binds the data from this buffer to an RTBuffer in the CUDA code of the given name. The RTTraverser will determine if there are any RTFx's in the current nvsg::StateSet, and if so, will bind this buffer to them in all domains to make the data available. Note that this method will create a buffer of the given name and type on the RTFx if no variable name matches exactly. Therefore, there are no failure conditions at runtime related to buffers.
See also:
RTBufferAttribute::getVariableName

const std::string & getVariableName ( ) const [inline]

Gets the CUDA/RT variable name this buffer will be bound to.

Returns:
The name the buffer will be bound to.
See also:
RTBufferAttribute::setVariableName

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another RTBufferAttribute.

Parameters:
p | Pointer to the constant RTBufferAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the RTBufferAttribute p is equivalent to this, otherwise false.
See also:
StateAttribute, RTBuffer

Reimplemented from Object.

NVSG_API RTBufferAttribute& operator= ( const RTBufferAttribute & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant RTBufferAttribute to copy from
Returns:
A reference to the assigned RTBufferAttribute
Remarks:
The assignment operator calls the assignment operator of StateAttribute and then copies the RTBufferAttribute specific data.
See also:
PrimitiveAttribute

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • RTBufferAttribute.h
Generated on Fri Jul 13 13:30:20 2012 for SceniX


SceniX: Member List

RTBufferAttribute Member List

This is the complete list of members for RTBufferAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clear() | RTBufferAttribute |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in RTBufferAttribute) | RTBufferAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | RTBufferAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getBufferSize() const | RTBufferAttribute |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDepth() const | RTBufferAttribute |
getDimensionality() const | RTBufferAttribute |
getElementSize() const | RTBufferAttribute |
getFormat() const | RTBufferAttribute |
getHashKey() const | Object |
getHeight() const | RTBufferAttribute |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVariableName() const | RTBufferAttribute | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getWidth() const | RTBufferAttribute |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | RTBufferAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
map() const | RTBufferAttribute |
map(unsigned int mode=MAP_READ|MAP_WRITE) | RTBufferAttribute |
MAP_READ enum value (defined in RTBufferAttribute) | RTBufferAttribute |
MAP_WRITE enum value | RTBufferAttribute |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const RTBufferAttribute &rhs) | RTBufferAttribute |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, RTBufferAttribute) (defined in RTBufferAttribute) | RTBufferAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
RTBufferAttribute() | RTBufferAttribute | [protected]
RTBufferAttribute(const RTBufferAttribute &rhs) | RTBufferAttribute | [protected]
setAnnotation(const std::string &anno) | Object |
setData(const void *data) | RTBufferAttribute |
setFormat(RTformat format, unsigned int elementSize=0) | RTBufferAttribute | [virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSize(unsigned int width, unsigned int height=0, unsigned int depth=0) | RTBufferAttribute | [virtual]
setSubData(const void *data, unsigned int xOffset, unsigned int width, unsigned int yOffset=0, unsigned int height=0, unsigned int zOffset=0, unsigned int depth=0) | RTBufferAttribute |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVariableName(const std::string &name) | RTBufferAttribute | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
unmap() const | RTBufferAttribute |
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~RTBufferAttribute() | RTBufferAttribute | [protected, virtual]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:20 2012 for SceniX


SceniX: RTFx Class Reference

nvsg::RTFx

RTFx Class Reference

A StateAttribute to represent a per-object ray tracing effect. More...

#include <RTFx.h>

Inheritance diagram for RTFx:

[legend]
Collaboration diagram for RTFx:

[legend]
List of all members.

Public Member Functions

NVSG_API RTFx & | operator= (const RTFx &rhs)
virtual NVSG_API bool | isEquivalent (const Object *object, bool ignoreNames, bool deepCompare) const
Tests whether this object is equivalent to another object.
virtual NVSG_API bool | isDataShared () const
Returns whether this object shares its embedded data with other objects.
virtual NVSG_API DataID | getDataID () const
Returns the unique data identifier for this object.
virtual NVSG_API void | resetToDefaults ()
virtual NVSG_API void | setProgram (const RTFxProgramSharedPtr &program)
virtual NVSG_API const RTFxProgramSharedPtr & | getProgram () const
Interface to get the RTFxProgram of this object.
virtual NVSG_API void | onParameterValueChanged ()
REFLECTION_INFO_API (NVSG_API, RTFx)

Static Public Member Functions

static NVSG_API RTFxSharedPtr | create ()

Protected Member Functions

NVSG_API | RTFx (const RTFx &rhs)
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

A StateAttribute to represent a per-object ray tracing effect.

Namespace: nvsg

Member Function Documentation

virtual NVSG_API bool isEquivalent | ( | const Object * | object,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Tests whether this object is equivalent to another object.

Parameters:
object | Pointer to the object to test for equivalence with this object.
ignoreNames | Object names will be ignored while testing if this is true.
deepCompare | The function performs a deep-compare if this is true. Otherwise the function only performs a shallow compare.
Returns:
The function returns true if the object pointed to by object is detected to be equivalent to this object. Otherwise the function returns false.
Remarks:
The test will be performed considering the optional control parameters ignoreNames and deepCompare. If you omit these two, the function ignores object names and performs a shallow compare only.

Reimplemented from Object.

virtual NVSG_API bool isDataShared ( ) const [virtual]

Returns whether this object shares its embedded data with other objects.

Returns:
The function should return true if the object shares its embedded data with other objects. Otherwise, the function should return false.

The default implementation always returns false.
Remarks:
For Object-derived classes that are capable of sharing their embedded data with other objects, it is recommended to override this function. For all other objects, the default implementation will be sufficient.

An object, capable of data sharing, shares its data with another object if it was either instantiated as a copy of the other object, or if its content was re-assigned to by the content of the other object using the appropriate assignment operator.

Only a few classes of the SceniX core implement data sharing. These mainly are classes where data sharing probably could save a lot of memory because of the large amount of data these classes might contain. VertexAttributeSet, IndependentPrimitiveSet, and StrippedPrimitiveSet are examples of coreobjects that implement data sharing.
See also:
Object::getDataID

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Returns the unique data identifier for this object.

Returns:
The function returns a 64-bit value which uniquely identifies the embedded data.
Remarks:
This function in particular is useful to identify different objects that share their embedded data. Two objects that share the same data always have the same DataID.

Identifying objects that share their data with other objects is useful for saving objects to a file and later reloading it without losing the data sharing.
See also:
Object::isDataShared

Reimplemented from Object.

virtual NVSG_API const RTFxProgramSharedPtr& getProgram ( ) const [virtual]

Interface to get the RTFxProgram of this object.

Returns:
A pointer to the RTFxProgram of this object.
Remarks:
All classes deriving from RTFxBase have to provide this function. As ownership handling of an RTFxProgram needs an Object, the RTFxProgram can't be a part of the RTFxBase. That is, all concrete classes deriving from RTFxBase should also derive from Object (or a class derived from Object).

Implements RTFxBase.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from RTFxBase.

The documentation for this class was generated from the following file:
  • RTFx.h
Generated on Fri Jul 13 13:30:20 2012 for SceniX


SceniX: Member List

RTFx Member List

This is the complete list of members for RTFx, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
addParameter(const std::string &name, unsigned char type, unsigned int count, unsigned int size=0, const std::string &semantic=std::string(), const std::vector< RTFxParameter::Annotation > &annotations=std::vector< RTFxParameter::Annotation >()) | RTFxBase |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginParameters() const | RTFxBase |
beginParameters() | RTFxBase |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearParameters() | RTFxBase |
cloneProgramParameter(const std::string &name) | RTFxBase |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in RTFx) | RTFx | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endParameters() const | RTFxBase |
endParameters() | RTFxBase |
feedHashGenerator(nvutil::HashGenerator &hg) const | RTFx | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findParameter(const std::string &name) const (defined in RTFxBase) | RTFxBase |
findParameter(const std::string &name) (defined in RTFxBase) | RTFxBase |
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | RTFx | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getNumberOfParameters() const (defined in RTFxBase) | RTFxBase |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getProgram() const | RTFx | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
initFromProgram(const RTFxProgramSharedPtr &prgHdl) (defined in RTFxBase) | RTFxBase | [protected]
isDataShared() const | RTFx | [virtual]
isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const | RTFx | [virtual]
isSameAs(const RTFxBase *object, bool ignoreNames, bool deepCompare) const | RTFxBase | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
onParameterValueChanged() (defined in RTFx) | RTFx | [virtual]
operator=(const RTFx &rhs) (defined in RTFx) | RTFx |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
nvsg::RTFxBase::operator=(const RTFxBase &rhs) | RTFxBase |
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ParameterConstIterator typedef | RTFxBase |
ParameterContainer typedef | RTFxBase |
ParameterIterator typedef | RTFxBase |
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, RTFx) (defined in RTFx) | RTFx |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
removeParameter(const std::string &name) | RTFxBase |
removeParameter(const ParameterIterator &pi) | RTFxBase |
resetToDefaults() (defined in RTFx) | RTFx | [virtual]
RTFx() (defined in RTFx) | RTFx | [protected]
RTFx(const RTFx &rhs) (defined in RTFx) | RTFx | [protected]
RTFxBase() | RTFxBase |
RTFxBase(const RTFxBase &rhs) (defined in RTFxBase) | RTFxBase |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setParameterValue(const ParameterIterator &pi, const char *c) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned char *uc) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const short *s) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned short *us) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const int *i) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned int *ui) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const float *f) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const double *d) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const void *v) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const RTBufferAttributeSharedPtr &buffer) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const TextureAttributeItemSharedPtr &tex) | RTFxBase |
setProgram(const RTFxProgramSharedPtr &program) (defined in RTFx) | RTFx | [virtual]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~RTFx() (defined in RTFx) | RTFx | [protected, virtual]
~RTFxBase() | RTFxBase | [virtual]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:20 2012 for SceniX


SceniX: RTFxBase Class Reference

nvsg::RTFxBase

RTFxBase Class Reference

A StateAttribute to apply render effects to the Ray Tracing System. More...

#include <RTFx.h>

Inheritance diagram for RTFxBase:

[legend]
List of all members.

Public Types

typedef std::vector< RTFxParameter > | ParameterContainer
The container type of the RTFxParameters.
typedef nvutil::SceniXIterator<
RTFxBase, ParameterContainer::iterator > 		ParameterIterator
The iterator over the ParameterContainer.
typedef nvutil::SceniXIterator<
RTFxBase, ParameterContainer::const_iterator > 		ParameterConstIterator
The const iterator over the ParameterContainer.

Public Member Functions

NVSG_API | RTFxBase ()
Default-constructs an RTFx object.
NVSG_API | RTFxBase (const RTFxBase &rhs)
virtual NVSG_API | ~RTFxBase ()
Destructs a RTFx object.
NVSG_API RTFxBase & | operator= (const RTFxBase &rhs)
Assigns contents from a source RTFx object.
virtual NVSG_API bool | isSameAs (const RTFxBase *object, bool ignoreNames, bool deepCompare) const
Overrides Object::isEquivalent.
virtual NVSG_API const nvsg::RTFxProgramSharedPtr & | getProgram () const =0
Interface to get the RTFxProgram of this object.
NVSG_API unsigned int | getNumberOfParameters () const
NVSG_API ParameterConstIterator | beginParameters () const
Get a const iterator to the first parameter in this object.
NVSG_API ParameterIterator | beginParameters ()
Get an iterator to the first parameter in this object.
NVSG_API ParameterConstIterator | endParameters () const
Get a const iterator that points just beyond the end of the parameters in this object.
NVSG_API ParameterIterator | endParameters ()
Get an iterator that points just beyond the end of the parameters in this object.
NVSG_API ParameterIterator | addParameter (const std::string &name, unsigned char type, unsigned int count, unsigned int size=0, const std::string &semantic=std::string(), const std::vector< RTFxParameter::Annotation > &annotations=std::vector< RTFxParameter::Annotation >())
Add a parameter to this object.
NVSG_API bool | removeParameter (const std::string &name)
Remove a parameter from this object.
NVSG_API ParameterIterator | removeParameter (const ParameterIterator &pi)
Remove a parameter from this object.
NVSG_API void | clearParameters ()
Remove all parameters from this object.
NVSG_API ParameterConstIterator | findParameter (const std::string &name) const
NVSG_API ParameterIterator | findParameter (const std::string &name)
NVSG_API ParameterIterator | cloneProgramParameter (const std::string &name)
Add a clone of an RTFxProgram parameter to the RTFxBase.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const char *c)
Sets a parameter's value using char (signed 8-bit integers).
NVSG_API void | setParameterValue (const ParameterIterator &pi, const unsigned char *uc)
Sets a parameter's value using unsigned chars.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const short *s)
Sets a parameter's value using signed shorts.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const unsigned short *us)
Sets a parameter's value using unsigned shorts.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const int *i)
Sets a parameter's value using signed integers.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const unsigned int *ui)
Sets a parameter's value using unsigned integers.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const float *f)
Sets a parameter's value using floats.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const double *d)
Sets a parameter's value using doubles.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const void *v)
Sets a parameter's value using untyped pointer.
NVSG_API void | setParameterValue (const ParameterIterator &pi, const RTBufferAttributeSharedPtr &buffer)
set buffer value
NVSG_API void | setParameterValue (const ParameterIterator &pi, const TextureAttributeItemSharedPtr &tex)
set texture value

Protected Member Functions

virtual NVSG_API void | onParameterValueChanged ()=0
virtual NVSG_API void | resetToDefaults ()
virtual NVSG_API void | setProgram (const RTFxProgramSharedPtr &program)=0
NVSG_API void | initFromProgram (const RTFxProgramSharedPtr &prgHdl)
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

A StateAttribute to apply render effects to the Ray Tracing System.

Namespace: nvsg

Member Typedef Documentation

typedef std::vector<RTFxParameter> ParameterContainer

The container type of the RTFxParameters.

typedef nvutil::SceniXIterator<RTFxBase,ParameterContainer::iterator> ParameterIterator

The iterator over the ParameterContainer.

typedef nvutil::SceniXIterator<RTFxBase,ParameterContainer::const_iterator> ParameterConstIterator

The const iterator over the ParameterContainer.

Constructor & Destructor Documentation

NVSG_API RTFxBase ( )

Default-constructs an RTFx object.

virtual NVSG_API ~RTFxBase ( ) [virtual]

Destructs a RTFx object.

Member Function Documentation

NVSG_API RTFxBase& operator= ( const RTFxBase & rhs )

Assigns contents from a source RTFx object.

Parameters:
rhs Source RTFx object
Returns:
The assignment operator returns a reference to this RTFx object.
Remarks:
The assignment operator releases old contents before re-assigning the new contents.

virtual NVSG_API bool isSameAs | ( | const RTFxBase * | object,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Overrides Object::isEquivalent.

Parameters:
object | Pointer to the const Object to test for equivalence with this RTFx object.
ignoreNames | Object names will be ignored while testing if this is true.
deepCompare | The function performs a deep-compare instead of a shallow compare if this is true.
Returns:
The function returns true if the Object pointed to by object is detected to be equivalent to this RTFx object.
Remarks:
The test will consider the optional control parameters ignoreNames and deepCompare. If you omit these two, the function ignores the object names and performs a shallow compare only.
See also:
Object::isEquivalent

virtual NVSG_API const nvsg::RTFxProgramSharedPtr& getProgram ( ) const [pure virtual]

Interface to get the RTFxProgram of this object.

Returns:
A pointer to the RTFxProgram of this object.
Remarks:
All classes deriving from RTFxBase have to provide this function. As ownership handling of an RTFxProgram needs an Object, the RTFxProgram can't be a part of the RTFxBase. That is, all concrete classes deriving from RTFxBase should also derive from Object (or a class derived from Object).

Implemented in RTFx, and RTFxSceneAttribute.

NVSG_API ParameterConstIterator beginParameters ( ) const

Get a const iterator to the first parameter in this object.

Returns:
A const iterator to the first parameter in this object.
See also:
getNumberOfParameters, endParameters, addParameter, removeParameter, clearParameters, findParameter

NVSG_API ParameterIterator beginParameters ( )

Get an iterator to the first parameter in this object.

Returns:
An iterator to the first parameter in this object.
See also:
getNumberOfParameters, endParameters, addParameter, removeParameter, clearParameters, findParameter

NVSG_API ParameterConstIterator endParameters ( ) const

Get a const iterator that points just beyond the end of the parameters in this object.

Returns:
A const iterator that points just beyond the end of the parameters in this Object.
See also:
getNumberOfParameters, beginParameters, addParameter, removeParameter, clearParameters, findParameter

NVSG_API ParameterIterator endParameters ( )

Get an iterator that points just beyond the end of the parameters in this object.

Returns:
An iterator that points just beyond the end of the parameters in this Object.
See also:
getNumberOfParameters, beginParameters, addParameter, removeParameter, clearParameters, findParameter

NVSG_API ParameterIterator addParameter | ( | const std::string & | name,
 |  | unsigned char | type,
 |  | unsigned int | count,
 |  | unsigned int | size = 0,
 |  | const std::string & | semantic = std::string(),
 |  | const std::vector< RTFxParameter::Annotation > & | annotations = std::vector< RTFxParameter::Annotation >()
 | ) |

Add a parameter to this object.

Parameters:
name | Name of the parameter to add.
type | Type of the parameter to add.
count | Number of elements of type type in the parameter to add
size | Memory footprint size in bytes (sizeof(structure)*count) if the type is PT_USER_DATA. Otherwise, ignored.
semantic | The semantic to assign to the variable (see note).
annotations | The annotations to add to this variable (see note).
Returns:
An iterator that points to the added parameter.
Remarks:
An RTFxBase manages the values of parameters used in an associated RTFxProgram.
Note:
The behavior is undefined if there is a variable in the associated RTFxProgram with the same name, but of a different type or count.

Semantics and Annotations assigned this way are NOT stored to any NVSG output files. Only the semantics and annotations that appear in the RTFx file itself will be stored to disk.

See also:
getNumberOfParameters, beginParameters, endParameters, removeParameter, clearParameters, findParameter

NVSG_API bool removeParameter ( const std::string & name )

Remove a parameter from this object.

Parameters:
name The name of the parameter to remove from this object
Returns:
true, if the parameter has been removed from this object, otherwise false.
See also:
getNumberOfParameters, beginParameters, endParameters, addParameter, clearParameters, findParameter

NVSG_API ParameterIterator removeParameter ( const ParameterIterator & pi )

Remove a parameter from this object.

Parameters:
pi An iterator to the parameter to remove from this object.
Returns:
An iterator pointing to the new location of the parameter that followed the one removed by this function call, which is endParameters() if the operation removed the last parameter.
See also:
getNumberOfParameters, beginParameters, endParameters, addParameter, clearParameters, findParameter

NVSG_API void clearParameters ( )

Remove all parameters from this object.

See also:
getNumberOfParameters, beginParameters, endParameters, addParameter, removeParameter, findParameter

NVSG_API ParameterIterator cloneProgramParameter ( const std::string & name )

Add a clone of an RTFxProgram parameter to the RTFxBase.

Parameters:
name Name of the parameter to add.
Returns:
The iterator to the cloned and added parameter.
Remarks:
An RTFxBase manages the values of parameters used in an associated RTFxProgram. This method will add an editable clone of an RTFxProgram parameter to the RTFx. The cloned copy will contain the original parameters value, semantics and annotations.
Note:
This is a convenience function, and performs actions similar to the following: RTFxBase::ParamterIterator clonedParam = rtfx->endParameters(); RTFxProgramReadLock prog( rtfx->getProgram() ); RTFxProgram::ParameterIterator progParam = prog->findParameter( "name" ); if ( progParam != prog->endParameters() ) { RTFxBase::ParameterIterator rtfxParam = rtfx->findParameter( "name" ); if ( rtfxParam == rtfx->endParameters() ) { clonedParameter = rtfx->addParameter( progParam->getname(), progParam->getType(), progParam->getSize() , progParam->getSemantic(), progParam->getAnnotations() ); switch( progParam->getType() ) { case [...] rtfx->setParameterValue( clonedParameter, (cast *)progParam->getValue() ); } } } return( clonedParam );
See also:
addParameter, removeParameter

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const char * | c
 | ) |

Sets a parameter's value using char (signed 8-bit integers).

Parameters:
pi | The iterator to the parameter to set.
c | A pointer to a constant array of char data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using char values. Note that no conversions are performed.
Note:
The behavior is undefined if the specified parameter is not a char parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const unsigned char * | uc
 | ) |

Sets a parameter's value using unsigned chars.

Parameters:
pi | The iterator to the parameter to set.
uc | A pointer to a constant array of unsigned char data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using unsigned char values. Note that no conversions are performed.
Note:
The behavior is undefined if the specified parameter is not an unsigned char parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const short * | s
 | ) |

Sets a parameter's value using signed shorts.

Parameters:
pi | The iterator to the parameter to set.
s | A pointer to a constant array of signed short data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using signed short values. Note that no conversions are performed.
Note:
The behavior is undefined if the specified parameter is not a signed short parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const unsigned short * | us
 | ) |

Sets a parameter's value using unsigned shorts.

Parameters:
pi | The iterator to the parameter to set.
us | A pointer to a constant array of unsigned integer data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using unsigned short values. Note that no conversions are performed.
Note:
The behavior is undefined if the specified parameter is not an unsigned short parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const int * | i
 | ) |

Sets a parameter's value using signed integers.

Parameters:
pi | The iterator to the parameter to set.
i | A pointer to a constant array of signed integer data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using signed integer values. Note that no conversions are performed.
Note:
The behavior is undefined if the specified parameter is not a signed integer parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const unsigned int * | ui
 | ) |

Sets a parameter's value using unsigned integers.

Parameters:
pi | The iterator to the parameter to set.
ui | A pointer to a constant array of unsigned integer data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using unsigned integer values. Note that no conversions are performed.
Note:
The behavior is undefined if the specified parameter is not an unsigned integer parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const float * | f
 | ) |

Sets a parameter's value using floats.

Parameters:
pi | The iterator to the parameter to set.
f | A pointer to a constant array of floating-point data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using floating-point values. Note that no conversions are performed.
Note:
The behavior is undefined the specified parameter is not a floating-point parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const double * | d
 | ) |

Sets a parameter's value using doubles.

Parameters:
pi | The iterator to the parameter to set.
d | A pointer to a constant array of double data, that is at least the size of the parameter specified by pi.
Remarks:
Sets a parameter's value using double values. Note that no conversions are performed.
Note:
The behavior is undefined the specified parameter is not a double parameter.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const void * | v
 | ) |

Sets a parameter's value using untyped pointer.

Parameters:
pi | The iterator to the parameter to set.
v | A pointer to untyped memory, that is at least the size of the parameter specified by pi.
See also:
getNumberOfParameters, RTFxProgram::getVariableType

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const RTBufferAttributeSharedPtr & | buffer
 | ) |

set buffer value

NVSG_API void setParameterValue | ( | const ParameterIterator & | pi,
 |  | const TextureAttributeItemSharedPtr & | tex
 | ) |

set texture value

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented in RTFx.

The documentation for this class was generated from the following file:
  • RTFx.h
Generated on Fri Jul 13 13:30:20 2012 for SceniX


SceniX: Member List

RTFxBase Member List

This is the complete list of members for RTFxBase, including all inherited members.

addParameter(const std::string &name, unsigned char type, unsigned int count, unsigned int size=0, const std::string &semantic=std::string(), const std::vector< RTFxParameter::Annotation > &annotations=std::vector< RTFxParameter::Annotation >()) | RTFxBase |
beginParameters() const | RTFxBase |
beginParameters() | RTFxBase |
clearParameters() | RTFxBase |
cloneProgramParameter(const std::string &name) | RTFxBase |
endParameters() const | RTFxBase |
endParameters() | RTFxBase |
feedHashGenerator(nvutil::HashGenerator &hg) const | RTFxBase | [protected, virtual]
findParameter(const std::string &name) const (defined in RTFxBase) | RTFxBase |
findParameter(const std::string &name) (defined in RTFxBase) | RTFxBase |
getNumberOfParameters() const (defined in RTFxBase) | RTFxBase |
getProgram() const =0 | RTFxBase | [pure virtual]
initFromProgram(const RTFxProgramSharedPtr &prgHdl) (defined in RTFxBase) | RTFxBase | [protected]
isSameAs(const RTFxBase *object, bool ignoreNames, bool deepCompare) const | RTFxBase | [virtual]
onParameterValueChanged()=0 (defined in RTFxBase) | RTFxBase | [protected, pure virtual]
operator=(const RTFxBase &rhs) | RTFxBase |
ParameterConstIterator typedef | RTFxBase |
ParameterContainer typedef | RTFxBase |
ParameterIterator typedef | RTFxBase |
removeParameter(const std::string &name) | RTFxBase |
removeParameter(const ParameterIterator &pi) | RTFxBase |
resetToDefaults() (defined in RTFxBase) | RTFxBase | [protected, virtual]
RTFxBase() | RTFxBase |
RTFxBase(const RTFxBase &rhs) (defined in RTFxBase) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const char *c) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned char *uc) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const short *s) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned short *us) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const int *i) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned int *ui) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const float *f) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const double *d) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const void *v) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const RTBufferAttributeSharedPtr &buffer) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const TextureAttributeItemSharedPtr &tex) | RTFxBase |
setProgram(const RTFxProgramSharedPtr &program)=0 (defined in RTFxBase) | RTFxBase | [protected, pure virtual]
~RTFxBase() | RTFxBase | [virtual]

Generated on Fri Jul 13 13:30:20 2012 for SceniX


SceniX: RTFxSceneAttribute Class Reference

nvsg::RTFxSceneAttribute

RTFxSceneAttribute Class Reference

A SceneAttribute to represent a per-scene ray tracing effect. More...

#include <RTFx.h>

Inheritance diagram for RTFxSceneAttribute:

[legend]
Collaboration diagram for RTFxSceneAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API RTFxSceneAttribute & | operator= (const RTFxSceneAttribute &rhs)
virtual NVSG_API bool | isEquivalent (const Object *object, bool ignoreNames, bool deepCompare) const
Tests whether this object is equivalent to another object.
virtual NVSG_API bool | isDataShared () const
Returns whether this object shares its embedded data with other objects.
virtual NVSG_API DataID | getDataID () const
Returns the unique data identifier for this object.
virtual NVSG_API void | resetToDefaults ()
virtual NVSG_API void | setProgram (const RTFxProgramSharedPtr &program)
virtual NVSG_API const RTFxProgramSharedPtr & | getProgram () const
Interface to get the RTFxProgram of this object.
virtual NVSG_API void | onParameterValueChanged ()
REFLECTION_INFO_API (NVSG_API, RTFxSceneAttribute)

Static Public Member Functions

static NVSG_API RTFxSceneAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | RTFxSceneAttribute (const RTFxSceneAttribute &rhs)

Detailed Description

A SceneAttribute to represent a per-scene ray tracing effect.

Namespace: nvsg

Member Function Documentation

virtual NVSG_API bool isEquivalent | ( | const Object * | object,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Tests whether this object is equivalent to another object.

Parameters:
object | Pointer to the object to test for equivalence with this object.
ignoreNames | Object names will be ignored while testing if this is true.
deepCompare | The function performs a deep-compare if this is true. Otherwise the function only performs a shallow compare.
Returns:
The function returns true if the object pointed to by object is detected to be equivalent to this object. Otherwise the function returns false.
Remarks:
The test will be performed considering the optional control parameters ignoreNames and deepCompare. If you omit these two, the function ignores object names and performs a shallow compare only.

Reimplemented from Object.

virtual NVSG_API bool isDataShared ( ) const [virtual]

Returns whether this object shares its embedded data with other objects.

Returns:
The function should return true if the object shares its embedded data with other objects. Otherwise, the function should return false.

The default implementation always returns false.
Remarks:
For Object-derived classes that are capable of sharing their embedded data with other objects, it is recommended to override this function. For all other objects, the default implementation will be sufficient.

An object, capable of data sharing, shares its data with another object if it was either instantiated as a copy of the other object, or if its content was re-assigned to by the content of the other object using the appropriate assignment operator.

Only a few classes of the SceniX core implement data sharing. These mainly are classes where data sharing probably could save a lot of memory because of the large amount of data these classes might contain. VertexAttributeSet, IndependentPrimitiveSet, and StrippedPrimitiveSet are examples of coreobjects that implement data sharing.
See also:
Object::getDataID

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( ) const [virtual]

Returns the unique data identifier for this object.

Returns:
The function returns a 64-bit value which uniquely identifies the embedded data.
Remarks:
This function in particular is useful to identify different objects that share their embedded data. Two objects that share the same data always have the same DataID.

Identifying objects that share their data with other objects is useful for saving objects to a file and later reloading it without losing the data sharing.
See also:
Object::isDataShared

Reimplemented from Object.

virtual NVSG_API const RTFxProgramSharedPtr& getProgram ( ) const [virtual]

Interface to get the RTFxProgram of this object.

Returns:
A pointer to the RTFxProgram of this object.
Remarks:
All classes deriving from RTFxBase have to provide this function. As ownership handling of an RTFxProgram needs an Object, the RTFxProgram can't be a part of the RTFxBase. That is, all concrete classes deriving from RTFxBase should also derive from Object (or a class derived from Object).

Implements RTFxBase.

The documentation for this class was generated from the following file:
  • RTFx.h
Generated on Fri Jul 13 13:30:21 2012 for SceniX


SceniX: Member List

RTFxSceneAttribute Member List

This is the complete list of members for RTFxSceneAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Scene *owner) (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [protected]
addParameter(const std::string &name, unsigned char type, unsigned int count, unsigned int size=0, const std::string &semantic=std::string(), const std::vector< RTFxParameter::Annotation > &annotations=std::vector< RTFxParameter::Annotation >()) | RTFxBase |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginParameters() const | RTFxBase |
beginParameters() | RTFxBase |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearParameters() | RTFxBase |
cloneProgramParameter(const std::string &name) | RTFxBase |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endParameters() const | RTFxBase |
endParameters() | RTFxBase |
nvsg::feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
nvsg::RTFxBase::feedHashGenerator(nvutil::HashGenerator &hg) const | RTFxBase | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findParameter(const std::string &name) const (defined in RTFxBase) | RTFxBase |
findParameter(const std::string &name) (defined in RTFxBase) | RTFxBase |
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | RTFxSceneAttribute | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Scene > |
getNumberOfParameters() const (defined in RTFxBase) | RTFxBase |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Scene > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getProgram() const | RTFxSceneAttribute | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
initFromProgram(const RTFxProgramSharedPtr &prgHdl) (defined in RTFxBase) | RTFxBase | [protected]
isDataShared() const | RTFxSceneAttribute | [virtual]
isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const | RTFxSceneAttribute | [virtual]
isSameAs(const RTFxBase *object, bool ignoreNames, bool deepCompare) const | RTFxBase | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
onParameterValueChanged() (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [virtual]
operator=(const RTFxSceneAttribute &rhs) (defined in RTFxSceneAttribute) | RTFxSceneAttribute |
nvsg::SceneAttribute::operator=(const SceneAttribute &rhs) | SceneAttribute | [protected]
nvsg::OwnedObject< Scene >::operator=(const OwnedObject< Scene > &rhs) | OwnedObject< Scene > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
nvsg::RTFxBase::operator=(const RTFxBase &rhs) | RTFxBase |
OwnedObject() | OwnedObject< Scene > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Scene > | [protected]
OwnedObject(const OwnedObject< Scene > &rhs) | OwnedObject< Scene > | [protected]
OwnerContainer typedef (defined in OwnedObject< Scene >) | OwnedObject< Scene > |
OwnerIterator typedef (defined in OwnedObject< Scene >) | OwnedObject< Scene > |
ownersBegin() const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [inline]
ownersEnd() const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [inline]
ParameterConstIterator typedef | RTFxBase |
ParameterContainer typedef | RTFxBase |
ParameterIterator typedef | RTFxBase |
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, RTFxSceneAttribute) (defined in RTFxSceneAttribute) | RTFxSceneAttribute |
REFLECTION_INFO_API(NVSG_API, SceneAttribute) (defined in SceneAttribute) | SceneAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Scene *owner) (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [protected]
removeParameter(const std::string &name) | RTFxBase |
removeParameter(const ParameterIterator &pi) | RTFxBase |
resetToDefaults() (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [virtual]
RTFxBase() | RTFxBase |
RTFxBase(const RTFxBase &rhs) (defined in RTFxBase) | RTFxBase |
RTFxSceneAttribute() (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [protected]
RTFxSceneAttribute(const RTFxSceneAttribute &rhs) (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [protected]
SceneAttribute(void) | SceneAttribute | [protected]
SceneAttribute(const SceneAttribute &rhs) | SceneAttribute | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setParameterValue(const ParameterIterator &pi, const char *c) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned char *uc) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const short *s) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned short *us) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const int *i) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const unsigned int *ui) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const float *f) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const double *d) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const void *v) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const RTBufferAttributeSharedPtr &buffer) | RTFxBase |
setParameterValue(const ParameterIterator &pi, const TextureAttributeItemSharedPtr &tex) | RTFxBase |
setProgram(const RTFxProgramSharedPtr &program) (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [virtual]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Scene > | [protected]
~RTFxBase() | RTFxBase | [virtual]
~RTFxSceneAttribute() (defined in RTFxSceneAttribute) | RTFxSceneAttribute | [protected, virtual]
~SceneAttribute(void) | SceneAttribute | [virtual]

Generated on Fri Jul 13 13:30:21 2012 for SceniX


SceniX: sampler_t Struct Reference

sampler_t Struct Reference

The sampler_t structure specifies how a sampler parameter is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for sampler_t:

[legend]
List of all members.

Public Attributes

str_t name
Specifies the sampler's name as it appears in the effect source.
uint_t texImg
Specifies the file offset to the corresponding texture image.

Detailed Description

The sampler_t structure specifies how a sampler parameter is stored in a .NBF file.

Samplers need to be considered in conjunction with NBFCgFx objects.

Member Data Documentation

str_t name

Specifies the sampler's name as it appears in the effect source.

uint_t texImg

Specifies the file offset to the corresponding texture image.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: Member List

sampler_t Member List

This is the complete list of members for sampler_t, including all inherited members.

name | sampler_t
texImg | sampler_t

Generated on Fri Jul 13 13:29:09 2012 for SceniX


SceniX: ScaleFilter Class Reference

nvsg::ScaleFilter

ScaleFilter Class Reference

Scale Filter Functor. More...

#include <TextureHost.h>

Inheritance diagram for ScaleFilter:

[legend]
Collaboration diagram for ScaleFilter:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API float | getSupportWidth (void) const =0
Get the support width of this scale filter.
virtual NVSG_API float | operator() (float t) const =0
Weight calculation operator.

Detailed Description

Scale Filter Functor.

Functor base class used in texture image scaling.
When scaling a TextureHost, a ScaleFilter is used to determine the weight for a source texel in a given distance to the destination texel.
With these ScaleFilters, the image is resampled in two passes, stretching or shrinking the image first horizontally and then vertically (or vice versa) with potentially different scale factors. The two-pass approach has a significantly lower run-time cost, O(imageWidth*imageHeight*(filterWidth+filterHeight)), than straightforward 2-D filtering, O(imageWidth*imageHeight*filterWidth*filterHeight)). The performance gain is even higher in 3-D filtering.
For magnification, the ScaleFilter is centered around each source texel and scaled to the height of that texel. For each destination texel, the corresponding location in the source image is calculated. The sum of the weighted filter functions at this point determines the value of the destination texel.
For minification, to eliminate all frequency components above the resampling Nyquist frequency, the ScaleFilter is stretched by the image reduction factor.
Because the scaling process for each row or column is identical, the placement and area of the ScaleFilter is fixed. Therefore the contributors to each destination texel and the corresponding filter weight are precomputed once, using the calling operator, and then applied to each destination texel.

Member Function Documentation

virtual NVSG_API float getSupportWidth ( void ) const [pure virtual]

Get the support width of this scale filter.

Returns:
the maximal distance between a source and a destination texel, that is used to determine the source texels that contribute to the destination texel.

Implemented in BoxFilter, TriangleFilter, BellFilter, BSplineFilter, and Lanczos3Filter.

virtual NVSG_API float operator() ( float t ) const [pure virtual]

Weight calculation operator.

Returns:
the weight for a source texel that is t units from the destination texel to compute.
Parameters:
t distance between source and destination texel

Implemented in BoxFilter, TriangleFilter, BellFilter, BSplineFilter, and Lanczos3Filter.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:29 2012 for SceniX


SceniX: Member List

ScaleFilter Member List

This is the complete list of members for ScaleFilter, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getSupportWidth(void) const =0 | ScaleFilter | [pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(float t) const =0 | ScaleFilter | [pure virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:29 2012 for SceniX


SceniX: Scene Class Reference

nvsg::Scene

Scene Class Reference

Container class to hold all scene related information. More...

#include <Scene.h>

Inheritance diagram for Scene:

[legend]
Collaboration diagram for Scene:

[legend]
List of all members.

Public Types

typedef std::vector< CameraSharedPtr > | CameraContainer
The container type of the cameras.
typedef nvutil::SceniXIterator<
Scene, CameraContainer::iterator > 		CameraIterator
The iterator over the CameraContainer.
typedef nvutil::SceniXIterator<
Scene, CameraContainer::const_iterator > 		CameraConstIterator
The const iterator over the CameraContainer.
typedef std::vector< TrafoAnimationSharedPtr > | CameraAnimationContainer
The container type of the camera animations.
typedef nvutil::SceniXIterator<
Scene, CameraAnimationContainer::iterator > 		CameraAnimationIterator
The iterator over the CameraAnimationContainer.
typedef nvutil::SceniXIterator<
Scene, CameraAnimationContainer::const_iterator > 		CameraAnimationConstIterator
The const iterator over the CameraAnimationContainer.
typedef std::vector< SceneAttributeSharedPtr > | AttributeContainer
The container type of the attributes.
typedef nvutil::SceniXIterator<
Scene, AttributeContainer::iterator > 		AttributeIterator
The iterator over the AttributeContainer.
typedef nvutil::SceniXIterator<
Scene, AttributeContainer::const_iterator > 		AttributeConstIterator
The const iterator over the AttributeContainer.

Public Member Functions

NVSG_API const nvmath::Vec3f & | getAmbientColor () const
Get the global ambient color.
NVSG_API void | setAmbientColor (const nvmath::Vec3f &color)
Set the global ambient color.
NVSG_API int | getFrameNumber () const
Get the frame number.
NVSG_API void | setFrameNumber (int frameNumber)
Set the frame number.
NVSG_API const nvmath::Vec4f & | getBackColor () const
Get the background color.
NVSG_API void | setBackColor (const nvmath::Vec4f &color)
Set the background color.
NVSG_API const TextureHostSharedPtr & | getBackImage () const
return the handle to background texture image.
NVSG_API void | setBackImage (const TextureHostSharedPtr &image)
NVSG_API unsigned int | getNumberOfCameras () const
Get the number of cameras in this Scene.
NVSG_API CameraConstIterator | beginCameras () const
Get a const iterator to the first camera in this Scene.
NVSG_API CameraIterator | beginCameras ()
Get an iterator to the first camera in this Scene.
NVSG_API CameraConstIterator | endCameras () const
Get a const iterator that points just beyond the end of the camera in this Scene.
NVSG_API CameraIterator | endCameras ()
Get an iterator that points just beyond the end of the camera in this Scene.
NVSG_API CameraIterator | addCamera (const CameraSharedPtr &camera)
Adds a camera to this Scene.
NVSG_API bool | removeCamera (const CameraSharedPtr &camera)
Remove a camera from this Scene.
NVSG_API CameraIterator | removeCamera (const CameraIterator &sci)
Remove a camera from this Scene.
NVSG_API void | clearCameras ()
Remove all cameras from this Scene.
NVSG_API CameraConstIterator | findCamera (const CameraSharedPtr &camera) const
NVSG_API CameraIterator | findCamera (const CameraSharedPtr &camera)
NVSG_API unsigned int | getNumberOfCameraAnimations () const
Get the number of camera animations in this Scene.
NVSG_API CameraAnimationConstIterator | beginCameraAnimations () const
Get a const iterator to the first camera in this Scene.
NVSG_API CameraAnimationIterator | beginCameraAnimations ()
Get an iterator to the first camera in this Scene.
NVSG_API CameraAnimationConstIterator | endCameraAnimations () const
Get a const iterator that points just beyond the end of the camera animation in this Scene.
NVSG_API CameraAnimationIterator | endCameraAnimations ()
Get an iterator that points just beyond the end of the camera animation in this Scene.
NVSG_API CameraAnimationIterator | addCameraAnimation (const TrafoAnimationSharedPtr &animation)
Adds a camera animation to this Scene.
NVSG_API bool | removeCameraAnimation (const TrafoAnimationSharedPtr &animation)
Remove a camera animation from this Scene.
NVSG_API CameraAnimationIterator | removeCameraAnimation (const CameraAnimationIterator &scai)
Remove a camera animation from this Scene.
NVSG_API void | clearCameraAnimations ()
Remove all camera animations from this Scene.
NVSG_API CameraAnimationConstIterator | findCameraAnimation (const TrafoAnimationSharedPtr &animation) const
NVSG_API CameraAnimationIterator | findCameraAnimation (const TrafoAnimationSharedPtr &animation)
NVSG_API unsigned int | getNumberOfAttributes () const
Get the number of attributes in this Scene.
NVSG_API AttributeConstIterator | beginAttributes () const
Get a const iterator to the first attribute in this Scene.
NVSG_API AttributeIterator | beginAttributes ()
Get an iterator to the first attribute in this Scene.
NVSG_API AttributeConstIterator | endAttributes () const
Get a const iterator that points just beyond the end of the attribute in this Scene.
NVSG_API AttributeIterator | endAttributes ()
Get an iterator that points just beyond the end of the attribute in this Scene.
NVSG_API AttributeIterator | addAttribute (const SceneAttributeSharedPtr &attribute)
Adds an attribute to this Scene.
NVSG_API bool | removeAttribute (const SceneAttributeSharedPtr &attribute)
Remove an attribute from this Scene.
NVSG_API AttributeIterator | removeAttribute (const AttributeIterator &sai)
Remove an attribute from this Scene.
NVSG_API void | clearAttributes ()
Remove all attributes from this Scene.
NVSG_API AttributeConstIterator | findAttribute (const SceneAttributeSharedPtr &attribute) const
NVSG_API AttributeIterator | findAttribute (const SceneAttributeSharedPtr &attribute)
NVSG_API AttributeConstIterator | findAttribute (unsigned int objectCode) const
NVSG_API AttributeIterator | findAttribute (unsigned int objectCode)
NVSG_API const NodeSharedPtr & | getRootNode () const
Returns the root Node of the Scene.
NVSG_API void | setRootNode (const NodeSharedPtr &root)
Sets the root Node of the Scene.
NVSG_API bool | containsShader () const
Ask if the Scene contains any shader.
NVSG_API bool | containsLight () const
Ask if this Scene contains any LightSource.
NVSG_API bool | containsTransparency () const
Ask if this Scene contains any transparent StateAttribute.
NVSG_API bool | containsAnimation () const
Interface to determine if an Object contains an animation.
NVSG_API const nvutil::Incarnation & | getIncarnation () const
NVSG_API bool | containsNode (const NodeSharedPtr &node) const
Ask if the specified node is part of this scene.
REFLECTION_INFO_API (NVSG_API, Scene)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (AmbientColor)
NVSG_API | DECLARE_STATIC_PROPERTY (FrameNumber)
NVSG_API | DECLARE_STATIC_PROPERTY (BackColor)

Static Public Member Functions

static NVSG_API SceneSharedPtr | create ()

Protected Member Functions

NVSG_API | Scene ()
Default-constructs a Scene.
virtual NVSG_API | ~Scene ()
Destructs a Scene.
NVSG_API void | notifyChanged ()
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
virtual NVSG_API const nvmath::Box3f & | getBoundingBox (bool recalculate) const
virtual NVSG_API const nvmath::Sphere3f & | getBoundingSphere (bool recalculate) const

Detailed Description

Container class to hold all scene related information.

Namespace: nvsg
Remarks:
The Scene represents the loaded/created scene. It contains the ambient and back color, predefined cameras (views), predefined camera animations, and the tree of objects (the scene graph).
Note:
The Scene holds a number of predefined cameras, but the ViewState holds the active camera.
See also:
Camera, SceneLoader, SceneSaver, ViewState

Member Typedef Documentation

typedef std::vector<CameraSharedPtr> CameraContainer

The container type of the cameras.

typedef nvutil::SceniXIterator<Scene,CameraContainer::iterator> CameraIterator

The iterator over the CameraContainer.

typedef nvutil::SceniXIterator<Scene,CameraContainer::const_iterator> CameraConstIterator

The const iterator over the CameraContainer.

typedef std::vector<TrafoAnimationSharedPtr> CameraAnimationContainer

The container type of the camera animations.

typedef nvutil::SceniXIterator<Scene,CameraAnimationContainer::iterator> CameraAnimationIterator

The iterator over the CameraAnimationContainer.

typedef nvutil::SceniXIterator<Scene,CameraAnimationContainer::const_iterator> CameraAnimationConstIterator

The const iterator over the CameraAnimationContainer.

typedef std::vector<SceneAttributeSharedPtr> AttributeContainer

The container type of the attributes.

typedef nvutil::SceniXIterator<Scene,AttributeContainer::iterator> AttributeIterator

The iterator over the AttributeContainer.

typedef nvutil::SceniXIterator<Scene,AttributeContainer::const_iterator> AttributeConstIterator

The const iterator over the AttributeContainer.

Constructor & Destructor Documentation

NVSG_API Scene ( ) [protected]

Default-constructs a Scene.

Remarks:
The Scene initially has an ambient color of light grey (0.2, 0.2, 0.2), and a background color of medium grey (0.4, 0.4, 0.4). By default there are no cameras, no camera animations, and no tree object attached to the Scene.

virtual NVSG_API ~Scene ( ) [protected, virtual]

Destructs a Scene.

Member Function Documentation

const nvmath::Vec3f & getAmbientColor ( ) const [inline]

Get the global ambient color.

Returns:
A reference to the constant ambient color.
Remarks:
This color represents light that is not from any particular source. The default is light grey (0.2,0.2,0.2).
See also:
getBackColor, setAmbientColor

void setAmbientColor ( const nvmath::Vec3f & color ) [inline]

Set the global ambient color.

Parameters:
color A reference to the constant ambient color to set.
Remarks:
This color represents light that is not from any particular source. The default is light grey (0.2,0.2,0.2).
See also:
getAmbientColor, setBackColor

int getFrameNumber ( ) const [inline]

Get the frame number.

Returns:
The current frame number.
Remarks:
The frame number is monotonically incremented by SceniX's AppTraverser. This value is published to shaders in the NVSGScene.frameNumber counter. NOTE that the value is a SIGNED int, because Cg does not currently support unsigned ints. While the maximum value able to be returned from this routine is 0x7fffffff, code using the frame number should assume that it can change or wrap to zero at any time.
See also:
setFrameNumber

void setFrameNumber ( int frameNumber ) [inline]

Set the frame number.

Parameters:
frameNumber The current frame count for this scene.
Remarks:
The frame number is monotonically incremented by SceniX's AppTraverser. This value can be set or reset if necessary. NOTE the value is a SIGNED int because Cg does not support unsigned ints. Therefore, if the argument is < 0, it is clamped to 0 when stored. Also note that Cg will store the value as a float rather than an INT, and therefore the range will be further compromised. Code using this value should assume it can change or wrap at any time.
See also:
getFrameNumber

const nvmath::Vec4f & getBackColor ( ) const [inline]

Get the background color.

Returns:
A reference to the constant background color.
Remarks:
This color is used to clear the viewport. The default is medium grey (0.4,0.4,0.4,1.0).
See also:
getAmbientColor, setBackColor

void setBackColor ( const nvmath::Vec4f & color ) [inline]

Set the background color.

Parameters:
color A reference to the constant background color to set.
Remarks:
This color is used to clear the viewport with. The default is medium grey (0.4,0.4,0.4,1.0).
See also:
getBackColor, setAmbientColor,

const nvsg::TextureHostSharedPtr & getBackImage ( ) const [inline]

return the handle to background texture image.

Returns:
A TextureHost
See also:
setBackImage

NVSG_API void setBackImage ( const TextureHostSharedPtr & image )

brief Set the background texture image

Parameters:
image The TextureHost to be set as background.
Remarks:
The reference count for image is incremented. The texture is applied to the entire viewport.
See also:
getBackImage

unsigned int getNumberOfCameras ( ) const [inline]

Get the number of cameras in this Scene.

Returns:
The number of cameras in this Scene.
See also:
beginCameras, endCameras, addCamera, removeCamera, clearCameras, findCamera

Scene::CameraConstIterator beginCameras ( ) const [inline]

Get a const iterator to the first camera in this Scene.

Returns:
A const iterator to the first camera in this Scene.
See also:
getNumberOfCameras, endCameras, addCamera, removeCamera, clearCameras, findCamera

Scene::CameraIterator beginCameras ( ) [inline]

Get an iterator to the first camera in this Scene.

Returns:
An iterator to the first camera in this Scene.
See also:
getNumberOfCameras, endCameras, addCamera, removeCamera, clearCameras, findCamera

Scene::CameraConstIterator endCameras ( ) const [inline]

Get a const iterator that points just beyond the end of the camera in this Scene.

Returns:
A const iterator that points just beyond the end of the camera in this Scene.
See also:
getNumberOfCameras, beginCameras, addCamera, removeCamera, clearCameras, findCamera

Scene::CameraIterator endCameras ( ) [inline]

Get an iterator that points just beyond the end of the camera in this Scene.

Returns:
An iterator that points just beyond the end of the camera in this Scene.
See also:
getNumberOfCameras, beginCameras, addCamera, removeCamera, clearCameras, findCamera

NVSG_API CameraIterator addCamera ( const CameraSharedPtr & camera )

Adds a camera to this Scene.

Parameters:
camera Specifies the camera to add
Returns:
An iterator that points to the position where camera was added.
See also:
getNumberOfCameras, beginCameras, endCameras, removeCamera, clearCameras, findCamera

NVSG_API bool removeCamera ( const CameraSharedPtr & camera )

Remove a camera from this Scene.

Parameters:
camera The camera to remove from this Scene.
Returns:
true, if the camera has been removed from this Scene, otherwise false.
See also:
getNumberOfCameras, beginCameras, endCameras, addCamera, clearCameras, findCamera

NVSG_API CameraIterator removeCamera ( const CameraIterator & sci )

Remove a camera from this Scene.

Parameters:
sci An iterator to the camera to remove from this Scene.
Returns:
An iterator pointing to the new location of the camera that followed the one removed by this function call, which is endCameras() if the operation removed the last camera.
See also:
getNumberOfCameras, beginCameras, endCameras, addCamera, clearCameras, findCamera

void clearCameras ( ) [inline]

Remove all cameras from this Scene.

See also:
getNumberOfCameras, beginCameras, endCameras, addCamera, removeCamera, findCamera

unsigned int getNumberOfCameraAnimations ( ) const [inline]

Get the number of camera animations in this Scene.

Returns:
The number of camera animations in this Scene.
See also:
beginCameraAnimations, endCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations, findCameraAnimation

Scene::CameraAnimationConstIterator beginCameraAnimations ( ) const [inline]

Get a const iterator to the first camera in this Scene.

Returns:
A const iterator to the first camera in this Scene.
See also:
getNumberOfCameraAnimations, endCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations, findCameraAnimation

Scene::CameraAnimationIterator beginCameraAnimations ( ) [inline]

Get an iterator to the first camera in this Scene.

Returns:
An iterator to the first camera in this Scene.
See also:
getNumberOfCameraAnimations, endCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations, findCameraAnimation

Scene::CameraAnimationConstIterator endCameraAnimations ( ) const [inline]

Get a const iterator that points just beyond the end of the camera animation in this Scene.

Returns:
A const iterator that points just beyond the end of the camera animation in this Scene.
See also:
getNumberOfCameraAnimations, beginCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations, findCameraAnimation

Scene::CameraAnimationIterator endCameraAnimations ( ) [inline]

Get an iterator that points just beyond the end of the camera animation in this Scene.

Returns:
An iterator that points just beyond the end of the camera anitmation in this Scene.
See also:
getNumberOfCameraAnimations, beginCameraAnimations, addCameraAnimation, removeCameraAnimation, clearCameraAnimations, findCameraAnimation

NVSG_API CameraAnimationIterator addCameraAnimation ( const TrafoAnimationSharedPtr & animation )

Adds a camera animation to this Scene.

Parameters:
animation Specifies the camera animation to add
Returns:
An iterator that points to the position where camera animation was added.
See also:
getNumberOfCameraAnimations, beginCameraAnimations, endCameraAnimations, removeCameraAnimation, clearCameraAnimations, findCameraAnimation

NVSG_API bool removeCameraAnimation ( const TrafoAnimationSharedPtr & animation )

Remove a camera animation from this Scene.

Parameters:
animation The camera animation to remove from this Scene.
Returns:
true, if the camera animation has been removed from this Scene, otherwise false.
See also:
getNumberOfCameraAnimations, beginCameraAnimations, endCameraAnimations, addCameraAnimation, clearCameraAnimations, findCameraAnimation

NVSG_API CameraAnimationIterator removeCameraAnimation ( const CameraAnimationIterator & scai )

Remove a camera animation from this Scene.

Parameters:
scai An iterator to the camera animation to remove from this Scene.
Returns:
An iterator pointing to the new location of the camera animation that followed the one removed by this function call, which is endCameraAnimations() if the operation removed the last camera animation.
See also:
getNumberOfCameraAnimations, beginCameraAnimations, endCameraAnimations, addCameraAnimation, clearCameraAnimations, findCameraAnimation

void clearCameraAnimations ( ) [inline]

Remove all camera animations from this Scene.

See also:
getNumberOfCameraAnimations, beginCameraAnimations, endCameraAnimations, addCameraAnimation, removeCameraAnimation, findCameraAnimation

unsigned int getNumberOfAttributes ( ) const [inline]

Get the number of attributes in this Scene.

Returns:
The number of attributes in this Scene.
See also:
beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

Scene::AttributeConstIterator beginAttributes ( ) const [inline]

Get a const iterator to the first attribute in this Scene.

Returns:
A const iterator to the first attribute in this Scene.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

Scene::AttributeIterator beginAttributes ( ) [inline]

Get an iterator to the first attribute in this Scene.

Returns:
An iterator to the first attribute in this Scene.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

Scene::AttributeConstIterator endAttributes ( ) const [inline]

Get a const iterator that points just beyond the end of the attribute in this Scene.

Returns:
A const iterator that points just beyond the end of the attribute in this Scene.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

Scene::AttributeIterator endAttributes ( ) [inline]

Get an iterator that points just beyond the end of the attribute in this Scene.

Returns:
An iterator that points just beyond the end of the attribute in this Scene.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

NVSG_API AttributeIterator addAttribute ( const SceneAttributeSharedPtr & attribute )

Adds an attribute to this Scene.

Parameters:
attribute Specifies the attribute to add
Returns:
An iterator that points to the position where attribute was added.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, removeAttribute, clearAttributes, findAttribute

NVSG_API bool removeAttribute ( const SceneAttributeSharedPtr & attribute )

Remove an attribute from this Scene.

Parameters:
attribute The attribute to remove from this Scene.
Returns:
true, if the attribute has been removed from this Scene, otherwise false.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API AttributeIterator removeAttribute ( const AttributeIterator & sai )

Remove an attribute from this Scene.

Parameters:
sai An iterator to the attribute to remove from this Scene.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API void clearAttributes ( )

Remove all attributes from this Scene.

See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, findAttribute

const NodeSharedPtr & getRootNode ( ) const [inline]

Returns the root Node of the Scene.

Returns:
The root Node of the Scene.
See also:
setRootNode

NVSG_API void setRootNode ( const NodeSharedPtr & root )

Sets the root Node of the Scene.

Parameters:
root The Node to set as the root node.
Remarks:
The reference count of root is incremented, and the reference count of any previous root node is decremented.
See also:
getRootNode

NVSG_API bool containsShader ( ) const

Ask if the Scene contains any shader.

Returns:
true, if the Scene contains a CgFx or an RTFx attribute, otherwise false.
Remarks:
Because of the special display handling of shaders, it might be of interest if there's a shader attribute in the Scene at all.
See also:
containsLight, containsTransparentGeometry

Reimplemented from Object.

bool containsLight ( ) const [inline]

Ask if this Scene contains any LightSource.

Returns:
true, if the Scene contains a LightSource, otherwise false.
See also:
containsCgFx, containsTransparentGeometry

Reimplemented from Object.

bool containsTransparency ( ) const [inline]

Ask if this Scene contains any transparent StateAttribute.

Returns:
true, if the Scene contains a transparent StateAttribute, otherwise false.
See also:
containsCgFx, containsLight

Reimplemented from Object.

bool containsAnimation ( ) const [inline]

Interface to determine if an Object contains an animation.

Returns:
true if there is a camera animation or the root node of the tree contains an Animation, otherwise c\ false.

Reimplemented from Object.

NVSG_API bool containsNode ( const NodeSharedPtr & node ) const

Ask if the specified node is part of this scene.

Parameters:
node The node to check for being part of this scene.
Returns:
true, if node is part of this scene, otherwise false.

The documentation for this class was generated from the following file:
  • Scene.h
Generated on Fri Jul 13 13:30:21 2012 for SceniX


SceniX: Member List

Scene Member List

This is the complete list of members for Scene, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addAttribute(const SceneAttributeSharedPtr &attribute) | Scene |
addCamera(const CameraSharedPtr &camera) | Scene |
addCameraAnimation(const TrafoAnimationSharedPtr &animation) | Scene |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
AttributeConstIterator typedef | Scene |
AttributeContainer typedef | Scene |
AttributeIterator typedef | Scene |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginAttributes() const | Scene | [inline]
beginAttributes() | Scene | [inline]
beginCameraAnimations() const | Scene | [inline]
beginCameraAnimations() | Scene | [inline]
beginCameras() const | Scene | [inline]
beginCameras() | Scene | [inline]
calculateBoundingBox() const (defined in Scene) | Scene | [inline, protected, virtual]
calculateBoundingSphere() const (defined in Scene) | Scene | [inline, protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
CameraAnimationConstIterator typedef | Scene |
CameraAnimationContainer typedef | Scene |
CameraAnimationIterator typedef | Scene |
CameraConstIterator typedef | Scene |
CameraContainer typedef | Scene |
CameraIterator typedef | Scene |
clearAppTraverserCallbacks() | Object | [inline]
clearAttributes() | Scene |
clearCameraAnimations() | Scene | [inline]
clearCameras() | Scene | [inline]
containsAnimation() const | Scene | [inline]
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const | Scene | [inline]
containsLOD() const (defined in Object) | Object |
containsNode(const NodeSharedPtr &node) const | Scene |
containsShader() const | Scene |
containsTransparency() const | Scene | [inline]
create() (defined in Scene) | Scene | [static]
DECLARE_STATIC_PROPERTY(AmbientColor) (defined in Scene) | Scene |
DECLARE_STATIC_PROPERTY(FrameNumber) (defined in Scene) | Scene |
DECLARE_STATIC_PROPERTY(BackColor) (defined in Scene) | Scene |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endAttributes() const | Scene | [inline]
endAttributes() | Scene | [inline]
endCameraAnimations() const | Scene | [inline]
endCameraAnimations() | Scene | [inline]
endCameras() const | Scene | [inline]
endCameras() | Scene | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findAttribute(const SceneAttributeSharedPtr &attribute) const (defined in Scene) | Scene | [inline]
findAttribute(const SceneAttributeSharedPtr &attribute) (defined in Scene) | Scene | [inline]
findAttribute(unsigned int objectCode) const (defined in Scene) | Scene |
findAttribute(unsigned int objectCode) (defined in Scene) | Scene |
findCamera(const CameraSharedPtr &camera) const (defined in Scene) | Scene | [inline]
findCamera(const CameraSharedPtr &camera) (defined in Scene) | Scene | [inline]
findCameraAnimation(const TrafoAnimationSharedPtr &animation) const (defined in Scene) | Scene | [inline]
findCameraAnimation(const TrafoAnimationSharedPtr &animation) (defined in Scene) | Scene | [inline]
getAmbientColor() const | Scene | [inline]
getAnnotation() const | Object |
getBackColor() const | Scene | [inline]
getBackImage() const | Scene | [inline]
getBoundingBox(bool recalculate) const (defined in Scene) | Scene | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Scene) | Scene | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getFrameNumber() const | Scene | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Scene) | Scene |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfAttributes() const | Scene | [inline]
getNumberOfCameraAnimations() const | Scene | [inline]
getNumberOfCameras() const | Scene | [inline]
getObjectCode() const | Object | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getRootNode() const | Scene | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
notifyChanged() (defined in Scene) | Scene | [protected]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Object &rhs) | Object | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Scene) (defined in Scene) | Scene |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeAttribute(const SceneAttributeSharedPtr &attribute) | Scene |
removeAttribute(const AttributeIterator &sai) | Scene |
removeCamera(const CameraSharedPtr &camera) | Scene |
removeCamera(const CameraIterator &sci) | Scene |
removeCameraAnimation(const TrafoAnimationSharedPtr &animation) | Scene |
removeCameraAnimation(const CameraAnimationIterator &scai) | Scene |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
Scene() | Scene | [protected]
setAmbientColor(const nvmath::Vec3f &color) | Scene | [inline]
setAnnotation(const std::string &anno) | Object |
setBackColor(const nvmath::Vec4f &color) | Scene | [inline]
setBackImage(const TextureHostSharedPtr &image) | Scene |
setFrameNumber(int frameNumber) | Scene | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setRootNode(const NodeSharedPtr &root) | Scene |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~Scene() | Scene | [protected, virtual]

Generated on Fri Jul 13 13:30:21 2012 for SceniX


SceniX: SceneAttribute Class Reference

nvsg::SceneAttribute

SceneAttribute Class Reference

Abstract base class of all Scene attribute objects. More...

#include <SceneAttribute.h>

Inheritance diagram for SceneAttribute:

[legend]
Collaboration diagram for SceneAttribute:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~SceneAttribute (void)
Destructs a SceneAttribute.
REFLECTION_INFO_API (NVSG_API, SceneAttribute)

Protected Member Functions

NVSG_API | SceneAttribute (void)
Protected default constructor to prevent explicit creation.
NVSG_API | SceneAttribute (const SceneAttribute &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API SceneAttribute & | operator= (const SceneAttribute &rhs)
Assignment operator.

Detailed Description

Abstract base class of all Scene attribute objects.

Namespace: nvsg
Remarks:
Defines the interface that every scene attribute has to resolve. A SceneAttribute can be the child of one or more Scene objects.
See also:
nothing

Constructor & Destructor Documentation

virtual NVSG_API ~SceneAttribute ( void ) [virtual]

Destructs a SceneAttribute.

NVSG_API SceneAttribute ( void ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
This default constructor is accessible only by derived classes.

NVSG_API SceneAttribute ( const SceneAttribute & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant SceneAttribute to copy from
Remarks:
This copy constructor is accessible only by derived classes. The copy constructor of OwnedObject is called, but the parents of rhs are not copied.

Member Function Documentation

NVSG_API SceneAttribute& operator= ( const SceneAttribute & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant SceneAttribute to copy from.
Returns:
A reference to the assigned SceneAttribute.
Remarks:
This assignment operator is accessible only by derived classes. It just calls the assignment operator of OwnedObject. The parents of rhs are not copied.

The documentation for this class was generated from the following file:
  • SceneAttribute.h
Generated on Fri Jul 13 13:30:21 2012 for SceniX


SceniX: Member List

SceneAttribute Member List

This is the complete list of members for SceneAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Scene *owner) (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Scene > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Scene > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const SceneAttribute &rhs) | SceneAttribute | [protected]
nvsg::OwnedObject< Scene >::operator=(const OwnedObject< Scene > &rhs) | OwnedObject< Scene > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Scene > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Scene > | [protected]
OwnedObject(const OwnedObject< Scene > &rhs) | OwnedObject< Scene > | [protected]
OwnerContainer typedef (defined in OwnedObject< Scene >) | OwnedObject< Scene > |
OwnerIterator typedef (defined in OwnedObject< Scene >) | OwnedObject< Scene > |
ownersBegin() const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [inline]
ownersEnd() const (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, SceneAttribute) (defined in SceneAttribute) | SceneAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Scene *owner) (defined in OwnedObject< Scene >) | OwnedObject< Scene > | [protected]
SceneAttribute(void) | SceneAttribute | [protected]
SceneAttribute(const SceneAttribute &rhs) | SceneAttribute | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Scene > | [protected]
~SceneAttribute(void) | SceneAttribute | [virtual]

Generated on Fri Jul 13 13:30:21 2012 for SceniX


SceniX: SceneLoader Class Reference

nvsg::SceneLoader

SceneLoader Class Reference

Pure virtual base class for SceniX scene loader plug-ins. More...

#include <PlugInterface.h>

Inheritance diagram for SceneLoader:

[legend]
Collaboration diagram for SceneLoader:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API SceneSharedPtr | load (const std::string &filename, const std::vector< std::string > &searchPaths, ViewStateSharedPtr &viewState)=0
Loading a scene.

Protected Member Functions

virtual NVSG_API | ~SceneLoader ()
Protected virtual destructor.

Detailed Description

Pure virtual base class for SceniX scene loader plug-ins.

User defined SceniX scene loader plug-ins must provide the SceneLoader interface.

Client code that needs to utilize a certain SceneLoader interface should first query for a unique plug interface type ID through a call to nvutil::queryInterfaceType. The unique plug interface type ID for a SceneLoader will be constructed from the UPITID_SCENE_SAVER define and the actual SceniX version, which is coded in the UPITID_VERSION define, as shown in the code snippet below. A call to nvutil::queryInterfaceType returns a list of all unique interface IDs (UPIIDSs) found at given search paths.
After that, the client code can take the different UPIIDs to grab a scene loader interface through a call to nvutil::getInterface.
After usage, the client code should release the interface through a call to nvutil::releaseInterface:
   // Example:
   // --------
   // Get a scene loader interface capable to load 'nbf' files ("NVSG Binary File")

   //
   vector<string> searchPaths;
   // Add appropriate search paths here. Not relevant for the example here.
   // ...

   // define the unique plug interface type ID for SceneLoaders
   const nvutil::UPITID PITID_SCENE_LOADER(UPITID_SCENE_LOADER, UPITID_VERSION);

   nvsg::SmartScene theScene;
   nvsg::SmartViewState viewState;
   nvutil::UPIID nbfLoaderInterfaceID;
   bool foundAppropriate = false;
   vector<nvutil::UPIID> piids;
   if ( nvutil::queryInterfaceType(searchPaths, PITID_SCENE_LOADER, piids) )
   {
     vector<nvutil::UPIID>::iterator it = piids.begin();
     for ( ; it != piids.end(); ++it )
     {
       if ( !stricmp((*it).getPlugSpecificIDString(), ".nbf") )
       {
         // found, copy the ID
         nbfLoaderInterfaceID = *it;
         foundAppropriate = true;
         break; // look no further
       }
     }
     if ( foundAppropriate )
     {
       nvutil::PlugIn * plug;
       if ( nvutil::getInterface(searchPaths, nbfLoaderInterfaceID, plug) )
       {
         nvsg::SceneLoader * loader = reinterpret_cast<SceneLoader*>(plug);
         theScene = loader->load("c:\\myscenes\\sample.nbf", searchPaths, viewState);
         nvutil::releaseInterface(nbfLoaderInterfaceID);
       }
     }
   }

Constructor & Destructor Documentation

virtual NVSG_API ~SceneLoader ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a SceneLoader derived object on stack and
  • calling delete on a pointer to SceneLoader.
    Note:
    This will not prohibit the client code from calling delete on a pointer to a SceneLoader derived object. Normally this is not that critical, because one almost always uses a pointer to the base class when working with SceneLoader plug-ins.
    Nevertheless, it would be far less error prone if classes that inherit from SceneLoader also make their destructor protected.

Member Function Documentation

virtual NVSG_API SceneSharedPtr load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | ViewStateSharedPtr & | viewState
 | ) | [pure virtual]

Loading a scene.

Loads a SceniX scene from a file specified by filename. The function tries to look up this file as follows:

  1. Looks at the specified location.
  2. Looks at the current directory.
  3. Uses the search paths stored in searchPaths to look up the file.
    Returns:
    A a SceneSharedPtr specifying the loaded scene if successful, a null pointer otherwise.
Parameters:
filename | A string that holds the name of the scene file to be loaded.
searchPaths | A collection of search paths used to look up the file.
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: Member List

SceneLoader Member List

This is the complete list of members for SceneLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void)=0 | PlugIn | [protected, pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths, ViewStateSharedPtr &viewState)=0 | SceneLoader | [pure virtual]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneLoader() | SceneLoader | [protected, virtual]

Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: SceneRenderer Class Reference

nvui::SceneRenderer

SceneRenderer Class Reference

SceneRenderer is the base class for all Renderers which visualize a scene. On a stereo nvui::RenderTarget stereo rendering is turned on automatically. SceniX supports a default implementation of nvui::SceneRenderer::StereoViewStateProvider which supports nvsg::PerspectiveCamera. For other cameras it is possible to specify the camera matrices for the left and right eye by implementing a custom nvui::SceneRenderer::StereoViewStateProvider. More...

#include <SceneRenderer.h>

Inheritance diagram for SceneRenderer:

[legend]
Collaboration diagram for SceneRenderer:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setViewState (const nvsg::ViewStateSharedPtr &viewState)
Set an nvsg::ViewState to be used with this SceneRenderer.
NVSG_API const nvsg::ViewStateSharedPtr & | getViewState () const
Get the default nvsg::ViewState used by render calls.
NVSG_API void | setTraversalMaskOverride (unsigned int mask)
Set the TraversalMask Override to be used with this SceneRenderer.
NVSG_API unsigned int | getTraversalMaskOverride () const
Get the current TraversalMask override.
NVSG_API void | setStereoViewStateProvider (const nvutil::SmartPtr< StereoViewStateProvider > &viewStateProvider)
Set the StereoViewState provider which should be used for stereo ViewState calculation.
NVSG_API nvutil::SmartPtr<
StereoViewStateProvider > 		getStereoViewStateProvider () const
NVSG_API void | render (const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget=SmartRenderTarget(), RenderTarget::StereoTarget stereoTarget=RenderTarget::LEFT_AND_RIGHT)
Render one frame with the given nvsg::ViewState and renderTarget.
virtual NVSG_API void | addRendererOptions (const RendererOptionsSharedPtr &rendererOptions)
Add all renderer options required by this renderer to the given nvui::RendererOptions object. It is possible to pass the same options object to multiple SceneRenderers as long as there are no property name collisions.
REFLECTION_INFO_API (NVSG_API, SceneRenderer)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (PreserveTexturesAfterUpload)
NVSG_API | DECLARE_STATIC_PROPERTY (TraversalMaskOverride)

Protected Member Functions

NVSG_API | SceneRenderer (const SmartRenderTarget &renderTarget=SmartRenderTarget())
Constructor used by create *.
NVSG_API bool | isPreserveTexturesAfterUpload () const
NVSG_API void | setPreserveTexturesAfterUpload (bool onOff)
virtual NVSG_API void | beginRendering (const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | endRendering (const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | doRender (const SmartRenderTarget &renderTarget)
Override this function to implement a rendering algorithm.
virtual NVSG_API void | doRender (const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget)=0
Interface for the actual rendering algorithm.
virtual NVSG_API void | renderMapList (const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | beginRenderMapList (const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | endRenderMapList (const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapElement (const nvsg::MapElementSharedPtr &mapElement, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapArray (const nvsg::MapArraySharedPtr &mapArray, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapMatrix (const nvsg::MapMatrixSharedPtr &mapMatrix, const SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapObject (const nvsg::MapObjectSharedPtr &mapObject, const SmartRenderTarget &renderTarget)

Protected Attributes

nvsg::SceneSharedPtr | m_scene
nvsg::ViewStateSharedPtr | m_viewState
bool | m_preserveTexturesAfterUpload
nvui::RendererOptionsWeakPtr | m_rendererOptions

Classes

class | StereoViewStateProvider
This class generates an nvsg::ViewState for the left and right eye based on a monoscopic nvsg::ViewState. More...

Detailed Description

SceneRenderer is the base class for all Renderers which visualize a scene. On a stereo nvui::RenderTarget stereo rendering is turned on automatically. SceniX supports a default implementation of nvui::SceneRenderer::StereoViewStateProvider which supports nvsg::PerspectiveCamera. For other cameras it is possible to specify the camera matrices for the left and right eye by implementing a custom nvui::SceneRenderer::StereoViewStateProvider.

Constructor & Destructor Documentation

NVSG_API SceneRenderer ( const SmartRenderTarget & renderTarget = SmartRenderTarget() ) [protected]

Constructor used by create *.

Member Function Documentation

NVSG_API void setViewState ( const nvsg::ViewStateSharedPtr & viewState )

Set an nvsg::ViewState to be used with this SceneRenderer.

Parameters:
viewState The nvsg::ViewState to be used.
Note:
The nvsg::ViewState's TraversalMask will be used in conjunction with any TraversalMaskOverride to direct scene traversal and rendering. See setTraversalMaskOverride for more info.
See also:
getViewState, setTraversalMaskOverride

NVSG_API const nvsg::ViewStateSharedPtr& getViewState ( ) const

Get the default nvsg::ViewState used by render calls.

Returns:
Default nvsg::ViewState used by render calls

void setTraversalMaskOverride ( unsigned int mask ) [inline]

Set the TraversalMask Override to be used with this SceneRenderer.

Parameters:
mask The mask to be used.
Remarks:
This method provides a way to set the traversal mask override for this SceneRenderer.
Note:
  • The nvsg::ViewState's TraversalMask is used in conjuction with the OverrideTraversalMask and every scene graph node's TraversalMask to determine whether nodes (and therefore possibly their entire subgraph) are rendered. The scene renderer's override traversal mask is OR'd with the node's traversal mask and that result is ANDed with the nvsg::ViewState's traversal mask. If the result is nonzero then the node is traversed/rendered, otherwise it is ignored. IE: If ( ( (SceneRenderer::TraversalMaskOverride | Object::TraversalMask) & nvsg::ViewState::TraversalMask ) != 0 ) is true the node is rendered.
  • Setting the nvsg::ViewState's TraversalMask to 0 will cause no nodes to be traversed. Setting the nvsg::ViewState's TraversalMask to ~0 and the TraversalMaskOverride to ~0 will cause all nodes to be traversed regardless of the Object::TraversalMask.
  • The default traversal mask override is 0 so that it does not affect traversal/rendering.
See also:
getTraversalMaskOverride, nvsg::ViewState::setTraversalMask, Object::setTraversalMask

unsigned int getTraversalMaskOverride ( ) const [inline]

Get the current TraversalMask override.

Returns:
mask The mask in use.
See also:
setTraversalMaskOverride

void setStereoViewStateProvider ( const nvutil::SmartPtr< StereoViewStateProvider > & viewStateProvider ) [inline]

Set the StereoViewState provider which should be used for stereo ViewState calculation.

Parameters:
viewStateProvider A ViewStateProvider instance with desired behaviour.

NVSG_API void render | ( | const nvsg::ViewStateSharedPtr & | viewState,
 |  | const SmartRenderTarget & | renderTarget = SmartRenderTarget(),
 |  | RenderTarget::StereoTarget | stereoTarget = RenderTarget::LEFT_AND_RIGHT
 | ) |

Render one frame with the given nvsg::ViewState and renderTarget.

Parameters:
viewState | nvsg::ViewState to use to render the frame.
renderTarget | If renderTarget is valid it temporarily overrides the default set by Renderer::setRenderTarget.

virtual NVSG_API void addRendererOptions ( const RendererOptionsSharedPtr & rendererOptions ) [virtual]

Add all renderer options required by this renderer to the given nvui::RendererOptions object. It is possible to pass the same options object to multiple SceneRenderers as long as there are no property name collisions.

Parameters:
rendererOptions Object which holds renderer options.

virtual NVSG_API void doRender ( const SmartRenderTarget & renderTarget ) [protected, virtual]

Override this function to implement a rendering algorithm.

Parameters:
renderTarget nvui::RenderTarget determined by the render call.

Implements Renderer.

virtual NVSG_API void doRender | ( | const nvsg::ViewStateSharedPtr & | viewState,
 |  | const SmartRenderTarget & | renderTarget
 | ) | [protected, pure virtual]

Interface for the actual rendering algorithm.

Parameters:
viewState | The nvsg::ViewState to use to render the frame.
renderTarget | The RenderTarget to use to render the frame.

The documentation for this class was generated from the following file:
  • SceneRenderer.h
Generated on Fri Jul 13 13:31:21 2012 for SceniX


SceniX: Member List

SceneRenderer Member List

This is the complete list of members for SceneRenderer, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
addRendererOptions(const RendererOptionsSharedPtr &rendererOptions) | SceneRenderer | [virtual]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
nvui::Renderer::beginRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
beginRenderMapList(const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
DECLARE_STATIC_PROPERTY(PreserveTexturesAfterUpload) (defined in SceneRenderer) | SceneRenderer |
DECLARE_STATIC_PROPERTY(TraversalMaskOverride) (defined in SceneRenderer) | SceneRenderer |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doRender(const SmartRenderTarget &renderTarget) | SceneRenderer | [protected, virtual]
doRender(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget)=0 | SceneRenderer | [protected, pure virtual]
endRendering(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
nvui::Renderer::endRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
endRenderMapList(const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
getClassName() const | Reflection |
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderTarget() const | Renderer |
getStereoViewStateProvider() const (defined in SceneRenderer) | SceneRenderer | [inline]
getTraversalMaskOverride() const | SceneRenderer | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
getViewState() const | SceneRenderer |
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isPreserveTexturesAfterUpload() const (defined in SceneRenderer) | SceneRenderer | [inline, protected]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
m_mutableLock (defined in Subject) | Subject | [protected]
m_preserveTexturesAfterUpload (defined in SceneRenderer) | SceneRenderer | [protected]
m_propertyLists | Reflection | [protected]
m_rendererOptions (defined in SceneRenderer) | SceneRenderer | [protected]
m_scene (defined in SceneRenderer) | SceneRenderer | [protected]
m_viewState (defined in SceneRenderer) | SceneRenderer | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, SceneRenderer) (defined in SceneRenderer) | SceneRenderer |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
render(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget=SmartRenderTarget(), RenderTarget::StereoTarget stereoTarget=RenderTarget::LEFT_AND_RIGHT) | SceneRenderer |
nvui::Renderer::render(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer |
Renderer(const SmartRenderTarget &renderTarget=SmartRenderTarget()) (defined in Renderer) | Renderer | [protected]
renderMapArray(const nvsg::MapArraySharedPtr &mapArray, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapElement(const nvsg::MapElementSharedPtr &mapElement, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapList(const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapMatrix(const nvsg::MapMatrixSharedPtr &mapMatrix, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapObject(const nvsg::MapObjectSharedPtr &mapObject, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
restartAccumulation() | Renderer | [virtual]
SceneRenderer(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | SceneRenderer | [protected]
setPreserveTexturesAfterUpload(bool onOff) (defined in SceneRenderer) | SceneRenderer | [inline, protected]
setRenderTarget(const SmartRenderTarget &renderTarget) | Renderer |
setStereoViewStateProvider(const nvutil::SmartPtr< StereoViewStateProvider > &viewStateProvider) | SceneRenderer | [inline]
setTraversalMaskOverride(unsigned int mask) | SceneRenderer | [inline]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | SceneRenderer |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Renderer() (defined in Renderer) | Renderer | [virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:31:21 2012 for SceniX


SceniX: SceneRenderer::StereoViewStateProvider Class Reference

nvui::SceneRenderer::StereoViewStateProvider

SceneRenderer::StereoViewStateProvider Class Reference

This class generates an nvsg::ViewState for the left and right eye based on a monoscopic nvsg::ViewState. More...

#include <SceneRenderer.h>

List of all members.

Public Member Functions

NVSG_API nvsg::ViewStateSharedPtr | getViewState (const nvsg::ViewStateSharedPtr &viewState, nvui::RenderTarget::StereoTarget eye)
Get an nvsg::ViewState for the given eye. Implement calculateViewState for custom behaviour.

Protected Member Functions

virtual NVSG_API nvsg::ViewStateSharedPtr | calculateViewState (const nvsg::ViewStateSharedPtr &viewState, nvui::RenderTarget::StereoTarget eye)=0
Calculate an nvsg::ViewState for the given eye. Override this function to implement custom behaviour.

Detailed Description

This class generates an nvsg::ViewState for the left and right eye based on a monoscopic nvsg::ViewState.

Member Function Documentation

NVSG_API nvsg::ViewStateSharedPtr getViewState | ( | const nvsg::ViewStateSharedPtr & | viewState,
 |  | nvui::RenderTarget::StereoTarget | eye
 | ) |

Get an nvsg::ViewState for the given eye. Implement calculateViewState for custom behaviour.

Parameters:
viewState | Monoscopic nvsg::ViewState used as base for the stereo nvsg::ViewState.
eye | nvui::RenderTarget::LEFT or nvui::RenderTarget::RIGHT for the left or right eye, respectively.
Returns:
nvsg::ViewState for the given eye.

virtual NVSG_API nvsg::ViewStateSharedPtr calculateViewState | ( | const nvsg::ViewStateSharedPtr & | viewState,
 |  | nvui::RenderTarget::StereoTarget | eye
 | ) | [protected, pure virtual]

Calculate an nvsg::ViewState for the given eye. Override this function to implement custom behaviour.

Parameters:
viewState | Monoscopic nvsg::ViewState used as base for the stereo nvsg::ViewState.
eye | nvui::RenderTarget::LEFT or nvui::RenderTarget::RIGHT for the left or right eye.
Returns:
nvsg::ViewState for the given eye.

The documentation for this class was generated from the following file:
  • SceneRenderer.h
Generated on Fri Jul 13 13:31:21 2012 for SceniX


SceniX: Member List

SceneRenderer::StereoViewStateProvider Member List

This is the complete list of members for SceneRenderer::StereoViewStateProvider, including all inherited members.

calculateViewState(const nvsg::ViewStateSharedPtr &viewState, nvui::RenderTarget::StereoTarget eye)=0 | SceneRenderer::StereoViewStateProvider | [protected, pure virtual]
getViewState(const nvsg::ViewStateSharedPtr &viewState, nvui::RenderTarget::StereoTarget eye) | SceneRenderer::StereoViewStateProvider |

Generated on Fri Jul 13 13:31:21 2012 for SceniX


SceniX: SceneRendererGL2 Class Reference

nvgl::SceneRendererGL2

SceneRendererGL2 Class Reference

SceneRendererGL2 is an OpenGL 2.1 based renderer. The OpenGL context used during the first render call must not be changed for successive calls. It is necessary to remove all references to this object before the attached OpenGL context gets destroyed. Deleting this object after destroying the corresponding OpenGL context will result in a crash during resource cleanup. OpenGL resources like VBOs, display lists and textures will be shared between multiple SceneRendererGL2 objects if the corresponding OpenGL contexts are being shared. More...

#include <SceneRendererGL2.h>

Inheritance diagram for SceneRendererGL2:

[legend]
Collaboration diagram for SceneRendererGL2:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | addRendererOptions (const nvui::RendererOptionsSharedPtr &rendererOptions)
Add all supported options to the RendererOptions container.

Static Public Member Functions

static NVSG_API nvutil::SmartPtr<
SceneRendererGL2 > 		create (const SmartRenderTargetGL &renderTargetGL=SmartRenderTargetGL())
Create an instance of SceneRendererGL2.
static NVSG_API const std::string & | getOptionStringCacheMode ()
CacheMode specifies the storage mode used for vertex and index data.
ParameterType: nvgl::SceneRendererGL2::CacheMode
Default Value: CACHEMODE_VBO.
static NVSG_API const std::string & | getOptionStringFaceCullMode ()
FaceCullMode specified which sides of a face should be culled. ParameterType: nvgl::SceneRendererGL2::FaceCullMode Default Value: CULLMODE_BACK.
static NVSG_API const std::string & | getOptionStringLightModelLocalViewer ()
Enable OpenGL light model: "local viewer"
ParameterType: bool
Default Value: false.
static NVSG_API const std::string & | getOptionStringLightModelTwoSide ()
Enable OpenGL light model: "two side"
ParameterType: bool
Default Value: false.
static NVSG_API const std::string & | getOptionStringSeparateSpecularColor ()
Enable OpenGL light model: "separate specular color"
ParameterType: bool
Default Value: true.
static NVSG_API const std::string & | getOptionStringTransparencyDepthMask ()
Controls the depth mask when rendering transparent geometry.
ParameterType: bool
Default Value: false.
static NVSG_API const std::string & | getOptionStringFrustumCulling ()
Enable frustum culling
ParameterType: bool
Default Value: true.
static NVSG_API const std::string & | getOptionStringSizeCulling ()
Enable size culling
ParameterType: bool
Default Value:.
static NVSG_API const std::string & | getOptionStringSizeCullingFactor ()
Project size factor for size culling.
ParameterType: float
Default Value: 1.0.
static NVSG_API const std::string & | getOptionStringRenderModeGroup ()
Set the RenderModeGroup to render. -1 specified all RenderModeGroups.
ParameterType: int
Default Value: -1.
static NVSG_API const std::string & | getOptionStringTraversalMaskOverride ()
TraversalMaskOverride will be or'ed to the traversal mask of each object during rendering.
ParameterType: unsigned int
Default Value: 0.
static NVSG_API const std::string & | getOptionStringTessellationEnabled ()
Enable tesselation hardware if supported.
ParameterType: bool
Default Value: true.
static NVSG_API const std::string & | getOptionStringPolygonMode ()
Choose Polygonmode.
ParameterType: nvgl::SceneRenderer2::PolygonMode
Default Value: POLYGONMODE_FACE.
static NVSG_API const std::string & | getOptionStringRenderTechnique ()
Choose RenderTechnique
ParameterType: nvgl::SceneRendererGL2::RenderTechnique
Default Value: RENDERTECHNIQUE_EFFECTED.
static NVSG_API const std::string & | getOptionStringPreserveTexturesAfterUpload ()
Tells the renderer to keep textures in host memory after uploading them to the GPU.
ParameterType: bool
Default Value: true.

Protected Member Functions

NVSG_API | SceneRendererGL2 (const SmartRenderTargetGL &renderTargetGL=SmartRenderTargetGL())
NVSG_API void | deletePrimitiveCaches ()
Delete all primitive caches. Call this function only if an OpenGL context is active since resources need to be deleted.
virtual NVSG_API void | beginRendering (const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | endRendering (const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | doRender (const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | beginRenderMapList (const nvsg::MapListSharedPtr &mapList, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | endRenderMapList (const nvsg::MapListSharedPtr &mapList, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapElement (const nvsg::MapElementSharedPtr &mapElement, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapArray (const nvsg::MapArraySharedPtr &mapArray, const nvui::SmartRenderTarget &renderTarget)
virtual NVSG_API void | renderMapMatrix (const nvsg::MapMatrixSharedPtr &mapMatrix, const nvui::SmartRenderTarget &renderTarget)

Detailed Description

SceneRendererGL2 is an OpenGL 2.1 based renderer. The OpenGL context used during the first render call must not be changed for successive calls. It is necessary to remove all references to this object before the attached OpenGL context gets destroyed. Deleting this object after destroying the corresponding OpenGL context will result in a crash during resource cleanup. OpenGL resources like VBOs, display lists and textures will be shared between multiple SceneRendererGL2 objects if the corresponding OpenGL contexts are being shared.

Member Function Documentation

static NVSG_API nvutil::SmartPtr<SceneRendererGL2> create ( const SmartRenderTargetGL & renderTargetGL = SmartRenderTargetGL() ) [static]

Create an instance of SceneRendererGL2.

Parameters:
renderTargetGL Default RenderTargetGL to use.
Returns:
An instance of a SceneRendererGL2 object.

virtual NVSG_API void addRendererOptions ( const nvui::RendererOptionsSharedPtr & rendererOptions ) [virtual]

Add all supported options to the RendererOptions container.

Parameters:
rendererOptions A container for RendererOptions

static NVSG_API const std::string& getOptionStringCacheMode ( ) [static]

CacheMode specifies the storage mode used for vertex and index data.
ParameterType: nvgl::SceneRendererGL2::CacheMode
Default Value: CACHEMODE_VBO.

static NVSG_API const std::string& getOptionStringFaceCullMode ( ) [static]

FaceCullMode specified which sides of a face should be culled. ParameterType: nvgl::SceneRendererGL2::FaceCullMode Default Value: CULLMODE_BACK.

static NVSG_API const std::string& getOptionStringLightModelLocalViewer ( ) [static]

Enable OpenGL light model: "local viewer"
ParameterType: bool
Default Value: false.

static NVSG_API const std::string& getOptionStringLightModelTwoSide ( ) [static]

Enable OpenGL light model: "two side"
ParameterType: bool
Default Value: false.

static NVSG_API const std::string& getOptionStringSeparateSpecularColor ( ) [static]

Enable OpenGL light model: "separate specular color"
ParameterType: bool
Default Value: true.

static NVSG_API const std::string& getOptionStringTransparencyDepthMask ( ) [static]

Controls the depth mask when rendering transparent geometry.
ParameterType: bool
Default Value: false.

static NVSG_API const std::string& getOptionStringFrustumCulling ( ) [static]

Enable frustum culling
ParameterType: bool
Default Value: true.

static NVSG_API const std::string& getOptionStringSizeCulling ( ) [static]

Enable size culling
ParameterType: bool
Default Value:.

static NVSG_API const std::string& getOptionStringSizeCullingFactor ( ) [static]

Project size factor for size culling.
ParameterType: float
Default Value: 1.0.

static NVSG_API const std::string& getOptionStringRenderModeGroup ( ) [static]

Set the RenderModeGroup to render. -1 specified all RenderModeGroups.
ParameterType: int
Default Value: -1.

static NVSG_API const std::string& getOptionStringTraversalMaskOverride ( ) [static]

TraversalMaskOverride will be or'ed to the traversal mask of each object during rendering.
ParameterType: unsigned int
Default Value: 0.

static NVSG_API const std::string& getOptionStringTessellationEnabled ( ) [static]

Enable tesselation hardware if supported.
ParameterType: bool
Default Value: true.

static NVSG_API const std::string& getOptionStringPolygonMode ( ) [static]

Choose Polygonmode.
ParameterType: nvgl::SceneRenderer2::PolygonMode
Default Value: POLYGONMODE_FACE.

static NVSG_API const std::string& getOptionStringRenderTechnique ( ) [static]

Choose RenderTechnique
ParameterType: nvgl::SceneRendererGL2::RenderTechnique
Default Value: RENDERTECHNIQUE_EFFECTED.

static NVSG_API const std::string& getOptionStringPreserveTexturesAfterUpload ( ) [static]

Tells the renderer to keep textures in host memory after uploading them to the GPU.
ParameterType: bool
Default Value: true.

NVSG_API void deletePrimitiveCaches ( ) [protected]

Delete all primitive caches. Call this function only if an OpenGL context is active since resources need to be deleted.

The documentation for this class was generated from the following file:
  • SceneRendererGL2.h
Generated on Fri Jul 13 13:29:40 2012 for SceniX


SceniX: Member List

SceneRendererGL2 Member List

This is the complete list of members for SceneRendererGL2, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
addRendererOptions(const nvui::RendererOptionsSharedPtr &rendererOptions) | SceneRendererGL2 | [virtual]
nvui::SceneRenderer::addRendererOptions(const RendererOptionsSharedPtr &rendererOptions) | SceneRenderer | [virtual]
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
beginRendering(const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
beginRendering(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
nvui::Renderer::beginRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
beginRenderMapList(const nvsg::MapListSharedPtr &mapList, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
beginRenderMapList(const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
create(const SmartRenderTargetGL &renderTargetGL=SmartRenderTargetGL()) | SceneRendererGL2 | [static]
DECLARE_STATIC_PROPERTY(PreserveTexturesAfterUpload) (defined in SceneRenderer) | SceneRenderer |
DECLARE_STATIC_PROPERTY(TraversalMaskOverride) (defined in SceneRenderer) | SceneRenderer |
deletePrimitiveCaches() | SceneRendererGL2 | [protected]
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doRender(const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
nvui::SceneRenderer::doRender(const SmartRenderTarget &renderTarget) | SceneRenderer | [protected, virtual]
nvui::SceneRenderer::doRender(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget)=0 | SceneRenderer | [protected, pure virtual]
endRendering(const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
endRendering(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
nvui::Renderer::endRendering(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer | [protected, virtual]
endRenderMapList(const nvsg::MapListSharedPtr &mapList, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
endRenderMapList(const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
getClassName() const | Reflection |
getOptionStringCacheMode() | SceneRendererGL2 | [static]
getOptionStringFaceCullMode() | SceneRendererGL2 | [static]
getOptionStringFrustumCulling() | SceneRendererGL2 | [static]
getOptionStringLightModelLocalViewer() | SceneRendererGL2 | [static]
getOptionStringLightModelTwoSide() | SceneRendererGL2 | [static]
getOptionStringPolygonMode() | SceneRendererGL2 | [static]
getOptionStringPreserveTexturesAfterUpload() | SceneRendererGL2 | [static]
getOptionStringRenderModeGroup() | SceneRendererGL2 | [static]
getOptionStringRenderTechnique() | SceneRendererGL2 | [static]
getOptionStringSeparateSpecularColor() | SceneRendererGL2 | [static]
getOptionStringSizeCulling() | SceneRendererGL2 | [static]
getOptionStringSizeCullingFactor() | SceneRendererGL2 | [static]
getOptionStringTessellationEnabled() | SceneRendererGL2 | [static]
getOptionStringTransparencyDepthMask() | SceneRendererGL2 | [static]
getOptionStringTraversalMaskOverride() | SceneRendererGL2 | [static]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getRenderTarget() const | Renderer |
getStereoViewStateProvider() const (defined in SceneRenderer) | SceneRenderer | [inline]
getTraversalMaskOverride() const | SceneRenderer | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
getViewState() const | SceneRenderer |
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isPreserveTexturesAfterUpload() const (defined in SceneRenderer) | SceneRenderer | [inline, protected]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
m_mutableLock (defined in Subject) | Subject | [protected]
m_preserveTexturesAfterUpload (defined in SceneRenderer) | SceneRenderer | [protected]
m_propertyLists | Reflection | [protected]
m_rendererOptions (defined in SceneRenderer) | SceneRenderer | [protected]
m_scene (defined in SceneRenderer) | SceneRenderer | [protected]
m_viewState (defined in SceneRenderer) | SceneRenderer | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, SceneRenderer) (defined in SceneRenderer) | SceneRenderer |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
render(const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget=SmartRenderTarget(), RenderTarget::StereoTarget stereoTarget=RenderTarget::LEFT_AND_RIGHT) | SceneRenderer |
nvui::Renderer::render(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | Renderer |
Renderer(const SmartRenderTarget &renderTarget=SmartRenderTarget()) (defined in Renderer) | Renderer | [protected]
renderMapArray(const nvsg::MapArraySharedPtr &mapArray, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
renderMapArray(const nvsg::MapArraySharedPtr &mapArray, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapElement(const nvsg::MapElementSharedPtr &mapElement, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
renderMapElement(const nvsg::MapElementSharedPtr &mapElement, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapList(const nvsg::MapListSharedPtr &mapList, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapMatrix(const nvsg::MapMatrixSharedPtr &mapMatrix, const nvui::SmartRenderTarget &renderTarget) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
renderMapMatrix(const nvsg::MapMatrixSharedPtr &mapMatrix, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
renderMapObject(const nvsg::MapObjectSharedPtr &mapObject, const SmartRenderTarget &renderTarget) (defined in SceneRenderer) | SceneRenderer | [protected, virtual]
restartAccumulation() | Renderer | [virtual]
SceneRenderer(const SmartRenderTarget &renderTarget=SmartRenderTarget()) | SceneRenderer | [protected]
SceneRendererGL2(const SmartRenderTargetGL &renderTargetGL=SmartRenderTargetGL()) (defined in SceneRendererGL2) | SceneRendererGL2 | [protected]
setPreserveTexturesAfterUpload(bool onOff) (defined in SceneRenderer) | SceneRenderer | [inline, protected]
setRenderTarget(const SmartRenderTarget &renderTarget) | Renderer |
setStereoViewStateProvider(const nvutil::SmartPtr< StereoViewStateProvider > &viewStateProvider) | SceneRenderer | [inline]
setTraversalMaskOverride(unsigned int mask) | SceneRenderer | [inline]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | SceneRenderer |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Renderer() (defined in Renderer) | Renderer | [virtual]
~SceneRendererGL2() (defined in SceneRendererGL2) | SceneRendererGL2 | [protected, virtual]
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:29:40 2012 for SceniX


SceniX: SceneSaver Class Reference

nvsg::SceneSaver

SceneSaver Class Reference

Pure virtual base class for SceniX scene saver plug-ins. More...

#include <PlugInterface.h>

Inheritance diagram for SceneSaver:

[legend]
Collaboration diagram for SceneSaver:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | save (const SceneSharedPtr &scene, const ViewStateSharedPtr &viewState, const std::string &filename)=0
Saving a scene.

Protected Member Functions

virtual NVSG_API | ~SceneSaver ()
Protected virtual destructor.

Detailed Description

Pure virtual base class for SceniX scene saver plug-ins.

User defined SceniX scene saver plug-ins must provide the SceneSaver interface.

Constructor & Destructor Documentation

virtual NVSG_API ~SceneSaver ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a SceneSaver derived object on stack and
  • calling delete on a pointer to SceneSaver.
    Note:
    This will not prohibit the client code from calling delete on a pointer to a SceneSaver derived object. Normally this is not that critical, because one almost always uses a pointer to the base class when working with SceneSaver plug-ins.
    Nevertheless, it would be far less error prone if classes that inherit from SceneSaver, also make their destructor protected.

Member Function Documentation

virtual NVSG_API bool save | ( | const SceneSharedPtr & | scene,
 |  | const ViewStateSharedPtr & | viewState,
 |  | const std::string & | filename
 | ) | [pure virtual]

Saving a scene.

Saves a SceniX scene and a viewState to a file specified by filename.

Returns:
true if successful, false otherwise.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: Member List

SceneSaver Member List

This is the complete list of members for SceneSaver, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void)=0 | PlugIn | [protected, pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
save(const SceneSharedPtr &scene, const ViewStateSharedPtr &viewState, const std::string &filename)=0 | SceneSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneSaver() | SceneSaver | [protected, virtual]

Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: SceniXIterator Class Template Reference

nvutil::SceniXIterator

SceniXIterator Class Template Reference

Iterator base class for various iterators in SceniX. More...

#include <SceniXIterator.h>

Inheritance diagram for SceniXIterator:

[legend]
Collaboration diagram for SceniXIterator:

[legend]
List of all members.

Public Member Functions

SceniXIterator (const IteratorType &it)
Construct a SceniXIterator out of an iterator.
const IteratorType::value_type & | operator * () const
Constant indirection operator, providing a const reference to the variable.
const IteratorType::value_type * | operator-> () const
Constant member operator, providing a const pointer to the variable.
bool | operator== (const SceniXIterator &di) const
Equal operator.
bool | operator!= (const SceniXIterator &di) const
Not equal operator.
SceniXIterator & operator++ ()
Prefix increment operator.
SceniXIterator & operator-- ()
Prefix decrement operator.

Protected Attributes

IteratorType | m_iter
The wrapped iterator.

Detailed Description

template<typename FriendType, typename IteratorType>
class nvutil::SceniXIterator< FriendType, IteratorType >

Iterator base class for various iterators in SceniX.

Parameters:
FriendType | The class being a friend of this SceniXIterator.
IteratorType | The iterator type to wrap.
Remarks:
This class is used to wrap an arbitrary iterator, but provide only const access to it, while one of the template arguments specifies a class to be a friend of this SceniXIterator, thus allowing unlimited access to just that class.
Note:
There is no post-increment or post-decrement operator declared.
See also:
Camera::HeadLightIterator, GeoNode::StateSetIterator, GeoNode::DrawableIterator

Constructor & Destructor Documentation

SceniXIterator ( const IteratorType & it ) [inline, explicit]

Construct a SceniXIterator out of an iterator.

Parameters:
it An iterator of the same type being wrapped by this SceniXIterator

Member Function Documentation

const IteratorType::value_type & operator * ( ) const [inline]

Constant indirection operator, providing a const reference to the variable.

Returns:
A constant reference to the variable

Reimplemented in GeoNode::StateSetIterator, and GeoNode::StateSetConstIterator.

const IteratorType::value_type * operator-> ( ) const [inline]

Constant member operator, providing a const pointer to the variable.

Returns:
A constant pointer to the variable

Reimplemented in GeoNode::StateSetIterator, and GeoNode::StateSetConstIterator.

bool operator== ( const SceniXIterator< FriendType, IteratorType > & di ) const [inline]

Equal operator.

Parameters:
di The SceniXIterator to compare with.
Returns:
true, if this and di are equal, otherwise false.

bool operator!= ( const SceniXIterator< FriendType, IteratorType > & di ) const [inline]

Not equal operator.

Parameters:
di The SceniXIterator to compare with.
Returns:
true, if this and di are not equal, otherwise false.

SceniXIterator< FriendType, IteratorType > & operator++ ( ) [inline]

Prefix increment operator.

Returns:
A reference to the SceniXIterator after incrementing.

SceniXIterator< FriendType, IteratorType > & operator-- ( ) [inline]

Prefix decrement operator.

Returns:
A reference to the SceniXIterator after decrementing.

Member Data Documentation

IteratorType m_iter [protected]

The wrapped iterator.

The documentation for this class was generated from the following file:
  • SceniXIterator.h
Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: Member List

SceniXIterator Member List

This is the complete list of members for SceniXIterator, including all inherited members.

m_iter | SceniXIterator | [protected]
operator *() const | SceniXIterator | [inline]
operator!=(const SceniXIterator &di) const | SceniXIterator | [inline]
operator++() | SceniXIterator | [inline]
operator--() | SceniXIterator | [inline]
operator->() const | SceniXIterator | [inline]
operator==(const SceniXIterator &di) const | SceniXIterator | [inline]
SceniXIterator() (defined in SceniXIterator) | SceniXIterator | [inline]
SceniXIterator(const IteratorType &it) | SceniXIterator | [inline, explicit]

Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: SearchTraverser Class Reference

nvtraverser::SearchTraverser

SearchTraverser Class Reference

Traverser to search for a tree object by class type or by name. You want to apply a SearchTraverser on a scene or a certain node to search for tree objects by name or by class type. If you search for objects by class type you can configure the SearchTraverser to search for an explicit class type or for objects that have the specified class typ as base class. More...

#include <SearchTraverser.h>

Inheritance diagram for SearchTraverser:

[legend]
Collaboration diagram for SearchTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | SearchTraverser ()
Default-constructs a SearchTraverser.
NVSG_API const std::vector<
const nvsg::Path * > & 		getPaths ()
Returns paths for all objects found.
NVSG_API const std::vector<
nvsg::ObjectWeakPtr > & 		getResults ()
Returns all objects found.
NVSG_API void | setClassName (const std::string &name)
Sets a class name as serach criterion.
NVSG_API const std::string & | getClassName () const
Returns the class name set as search criterion.
NVSG_API void | setObjectName (const std::string &objectName)
Sets an object name as search criterion.
NVSG_API const std::string & | getObjectName () const
Returns the object name set as search criterion.
NVSG_API void | setObjectPointer (const nvsg::ObjectWeakPtr &ptr)
Specifies a particular object to search for.
NVSG_API nvsg::ObjectWeakPtr | getObjectPointer () const
Returns the object to search for.
NVSG_API void | setBaseClassSearch (bool enable)
NVSG_API bool | getBaseClassSearch () const
Returns the enable state of the base class search option.
REFLECTION_INFO_API (NVSG_API, SearchTraverser)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (ClassName)
NVSG_API | DECLARE_STATIC_PROPERTY (ObjectName)
NVSG_API | DECLARE_STATIC_PROPERTY (BaseClassSearch)

Protected Member Functions

virtual NVSG_API | ~SearchTraverser (void)
Destructor.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Set up the search and traverse the scene.
NVSG_API void | addItem (const nvsg::Object *obj)
Add an Object to the list of found items.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *p)
Routine to handle a Billboard node while traversing the scene graph.
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Routine to handle a GeoNode while traversing the scene graph.
virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Routine to handle a Group node while traversing the scene graph.
virtual NVSG_API void | handleFlipbookAnimation (const nvsg::FlipbookAnimation *p)
Routine to handle a FlipbookAnimation node while traversing the scene graph.
virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.
virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Routine to handle a Switch node while traversing the scene graph.
virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Routine to handle a Transform node while traversing the scene graph.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Routine to handle a AnimatedTransform node while traversing the scene graph.
virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Routine to handle a DirectedLight node while traversing the scene graph.
virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Routine to handle a PointLight node while traversing the scene graph.
virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Routine to handle a SpotLight node while traversing the scene graph.
virtual NVSG_API void | handleLines (const nvsg::Lines *p)
Routine to handle a Lines object while traversing the scene graph.
virtual NVSG_API void | handleLineStrips (const nvsg::LineStrips *p)
Routine to handle a LineStrips object while traversing the scene graph.
virtual NVSG_API void | handlePoints (const nvsg::Points *p)
Routine to handle a Points object while traversing the scene graph.
virtual NVSG_API void | handleQuadMeshes (const nvsg::QuadMeshes *p)
Routine to handle a QuadMeshes object while traversing the scene graph.
virtual NVSG_API void | handleQuadPatches (const nvsg::QuadPatches *p)
Routine to handle a QuadPatches object while traversing the scene graph.
virtual NVSG_API void | handleQuadPatches4x4 (const nvsg::QuadPatches4x4 *p)
Routine to handle a QuadPatches4x4 object while traversing the scene graph.
virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Routine to handle a Quads object while traversing the scene graph.
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Routine to handle a QuadStrips object while traversing the scene graph.
virtual NVSG_API void | handleRectPatches (const nvsg::RectPatches *p)
Routine to handle a RectPatches object while traversing the scene graph.
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Routine to handle a Triangles object while traversing the scene graph.
virtual NVSG_API void | handleTriFans (const nvsg::TriFans *p)
Routine to handle a TriFans object while traversing the scene graph.
virtual NVSG_API void | handleTriPatches (const nvsg::TriPatches *p)
Routine to handle a TriPatches object while traversing the scene graph.
virtual NVSG_API void | handleTriPatches4 (const nvsg::TriPatches4 *p)
Routine to handle a TriPatches4 object while traversing the scene graph.
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Routine to handle a TriStrips object while traversing the scene graph.
virtual NVSG_API void | handlePrimitive (const nvsg::Primitive *p)
Routine to handle a Primitives object while traversing the scene graph.
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Routine to handle a StateSet object while traversing the scene graph.
virtual NVSG_API void | handleStateVariant (const nvsg::StateVariant *p)
Routine to handle a StateVariant object while traversing the scene graph.
virtual NVSG_API void | handleStatePass (const nvsg::StatePass *p)
Routine to handle a StatePass object while traversing the scene graph.
virtual NVSG_API void | handleBlendAttribute (const nvsg::BlendAttribute *p)
Routine to handle a BlendAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Routine to handle a CgFx attribute while traversing the scene graph.
virtual NVSG_API void | handleRTFx (const nvsg::RTFx *p)
Routine to handle a RTFx attribute while traversing the scene graph.
virtual NVSG_API void | handleRTFxProgram (const nvsg::RTFxProgram *p)
Routine to handle a RTFxProgram while traversing the scene graph.
virtual NVSG_API void | handleRTBufferAttribute (const nvsg::RTBufferAttribute *p)
Routine to handle a RTBufferAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleDepthAttribute (const nvsg::DepthAttribute *p)
Routine to handle a DepthAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleStencilAttribute (const nvsg::StencilAttribute *p)
Routine to handle a StencilAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Routine to handle a FaceAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleLineAttribute (const nvsg::LineAttribute *p)
Routine to handle a LineAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Routine to handle a Material attribute while traversing the scene graph.
virtual NVSG_API void | handlePointAttribute (const nvsg::PointAttribute *p)
Routine to handle a PointAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Routine to handle a TextureAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleUnlitColorAttribute (const nvsg::UnlitColorAttribute *p)
Routine to handle an UnlitColorAttribute attribute while traversing the scene graph.
virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p)
Routine to handle a ParallelCamera object while traversing the scene graph.
virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p)
Routine to handle a PerspectiveCamera object while traversing the scene graph.
virtual NVSG_API void | handleMatrixCamera (const nvsg::MatrixCamera *p)
Routine to handle a MatrixCamera object while traversing the scene graph.
virtual NVSG_API void | handleFramedIndexAnimationDescription (const nvsg::FramedAnimationDescription< unsigned int > *p)
Routine to handle a FramedAnimationDescription<unsigned int> object while traversing the scene graph.
virtual NVSG_API void | handleFramedTrafoAnimationDescription (const nvsg::FramedAnimationDescription< nvmath::Trafo > *p)
Routine to handle a FramedAnimationDescription<Trafo> object while traversing the scene graph.
virtual NVSG_API void | handleFramedVertexAttributeAnimationDescription (const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Routine to handle a FramedAnimationDescription<VertexAttribute> object while traversing the scene graph.
virtual NVSG_API void | handleLinearInterpolatedTrafoAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *p)
Routine to handle a LinearInterpolatedAnimationDescription<Trafo> object while traversing the scene graph.
virtual NVSG_API void | handleLinearInterpolatedVertexAttributeAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Routine to handle a LinearInterpolatedAnimationDescription<VertexAttribute> object while traversing the scene graph.
virtual NVSG_API void | handleVertexAttributeSet (const nvsg::VertexAttributeSet *vas)
Routine to handle a VertexAttributeSet object while traversing the scene graph.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *avas)
Routine to handle a AnimatedVertexAttributeSet object while traversing the scene graph.
virtual NVSG_API void | handleSkin (const nvsg::Skin *skin)
Routine to handle a Skin object while traversing the scene graph.
virtual NVSG_API void | handleShape (const nvsg::Shape *shape)
Routine to handle a Shape object while traversing the scene graph.
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *texAttribItem)
Routine to handle a TextureAttributeItem object while traversing the scene graph.
virtual NVSG_API void | handleAlphaTestAttribute (const nvsg::AlphaTestAttribute *alphaTestAttrib)
Routine to handle a AlphaTestAttribute object while traversing the scene graph.
virtual NVSG_API void | handleLightingAttribute (const nvsg::LightingAttribute *laAttrib)
Routine to handle a LightingAttribute object while traversing the scene graph.
virtual NVSG_API void | handleMapArray (const nvsg::MapArray *mapArray)
Routine to handle a MapArray object while traversing the scene graph.
virtual NVSG_API void | handleMapElement (const nvsg::MapElement *mapElement)
Routine to handle a MapElement object while traversing the scene graph.
virtual NVSG_API void | handleMapMatrix (const nvsg::MapMatrix *mapMatrix)
Routine to handle a MapMatrix object while traversing the scene graph.
virtual NVSG_API void | handleMapList (const nvsg::MapList *mapList)
Routine to handle a MapList object while traversing the scene graph.
virtual NVSG_API void | handleIndexAnimation (const nvsg::Animation< unsigned int > *anim)
Routine to handle a Animation object while traversing the scene graph.
virtual NVSG_API void | handleTrafoAnimation (const nvsg::Animation< nvmath::Trafo > *anim)
Routine to handle a Animation object while traversing the scene graph.
virtual NVSG_API void | handleVertexAttributeAnimation (const nvsg::Animation< nvsg::VertexAttribute > *anim)
Routine to handle a Animation object while traversing the scene graph.
virtual NVSG_API void | search (const nvsg::Animation< nvmath::Trafo > *p)
Search through an Animation<Trafo> object.
virtual NVSG_API void | search (const nvsg::Animation< unsigned int > *p)
Search through an Animation<unsigned int> object.
virtual NVSG_API void | search (const nvsg::Animation< nvsg::VertexAttribute > *p)
Search through an Animation<VertexAttribute> object.
virtual NVSG_API void | search (const nvsg::AnimationState *p)
Search through an AnimationState object.
virtual NVSG_API void | search (const nvsg::Camera *p)
Search through a Camera object.
virtual NVSG_API void | search (const nvsg::Drawable *p)
Search through a Drawable object.
virtual NVSG_API void | search (const nvsg::Group *p)
Search through a Group object.
virtual NVSG_API void | search (const nvsg::IndependentPrimitiveSet *p)
Search through an IndependentPrimitiveSet.
virtual NVSG_API void | search (const nvsg::KeyFramedAnimationDescription< nvmath::Trafo > *p)
Search through an KeyFramedAnimationDescription<Trafo>.
virtual NVSG_API void | search (const nvsg::KeyFramedAnimationDescription< nvsg::VertexAttribute > *p)
Search through an KeyFramedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | search (const nvsg::LightSource *p)
Search through a LightSource object.
virtual NVSG_API void | search (const nvsg::MeshedPrimitiveSet *p)
Search through a MeshedPrimitiveSet.
virtual NVSG_API void | search (const nvsg::Node *p)
Search through a Node object.
virtual NVSG_API void | search (const nvsg::Object *p)
Search through an Object object.
virtual NVSG_API void | search (const nvsg::PatchesBase *p)
Search through a PatchesBase object.
virtual NVSG_API void | search (const nvsg::PrimitiveSet *p)
Search through a PrimitiveSet object.
virtual NVSG_API void | search (const nvsg::StateAttribute *p)
Search through a StateAttribute object.
virtual NVSG_API void | search (const nvsg::StrippedPrimitiveSet *p)
Search through an StrippedPrimitiveSet.
virtual NVSG_API void | search (const nvsg::Transform *p)
Search through a Transform object.
virtual NVSG_API void | search (const nvsg::Triangles *p)
Search through a Triangles object.
virtual NVSG_API void | search (const nvsg::VertexAttributeSet *p)
Search through a VertexAttributeSet object.
virtual NVSG_API void | search (const nvsg::OwnedObject< nvsg::PrimitiveSet > *p)
Search through an OwnedObject<PrimitiveSet> object.

Detailed Description

Traverser to search for a tree object by class type or by name. You want to apply a SearchTraverser on a scene or a certain node to search for tree objects by name or by class type. If you search for objects by class type you can configure the SearchTraverser to search for an explicit class type or for objects that have the specified class typ as base class.

Constructor & Destructor Documentation

NVSG_API SearchTraverser ( )

Default-constructs a SearchTraverser.

virtual NVSG_API ~SearchTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

NVSG_API const std::vector<const nvsg::Path*>& getPaths ( )

Returns paths for all objects found.

Returns:
The function returns for each object found during traversal the full path from the starting node down tho the found object. If you're only interested in the found objects itself, you should consider to use getResults instead.
See also:
getResults

NVSG_API const std::vector<nvsg::ObjectWeakPtr>& getResults ( )

Returns all objects found.

Returns:
The function returns all objects found during traversal.

void setClassName ( const std::string & name ) [inline]

Sets a class name as serach criterion.

Parameters:
name Specifies the class name to use as search criterion.
Remarks:
The class name needs to be fully qualified, like "class nvsg::LightSource", for a subsequent search to work as expected. Just using "LightSource" in this case would not give the expected results. By default the class name is set to an empty string, which would not yield any usable results if you intend to search objects by class name. Also by default the search does only consider objects of the explicit class type specified by the class name. With setBaseClassSearch you can configure the search to also consider objects of types derived from the class specified by class name. If you, in addition to a class name, also specified an object name as search criterion, only objects that match both, the class name and the object name will be returned as search results.
See also:
setObjectName, setBaseClassSearch

const std::string & getClassName ( ) const [inline]

Returns the class name set as search criterion.

Returns:
The function retuns the class name last set using setClassName or an empty string if no class name was specified as search criterion before.
See also:
setClassName

Reimplemented from Reflection.

void setObjectName ( const std::string & objectName ) [inline]

Sets an object name as search criterion.

Parameters:
objectName Specifies the object name to use as search criterion.
Remarks:
If you specify an object name as search criterion, that object name is compared to the corresponding search candidate's object name assigned to it by means of the Object::setName member function. If you, in addition to an object name, also specified a class name as search criterion, only objects that match both, the class name and the object name will be returned as search results.
See also:
Object::setName, setClassName

const std::string & getObjectName ( ) const [inline]

Returns the object name set as search criterion.

Returns:
The function retuns the object name last set using setObjectName or an empty string if no object name was specified as search criterion before.
See also:
setObjectName

void setObjectPointer ( const nvsg::ObjectWeakPtr & ptr ) [inline]

Specifies a particular object to search for.

Parameters:
ptr Object to search for.
Remarks:
If a particular object is used as search criterion, other search criteria like class name or object name will be ignored.

nvsg::ObjectWeakPtr getObjectPointer ( ) const [inline]

Returns the object to search for.

Returns:
The function returns the object last set using setObjectPtr.

void setBaseClassSearch ( bool enable ) [inline]

Configures the base class search criterion option.

Parameters:
enable If true, the search will also consider objects of types derived from the class specified through setClassName. If false, only objects of the explicit type specified through setClassName will be considered. By default, this option is set to false.
See also:
setClassName

bool getBaseClassSearch ( ) const [inline]

Returns the enable state of the base class search option.

Returns:
The function returns the enable state of the base class search option last set using setBaseClassSearch.
See also:
setBaseClassSearch

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Set up the search and traverse the scene.

Reimplemented from SharedTraverser.

NVSG_API void addItem ( const nvsg::Object * obj ) [protected]

Add an Object to the list of found items.

Parameters:
obj A pointer to the read-locked object to add

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Routine to handle a Billboard node while traversing the scene graph.

Parameters:
p Points to the currently visited Billboard object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Routine to handle a GeoNode while traversing the scene graph.

Parameters:
p Points to the currently visited GeoNode object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGroup ( const nvsg::Group * p ) [protected, virtual]

Routine to handle a Group node while traversing the scene graph.

Parameters:
p Points to the currently visited Group object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFlipbookAnimation ( const nvsg::FlipbookAnimation * p ) [protected, virtual]

Routine to handle a FlipbookAnimation node while traversing the scene graph.

Parameters:
p Points to the currently visited FlipbookAnimation object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Routine to handle a LOD (Level Of Detail) node while traversing the scene graph.

Parameters:
p Points to the currently visited LOD object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Routine to handle a Switch node while traversing the scene graph.

Parameters:
p Points to the currently visited Switch object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Routine to handle a Transform node while traversing the scene graph.

Parameters:
p Points to the currently visited Transform object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Routine to handle a AnimatedTransform node while traversing the scene graph.

Parameters:
p Points to the currently visited AnimatedTransform object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Routine to handle a DirectedLight node while traversing the scene graph.

Parameters:
p Points to the currently visited DirectedLight object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Routine to handle a PointLight node while traversing the scene graph.

Parameters:
p Points to the currently visited PointLight object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Routine to handle a SpotLight node while traversing the scene graph.

Parameters:
p Points to the currently visited SpotLight object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLines ( const nvsg::Lines * p ) [protected, virtual]

Routine to handle a Lines object while traversing the scene graph.

Parameters:
p Points to the currently visited Lines object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineStrips ( const nvsg::LineStrips * p ) [protected, virtual]

Routine to handle a LineStrips object while traversing the scene graph.

Parameters:
p Points to the currently visited LineStrips object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePoints ( const nvsg::Points * p ) [protected, virtual]

Routine to handle a Points object while traversing the scene graph.

Parameters:
p Points to the currently visited Points object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadMeshes ( const nvsg::QuadMeshes * p ) [protected, virtual]

Routine to handle a QuadMeshes object while traversing the scene graph.

Parameters:
p Points to the currently visited QuadMeshes object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadPatches ( const nvsg::QuadPatches * p ) [protected, virtual]

Routine to handle a QuadPatches object while traversing the scene graph.

Parameters:
p Points to the currently visited QuadPatches object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( const nvsg::QuadPatches4x4 * p ) [protected, virtual]

Routine to handle a QuadPatches4x4 object while traversing the scene graph.

Parameters:
p Points to the currently visited QuadPatches4x4 object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Routine to handle a Quads object while traversing the scene graph.

Parameters:
p Points to the currently visited Quads object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Routine to handle a QuadStrips object while traversing the scene graph.

Parameters:
p Points to the currently visited QuadStrips object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRectPatches ( const nvsg::RectPatches * p ) [protected, virtual]

Routine to handle a RectPatches object while traversing the scene graph.

Parameters:
p Points to the currently visited RectPatches object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Routine to handle a Triangles object while traversing the scene graph.

Parameters:
p Points to the currently visited Triangles object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriFans ( const nvsg::TriFans * p ) [protected, virtual]

Routine to handle a TriFans object while traversing the scene graph.

Parameters:
p Points to the currently visited TriFans object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriPatches ( const nvsg::TriPatches * p ) [protected, virtual]

Routine to handle a TriPatches object while traversing the scene graph.

Parameters:
p Points to the currently visited TriPatches object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriPatches4 ( const nvsg::TriPatches4 * p ) [protected, virtual]

Routine to handle a TriPatches4 object while traversing the scene graph.

Parameters:
p Points to the currently visited TriPatches4 object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Routine to handle a TriStrips object while traversing the scene graph.

Parameters:
p Points to the currently visited TriStrips object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Routine to handle a Primitives object while traversing the scene graph.

Parameters:
p Points to the currently visited Primitive object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Routine to handle a StateSet object while traversing the scene graph.

Parameters:
p Points to the currently visited StateSet object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateVariant ( const nvsg::StateVariant * p ) [protected, virtual]

Routine to handle a StateVariant object while traversing the scene graph.

Parameters:
p Points to the currently visited StateVariant object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStatePass ( const nvsg::StatePass * p ) [protected, virtual]

Routine to handle a StatePass object while traversing the scene graph.

Parameters:
p Points to the currently visited StatePass object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleBlendAttribute ( const nvsg::BlendAttribute * p ) [protected, virtual]

Routine to handle a BlendAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited BlendAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Routine to handle a CgFx attribute while traversing the scene graph.

Parameters:
p Points to the currently visited CgFx object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRTFx ( const nvsg::RTFx * p ) [protected, virtual]

Routine to handle a RTFx attribute while traversing the scene graph.

Parameters:
p Points to the currently visited RTFx object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRTFxProgram ( const nvsg::RTFxProgram * p ) [protected, virtual]

Routine to handle a RTFxProgram while traversing the scene graph.

Parameters:
p Points to the currently visited RTFxProgram object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRTBufferAttribute ( const nvsg::RTBufferAttribute * p ) [protected, virtual]

Routine to handle a RTBufferAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited RTBufferAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleDepthAttribute ( const nvsg::DepthAttribute * p ) [protected, virtual]

Routine to handle a DepthAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited DepthAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStencilAttribute ( const nvsg::StencilAttribute * p ) [protected, virtual]

Routine to handle a StencilAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited StencilAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Routine to handle a FaceAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited FaceAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineAttribute ( const nvsg::LineAttribute * p ) [protected, virtual]

Routine to handle a LineAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited LineAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Routine to handle a Material attribute while traversing the scene graph.

Parameters:
p Points to the currently visited Material object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointAttribute ( const nvsg::PointAttribute * p ) [protected, virtual]

Routine to handle a PointAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited PointAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Routine to handle a TextureAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited TextureAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleUnlitColorAttribute ( const nvsg::UnlitColorAttribute * p ) [protected, virtual]

Routine to handle an UnlitColorAttribute attribute while traversing the scene graph.

Parameters:
p Points to the currently visited UnlitColorAttribute object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleParallelCamera ( const nvsg::ParallelCamera * p ) [protected, virtual]

Routine to handle a ParallelCamera object while traversing the scene graph.

Parameters:
p Points to the currently visited ParallelCamera object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePerspectiveCamera ( const nvsg::PerspectiveCamera * p ) [protected, virtual]

Routine to handle a PerspectiveCamera object while traversing the scene graph.

Parameters:
p Points to the currently visited PerspectiveCamera object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMatrixCamera ( const nvsg::MatrixCamera * p ) [protected, virtual]

Routine to handle a MatrixCamera object while traversing the scene graph.

Parameters:
p Points to the currently visited MatrixCamera object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedIndexAnimationDescription ( const nvsg::FramedAnimationDescription< unsigned int > * p ) [protected, virtual]

Routine to handle a FramedAnimationDescription<unsigned int> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedTrafoAnimationDescription ( const nvsg::FramedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a FramedAnimationDescription<Trafo> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedVertexAttributeAnimationDescription ( const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Routine to handle a FramedAnimationDescription<VertexAttribute> object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLinearInterpolatedTrafoAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimationDescription<Trafo> object while traversing the scene graph.

Parameters:
p Points to the currently visited Animation object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLinearInterpolatedVertexAttributeAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Routine to handle a LinearInterpolatedAnimationDescription<VertexAttribute> object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleVertexAttributeSet ( const nvsg::VertexAttributeSet * vas ) [protected, virtual]

Routine to handle a VertexAttributeSet object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( const nvsg::AnimatedVertexAttributeSet * avas ) [protected, virtual]

Routine to handle a AnimatedVertexAttributeSet object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSkin ( const nvsg::Skin * skin ) [protected, virtual]

Routine to handle a Skin object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleShape ( const nvsg::Shape * shape ) [protected, virtual]

Routine to handle a Shape object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Routine to handle a TextureAttributeItem object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAlphaTestAttribute ( const nvsg::AlphaTestAttribute * alphaTestAttrib ) [protected, virtual]

Routine to handle a AlphaTestAttribute object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLightingAttribute ( const nvsg::LightingAttribute * laAttrib ) [protected, virtual]

Routine to handle a LightingAttribute object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapArray ( const nvsg::MapArray * mapArray ) [protected, virtual]

Routine to handle a MapArray object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapElement ( const nvsg::MapElement * mapElement ) [protected, virtual]

Routine to handle a MapElement object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapMatrix ( const nvsg::MapMatrix * mapMatrix ) [protected, virtual]

Routine to handle a MapMatrix object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapList ( const nvsg::MapList * mapList ) [protected, virtual]

Routine to handle a MapList object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleIndexAnimation ( const nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Routine to handle a Animation object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTrafoAnimation ( const nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Routine to handle a Animation object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleVertexAttributeAnimation ( const nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Routine to handle a Animation object while traversing the scene graph.

Reimplemented from SharedTraverser.

virtual NVSG_API void search ( const nvsg::Animation< nvmath::Trafo > * p ) [protected, virtual]

Search through an Animation<Trafo> object.

This function is called when base class searching is enabled.

Parameters:
p Animation to search through

virtual NVSG_API void search ( const nvsg::Animation< unsigned int > * p ) [protected, virtual]

Search through an Animation<unsigned int> object.

Parameters:
p Animation to search through.
Remarks:
This function is called when base class searching is enabled.

virtual NVSG_API void search ( const nvsg::Animation< nvsg::VertexAttribute > * p ) [protected, virtual]

Search through an Animation<VertexAttribute> object.

This function is called when base class searching is enabled.

virtual NVSG_API void search ( const nvsg::AnimationState * p ) [protected, virtual]

Search through an AnimationState object.

Parameters:
p AnimationState to search through.
Remarks:
This function is called when base class searching is enabled.

virtual NVSG_API void search ( const nvsg::Camera * p ) [protected, virtual]

Search through a Camera object.

This function is called when base class searching is enabled.

Parameters:
p Camera to search through

virtual NVSG_API void search ( const nvsg::Drawable * p ) [protected, virtual]

Search through a Drawable object.

This function is called when base class searching is enabled.

Parameters:
p Drawable to search through

virtual NVSG_API void search ( const nvsg::Group * p ) [protected, virtual]

Search through a Group object.

This function is called when Group is searched through or base class searching is enabled.

Parameters:
p Group to search through

virtual NVSG_API void search ( const nvsg::IndependentPrimitiveSet * p ) [protected, virtual]

Search through an IndependentPrimitiveSet.

This function is called when a base class searching is enabled.

Parameters:
p IndependentPrimitiveSet to search through

virtual NVSG_API void search ( const nvsg::KeyFramedAnimationDescription< nvmath::Trafo > * p ) [protected, virtual]

Search through an KeyFramedAnimationDescription<Trafo>.

This function is called when base class searching is enabled.

Parameters:
p KeyFramedAnimationDescription to search through

virtual NVSG_API void search ( const nvsg::KeyFramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Search through an KeyFramedAnimationDescription<VertexAttribute>.

This function is called when base class searching is enabled.

virtual NVSG_API void search ( const nvsg::LightSource * p ) [protected, virtual]

Search through a LightSource object.

This function is called when base class searching is enabled.

Parameters:
p LightSource to search through

virtual NVSG_API void search ( const nvsg::MeshedPrimitiveSet * p ) [protected, virtual]

Search through a MeshedPrimitiveSet.

This function is called when a base class searching is enabled.

Parameters:
p MeshedPrimitiveSet to search through

virtual NVSG_API void search ( const nvsg::Node * p ) [protected, virtual]

Search through a Node object.

This function is called when base class searching is enabled.

Parameters:
p Node to search through

virtual NVSG_API void search ( const nvsg::Object * p ) [protected, virtual]

Search through an Object object.

This function is called when base class searching is enabled.

Parameters:
p Object to search through

virtual NVSG_API void search ( const nvsg::PatchesBase * p ) [protected, virtual]

Search through a PatchesBase object.

This function is called when base class searching is enabled.

Parameters:
p PatchesBase to search through

virtual NVSG_API void search ( const nvsg::PrimitiveSet * p ) [protected, virtual]

Search through a PrimitiveSet object.

This function is called when base class searching is enabled.

Parameters:
p PrimitiveSet to search through

virtual NVSG_API void search ( const nvsg::StateAttribute * p ) [protected, virtual]

Search through a StateAttribute object.

This function is called when base class searching is enabled.

Parameters:
p StateAttribute to search through

virtual NVSG_API void search ( const nvsg::StrippedPrimitiveSet * p ) [protected, virtual]

Search through an StrippedPrimitiveSet.

This function is called when a base class searching is enabled.

Parameters:
p StrippedPrimitiveSet to search through

virtual NVSG_API void search ( const nvsg::Transform * p ) [protected, virtual]

Search through a Transform object.

This function is called when Transform is searched or a base class searching is enabled.

Parameters:
p Transform to search through

virtual NVSG_API void search ( const nvsg::Triangles * p ) [protected, virtual]

Search through a Triangles object.

This function is called when a Triangles is searched or a base class searching is enabled.

Parameters:
p Triangles to search through

virtual NVSG_API void search ( const nvsg::VertexAttributeSet * p ) [protected, virtual]

Search through a VertexAttributeSet object.

This function is called when a VertexAttributeSet is searched or a base class searching is enabled.

virtual NVSG_API void search ( const nvsg::OwnedObject< nvsg::PrimitiveSet > * p ) [protected, virtual]

Search through an OwnedObject<PrimitiveSet> object.

This function is called when an OwnedObject<PrimitiveSet> is searched or a base class searching is enabled.

The documentation for this class was generated from the following file:
  • SearchTraverser.h
Generated on Fri Jul 13 13:30:48 2012 for SceniX


SceniX: Member List

SearchTraverser Member List

This is the complete list of members for SearchTraverser, including all inherited members.

addItem(const nvsg::Object *obj) | SearchTraverser | [protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DECLARE_STATIC_PROPERTY(ClassName) (defined in SearchTraverser) | SearchTraverser |
DECLARE_STATIC_PROPERTY(ObjectName) (defined in SearchTraverser) | SearchTraverser |
DECLARE_STATIC_PROPERTY(BaseClassSearch) (defined in SearchTraverser) | SearchTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | SearchTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getBaseClassSearch() const | SearchTraverser | [inline]
getClassName() const | SearchTraverser | [inline]
getCurrentTextureUnit() const | Traverser | [inline, protected]
getObjectName() const | SearchTraverser | [inline]
getObjectPointer() const | SearchTraverser | [inline]
getPaths() | SearchTraverser |
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getResults() | SearchTraverser |
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | SearchTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | SearchTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | SearchTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | SearchTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *p) | SearchTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | SearchTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *p) | SearchTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | SearchTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | SearchTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *p) | SearchTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *p) | SearchTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *p) | SearchTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | SearchTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | SearchTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | SearchTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | SearchTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | SearchTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *p) | SearchTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | SearchTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *p) | SearchTraverser | [protected, virtual]
handleLines(const nvsg::Lines *p) | SearchTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *p) | SearchTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | SearchTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SearchTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SearchTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SearchTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SearchTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | SearchTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *p) | SearchTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p) | SearchTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p) | SearchTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *p) | SearchTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | SearchTraverser | [protected, virtual]
handlePoints(const nvsg::Points *p) | SearchTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *p) | SearchTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *p) | SearchTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *p) | SearchTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p) | SearchTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | SearchTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | SearchTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *p) | SearchTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *p) | SearchTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *p) | SearchTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *p) | SearchTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SearchTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *skin) | SearchTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | SearchTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *p) | SearchTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | SearchTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *p) | SearchTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *p) | SearchTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | SearchTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | SearchTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | SearchTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | SearchTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | SearchTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | SearchTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *p) | SearchTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *p) | SearchTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *p) | SearchTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | SearchTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *p) | SearchTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | SearchTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | SearchTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, SearchTraverser) (defined in SearchTraverser) | SearchTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
search(const nvsg::Animation< nvmath::Trafo > *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Animation< unsigned int > *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Animation< nvsg::VertexAttribute > *p) | SearchTraverser | [protected, virtual]
search(const nvsg::AnimationState *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Camera *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Drawable *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Group *p) | SearchTraverser | [protected, virtual]
search(const nvsg::IndependentPrimitiveSet *p) | SearchTraverser | [protected, virtual]
search(const nvsg::KeyFramedAnimationDescription< nvmath::Trafo > *p) | SearchTraverser | [protected, virtual]
search(const nvsg::KeyFramedAnimationDescription< nvsg::VertexAttribute > *p) | SearchTraverser | [protected, virtual]
search(const nvsg::LightSource *p) | SearchTraverser | [protected, virtual]
search(const nvsg::MeshedPrimitiveSet *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Node *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Object *p) | SearchTraverser | [protected, virtual]
search(const nvsg::PatchesBase *p) | SearchTraverser | [protected, virtual]
search(const nvsg::PrimitiveSet *p) | SearchTraverser | [protected, virtual]
search(const nvsg::StateAttribute *p) | SearchTraverser | [protected, virtual]
search(const nvsg::StrippedPrimitiveSet *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Transform *p) | SearchTraverser | [protected, virtual]
search(const nvsg::Triangles *p) | SearchTraverser | [protected, virtual]
search(const nvsg::VertexAttributeSet *p) | SearchTraverser | [protected, virtual]
search(const nvsg::OwnedObject< nvsg::PrimitiveSet > *p) | SearchTraverser | [protected, virtual]
SearchTraverser() | SearchTraverser |
setBaseClassSearch(bool enable) | SearchTraverser | [inline]
setClassName(const std::string &name) | SearchTraverser | [inline]
setObjectName(const std::string &objectName) | SearchTraverser | [inline]
setObjectPointer(const nvsg::ObjectWeakPtr &ptr) | SearchTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SearchTraverser(void) | SearchTraverser | [protected, virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:48 2012 for SceniX


SceniX: ShaderLoader Class Reference

nvsg::ShaderLoader

ShaderLoader Class Reference

Pure virtual base class for shader loader plugins. More...

#include <PlugInterface.h>

Inheritance diagram for ShaderLoader:

[legend]
Collaboration diagram for ShaderLoader:

[legend]
List of all members.

Public Types

typedef std::vector< std::string > | BufferList

Public Member Functions

virtual NVSG_API bool | load (const std::string &fileName, const std::vector< std::string > &searchPaths, BufferList &bl)=0
Pure virtual interface function to load a shader.
virtual NVSG_API std::string | getErrors ()=0
Pure virtual interface function to get occured errors.

Protected Member Functions

virtual NVSG_API | ~ShaderLoader ()
Protected virtual destructor.

Detailed Description

Pure virtual base class for shader loader plugins.

Constructor & Destructor Documentation

virtual NVSG_API ~ShaderLoader ( ) [protected, virtual]

Protected virtual destructor.

Member Function Documentation

virtual NVSG_API bool load | ( | const std::string & | fileName,
 |  | const std::vector< std::string > & | searchPaths,
 |  | BufferList & | bl
 | ) | [pure virtual]

Pure virtual interface function to load a shader.

Parameters:
fileName | A string that holds the name of the shader file to be loaded.
searchPaths | A collection of search paths used to look up the file.
bl | A collection of buffers that contain the generated shader files.

virtual NVSG_API std::string getErrors ( ) [pure virtual]

Pure virtual interface function to get occured errors.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jul 13 13:30:14 2012 for SceniX


SceniX: Member List

ShaderLoader Member List

This is the complete list of members for ShaderLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
BufferList typedef (defined in ShaderLoader) | ShaderLoader |
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void)=0 | PlugIn | [protected, pure virtual]
getErrors()=0 | ShaderLoader | [pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &fileName, const std::vector< std::string > &searchPaths, BufferList &bl)=0 | ShaderLoader | [pure virtual]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~ShaderLoader() | ShaderLoader | [protected, virtual]

Generated on Fri Jul 13 13:30:14 2012 for SceniX


SceniX: Shape Class Reference

nvsg::Shape

Shape Class Reference

Abstract base class for shaped geometries like Boxes, Spheres, etc. More...

#include <Shape.h>

Inheritance diagram for Shape:

[legend]
Collaboration diagram for Shape:

[legend]
List of all members.

Public Types

typedef std::vector< PrimitiveSharedPtr > | PrimitiveContainer
The container type of the Primitives.
typedef nvutil::SceniXIterator<
Shape, PrimitiveContainer::iterator > 		PrimitiveIterator
The iterator over the PrimitiveContainer.
typedef nvutil::SceniXIterator<
Shape, PrimitiveContainer::const_iterator > 		PrimitiveConstIterator
The const iterator over the PrimitiveContainer.

Public Member Functions

virtual NVSG_API | ~Shape ()
Destructs a Shape.
NVSG_API unsigned int | getNumberOfPrimitives () const
Get the number of Primitives in this Shape.
NVSG_API PrimitiveConstIterator | beginPrimitives () const
Get a const iterator to the first Primitive in this Shape.
NVSG_API PrimitiveIterator | beginPrimitives ()
Get an iterator to the first Primitive in this Shape.
NVSG_API PrimitiveConstIterator | endPrimitives () const
Get a const iterator that points just beyond the end of the Primitive in this Shape.
NVSG_API PrimitiveIterator | endPrimitives ()
Get an iterator that points just beyond the end of the Primitive in this Shape.
NVSG_API PrimitiveConstIterator | findPrimitive (const PrimitiveSharedPtr &primitive) const
NVSG_API PrimitiveIterator | findPrimitive (const PrimitiveSharedPtr &primitive)
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another Shape.
REFLECTION_INFO_API (NVSG_API, Shape)

Protected Member Functions

virtual NVSG_API void | setDrawCallback (DrawCallback *cb)
Assigns the indicated DrawCallback to this Drawable.
NVSG_API | Shape ()
Protected default constructor to prevent explicit creation.
NVSG_API | Shape (const Shape &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API PrimitiveIterator | addPrimitive (const PrimitiveSharedPtr &primitive)
Adds a Primitive to this Shape.
NVSG_API bool | removePrimitive (const PrimitiveSharedPtr &primitive)
Remove a Primitive from this Shape.
NVSG_API PrimitiveIterator | removePrimitive (const PrimitiveIterator &spi)
Remove a Primitive from this Shape.
NVSG_API void | clearPrimitives ()
Remove all Primitives from this Shape.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this Shape.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculate the bounding sphere of this Shape.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for Shapes.
virtual NVSG_API void | calculateTexCoords (TextureCoordType type, unsigned int texcoords, bool overwrite)
Override to specialize calculation of texture coords for Shapes.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for Shapes.
NVSG_API Shape & | operator= (const Shape &rhs)
Assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class for shaped geometries like Boxes, Spheres, etc.

Namespace: nvsg
Remarks:
This class provides the common interface for shaped geometries, holding zero or more Primitive objects.
See also:
Drawable, Primitive

Member Typedef Documentation

typedef std::vector<PrimitiveSharedPtr> PrimitiveContainer

The container type of the Primitives.

typedef nvutil::SceniXIterator<Shape,PrimitiveContainer::iterator> PrimitiveIterator

The iterator over the PrimitiveContainer.

typedef nvutil::SceniXIterator<Shape,PrimitiveContainer::const_iterator> PrimitiveConstIterator

The const iterator over the PrimitiveContainer.

Constructor & Destructor Documentation

virtual NVSG_API ~Shape ( ) [virtual]

Destructs a Shape.

NVSG_API Shape ( ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
This default constructor is accessible only by derived classes. By default, a Shape holds no Primitive objects.

NVSG_API Shape ( const Shape & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant Shape to copy from
Remarks:
This copy constructor is accessible only by derived classes. The new Shape holds a copy of the Primitive objects of rhs.

Member Function Documentation

unsigned int getNumberOfPrimitives ( ) const [inline]

Get the number of Primitives in this Shape.

Returns:
The number of Primitives in this Shape.
See also:
beginPrimitives, endPrimitives, addPrimitive, removePrimitive, clearPrimitives, findPrimitive

Shape::PrimitiveConstIterator beginPrimitives ( ) const [inline]

Get a const iterator to the first Primitive in this Shape.

Returns:
A const iterator to the first Primitive in this Shape.
See also:
getNumberOfPrimitives, endPrimitives, addPrimitive, removePrimitive, clearPrimitives, findPrimitive

Shape::PrimitiveIterator beginPrimitives ( ) [inline]

Get an iterator to the first Primitive in this Shape.

Returns:
An iterator to the first Primitive in this Shape.
See also:
getNumberOfPrimitives, endPrimitives, addPrimitive, removePrimitive, clearPrimitives, findPrimitive

Shape::PrimitiveConstIterator endPrimitives ( ) const [inline]

Get a const iterator that points just beyond the end of the Primitive in this Shape.

Returns:
A const iterator that points just beyond the end of the Primitive in this Shape.
See also:
getNumberOfPrimitives, beginPrimitives, addPrimitive, removePrimitive, clearPrimitives, findPrimitive

Shape::PrimitiveIterator endPrimitives ( ) [inline]

Get an iterator that points just beyond the end of the Primitive in this Shape.

Returns:
An iterator that points just beyond the end of the Primitive in this Shape.
See also:
getNumberOfPrimitives, beginPrimitives, addPrimitive, removePrimitive, clearPrimitives, findPrimitive

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another Shape.

Parameters:
p | A reference to the constant Shape to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the Shape p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Drawable, they are equivalent if their Primitive objects are pair-wise equivalent. If deepCompare is false, the Primitive objects are considered to be equivalent if they are pairwise the same pointers; otherwise, a full equivalence test on each pair is initiated.
See also:
Drawable, Primitive

Reimplemented from Object.

void setDrawCallback ( DrawCallback * cb ) [inline, protected, virtual]

Assigns the indicated DrawCallback to this Drawable.

Parameters:
cb Specifies the DrawCallback object If a DrawCallback is assigned to a Drawable, the DrawCallback::preDraw, DrawCallback::draw, and DrawCallback::postDraw functions will be invoked from the render framework when rendering the Drawable.
See also:
DrawCallback

Reimplemented from Drawable.

NVSG_API PrimitiveIterator addPrimitive ( const PrimitiveSharedPtr & primitive ) [protected]

Adds a Primitive to this Shape.

Parameters:
primitive Specifies the Primitive to add
Returns:
An iterator that points to the position where Primitive was added.
See also:
getNumberOfPrimitives, beginPrimitives, endPrimitives, removePrimitive, clearPrimitives, findPrimitive

NVSG_API bool removePrimitive ( const PrimitiveSharedPtr & primitive ) [protected]

Remove a Primitive from this Shape.

Parameters:
primitive The Primitive to remove from this Shape.
Returns:
true, if the Primitive has been removed from this Shape, otherwise false.
See also:
getNumberOfPrimitives, beginPrimitives, endPrimitives, addPrimitive, clearPrimitives, findPrimitive

NVSG_API PrimitiveIterator removePrimitive ( const PrimitiveIterator & spi ) [protected]

Remove a Primitive from this Shape.

Parameters:
spi An iterator to the Primitive to remove from this Shape.
Returns:
An iterator pointing to the new location of the Primitive that followed the one removed by this function call, which is endPrimitives() if the operation removed the last Primitive.
See also:
getNumberOfPrimitives, beginPrimitives, endPrimitives, addPrimitive, clearPrimitives, findPrimitive

NVSG_API void clearPrimitives ( ) [protected]

Remove all Primitives from this Shape.

See also:
getNumberOfPrimitives, beginPrimitives, endPrimitives, addPrimitive, removePrimitive, findPrimitive

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this Shape.

Returns:
The axis-aligned bounding box of this Shape.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this Shape.

Reimplemented from Object.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculate the bounding sphere of this Shape.

Returns:
The bounding sphere of this Shape.
Remarks:
This function is called by the framework to determine the sphere to be used as the bounding sphere. It combines the bounding spheres of the Primitive objects of this Shape. If there are none, an invalid sphere is returned.
See also:
nvmath::Sphere3f, Primitive

Reimplemented from Object.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for Shapes.

Reimplemented from Drawable.

virtual NVSG_API void calculateTexCoords | ( | TextureCoordType | type,
 |  | unsigned int | texcoords,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize calculation of texture coords for Shapes.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for Shapes.

Reimplemented from Drawable.

NVSG_API Shape& operator= ( const Shape & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant Shape to copy from.
Returns:
A reference to the assigned Shape.
Remarks:
This assignment operator is accessible only by derived classes. It calls the assignment operator of Drawable, decreases the reference count of all its Primitive objects, and copies the Primitive objects from rhs.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • Shape.h
Generated on Fri Jul 13 13:30:22 2012 for SceniX


SceniX: Member List

Shape Member List

This is the complete list of members for Shape, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
addPrimitive(const PrimitiveSharedPtr &primitive) | Shape | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginPrimitives() const | Shape | [inline]
beginPrimitives() | Shape | [inline]
calculateBoundingBox() const | Shape | [protected, virtual]
calculateBoundingSphere() const | Shape | [protected, virtual]
calculateNormals(bool overwrite) | Shape | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Shape | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Shape | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearPrimitives() | Shape | [protected]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endPrimitives() const | Shape | [inline]
endPrimitives() | Shape | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Shape | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findPrimitive(const PrimitiveSharedPtr &primitive) const (defined in Shape) | Shape | [inline]
findPrimitive(const PrimitiveSharedPtr &primitive) (defined in Shape) | Shape | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPrimitives() const | Shape | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Shape | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Shape &rhs) | Shape | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveConstIterator typedef | Shape |
PrimitiveContainer typedef | Shape |
PrimitiveIterator typedef | Shape |
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Shape) (defined in Shape) | Shape |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
removePrimitive(const PrimitiveSharedPtr &primitive) | Shape | [protected]
removePrimitive(const PrimitiveIterator &spi) | Shape | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Shape | [inline, protected, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
Shape() | Shape | [protected]
Shape(const Shape &rhs) | Shape | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Shape) | Shape | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~Shape() | Shape | [virtual]

Generated on Fri Jul 13 13:30:22 2012 for SceniX


SceniX: SharedModelViewTraverser Class Reference

nvtraverser::SharedModelViewTraverser

SharedModelViewTraverser Class Reference

Traverser that can handle the model view transform stack. More...

#include <ModelViewTraverser.h>

Inheritance diagram for SharedModelViewTraverser:

[legend]
Collaboration diagram for SharedModelViewTraverser:

[legend]
List of all members.

Protected Member Functions

NVSG_API | SharedModelViewTraverser ()
Protected constructor to prevent instantiation of a ModelViewTraverser.
virtual NVSG_API | ~SharedModelViewTraverser ()
Protected destructor to prevent instantiation of a SharedModelViewTraverser.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Provide special treatment of an AnimatedTransform node.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *p)
Provide special treatment of a Billboard node.
virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Provide special treatment of a Transform node.
virtual NVSG_API bool | preTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between transform stack adjustment and traversal.
virtual NVSG_API void | postTraverseTransform (const nvmath::Trafo *p)
Handles actions to take between traversal and transform stack adjustment.
virtual NVSG_API void | traverseCamera (const nvsg::Camera *camera)
Handle any type of Camera on traversal.

Protected Attributes

nvutil::TransformStack m_transformStack
stack of transformations that holds the actual transformations while traversing a tree

Detailed Description

Traverser that can handle the model view transform stack.

Use this class as a base for traversers that need to maintain the current model view transformation.

Note:
All ModelViewTraverser based classes need a valid nvsg::ViewState . If the ViewState is not valid the runtime behaviour is not defined. Call setViewState() with a valid ViewState prior calling apply().

Constructor & Destructor Documentation

NVSG_API SharedModelViewTraverser ( ) [protected]

Protected constructor to prevent instantiation of a ModelViewTraverser.

Note:
A SharedModelViewTraverser doesn't change anything in the scene graph, but might be used by a modifying traverser. therefore, it gets the readOnly flag as a parameter to pass to Traverser.

virtual NVSG_API ~SharedModelViewTraverser ( ) [protected, virtual]

Protected destructor to prevent instantiation of a SharedModelViewTraverser.

Member Function Documentation

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Provide special treatment of an AnimatedTransform node.

An AnimatedTransform is handled as a Transform.

Parameters:
p currently visited AnimatedTransform

Reimplemented from SharedTraverser.

Reimplemented in RayIntersectTraverser.

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Provide special treatment of a Billboard node.

On a Billboard the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Billboard to handle

Reimplemented from SharedTraverser.

Reimplemented in RayIntersectTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Provide special treatment of a Transform node.

On a Transform the modelview matrix is modified, the children are traversed, and the modelview matrix is restored.

Parameters:
p Transform to handle

Reimplemented from SharedTraverser.

Reimplemented in RayIntersectTraverser.

virtual NVSG_API bool preTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between transform stack adjustment and traversal.

In this base class, this is a NOP.

Parameters:
p Trafo of node to traverse next

Reimplemented in RayIntersectTraverser.

virtual NVSG_API void postTraverseTransform ( const nvmath::Trafo * p ) [protected, virtual]

Handles actions to take between traversal and transform stack adjustment.

When this function returns true, the subtree beneath is traversed. Otherwise it isn't.

Returns:
true
Parameters:
p Trafo of node that was traversed immediately before this call.

Reimplemented in RayIntersectTraverser.

virtual NVSG_API void traverseCamera ( const nvsg::Camera * camera ) [protected, virtual]

Handle any type of Camera on traversal.

Parameters:
camera The read-locked camera to traverse.
Remarks:
This function is called by the framework while traversing any type of Camera. On traversal, no or one camera will be traversed. The stack of transforms is initialized with the world-to-view and the view-to-clip matrices. Moreover, the camera is stored, referenced, and locked for further usage. It will be unlocked and unreferenced in doApply.
See also:
lockCamera, unlockCamera

Reimplemented from SharedTraverser.

Member Data Documentation

nvutil::TransformStack m_transformStack [protected]

stack of transformations that holds the actual transformations while traversing a tree

The documentation for this class was generated from the following file:
  • ModelViewTraverser.h
Generated on Fri Jul 13 13:30:45 2012 for SceniX


SceniX: Member List

SharedModelViewTraverser Member List

This is the complete list of members for SharedModelViewTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | SharedTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | SharedTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | SharedModelViewTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | SharedTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | SharedModelViewTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *blendAttrib) | SharedTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *cgfx) | SharedTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *depthAttrib) | SharedTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *light) | SharedTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *faceAttrib) | SharedTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *anim) | SharedTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *gnode) | SharedTraverser | [protected, virtual]
handleGroup(const nvsg::Group *group) | SharedTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *lineAttrib) | SharedTraverser | [protected, virtual]
handleLines(const nvsg::Lines *lines) | SharedTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *strips) | SharedTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *lod) | SharedTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *material) | SharedTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *camera) | SharedTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *camera) | SharedTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *camera) | SharedTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *pointAttrib) | SharedTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *light) | SharedTraverser | [protected, virtual]
handlePoints(const nvsg::Points *points) | SharedTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *primitive) | SharedTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *meshes) | SharedTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *patches) | SharedTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *patches) | SharedTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *quads) | SharedTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *strips) | SharedTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *patches) | SharedTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | SharedTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *rtfx) | SharedTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *rtfxProgram) (defined in SharedTraverser) | SharedTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SharedTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *skin) | SharedTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *light) | SharedTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *pass) | SharedTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *stateSet) | SharedTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *variant) | SharedTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | SharedTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *swtch) | SharedTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *texAttrib) | SharedTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | SharedTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | SharedTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | SharedModelViewTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *triangles) | SharedTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *fans) | SharedTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *patches) | SharedTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *patches) | SharedTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *strips) | SharedTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | SharedTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | SharedTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | SharedTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_transformStack | SharedModelViewTraverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
postTraverseTransform(const nvmath::Trafo *p) | SharedModelViewTraverser | [protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
preTraverseTransform(const nvmath::Trafo *p) | SharedModelViewTraverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedModelViewTraverser() | SharedModelViewTraverser | [protected]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedModelViewTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedModelViewTraverser() | SharedModelViewTraverser | [protected, virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:45 2012 for SceniX


SceniX: SharedTraverser Class Reference

nvtraverser::SharedTraverser

SharedTraverser Class Reference

Base class providing an interface for read-only traversing of a given scene graph. More...

#include <Traverser.h>

Inheritance diagram for SharedTraverser:

[legend]
Collaboration diagram for SharedTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | SharedTraverser ()
Default constructor.
virtual NVSG_API unsigned int | getTraversalMask () const
Get the current TraversalMask value.

Protected Member Functions

virtual NVSG_API | ~SharedTraverser ()
Protected Destructor to prevent instantiation.
template<typename T, typename U>
void | addObjectHandler (unsigned int objectCode, void(T::*handler)(const U *))
Template function to add a handler routine for a new class derived from Object.
template<typename T, typename U, typename V>
void | addObjectHandler (unsigned int objectCode, void(T::*handler)(const U *, V))
Template function to add a handler routine for a new class derived from Object.
virtual NVSG_API void | lockViewState ()
Override of the ViewState locking interface.
virtual NVSG_API void | unlockViewState ()
Override of the ViewState unlocking interface.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Override of the traversal initiating interface.
virtual NVSG_API void | doTraverseObject (const nvsg::ObjectSharedPtr &p)
Function for performing the object traversal.
virtual NVSG_API void | doTraverseDrawable (const nvsg::DrawableSharedPtr &p)
Function for performing traversal of a Drawable.
virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *camera)
Handler function for a ParallelCamera.
virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *camera)
Handler function for a PerspectiveCamera.
virtual NVSG_API void | handleMatrixCamera (const nvsg::MatrixCamera *camera)
Handler function for a MatrixCamera.
virtual NVSG_API void | handleGroup (const nvsg::Group *group)
Handler function for a Group.
virtual NVSG_API void | handleFlipbookAnimation (const nvsg::FlipbookAnimation *anim)
Handler function for a FlipbookAnimation.
virtual NVSG_API void | handleTransform (const nvsg::Transform *trafo)
Handler function for a Transform.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *trafo)
Handler function for an AnimatedTransform.
virtual NVSG_API void | handleLOD (const nvsg::LOD *lod)
Handler function for an LOD.
virtual NVSG_API void | handleSwitch (const nvsg::Switch *swtch)
Handler function for a Switch.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *billboard)
Handler function for a Billboard.
virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *light)
Handler function for a DirectedLight.
virtual NVSG_API void | handlePointLight (const nvsg::PointLight *light)
Handler function for a PointLight.
virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *light)
Handler function for a SpotLight.
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *gnode)
Handler function for a GeoNode.
virtual NVSG_API void | handleRectPatches (const nvsg::RectPatches *patches)
Handler function for a RectPatches.
virtual NVSG_API void | handleQuadPatches (const nvsg::QuadPatches *patches)
Handler function for a QuadPatches.
virtual NVSG_API void | handleQuadPatches4x4 (const nvsg::QuadPatches4x4 *patches)
Handler function for a QuadPatches4x4.
virtual NVSG_API void | handleQuads (const nvsg::Quads *quads)
Handler function for a Quads.
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *triangles)
Handler function for a Triangles.
virtual NVSG_API void | handleLines (const nvsg::Lines *lines)
Handler function for a Lines.
virtual NVSG_API void | handlePoints (const nvsg::Points *points)
Handler function for a Points.
virtual NVSG_API void | handleQuadMeshes (const nvsg::QuadMeshes *meshes)
Handler function for a QuadsMeshes.
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *strips)
Handler function for a QuadStrips.
virtual NVSG_API void | handleTriFans (const nvsg::TriFans *fans)
Handler function for a TriFans.
virtual NVSG_API void | handleTriPatches (const nvsg::TriPatches *patches)
Handler function for a TriPatches.
virtual NVSG_API void | handleTriPatches4 (const nvsg::TriPatches4 *patches)
Handler function for a TriPatches4.
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *strips)
Handler function for a TriStrips.
virtual NVSG_API void | handleLineStrips (const nvsg::LineStrips *strips)
Handler function for a LineStrips.
virtual NVSG_API void | handlePrimitive (const nvsg::Primitive *primitive)
Handler function for a Primitive.
virtual NVSG_API void | handleShape (const nvsg::Shape *shape)
Handler function for a Shape.
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *stateSet)
Handler function for a StateSet.
virtual NVSG_API void | handleStateVariant (const nvsg::StateVariant *variant)
Handler function for a StateVariant.
virtual NVSG_API void | handleStatePass (const nvsg::StatePass *pass)
Handler function for a StatePass.
virtual NVSG_API void | handleCgFx (const nvsg::CgFx *cgfx)
Handler function for a CgFx.
virtual NVSG_API void | handleRTFx (const nvsg::RTFx *rtfx)
Handler function for an RTFx.
virtual NVSG_API void | handleRTFxProgram (const nvsg::RTFxProgram *rtfxProgram)
virtual NVSG_API void | handleRTBufferAttribute (const nvsg::RTBufferAttribute *rtba)
Handler function for an RTBufferAttribute.
virtual NVSG_API void | handleMaterial (const nvsg::Material *material)
Handler function for a Material.
virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *texAttrib)
Handler function for a TextureAttribute.
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *texAttribItem)
Handler function for a TextureAttributeItem.
virtual NVSG_API void | handleAlphaTestAttribute (const nvsg::AlphaTestAttribute *alphaTestAttrib)
Handler function for a AlphaTestAttribute.
virtual NVSG_API void | handleBlendAttribute (const nvsg::BlendAttribute *blendAttrib)
Handler function for a BlendAttribute.
virtual NVSG_API void | handleDepthAttribute (const nvsg::DepthAttribute *depthAttrib)
Handler function for a DepthAttribute.
virtual NVSG_API void | handleStencilAttribute (const nvsg::StencilAttribute *stencilAttrib)
Handler function for a StencilAttribute.
virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *faceAttrib)
Handler function for a FaceAttribute.
virtual NVSG_API void | handleLightingAttribute (const nvsg::LightingAttribute *laAttrib)
Handler function for a LightingAttribute.
virtual NVSG_API void | handleLineAttribute (const nvsg::LineAttribute *lineAttrib)
Handler function for a LineAttribute.
virtual NVSG_API void | handlePointAttribute (const nvsg::PointAttribute *pointAttrib)
Handler function for a PointAttribute.
virtual NVSG_API void | handleUnlitColorAttribute (const nvsg::UnlitColorAttribute *unlitColor)
Handler function for an UnlitColorAttribute.
virtual NVSG_API void | handleMapArray (const nvsg::MapArray *mapArray)
Handler function for a MapArray.
virtual NVSG_API void | handleMapElement (const nvsg::MapElement *mapElement)
Handler function for a MapElement.
virtual NVSG_API void | handleMapMatrix (const nvsg::MapMatrix *mapMatrix)
Handler function for a MapMatrix.
virtual NVSG_API void | handleMapList (const nvsg::MapList *mapList)
Handler function for a MapList.
virtual NVSG_API void | handleVertexAttributeSet (const nvsg::VertexAttributeSet *vas)
Handler function for a VertexAttributeSet.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *avas)
Handler function for an AnimatedVertexAttributeSet.
virtual NVSG_API void | handleSkin (const nvsg::Skin *skin)
Handler function for a Skin.
virtual NVSG_API void | handleIndexAnimation (const nvsg::Animation< unsigned int > *anim)
Handle function for an Animation of indices.
virtual NVSG_API void | handleTrafoAnimation (const nvsg::Animation< nvmath::Trafo > *anim)
Handle function for an Animation of Trafos.
virtual NVSG_API void | handleVertexAttributeAnimation (const nvsg::Animation< nvsg::VertexAttribute > *anim)
Handle function for an Animation of VertexAttributes.
virtual NVSG_API void | handleFramedIndexAnimationDescription (const nvsg::FramedAnimationDescription< unsigned int > *anim)
Handler function for a FramedAnimationDescription<unsigned int>.
virtual NVSG_API void | handleFramedTrafoAnimationDescription (const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo)
Handler function for a FramedAnimationDescription<nvmath::Trafo>.
virtual NVSG_API void | handleFramedVertexAttributeAnimationDescription (const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Handler function for a FramedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | handleLinearInterpolatedTrafoAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo)
Handler function for a LinearInterpolatedAnimationDescription<nvmath::Trafo>.
virtual NVSG_API void | handleLinearInterpolatedVertexAttributeAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Handler function for a LinearInterpolatedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | handleRTFxSceneAttribute (const nvsg::RTFxSceneAttribute *rtfxsa)
Handler function for an RTFxSceneAttribute.
virtual NVSG_API void | traverseCamera (const nvsg::Camera *camera)
Function for common handling of Camera classes.
virtual NVSG_API void | traverseFrustumCamera (const nvsg::FrustumCamera *camera)
Function for common handling of FrustumCamera classes.
virtual NVSG_API void | traverseLight (const nvsg::LightSource *light)
Function for common handling of LightSource classes.
virtual NVSG_API void | traversePrimitiveSet (const nvsg::PrimitiveSet *pset)
Function for common handling of PrimitiveSet classes.
virtual NVSG_API void | traversePrimitive (const nvsg::Primitive *p)
Function for common handling of Primitive classes.

Protected Attributes

std::auto_ptr< nvsg::CameraReadLock > | m_lockedCamera
std::auto_ptr< nvsg::SceneReadLock > | m_lockedScene
std::auto_ptr< nvsg::ViewStateReadLock > | m_lockedViewState

Detailed Description

Base class providing an interface for read-only traversing of a given scene graph.

Remarks:
The SharedTraverser class offers base functionality for all traversers that intend to provide read-only operations on a given scene graph. For all known and concrete Objects this class provides a set of overloadable handler routines, each ensuring that all components following the actual object in the graph hierarchy will be traversed correctly. Hence, for derived traversers it is recommended to always call the base implementation of an overridden handler routine for traversing purposes.
To provide new read-only operations to be applied on known and concrete components or objects arranged in a scene graph, it is sufficient to derive a new traverser from either SharedTraverser or one of its derived traversers, and override the corresponding handler routines as needed.
See also:
ExclusiveTraverser

Constructor & Destructor Documentation

NVSG_API SharedTraverser ( )

Default constructor.

virtual NVSG_API ~SharedTraverser ( ) [inline, protected, virtual]

Protected Destructor to prevent instantiation.

Member Function Documentation

unsigned int getTraversalMask ( ) const [inline, virtual]

Get the current TraversalMask value.

Returns:
mask The mask to be used.
Remarks:
If a ViewState has been set on this SharedTraverser, this method will return the ViewState's TraversalMask. Otherwise, it will return the traversal mask set with Traverser::setTraversalMask.
See also:
setTraversalMask

Reimplemented from Traverser.

void addObjectHandler | ( | unsigned int | objectCode,
 |  | void(T::*)(const U *) | handler
 | ) | [inline, protected]

Template function to add a handler routine for a new class derived from Object.

Parameters:
objectCode | Object code to identify an object type at run-time.
handler | Specifies the address of the handler routine.
Remarks:
The function registers the handler routine specified by handler to handle a concrete class, derived from Object, that is explicitly identified by objectCode.
A handler routine must be a member function of a Traverser-derived class. It must return void and expect a pointer to the concrete object as a first parameter, and can have one additional (optional) argument of arbitrary type. A handler routine must not have a default argument! If a handler routine is intended to remain overloadable, it should be declared virtual.
For derived classes intended to provide new operations for known objects arranged in a scene graph, it is strongly recommended not to add new handler routines for those objects but to override the corresponding handler routine. In this context, we refer to 'known objects' as objects that are known by the Traverser base class and for which a corresponding handler routine is provided.
However, addObjectHandler is indispensable if newly invented objects, and hence, objects that are unknown by the Traverser base class, need to be considered for traversing.
Note:
Any previously registered handler routine for the specified object code will be overridden by the new handler.
Example:
    addObjectHandler(
      OC_NEWGROUP   // object code for the new object NewGroup
                    // this must be provided by the author of NewGroup
      , &MySharedTraverser::handleNewGroup // handler function
    );

void addObjectHandler | ( | unsigned int | objectCode,
 |  | void(T::*)(const U *, V) | handler
 | ) | [inline, protected]

Template function to add a handler routine for a new class derived from Object.

Parameters:
objectCode | Object code to identify an object type at run-time.
handler | Specifies the address of the handler routine.
Remarks:
The function registers the handler routine specified by handler to handle a concrete class, derived from Object, that is explicitly identified by objectCode.
A handler routine must be a member function of a Traverser-derived class. It must return void and expect a pointer to the concrete object as a first parameter, and can have one additional (optional) argument of arbitrary type. A handler routine must not have a default argument! If a handler routine is intended to remain overloadable, it should be declared virtual.
For derived classes intended to provide new operations for known objects arranged in a scene graph, it is strongly recommended not to add new handler routines for those objects but to override the corresponding handler routine. In this context, we refer to 'known objects' as objects that are known by the Traverser base class and for which a corresponding handler routine is provided.
However, addObjectHandler is indispensable if newly invented objects, and hence, objects that are unknown by the Traverser base class, need to be considered for traversing.
Note:
Any previously registered handler routine for the specified object code will be overridden by the new handler.
Example:
    addObjectHandler(
      OC_NEWGROUP   // object code for the new object NewGroup
                    // this must be provided by the author of NewGroup
      , &MySharedTraverser::handleNewGroup // handler function
    );

virtual NVSG_API void lockViewState ( ) [protected, virtual]

Override of the ViewState locking interface.

Remarks:
This function is called from the framework to lock the current ViewState, if any, for reading.
See also:
setViewState, unlockViewState

Implements Traverser.

virtual NVSG_API void unlockViewState ( ) [protected, virtual]

Override of the ViewState unlocking interface.

Remarks:
This function is called from the framework to unlock the current ViewState, if any, from reading.
See also:
setViewState, lockViewState

Implements Traverser.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Override of the traversal initiating interface.

Parameters:
root The Node to start traversal at.
Remarks:
This function is called from the framework after the Scene and the ViewState, if set, are locked. The actual traversal is done here.
See also:
preApply, postApply, lockViewState, unlockViewState

Implements Traverser.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, and SearchTraverser.

void doTraverseObject ( const nvsg::ObjectSharedPtr & p ) [inline, protected, virtual]

Function for performing the object traversal.

Parameters:
p The Object to traverse.
Remarks:
This function is called by the framework to really traverse an object.
See also:
traverseObject

Implements Traverser.

virtual NVSG_API void doTraverseDrawable ( const nvsg::DrawableSharedPtr & p ) [protected, virtual]

Function for performing traversal of a Drawable.

Parameters:
p The Drawable to traverse.
Remarks:
This function is called by the framework to traverse a Drawable.

Implements Traverser.

virtual NVSG_API void handleParallelCamera ( const nvsg::ParallelCamera * camera ) [protected, virtual]

Handler function for a ParallelCamera.

Parameters:
camera A pointer to the read-locked ParallelCamera being traversed.
Remarks:
This function is called from the framework whenever a ParallelCamera is encountered on traversal. The ParallelCamera camera is already read-locked.
The base implementation traverses through all the head lights of this camera.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMatrixCamera, handlePerspectiveCamera

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handlePerspectiveCamera ( const nvsg::PerspectiveCamera * camera ) [protected, virtual]

Handler function for a PerspectiveCamera.

Parameters:
camera A pointer to the read-locked PerspectiveCamera being traversed.
Remarks:
This function is called from the framework whenever a PerspectiveCamera is encountered on traversal. The PerspectiveCamera camera is already read-locked.
The base implementation traverses through all the head lights of this camera.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMatrixCamera, handleParallelCamera

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleMatrixCamera ( const nvsg::MatrixCamera * camera ) [protected, virtual]

Handler function for a MatrixCamera.

Parameters:
camera A pointer to the read-locked MatrixCamera being traversed.
Remarks:
This function is called from the framework whenever a MatrixCamera is encountered on traversal. The MatrixCamera camera is already read-locked.
The base implementation traverses through all the head lights of this camera.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleParallelCamera, handlePerspectiveCamera

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleGroup ( const nvsg::Group * group ) [protected, virtual]

Handler function for a Group.

Parameters:
group A pointer to the read-locked Group being traversed.
Remarks:
This function is called from the framework whenever a Group is encountered on traversal. The Group group is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleFlipbookAnimation ( const nvsg::FlipbookAnimation * anim ) [protected, virtual]

Handler function for a FlipbookAnimation.

Parameters:
anim A pointer to the read-locked FlipbookAnimation being traversed.
Remarks:
This function is called from the framework whenever a FlipbookAnimation is encountered on traversal. The FlipbookAnimation anim is already read-locked.
The base implementation first traverses the associated IndexAnimation, and then calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup, IndexAnimation

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * trafo ) [protected, virtual]

Handler function for a Transform.

Parameters:
trafo A pointer to the read-locked Transform being traversed.
Remarks:
This function is called from the framework whenever a Transform is encountered on traversal. The Transform trafo is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, SharedModelViewTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * trafo ) [protected, virtual]

Handler function for an AnimatedTransform.

Parameters:
trafo A pointer to the read-locked AnimatedTransform being traversed.
Remarks:
This function is called from the framework whenever an AnimatedTransform is encountered on traversal. The AnimatedTransform trafo is already read-locked.
The base implementation first traverses the associated TrafoAnimation, and then calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup, TrafoAnimation

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, SharedModelViewTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLOD ( const nvsg::LOD * lod ) [protected, virtual]

Handler function for an LOD.

Parameters:
lod A pointer to the read-locked LOD being traversed.
Remarks:
This function is called from the framework whenever an LOD is encountered on traversal. The LOD lod is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleSwitch ( const nvsg::Switch * swtch ) [protected, virtual]

Handler function for a Switch.

Parameters:
swtch A pointer to the read-locked Switch being traversed.
Remarks:
This function is called from the framework whenever a Switch is encountered on traversal. The Switch switch is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * billboard ) [protected, virtual]

Handler function for a Billboard.

Parameters:
billboard A pointer to the read-locked Billboard being traversed.
Remarks:
This function is called from the framework whenever a Billboard is encountered on traversal. The Billboard billboard is already read-locked.
The base implementation just calls Traverser::traverseGroup().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGroup, handleGroup

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, SharedModelViewTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleDirectedLight ( const nvsg::DirectedLight * light ) [protected, virtual]

Handler function for a DirectedLight.

Parameters:
light A pointer to the read-locked DirectedLight being traversed.
Remarks:
This function is called from the framework whenever a DirectedLight is encountered on traversal. The DirectedLight light is already read-locked.
The base implementation just calls traverseLight().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseLight

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handlePointLight ( const nvsg::PointLight * light ) [protected, virtual]

Handler function for a PointLight.

Parameters:
light A pointer to the read-locked PointLight being traversed.
Remarks:
This function is called from the framework whenever a PointLight is encountered on traversal. The PointLight light is already read-locked.
The base implementation just calls traverseLight().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseLight

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleSpotLight ( const nvsg::SpotLight * light ) [protected, virtual]

Handler function for a SpotLight.

Parameters:
light A pointer to the read-locked SpotLight being traversed.
Remarks:
This function is called from the framework whenever a SpotLight is encountered on traversal. The SpotLight light is already read-locked.
The base implementation just calls traverseLight().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseLight

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleGeoNode ( const nvsg::GeoNode * gnode ) [protected, virtual]

Handler function for a GeoNode.

Parameters:
gnode A pointer to the read-locked GeoNode being traversed.
Remarks:
This function is called from the framework whenever a GeoNode is encountered on traversal. The GeoNode gnode is already read-locked.
The base implementation just calls Traverser::traverseGeoNode().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseGeoNode

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleRectPatches ( const nvsg::RectPatches * patches ) [protected, virtual]

Handler function for a RectPatches.

Parameters:
patches A pointer to the read-locked RectPatches being traversed.
Remarks:
This function is called from the framework whenever a RectPatches is encountered on traversal. The RectPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleQuadPatches ( const nvsg::QuadPatches * patches ) [protected, virtual]

Handler function for a QuadPatches.

Parameters:
patches A pointer to the read-locked QuadPatches being traversed.
Remarks:
This function is called from the framework whenever a QuadPatches is encountered on traversal. The QuadPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( const nvsg::QuadPatches4x4 * patches ) [protected, virtual]

Handler function for a QuadPatches4x4.

Parameters:
patches A pointer to the read-locked QuadPatches4x4 being traversed.
Remarks:
This function is called from the framework whenever a QuadPatches4x4 is encountered on traversal. The QuadPatches4x4 patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleQuads ( const nvsg::Quads * quads ) [protected, virtual]

Handler function for a Quads.

Parameters:
quads A pointer to the read-locked Quads being traversed.
Remarks:
This function is called from the framework whenever a Quads is encountered on traversal. The Quads quads is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTriangles ( const nvsg::Triangles * triangles ) [protected, virtual]

Handler function for a Triangles.

Parameters:
triangles A pointer to the read-locked Triangles being traversed.
Remarks:
This function is called from the framework whenever a Triangles is encountered on traversal. The Triangles quads is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLines ( const nvsg::Lines * lines ) [protected, virtual]

Handler function for a Lines.

Parameters:
lines A pointer to the read-locked Lines being traversed.
Remarks:
This function is called from the framework whenever a Lines is encountered on traversal. The Lines lines is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handlePoints ( const nvsg::Points * points ) [protected, virtual]

Handler function for a Points.

Parameters:
points A pointer to the read-locked Points being traversed.
Remarks:
This function is called from the framework whenever a Points is encountered on traversal. The Points points is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleQuadMeshes ( const nvsg::QuadMeshes * meshes ) [protected, virtual]

Handler function for a QuadsMeshes.

Parameters:
meshes A pointer to the read-locked QuadsMeshes being traversed.
Remarks:
This function is called from the framework whenever a QuadsMeshes is encountered on traversal. The QuadsMeshes meshes is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleQuadStrips ( const nvsg::QuadStrips * strips ) [protected, virtual]

Handler function for a QuadStrips.

Parameters:
strips A pointer to the read-locked QuadStrips being traversed.
Remarks:
This function is called from the framework whenever a QuadStrips is encountered on traversal. The QuadStrips strips is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTriFans ( const nvsg::TriFans * fans ) [protected, virtual]

Handler function for a TriFans.

Parameters:
fans A pointer to the read-locked TriFans being traversed.
Remarks:
This function is called from the framework whenever a TriFans is encountered on traversal. The TriFans fans is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTriPatches ( const nvsg::TriPatches * patches ) [protected, virtual]

Handler function for a TriPatches.

Parameters:
patches A pointer to the read-locked TriPatches being traversed.
Remarks:
This function is called from the framework whenever a TriPatches is encountered on traversal. The TriPatches patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTriPatches4 ( const nvsg::TriPatches4 * patches ) [protected, virtual]

Handler function for a TriPatches4.

Parameters:
patches A pointer to the read-locked TriPatches4 being traversed.
Remarks:
This function is called from the framework whenever a TriPatches4 is encountered on traversal. The TriPatches4 patches is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTriStrips ( const nvsg::TriStrips * strips ) [protected, virtual]

Handler function for a TriStrips.

Parameters:
strips A pointer to the read-locked TriStrips being traversed.
Remarks:
This function is called from the framework whenever a TriStrips is encountered on traversal. The TriStrips strips is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLineStrips ( const nvsg::LineStrips * strips ) [protected, virtual]

Handler function for a LineStrips.

Parameters:
strips A pointer to the read-locked LineStrips being traversed.
Remarks:
This function is called from the framework whenever a LineStrips is encountered on traversal. The LineStrips strips is already read-locked.
The base implementation just calls traversePrimitiveSet().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitiveSet

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handlePrimitive ( const nvsg::Primitive * primitive ) [protected, virtual]

Handler function for a Primitive.

Parameters:
primitive A pointer to the read-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive primitive is already read-locked.
The base implementation just calls Traverser::traversePrimitive().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traversePrimitive

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleShape ( const nvsg::Shape * shape ) [protected, virtual]

Handler function for a Shape.

Parameters:
shape A pointer to the read-locked Shape being traversed.
Remarks:
This function is called from the framework whenever a Shape is encountered on traversal. The Shape shape is already read-locked.
The base implementation just calls Traverser::traverseShape().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseShape

Reimplemented in AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleStateSet ( const nvsg::StateSet * stateSet ) [protected, virtual]

Handler function for a StateSet.

Parameters:
stateSet A pointer to the read-locked StateSet being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StateSet stateSet is already read-locked.
The base implementation just traverses the active StateVariant.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
StateVariant

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleStateVariant ( const nvsg::StateVariant * variant ) [protected, virtual]

Handler function for a StateVariant.

Parameters:
variant A pointer to the read-locked StateVariant being traversed.
Remarks:
This function is called from the framework whenever a StateVariant is encountered on traversal. The StateVariant variant is already read-locked.
The base implementation just call Traverser::traverseStateVariant().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStateVariant

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleStatePass ( const nvsg::StatePass * pass ) [protected, virtual]

Handler function for a StatePass.

Parameters:
pass A pointer to the read-locked StatePass being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StatePass pass is already read-locked.
The base implementation just call Traverser::traverseStatePass().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStatePass

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleCgFx ( const nvsg::CgFx * cgfx ) [protected, virtual]

Handler function for a CgFx.

Parameters:
cgfx A pointer to the read-locked CgFx being traversed.
Remarks:
This function is called from the framework whenever a CgFx is encountered on traversal. The CgFx cgfx is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleRTFx ( const nvsg::RTFx * rtfx ) [protected, virtual]

Handler function for an RTFx.

Parameters:
rtfx A pointer to the read-locked RTFx being traversed.
Remarks:
This function is called from the framework whenever an RTFx is encountered on traversal. The RTFx rtfx is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleRTBufferAttribute ( const nvsg::RTBufferAttribute * rtba ) [protected, virtual]

Handler function for an RTBufferAttribute.

Parameters:
rtba A pointer to the read-locked RTBufferAttribute being traversed.
Remarks:
This function is called from the framework whenever an RTBufferAttribute is encountered on traversal. The RTFx rtfx is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and SearchTraverser.

virtual NVSG_API void handleMaterial ( const nvsg::Material * material ) [protected, virtual]

Handler function for a Material.

Parameters:
material A pointer to the read-locked Material being traversed.
Remarks:
This function is called from the framework whenever a Material is encountered on traversal. The Material material is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTextureAttribute ( const nvsg::TextureAttribute * texAttrib ) [protected, virtual]

Handler function for a TextureAttribute.

Parameters:
texAttrib A pointer to the read-locked TextureAttribute being traversed.
Remarks:
This function is called from the framework whenever a TextureAttribute is encountered on traversal. The TextureAttribute texAttrib is already read-locked.
The base implementation just calls Traverser::traverseTextureAttribute().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseTextureAttribute

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Handler function for a TextureAttributeItem.

Parameters:
texAttribItem A pointer to the read-locked TextureAttributeItem being traversed.
Remarks:
This function is called from the framework whenever a TextureAttributeItem is encountered on traversal. The TextureAttributeItem texAttribItem is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
getCurrentTextureUnit

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, ExtractGeometryTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleAlphaTestAttribute ( const nvsg::AlphaTestAttribute * alphaTestAttrib ) [protected, virtual]

Handler function for a AlphaTestAttribute.

Parameters:
alphaTestAttrib A pointer to the read-locked AlphaTestAttribute being traversed.
Remarks:
This function is called from the framework whenever a AlphaTestAttribute is encountered on traversal. The AlphaTestAttribute alphaTestAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleBlendAttribute ( const nvsg::BlendAttribute * blendAttrib ) [protected, virtual]

Handler function for a BlendAttribute.

Parameters:
blendAttrib A pointer to the read-locked BlendAttribute being traversed.
Remarks:
This function is called from the framework whenever a BlendAttribute is encountered on traversal. The BlendAttribute blendAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleDepthAttribute ( const nvsg::DepthAttribute * depthAttrib ) [protected, virtual]

Handler function for a DepthAttribute.

Parameters:
depthAttrib A pointer to the read-locked DepthAttribute being traversed.
Remarks:
This function is called from the framework whenever a DepthAttribute is encountered on traversal. The DepthAttribute depthAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleStencilAttribute ( const nvsg::StencilAttribute * stencilAttrib ) [protected, virtual]

Handler function for a StencilAttribute.

Parameters:
stencilAttrib Specifies the StencilAttriburte to process.
Remarks:
This function is called from the framework whenever a StencilAttribute is encountered on traversal. The StencilAttribute attribute will be read-locked by the framework prior to call this handler function. The read lock will be released again, after the function returns. The base implementation performs no operation.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and SearchTraverser.

virtual NVSG_API void handleFaceAttribute ( const nvsg::FaceAttribute * faceAttrib ) [protected, virtual]

Handler function for a FaceAttribute.

Parameters:
faceAttrib A pointer to the read-locked FaceAttribute being traversed.
Remarks:
This function is called from the framework whenever a FaceAttribute is encountered on traversal. The FaceAttribute faceAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLightingAttribute ( const nvsg::LightingAttribute * laAttrib ) [protected, virtual]

Handler function for a LightingAttribute.

Parameters:
laAttrib A pointer to the read-locked LightingAttribute being traversed.
Remarks:
This function is called from the framework whenever a LightingAttribute is encountered on traversal. The LightingAttribute laAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLineAttribute ( const nvsg::LineAttribute * lineAttrib ) [protected, virtual]

Handler function for a LineAttribute.

Parameters:
lineAttrib A pointer to the read-locked LineAttribute being traversed.
Remarks:
This function is called from the framework whenever a LineAttribute is encountered on traversal. The LineAttribute lineAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handlePointAttribute ( const nvsg::PointAttribute * pointAttrib ) [protected, virtual]

Handler function for a PointAttribute.

Parameters:
pointAttrib A pointer to the read-locked PointAttribute being traversed.
Remarks:
This function is called from the framework whenever a PointAttribute is encountered on traversal. The PointAttribute pointAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, RayIntersectTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleUnlitColorAttribute ( const nvsg::UnlitColorAttribute * unlitColor ) [protected, virtual]

Handler function for an UnlitColorAttribute.

Parameters:
unlitColor A pointer to the read-locked UnlitColorAttribute being traversed.
Remarks:
This function is called from the framework whenever an UnlitColorAttribute is encountered on traversal. The UnlitColorAttribute unlitColor is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, and SearchTraverser.

virtual NVSG_API void handleMapArray ( const nvsg::MapArray * mapArray ) [protected, virtual]

Handler function for a MapArray.

Parameters:
mapArray A pointer to the read-locked MapArray being traversed.
Remarks:
This function is called from the framework whenever a MapArray is encountered on traversal. The MapArray mapArray is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapElement, handleMapMatrix

Reimplemented in SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleMapElement ( const nvsg::MapElement * mapElement ) [protected, virtual]

Handler function for a MapElement.

Parameters:
mapElement A pointer to the read-locked MapElement being traversed.
Remarks:
This function is called from the framework whenever a MapElement is encountered on traversal. The MapElement mapElement is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapArray, handleMapMatrix

Reimplemented in SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleMapMatrix ( const nvsg::MapMatrix * mapMatrix ) [protected, virtual]

Handler function for a MapMatrix.

Parameters:
mapMatrix A pointer to the read-locked MapMatrix being traversed.
Remarks:
This function is called from the framework whenever a MapMatrix is encountered on traversal. The MapMatrix mapMatrix is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapArray, handleMapElement

Reimplemented in SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleMapList ( const nvsg::MapList * mapList ) [protected, virtual]

Handler function for a MapList.

Parameters:
mapList A pointer to the read-locked MapList being traversed.
Remarks:
This function is called from the framework whenever a MapList is encountered on traversal. The MapList mapList is already read-locked.
The base implementation just calls Traverser::traverseMapList().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseMapList

Reimplemented in SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleVertexAttributeSet ( const nvsg::VertexAttributeSet * vas ) [protected, virtual]

Handler function for a VertexAttributeSet.

Parameters:
vas A pointer to the read-locked VertexAttributeSet being traversed.
Remarks:
This function is called from the framework whenever a VertexAttributeSet is encountered on traversal. The VertexAttributeSet vas is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( const nvsg::AnimatedVertexAttributeSet * avas ) [protected, virtual]

Handler function for an AnimatedVertexAttributeSet.

Parameters:
avas A pointer to the read-locked AnimatedVertexAttributeSet being traversed.
Remarks:
This function is called from the framework whenever an AnimatedVertexAttributeSet is encountered on traversal. The AnimatedVertexAttributeSet avas is already read-locked.
The base implementation traverses each VertexAttributeAnimation of avas and holds the index of the currently traversed VertexAttributeAnimation in the protected member variable m_currentAttrib.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleSkin ( const nvsg::Skin * skin ) [protected, virtual]

Handler function for a Skin.

Parameters:
skin A pointer to the read-locked Skin being traversed.
Remarks:
This function is called from the framework whenever a Skin is encountered on traversal. The Skin skin is already read-locked.
The base implementation just does nothing.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleIndexAnimation ( const nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Handle function for an Animation of indices.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of indices is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleTrafoAnimation ( const nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Handle function for an Animation of Trafos.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of Trafos is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleVertexAttributeAnimation ( const nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Handle function for an Animation of VertexAttributes.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of VertexAttributes is encountered on traversal. Then Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleFramedIndexAnimationDescription ( const nvsg::FramedAnimationDescription< unsigned int > * anim ) [protected, virtual]

Handler function for a FramedAnimationDescription<unsigned int>.

Parameters:
anim A pointer to the read-locked FramedAnimationDescription<unsigned int> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<unsigned int> is encountered on traversal. The FramedAnimationDescription<unsigned int> anim is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleFramedTrafoAnimationDescription ( const nvsg::FramedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Handler function for a FramedAnimationDescription<nvmath::Trafo>.

Parameters:
trafo A pointer to the read-locked FramedAnimationDescription<nvmath::Trafo> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<nvmath::Trafo> is encountered on traversal. The FramedAnimationDescription<nvmath::Trafo> trafo is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleFramedVertexAttributeAnimationDescription ( const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Handler function for a FramedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the read-locked FramedAnimationDescription<VertexAttribute> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<VertexAttribute> is encountered on traversal. The FramedAnimationDescription<VertexAttribute> p is already read-locked.
The base implementation just does nothing
See also:
handleLinearInterpolatedVertexAttributeAnimationDescription

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLinearInterpolatedTrafoAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Handler function for a LinearInterpolatedAnimationDescription<nvmath::Trafo>.

Parameters:
trafo A pointer to the read-locked LinearInterpolatedAnimationDescription<nvmath::Trafo> being traversed.
Remarks:
This function is called from the framework whenever a LinearInterpolatedAnimationDescription<nvmath::Trafo> is encountered on traversal. The LinearInterpolatedAnimationDescription<nvmath::Trafo> trafo is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleLinearInterpolatedVertexAttributeAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Handler function for a LinearInterpolatedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the read-locked LinearInterpolatedAnimationDescription<VertexAttribute> being traversed.
Remarks:
This function is called from the framework whenever a LinearInterpolatedAnimationDescription<VertexAttribute> is encountered on traversal. The LinearInterpolatedAnimationDescription<VertexAttribute> p is already read-locked.
The base implementation just does nothing
See also:
handleFramedVertexAttributeAnimationDescription

Reimplemented in NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, SearchTraverser, and StatisticsTraverser.

virtual NVSG_API void handleRTFxSceneAttribute ( const nvsg::RTFxSceneAttribute * rtfxsa ) [protected, virtual]

Handler function for an RTFxSceneAttribute.

Parameters:
rtfxsa A pointer to the read-locked RTFxSceneAttribute being traversed.
Remarks:
This function is called from the framework whenever an RTFxSceneAttribute is encountered on traversal. The RTFxSceneAttribute rtfxsa is already read-locked.
The base implementation just calls Traverser::traverseSceneAttribute().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseSceneAttribute

Reimplemented in NBFSaveTraverser.

virtual NVSG_API void traverseCamera ( const nvsg::Camera * camera ) [protected, virtual]

Function for common handling of Camera classes.

Parameters:
camera A pointer to the read-locked Camera being traversed.
Remarks:
This function is called from the framework whenever a Camera is encountered on traversal. The Camera camera is already read-locked.
The base implementation traverses the headlights of camera.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
LightSource

Reimplemented in SharedModelViewTraverser.

virtual NVSG_API void traverseFrustumCamera ( const nvsg::FrustumCamera * camera ) [protected, virtual]

Function for common handling of FrustumCamera classes.

Parameters:
camera A pointer to the read-locked FrustumCamera being traversed.
Remarks:
This function is called from the framework whenever a FrustumCamera is encountered on traversal. The FrustumCamera camera is already read-locked.
The base implementation traverses the headlights of camera.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
LightSource

virtual NVSG_API void traverseLight ( const nvsg::LightSource * light ) [protected, virtual]

Function for common handling of LightSource classes.

Parameters:
light A pointer to the read-locked LightSource being traversed.
Remarks:
This function is called from the framework whenever a LightSource is encountered on traversal. The LightSource light is already read-locked.
The base implementation traverses the Animation associated with light, if there is one.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
TrafoAnimation

virtual NVSG_API void traversePrimitiveSet ( const nvsg::PrimitiveSet * pset ) [protected, virtual]

Function for common handling of PrimitiveSet classes.

Parameters:
pset A pointer to the read-locked PrimitiveSet being traversed.
Remarks:
This function is called from the framework whenever a PrimitiveSet is encountered on traversal. The PrimitiveSet pset is already read-locked.
The base implementation first traverses the Skin, if there is one, and then the VertexAttributeSet of pset, if there is one.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
VertexAttributeSet, Skin

virtual NVSG_API void traversePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Function for common handling of Primitive classes.

Parameters:
p A pointer to the read-locked Primitive being traversed.
Remarks:
This function is called from the framework whenever a Primitive is encountered on traversal. The Primitive p is already read-locked.
The base implementation first traverses the Skin, if there is one, and then the VertexAttributeSet of p, if there is one.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
VertexAttributeSet, Skin

Reimplemented from Traverser.

Reimplemented in ExtractGeometryTraverser, and AnalyzeTraverser.

The documentation for this class was generated from the following file:
  • Traverser.h
Generated on Fri Jul 13 13:31:17 2012 for SceniX


SceniX: Member List

SharedTraverser Member List

This is the complete list of members for SharedTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | SharedTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | SharedTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *trafo) | SharedTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | SharedTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *billboard) | SharedTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *blendAttrib) | SharedTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *cgfx) | SharedTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *depthAttrib) | SharedTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *light) | SharedTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *faceAttrib) | SharedTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *anim) | SharedTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *gnode) | SharedTraverser | [protected, virtual]
handleGroup(const nvsg::Group *group) | SharedTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | SharedTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | SharedTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | SharedTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *lineAttrib) | SharedTraverser | [protected, virtual]
handleLines(const nvsg::Lines *lines) | SharedTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *strips) | SharedTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *lod) | SharedTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | SharedTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | SharedTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | SharedTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | SharedTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *material) | SharedTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *camera) | SharedTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *camera) | SharedTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *camera) | SharedTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *pointAttrib) | SharedTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *light) | SharedTraverser | [protected, virtual]
handlePoints(const nvsg::Points *points) | SharedTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *primitive) | SharedTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *meshes) | SharedTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *patches) | SharedTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *patches) | SharedTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *quads) | SharedTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *strips) | SharedTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *patches) | SharedTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | SharedTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *rtfx) | SharedTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *rtfxProgram) (defined in SharedTraverser) | SharedTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | SharedTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *skin) | SharedTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *light) | SharedTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *pass) | SharedTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *stateSet) | SharedTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *variant) | SharedTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | SharedTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *swtch) | SharedTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *texAttrib) | SharedTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | SharedTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | SharedTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *trafo) | SharedTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *triangles) | SharedTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *fans) | SharedTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *patches) | SharedTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *patches) | SharedTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *strips) | SharedTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | SharedTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | SharedTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | SharedTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:31:17 2012 for SceniX


SceniX: ShareGroupGL::Key Struct Reference

nvgl::ShareGroupGL::Key

ShareGroupGL::Key Struct Reference

Key used for ResourceMap *. More...

#include <RenderContextGL.h>

List of all members.

Public Member Functions

Key (size_t key, unsigned int type)
bool | operator< (const Key &rhs) const

Public Attributes

size_t | m_key
unsigned int | m_type

Detailed Description

Key used for ResourceMap *.

The documentation for this struct was generated from the following file:
  • RenderContextGL.h
Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Member List

ShareGroupGL::Key Member List

This is the complete list of members for ShareGroupGL::Key, including all inherited members.

Key(size_t key, unsigned int type) (defined in ShareGroupGL::Key) | ShareGroupGL::Key | [inline]
m_key (defined in ShareGroupGL::Key) | ShareGroupGL::Key |
m_type (defined in ShareGroupGL::Key) | ShareGroupGL::Key |
operator<(const Key &rhs) const (defined in ShareGroupGL::Key) | ShareGroupGL::Key | [inline]

Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: ShareGroupGLResourceHolder Class Reference

nvgl::ShareGroupGLResourceHolder

ShareGroupGLResourceHolder Class Reference

A ShareGroupGLResourceHolder holds a reference to a Resource in a ShareGroupGL. It'll keep the used count of the resource always up to date. More...

#include <RenderContextGL.h>

Inheritance diagram for ShareGroupGLResourceHolder:

[legend]
Collaboration diagram for ShareGroupGLResourceHolder:

[legend]
List of all members.

Public Member Functions

NVSG_API | ShareGroupGLResourceHolder (const ShareGroupGLSharedPtr &shareGroup, ShareGroupGL::Key key, const nvutil::SmartRCObject &resource)
NVSG_API | ShareGroupGLResourceHolder (const ShareGroupGLResourceHolder &rhs)
NVSG_API nvutil::SmartRCObject | getResource ()

Protected Member Functions

ShareGroupGLResourceHolder & | operator= (const ShareGroupGLResourceHolder &rhs)

Protected Attributes

ShareGroupGLSharedPtr | m_shareGroup
ShareGroupGL::Key | m_key
nvutil::SmartRCObject | m_resource

Detailed Description

A ShareGroupGLResourceHolder holds a reference to a Resource in a ShareGroupGL. It'll keep the used count of the resource always up to date.

The documentation for this class was generated from the following file:
  • RenderContextGL.h
Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Member List

ShareGroupGLResourceHolder Member List

This is the complete list of members for ShareGroupGLResourceHolder, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getResource() (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder |
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
m_key (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder | [protected]
m_resource (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder | [protected]
m_shareGroup (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder | [protected]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const ShareGroupGLResourceHolder &rhs) (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder | [protected]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
ShareGroupGLResourceHolder(const ShareGroupGLSharedPtr &shareGroup, ShareGroupGL::Key key, const nvutil::SmartRCObject &resource) (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder |
ShareGroupGLResourceHolder(const ShareGroupGLResourceHolder &rhs) (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~ShareGroupGLResourceHolder() (defined in ShareGroupGLResourceHolder) | ShareGroupGLResourceHolder | [virtual]

Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: ShareGroupGLTask Class Reference

nvgl::ShareGroupGLTask

ShareGroupGLTask Class Reference

A ShareGroupTask is a small task which can be executed in the GL thread of a ShareGroup. More...

#include <RenderContextGL.h>

Inheritance diagram for ShareGroupGLTask:

[legend]
Collaboration diagram for ShareGroupGLTask:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void execute ()=0
This function is being called by the ShareGroup.

Detailed Description

A ShareGroupTask is a small task which can be executed in the GL thread of a ShareGroup.

Member Function Documentation

virtual NVSG_API void execute ( ) [pure virtual]

This function is being called by the ShareGroup.

Remarks:
At the time this function is being called a GL context of the ShareGroup is being active.

The documentation for this class was generated from the following file:
  • RenderContextGL.h
Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: Member List

ShareGroupGLTask Member List

This is the complete list of members for ShareGroupGLTask, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
execute()=0 | ShareGroupGLTask | [pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~ShareGroupGLTask() (defined in ShareGroupGLTask) | ShareGroupGLTask | [inline, virtual]

Generated on Fri Jul 13 13:29:37 2012 for SceniX


SceniX: ShortStrippedResult Class Reference

nvtraverser::ShortStrippedResult

ShortStrippedResult Class Reference

AnalyzeResult indicating a StrippedPrimitiveSet with very short strips. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for ShortStrippedResult:

[legend]
Collaboration diagram for ShortStrippedResult:

[legend]
List of all members.

Public Attributes

unsigned int | shortStrippedCount
The number of objects with short strips.
unsigned int | shortStrippedNumber
The number of short strips in those objects.

Detailed Description

AnalyzeResult indicating a StrippedPrimitiveSet with very short strips.

Namespace: nvsg
Remarks:
All QuadStrips with strips of length up to four, and all TriFans and TriStrips with fans or strips of length up to three are reported.
See also:
AnalyzeResult, AnalyzeTraverser, QuadStrips, TriFans, TriStrips

Member Data Documentation

unsigned int shortStrippedCount

The number of objects with short strips.

unsigned int shortStrippedNumber

The number of short strips in those objects.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: Member List

ShortStrippedResult Member List

This is the complete list of members for ShortStrippedResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
shortStrippedCount | ShortStrippedResult |
shortStrippedNumber | ShortStrippedResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~ShortStrippedResult() (defined in ShortStrippedResult) | ShortStrippedResult | [inline, virtual]

Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: SingleChildResult Class Reference

nvtraverser::SingleChildResult

SingleChildResult Class Reference

AnalyzeResult indicating a Group with a single child. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for SingleChildResult:

[legend]
Collaboration diagram for SingleChildResult:

[legend]
List of all members.

Public Member Functions

virtual | ~SingleChildResult ()
Virtual Destructor.

Public Attributes

unsigned int | singleChildCount
The number of objects with a single child.

Detailed Description

AnalyzeResult indicating a Group with a single child.

Namespace: nvsg
Remarks:
All Group (and Group-derived) objects with only one child are reported with a SingleChildResult.
See also:
AnalyzeResult, AnalyzeTraverser

Constructor & Destructor Documentation

virtual ~SingleChildResult ( ) [inline, virtual]

Virtual Destructor.

Member Data Documentation

unsigned int singleChildCount

The number of objects with a single child.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: Member List

SingleChildResult Member List

This is the complete list of members for SingleChildResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
singleChildCount | SingleChildResult |
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~SingleChildResult() | SingleChildResult | [inline, virtual]

Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: Singleton Class Template Reference

nvutil::Singleton

Singleton Class Template Reference

A Singleton framework. More...

#include <Singleton.h>

Collaboration diagram for Singleton:

[legend]
List of all members.

Static Public Member Functions

static T * instance ()
Single instance access.

Detailed Description

template<typename T>
class nvutil::Singleton< T >

A Singleton framework.

Ensures a class T only has one instance. Defines a global point of access to that object.

Member Function Documentation

T * instance ( ) [inline, static]

Single instance access.

Receive a pointer to the single instance.

The documentation for this class was generated from the following file:
  • Singleton.h
Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Singleton Member List

This is the complete list of members for Singleton, including all inherited members.

instance() Singleton [inline, static]

Generated on Fri Jul 13 13:31:30 2012 for SceniX


SceniX: Skin Class Reference

nvsg::Skin

Skin Class Reference

Provides functionality to work with skinned vertex attribute data. More...

#include <Skin.h>

Inheritance diagram for Skin:

[legend]
Collaboration diagram for Skin:

[legend]
List of all members.

Public Types

enum | SkinningType { NVSG_SKIN_NONE, NVSG_SKIN_POINT, NVSG_SKIN_VECTOR }

Public Member Functions

NVSG_API Skin & | operator= (const Skin &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other Skin.
NVSG_API void | setBindPose (const VertexAttributeSetSharedPtr &bindPose)
Set the initial bind pose of this Skin.
NVSG_API const VertexAttributeSetSharedPtr & | getBindPose () const
Get the initial bind pose of this Skin.
NVSG_API Skin::SkinningType | getSkinningType (unsigned int attrib) const
Get the skinning type of the specified attribute.
NVSG_API void | setSkinningType (unsigned int attrib, SkinningType type)
Set the skinning type for the specified attribute.
NVSG_API void | setInfluenceData (const float *weights, const unsigned int *indices, const unsigned int *counts, unsigned int numberOfInfluences)
Set the complete set of influence data.
NVSG_API void | setInfluenceData (unsigned int pos, const float *weights, const unsigned int *indices, const unsigned int *counts, unsigned int numberOfInfluences)
Set influence data, starting at the specified position.
NVSG_API const float * | getWeights () const
Get a pointer to the weights.
NVSG_API const unsigned int * | getIndices () const
Get a pointer to the indices.
NVSG_API const unsigned int * | getCounts () const
Get a pointer to the counts.
NVSG_API const unsigned int * | getOffsets () const
Get a pointer to the offsets.
NVSG_API unsigned int | getNumberOfInfluences () const
Get the number of influence data.
NVSG_API unsigned int | getTotalNumberOfIndices () const
Get the total number of indices.
NVSG_API const nvmath::Mat44f & | getBindShapeMatrix () const
Get the bind shape matrix of this Skin.
NVSG_API void | setBindShapeMatrix (const nvmath::Mat44f &matrix)
Set the bind shape matrix of this Skin.
NVSG_API unsigned int | getNumberOfJoints () const
Get the number of Joints of this Skin.
NVSG_API unsigned int | addJoint (const TransformSharedPtr &joint, const nvmath::Mat44f &inverseBindMatrix, unsigned int position=~0)
Add a Joint to this Skin.
NVSG_API const TransformSharedPtr & | getJoint (unsigned int position) const
Get the joint at the specified position.
NVSG_API const nvmath::Mat44f & | getInverseBindMatrix (unsigned int position) const
Get the inverse bind matrix of the joint at the specified position.
NVSG_API void | removeJoint (unsigned int position)
Remove the joint at the specified position.
REFLECTION_INFO_API (NVSG_API, Skin)

Static Public Member Functions

static NVSG_API SkinSharedPtr | create ()

Protected Member Functions

NVSG_API | Skin ()
Default constructor.
NVSG_API | Skin (const Skin &rhs)
Copy constructor.
virtual NVSG_API | ~Skin ()
Destructor.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Provides functionality to work with skinned vertex attribute data.

Remarks:
A Skin can be used in conjunction with a VertexAttributeSet. In addition to the reference to a VertexAttributeSet, a PrimitiveSet might hold a reference to a Skin. That way, each PrimitiveSet object can be skinned.

The base mesh is defined in the VertexAttributeSet part.

Skin::m_weights hold a vector of weights per vertex. For each vertex, the number of elements in m_indices and m_weights have to be equal. For each VertexAttribute, the SkinningType has to be set. NVSG_SKIN_NONE (the default) means that the corresponding VertexAttribute is not changed by the skinning process. NVSG_SKIN_POINT uses the skinning matrices. NVSG_SKIN_VECTOR uses the inverse transpose of the skinning matrices and normalizes the vector at the end.

The values in m_indices index into the current set of matrices m_jointMatrices.
Note:
It might happen, that the skinned vertex data is not created as part of this Skin, but is created in a way that can be directly accessed by the rendering engine.

It might be useful, to set the NVSG_HINT_ALWAYS_VISIBLE hint for a GeoNode holding a Skin, to prevent culling of that object, because the vertices are moved by the skinning process.

Constructor & Destructor Documentation

NVSG_API Skin ( ) [protected]

Default constructor.

Remarks:
Creates an empty Skin.

NVSG_API Skin ( const Skin & rhs ) [protected]

Copy constructor.

Parameters:
rhs Skin to copy from.
Remarks:
Creates a Skin by copying the data from rhs.

virtual NVSG_API ~Skin ( ) [protected, virtual]

Destructor.

Member Function Documentation

NVSG_API Skin& operator= ( const Skin & rhs )

Assignment operator.

Parameters:
rhs Skin to assign.
Returns:
A reference to this.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other Skin.

Parameters:
p | A pointer to an Object to test for equivalence with.
ignoreNames | true, if names are to be ignored in the equivalence test, otherwise false.
deepCompare | true, if a deep compare should be done, otherwise false.
Returns:
true, if this and p are equivalent, otherwise false.
Remarks:
An Object p is considered to be equivalent to the Skin this, if it also is a Skin and has the same bind shape matrix, joints, inverse bind matrices, counts, indices, and weights.

Reimplemented from Object.

NVSG_API void setBindPose ( const VertexAttributeSetSharedPtr & bindPose )

Set the initial bind pose of this Skin.

Parameters:
bindPose A VertexAttributeSet with the initial bind pose.
See also:
getBindPose

const nvsg::VertexAttributeSetSharedPtr & getBindPose ( ) const [inline]

Get the initial bind pose of this Skin.

Returns:
The initial bind pose.
See also:
setBindPose

Skin::SkinningType getSkinningType ( unsigned int attrib ) const [inline]

Get the skinning type of the specified attribute.

Parameters:
attrib Specifies the vertex attribute to get the skinning type for.
Returns:
The skinning type for the specified attribute.
Remarks:
There are three possibilities how a vertex attribute should be handled by the skinning process. It should not be modified (NVSG_SKIN_NONE, the default, for texture coordinates for example), it should be handled like position information (NVSG_SKIN_POINT), or it should be handled like normal information (NVSG_SKIN_VECTOR).
See also:
setSkinningType

NVSG_API void setSkinningType | ( | unsigned int | attrib,
 |  | SkinningType | type
 | ) |

Set the skinning type for the specified attribute.

Parameters:
attrib | Specifies the vertex attribute to set the skinning type for.
type | The skinning type to set.
Remarks:
There are three possibilities how a vertex attribute should be handled by the skinning process. It should not be modified (NVSG_SKIN_NONE, the default, for texture coordinates for example), it should be handled like position information (NVSG_SKIN_POINT), or it should be handled like normal information (NVSG_SKIN_VECTOR).
See also:
getSkinningType

NVSG_API void setInfluenceData | ( | const float * | weights,
 |  | const unsigned int * | indices,
 |  | const unsigned int * | counts,
 |  | unsigned int | numberOfInfluences
 | ) |

Set the complete set of influence data.

Parameters:
weights | A pointer to the weights.
indices | A pointer to the indices.
counts | A pointer to the counts.
numberOfInfluences | The number of influences to be set.
Remarks:
The numberOfInfluences has to be equal to the number of vertices in the associated VertexAttributeSet. It is expected, that counts points to numberOfInfluences values. Each one specifies how many indices and weights are used for the corresponding vertex. Is is expected that weights and indices point to a number of values, that are equal to the sum of all the values in counts. The indices index into the array of joint matrices. The weights specify the weight to use with each of those matrices.
See also:
getWeights, getIndices, getCounts, getOffsets, getNumberOfInfluences

NVSG_API void setInfluenceData | ( | unsigned int | pos,
 |  | const float * | weights,
 |  | const unsigned int * | indices,
 |  | const unsigned int * | counts,
 |  | unsigned int | numberOfInfluences
 | ) |

Set influence data, starting at the specified position.

Parameters:
pos | Specifies the position of the first vertex to set the influence data for.
weights | A pointer to the weights.
indices | A pointer to the indices.
counts | A pointer to the counts.
numberOfInfluences | The number of influences to be set.
Remarks:
This inserts the influence data inside (or at the end of) an already defined set of influence data.
See also:
setInfluenceData, getWeights, getIndices, getCounts, getOffsets, getNumberOfInfluences

const float * getWeights ( ) const [inline]

Get a pointer to the weights.

Returns:
A pointer to the weights.
Remarks:
The weights for each vertex are concatenated to one large array.
See also:
setInfluenceData, getIndices, getCounts, getOffsets, getNumberOfInfluences

const unsigned int * getIndices ( ) const [inline]

Get a pointer to the indices.

Returns:
A pointer to the indices.
Remarks:
The indices for each vertex are concatenated to one large array.
See also:
setInfluenceData, getWeights, getCounts, getOffsets, getNumberOfInfluences

const unsigned int * getCounts ( ) const [inline]

Get a pointer to the counts.

Returns:
A pointer to the counts.
Remarks:
The array of counts specifies for each vertex how many index/weight pairs are used.
See also:
setInfluenceData, getWeights, getIndices, getOffsets, getNumberOfInfluences

const unsigned int * getOffsets ( ) const [inline]

Get a pointer to the offsets.

Returns:
A pointer to the offsets.
Remarks:
The array of offsets specifies for each vertex the offset into the weights and indices arrays, where the index/weight pairs start for that vertex.
See also:
setInfluenceData, getWeights, getIndices, getCounts, getNumberOfInfluences

unsigned int getNumberOfInfluences ( ) const [inline]

Get the number of influence data.

Returns:
The number of influence data.
Remarks:
The number of influence data should be equal to the number of vertices of the associated VertexAttributeSet.
See also:
setInfluenceData, getWeights, getIndices, getCounts, getOffsets

unsigned int getTotalNumberOfIndices ( ) const [inline]

Get the total number of indices.

Returns:
The total number of indices.
Remarks:
The total number of weights has to be equal to the total number of indices.
See also:
getCounts, getNumberOfInfluences

const nvmath::Mat44f & getBindShapeMatrix ( ) const [inline]

Get the bind shape matrix of this Skin.

Returns:
The bind shape matrix of this Skin.
Remarks:
The bind shape matrix is the transformation that moves the skin in the skeleton coordinate system. The default of this matrix is the identity.
See also:
setBindShapeMatrix

void setBindShapeMatrix ( const nvmath::Mat44f & matrix ) [inline]

Set the bind shape matrix of this Skin.

Parameters:
matrix The bind shape matrix of this Skin.
Remarks:
The bind shape matrix is the transformation that moves the skin in the skeleton coordinate system. The default of this matrix is the identity.
See also:
getBindShapeMatrix

unsigned int getNumberOfJoints ( ) const [inline]

Get the number of Joints of this Skin.

Returns:
The number of Joints of this Skin.
See also:
addJoint, getJoint, getInverseBindMatrix, removeJoint

NVSG_API unsigned int addJoint | ( | const TransformSharedPtr & | joint,
 |  | const nvmath::Mat44f & | inverseBindMatrix,
 |  | unsigned int | position = ~0
 | ) |

Add a Joint to this Skin.

Parameters:
joint | The Transform to use as a Joint.
inverseBindMatrix | The transformation that is applied to a vertex to express it in the joint coordinate system.
position | Optional position where to place the new Joint.
Returns:
The function returns the zero-based position where the Joint has been added.
Remarks:
The reference count and the joint marker of joint is increased.

When omitting the position parameter, the joint will be added at the end. If position specifies a position greater than or equal to the actual number of joints, the new joint will be added to the end. Otherwise the joint will be inserted at that position forcing all subsequent joints to move up in the list of joints.
See also:
getNumberOfJoints, getJoint, getInverseBindMatrix, removeJoint

const TransformSharedPtr & getJoint ( unsigned int position ) const [inline]

Get the joint at the specified position.

Parameters:
position Zero-based position of the joint to get.
Returns:
The function returns the Transform at the specified position.
Remarks:
The behavior of this function is undefined, if position is greater than or equal to the number of joints of this Skin.
See also:
getNumberOfJoints, addJoint, getInverseBindMatrix, removeJoint

const nvmath::Mat44f & getInverseBindMatrix ( unsigned int position ) const [inline]

Get the inverse bind matrix of the joint at the specified position.

Parameters:
position Zero-based position of the inverse bind matrix to get.
Returns:
The function returns a constant reference to the inverse bind matrix at the specified position.
Remarks:
The behavior of this function is undefined, if position is greater than or equal to the number of joints of this Skin.
See also:
getNumberOfJoints, addJoint, getJoint, removeJoint

NVSG_API void removeJoint ( unsigned int position )

Remove the joint at the specified position.

Parameters:
position Zero-based position of the joint to remove.
Remarks:
When position is greater than or equal to the number of joints of this Skin, the last joint is removed. Otherwise the joint at the specified position is removed, forcing all subsequent joints to move one down in the list of joints.

When removing a joint, the joint marker and the reference count of the corresponding Transform is decreased.
See also:
getNumberOfJoints, addJoint, getJoint, getInverseBindMatrix

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • Skin.h
Generated on Fri Jul 13 13:30:22 2012 for SceniX


SceniX: Member List

Skin Member List

This is the complete list of members for Skin, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addJoint(const TransformSharedPtr &joint, const nvmath::Mat44f &inverseBindMatrix, unsigned int position=~0) | Skin |
addOwner(Drawable *owner) (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Skin) | Skin | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Skin | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBindPose() const | Skin | [inline]
getBindShapeMatrix() const | Skin | [inline]
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getCounts() const | Skin | [inline]
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIndices() const | Skin | [inline]
getInverseBindMatrix(unsigned int position) const | Skin | [inline]
getJoint(unsigned int position) const | Skin | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfInfluences() const | Skin | [inline]
getNumberOfJoints() const | Skin | [inline]
getNumberOfOwners() const | OwnedObject< Drawable > |
getObjectCode() const | Object | [inline]
getOffsets() const | Skin | [inline]
getOwner(OwnerIterator) const | OwnedObject< Drawable > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkinningType(unsigned int attrib) const | Skin | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTotalNumberOfIndices() const | Skin | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getWeights() const | Skin | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Skin | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SKIN_NONE enum value (defined in Skin) | Skin |
NVSG_SKIN_POINT enum value (defined in Skin) | Skin |
NVSG_SKIN_VECTOR enum value (defined in Skin) | Skin |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Skin &rhs) | Skin |
nvsg::OwnedObject< Drawable >::operator=(const OwnedObject< Drawable > &rhs) | OwnedObject< Drawable > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Drawable > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Drawable > | [protected]
OwnedObject(const OwnedObject< Drawable > &rhs) | OwnedObject< Drawable > | [protected]
OwnerContainer typedef (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > |
OwnerIterator typedef (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > |
ownersBegin() const (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > | [inline]
ownersEnd() const (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Skin) (defined in Skin) | Skin |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeJoint(unsigned int position) | Skin |
removeOwner(Drawable *owner) (defined in OwnedObject< Drawable >) | OwnedObject< Drawable > | [protected]
setAnnotation(const std::string &anno) | Object |
setBindPose(const VertexAttributeSetSharedPtr &bindPose) | Skin |
setBindShapeMatrix(const nvmath::Mat44f &matrix) | Skin | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setInfluenceData(const float *weights, const unsigned int *indices, const unsigned int *counts, unsigned int numberOfInfluences) | Skin |
setInfluenceData(unsigned int pos, const float *weights, const unsigned int *indices, const unsigned int *counts, unsigned int numberOfInfluences) | Skin |
setName(const std::string &name) | Object |
setSkinningType(unsigned int attrib, SkinningType type) | Skin |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
Skin() | Skin | [protected]
Skin(const Skin &rhs) | Skin | [protected]
SkinningType enum name (defined in Skin) | Skin |
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Drawable > | [protected]
~Skin() | Skin | [protected, virtual]

Generated on Fri Jul 13 13:30:22 2012 for SceniX


SceniX: skin_t Struct Reference

skin_t Struct Reference

The skin_t structure specifies how a skin is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numBones
Specifies the number of bones describing the actual skin.
uint_t bones
float3_t vertex
Specifies the initial vertex for the actual skin.
float3_t normal
Specifies the initial normal for the actual skin.

Detailed Description

The skin_t structure specifies how a skin is stored in a .NBF file.

Skins need to be considered in conjunction with NBFSkinnedTriangles objects.

Member Data Documentation

uint_t numBones

Specifies the number of bones describing the actual skin.

uint_t bones

Specifies the file offset to the bones describing the actual skin. The way bones are stored in a .NBF file is specified by the bone_t structure.

float3_t vertex

Specifies the initial vertex for the actual skin.

float3_t normal

Specifies the initial normal for the actual skin.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

skin_t Member List

This is the complete list of members for skin_t, including all inherited members.

bones | skin_t
normal | skin_t
numBones | skin_t
vertex | skin_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: SmartPtr Class Template Reference

nvutil::SmartPtr

SmartPtr Class Template Reference

Pointer object to auto-support lifetime management for reference-counted objects. More...

#include <SmartPtr.h>

Inheritance diagram for SmartPtr:

[legend]
Collaboration diagram for SmartPtr:

[legend]
List of all members.

Public Member Functions

SmartPtr (RCType *ptr=NULL)
Constructor of a SmartPtr.
template<typename RCTypeDerived>
SmartPtr (RCTypeDerived *ptr)
Constructor of a SmartPtr.
SmartPtr (const SmartPtr &rhs)
Copy constructor of a SmartPtr.
SmartPtr & | operator= (const SmartPtr &rhs)
Assignment operator of a SmartPtr.
template<typename RCTypeBase>
SmartPtr & | operator= (const SmartPtr< RCTypeBase > &rhs)
Assignement operator of a SmartPtr.
template<typename RCTypeBase>
operator SmartPtr () const
Cast operator to perform upcasts.
~SmartPtr ()
Destructor of a SmartPtr.
RCType * | operator-> () const
The member through pointer operator.
RCType & | operator * () const
The member through reference operator.
RCType * | get () const
Function to get the pointer managed by this SmartPtr.
void | reset ()
reset this SmartPtr by dereferencing its pointer and setting it to nullptr.
template<typename RCTypeBase>
bool | operator== (const SmartPtr< RCTypeBase > &rhs) const
Comparison operator with an other SmartPtr.
template<typename RCTypeBase>
bool | operator!= (const SmartPtr< RCTypeBase > &rhs) const
Comparison operator with an other SmartPtr.
template<typename RCTypeBase>
bool | operator< (const SmartPtr< RCTypeBase > &rhs) const
Less-than operator.
bool | operator== (const RCType *rhs) const
Comparison operator with a pointer.
bool | operator!= (const RCType *rhs) const
Comparison operator with a pointer.
operator _Safe_bool () const
Cast operator providing a safe way to check a SmartPtr for validity.

Classes

struct | _Hidden_type

Detailed Description

template<typename RCType>
class nvutil::SmartPtr< RCType >

Pointer object to auto-support lifetime management for reference-counted objects.

Constructor & Destructor Documentation

SmartPtr ( RCType * ptr = NULL ) [inline]

Constructor of a SmartPtr.

Parameters:
ptr Optional pointer to manage with this SmartPtr.

SmartPtr ( RCTypeDerived * ptr ) [inline]

Constructor of a SmartPtr.

Parameters:
ptr Plain pointer to a type derived from the SmartPtr type.

SmartPtr ( const SmartPtr< RCType > & rhs ) [inline]

Copy constructor of a SmartPtr.

Parameters:
rhs A SmartPtr to copy.
Remarks:
The copy constructor does not copy the contained object, but just the pointer to it, and increases its reference count.

~SmartPtr ( ) [inline]

Destructor of a SmartPtr.

Remarks:
The reference count of the managed pointer is decreased.

Member Function Documentation

SmartPtr& operator= ( const SmartPtr< RCType > & rhs ) [inline]

Assignment operator of a SmartPtr.

Parameters:
rhs the SmartPtr to assign.
Returns:
The newly assigned SmartPtr.
Remarks:
If this already manages a pointer, its reference count is decreased. Then the managed pointer of rhs is copied and its reference count is increased.

SmartPtr& operator= ( const SmartPtr< RCTypeBase > & rhs ) [inline]

Assignement operator of a SmartPtr.

Parameters:
rhs A SmartPtr of a type, which is derived from the type of the SmartPtr to assign.
Returns:
The newly assigned SmartPtr.
Remarks:
If this already manages a pointer, its reference count is decreased. Then the managed pointer of rhs is copied and its reference count is increased.
Note:
In debug mode it is asserted that the managed pointer of rhs can be dynamically cast to the managed pointer type of this.

operator SmartPtr ( ) const [inline]

Cast operator to perform upcasts.

Returns:
A SmartPtr of a base type of the original type.

RCType* operator-> ( ) const [inline]

The member through pointer operator.

Returns:
The pointer managed by this SmartPtr.
See also:
get

RCType& operator * ( ) const [inline]

The member through reference operator.

Returns:
A reference to the object pointed to by the pointer, managed by this SmartPtr.

RCType* get ( ) const [inline]

Function to get the pointer managed by this SmartPtr.

Returns:
The pointer managed by this SmartPtr.
See also:
operator->()

void reset ( ) [inline]

reset this SmartPtr by dereferencing its pointer and setting it to nullptr.

bool operator== ( const SmartPtr< RCTypeBase > & rhs ) const [inline]

Comparison operator with an other SmartPtr.

Parameters:
rhs The SmartPtr to compare with.
Returns:
true, if the managed pointers of this and rhs are equal, otherwise false

bool operator!= ( const SmartPtr< RCTypeBase > & rhs ) const [inline]

Comparison operator with an other SmartPtr.

Parameters:
rhs The SmartPtr to compare with.
Returns:
true, if the managed pointers of this and rhs are different, otherwise false

bool operator< ( const SmartPtr< RCTypeBase > & rhs ) const [inline]

Less-than operator.

Parameters:
rhs The SmartPtr to compare with.
Returns:
true, if the pointer managed by this is less than the pointer managed by rhs, otherwise false.

bool operator== ( const RCType * rhs ) const [inline]

Comparison operator with a pointer.

Parameters:
rhs A pointer to compare with.
Returns:
true, if the pointer managed by this equals rhs, otherwise false.

bool operator!= ( const RCType * rhs ) const [inline]

Comparison operator with a pointer.

Parameters:
rhs A pointer to compare with.
Returns:
true, if the pointer managed by this is not equal to rhs, otherwise false.

operator _Safe_bool ( ) const [inline]

Cast operator providing a safe way to check a SmartPtr for validity.

Returns:
A boolean testable value, which is true if this manages a pointer, otherwise false.

The documentation for this class was generated from the following file:
  • SmartPtr.h
Generated on Fri Jul 13 13:31:31 2012 for SceniX


SceniX: Member List

SmartPtr Member List

This is the complete list of members for SmartPtr, including all inherited members.

get() const | SmartPtr | [inline]
operator *() const | SmartPtr | [inline]
operator _Safe_bool() const | SmartPtr | [inline]
operator SmartPtr() const | SmartPtr | [inline]
operator!=(const SmartPtr< RCTypeBase > &rhs) const | SmartPtr | [inline]
operator!=(const RCType *rhs) const | SmartPtr | [inline]
operator->() const | SmartPtr | [inline]
operator<(const SmartPtr< RCTypeBase > &rhs) const | SmartPtr | [inline]
operator=(const SmartPtr &rhs) | SmartPtr | [inline]
operator=(const SmartPtr< RCTypeBase > &rhs) | SmartPtr | [inline]
operator==(const SmartPtr< RCTypeBase > &rhs) const | SmartPtr | [inline]
operator==(const RCType *rhs) const | SmartPtr | [inline]
reset() | SmartPtr | [inline]
SmartPtr(RCType *ptr=NULL) | SmartPtr | [inline]
SmartPtr(RCTypeDerived *ptr) | SmartPtr | [inline]
SmartPtr(const SmartPtr &rhs) | SmartPtr | [inline]
~SmartPtr() | SmartPtr | [inline]

Generated on Fri Jul 13 13:31:31 2012 for SceniX


SceniX: SmoothTraverser Class Reference

nvtraverser::SmoothTraverser

SmoothTraverser Class Reference

Traverser that can smooth some drawables. More...

#include <SmoothTraverser.h>

Inheritance diagram for SmoothTraverser:

[legend]
Collaboration diagram for SmoothTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | SmoothTraverser (void)
Constructor.
NVSG_API void | setCreaseAngle (float creaseAngle)
Set the crease angle for smoothing.
NVSG_API float | getCreaseAngle () const
Get the crease angle for smoothing.
REFLECTION_INFO_API (NVSG_API, SmoothTraverser)
ADD_PROPERTY_RW (CreaseAngle, float, SEMANTIC_VALUE, value, value)

Protected Member Functions

virtual NVSG_API | ~SmoothTraverser (void)
Protected destructor to prevent instantiation of a SmoothTraverser.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
doApply override
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Handle a GeoNode object.
virtual NVSG_API void | handleQuadPatches (nvsg::QuadPatches *p)
Handle a QuadPatches object.
virtual NVSG_API void | handleQuadPatches4x4 (nvsg::QuadPatches4x4 *p)
Handle a QuadPatches4x4 object.
virtual NVSG_API void | handleQuads (nvsg::Quads *p)
Handle a Quads object.
virtual NVSG_API void | handleRectPatches (nvsg::RectPatches *p)
Handle a RectPatches object.
virtual NVSG_API void | handleTriangles (nvsg::Triangles *p)
Handle a Triangles object.
virtual NVSG_API void | handleTriPatches (nvsg::TriPatches *p)
Handle a TriPatches object.
virtual NVSG_API void | handleTriPatches4 (nvsg::TriPatches4 *p)
Handle a TriPatches4 object.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Handle a Primitive object.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *p)
Handle a QuadStrips object.
virtual NVSG_API void | handleTriFans (nvsg::TriFans *p)
Handle a TriFans object.
virtual NVSG_API void | handleTriStrips (nvsg::TriStrips *p)
Handle a TriStrips object.
virtual NVSG_API bool | optimizationAllowed (const nvsg::PrimitiveSet *p)
Test whether this Object should be optimized.
virtual NVSG_API bool | optimizationAllowed (const nvsg::Primitive *p)

Detailed Description

Traverser that can smooth some drawables.

Currently, this SmoothTraverser supports Triangles only. If these Triangles are non-trivially indexed, they are changed to be trivially indexed.

Constructor & Destructor Documentation

NVSG_API SmoothTraverser ( void )

Constructor.

virtual NVSG_API ~SmoothTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a SmoothTraverser.

Member Function Documentation

NVSG_API void setCreaseAngle ( float creaseAngle )

Set the crease angle for smoothing.

NVSG_API float getCreaseAngle ( ) const

Get the crease angle for smoothing.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

doApply override

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Handle a GeoNode object.

The GeoNode is the primary object to smooth.

Parameters:
p GeoNode to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadPatches ( nvsg::QuadPatches * p ) [protected, virtual]

Handle a QuadPatches object.

Parameters:
p QuadPatches to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( nvsg::QuadPatches4x4 * p ) [protected, virtual]

Handle a QuadPatches4x4 object.

Parameters:
p QuadPatches4x4 to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * p ) [protected, virtual]

Handle a Quads object.

Parameters:
p Quads to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleRectPatches ( nvsg::RectPatches * p ) [protected, virtual]

Handle a RectPatches object.

Parameters:
p RectPatches to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriangles ( nvsg::Triangles * p ) [protected, virtual]

Handle a Triangles object.

Parameters:
p Triangles to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriPatches ( nvsg::TriPatches * p ) [protected, virtual]

Handle a TriPatches object.

Parameters:
p TriPatches to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriPatches4 ( nvsg::TriPatches4 * p ) [protected, virtual]

Handle a TriPatches4 object.

Parameters:
p TriPatches4 to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Handle a Primitive object.

Parameters:
p Primitive to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * p ) [protected, virtual]

Handle a QuadStrips object.

Just assert here; shouldn't happen at all!

Parameters:
p QuadStrips to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriFans ( nvsg::TriFans * p ) [protected, virtual]

Handle a TriFans object.

Just assert here; shouldn't happen at all!

Parameters:
p TriFans to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriStrips ( nvsg::TriStrips * p ) [protected, virtual]

Handle a TriStrips object.

Just assert here; shouldn't happen at all!

Parameters:
p TriStrips to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API bool optimizationAllowed ( const nvsg::PrimitiveSet * p ) [protected, virtual]

Test whether this Object should be optimized.

Parameters:
p A pointer to the constant nvsg::Object to test.

The documentation for this class was generated from the following file:
  • SmoothTraverser.h
Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: Member List

SmoothTraverser Member List

This is the complete list of members for SmoothTraverser, including all inherited members.

ADD_PROPERTY_RW(CreaseAngle, float, SEMANTIC_VALUE, value, value) (defined in SmoothTraverser) | SmoothTraverser |
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | SmoothTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCreaseAngle() const | SmoothTraverser |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | SmoothTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | SmoothTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *p) | SmoothTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *p) | SmoothTraverser | [protected, virtual]
handleQuads(nvsg::Quads *p) | SmoothTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *p) | SmoothTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *p) | SmoothTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *p) | SmoothTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *p) | SmoothTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *p) | SmoothTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *p) | SmoothTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *p) | SmoothTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::PrimitiveSet *p) | SmoothTraverser | [protected, virtual]
optimizationAllowed(const nvsg::Primitive *p) (defined in SmoothTraverser) | SmoothTraverser | [protected, virtual]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, SmoothTraverser) (defined in SmoothTraverser) | SmoothTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCreaseAngle(float creaseAngle) | SmoothTraverser |
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
SmoothTraverser(void) | SmoothTraverser |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SmoothTraverser(void) | SmoothTraverser | [protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: Spherent Class Template Reference

nvmath::Spherent

Spherent Class Template Reference

Sphere class. More...

#include <Spherent.h>

Collaboration diagram for Spherent:

[legend]
List of all members.

Public Member Functions

Spherent ()
Default constructor.
Spherent (const Vecnt< n, T > &center, T radius)
Constructor by center and radius.
const Vecnt< n, T > & | getCenter () const
Get the center of the sphere.
T | getRadius () const
Get the radius of the sphere.
void | invalidate ()
Invalidate the sphere by setting the radius to a negative value.
T | operator() (const Vecnt< n, T > &p) const
Function call operator.
void | setCenter (const Vecnt< n, T > &center)
Set the center of the sphere.
void | setRadius (T radius)
Set the radius of the sphere.

Detailed Description

template<unsigned int n, typename T>
class nvmath::Spherent< n, T >

Sphere class.

Remarks:
This is a sphere in n-space, determined by a center point and a radius. A sphere is often used as a bounding sphere around some data, so there is a variety of routines to calculate the bounding sphere.

Constructor & Destructor Documentation

Spherent ( ) [inline]

Default constructor.

Remarks:
The default sphere is initialized to be invalid. A sphere is considered to be invalid, if the radius is negative.

Spherent | ( | const Vecnt< n, T > & | center,
 |  | T | radius
 | ) | [inline]

Constructor by center and radius.

Parameters:
center | The center of the sphere.
radius | The radius of the sphere.

Member Function Documentation

const Vecnt< n, T > & getCenter ( ) const [inline]

Get the center of the sphere.

Returns:
The center of the sphere.
See also:
setCenter, getRadius

T getRadius ( ) const [inline]

Get the radius of the sphere.

Returns:
The radius of the sphere.
Remarks:
A sphere is considered to be invalid if the radius is negative.
See also:
setRadius, getCenter, invalidate

void invalidate ( ) [inline]

Invalidate the sphere by setting the radius to a negative value.

Remarks:
A sphere is considered to be invalid if the radius is negative.
See also:
getRadius, setRadius

T operator() ( const Vecnt< n, T > & p ) const [inline]

Function call operator.

Parameters:
p A reference to a constant point.
Returns:
The signed distance of the point p from the sphere.
Remarks:
The distance is negative when p is inside the sphere, and it is positive if p is outside the sphere.

void setCenter ( const Vecnt< n, T > & center ) [inline]

Set the center of the sphere.

Parameters:
center A reference to the constant center point.
See also:
getCenter, setRadius

void setRadius ( T radius ) [inline]

Set the radius of the sphere.

Parameters:
radius The radius of the sphere.
See also:
getRadius, setRadius, invalidate

The documentation for this class was generated from the following file:
  • Spherent.h
Generated on Fri Jul 13 13:29:46 2012 for SceniX


SceniX: Member List

Spherent Member List

This is the complete list of members for Spherent, including all inherited members.

getCenter() const | Spherent | [inline]
getRadius() const | Spherent | [inline]
invalidate() | Spherent | [inline]
operator()(const Vecnt< n, T > &p) const | Spherent | [inline]
setCenter(const Vecnt< n, T > &center) | Spherent | [inline]
setRadius(T radius) | Spherent | [inline]
Spherent() | Spherent | [inline]
Spherent(const Vecnt< n, T > &center, T radius) | Spherent | [inline]

Generated on Fri Jul 13 13:29:46 2012 for SceniX


SceniX: SpotLight Class Reference

nvsg::SpotLight

SpotLight Class Reference

LightSource representing a spot light. More...

#include <SpotLight.h>

Inheritance diagram for SpotLight:

[legend]
Collaboration diagram for SpotLight:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | syncEffectLight (CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const
virtual NVSG_API void | syncMetaSLLightParameters (CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const
NVSG_API const nvmath::Vec3f & | getPosition () const
Get the position.
NVSG_API void | setPosition (const nvmath::Vec3f &position)
Set the position.
NVSG_API nvmath::Vec3f | getDirection () const
Get the direction.
NVSG_API void | setDirection (const nvmath::Vec3f &direction)
Set the direction.
NVSG_API const nvmath::Quatf & | getOrientation () const
Get the orientation.
NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Set the orientation.
NVSG_API bool | isAttenuated () const
Query if this SpotLight is attenuated.
NVSG_API void | getAttenuation (float &c, float &l, float &q) const
Get the attenuation factors.
NVSG_API const nvmath::Vec3f & | getAttenuation () const
Get the attenuation factors as a nvmath::Vec3f.
NVSG_API void | setAttenuation (float c, float l, float q)
Set the attenuation factors.
NVSG_API void | setAttenuation (const nvmath::Vec3f &attenuation)
Set the attenuation factors by a nvmath::Vec3f.
NVSG_API float | getCutoffAngle () const
Get the cut-off angle.
NVSG_API void | setCutoffAngle (float ca)
Set the cut-off angle.
NVSG_API float | getFalloffExponent () const
Get the fall-off exponent.
NVSG_API void | setFalloffExponent (float fe)
Set the fall-off exponent.
NVSG_API SpotLight & | operator= (const SpotLight &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other SpotLight.
REFLECTION_INFO_API (NVSG_API, SpotLight)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Position)
NVSG_API | DECLARE_STATIC_PROPERTY (Attenuation)
NVSG_API | DECLARE_STATIC_PROPERTY (Direction)
NVSG_API | DECLARE_STATIC_PROPERTY (Orientation)
NVSG_API | DECLARE_STATIC_PROPERTY (CutoffAngle)
NVSG_API | DECLARE_STATIC_PROPERTY (FalloffExponent)

Static Public Member Functions

static NVSG_API SpotLightSharedPtr | create ()

Protected Member Functions

NVSG_API | SpotLight ()
Default-constructs a SpotLight.
NVSG_API | SpotLight (const SpotLight &rhs)
Constructs a SpotLight as a copy of another SpotLight.
virtual NVSG_API | ~SpotLight ()
Destructs a SpotLight.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

LightSource representing a spot light.

Namespace: nvsg
Remarks:
A SpotLight restricts the shape of the emitted light to a cone. To specify the angle between the axis of the cone and a ray along the edge of the cone, use setCutoffAngle() with the angle in radians. The angle of the cone at the apex is then twice this value. No light is emitted beyond the edges of the cone.
In addition, there are two ways to control the intensity distribution of the light within the cone. First, you can set the attenuation factors with setAttenuation(). You can also set a falloff exponent using setFalloffExponent(), which by default is zero, to control how concentrated the light is. The light's intensity is highest in the center of the cone. It is attenuated toward the edges of the cone by the cosine of the angle between the direction of the light and the direction from the light to the vertex being lit, raised to the power of the falloff exponent. Thus, higher falloff exponents result in a more focused light source.
The default for a SpotLight are as follows:
  • attenuation is off (constant = 1.0, linear = 0.0, quadratic = 0.0)
  • cut-off angle is pi/4 (or 45°)
  • direction is the negative z-axis (0.0,0.0,-1.0)
  • fall-off exponent is no fall-off (0.0)
  • position is the origin (0.0,0.0,0.0)
See also:
LightSource, DirectedLight, PointLight

Constructor & Destructor Documentation

NVSG_API SpotLight ( ) [protected]

Default-constructs a SpotLight.

NVSG_API SpotLight ( const SpotLight & rhs ) [protected]

Constructs a SpotLight as a copy of another SpotLight.

virtual NVSG_API ~SpotLight ( ) [protected, virtual]

Destructs a SpotLight.

Member Function Documentation

NVSG_API const nvmath::Vec3f& getPosition ( ) const

Get the position.

Returns:
A reference to the constant position of the SpotLight.
Remarks:
The default position is the origin (0.0,0.0,0.0).
See also:
getDirection, getOrientation, setPosition

NVSG_API void setPosition ( const nvmath::Vec3f & position )

Set the position.

Parameters:
position A reference to the constant position to set.
Remarks:
The default position is the origin (0.0,0.0,0.0).
See also:
getPosition, setDirection, setOrientation

nvmath::Vec3f getDirection ( ) const [inline]

Get the direction.

Returns:
A reference to the constant direction of the SpotLight.
Remarks:
The default direction is the negative z-axis (0.0,0.0,-1.0)
See also:
getPosition, setDirection, setOrientation

NVSG_API void setDirection ( const nvmath::Vec3f & direction )

Set the direction.

Parameters:
direction A reference to the constant direction to set.
Remarks:
The default direction is the negative z-axis (0.0,0.0,-1.0)
Note:
The direction is expected to be normalized.
See also:
getDirection, setOrientation, setPosition

NVSG_API const nvmath::Quatf& getOrientation ( ) const

Get the orientation.

Returns:
A reference to the constant orientation of the SpotLight.
Remarks:
The default direction is the negative z-axis (0.0,0.0,-1.0), thus the default orientation is (0.0,0.0,0.0,1.0).
See also:
getPosition, getDirection, setOrientation

NVSG_API void setOrientation ( const nvmath::Quatf & orientation )

Set the orientation.

Parameters:
orientation A reference to the constant orientation to set.
Remarks:
The default direction is the negative z-axis (0.0,0.0,-1.0), thus the default orientation is (0.0,0.0,0.0,1.0).
See also:
getOrientation, setDirection, setPosition

bool isAttenuated ( ) const [inline]

Query if this SpotLight is attenuated.

Returns:
true if this light source is attenuated, otherwise false
Remarks:
A SpotLight is attenuated if the constant attenuation factor is different from one, or if the linear or quadratic attenuation factor is different from zero.
By default, attenuation is off.
See also:
getAttenuation, setAttenuation

void getAttenuation | ( | float & | c,
 |  | float & | l,
 |  | float & | q
 | ) | const [inline]

Get the attenuation factors.

Parameters:
c | A reference to a float to get the constant attenuation factor.
l | A reference to a float to get the linear attenuation factor.
q | A reference to a float to get the quadratic attenuation factor.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation
 atten = 1 / ( c + l * d + q * d * d )
where d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, setAttenuation

const nvmath::Vec3f & getAttenuation ( ) const [inline]

Get the attenuation factors as a nvmath::Vec3f.

Returns:
A reference to the constant nvmath::Vec3f with the attenuation factors.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation
 atten = 1 / ( v[0] + v[1] * d + v[2] * d * d )
where v is the returned nvmath::Vec3f, and d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, setAttenuation

void setAttenuation | ( | float | c,
 |  | float | l,
 |  | float | q
 | ) | [inline]

Set the attenuation factors.

Parameters:
c | The constant attenuation factor.
l | The linear attenuation factor.
q | The quadratic attenuation factor.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation
 atten = 1 / ( c + l * d + q * d * d )
where d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, getAttenuation

void setAttenuation ( const nvmath::Vec3f & attenuation ) [inline]

Set the attenuation factors by a nvmath::Vec3f.

Parameters:
attenuation A reference to the constant attenuation factors.
Remarks:
The attenuation factors are used to calculate the attenuation of this light at a lit point by the equation
 atten = 1 / ( v[0] + v[1] * d + v[2] * d * d )
where v is the returned nvmath::Vec3f, and d is the distance between the light and the vertex.
By default, attenuation is off.
See also:
isAttenuated, getAttenuation

float getCutoffAngle ( ) const [inline]

Get the cut-off angle.

Returns:
The cut-off angle in radians in the range [0.0, pi/2].
Remarks:
The light's cone is cut off at this angle (in radian). Points beyond this cone are not lit. The default is pi/4 (or 45°).
See also:
setCutoffAngle

void setCutoffAngle ( float ca ) [inline]

Set the cut-off angle.

Parameters:
ca The cut-off angle in radians in the range [0.0, pi/2].
Remarks:
The light's cone is cut off at this angle (in radian). Points beyond this cone are not lit. The default is pi/4 (or 45°).
See also:
getCutoffAngle

float getFalloffExponent ( ) const [inline]

Get the fall-off exponent.

Returns:
The fall-off exponent.
Remarks:
The falloff exponent controls the sharpness of the spot light. The higher the exponent, the more focused the light source. The default is 0.0
See also:
setFalloffExponent

void setFalloffExponent ( float fe ) [inline]

Set the fall-off exponent.

Parameters:
fe The fall-off exponent.
Remarks:
The falloff exponent controls the sharpness of the spot light. The higher the exponent, the more focused the light source. The default is 0.0
See also:
getFalloffExponent

NVSG_API SpotLight& operator= ( const SpotLight & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant SpotLight to copy from
Returns:
A reference to the assigned SpotLight
Remarks:
The assignment operator calls the assignment operator of LightSource, and copies the attenuation factors, the cut-off angle and the fall-off exponent.
See also:
LightSource

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other SpotLight.

Parameters:
p | A pointer to the SpotLight to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the SpotLight p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as LightSource, they are equivalent, if the attenuation factors, the cut-off angle, and the fall-off exponent are equal.
Note:
The behaviour is undefined if p is not a SpotLight or derived from one.
See also:
DirectedLight, LightSource, PointLight

Reimplemented from LightSource.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from LightSource.

The documentation for this class was generated from the following file:
  • SpotLight.h
Generated on Fri Jul 13 13:30:23 2012 for SceniX


SceniX: Member List

SpotLight Member List

This is the complete list of members for SpotLight, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in SpotLight) | SpotLight | [static]
DECLARE_STATIC_PROPERTY(Position) (defined in SpotLight) | SpotLight |
DECLARE_STATIC_PROPERTY(Attenuation) (defined in SpotLight) | SpotLight |
DECLARE_STATIC_PROPERTY(Direction) (defined in SpotLight) | SpotLight |
DECLARE_STATIC_PROPERTY(Orientation) (defined in SpotLight) | SpotLight |
DECLARE_STATIC_PROPERTY(CutoffAngle) (defined in SpotLight) | SpotLight |
DECLARE_STATIC_PROPERTY(FalloffExponent) (defined in SpotLight) | SpotLight |
DECLARE_STATIC_PROPERTY(AmbientColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(DiffuseColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(SpecularColor) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Intensity) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Enabled) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(ShadowCasting) (defined in LightSource) | LightSource |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineMetaSLLightParameterSpace(CgFxEffect *fx, CgFxParameter param, const nvmath::Mat44f &world, const nvmath::Mat44f &view, nvmath::Mat44f &transform) const | LightSource | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | SpotLight | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAmbientColor() const | LightSource | [inline]
getAnimation() const | LightSource | [inline]
getAnnotation() const | Object |
getAttenuation(float &c, float &l, float &q) const | SpotLight | [inline]
getAttenuation() const | SpotLight | [inline]
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getCutoffAngle() const | SpotLight | [inline]
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDiffuseColor() const | LightSource | [inline]
getDirection() const | SpotLight | [inline]
getFalloffExponent() const | SpotLight | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIntensity() const | LightSource | [inline]
getInverse() const | LightSource | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getObjectCode() const | Object | [inline]
getOrientation() const | SpotLight |
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPosition() const | SpotLight |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSpecularColor() const | LightSource | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTransformationMatrix() const | LightSource | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isAttenuated() const | SpotLight | [inline]
isDataShared() const | Object | [virtual]
isEnabled() const | LightSource | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | SpotLight | [virtual]
isShadowCasting() const | LightSource | [inline]
LightSource() | LightSource | [protected]
LightSource(const LightSource &rhs) | LightSource | [protected]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
m_trafo | LightSource | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const SpotLight &rhs) | SpotLight |
nvsg::LightSource::operator=(const LightSource &rhs) | LightSource | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, SpotLight) (defined in SpotLight) | SpotLight |
REFLECTION_INFO_API(NVSG_API, LightSource) (defined in LightSource) | LightSource |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
setAmbientColor(const nvmath::Vec3f &color) | LightSource | [inline]
setAnimation(const TrafoAnimationSharedPtr &animation) | LightSource |
setAnnotation(const std::string &anno) | Object |
setAttenuation(float c, float l, float q) | SpotLight | [inline]
setAttenuation(const nvmath::Vec3f &attenuation) | SpotLight | [inline]
setCutoffAngle(float ca) | SpotLight | [inline]
setDiffuseColor(const nvmath::Vec3f &color) | LightSource | [inline]
setDirection(const nvmath::Vec3f &direction) | SpotLight |
setEnabled(bool enable) | LightSource | [inline]
setFalloffExponent(float fe) | SpotLight | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIntensity(float intensity) | LightSource | [inline]
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &orientation) | SpotLight |
setPosition(const nvmath::Vec3f &position) | SpotLight |
setShadowCasting(bool cast) | LightSource | [inline]
setSpecularColor(const nvmath::Vec3f &color) | LightSource | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
SpotLight() | SpotLight | [protected]
SpotLight(const SpotLight &rhs) | SpotLight | [protected]
syncEffectLight(CgFxEffect *fx, CgFxParameter fxLight, const nvmath::Mat44f &modelToWorld) const (defined in SpotLight) | SpotLight | [virtual]
syncIncarnation(PFNGETINCARNATION) const (defined in LightSource) | LightSource | [protected, virtual]
syncMetaSLLightParameters(CgFxEffect *fx, unsigned int light, const nvmath::Mat44f &world, const nvmath::Mat44f &view) const (defined in SpotLight) | SpotLight | [virtual]
~LightSource() | LightSource | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]
~SpotLight() | SpotLight | [protected, virtual]

Generated on Fri Jul 13 13:30:23 2012 for SceniX


SceniX: sstr_t Struct Reference

sstr_t Struct Reference

The sstr_t structure specifies how a small string is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

ushort_t numChars
uint_t chars
Specifies the file offset to the string characters.

Detailed Description

The sstr_t structure specifies how a small string is stored in a .NBF file.

Note:
A small string is limited to 65535 characters, including the terminating 0

Member Data Documentation

ushort_t numChars

Specifies the number of characters in the actual small string, not including the terminating null character.

uint_t chars

Specifies the file offset to the string characters.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

sstr_t Member List

This is the complete list of members for sstr_t, including all inherited members.

chars | sstr_t
numChars | sstr_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: StatAlphaTestAttribute Class Reference

nvtraverser::StatAlphaTestAttribute

StatAlphaTestAttribute Class Reference

Class to hold statistics information about AlphaTestAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatAlphaTestAttribute:

[legend]
Collaboration diagram for StatAlphaTestAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about AlphaTestAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:08 2012 for SceniX


SceniX: Member List

StatAlphaTestAttribute Member List

This is the complete list of members for StatAlphaTestAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:08 2012 for SceniX


SceniX: StatAnimatedTransform Class Reference

nvtraverser::StatAnimatedTransform

StatAnimatedTransform Class Reference

Class to hold statistics information about AnimatedTransform objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatAnimatedTransform:

[legend]
Collaboration diagram for StatAnimatedTransform:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about AnimatedTransform objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: Member List

StatAnimatedTransform Member List

This is the complete list of members for StatAnimatedTransform, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: StatAnimatedVertexAttributeSet Class Reference

nvtraverser::StatAnimatedVertexAttributeSet

StatAnimatedVertexAttributeSet Class Reference

Class to hold statistics information about AnimatedVertexAttributeSet objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatAnimatedVertexAttributeSet:

[legend]
Collaboration diagram for StatAnimatedVertexAttributeSet:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfAnimations
Counts the number of animations.
std::map< unsigned int, unsigned
int > 		m_animationsHistogram
Counts the number of AnimatedVertexAttributeSet objects per number of animations.

Detailed Description

Class to hold statistics information about AnimatedVertexAttributeSet objects.

Member Data Documentation

unsigned int m_numberOfAnimations

Counts the number of animations.

std::map<unsigned int,unsigned int> m_animationsHistogram

Counts the number of AnimatedVertexAttributeSet objects per number of animations.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: Member List

StatAnimatedVertexAttributeSet Member List

This is the complete list of members for StatAnimatedVertexAttributeSet, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_animationsHistogram | StatAnimatedVertexAttributeSet |
m_count | StatisticsBase |
m_numberOfAnimations | StatAnimatedVertexAttributeSet |
m_numberOfColored | StatVertexAttributeSet |
m_numberOfColors | StatVertexAttributeSet |
m_numberOfFogCoords | StatVertexAttributeSet |
m_numberOfFogged | StatVertexAttributeSet |
m_numberOfNormaled | StatVertexAttributeSet |
m_numberOfNormals | StatVertexAttributeSet |
m_numberOfSecondaryColored | StatVertexAttributeSet |
m_numberOfSecondaryColors | StatVertexAttributeSet |
m_numberOfTextured | StatVertexAttributeSet |
m_numberOfTextureDimensions | StatVertexAttributeSet |
m_numberOfTextures | StatVertexAttributeSet |
m_numberOfTextureUnits | StatVertexAttributeSet |
m_numberOfVertices | StatVertexAttributeSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatAnimatedVertexAttributeSet() (defined in StatAnimatedVertexAttributeSet) | StatAnimatedVertexAttributeSet | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatVertexAttributeSet() (defined in StatVertexAttributeSet) | StatVertexAttributeSet | [inline]

Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: StatAnimationState Class Reference

nvtraverser::StatAnimationState

StatAnimationState Class Reference

Class to hold statistics information about AnimationState objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatAnimationState:

[legend]
Collaboration diagram for StatAnimationState:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about AnimationState objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: Member List

StatAnimationState Member List

This is the complete list of members for StatAnimationState, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: StatBillboard Class Reference

nvtraverser::StatBillboard

StatBillboard Class Reference

Class to hold statistics information about Billboard objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatBillboard:

[legend]
Collaboration diagram for StatBillboard:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Billboard objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:01 2012 for SceniX


SceniX: Member List

StatBillboard Member List

This is the complete list of members for StatBillboard, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:01 2012 for SceniX


SceniX: StatBlendAttribute Class Reference

nvtraverser::StatBlendAttribute

StatBlendAttribute Class Reference

Class to hold statistics information about BlendAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatBlendAttribute:

[legend]
Collaboration diagram for StatBlendAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about BlendAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:08 2012 for SceniX


SceniX: Member List

StatBlendAttribute Member List

This is the complete list of members for StatBlendAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:08 2012 for SceniX


SceniX: StatCamera Class Reference

nvtraverser::StatCamera

StatCamera Class Reference

Class to hold statistics information about Camera objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatCamera:

[legend]
Collaboration diagram for StatCamera:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Camera objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: Member List

StatCamera Member List

This is the complete list of members for StatCamera, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: StatCgFx Class Reference

nvtraverser::StatCgFx

StatCgFx Class Reference

Class to hold statistics information about CgFx objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatCgFx:

[legend]
Collaboration diagram for StatCgFx:

[legend]
List of all members.

Public Attributes

unsigned int | m_numberOfTechniques
Counts the number of techniques.
unsigned int | m_numberOfPasses
Counts the number of passes.

Detailed Description

Class to hold statistics information about CgFx objects.

Member Data Documentation

unsigned int m_numberOfTechniques

Counts the number of techniques.

unsigned int m_numberOfPasses

Counts the number of passes.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:08 2012 for SceniX


SceniX: Member List

StatCgFx Member List

This is the complete list of members for StatCgFx, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPasses | StatCgFx |
m_numberOfTechniques | StatCgFx |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatCgFx() (defined in StatCgFx) | StatCgFx | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:08 2012 for SceniX


SceniX: StatDepthAttribute Class Reference

nvtraverser::StatDepthAttribute

StatDepthAttribute Class Reference

Class to hold statistics information about DepthAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatDepthAttribute:

[legend]
Collaboration diagram for StatDepthAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about DepthAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:09 2012 for SceniX


SceniX: Member List

StatDepthAttribute Member List

This is the complete list of members for StatDepthAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:09 2012 for SceniX


SceniX: StatDirectedLight Class Reference

nvtraverser::StatDirectedLight

StatDirectedLight Class Reference

Class to hold statistics information about DirectedLight objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatDirectedLight:

[legend]
Collaboration diagram for StatDirectedLight:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about DirectedLight objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:06 2012 for SceniX


SceniX: Member List

StatDirectedLight Member List

This is the complete list of members for StatDirectedLight, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:06 2012 for SceniX


SceniX: StatDrawable Class Reference

nvtraverser::StatDrawable

StatDrawable Class Reference

Class to hold statistics information about Drawable objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatDrawable:

[legend]
Collaboration diagram for StatDrawable:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Drawable objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:51 2012 for SceniX


SceniX: Member List

StatDrawable Member List

This is the complete list of members for StatDrawable, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:51 2012 for SceniX


SceniX: StateAttribute Class Reference

nvsg::StateAttribute

StateAttribute Class Reference

Abstract base class of all attribute objects. More...

#include <StateAttribute.h>

Inheritance diagram for StateAttribute:

[legend]
Collaboration diagram for StateAttribute:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~StateAttribute (void)
Destructs a StateAttribute.
REFLECTION_INFO_API (NVSG_API, StateAttribute)

Protected Member Functions

NVSG_API | StateAttribute (void)
Protected default constructor to prevent explicit creation.
NVSG_API | StateAttribute (const StateAttribute &rhs)
Protected copy constructor to prevent explicit creation.
NVSG_API StateAttribute & | operator= (const StateAttribute &rhs)
Assignment operator.

Detailed Description

Abstract base class of all attribute objects.

Namespace: nvsg
Remarks:
Defines the interface that every state attribute has to resolve. A StateAttribute can be the child of one or more StatePass objects.
See also:
BlendAttribute, CgFx, Material, PrimitiveAttribute, StatePass, TextureAttribute

Constructor & Destructor Documentation

virtual NVSG_API ~StateAttribute ( void ) [virtual]

Destructs a StateAttribute.

NVSG_API StateAttribute ( void ) [protected]

Protected default constructor to prevent explicit creation.

Remarks:
This default constructor is accessible only by derived classes.

NVSG_API StateAttribute ( const StateAttribute & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant StateAttribute to copy from
Remarks:
This copy constructor is accessible only by derived classes. The copy constructor of OwnedObject is called, but the parents of rhs are not copied.

Member Function Documentation

NVSG_API StateAttribute& operator= ( const StateAttribute & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant StateAttribute to copy from.
Returns:
A reference to the assigned StateAttribute.
Remarks:
This assignment operator is accessible only by derived classes. It just calls the assignment operator of OwnedObject. The parents of rhs are not copied.

The documentation for this class was generated from the following file:
  • StateAttribute.h
Generated on Fri Jul 13 13:30:23 2012 for SceniX


SceniX: Member List

StateAttribute Member List

This is the complete list of members for StateAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Object | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames=true, bool deepCompare=false) const | Object | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:23 2012 for SceniX


SceniX: StatePass Class Reference

nvsg::StatePass

StatePass Class Reference

Container class to hold a number of StateAttribute objects. More...

#include <StatePass.h>

Inheritance diagram for StatePass:

[legend]
Collaboration diagram for StatePass:

[legend]
List of all members.

Public Types

typedef nvutil::STLVector<
StateAttributeSharedPtr > 		AttributeContainer
The container type of the attributes.
typedef nvutil::SceniXIterator<
StatePass, AttributeContainer::iterator > 		AttributeIterator
The iterator over the AttributeContainer.
typedef nvutil::SceniXIterator<
StatePass, AttributeContainer::const_iterator > 		AttributeConstIterator
The const iterator over the AttributeContainer.

Public Member Functions

NVSG_API unsigned int | getNumberOfAttributes () const
Get the number of StateAttributes in this StatePass.
NVSG_API AttributeConstIterator | beginAttributes () const
Get a const iterator to the first attribute in this StatePass.
NVSG_API AttributeIterator | beginAttributes ()
Get an iterator to the first attribute in this StatePass.
NVSG_API AttributeConstIterator | endAttributes () const
Get a const iterator that points just beyond the end of the attribute in this StatePass.
NVSG_API AttributeIterator | endAttributes ()
Get an iterator that points just beyond the end of the attribute in this StatePass.
NVSG_API AttributeIterator | addAttribute (const StateAttributeSharedPtr &attribute)
Adds an attribute to this StatePass.
NVSG_API bool | removeAttribute (const StateAttributeSharedPtr &attribute)
Remove an attribute from this StatePass.
NVSG_API AttributeIterator | removeAttribute (const AttributeIterator &sci)
Remove an attribute from this StatePass.
NVSG_API AttributeIterator | removeAttributeByObjectCode (unsigned int objectCode)
Remove an attribute specified by an object code from this StatePass.
NVSG_API void | clearAttributes ()
Remove all StateAttributes from this StatePass.
NVSG_API AttributeConstIterator | findAttribute (const StateAttributeSharedPtr &attribute) const
NVSG_API AttributeIterator | findAttribute (const StateAttributeSharedPtr &attribute)
NVSG_API AttributeConstIterator | findAttribute (unsigned int code) const
NVSG_API AttributeIterator | findAttribute (unsigned int code)
NVSG_API StatePass & | operator= (const StatePass &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other StatePass.
REFLECTION_INFO_API (NVSG_API, StatePass)

Static Public Member Functions

static NVSG_API StatePassSharedPtr | create ()

Protected Member Functions

NVSG_API | StatePass ()
Default-constructs a StatePass.
NVSG_API | StatePass (const StatePass &rhs)
Constructs a StatePass as a copy from another StatePass.
virtual NVSG_API | ~StatePass ()
Destructs a StatePass.
virtual NVSG_API unsigned int | determineHintsContainment (unsigned int which) const
Determines Object hints containment.
virtual NVSG_API bool | determineTransparencyContainment () const
virtual NVSG_API bool | determineShaderContainment () const
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Container class to hold a number of StateAttribute objects.

Namespace: nvsg
Remarks:
A StatePass holds a number of StateAttribute objects, that together define one rendering pass. A StatePass can be the child of one or more StateVariant objects.
See also:
StateAttribute, StateVariant

Member Typedef Documentation

typedef nvutil::STLVector<StateAttributeSharedPtr> AttributeContainer

The container type of the attributes.

typedef nvutil::SceniXIterator<StatePass,AttributeContainer::iterator> AttributeIterator

The iterator over the AttributeContainer.

typedef nvutil::SceniXIterator<StatePass,AttributeContainer::const_iterator> AttributeConstIterator

The const iterator over the AttributeContainer.

Constructor & Destructor Documentation

NVSG_API StatePass ( ) [protected]

Default-constructs a StatePass.

Remarks:
An empty StatePass is created.

NVSG_API StatePass ( const StatePass & rhs ) [protected]

Constructs a StatePass as a copy from another StatePass.

virtual NVSG_API ~StatePass ( ) [protected, virtual]

Destructs a StatePass.

Member Function Documentation

unsigned int getNumberOfAttributes ( ) const [inline]

Get the number of StateAttributes in this StatePass.

Returns:
The number of StateAttributes in this StatePass.
See also:
beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator beginAttributes ( ) const [inline]

Get a const iterator to the first attribute in this StatePass.

Returns:
A const iterator to the first attribute in this StatePass.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator beginAttributes ( ) [inline]

Get an iterator to the first attribute in this StatePass.

Returns:
An iterator to the first attribute in this StatePass.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator endAttributes ( ) const [inline]

Get a const iterator that points just beyond the end of the attribute in this StatePass.

Returns:
A const iterator that points just beyond the end of the attribute in this StatePass.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator endAttributes ( ) [inline]

Get an iterator that points just beyond the end of the attribute in this StatePass.

Returns:
An iterator that points just beyond the end of the attribute in this StatePass.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

NVSG_API AttributeIterator addAttribute ( const StateAttributeSharedPtr & attribute )

Adds an attribute to this StatePass.

Parameters:
attribute Specifies the attribute to add
Returns:
An iterator that points to the position where attribute was added.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, removeAttribute, clearAttributes, findAttribute

NVSG_API bool removeAttribute ( const StateAttributeSharedPtr & attribute )

Remove an attribute from this StatePass.

Parameters:
attribute The attribute to remove from this StatePass.
Returns:
true, if the attribute has been removed from this StatePass, otherwise false.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API AttributeIterator removeAttribute ( const AttributeIterator & sci )

Remove an attribute from this StatePass.

Parameters:
sci An iterator to the attribute to remove from this StatePass.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttributeByObjectCode ( unsigned int objectCode ) [inline]

Remove an attribute specified by an object code from this StatePass.

Parameters:
objectCode The object code of the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API void clearAttributes ( )

Remove all StateAttributes from this StatePass.

See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, findAttribute

NVSG_API StatePass& operator= ( const StatePass & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant StatePass to copy from
Returns:
A reference to the assigned StatePass
Remarks:
The assignment operator calls the assignment operator of Object. Then any StateAttribute attached to this StatePass is removed, and all StateAttribute objects of rhs are copied.
See also:
Object, StateAttribute

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other StatePass.

Parameters:
p | A reference to the constant StatePass to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the StatePass p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Object, they are equivalent if their StateAttribute objects are equivalent. If deepCompare is true, they are equivalent if for each StateAttribute in this there is an equivalent StateAttribute in p. If deepCompare is false, they are equivalent if each StateAttribute in this is also found in p.
Note:
The behavior is undefined if p is not a StatePass nor derived from one.
See also:
Object, StateAttribute

Reimplemented from Object.

virtual NVSG_API unsigned int determineHintsContainment ( unsigned int which ) const [protected, virtual]

Determines Object hints containment.

Parameters:
which Specifies a bit mask indicating Object hints of interest. Allowed bits are NVSG_HINT_DYNAMIC, NVSG_HINT_ALWAYS_VISIBLE, NVSG_HINT_ALWAYS_INVISIBLE, NVSG_HINT_OVERLAY, NVSG_HINT_SHADOW_CASTER, NVSG_HINT_SHADOW_RECEIVER, or a combination of these.
Returns:
The function returns a bit field indicating all requested Object hints contained in the subtree having this Object as root.
Remarks:
This function is called from the getContainedHints and containsHints entry points if the hints containment state is flagged invalid at the time of calling. This implementation determines the hints contained in the all owned StateAttributes.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • StatePass.h
Generated on Fri Jul 13 13:30:24 2012 for SceniX


SceniX: Member List

StatePass Member List

This is the complete list of members for StatePass, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addAttribute(const StateAttributeSharedPtr &attribute) | StatePass |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StateVariant *owner) (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > | [protected]
AttributeConstIterator typedef | StatePass |
AttributeContainer typedef | StatePass |
AttributeIterator typedef | StatePass |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginAttributes() const | StatePass | [inline]
beginAttributes() | StatePass | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearAttributes() | StatePass |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in StatePass) | StatePass | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const | StatePass | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in StatePass) | StatePass | [protected, virtual]
determineTransparencyContainment() const (defined in StatePass) | StatePass | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endAttributes() const | StatePass | [inline]
endAttributes() | StatePass | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StatePass | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findAttribute(const StateAttributeSharedPtr &attribute) const (defined in StatePass) | StatePass | [inline]
findAttribute(const StateAttributeSharedPtr &attribute) (defined in StatePass) | StatePass | [inline]
findAttribute(unsigned int code) const (defined in StatePass) | StatePass |
findAttribute(unsigned int code) (defined in StatePass) | StatePass |
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfAttributes() const | StatePass | [inline]
getNumberOfOwners() const | OwnedObject< StateVariant > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StateVariant > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StatePass | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StatePass &rhs) | StatePass |
nvsg::OwnedObject< StateVariant >::operator=(const OwnedObject< StateVariant > &rhs) | OwnedObject< StateVariant > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StateVariant > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StateVariant > | [protected]
OwnedObject(const OwnedObject< StateVariant > &rhs) | OwnedObject< StateVariant > | [protected]
OwnerContainer typedef (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > |
OwnerIterator typedef (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > |
ownersBegin() const (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > | [inline]
ownersEnd() const (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, StatePass) (defined in StatePass) | StatePass |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeAttribute(const StateAttributeSharedPtr &attribute) | StatePass |
removeAttribute(const AttributeIterator &sci) | StatePass |
removeAttributeByObjectCode(unsigned int objectCode) | StatePass | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StateVariant *owner) (defined in OwnedObject< StateVariant >) | OwnedObject< StateVariant > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StatePass() | StatePass | [protected]
StatePass(const StatePass &rhs) | StatePass | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in StatePass) | StatePass | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StateVariant > | [protected]
~StatePass() | StatePass | [protected, virtual]

Generated on Fri Jul 13 13:30:24 2012 for SceniX


SceniX: StateSet Class Reference

nvsg::StateSet

StateSet Class Reference

Container class to hold a number of StateVariant objects. More...

#include <StateSet.h>

Inheritance diagram for StateSet:

[legend]
Collaboration diagram for StateSet:

[legend]
List of all members.

Public Types

typedef nvutil::STLMap< VariantKey,
StateVariantSharedPtr > 		VariantContainer
The container type of the StateVariants.
typedef nvutil::SceniXIterator<
StateSet, VariantContainer::iterator > 		VariantIterator
The iterator over the VariantContainer.
typedef nvutil::SceniXIterator<
StateSet, VariantContainer::const_iterator > 		VariantConstIterator
The const iterator over the VariantContainer.

Public Member Functions

NVSG_API unsigned int | getNumberOfVariants () const
Get the number of StateVariants in this StateSet.
NVSG_API VariantConstIterator | beginVariants () const
Get a const iterator to the first StateVariant in this StateSet.
NVSG_API VariantIterator | beginVariants ()
Get an iterator to the first StateVariant in this StateSet.
NVSG_API VariantConstIterator | endVariants () const
Get a const iterator that points just beyond the end of the StateVariant in this StateSet.
NVSG_API VariantIterator | endVariants ()
Get an iterator that points just beyond the end of the StateVariant in this StateSet.
NVSG_API VariantIterator | setVariant (VariantKey key, const StateVariantSharedPtr &variant)
Set a combination of VariantKey and StateVariant to this StateSet.
NVSG_API bool | removeVariant (VariantKey key)
Remove a StateVariant from this StateSet.
NVSG_API VariantIterator | removeVariant (const VariantIterator &svi)
Remove a StateVariant from this StateSet.
NVSG_API void | clearVariants ()
Remove all StateVariants from this StateSet.
NVSG_API VariantConstIterator | findVariant (VariantKey key) const
NVSG_API VariantIterator | findVariant (VariantKey key)
NVSG_API VariantKey | getActiveVariantKey () const
Get the currently active VariantKey.
NVSG_API void | setActiveVariantKey (VariantKey key)
Set the active VariantKey.
NVSG_API unsigned int | getNumberOfPasses () const
Get the number of passes in the active StateVariant of this StateSet.
NVSG_API StateVariant::PassConstIterator | beginPasses () const
Get a const iterator to the first pass in the active StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | beginPasses ()
Get an iterator to the first pass in the active StateVariant of this StateSet.
NVSG_API StateVariant::PassConstIterator | endPasses () const
Get a const iterator that points just beyond the end of the pass in the active StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | endPasses ()
Get an iterator that points just beyond the end of the pass in the active StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | addPass (const StatePassSharedPtr &pass)
Adds a pass to the active StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | insertPass (const StateVariant::PassIterator &spi, const StatePassSharedPtr &pass)
Insert a pass at a specified position in the active StateVariant of this StateSet.
NVSG_API bool | removePass (const StatePassSharedPtr &pass)
Remove a pass from the active StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | removePass (const StateVariant::PassIterator &spi)
Remove a pass from the active StateVariant of this StateSet.
NVSG_API bool | replacePass (const StatePassSharedPtr &newPass, const StatePassSharedPtr &oldPass)
Replace one pass by an other in the active StateVariant of this StateSet.
NVSG_API bool | replacePass (const StatePassSharedPtr &newPass, StateVariant::PassIterator &oldSPI)
Replace one pass by an other in the active StateVariant of this StateSet.
NVSG_API void | clearPasses ()
Remove all passes from the active StateVariant of this StateSet.
NVSG_API StateVariant::PassConstIterator | findPass (const StatePassSharedPtr &pass) const
NVSG_API StateVariant::PassIterator | findPass (const StatePassSharedPtr &pass)
NVSG_API unsigned int | getNumberOfPasses (const VariantConstIterator &svci) const
Get the number of passes in the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassConstIterator | beginPasses (const VariantConstIterator &svci) const
Get a const iterator to the first pass in the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | beginPasses (const VariantIterator &svi)
Get an iterator to the first pass in the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassConstIterator | endPasses (const VariantConstIterator &svci) const
Get a const iterator that points just beyond the end of the pass in the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | endPasses (const VariantIterator &svi)
Get an iterator that points just beyond the end of the pass in the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | addPass (const VariantIterator &svi, const StatePassSharedPtr &pass)
Adds a pass to the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | insertPass (const VariantIterator &svi, const StateVariant::PassIterator &spi, const StatePassSharedPtr &pass)
Insert a pass at a specified position in the specified StateVariant of this StateSet.
NVSG_API bool | removePass (const VariantIterator &svi, const StatePassSharedPtr &pass)
Remove a pass from the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassIterator | removePass (const VariantIterator &svi, const StateVariant::PassIterator &spi)
Remove a pass from the StateVariant of this StateSet.
NVSG_API bool | replacePass (const VariantIterator &svi, const StatePassSharedPtr &newPass, const StatePassSharedPtr &oldPass)
Replace one pass by an other in the specified StateVariant of this StateSet.
NVSG_API bool | replacePass (const VariantIterator &svi, const StatePassSharedPtr &newPass, StateVariant::PassIterator &oldSPI)
Replace one pass by an other in the specified StateVariant of this StateSet.
NVSG_API void | clearPasses (const VariantIterator &svi)
Remove all passes from the specified StateVariant of this StateSet.
NVSG_API StateVariant::PassConstIterator | findPass (const VariantConstIterator &svci, const StatePassSharedPtr &pass) const
NVSG_API StateVariant::PassIterator | findPass (const VariantIterator &svi, const StatePassSharedPtr &pass)
NVSG_API unsigned int | getNumberOfAttributes () const
Get the number of StateAttributes in the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeConstIterator | beginAttributes () const
Get a const iterator to the first attribute in the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeIterator | beginAttributes ()
Get an iterator to the first attribute in the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeConstIterator | endAttributes () const
Get a const iterator that points just beyond the end of the attribute in the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeIterator | endAttributes ()
Get an iterator that points just beyond the end of the attribute in the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeIterator | addAttribute (const StateAttributeSharedPtr &attribute)
Adds an attribute to the first StatePass of the current StateVariant in this StateSet.
NVSG_API bool | removeAttribute (const StateAttributeSharedPtr &attribute)
Remove an attribute from the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeIterator | removeAttribute (const StatePass::AttributeIterator &sci)
Remove an attribute from the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeIterator | removeAttributeByObjectCode (unsigned int objectCode)
Remove an attribute specified by an object code from the first StatePass of the current StateVariant in this StateVariant.
NVSG_API void | clearAttributes ()
Remove all StateAttributes from the first StatePass of the current StateVariant in this StateSet.
NVSG_API StatePass::AttributeConstIterator | findAttribute (const StateAttributeSharedPtr &attribute) const
NVSG_API StatePass::AttributeIterator | findAttribute (const StateAttributeSharedPtr &attribute)
NVSG_API StatePass::AttributeConstIterator | findAttribute (unsigned int code) const
NVSG_API StatePass::AttributeIterator | findAttribute (unsigned int code)
NVSG_API unsigned int | getNumberOfAttributes (const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci) const
Get the number of StateAttributes in the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeConstIterator | beginAttributes (const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci) const
Get a const iterator to the first attribute in the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeIterator | beginAttributes (const VariantIterator &svi, const StateVariant::PassIterator &spi)
Get an iterator to the first attribute in the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeConstIterator | endAttributes (const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci) const
Get a const iterator that points just beyond the end of the attribute in the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeIterator | endAttributes (const VariantIterator &svi, const StateVariant::PassIterator &spi)
Get an iterator that points just beyond the end of the attribute in the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeIterator | addAttribute (const VariantIterator &svi, const StateVariant::PassIterator &spi, const StateAttributeSharedPtr &attribute)
Adds an attribute to the specified StateVariant and StatePass in this StateSet.
NVSG_API bool | removeAttribute (const VariantIterator &svi, const StateVariant::PassIterator &spi, const StateAttributeSharedPtr &attribute)
Remove an attribute from the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeIterator | removeAttribute (const VariantIterator &svi, const StateVariant::PassIterator &spi, const StatePass::AttributeIterator &sci)
Remove an attribute from the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeIterator | removeAttributeByObjectCode (const VariantIterator &svi, const StateVariant::PassIterator &spi, unsigned int objectCode)
Remove an attribute specified by an object code from the specified StateVariant and StatePass in this StateSet.
NVSG_API void | clearAttributes (const VariantIterator &svi, const StateVariant::PassIterator &spi)
Remove all StateAttributes from the specified StateVariant and StatePass in this StateSet.
NVSG_API StatePass::AttributeConstIterator | findAttribute (const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci, const StateAttributeSharedPtr &attribute) const
NVSG_API StatePass::AttributeIterator | findAttribute (const VariantIterator &svi, const StateVariant::PassIterator &spi, const StateAttributeSharedPtr &attribute)
NVSG_API StatePass::AttributeConstIterator | findAttribute (const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci, unsigned int code) const
NVSG_API StatePass::AttributeIterator | findAttribute (const VariantIterator &svi, const StateVariant::PassIterator &spi, unsigned int code)
NVSG_API StateSet & | operator= (const StateSet &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other StateSet.
REFLECTION_INFO_API (NVSG_API, StateSet)

Static Public Member Functions

static NVSG_API StateSetSharedPtr | create ()

Static Public Attributes

static const VariantKey | INVALID_VARIANT_KEY = 0xFFFFFFFF

Protected Member Functions

NVSG_API | StateSet ()
Default-constructs a StateSet.
NVSG_API | StateSet (const StateSet &rhs)
Constructs a StateSet as a copy from another StateSet.
virtual NVSG_API | ~StateSet ()
Destructs a StateSet.
virtual NVSG_API unsigned int | determineHintsContainment (unsigned int which) const
Determines Object hints containment.
virtual NVSG_API bool | determineShaderContainment () const
virtual NVSG_API bool | determineTransparencyContainment () const
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | notifyChange (const Subject *originator, unsigned int state=0) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Container class to hold a number of StateVariant objects.

Namespace: nvsg
Remarks:
A StateSet holds a number of StateVariant objects and a key to select one of them. Only the selected StateVariant is used on standard traversal. That way, it is easy to switch between different StateVariant objects to use.
See also:
StateVariant

Member Typedef Documentation

typedef nvutil::STLMap<VariantKey,StateVariantSharedPtr> VariantContainer

The container type of the StateVariants.

typedef nvutil::SceniXIterator<StateSet,VariantContainer::iterator> VariantIterator

The iterator over the VariantContainer.

typedef nvutil::SceniXIterator<StateSet,VariantContainer::const_iterator> VariantConstIterator

The const iterator over the VariantContainer.

Constructor & Destructor Documentation

NVSG_API StateSet ( ) [protected]

Default-constructs a StateSet.

Remarks:
An empty StateSet with an invalid key is created.

NVSG_API StateSet ( const StateSet & rhs ) [protected]

Constructs a StateSet as a copy from another StateSet.

virtual NVSG_API ~StateSet ( ) [protected, virtual]

Destructs a StateSet.

Member Function Documentation

unsigned int getNumberOfVariants ( ) const [inline]

Get the number of StateVariants in this StateSet.

Returns:
The number of StateVariants in this StateSet.
See also:
beginVariants, endVariants, setVariant, removeVariant, clearVariants, findVariant

StateSet::VariantConstIterator beginVariants ( ) const [inline]

Get a const iterator to the first StateVariant in this StateSet.

Returns:
A const iterator to the first StateVariant in this StateSet.
See also:
getNumberOfVariants, endVariants, setVariant, removeVariant, clearVariants, findVariant

StateSet::VariantIterator beginVariants ( ) [inline]

Get an iterator to the first StateVariant in this StateSet.

Returns:
An iterator to the first StateVariant in this StateSet.
See also:
getNumberOfVariants, endVariants, setVariant, removeVariant, clearVariants, findVariant

StateSet::VariantConstIterator endVariants ( ) const [inline]

Get a const iterator that points just beyond the end of the StateVariant in this StateSet.

Returns:
A const iterator that points just beyond the end of the StateVariant in this StateSet.
See also:
getNumberOfVariants, beginVariants, setVariant, removeVariant, clearVariants, findVariant

StateSet::VariantIterator endVariants ( ) [inline]

Get an iterator that points just beyond the end of the StateVariant in this StateSet.

Returns:
An iterator that points just beyond the end of the StateVariant in this StateSet.
See also:
getNumberOfVariants, beginVariants, setVariant, removeVariant, clearVariants, findVariant

NVSG_API VariantIterator setVariant | ( | VariantKey | key,
 |  | const StateVariantSharedPtr & | variant
 | ) |

Set a combination of VariantKey and StateVariant to this StateSet.

Parameters:
key | The VariantKey to associate variant with.
variant | Specifies the StateVariant to set.
Returns:
An iterator that points to the position where variant was added.
Note:
If there was no StateVariant associated with the VariantKey key in this StateSet, it is added. If there already was such a combination, the variant associated with key is replaced by variant.

The behavior is undefined if key is INVALID_VARIANT_KEY.

See also:
getNumberOfVariants, beginVariants, endVariants, removeVariant, clearVariants, findVariant

NVSG_API bool removeVariant ( VariantKey key )

Remove a StateVariant from this StateSet.

Parameters:
key The VariantKey to remove from this StateSet.
Returns:
true, if the VariantKey has been removed from this StateSet, otherwise false.
See also:
getNumberOfVariants, beginVariants, endVariants, setVariant, clearVariants, findVariant

NVSG_API VariantIterator removeVariant ( const VariantIterator & svi )

Remove a StateVariant from this StateSet.

Parameters:
svi An iterator to the StateVariant to remove from this StateSet.
Returns:
An iterator pointing to the new location of the StateVariant that followed the one removed by this function call, which is endVariants() if the operation removed the last StateVariant.
See also:
getNumberOfVariants, beginVariants, endVariants, setVariant, clearVariants, findVariant

NVSG_API void clearVariants ( )

Remove all StateVariants from this StateSet.

See also:
getNumberOfVariants, beginVariants, endVariants, setVariant, removeVariant, findVariant

VariantKey getActiveVariantKey ( ) const [inline]

Get the currently active VariantKey.

Returns:
The currently active VariantKey.
Remarks:
There is only one StateVariant active in a StateSet. Only that StateVariant is used in traversals. If there is no StateVariant active, the INVALID_VARIANT_KEY is returned.
See also:
VariantKey, getActiveVariant, getVariantKey, setActiveVariantKey

NVSG_API void setActiveVariantKey ( VariantKey key )

Set the active VariantKey.

Parameters:
key The VariantKey to set active.
Remarks:
There is only one StateVariant active in a StateSet. Only that StateVariant is used in traversals. Only a VariantKey that is part of the StateSet can be used.
See also:
VariantKey, getActiveVariant, getActiveVariantKey

unsigned int getNumberOfPasses ( ) const [inline]

Get the number of passes in the active StateVariant of this StateSet.

Returns:
The number of passes in the active StateVariant.
See also:
beginPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassConstIterator beginPasses ( ) const [inline]

Get a const iterator to the first pass in the active StateVariant of this StateSet.

Returns:
A const iterator to the first pass in the active StateVariant.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator beginPasses ( ) [inline]

Get an iterator to the first pass in the active StateVariant of this StateSet.

Returns:
An iterator to the first pass in the active StateVariant.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassConstIterator endPasses ( ) const [inline]

Get a const iterator that points just beyond the end of the pass in the active StateVariant of this StateSet.

Returns:
A const iterator that points just beyond the end of the pass in the active StateVariant.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, beginPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator endPasses ( ) [inline]

Get an iterator that points just beyond the end of the pass in the active StateVariant of this StateSet.

Returns:
An iterator that points just beyond the end of the pass in the active StateVariant.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, beginPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

NVSG_API StateVariant::PassIterator addPass ( const StatePassSharedPtr & pass )

Adds a pass to the active StateVariant of this StateSet.

Parameters:
pass Specifies the pass to add
Returns:
An iterator that points to the position where pass was added.
Note:
If there is no StateVariant in this StateSet, a default with VariantKey 0 is created and the StatePass added to that.
See also:
getNumberOfPasses, beginPasses, endPasses, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator insertPass | ( | const StateVariant::PassIterator & | spi,
 |  | const StatePassSharedPtr & | pass
 | ) | [inline]

Insert a pass at a specified position in the active StateVariant of this StateSet.

Parameters:
spi | An iterator that points to the position where pass is inserted.
pass | The pass to add.
Returns:
An iterator that points to the position where pass was inserted.
Note:
The behaviour is undefined, if there is no active StateVariant, or spi is not an iterator over the StatePasses in that StateVariant.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, removePass, replacePass, replacePass, clearPasses, findPass

bool removePass ( const StatePassSharedPtr & pass ) [inline]

Remove a pass from the active StateVariant of this StateSet.

Parameters:
pass The pass to remove from the specified StateVariant.
Returns:
true, if the pass has been removed from the specified StateVariant, otherwise false.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, replacePass, clearPasses, findPass

StateVariant::PassIterator removePass ( const StateVariant::PassIterator & spi ) [inline]

Remove a pass from the active StateVariant of this StateSet.

Parameters:
spi An iterator to the pass to remove from the specified StateVariant.
Returns:
An iterator pointing to the new location of the pass that followed the one removed by this function call, which is endPasses() if the operation removed the last pass.
Note:
The behaviour is undefined, if there is no active StateVariant, or spi it not an iterator over the StatePasses in that StateVariant.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, replacePass, clearPasses, findPass

bool replacePass | ( | const StatePassSharedPtr & | newPass,
 |  | const StatePassSharedPtr & | oldPass
 | ) | [inline]

Replace one pass by an other in the active StateVariant of this StateSet.

Parameters:
newPass | The new pass that replaces the old ones.
oldPass | The old pass to be replaced by the new one.
Returns:
true, if oldPass has been replaced by newPass, otherwise false.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, findPass

bool replacePass | ( | const StatePassSharedPtr & | newPass,
 |  | StateVariant::PassIterator & | oldSPI
 | ) | [inline]

Replace one pass by an other in the active StateVariant of this StateSet.

Parameters:
newPass | The new pass that replaces the old ones.
oldSPI | An iterator pointing to the pass to be replaced.
Returns:
true, if the pass specified by oldSPI has been replaced by newPass, otherwise false.
Note:
The behaviour is undefined, if there is no active StateVariant, or oldSPI is not an iterator over the StatePasses in that StateVariant.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, findPass

void clearPasses ( ) [inline]

Remove all passes from the active StateVariant of this StateSet.

Parameters:
key Optional VariantKey to specify the StateVariant to work on; default is 0.
Note:
The behaviour is undefined, if there is no active StateVariant.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, replacePass, findPass

unsigned int getNumberOfPasses ( const VariantConstIterator & svci ) const [inline]

Get the number of passes in the specified StateVariant of this StateSet.

Parameters:
svci Const iterator to the StateVariant to work on.
Returns:
The number of passes in the specified StateVariant.
See also:
beginPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassConstIterator beginPasses ( const VariantConstIterator & svci ) const [inline]

Get a const iterator to the first pass in the specified StateVariant of this StateSet.

Parameters:
svci Const iterator to the StateVariant to work on.
Returns:
A const iterator to the first pass in the specified StateVariant.
Note:
The behaviour is undefined, if svci points past the end of the container of Passes.
See also:
getNumberOfPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator beginPasses ( const VariantIterator & svi ) [inline]

Get an iterator to the first pass in the specified StateVariant of this StateSet.

Parameters:
svi Iterator to the StateVariant to work on.
Returns:
An iterator to the first pass in the specified StateVariant.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassConstIterator endPasses ( const VariantConstIterator & svci ) const [inline]

Get a const iterator that points just beyond the end of the pass in the specified StateVariant of this StateSet.

Parameters:
svci Const iterator to the StateVariant to work on.
Returns:
A const iterator that points just beyond the end of the pass in the specified StateVariant.
Note:
The behaviour is undefined, if svci points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator endPasses ( const VariantIterator & svi ) [inline]

Get an iterator that points just beyond the end of the pass in the specified StateVariant of this StateSet.

Parameters:
svi Iterator to the StateVariant to work on.
Returns:
An iterator that points just beyond the end of the pass in the specified StateVariant.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator addPass | ( | const VariantIterator & | svi,
 |  | const StatePassSharedPtr & | pass
 | ) | [inline]

Adds a pass to the specified StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
pass | Specifies the pass to add
Returns:
An iterator that points to the position where pass was added.
Note:
If svi points past the end of the container of Passes, a new

The behaviour is undefined, if svi points past the end of the container of Passes.

See also:
getNumberOfPasses, beginPasses, endPasses, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator insertPass | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi,
 |  | const StatePassSharedPtr & | pass
 | ) | [inline]

Insert a pass at a specified position in the specified StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | An iterator that points to the position where pass is inserted.
pass | The pass to add.
Returns:
An iterator that points to the position where pass was inserted.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, removePass, replacePass, replacePass, clearPasses, findPass

bool removePass | ( | const VariantIterator & | svi,
 |  | const StatePassSharedPtr & | pass
 | ) | [inline]

Remove a pass from the specified StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
pass | The pass to remove from the specified StateVariant.
Returns:
true, if the pass has been removed from the specified StateVariant, otherwise false.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, replacePass, clearPasses, findPass

StateVariant::PassIterator removePass | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi
 | ) | [inline]

Remove a pass from the StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | An iterator to the pass to remove from the specified StateVariant.
Returns:
An iterator pointing to the new location of the pass that followed the one removed by this function call, which is endPasses() if the operation removed the last pass.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, replacePass, clearPasses, findPass

bool replacePass | ( | const VariantIterator & | svi,
 |  | const StatePassSharedPtr & | newPass,
 |  | const StatePassSharedPtr & | oldPass
 | ) | [inline]

Replace one pass by an other in the specified StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
newPass | The new pass that replaces the old ones.
oldPass | The old pass to be replaced by the new one.
Returns:
true, if oldPass has been replaced by newPass, otherwise false.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, findPass

bool replacePass | ( | const VariantIterator & | svi,
 |  | const StatePassSharedPtr & | newPass,
 |  | StateVariant::PassIterator & | oldSPI
 | ) | [inline]

Replace one pass by an other in the specified StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
newPass | The new pass that replaces the old ones.
oldSPI | An iterator pointing to the pass to be replaced.
Returns:
true, if the pass specified by oldSPI has been replaced by newPass, otherwise false.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, findPass

void clearPasses ( const VariantIterator & svi ) [inline]

Remove all passes from the specified StateVariant of this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
key | Optional VariantKey to specify the StateVariant to work on; default is 0.
Note:
The behaviour is undefined, if svi points past the end of the container of Passes.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, replacePass, findPass

NVSG_API unsigned int getNumberOfAttributes ( ) const

Get the number of StateAttributes in the first StatePass of the current StateVariant in this StateSet.

Returns:
The number of StateAttributes in the first StatePass of the current StateVariant in this StateSet.
See also:
beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator beginAttributes ( ) const [inline]

Get a const iterator to the first attribute in the first StatePass of the current StateVariant in this StateSet.

Returns:
A const iterator to the first attribute in the first StatePass of the current StateVariant in this StateSet.
Note:
The behaviour is undefined, if there is no StateVariant, or no StatePass in the current StateVariant.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator beginAttributes ( ) [inline]

Get an iterator to the first attribute in the first StatePass of the current StateVariant in this StateSet.

Returns:
An iterator to the first attribute in the first StatePass of the current StateVariant in this StateSet.
Note:
The behaviour is undefined, if there is no StateVariant, or no StatePass in the current StateVariant.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator endAttributes ( ) const [inline]

Get a const iterator that points just beyond the end of the attribute in the first StatePass of the current StateVariant in this StateSet.

Returns:
A const iterator that points just beyond the end of the attribute in the first StatePass of the current StateVariant in this StateSet.
Note:
The behaviour is undefined, if there is no StateVariant, or no StatePass in the current StateVariant.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator endAttributes ( ) [inline]

Get an iterator that points just beyond the end of the attribute in the first StatePass of the current StateVariant in this StateSet.

Returns:
An iterator that points just beyond the end of the attribute in the first StatePass of the current StateVariant in this StateSet.
Note:
The behaviour is undefined, if there is no StateVariant, or no StatePass in the current StateVariant.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

NVSG_API StatePass::AttributeIterator addAttribute ( const StateAttributeSharedPtr & attribute )

Adds an attribute to the first StatePass of the current StateVariant in this StateSet.

Parameters:
attribute Specifies the attribute to add.
Returns:
An iterator that points to the position where attribute was added.
Note:
If there is not StateVariant, one is created and marked as the current one. If there is no StatePass in the current StateVariant, one is created and added to the current StateVariant.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, removeAttribute, clearAttributes, findAttribute

NVSG_API bool removeAttribute ( const StateAttributeSharedPtr & attribute )

Remove an attribute from the first StatePass of the current StateVariant in this StateSet.

Parameters:
attribute The attribute to remove.
Returns:
true, if the attribute has been removed from the first StatePass of the current StateVariant in this StateSet, otherwise false.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttribute ( const StatePass::AttributeIterator & sci ) [inline]

Remove an attribute from the first StatePass of the current StateVariant in this StateSet.

Parameters:
sci An iterator to the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
Note:
The behaviour is undefined if there is no StateVariant, or no StatePass in the current StateVariant.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttributeByObjectCode ( unsigned int objectCode ) [inline]

Remove an attribute specified by an object code from the first StatePass of the current StateVariant in this StateVariant.

Parameters:
objectCode The object code of the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API void clearAttributes ( )

Remove all StateAttributes from the first StatePass of the current StateVariant in this StateSet.

See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, findAttribute

NVSG_API unsigned int getNumberOfAttributes | ( | const VariantConstIterator & | svci,
 |  | const StateVariant::PassConstIterator & | spci
 | ) | const

Get the number of StateAttributes in the specified StateVariant and StatePass in this StateSet.

Parameters:
svci | Const iterator to the StateVariant to work on.
spci | Const iterator to the StatePass in svci to work on.
Returns:
The number of StateAttributes in the specified StateVariant and StatePass in this StateSet.
See also:
beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator beginAttributes | ( | const VariantConstIterator & | svci,
 |  | const StateVariant::PassConstIterator & | spci
 | ) | const [inline]

Get a const iterator to the first attribute in the specified StateVariant and StatePass in this StateSet.

Parameters:
svci | Const iterator to the StateVariant to work on.
spci | Const iterator to the StatePass in svci to work on.
Returns:
A const iterator to the first attribute in the specified StateVariant and StatePass in this StateSet.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator beginAttributes | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi
 | ) | [inline]

Get an iterator to the first attribute in the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass in svi to work on.
Returns:
An iterator to the first attribute in the specified StateVariant and StatePass in this StateSet.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator endAttributes | ( | const VariantConstIterator & | svci,
 |  | const StateVariant::PassConstIterator & | spci
 | ) | const [inline]

Get a const iterator that points just beyond the end of the attribute in the specified StateVariant and StatePass in this StateSet.

Parameters:
svci | Const iterator to the StateVariant to work on.
spci | Const iterator to the StatePass in svci to work on.
Returns:
A const iterator that points just beyond the end of the attribute in the specified StateVariant and StatePass in this StateSet.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator endAttributes | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi
 | ) | [inline]

Get an iterator that points just beyond the end of the attribute in the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass in svi to work on.
Returns:
An iterator that points just beyond the end of the attribute in the specified StateVariant and StatePass in this StateSet.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator addAttribute | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi,
 |  | const StateAttributeSharedPtr & | attribute
 | ) | [inline]

Adds an attribute to the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass in svi to work on.
attribute | Specifies the attribute to add.
Returns:
An iterator that points to the position where attribute was added.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, removeAttribute, clearAttributes, findAttribute

NVSG_API bool removeAttribute | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi,
 |  | const StateAttributeSharedPtr & | attribute
 | ) |

Remove an attribute from the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass in svi to work on.
attribute | The attribute to remove.
Returns:
true, if the attribute has been removed from the specified StateVariant and StatePass in this StateSet, otherwise false.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttribute | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi,
 |  | const StatePass::AttributeIterator & | sci
 | ) | [inline]

Remove an attribute from the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass in svi to work on.
sci | An iterator to the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttributeByObjectCode | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi,
 |  | unsigned int | objectCode
 | ) | [inline]

Remove an attribute specified by an object code from the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass to work on.
objectCode | The object code of the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API void clearAttributes | ( | const VariantIterator & | svi,
 |  | const StateVariant::PassIterator & | spi
 | ) |

Remove all StateAttributes from the specified StateVariant and StatePass in this StateSet.

Parameters:
svi | Iterator to the StateVariant to work on.
spi | Iterator to the StatePass in svi to work on.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, findAttribute

NVSG_API StateSet& operator= ( const StateSet & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant StateSet to copy from
Returns:
A reference to the assigned StateSet
Remarks:
The assignment operator calls the assignment operator of Object. Then any StateVariant attached to this StateSet is removed, and all StateVariant objects of rhs are copied.
See also:
Object, StateVariant

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other StateSet.

Parameters:
p | A reference to the constant StateSet to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the StateSet p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Object, they are equivalent if they have the same number of StateVariant/VariantKey pairs and have pair-wise equal VariantKey values. If deepCompare is true, they are equivalent if the StateVariant objects associated with the same VariantKey values are pair-wise equivalent. If deepCompare is false, they are equivalent if they are pair-wise the same pointers.
Note:
The behavior is undefined if p is not a StateSet nor derived from one.
See also:
Object, StateVariant, VariantKey

Reimplemented from Object.

virtual NVSG_API unsigned int determineHintsContainment ( unsigned int which ) const [protected, virtual]

Determines Object hints containment.

Parameters:
which Specifies a bit mask indicating Object hints of interest. Allowed bits are NVSG_HINT_DYNAMIC, NVSG_HINT_ALWAYS_VISIBLE, NVSG_HINT_ALWAYS_INVISIBLE, NVSG_HINT_OVERLAY, NVSG_HINT_SHADOW_CASTER, NVSG_HINT_SHADOW_RECEIVER, or a combination of these.
Returns:
The function returns a bit field indicating all requested Object hints contained in the subtree having this Object as root.
Remarks:
This function is called from the getContainedHints and containsHints entry points if the hints containment state is flagged invalid at the time of calling. This implementation determines the hints contained in the currently active StateVariant.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • StateSet.h
Generated on Fri Jul 13 13:30:24 2012 for SceniX


SceniX: Member List

StateSet Member List

This is the complete list of members for StateSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addAttribute(const StateAttributeSharedPtr &attribute) | StateSet |
addAttribute(const VariantIterator &svi, const StateVariant::PassIterator &spi, const StateAttributeSharedPtr &attribute) | StateSet | [inline]
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Node *owner) (defined in OwnedObject< Node >) | OwnedObject< Node > | [protected]
addPass(const StatePassSharedPtr &pass) | StateSet |
addPass(const VariantIterator &svi, const StatePassSharedPtr &pass) | StateSet | [inline]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginAttributes() const | StateSet | [inline]
beginAttributes() | StateSet | [inline]
beginAttributes(const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci) const | StateSet | [inline]
beginAttributes(const VariantIterator &svi, const StateVariant::PassIterator &spi) | StateSet | [inline]
beginPasses() const | StateSet | [inline]
beginPasses() | StateSet | [inline]
beginPasses(const VariantConstIterator &svci) const | StateSet | [inline]
beginPasses(const VariantIterator &svi) | StateSet | [inline]
beginVariants() const | StateSet | [inline]
beginVariants() | StateSet | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearAttributes() | StateSet |
clearAttributes(const VariantIterator &svi, const StateVariant::PassIterator &spi) | StateSet |
clearPasses() | StateSet | [inline]
clearPasses(const VariantIterator &svi) | StateSet | [inline]
clearVariants() | StateSet |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in StateSet) | StateSet | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const | StateSet | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in StateSet) | StateSet | [protected, virtual]
determineTransparencyContainment() const (defined in StateSet) | StateSet | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endAttributes() const | StateSet | [inline]
endAttributes() | StateSet | [inline]
endAttributes(const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci) const | StateSet | [inline]
endAttributes(const VariantIterator &svi, const StateVariant::PassIterator &spi) | StateSet | [inline]
endPasses() const | StateSet | [inline]
endPasses() | StateSet | [inline]
endPasses(const VariantConstIterator &svci) const | StateSet | [inline]
endPasses(const VariantIterator &svi) | StateSet | [inline]
endVariants() const | StateSet | [inline]
endVariants() | StateSet | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StateSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findAttribute(const StateAttributeSharedPtr &attribute) const (defined in StateSet) | StateSet | [inline]
findAttribute(const StateAttributeSharedPtr &attribute) (defined in StateSet) | StateSet | [inline]
findAttribute(unsigned int code) const (defined in StateSet) | StateSet | [inline]
findAttribute(unsigned int code) (defined in StateSet) | StateSet | [inline]
findAttribute(const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci, const StateAttributeSharedPtr &attribute) const (defined in StateSet) | StateSet | [inline]
findAttribute(const VariantIterator &svi, const StateVariant::PassIterator &spi, const StateAttributeSharedPtr &attribute) (defined in StateSet) | StateSet | [inline]
findAttribute(const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci, unsigned int code) const (defined in StateSet) | StateSet | [inline]
findAttribute(const VariantIterator &svi, const StateVariant::PassIterator &spi, unsigned int code) (defined in StateSet) | StateSet | [inline]
findPass(const StatePassSharedPtr &pass) const (defined in StateSet) | StateSet | [inline]
findPass(const StatePassSharedPtr &pass) (defined in StateSet) | StateSet | [inline]
findPass(const VariantConstIterator &svci, const StatePassSharedPtr &pass) const (defined in StateSet) | StateSet | [inline]
findPass(const VariantIterator &svi, const StatePassSharedPtr &pass) (defined in StateSet) | StateSet | [inline]
findVariant(VariantKey key) const (defined in StateSet) | StateSet | [inline]
findVariant(VariantKey key) (defined in StateSet) | StateSet | [inline]
getActiveVariantKey() const | StateSet | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfAttributes() const | StateSet |
getNumberOfAttributes(const VariantConstIterator &svci, const StateVariant::PassConstIterator &spci) const | StateSet |
getNumberOfOwners() const | OwnedObject< Node > |
getNumberOfPasses() const | StateSet | [inline]
getNumberOfPasses(const VariantConstIterator &svci) const | StateSet | [inline]
getNumberOfVariants() const | StateSet | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Node > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertPass(const StateVariant::PassIterator &spi, const StatePassSharedPtr &pass) | StateSet | [inline]
insertPass(const VariantIterator &svi, const StateVariant::PassIterator &spi, const StatePassSharedPtr &pass) | StateSet | [inline]
INVALID_VARIANT_KEY (defined in StateSet) | StateSet | [static]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StateSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Node >) | OwnedObject< Node > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Node >) | OwnedObject< Node > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in StateSet) | StateSet | [protected, virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StateSet &rhs) | StateSet |
nvsg::OwnedObject< Node >::operator=(const OwnedObject< Node > &rhs) | OwnedObject< Node > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Node > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Node > | [protected]
OwnedObject(const OwnedObject< Node > &rhs) | OwnedObject< Node > | [protected]
OwnerContainer typedef (defined in OwnedObject< Node >) | OwnedObject< Node > |
OwnerIterator typedef (defined in OwnedObject< Node >) | OwnedObject< Node > |
ownersBegin() const (defined in OwnedObject< Node >) | OwnedObject< Node > | [inline]
ownersEnd() const (defined in OwnedObject< Node >) | OwnedObject< Node > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, StateSet) (defined in StateSet) | StateSet |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeAttribute(const StateAttributeSharedPtr &attribute) | StateSet |
removeAttribute(const StatePass::AttributeIterator &sci) | StateSet | [inline]
removeAttribute(const VariantIterator &svi, const StateVariant::PassIterator &spi, const StateAttributeSharedPtr &attribute) | StateSet |
removeAttribute(const VariantIterator &svi, const StateVariant::PassIterator &spi, const StatePass::AttributeIterator &sci) | StateSet | [inline]
removeAttributeByObjectCode(unsigned int objectCode) | StateSet | [inline]
removeAttributeByObjectCode(const VariantIterator &svi, const StateVariant::PassIterator &spi, unsigned int objectCode) | StateSet | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Node *owner) (defined in OwnedObject< Node >) | OwnedObject< Node > | [protected]
removePass(const StatePassSharedPtr &pass) | StateSet | [inline]
removePass(const StateVariant::PassIterator &spi) | StateSet | [inline]
removePass(const VariantIterator &svi, const StatePassSharedPtr &pass) | StateSet | [inline]
removePass(const VariantIterator &svi, const StateVariant::PassIterator &spi) | StateSet | [inline]
removeVariant(VariantKey key) | StateSet |
removeVariant(const VariantIterator &svi) | StateSet |
replacePass(const StatePassSharedPtr &newPass, const StatePassSharedPtr &oldPass) | StateSet | [inline]
replacePass(const StatePassSharedPtr &newPass, StateVariant::PassIterator &oldSPI) | StateSet | [inline]
replacePass(const VariantIterator &svi, const StatePassSharedPtr &newPass, const StatePassSharedPtr &oldPass) | StateSet | [inline]
replacePass(const VariantIterator &svi, const StatePassSharedPtr &newPass, StateVariant::PassIterator &oldSPI) | StateSet | [inline]
setActiveVariantKey(VariantKey key) | StateSet |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVariant(VariantKey key, const StateVariantSharedPtr &variant) | StateSet |
StateSet() | StateSet | [protected]
StateSet(const StateSet &rhs) | StateSet | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in StateSet) | StateSet | [protected, virtual]
VariantConstIterator typedef | StateSet |
VariantContainer typedef | StateSet |
VariantIterator typedef | StateSet |
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Node > | [protected]
~StateSet() | StateSet | [protected, virtual]

Generated on Fri Jul 13 13:30:24 2012 for SceniX


SceniX: StateVariant Class Reference

nvsg::StateVariant

StateVariant Class Reference

Container class to hold a number of StatePass objects. More...

#include <StateVariant.h>

Inheritance diagram for StateVariant:

[legend]
Collaboration diagram for StateVariant:

[legend]
List of all members.

Public Types

typedef nvutil::STLVector<
StatePassSharedPtr > 		PassContainer
The container type of the passes.
typedef nvutil::SceniXIterator<
StateVariant, PassContainer::iterator > 		PassIterator
The iterator over the PassContainer.
typedef nvutil::SceniXIterator<
StateVariant, PassContainer::const_iterator > 		PassConstIterator
The const iterator over the PassContainer.

Public Member Functions

NVSG_API unsigned int | getNumberOfPasses () const
Get the number of passes in this StateVariant.
NVSG_API PassConstIterator | beginPasses () const
Get a const iterator to the first pass in this StateVariant.
NVSG_API PassIterator | beginPasses ()
Get an iterator to the first pass in this StateVariant.
NVSG_API PassConstIterator | endPasses () const
Get a const iterator that points just beyond the end of the pass in this StateVariant.
NVSG_API PassIterator | endPasses ()
Get an iterator that points just beyond the end of the pass in this StateVariant.
NVSG_API PassIterator | addPass (const StatePassSharedPtr &pass)
Adds a pass to this StateVariant.
NVSG_API PassIterator | insertPass (const PassIterator &spi, const StatePassSharedPtr &pass)
Insert a pass at a specified position in this StateVariant.
NVSG_API bool | removePass (const StatePassSharedPtr &pass)
Remove a pass from this StateVariant.
NVSG_API PassIterator | removePass (const PassIterator &sci)
Remove a pass from this StateVariant.
NVSG_API bool | replacePass (const StatePassSharedPtr &newPass, const StatePassSharedPtr &oldPass)
Replace one pass by an other in this StateVariant.
NVSG_API bool | replacePass (const StatePassSharedPtr &newPass, PassIterator &oldSPI)
Replace one pass by an other in this StateVariant.
NVSG_API void | clearPasses ()
Remove all passes from this StateVariant.
NVSG_API PassConstIterator | findPass (const StatePassSharedPtr &pass) const
NVSG_API PassIterator | findPass (const StatePassSharedPtr &pass)
NVSG_API unsigned int | getNumberOfAttributes () const
Get the number of StateAttributes of the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeConstIterator | beginAttributes () const
Get a const iterator to the first attribute of the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | beginAttributes ()
Get an iterator to the first attribute of the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeConstIterator | endAttributes () const
Get a const iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | endAttributes ()
Get an iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | addAttribute (const StateAttributeSharedPtr &attribute)
Adds an attribute to the first StatePass in this StateVariant.
NVSG_API bool | removeAttribute (const StateAttributeSharedPtr &attribute)
Remove an attribute from the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | removeAttribute (const StatePass::AttributeIterator &sci)
Remove an attribute from the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | removeAttributeByObjectCode (unsigned int objectCode)
Remove an attribute specified by an object code from the first StatePass in this StateVariant.
NVSG_API void | clearAttributes ()
Remove all StateAttributes from the first StatePass in this StateVariant.
NVSG_API StatePass::AttributeConstIterator | findAttribute (const StateAttributeSharedPtr &attribute) const
NVSG_API StatePass::AttributeIterator | findAttribute (const StateAttributeSharedPtr &attribute)
NVSG_API StatePass::AttributeConstIterator | findAttribute (unsigned int code) const
NVSG_API StatePass::AttributeIterator | findAttribute (unsigned int code)
NVSG_API unsigned int | getNumberOfAttributes (const PassConstIterator &spci) const
Get the number of StateAttributes in the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeConstIterator | beginAttributes (const PassConstIterator &spci) const
Get a const iterator to the first attribute of the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | beginAttributes (const PassIterator &spi)
Get an iterator to the first attribute of the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeConstIterator | endAttributes (const PassConstIterator &spci) const
Get a const iterator that points just beyond the end of the attribute of the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | endAttributes (const PassIterator &spi)
Get an iterator that points just beyond the end of the attribute of the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | addAttribute (const PassIterator &spi, const StateAttributeSharedPtr &attribute)
Adds an attribute to the specifed StatePass in this StateVariant.
NVSG_API bool | removeAttribute (const PassIterator &spi, const StateAttributeSharedPtr &attribute)
Remove an attribute from the specifed StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | removeAttribute (const PassIterator &spi, const StatePass::AttributeIterator &sci)
Remove an attribute from the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeIterator | removeAttributeByObjectCode (const PassIterator &spi, unsigned int objectCode)
Remove an attribute specified by an object code from the specified StatePass in this StateVariant.
NVSG_API void | clearAttributes (const PassIterator &spi)
Remove all StateAttributes from the specified StatePass in this StateVariant.
NVSG_API StatePass::AttributeConstIterator | findAttribute (const PassConstIterator &spci, const StateAttributeSharedPtr &attribute) const
NVSG_API StatePass::AttributeIterator | findAttribute (const PassIterator &spci, const StateAttributeSharedPtr &attribute)
NVSG_API StatePass::AttributeConstIterator | findAttribute (const PassConstIterator &spci, unsigned int code) const
NVSG_API StatePass::AttributeIterator | findAttribute (const PassIterator &spci, unsigned int code)
NVSG_API bool | isEachPassTransparent () const
Ask if this each StatePass of this StateVariant is transparent.
NVSG_API StateVariant & | operator= (const StateVariant &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other StateVariant.
REFLECTION_INFO_API (NVSG_API, StateVariant)

Static Public Member Functions

static NVSG_API StateVariantSharedPtr | create ()

Protected Member Functions

NVSG_API | StateVariant ()
Default-constructs a StateVariant.
NVSG_API | StateVariant (const StateVariant &rhs)
Constructs a StateVariant as a copy from another StateVariant.
virtual NVSG_API | ~StateVariant ()
Destructs a StateVariant.
virtual NVSG_API unsigned int | determineHintsContainment (unsigned int which) const
Determines Object hints containment.
virtual NVSG_API bool | determineShaderContainment () const
virtual NVSG_API bool | determineTransparencyContainment () const
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Container class to hold a number of StatePass objects.

Namespace: nvsg
Remarks:
A StateVariant holds a number of StatePass objects. Any geometries associated with this StateVariant are rendered with each of the StatePass objects, one after the other.
A StateVariant can be the child of one or more StateSet objects.
See also:
StatePass, StateSet

Member Typedef Documentation

typedef nvutil::STLVector<StatePassSharedPtr> PassContainer

The container type of the passes.

typedef nvutil::SceniXIterator<StateVariant,PassContainer::iterator> PassIterator

The iterator over the PassContainer.

typedef nvutil::SceniXIterator<StateVariant,PassContainer::const_iterator> PassConstIterator

The const iterator over the PassContainer.

Constructor & Destructor Documentation

NVSG_API StateVariant ( ) [protected]

Default-constructs a StateVariant.

Remarks:
An empty StateVariant is created.

NVSG_API StateVariant ( const StateVariant & rhs ) [protected]

Constructs a StateVariant as a copy from another StateVariant.

virtual NVSG_API ~StateVariant ( ) [protected, virtual]

Destructs a StateVariant.

Member Function Documentation

unsigned int getNumberOfPasses ( ) const [inline]

Get the number of passes in this StateVariant.

Returns:
The number of passes in this StateVariant.
See also:
beginPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassConstIterator beginPasses ( ) const [inline]

Get a const iterator to the first pass in this StateVariant.

Returns:
A const iterator to the first pass in this StateVariant.
See also:
getNumberOfPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator beginPasses ( ) [inline]

Get an iterator to the first pass in this StateVariant.

Returns:
An iterator to the first pass in this StateVariant.
See also:
getNumberOfPasses, endPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassConstIterator endPasses ( ) const [inline]

Get a const iterator that points just beyond the end of the pass in this StateVariant.

Returns:
A const iterator that points just beyond the end of the pass in this StateVariant.
See also:
getNumberOfPasses, beginPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

StateVariant::PassIterator endPasses ( ) [inline]

Get an iterator that points just beyond the end of the pass in this StateVariant.

Returns:
An iterator that points just beyond the end of the pass in this StateVariant.
See also:
getNumberOfPasses, beginPasses, addPass, insertPass, removePass, replacePass, clearPasses, findPass

NVSG_API PassIterator addPass ( const StatePassSharedPtr & pass )

Adds a pass to this StateVariant.

Parameters:
pass Specifies the pass to add
Returns:
An iterator that points to the position where pass was added.
See also:
getNumberOfPasses, beginPasses, endPasses, insertPass, removePass, replacePass, clearPasses, findPass

NVSG_API PassIterator insertPass | ( | const PassIterator & | spi,
 |  | const StatePassSharedPtr & | pass
 | ) |

Insert a pass at a specified position in this StateVariant.

Parameters:
spi | An iterator that points to the position where pass is inserted.
pass | The pass to add.
Returns:
An iterator that points to the position where pass was inserted.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, removePass, replacePass, clearPasses, findPass

NVSG_API bool removePass ( const StatePassSharedPtr & pass )

Remove a pass from this StateVariant.

Parameters:
pass The pass to remove from this StateVariant.
Returns:
true, if the pass has been removed from this StateVariant, otherwise false.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, replacePass, clearPasses, findPass

NVSG_API PassIterator removePass ( const PassIterator & sci )

Remove a pass from this StateVariant.

Parameters:
sci An iterator to the pass to remove from this StateVariant.
Returns:
An iterator pointing to the new location of the pass that followed the one removed by this function call, which is endPasses() if the operation removed the last pass.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, replacePass, clearPasses, findPass

NVSG_API bool replacePass | ( | const StatePassSharedPtr & | newPass,
 |  | const StatePassSharedPtr & | oldPass
 | ) |

Replace one pass by an other in this StateVariant.

Parameters:
newPass | The new pass that replaces the old ones.
oldPass | The old pass to be replaced by the new one.
Returns:
true, if oldPass has been replaced by newPass, otherwise false.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, findPass

NVSG_API bool replacePass | ( | const StatePassSharedPtr & | newPass,
 |  | PassIterator & | oldSPI
 | ) |

Replace one pass by an other in this StateVariant.

Parameters:
newPass | The new pass that replaces the old ones.
oldSPI | An iterator pointing to the pass to be replaced.
Returns:
true, if the pass specified by oldSPI has been replaced by newPass, otherwise false.
See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, clearPasses, findPass

NVSG_API void clearPasses ( )

Remove all passes from this StateVariant.

See also:
getNumberOfPasses, beginPasses, endPasses, addPass, insertPass, removePass, replacePass, findPass

unsigned int getNumberOfAttributes ( ) const [inline]

Get the number of StateAttributes of the first StatePass in this StateVariant.

Returns:
The number of StateAttributes of the first StatePass in this StateVariant.
See also:
beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator beginAttributes ( ) const [inline]

Get a const iterator to the first attribute of the first StatePass in this StateVariant.

Returns:
A const iterator to the first attribute of the first StatePass in this StateVariant.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator beginAttributes ( ) [inline]

Get an iterator to the first attribute of the first StatePass in this StateVariant.

Returns:
An iterator to the first attribute of the first StatePass in this StateVariant.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator endAttributes ( ) const [inline]

Get a const iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.

Returns:
A const iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator endAttributes ( ) [inline]

Get an iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.

Returns:
An iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator addAttribute ( const StateAttributeSharedPtr & attribute ) [inline]

Adds an attribute to the first StatePass in this StateVariant.

Parameters:
attribute Specifies the attribute to add.
Returns:
An iterator that points to the position where attribute was added.
Note:
If there is no StatePass in this StateVariant, one is created and the StateAttribute added to that.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, removeAttribute, clearAttributes, findAttribute

bool removeAttribute ( const StateAttributeSharedPtr & attribute ) [inline]

Remove an attribute from the first StatePass in this StateVariant.

Parameters:
attribute The attribute to remove.
Returns:
true, if the attribute has been removed, otherwise false.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttribute ( const StatePass::AttributeIterator & sci ) [inline]

Remove an attribute from the first StatePass in this StateVariant.

Parameters:
sci An iterator to the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
Note:
The behaviour is undefined if there is no StatePass in this StateVariant.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttributeByObjectCode ( unsigned int objectCode ) [inline]

Remove an attribute specified by an object code from the first StatePass in this StateVariant.

Parameters:
objectCode The object code of the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

void clearAttributes ( ) [inline]

Remove all StateAttributes from the first StatePass in this StateVariant.

See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, findAttribute

NVSG_API unsigned int getNumberOfAttributes ( const PassConstIterator & spci ) const

Get the number of StateAttributes in the specified StatePass in this StateVariant.

Parameters:
spci Iterator to the StatePass to work on.
Returns:
The number of StateAttributes of the specified StatePass in this StateVariant.
See also:
beginAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator beginAttributes ( const PassConstIterator & spci ) const [inline]

Get a const iterator to the first attribute of the specified StatePass in this StateVariant.

Parameters:
spci Iterator to the StatePass to work on.
Returns:
A const iterator to the first attribute of the specified StatePass in this StateVariant.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator beginAttributes ( const PassIterator & spi ) [inline]

Get an iterator to the first attribute of the specified StatePass in this StateVariant.

Parameters:
spi Iterator to the StatePass to work on.
Returns:
An iterator to the first attribute of the specified StatePass in this StateVariant.
See also:
getNumberOfAttributes, endAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeConstIterator endAttributes ( const PassConstIterator & spci ) const [inline]

Get a const iterator that points just beyond the end of the attribute of the specified StatePass in this StateVariant.

Parameters:
spci Iterator to the StatePass to work on.
Returns:
A const iterator that points just beyond the end of the attribute of the first StatePass in this StateVariant.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator endAttributes ( const PassIterator & spi ) [inline]

Get an iterator that points just beyond the end of the attribute of the specified StatePass in this StateVariant.

Parameters:
spi Iterator to the StatePass to work on.
Returns:
An iterator that points just beyond the end of the attribute of the specified StatePass in this StateVariant.
See also:
getNumberOfAttributes, beginAttributes, addAttribute, removeAttribute, clearAttributes, findAttribute

NVSG_API StatePass::AttributeIterator addAttribute | ( | const PassIterator & | spi,
 |  | const StateAttributeSharedPtr & | attribute
 | ) |

Adds an attribute to the specifed StatePass in this StateVariant.

Parameters:
spi | Iterator to the StatePass to work on.
attribute | Specifies the attribute to add.
Returns:
An iterator that points to the position where attribute was added.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, removeAttribute, clearAttributes, findAttribute

NVSG_API bool removeAttribute | ( | const PassIterator & | spi,
 |  | const StateAttributeSharedPtr & | attribute
 | ) |

Remove an attribute from the specifed StatePass in this StateVariant.

Parameters:
spi | Iterator to the StatePass to work on.
attribute | The attribute to remove.
Returns:
true, if the attribute has been removed, otherwise false.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttribute | ( | const PassIterator & | spi,
 |  | const StatePass::AttributeIterator & | sci
 | ) | [inline]

Remove an attribute from the specified StatePass in this StateVariant.

Parameters:
spi | Iterator to the StatePass to work on.
sci | An iterator to the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

StatePass::AttributeIterator removeAttributeByObjectCode | ( | const PassIterator & | spi,
 |  | unsigned int | objectCode
 | ) | [inline]

Remove an attribute specified by an object code from the specified StatePass in this StateVariant.

Parameters:
spi | Iterator to the StatePass to work on.
objectCode | The object code of the attribute to remove.
Returns:
An iterator pointing to the new location of the attribute that followed the one removed by this function call, which is endAttributes() if the operation removed the last attribute.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, clearAttributes, findAttribute

NVSG_API void clearAttributes ( const PassIterator & spi )

Remove all StateAttributes from the specified StatePass in this StateVariant.

Parameters:
spi Iterator to the StatePass to work on.
See also:
getNumberOfAttributes, beginAttributes, endAttributes, addAttribute, removeAttribute, findAttribute

NVSG_API bool isEachPassTransparent ( ) const

Ask if this each StatePass of this StateVariant is transparent.

Returns:
true, if each StatePass of this StateVariant is transparent, otherwise false.
See also:
invalidateTransparencyContainment

NVSG_API StateVariant& operator= ( const StateVariant & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant StateVariant to copy from
Returns:
A reference to the assigned StateVariant
Remarks:
The assignment operator calls the assignment operator of Object. Then any StatePass attached to this StateVariant is removed, and all StatePass objects of rhs are copied.
See also:
StatePass

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other StateVariant.

Parameters:
p | A reference to the constant StateVariant to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the StateVariant p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as Object, they are equivalent, if their StatePass objects are equivalent. If deepCompare is true, they are equivalent if the StatePass objects are pairwise equivalent. If deepCompare is false, they are equivalent, if they are pair-wise the same pointers.
Note:
The behavior is undefined if p is not a StateVariant nor derived from one.
See also:
Object, StatePass

Reimplemented from Object.

virtual NVSG_API unsigned int determineHintsContainment ( unsigned int which ) const [protected, virtual]

Determines Object hints containment.

Parameters:
which Specifies a bit mask indicating Object hints of interest. Allowed bits are NVSG_HINT_DYNAMIC, NVSG_HINT_ALWAYS_VISIBLE, NVSG_HINT_ALWAYS_INVISIBLE, NVSG_HINT_OVERLAY, NVSG_HINT_SHADOW_CASTER, NVSG_HINT_SHADOW_RECEIVER, or a combination of these.
Returns:
The function returns a bit field indicating all requested Object hints contained in the subtree having this Object as root.
Remarks:
This function is called from the getContainedHints and containsHints entry points if the hints containment state is flagged invalid at the time of calling. This implementation determines the hints contained in all owned StatePasses.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • StateVariant.h
Generated on Fri Jul 13 13:30:25 2012 for SceniX


SceniX: Member List

StateVariant Member List

This is the complete list of members for StateVariant, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addAttribute(const StateAttributeSharedPtr &attribute) | StateVariant | [inline]
addAttribute(const PassIterator &spi, const StateAttributeSharedPtr &attribute) | StateVariant |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StateSet *owner) (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > | [protected]
addPass(const StatePassSharedPtr &pass) | StateVariant |
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginAttributes() const | StateVariant | [inline]
beginAttributes() | StateVariant | [inline]
beginAttributes(const PassConstIterator &spci) const | StateVariant | [inline]
beginAttributes(const PassIterator &spi) | StateVariant | [inline]
beginPasses() const | StateVariant | [inline]
beginPasses() | StateVariant | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
clearAttributes() | StateVariant | [inline]
clearAttributes(const PassIterator &spi) | StateVariant |
clearPasses() | StateVariant |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in StateVariant) | StateVariant | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const | StateVariant | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in StateVariant) | StateVariant | [protected, virtual]
determineTransparencyContainment() const (defined in StateVariant) | StateVariant | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endAttributes() const | StateVariant | [inline]
endAttributes() | StateVariant | [inline]
endAttributes(const PassConstIterator &spci) const | StateVariant | [inline]
endAttributes(const PassIterator &spi) | StateVariant | [inline]
endPasses() const | StateVariant | [inline]
endPasses() | StateVariant | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StateVariant | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findAttribute(const StateAttributeSharedPtr &attribute) const (defined in StateVariant) | StateVariant | [inline]
findAttribute(const StateAttributeSharedPtr &attribute) (defined in StateVariant) | StateVariant | [inline]
findAttribute(unsigned int code) const (defined in StateVariant) | StateVariant | [inline]
findAttribute(unsigned int code) (defined in StateVariant) | StateVariant | [inline]
findAttribute(const PassConstIterator &spci, const StateAttributeSharedPtr &attribute) const (defined in StateVariant) | StateVariant | [inline]
findAttribute(const PassIterator &spci, const StateAttributeSharedPtr &attribute) (defined in StateVariant) | StateVariant | [inline]
findAttribute(const PassConstIterator &spci, unsigned int code) const (defined in StateVariant) | StateVariant | [inline]
findAttribute(const PassIterator &spci, unsigned int code) (defined in StateVariant) | StateVariant | [inline]
findPass(const StatePassSharedPtr &pass) const (defined in StateVariant) | StateVariant | [inline]
findPass(const StatePassSharedPtr &pass) (defined in StateVariant) | StateVariant | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfAttributes() const | StateVariant | [inline]
getNumberOfAttributes(const PassConstIterator &spci) const | StateVariant |
getNumberOfOwners() const | OwnedObject< StateSet > |
getNumberOfPasses() const | StateVariant | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StateSet > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
insertPass(const PassIterator &spi, const StatePassSharedPtr &pass) | StateVariant |
isDataShared() const | Object | [virtual]
isEachPassTransparent() const | StateVariant |
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StateVariant | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StateVariant &rhs) | StateVariant |
nvsg::OwnedObject< StateSet >::operator=(const OwnedObject< StateSet > &rhs) | OwnedObject< StateSet > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StateSet > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StateSet > | [protected]
OwnedObject(const OwnedObject< StateSet > &rhs) | OwnedObject< StateSet > | [protected]
OwnerContainer typedef (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > |
OwnerIterator typedef (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > |
ownersBegin() const (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > | [inline]
ownersEnd() const (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > | [inline]
PassConstIterator typedef | StateVariant |
PassContainer typedef | StateVariant |
PassIterator typedef | StateVariant |
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, StateVariant) (defined in StateVariant) | StateVariant |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeAttribute(const StateAttributeSharedPtr &attribute) | StateVariant | [inline]
removeAttribute(const StatePass::AttributeIterator &sci) | StateVariant | [inline]
removeAttribute(const PassIterator &spi, const StateAttributeSharedPtr &attribute) | StateVariant |
removeAttribute(const PassIterator &spi, const StatePass::AttributeIterator &sci) | StateVariant | [inline]
removeAttributeByObjectCode(unsigned int objectCode) | StateVariant | [inline]
removeAttributeByObjectCode(const PassIterator &spi, unsigned int objectCode) | StateVariant | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StateSet *owner) (defined in OwnedObject< StateSet >) | OwnedObject< StateSet > | [protected]
removePass(const StatePassSharedPtr &pass) | StateVariant |
removePass(const PassIterator &sci) | StateVariant |
replacePass(const StatePassSharedPtr &newPass, const StatePassSharedPtr &oldPass) | StateVariant |
replacePass(const StatePassSharedPtr &newPass, PassIterator &oldSPI) | StateVariant |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateVariant() | StateVariant | [protected]
StateVariant(const StateVariant &rhs) | StateVariant | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in StateVariant) | StateVariant | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StateSet > | [protected]
~StateVariant() | StateVariant | [protected, virtual]

Generated on Fri Jul 13 13:30:25 2012 for SceniX


SceniX: StatFaceAttribute Class Reference

nvtraverser::StatFaceAttribute

StatFaceAttribute Class Reference

Class to hold statistics information about FaceAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatFaceAttribute:

[legend]
Collaboration diagram for StatFaceAttribute:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfTwoSidedLighting
Counts the number of FaceAttribute objects with two-sided lighting.

Detailed Description

Class to hold statistics information about FaceAttribute objects.

Member Data Documentation

unsigned int m_numberOfTwoSidedLighting

Counts the number of FaceAttribute objects with two-sided lighting.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: Member List

StatFaceAttribute Member List

This is the complete list of members for StatFaceAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfTwoSidedLighting | StatFaceAttribute |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatFaceAttribute() (defined in StatFaceAttribute) | StatFaceAttribute | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: StatFlipbookAnimation Class Reference

nvtraverser::StatFlipbookAnimation

StatFlipbookAnimation Class Reference

Class to hold statistics information about FlipbookAnimation objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatFlipbookAnimation:

[legend]
Collaboration diagram for StatFlipbookAnimation:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about FlipbookAnimation objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: Member List

StatFlipbookAnimation Member List

This is the complete list of members for StatFlipbookAnimation, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: StatFramedIndexAnimationDescription Class Reference

nvtraverser::StatFramedIndexAnimationDescription

StatFramedIndexAnimationDescription Class Reference

Class to hold statistics information about FramedIndexAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatFramedIndexAnimationDescription:

[legend]
Collaboration diagram for StatFramedIndexAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about FramedIndexAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: Member List

StatFramedIndexAnimationDescription Member List

This is the complete list of members for StatFramedIndexAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: StatFramedTrafoAnimationDescription Class Reference

nvtraverser::StatFramedTrafoAnimationDescription

StatFramedTrafoAnimationDescription Class Reference

Class to hold statistics information about FramedTrafoAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatFramedTrafoAnimationDescription:

[legend]
Collaboration diagram for StatFramedTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about FramedTrafoAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: Member List

StatFramedTrafoAnimationDescription Member List

This is the complete list of members for StatFramedTrafoAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: StatFramedVertexAttributeAnimationDescription Class Reference

nvtraverser::StatFramedVertexAttributeAnimationDescription

StatFramedVertexAttributeAnimationDescription Class Reference

Class to hold statistics information about FramedVertexAttributeAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatFramedVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for StatFramedVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about FramedVertexAttributeAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:04 2012 for SceniX


SceniX: Member List

StatFramedVertexAttributeAnimationDescription Member List

This is the complete list of members for StatFramedVertexAttributeAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:04 2012 for SceniX


SceniX: StatFrustumCamera Class Reference

nvtraverser::StatFrustumCamera

StatFrustumCamera Class Reference

Class to hold statistics information about FrustumCamera objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatFrustumCamera:

[legend]
Collaboration diagram for StatFrustumCamera:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about FrustumCamera objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: Member List

StatFrustumCamera Member List

This is the complete list of members for StatFrustumCamera, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: StatGeoNode Class Reference

nvtraverser::StatGeoNode

StatGeoNode Class Reference

Class to hold statistics information about GeoNode objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatGeoNode:

[legend]
Collaboration diagram for StatGeoNode:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfStateSets
Counts the number of StateSet objects.

Detailed Description

Class to hold statistics information about GeoNode objects.

Member Data Documentation

unsigned int m_numberOfStateSets

Counts the number of StateSet objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: Member List

StatGeoNode Member List

This is the complete list of members for StatGeoNode, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfStateSets | StatGeoNode |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGeoNode() (defined in StatGeoNode) | StatGeoNode | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: StatGroup Class Reference

nvtraverser::StatGroup

StatGroup Class Reference

Class to hold statistics information about Group objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatGroup:

[legend]
Collaboration diagram for StatGroup:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfChildren
Counts the number of children.
std::map< unsigned int, unsigned
int > 		m_childrenHistogram
Counts the number of Group objects per number of children.

Detailed Description

Class to hold statistics information about Group objects.

Member Data Documentation

unsigned int m_numberOfChildren

Counts the number of children.

std::map<unsigned int,unsigned int> m_childrenHistogram

Counts the number of Group objects per number of children.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: Member List

StatGroup Member List

This is the complete list of members for StatGroup, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: StatIndexAnimation Class Reference

nvtraverser::StatIndexAnimation

StatIndexAnimation Class Reference

Class to hold statistics information about IndexAnimation objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatIndexAnimation:

[legend]
Collaboration diagram for StatIndexAnimation:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about IndexAnimation objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: Member List

StatIndexAnimation Member List

This is the complete list of members for StatIndexAnimation, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: StatIndexAnimationDescription Class Reference

nvtraverser::StatIndexAnimationDescription

StatIndexAnimationDescription Class Reference

Class to hold statistics information about IndexAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatIndexAnimationDescription:

[legend]
Collaboration diagram for StatIndexAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about IndexAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: Member List

StatIndexAnimationDescription Member List

This is the complete list of members for StatIndexAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: Statistics Class Reference

nvtraverser::Statistics

Statistics Class Reference

Class to hold statistics information about all objects. More...

#include <StatisticsTraverser.h>

Collaboration diagram for Statistics:

[legend]
List of all members.

Public Attributes

StatAlphaTestAttribute m_statAlphaTestAttribute
Statistics for AlphaTestAttribute objects.
StatAnimatedTransform m_statAnimatedTransform
Statistics for AnimatedTransform objects.
StatAnimatedVertexAttributeSet m_statAnimatedVertexAttributeSet
Statistics for AnimatedVertexAttributeSet objects.
StatBillboard m_statBillboard
Statistics for Billboard objects.
StatBlendAttribute m_statBlendAttribute
Statistics for BlendAttribute objects.
StatCgFx m_statCgFx
Statistics for CgFx objects.
StatDepthAttribute m_statDepthAttribute
Statistics for DepthAttribute objects.
StatDirectedLight m_statDirectedLight
Statistics for DirectedLight objects.
StatFaceAttribute m_statFaceAttribute
Statistics for FaceAttribute objects.
StatFlipbookAnimation m_statFlipbookAnimation
Statistics for FlipbookAnimation objects.
StatFramedIndexAnimationDescription m_statFramedIndexAnimationDescription
Statistics for FramedIndexAnimationDescription objects.
StatFramedTrafoAnimationDescription m_statFramedTrafoAnimationDescription
Statistics for FramedTrafoAnimationDescription objects.
StatFramedVertexAttributeAnimationDescription m_statFramedVertexAttributeAnimationDescription
Statistics for FramedVertexAttributeAnimationDesription objects.
StatGeoNode m_statGeoNode
Statistics for GeoNode objects.
StatGroup m_statGroup
Statistics for Group objects.
StatIndexAnimation m_statIndexAnimation
Statistics for IndexAnimation objects.
StatLightingAttribute m_statLightingAttribute
Statistics for LightingAttribute objects.
StatLinearInterpolatedTrafoAnimationDescription m_statLinearInterpolatedTrafoAnimationDescription
Statistics for LinearInterpolatedTrafoAnimationDescription objects.
StatLinearInterpolatedVertexAttributeAnimationDescription m_statLinearInterpolatedVertexAttributeAnimationDescription
Statistics for LinearInterpolatedVertexAttributeAnimationDescription objects.
StatLineAttribute m_statLineAttribute
Statistics for LineAttribute objects.
StatLines m_statLines
Statistics for Lines objects.
StatLineStrips m_statLineStrips
Statistics for LineStrips objects.
StatLOD m_statLOD
Statistics for LOD objects.
StatMapArray m_statMapArray
Statistics for MapArray objects.
StatMapElement m_statMapElement
Statistics for MapElement objects.
StatMapList m_statMapList
Statistics for MapList objects.
StatMapMatrix m_statMapMatrix
Statistics for MapMatrix objects.
StatMaterial m_statMaterial
Statistics for Material objects.
StatMatrixCamera m_statMatrixCamera
Statistics for MatrixCamera objects.
StatParallelCamera m_statParallelCamera
Statistics for ParallelCamera objects.
StatPatches m_statPatches
Statistics for Patches objects.
StatPerspectiveCamera m_statPerspectiveCamera
Statistics for PerspectiveCamera objects.
StatPointAttribute m_statPointAttribute
Statistics for PointAttribute objects.
StatPointLight m_statPointLight
Statistics for PointLight objects.
StatPoints m_statPoints
Statistics for Points objects.
StatPrimitive m_statPrimitives
Statistics for Primitives objects.
StatQuadMeshes m_statQuadMeshes
Statistics for QuadMeshes objects.
StatQuadPatches m_statQuadPatches
Statistics for QuadPatches objects.
StatQuadPatches4x4 m_statQuadPatches4x4
Statistics for QuadPatches4x4 objects.
StatQuads m_statQuads
Statistics for Quads objects.
StatQuadStrips m_statQuadStrips
Statistics for QuadStrips objects.
StatRectPatches m_statRectPatches
Statistics for RectPatches objects.
StatRTFx m_statRTFx
Statistics for RTFx objects.
StatRTFxProgram m_statRTFxProgram
Statistics for RTFxProgram objects.
StatSpotLight m_statSpotLight
Statistics for SpotLight objects.
StatShape m_statShape
Statistics for Shape objects.
StatSkin m_statSkin
Statistics for Skin objects.
StatStatePass m_statStatePass
Statistics for StatePass objects.
StatStateSet m_statStateSet
Statistics for StateSet objects.
StatStateVariant m_statStateVariant
Statistics for StateVariant objects.
StatSwitch m_statSwitch
Statistics for Switch objects.
StatTexture m_statTexture
Statistics for Texture objects.
StatTextureAttribute m_statTextureAttribute
Statistics for TextureAttribute objects.
StatTextureAttributeItem m_statTextureAttributeItem
Statistics for TextureAttributeItem objects.
StatTrafoAnimation m_statTrafoAnimation
Statistics for TrafoAnimation objects.
StatTransform m_statTransform
Statistics for Transform objects.
StatTriangles m_statTriangles
Statistics for Triangles objects.
StatTriFans m_statTriFans
Statistics for TriFans objects.
StatTriPatches m_statTriPatches
Statistics for TriPatches objects.
StatTriPatches4 m_statTriPatches4
Statistics for TriPatches4 objects.
StatTriStrips m_statTriStrips
Statistics for TriStrips objects.
StatVertexAttributeAnimation m_statVertexAttributeAnimation
Statistics for VertexAttributeAnimation objects.
StatVertexAttributeSet m_statVertexAttributeSet
Statistics for VertexAttributeSet objects.

Detailed Description

Class to hold statistics information about all objects.

Member Data Documentation

StatAlphaTestAttribute m_statAlphaTestAttribute

Statistics for AlphaTestAttribute objects.

StatAnimatedTransform m_statAnimatedTransform

Statistics for AnimatedTransform objects.

StatAnimatedVertexAttributeSet m_statAnimatedVertexAttributeSet

Statistics for AnimatedVertexAttributeSet objects.

StatBillboard m_statBillboard

Statistics for Billboard objects.

StatBlendAttribute m_statBlendAttribute

Statistics for BlendAttribute objects.

StatCgFx m_statCgFx

Statistics for CgFx objects.

StatDepthAttribute m_statDepthAttribute

Statistics for DepthAttribute objects.

StatDirectedLight m_statDirectedLight

Statistics for DirectedLight objects.

StatFaceAttribute m_statFaceAttribute

Statistics for FaceAttribute objects.

StatFlipbookAnimation m_statFlipbookAnimation

Statistics for FlipbookAnimation objects.

StatFramedIndexAnimationDescription m_statFramedIndexAnimationDescription

Statistics for FramedIndexAnimationDescription objects.

StatFramedTrafoAnimationDescription m_statFramedTrafoAnimationDescription

Statistics for FramedTrafoAnimationDescription objects.

StatFramedVertexAttributeAnimationDescription m_statFramedVertexAttributeAnimationDescription

Statistics for FramedVertexAttributeAnimationDesription objects.

StatGeoNode m_statGeoNode

Statistics for GeoNode objects.

StatGroup m_statGroup

Statistics for Group objects.

StatIndexAnimation m_statIndexAnimation

Statistics for IndexAnimation objects.

StatLightingAttribute m_statLightingAttribute

Statistics for LightingAttribute objects.

StatLinearInterpolatedTrafoAnimationDescription m_statLinearInterpolatedTrafoAnimationDescription

Statistics for LinearInterpolatedTrafoAnimationDescription objects.

StatLinearInterpolatedVertexAttributeAnimationDescription m_statLinearInterpolatedVertexAttributeAnimationDescription

Statistics for LinearInterpolatedVertexAttributeAnimationDescription objects.

StatLineAttribute m_statLineAttribute

Statistics for LineAttribute objects.

StatLines m_statLines

Statistics for Lines objects.

StatLineStrips m_statLineStrips

Statistics for LineStrips objects.

StatLOD m_statLOD

Statistics for LOD objects.

StatMapArray m_statMapArray

Statistics for MapArray objects.

StatMapElement m_statMapElement

Statistics for MapElement objects.

StatMapList m_statMapList

Statistics for MapList objects.

StatMapMatrix m_statMapMatrix

Statistics for MapMatrix objects.

StatMaterial m_statMaterial

Statistics for Material objects.

StatMatrixCamera m_statMatrixCamera

Statistics for MatrixCamera objects.

StatParallelCamera m_statParallelCamera

Statistics for ParallelCamera objects.

StatPatches m_statPatches

Statistics for Patches objects.

StatPerspectiveCamera m_statPerspectiveCamera

Statistics for PerspectiveCamera objects.

StatPointAttribute m_statPointAttribute

Statistics for PointAttribute objects.

StatPointLight m_statPointLight

Statistics for PointLight objects.

StatPoints m_statPoints

Statistics for Points objects.

StatPrimitive m_statPrimitives

Statistics for Primitives objects.

StatQuadMeshes m_statQuadMeshes

Statistics for QuadMeshes objects.

StatQuadPatches m_statQuadPatches

Statistics for QuadPatches objects.

StatQuadPatches4x4 m_statQuadPatches4x4

Statistics for QuadPatches4x4 objects.

StatQuads m_statQuads

Statistics for Quads objects.

StatQuadStrips m_statQuadStrips

Statistics for QuadStrips objects.

StatRectPatches m_statRectPatches

Statistics for RectPatches objects.

StatRTFx m_statRTFx

Statistics for RTFx objects.

StatRTFxProgram m_statRTFxProgram

Statistics for RTFxProgram objects.

StatSpotLight m_statSpotLight

Statistics for SpotLight objects.

StatShape m_statShape

Statistics for Shape objects.

StatSkin m_statSkin

Statistics for Skin objects.

StatStatePass m_statStatePass

Statistics for StatePass objects.

StatStateSet m_statStateSet

Statistics for StateSet objects.

StatStateVariant m_statStateVariant

Statistics for StateVariant objects.

StatSwitch m_statSwitch

Statistics for Switch objects.

StatTexture m_statTexture

Statistics for Texture objects.

StatTextureAttribute m_statTextureAttribute

Statistics for TextureAttribute objects.

StatTextureAttributeItem m_statTextureAttributeItem

Statistics for TextureAttributeItem objects.

StatTrafoAnimation m_statTrafoAnimation

Statistics for TrafoAnimation objects.

StatTransform m_statTransform

Statistics for Transform objects.

StatTriangles m_statTriangles

Statistics for Triangles objects.

StatTriFans m_statTriFans

Statistics for TriFans objects.

StatTriPatches m_statTriPatches

Statistics for TriPatches objects.

StatTriPatches4 m_statTriPatches4

Statistics for TriPatches4 objects.

StatTriStrips m_statTriStrips

Statistics for TriStrips objects.

StatVertexAttributeAnimation m_statVertexAttributeAnimation

Statistics for VertexAttributeAnimation objects.

StatVertexAttributeSet m_statVertexAttributeSet

Statistics for VertexAttributeSet objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:14 2012 for SceniX


SceniX: Member List

Statistics Member List

This is the complete list of members for Statistics, including all inherited members.

m_statAlphaTestAttribute | Statistics
m_statAnimatedTransform | Statistics
m_statAnimatedVertexAttributeSet | Statistics
m_statBillboard | Statistics
m_statBlendAttribute | Statistics
m_statCgFx | Statistics
m_statDepthAttribute | Statistics
m_statDirectedLight | Statistics
m_statFaceAttribute | Statistics
m_statFlipbookAnimation | Statistics
m_statFramedIndexAnimationDescription | Statistics
m_statFramedTrafoAnimationDescription | Statistics
m_statFramedVertexAttributeAnimationDescription | Statistics
m_statGeoNode | Statistics
m_statGroup | Statistics
m_statIndexAnimation | Statistics
m_statLightingAttribute | Statistics
m_statLinearInterpolatedTrafoAnimationDescription | Statistics
m_statLinearInterpolatedVertexAttributeAnimationDescription | Statistics
m_statLineAttribute | Statistics
m_statLines | Statistics
m_statLineStrips | Statistics
m_statLOD | Statistics
m_statMapArray | Statistics
m_statMapElement | Statistics
m_statMapList | Statistics
m_statMapMatrix | Statistics
m_statMaterial | Statistics
m_statMatrixCamera | Statistics
m_statParallelCamera | Statistics
m_statPatches | Statistics
m_statPerspectiveCamera | Statistics
m_statPointAttribute | Statistics
m_statPointLight | Statistics
m_statPoints | Statistics
m_statPrimitives | Statistics
m_statQuadMeshes | Statistics
m_statQuadPatches | Statistics
m_statQuadPatches4x4 | Statistics
m_statQuads | Statistics
m_statQuadStrips | Statistics
m_statRectPatches | Statistics
m_statRTFx | Statistics
m_statRTFxProgram | Statistics
m_statShape | Statistics
m_statSkin | Statistics
m_statSpotLight | Statistics
m_statStatePass | Statistics
m_statStateSet | Statistics
m_statStateVariant | Statistics
m_statSwitch | Statistics
m_statTexture | Statistics
m_statTextureAttribute | Statistics
m_statTextureAttributeItem | Statistics
m_statTrafoAnimation | Statistics
m_statTransform | Statistics
m_statTriangles | Statistics
m_statTriFans | Statistics
m_statTriPatches | Statistics
m_statTriPatches4 | Statistics
m_statTriStrips | Statistics
m_statVertexAttributeAnimation | Statistics
m_statVertexAttributeSet | Statistics

Generated on Fri Jul 13 13:31:14 2012 for SceniX


SceniX: StatisticsBase Class Reference

nvtraverser::StatisticsBase

StatisticsBase Class Reference

Base class of all statistics classes. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatisticsBase:

[legend]
List of all members.

Public Member Functions

bool | firstEncounter (const void *p)
Checks if an object is encountered for the first time in the current traversal.

Public Attributes

unsigned int | m_count
Counts the number of occurences of objects of a specific type.
std::set< const void * > | m_objects
A set of pointers to hold all objects already encountered.
unsigned int | m_referenced
Counts the number of references of objects of a specific type.

Detailed Description

Base class of all statistics classes.

Member Function Documentation

bool firstEncounter ( const void * p )

Checks if an object is encountered for the first time in the current traversal.

Parameters:
p The pointer to the object.
Returns:
true, if this object has not been encountered before in the current traversal, otherwise false.

Member Data Documentation

unsigned int m_count

Counts the number of occurences of objects of a specific type.

std::set<const void *> m_objects

A set of pointers to hold all objects already encountered.

unsigned int m_referenced

Counts the number of references of objects of a specific type.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: Member List

StatisticsBase Member List

This is the complete list of members for StatisticsBase, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: StatisticsTraverser Class Reference

nvtraverser::StatisticsTraverser

StatisticsTraverser Class Reference

Traverser to record some statistics of a scene. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatisticsTraverser:

[legend]
Collaboration diagram for StatisticsTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | StatisticsTraverser (void)
Constructor.
NVSG_API const Statistics * | getStatistics (void) const
Get a constant pointer to the statistics results.
NVSG_API void | statCamera (const nvsg::Camera *p, StatCamera &stats)
Record statistics of a Camera.
NVSG_API void | statDrawable (const nvsg::Drawable *p, StatDrawable &stats)
Record statistics of a Drawable.
NVSG_API void | statFrustumCamera (const nvsg::FrustumCamera *p, StatFrustumCamera &stats)
Record statistics of a FrustumCamera.
NVSG_API void | statGroup (const nvsg::Group *p, StatGroup &stats)
Record statistics of a Group.
NVSG_API void | statLightSource (const nvsg::LightSource *p, StatLightSource &stats)
Record statistics of a LightSource.
NVSG_API void | statMeshedPrimitiveSet (const nvsg::MeshedPrimitiveSet *p, StatMeshedPrimitiveSet &stats)
Record statistics of a MeshedPrimitiveSet.
NVSG_API void | statNode (const nvsg::Node *p, StatNode &stats)
Record statistics of a Node.
NVSG_API void | statObject (const nvsg::Object *p, StatObject &stats)
Record statistics of an Object.
NVSG_API void | statPatchesBase (const nvsg::PatchesBase *p, StatPatchesBase &stats)
Record statistics of a PatchesBase.
NVSG_API void | statPrimitiveSet (const nvsg::PrimitiveSet *p, StatPrimitiveSet &stats)
Record statistics of a PrimitiveSet.
NVSG_API void | statPrimitive (const nvsg::Primitive *p, StatPrimitive &stats)
Record statistics of a Primitive.
NVSG_API void | statQuads (const nvsg::Quads *p, StatQuads &stats)
Record statistics of a Quads.
NVSG_API void | statStateAttribute (const nvsg::StateAttribute *p, StatStateAttribute &stats)
Record statistics of a StateAttribute.
NVSG_API void | statStrippedPrimitiveSet (const nvsg::StrippedPrimitiveSet *p, StatStrippedPrimitiveSet &stats)
Record statistics of a StrippedPrimitiveSet.
NVSG_API void | statTransform (const nvsg::Transform *p, StatTransform &stats)
Record statistics of a Transform.
NVSG_API void | statTriangles (const nvsg::Triangles *p, StatTriangles &stats)
Record statistics of a Triangles.
NVSG_API void | statVertexAttributeSet (const nvsg::VertexAttributeSet *p, StatVertexAttributeSet &stats)
Record statistics of a VertexAttributeSet.
NVSG_API void | statSkin (const nvsg::Skin *p, StatSkin &stats)
Record statistics of a Skin object.
NVSG_API void | statMapObject (const nvsg::MapObject *p, StatMapObject &stats)
Record statistics of a MapObject object.
NVSG_API void | statAnimationState (const nvsg::AnimationState *p, StatAnimationState &stats)
Record statistics of an AnimationState object.
NVSG_API void | statIndexAnimationDescription (const nvsg::AnimationDescription< unsigned int > *p, StatIndexAnimationDescription &stats)
Record statistics of an IndexAnimationDescription object.
NVSG_API void | statTrafoAnimationDescription (const nvsg::AnimationDescription< nvmath::Trafo > *p, StatTrafoAnimationDescription &stats)
Record statistics of an TrafoAnimationDescription object.
NVSG_API void | statVertexAttributeAnimationDescription (const nvsg::AnimationDescription< nvsg::VertexAttribute > *p, StatVertexAttributeAnimationDescription &stats)
Record statistics of an VertexAttributeAnimationDescription object.

Protected Member Functions

virtual NVSG_API | ~StatisticsTraverser (void)
Destructor.
virtual NVSG_API void | handleAnimatedTransform (const nvsg::AnimatedTransform *p)
Handle an AnimatedTransform object.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *avas)
Handler function for an AnimatedVertexAttributeSet.
virtual NVSG_API void | handleBillboard (const nvsg::Billboard *p)
Handle a Billboard object.
virtual NVSG_API void | handleBlendAttribute (const nvsg::BlendAttribute *p)
Handle a BlendAttribute object.
virtual NVSG_API void | handleCgFx (const nvsg::CgFx *p)
Handle a CgFX object.
virtual NVSG_API void | handleDepthAttribute (const nvsg::DepthAttribute *p)
Handle a DepthAttribute object.
virtual NVSG_API void | handleDirectedLight (const nvsg::DirectedLight *p)
Handle a DírectedLight object.
virtual NVSG_API void | handleFaceAttribute (const nvsg::FaceAttribute *p)
Handle a FaceAttribute object.
virtual NVSG_API void | handleFlipbookAnimation (const nvsg::FlipbookAnimation *p)
Handle a FlipbookAnimation object.
virtual NVSG_API void | handleGeoNode (const nvsg::GeoNode *p)
Handle a GeoNode object.
virtual NVSG_API void | handleGroup (const nvsg::Group *p)
Handle a Group object.
virtual NVSG_API void | handleLineAttribute (const nvsg::LineAttribute *p)
Handle a LineAttribute object.
virtual NVSG_API void | handleLines (const nvsg::Lines *p)
Handle a Lines object.
virtual NVSG_API void | handleLineStrips (const nvsg::LineStrips *p)
Handle a LineStrips object.
virtual NVSG_API void | handleLOD (const nvsg::LOD *p)
Handle a LOD object.
virtual NVSG_API void | handleMaterial (const nvsg::Material *p)
Handle a Material object.
virtual NVSG_API void | handleMatrixCamera (const nvsg::MatrixCamera *p)
Handle a MatrixCamera object.
virtual NVSG_API void | handleParallelCamera (const nvsg::ParallelCamera *p)
Handle a ParallelCamera object.
virtual NVSG_API void | handlePerspectiveCamera (const nvsg::PerspectiveCamera *p)
Handle a PerspectiveCamera object.
virtual NVSG_API void | handlePointAttribute (const nvsg::PointAttribute *p)
Handle a PointAttribute object.
virtual NVSG_API void | handlePointLight (const nvsg::PointLight *p)
Handle a PointLight object.
virtual NVSG_API void | handlePoints (const nvsg::Points *p)
Handle a Points object.
virtual NVSG_API void | handlePrimitive (const nvsg::Primitive *p)
Handle a Primitive object.
virtual NVSG_API void | handleQuadMeshes (const nvsg::QuadMeshes *p)
Handle a QuadMeshes object.
virtual NVSG_API void | handleQuadPatches (const nvsg::QuadPatches *p)
Handle a QuadPatches object.
virtual NVSG_API void | handleQuadPatches4x4 (const nvsg::QuadPatches4x4 *p)
Handle a QuadPatches4x4 object.
virtual NVSG_API void | handleQuads (const nvsg::Quads *p)
Handle a Quads object.
virtual NVSG_API void | handleQuadStrips (const nvsg::QuadStrips *p)
Handle a QuadStrips object.
virtual NVSG_API void | handleRectPatches (const nvsg::RectPatches *p)
Handle a RectPatches object.
virtual NVSG_API void | handleRTFx (const nvsg::RTFx *p)
Handle an RTFx object.
virtual NVSG_API void | handleRTFxProgram (const nvsg::RTFxProgram *p)
Handle an RTFxProgram object.
virtual NVSG_API void | handleSkin (const nvsg::Skin *p)
Handle a Skin object.
virtual NVSG_API void | handleSpotLight (const nvsg::SpotLight *p)
Handle a SpotLight object.
virtual NVSG_API void | handleStateSet (const nvsg::StateSet *p)
Handle a StateSet object.
virtual NVSG_API void | handleSwitch (const nvsg::Switch *p)
Handle a Switch object.
virtual NVSG_API void | handleTextureAttribute (const nvsg::TextureAttribute *p)
Handle a TextureAttribute object.
virtual NVSG_API void | handleTransform (const nvsg::Transform *p)
Handle a Transform object.
virtual NVSG_API void | handleTriangles (const nvsg::Triangles *p)
Handle a Triangles object.
virtual NVSG_API void | handleTriFans (const nvsg::TriFans *p)
Handle a TriFans object.
virtual NVSG_API void | handleTriPatches (const nvsg::TriPatches *p)
Handle a TriPatches object.
virtual NVSG_API void | handleTriPatches4 (const nvsg::TriPatches4 *p)
Handle a TriPatches4 object.
virtual NVSG_API void | handleTriStrips (const nvsg::TriStrips *p)
Handle a TriStrips object.
virtual NVSG_API void | handleVertexAttributeSet (const nvsg::VertexAttributeSet *vas)
Handler function for a VertexAttributeSet.
virtual NVSG_API void | handleShape (const nvsg::Shape *shape)
Handler function for a Shape.
virtual NVSG_API void | handleStateVariant (const nvsg::StateVariant *variant)
Handler function for a StateVariant.
virtual NVSG_API void | handleStatePass (const nvsg::StatePass *pass)
Handler function for a StatePass.
virtual NVSG_API void | handleTextureAttributeItem (const nvsg::TextureAttributeItem *texAttribItem)
Handler function for a TextureAttributeItem.
virtual NVSG_API void | handleAlphaTestAttribute (const nvsg::AlphaTestAttribute *alphaTestAttrib)
Handler function for a AlphaTestAttribute.
virtual NVSG_API void | handleLightingAttribute (const nvsg::LightingAttribute *laAttrib)
Handler function for a LightingAttribute.
virtual NVSG_API void | handleMapArray (const nvsg::MapArray *mapArray)
Handler function for a MapArray.
virtual NVSG_API void | handleMapElement (const nvsg::MapElement *mapElement)
Handler function for a MapElement.
virtual NVSG_API void | handleMapMatrix (const nvsg::MapMatrix *mapMatrix)
Handler function for a MapMatrix.
virtual NVSG_API void | handleMapList (const nvsg::MapList *mapList)
Handler function for a MapList.
virtual NVSG_API void | handleIndexAnimation (const nvsg::Animation< unsigned int > *anim)
Handle function for an Animation of indices.
virtual NVSG_API void | handleTrafoAnimation (const nvsg::Animation< nvmath::Trafo > *anim)
Handle function for an Animation of Trafos.
virtual NVSG_API void | handleVertexAttributeAnimation (const nvsg::Animation< nvsg::VertexAttribute > *anim)
Handle function for an Animation of VertexAttributes.
virtual NVSG_API void | handleFramedIndexAnimationDescription (const nvsg::FramedAnimationDescription< unsigned int > *anim)
Handler function for a FramedAnimationDescription<unsigned int>.
virtual NVSG_API void | handleFramedTrafoAnimationDescription (const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo)
Handler function for a FramedAnimationDescription<nvmath::Trafo>.
virtual NVSG_API void | handleFramedVertexAttributeAnimationDescription (const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p)
Handler function for a FramedAnimationDescription<VertexAttribute>.
virtual NVSG_API void | handleLinearInterpolatedTrafoAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo)
Handler function for a LinearInterpolatedAnimationDescription<nvmath::Trafo>.
virtual NVSG_API void | handleLinearInterpolatedVertexAttributeAnimationDescription (const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p)
Handler function for a LinearInterpolatedAnimationDescription<VertexAttribute>.

Detailed Description

Traverser to record some statistics of a scene.

Constructor & Destructor Documentation

NVSG_API StatisticsTraverser ( void )

Constructor.

virtual NVSG_API ~StatisticsTraverser ( void ) [protected, virtual]

Destructor.

Member Function Documentation

const Statistics * getStatistics ( void ) const [inline]

Get a constant pointer to the statistics results.

NVSG_API void statCamera | ( | const nvsg::Camera * | p,
 |  | StatCamera & | stats
 | ) |

Record statistics of a Camera.

Just records the statistics of an Object object.

NVSG_API void statDrawable | ( | const nvsg::Drawable * | p,
 |  | StatDrawable & | stats
 | ) |

Record statistics of a Drawable.

Just records the statistics of an Object object.

NVSG_API void statFrustumCamera | ( | const nvsg::FrustumCamera * | p,
 |  | StatFrustumCamera & | stats
 | ) |

Record statistics of a FrustumCamera.

Just records the statistics of an Object object.

NVSG_API void statGroup | ( | const nvsg::Group * | p,
 |  | StatGroup & | stats
 | ) |

Record statistics of a Group.

Records the number of children and traverses them. Then the statistics of a Node are recorded.

NVSG_API void statLightSource | ( | const nvsg::LightSource * | p,
 |  | StatLightSource & | stats
 | ) |

Record statistics of a LightSource.

Just records the statistics of a Node.

NVSG_API void statMeshedPrimitiveSet | ( | const nvsg::MeshedPrimitiveSet * | p,
 |  | StatMeshedPrimitiveSet & | stats
 | ) |

Record statistics of a MeshedPrimitiveSet.

Remarks:
Records the number of meshes and the statistics of a PrimitiveSet.

NVSG_API void statNode | ( | const nvsg::Node * | p,
 |  | StatNode & | stats
 | ) |

Record statistics of a Node.

Just records the statistics of an Object.

NVSG_API void statObject | ( | const nvsg::Object * | p,
 |  | StatObject & | stats
 | ) |

Record statistics of an Object.

Does nothing.

NVSG_API void statPatchesBase | ( | const nvsg::PatchesBase * | p,
 |  | StatPatchesBase & | stats
 | ) |

Record statistics of a PatchesBase.

Records the total number of patches. Then the statistics of a PrimitiveSet are recorded.

NVSG_API void statPrimitiveSet | ( | const nvsg::PrimitiveSet * | p,
 |  | StatPrimitiveSet & | stats
 | ) |

Record statistics of a PrimitiveSet.

Records the statistics of the VertexAttributeSet. Then the statistics of a Drawable are recorded.

NVSG_API void statPrimitive | ( | const nvsg::Primitive * | p,
 |  | StatPrimitive & | stats
 | ) |

Record statistics of a Primitive.

Records the statistics of the VertexAttributeSet. Then the statistics of a Drawable are recorded.

NVSG_API void statQuads | ( | const nvsg::Quads * | p,
 |  | StatQuads & | stats
 | ) |

Record statistics of a Quads.

Records the total number of faces. Then the statistics of a PrimitiveSet are recorded.

NVSG_API void statStateAttribute | ( | const nvsg::StateAttribute * | p,
 |  | StatStateAttribute & | stats
 | ) |

Record statistics of a StateAttribute.

Just records the statistics of an Object.

NVSG_API void statStrippedPrimitiveSet | ( | const nvsg::StrippedPrimitiveSet * | p,
 |  | StatStrippedPrimitiveSet & | stats
 | ) |

Record statistics of a StrippedPrimitiveSet.

Remarks:
Records the number of strips and the statistics of a PrimitiveSet.

NVSG_API void statTransform | ( | const nvsg::Transform * | p,
 |  | StatTransform & | stats
 | ) |

Record statistics of a Transform.

Just records the statistics of a Group.

NVSG_API void statTriangles | ( | const nvsg::Triangles * | p,
 |  | StatTriangles & | stats
 | ) |

Record statistics of a Triangles.

Records the total number of faces. Then the statistics of a PrimitiveSet are recorded.

NVSG_API void statVertexAttributeSet | ( | const nvsg::VertexAttributeSet * | p,
 |  | StatVertexAttributeSet & | stats
 | ) |

Record statistics of a VertexAttributeSet.

Records the number of vertices, the number of PrimitiveSet objects with normals, the number of normals, the number of textured PrimitiveSet objects, the number of used texture units, the total dimension of the textures, the total number of texture coordinates, the number of colored PrimitiveSet object, the total number of colors, the number of secondary colored PrimitiveSet objects, the total number of secondary colors, the number of fogged PrimitiveSet objects, and the total number of fog coordinates. Then the statistics of an Object are recorded.

NVSG_API void statSkin | ( | const nvsg::Skin * | p,
 |  | StatSkin & | stats
 | ) |

Record statistics of a Skin object.

Remarks:
Records the number of indices, influences, and joints, and the statistics of as an Object.

NVSG_API void statMapObject | ( | const nvsg::MapObject * | p,
 |  | StatMapObject & | stats
 | ) |

Record statistics of a MapObject object.

Remarks:
Just records the statistics as an Object.

NVSG_API void statAnimationState | ( | const nvsg::AnimationState * | p,
 |  | StatAnimationState & | stats
 | ) |

Record statistics of an AnimationState object.

Remarks:
Just records the statistics as an Object.

NVSG_API void statIndexAnimationDescription | ( | const nvsg::AnimationDescription< unsigned int > * | p,
 |  | StatIndexAnimationDescription & | stats
 | ) |

Record statistics of an IndexAnimationDescription object.

Remarks:
Just records the statistics as an Object.

NVSG_API void statTrafoAnimationDescription | ( | const nvsg::AnimationDescription< nvmath::Trafo > * | p,
 |  | StatTrafoAnimationDescription & | stats
 | ) |

Record statistics of an TrafoAnimationDescription object.

Remarks:
Just records the statistics as an Object.

NVSG_API void statVertexAttributeAnimationDescription | ( | const nvsg::AnimationDescription< nvsg::VertexAttribute > * | p,
 |  | StatVertexAttributeAnimationDescription & | stats
 | ) |

Record statistics of an VertexAttributeAnimationDescription object.

Remarks:
Just records the statistics as an Object.

virtual NVSG_API void handleAnimatedTransform ( const nvsg::AnimatedTransform * p ) [protected, virtual]

Handle an AnimatedTransform object.

The number of AnimatedTransform objects and the total number of animation keys are count. Usually the number of animation keys should be equal on each AnimatedTransform. Then the statistics of a Transform are recorded.

Parameters:
p AnimatedTransform to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( const nvsg::AnimatedVertexAttributeSet * avas ) [protected, virtual]

Handler function for an AnimatedVertexAttributeSet.

Parameters:
avas A pointer to the read-locked AnimatedVertexAttributeSet being traversed.
Remarks:
This function is called from the framework whenever an AnimatedVertexAttributeSet is encountered on traversal. The AnimatedVertexAttributeSet avas is already read-locked.
The base implementation traverses each VertexAttributeAnimation of avas and holds the index of the currently traversed VertexAttributeAnimation in the protected member variable m_currentAttrib.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleBillboard ( const nvsg::Billboard * p ) [protected, virtual]

Handle a Billboard object.

The number of Billboard objects are count. Then the statistics of a Group is recorded.

Parameters:
p Billboard to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleBlendAttribute ( const nvsg::BlendAttribute * p ) [protected, virtual]

Handle a BlendAttribute object.

The number of BlendAttribute objects are count. Then the statistics of a StateAttribute are recorded.

Parameters:
p BlendAttribute to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleCgFx ( const nvsg::CgFx * p ) [protected, virtual]

Handle a CgFX object.

The number of CgFx objects and the total number of techniques and passes is count. Then the statistics of a StateAttribute is recorded.

Parameters:
p CgFx to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleDepthAttribute ( const nvsg::DepthAttribute * p ) [protected, virtual]

Handle a DepthAttribute object.

The number of DepthAttribute objects are count. Then the statistics of a StateAttribute are recorded.

Parameters:
p DepthAttribute to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleDirectedLight ( const nvsg::DirectedLight * p ) [protected, virtual]

Handle a DírectedLight object.

Parameters:
p DirectedLight to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFaceAttribute ( const nvsg::FaceAttribute * p ) [protected, virtual]

Handle a FaceAttribute object.

The number of FaceAttribute objects and the number of FaceAttributes with back face culling, lighting, line anti- aliasing, local viewer property, and two sided lighting are count. Then the statistics of a StateAttribute are recorded.

Parameters:
p FaceAttribute to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFlipbookAnimation ( const nvsg::FlipbookAnimation * p ) [protected, virtual]

Handle a FlipbookAnimation object.

The number of FlipbookAnimation objects and the total number of animation keys are count. Usually the number of animation keys should be equal on each FlipbookAnimation. Then the statistics of a Group are recorded.

Parameters:
p FlipbookAnimation to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGeoNode ( const nvsg::GeoNode * p ) [protected, virtual]

Handle a GeoNode object.

The number of GeoNode objects and the total number of geometries are count. After having traversed the geometries, the statistics of a Node is recorded.

Parameters:
p GeoNode to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleGroup ( const nvsg::Group * p ) [protected, virtual]

Handle a Group object.

The number of Group objects are count.

Parameters:
p Group to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineAttribute ( const nvsg::LineAttribute * p ) [protected, virtual]

Handle a LineAttribute object.

The number of LineAttribute objects is count. Then the statistics of a StateAttribute are recorded.

Parameters:
p LineAttribute to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLines ( const nvsg::Lines * p ) [protected, virtual]

Handle a Lines object.

The number of Lines objects and the total number of lines are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p Lines to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLineStrips ( const nvsg::LineStrips * p ) [protected, virtual]

Handle a LineStrips object.

The number of LineStrips objects and the total number of segments are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p LineStrips to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLOD ( const nvsg::LOD * p ) [protected, virtual]

Handle a LOD object.

The number of LOD objects is counted. Then the statistics of a Group is recorded.

Parameters:
p LOD to save

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMaterial ( const nvsg::Material * p ) [protected, virtual]

Handle a Material object.

The number of Material objects and the number of transparent materials are count. Then the statistics of a StateAttribute are recorded.

Parameters:
p Material to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMatrixCamera ( const nvsg::MatrixCamera * p ) [protected, virtual]

Handle a MatrixCamera object.

The number of MatrixCamera objects is counted. Then the statistics of a Camera is recoreded.

Parameters:
p MatrixCamera to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleParallelCamera ( const nvsg::ParallelCamera * p ) [protected, virtual]

Handle a ParallelCamera object.

The number of ParallelCamera objects is counted. Then the statistics of a Camera is recoreded.

Parameters:
p ParallelCamera to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePerspectiveCamera ( const nvsg::PerspectiveCamera * p ) [protected, virtual]

Handle a PerspectiveCamera object.

The number of PerspectiveCamera objects is counted. Then the statistics of a Camera is recoreded.

Parameters:
p PerspectiveCamera to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointAttribute ( const nvsg::PointAttribute * p ) [protected, virtual]

Handle a PointAttribute object.

The number of PointAttribute objects is count. Then the statistics of a StateAttribute are recorded.

Parameters:
p PointAttribute to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePointLight ( const nvsg::PointLight * p ) [protected, virtual]

Handle a PointLight object.

The number of PointLight objects and the number of attenuated PointLight objects are count. The the statistics of a LightSource is recorded.

Parameters:
p PointLight to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePoints ( const nvsg::Points * p ) [protected, virtual]

Handle a Points object.

The number of Points objects are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p Points to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handlePrimitive ( const nvsg::Primitive * p ) [protected, virtual]

Handle a Primitive object.

The number of Primitive objects are counted.

Parameters:
p Primitive to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadMeshes ( const nvsg::QuadMeshes * p ) [protected, virtual]

Handle a QuadMeshes object.

The number of QuadMeshes objects and the total number of faces are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p QuadMeshes to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadPatches ( const nvsg::QuadPatches * p ) [protected, virtual]

Handle a QuadPatches object.

The number of QuadPatches objects and the total number of patches are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p QuadPatches to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( const nvsg::QuadPatches4x4 * p ) [protected, virtual]

Handle a QuadPatches4x4 object.

The number of QuadPatches4x4 objects and the total number of patches are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p QuadPatches4x4 to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuads ( const nvsg::Quads * p ) [protected, virtual]

Handle a Quads object.

The number of Quads objects and the total number of faces are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p Quads to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleQuadStrips ( const nvsg::QuadStrips * p ) [protected, virtual]

Handle a QuadStrips object.

The number of QuadStrips objects and the total number of faces are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p QuadStrips to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRectPatches ( const nvsg::RectPatches * p ) [protected, virtual]

Handle a RectPatches object.

The number of RectPatches objects and the total number of patches are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p RectPatches to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRTFx ( const nvsg::RTFx * p ) [protected, virtual]

Handle an RTFx object.

Remarks:
The number of RTFx objects and the total number of parameters are count. Then the statistics of a StateAttribute are recorded.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleRTFxProgram ( const nvsg::RTFxProgram * p ) [protected, virtual]

Handle an RTFxProgram object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSkin ( const nvsg::Skin * p ) [protected, virtual]

Handle a Skin object.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSpotLight ( const nvsg::SpotLight * p ) [protected, virtual]

Handle a SpotLight object.

The number of SpotLight objects and the number of attenuated SpotLight objects are count. The the statistics of a LightSource is recorded.

Parameters:
p SpotLight to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateSet ( const nvsg::StateSet * p ) [protected, virtual]

Handle a StateSet object.

The number of StateSet objects, the total number of attributes, and the number of StateAttributes of type CgFx Material, TextureAttribute are count. After having traversed the attributes, the statistics of an Object are recorded.

Parameters:
p StateSet to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleSwitch ( const nvsg::Switch * p ) [protected, virtual]

Handle a Switch object.

The number of Switch objects is count. Then the statistics of a Group is recoreded.

Parameters:
p Switch to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttribute ( const nvsg::TextureAttribute * p ) [protected, virtual]

Handle a TextureAttribute object.

The number of TextureAttribute objects, the number of Texture objects, the total number of Images in these Textures, a histogram of width, height, depth, and size of these Textures and the total size of these Textures are count. Then the statistics of a StateAttribute is recorded.

Parameters:
p TextureAttribute to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTransform ( const nvsg::Transform * p ) [protected, virtual]

Handle a Transform object.

The number of Transform objects are count. Then the statistics of a Group is recorded.

Parameters:
p Transform to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriangles ( const nvsg::Triangles * p ) [protected, virtual]

Handle a Triangles object.

The number of Triangles objects and the total number of faces are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p Triangles to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriFans ( const nvsg::TriFans * p ) [protected, virtual]

Handle a TriFans object.

The number of TriFans objects and the total number of faces are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p TriFans to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriPatches ( const nvsg::TriPatches * p ) [protected, virtual]

Handle a TriPatches object.

The number of TriPatches objects and the total number of patches are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p TriPatches to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriPatches4 ( const nvsg::TriPatches4 * p ) [protected, virtual]

Handle a TriPatches4 object.

The number of TriPatches4 objects and the total number of patches are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p TriPatches4 to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTriStrips ( const nvsg::TriStrips * p ) [protected, virtual]

Handle a TriStrips object.

The number of TriStrips objects and the total number of faces are count. Then the statistics of a PrimitiveSet are recorded.

Parameters:
p TriStrips to handle

Reimplemented from SharedTraverser.

virtual NVSG_API void handleVertexAttributeSet ( const nvsg::VertexAttributeSet * vas ) [protected, virtual]

Handler function for a VertexAttributeSet.

Parameters:
vas A pointer to the read-locked VertexAttributeSet being traversed.
Remarks:
This function is called from the framework whenever a VertexAttributeSet is encountered on traversal. The VertexAttributeSet vas is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleShape ( const nvsg::Shape * shape ) [protected, virtual]

Handler function for a Shape.

Parameters:
shape A pointer to the read-locked Shape being traversed.
Remarks:
This function is called from the framework whenever a Shape is encountered on traversal. The Shape shape is already read-locked.
The base implementation just calls Traverser::traverseShape().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseShape

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStateVariant ( const nvsg::StateVariant * variant ) [protected, virtual]

Handler function for a StateVariant.

Parameters:
variant A pointer to the read-locked StateVariant being traversed.
Remarks:
This function is called from the framework whenever a StateVariant is encountered on traversal. The StateVariant variant is already read-locked.
The base implementation just call Traverser::traverseStateVariant().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStateVariant

Reimplemented from SharedTraverser.

virtual NVSG_API void handleStatePass ( const nvsg::StatePass * pass ) [protected, virtual]

Handler function for a StatePass.

Parameters:
pass A pointer to the read-locked StatePass being traversed.
Remarks:
This function is called from the framework whenever a StateSet is encountered on traversal. The StatePass pass is already read-locked.
The base implementation just call Traverser::traverseStatePass().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseStatePass

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTextureAttributeItem ( const nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Handler function for a TextureAttributeItem.

Parameters:
texAttribItem A pointer to the read-locked TextureAttributeItem being traversed.
Remarks:
This function is called from the framework whenever a TextureAttributeItem is encountered on traversal. The TextureAttributeItem texAttribItem is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
getCurrentTextureUnit

Reimplemented from SharedTraverser.

virtual NVSG_API void handleAlphaTestAttribute ( const nvsg::AlphaTestAttribute * alphaTestAttrib ) [protected, virtual]

Handler function for a AlphaTestAttribute.

Parameters:
alphaTestAttrib A pointer to the read-locked AlphaTestAttribute being traversed.
Remarks:
This function is called from the framework whenever a AlphaTestAttribute is encountered on traversal. The AlphaTestAttribute alphaTestAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLightingAttribute ( const nvsg::LightingAttribute * laAttrib ) [protected, virtual]

Handler function for a LightingAttribute.

Parameters:
laAttrib A pointer to the read-locked LightingAttribute being traversed.
Remarks:
This function is called from the framework whenever a LightingAttribute is encountered on traversal. The LightingAttribute laAttrib is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapArray ( const nvsg::MapArray * mapArray ) [protected, virtual]

Handler function for a MapArray.

Parameters:
mapArray A pointer to the read-locked MapArray being traversed.
Remarks:
This function is called from the framework whenever a MapArray is encountered on traversal. The MapArray mapArray is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapElement, handleMapMatrix

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapElement ( const nvsg::MapElement * mapElement ) [protected, virtual]

Handler function for a MapElement.

Parameters:
mapElement A pointer to the read-locked MapElement being traversed.
Remarks:
This function is called from the framework whenever a MapElement is encountered on traversal. The MapElement mapElement is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapArray, handleMapMatrix

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapMatrix ( const nvsg::MapMatrix * mapMatrix ) [protected, virtual]

Handler function for a MapMatrix.

Parameters:
mapMatrix A pointer to the read-locked MapMatrix being traversed.
Remarks:
This function is called from the framework whenever a MapMatrix is encountered on traversal. The MapMatrix mapMatrix is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
handleMapArray, handleMapElement

Reimplemented from SharedTraverser.

virtual NVSG_API void handleMapList ( const nvsg::MapList * mapList ) [protected, virtual]

Handler function for a MapList.

Parameters:
mapList A pointer to the read-locked MapList being traversed.
Remarks:
This function is called from the framework whenever a MapList is encountered on traversal. The MapList mapList is already read-locked.
The base implementation just calls Traverser::traverseMapList().
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.
See also:
traverseMapList

Reimplemented from SharedTraverser.

virtual NVSG_API void handleIndexAnimation ( const nvsg::Animation< unsigned int > * anim ) [protected, virtual]

Handle function for an Animation of indices.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of indices is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleTrafoAnimation ( const nvsg::Animation< nvmath::Trafo > * anim ) [protected, virtual]

Handle function for an Animation of Trafos.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of Trafos is encountered on traversal. The Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleVertexAttributeAnimation ( const nvsg::Animation< nvsg::VertexAttribute > * anim ) [protected, virtual]

Handle function for an Animation of VertexAttributes.

Parameters:
anim A pointer to the read-locked Animation being traversed.
Remarks:
This function is called from the framework whenever an Animation of VertexAttributes is encountered on traversal. Then Animation anim is already read-locked.
The base implementation just does nothing.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedIndexAnimationDescription ( const nvsg::FramedAnimationDescription< unsigned int > * anim ) [protected, virtual]

Handler function for a FramedAnimationDescription<unsigned int>.

Parameters:
anim A pointer to the read-locked FramedAnimationDescription<unsigned int> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<unsigned int> is encountered on traversal. The FramedAnimationDescription<unsigned int> anim is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedTrafoAnimationDescription ( const nvsg::FramedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Handler function for a FramedAnimationDescription<nvmath::Trafo>.

Parameters:
trafo A pointer to the read-locked FramedAnimationDescription<nvmath::Trafo> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<nvmath::Trafo> is encountered on traversal. The FramedAnimationDescription<nvmath::Trafo> trafo is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleFramedVertexAttributeAnimationDescription ( const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Handler function for a FramedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the read-locked FramedAnimationDescription<VertexAttribute> being traversed.
Remarks:
This function is called from the framework whenever a FramedAnimationDescription<VertexAttribute> is encountered on traversal. The FramedAnimationDescription<VertexAttribute> p is already read-locked.
The base implementation just does nothing
See also:
handleLinearInterpolatedVertexAttributeAnimationDescription

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLinearInterpolatedTrafoAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > * trafo ) [protected, virtual]

Handler function for a LinearInterpolatedAnimationDescription<nvmath::Trafo>.

Parameters:
trafo A pointer to the read-locked LinearInterpolatedAnimationDescription<nvmath::Trafo> being traversed.
Remarks:
This function is called from the framework whenever a LinearInterpolatedAnimationDescription<nvmath::Trafo> is encountered on traversal. The LinearInterpolatedAnimationDescription<nvmath::Trafo> trafo is already read-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from SharedTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from SharedTraverser.

virtual NVSG_API void handleLinearInterpolatedVertexAttributeAnimationDescription ( const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > * p ) [protected, virtual]

Handler function for a LinearInterpolatedAnimationDescription<VertexAttribute>.

Parameters:
p A pointer to the read-locked LinearInterpolatedAnimationDescription<VertexAttribute> being traversed.
Remarks:
This function is called from the framework whenever a LinearInterpolatedAnimationDescription<VertexAttribute> is encountered on traversal. The LinearInterpolatedAnimationDescription<VertexAttribute> p is already read-locked.
The base implementation just does nothing
See also:
handleFramedVertexAttributeAnimationDescription

Reimplemented from SharedTraverser.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:15 2012 for SceniX


SceniX: Member List

StatisticsTraverser Member List

This is the complete list of members for StatisticsTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *)) | SharedTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(const U *, V)) | SharedTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | SharedTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | SharedTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | SharedTraverser | [inline, protected, virtual]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getStatistics(void) const | StatisticsTraverser | [inline]
getTraversalMask() const | SharedTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(const nvsg::AlphaTestAttribute *alphaTestAttrib) | StatisticsTraverser | [protected, virtual]
handleAnimatedTransform(const nvsg::AnimatedTransform *p) | StatisticsTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) | StatisticsTraverser | [protected, virtual]
handleBillboard(const nvsg::Billboard *p) | StatisticsTraverser | [protected, virtual]
handleBlendAttribute(const nvsg::BlendAttribute *p) | StatisticsTraverser | [protected, virtual]
handleCgFx(const nvsg::CgFx *p) | StatisticsTraverser | [protected, virtual]
handleDepthAttribute(const nvsg::DepthAttribute *p) | StatisticsTraverser | [protected, virtual]
handleDirectedLight(const nvsg::DirectedLight *p) | StatisticsTraverser | [protected, virtual]
handleFaceAttribute(const nvsg::FaceAttribute *p) | StatisticsTraverser | [protected, virtual]
handleFlipbookAnimation(const nvsg::FlipbookAnimation *p) | StatisticsTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(const nvsg::FramedAnimationDescription< unsigned int > *anim) | StatisticsTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(const nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | StatisticsTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(const nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | StatisticsTraverser | [protected, virtual]
handleGeoNode(const nvsg::GeoNode *p) | StatisticsTraverser | [protected, virtual]
handleGroup(const nvsg::Group *p) | StatisticsTraverser | [protected, virtual]
handleIndexAnimation(const nvsg::Animation< unsigned int > *anim) | StatisticsTraverser | [protected, virtual]
handleLightingAttribute(const nvsg::LightingAttribute *laAttrib) | StatisticsTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | StatisticsTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(const nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | StatisticsTraverser | [protected, virtual]
handleLineAttribute(const nvsg::LineAttribute *p) | StatisticsTraverser | [protected, virtual]
handleLines(const nvsg::Lines *p) | StatisticsTraverser | [protected, virtual]
handleLineStrips(const nvsg::LineStrips *p) | StatisticsTraverser | [protected, virtual]
handleLOD(const nvsg::LOD *p) | StatisticsTraverser | [protected, virtual]
handleMapArray(const nvsg::MapArray *mapArray) | StatisticsTraverser | [protected, virtual]
handleMapElement(const nvsg::MapElement *mapElement) | StatisticsTraverser | [protected, virtual]
handleMapList(const nvsg::MapList *mapList) | StatisticsTraverser | [protected, virtual]
handleMapMatrix(const nvsg::MapMatrix *mapMatrix) | StatisticsTraverser | [protected, virtual]
handleMaterial(const nvsg::Material *p) | StatisticsTraverser | [protected, virtual]
handleMatrixCamera(const nvsg::MatrixCamera *p) | StatisticsTraverser | [protected, virtual]
handleParallelCamera(const nvsg::ParallelCamera *p) | StatisticsTraverser | [protected, virtual]
handlePerspectiveCamera(const nvsg::PerspectiveCamera *p) | StatisticsTraverser | [protected, virtual]
handlePointAttribute(const nvsg::PointAttribute *p) | StatisticsTraverser | [protected, virtual]
handlePointLight(const nvsg::PointLight *p) | StatisticsTraverser | [protected, virtual]
handlePoints(const nvsg::Points *p) | StatisticsTraverser | [protected, virtual]
handlePrimitive(const nvsg::Primitive *p) | StatisticsTraverser | [protected, virtual]
handleQuadMeshes(const nvsg::QuadMeshes *p) | StatisticsTraverser | [protected, virtual]
handleQuadPatches(const nvsg::QuadPatches *p) | StatisticsTraverser | [protected, virtual]
handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p) | StatisticsTraverser | [protected, virtual]
handleQuads(const nvsg::Quads *p) | StatisticsTraverser | [protected, virtual]
handleQuadStrips(const nvsg::QuadStrips *p) | StatisticsTraverser | [protected, virtual]
handleRectPatches(const nvsg::RectPatches *p) | StatisticsTraverser | [protected, virtual]
handleRTBufferAttribute(const nvsg::RTBufferAttribute *rtba) | SharedTraverser | [protected, virtual]
handleRTFx(const nvsg::RTFx *p) | StatisticsTraverser | [protected, virtual]
handleRTFxProgram(const nvsg::RTFxProgram *p) | StatisticsTraverser | [protected, virtual]
handleRTFxSceneAttribute(const nvsg::RTFxSceneAttribute *rtfxsa) | SharedTraverser | [protected, virtual]
handleShape(const nvsg::Shape *shape) | StatisticsTraverser | [protected, virtual]
handleSkin(const nvsg::Skin *p) | StatisticsTraverser | [protected, virtual]
handleSpotLight(const nvsg::SpotLight *p) | StatisticsTraverser | [protected, virtual]
handleStatePass(const nvsg::StatePass *pass) | StatisticsTraverser | [protected, virtual]
handleStateSet(const nvsg::StateSet *p) | StatisticsTraverser | [protected, virtual]
handleStateVariant(const nvsg::StateVariant *variant) | StatisticsTraverser | [protected, virtual]
handleStencilAttribute(const nvsg::StencilAttribute *stencilAttrib) | SharedTraverser | [protected, virtual]
handleSwitch(const nvsg::Switch *p) | StatisticsTraverser | [protected, virtual]
handleTextureAttribute(const nvsg::TextureAttribute *p) | StatisticsTraverser | [protected, virtual]
handleTextureAttributeItem(const nvsg::TextureAttributeItem *texAttribItem) | StatisticsTraverser | [protected, virtual]
handleTrafoAnimation(const nvsg::Animation< nvmath::Trafo > *anim) | StatisticsTraverser | [protected, virtual]
handleTransform(const nvsg::Transform *p) | StatisticsTraverser | [protected, virtual]
handleTriangles(const nvsg::Triangles *p) | StatisticsTraverser | [protected, virtual]
handleTriFans(const nvsg::TriFans *p) | StatisticsTraverser | [protected, virtual]
handleTriPatches(const nvsg::TriPatches *p) | StatisticsTraverser | [protected, virtual]
handleTriPatches4(const nvsg::TriPatches4 *p) | StatisticsTraverser | [protected, virtual]
handleTriStrips(const nvsg::TriStrips *p) | StatisticsTraverser | [protected, virtual]
handleUnlitColorAttribute(const nvsg::UnlitColorAttribute *unlitColor) | SharedTraverser | [protected, virtual]
handleVertexAttributeAnimation(const nvsg::Animation< nvsg::VertexAttribute > *anim) | StatisticsTraverser | [protected, virtual]
handleVertexAttributeSet(const nvsg::VertexAttributeSet *vas) | StatisticsTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | SharedTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedScene (defined in SharedTraverser) | SharedTraverser | [protected]
m_lockedViewState (defined in SharedTraverser) | SharedTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SharedTraverser() | SharedTraverser |
SmartPayload typedef (defined in Subject) | Subject |
statAnimationState(const nvsg::AnimationState *p, StatAnimationState &stats) | StatisticsTraverser |
statCamera(const nvsg::Camera *p, StatCamera &stats) | StatisticsTraverser |
statDrawable(const nvsg::Drawable *p, StatDrawable &stats) | StatisticsTraverser |
statFrustumCamera(const nvsg::FrustumCamera *p, StatFrustumCamera &stats) | StatisticsTraverser |
statGroup(const nvsg::Group *p, StatGroup &stats) | StatisticsTraverser |
statIndexAnimationDescription(const nvsg::AnimationDescription< unsigned int > *p, StatIndexAnimationDescription &stats) | StatisticsTraverser |
StatisticsTraverser(void) | StatisticsTraverser |
statLightSource(const nvsg::LightSource *p, StatLightSource &stats) | StatisticsTraverser |
statMapObject(const nvsg::MapObject *p, StatMapObject &stats) | StatisticsTraverser |
statMeshedPrimitiveSet(const nvsg::MeshedPrimitiveSet *p, StatMeshedPrimitiveSet &stats) | StatisticsTraverser |
statNode(const nvsg::Node *p, StatNode &stats) | StatisticsTraverser |
statObject(const nvsg::Object *p, StatObject &stats) | StatisticsTraverser |
statPatchesBase(const nvsg::PatchesBase *p, StatPatchesBase &stats) | StatisticsTraverser |
statPrimitive(const nvsg::Primitive *p, StatPrimitive &stats) | StatisticsTraverser |
statPrimitiveSet(const nvsg::PrimitiveSet *p, StatPrimitiveSet &stats) | StatisticsTraverser |
statQuads(const nvsg::Quads *p, StatQuads &stats) | StatisticsTraverser |
statSkin(const nvsg::Skin *p, StatSkin &stats) | StatisticsTraverser |
statStateAttribute(const nvsg::StateAttribute *p, StatStateAttribute &stats) | StatisticsTraverser |
statStrippedPrimitiveSet(const nvsg::StrippedPrimitiveSet *p, StatStrippedPrimitiveSet &stats) | StatisticsTraverser |
statTrafoAnimationDescription(const nvsg::AnimationDescription< nvmath::Trafo > *p, StatTrafoAnimationDescription &stats) | StatisticsTraverser |
statTransform(const nvsg::Transform *p, StatTransform &stats) | StatisticsTraverser |
statTriangles(const nvsg::Triangles *p, StatTriangles &stats) | StatisticsTraverser |
statVertexAttributeAnimationDescription(const nvsg::AnimationDescription< nvsg::VertexAttribute > *p, StatVertexAttributeAnimationDescription &stats) | StatisticsTraverser |
statVertexAttributeSet(const nvsg::VertexAttributeSet *p, StatVertexAttributeSet &stats) | StatisticsTraverser |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(const nvsg::Camera *camera) | SharedTraverser | [protected, virtual]
traverseFrustumCamera(const nvsg::FrustumCamera *camera) | SharedTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(const nvsg::LightSource *light) | SharedTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *p) | SharedTraverser | [protected, virtual]
traversePrimitiveSet(const nvsg::PrimitiveSet *pset) | SharedTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | SharedTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~SharedTraverser() | SharedTraverser | [inline, protected, virtual]
~StatisticsTraverser(void) | StatisticsTraverser | [protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:31:15 2012 for SceniX


SceniX: StatKeyFramedTrafoAnimationDescription Class Reference

nvtraverser::StatKeyFramedTrafoAnimationDescription

StatKeyFramedTrafoAnimationDescription Class Reference

Class to hold statistics information about KeyFramedTrafoAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatKeyFramedTrafoAnimationDescription:

[legend]
Collaboration diagram for StatKeyFramedTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about KeyFramedTrafoAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: Member List

StatKeyFramedTrafoAnimationDescription Member List

This is the complete list of members for StatKeyFramedTrafoAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: StatKeyFramedVertexAttributeAnimationDescription Class Reference

nvtraverser::StatKeyFramedVertexAttributeAnimationDescription

StatKeyFramedVertexAttributeAnimationDescription Class Reference

Class to hold statistics information about KeyFramedVertexAttributeAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatKeyFramedVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for StatKeyFramedVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about KeyFramedVertexAttributeAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:04 2012 for SceniX


SceniX: Member List

StatKeyFramedVertexAttributeAnimationDescription Member List

This is the complete list of members for StatKeyFramedVertexAttributeAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:04 2012 for SceniX


SceniX: StatLightingAttribute Class Reference

nvtraverser::StatLightingAttribute

StatLightingAttribute Class Reference

Class to hold statistics information about LightingAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLightingAttribute:

[legend]
Collaboration diagram for StatLightingAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about LightingAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: Member List

StatLightingAttribute Member List

This is the complete list of members for StatLightingAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: StatLightSource Class Reference

nvtraverser::StatLightSource

StatLightSource Class Reference

Class to hold statistics information about LightSource objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLightSource:

[legend]
Collaboration diagram for StatLightSource:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about LightSource objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: Member List

StatLightSource Member List

This is the complete list of members for StatLightSource, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: StatLinearInterpolatedTrafoAnimationDescription Class Reference

nvtraverser::StatLinearInterpolatedTrafoAnimationDescription

StatLinearInterpolatedTrafoAnimationDescription Class Reference

Class to hold statistics information about LinearInterpolatedTrafoAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLinearInterpolatedTrafoAnimationDescription:

[legend]
Collaboration diagram for StatLinearInterpolatedTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about LinearInterpolatedTrafoAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: Member List

StatLinearInterpolatedTrafoAnimationDescription Member List

This is the complete list of members for StatLinearInterpolatedTrafoAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: StatLinearInterpolatedVertexAttributeAnimationDescription Class Reference

nvtraverser::StatLinearInterpolatedVertexAttributeAnimationDescription

StatLinearInterpolatedVertexAttributeAnimationDescription Class Reference

Class to hold statistics information about LinearInterpolatedVertexAttributeAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLinearInterpolatedVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for StatLinearInterpolatedVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about LinearInterpolatedVertexAttributeAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:04 2012 for SceniX


SceniX: Member List

StatLinearInterpolatedVertexAttributeAnimationDescription Member List

This is the complete list of members for StatLinearInterpolatedVertexAttributeAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:04 2012 for SceniX


SceniX: StatLineAttribute Class Reference

nvtraverser::StatLineAttribute

StatLineAttribute Class Reference

Class to hold statistics information about LineAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLineAttribute:

[legend]
Collaboration diagram for StatLineAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about LineAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: Member List

StatLineAttribute Member List

This is the complete list of members for StatLineAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: StatLines Class Reference

nvtraverser::StatLines

StatLines Class Reference

Class to hold statistics information about Lines objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLines:

[legend]
Collaboration diagram for StatLines:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfSegments
Counts the number of segments.

Detailed Description

Class to hold statistics information about Lines objects.

Member Data Documentation

unsigned int m_numberOfSegments

Counts the number of segments.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:53 2012 for SceniX


SceniX: Member List

StatLines Member List

This is the complete list of members for StatLines, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfSegments | StatLines |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatLines() (defined in StatLines) | StatLines | [inline]

Generated on Fri Jul 13 13:30:53 2012 for SceniX


SceniX: StatLineStrips Class Reference

nvtraverser::StatLineStrips

StatLineStrips Class Reference

Class to hold statistics information about LineStrips objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLineStrips:

[legend]
Collaboration diagram for StatLineStrips:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfSegments
Counts the number of segments.

Detailed Description

Class to hold statistics information about LineStrips objects.

Member Data Documentation

unsigned int m_numberOfSegments

Counts the number of segments.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:53 2012 for SceniX


SceniX: Member List

StatLineStrips Member List

This is the complete list of members for StatLineStrips, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfSegments | StatLineStrips |
m_numberOfStrips | StatStrippedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatLineStrips() (defined in StatLineStrips) | StatLineStrips | [inline]
StatStrippedPrimitiveSet() (defined in StatStrippedPrimitiveSet) | StatStrippedPrimitiveSet | [inline]

Generated on Fri Jul 13 13:30:53 2012 for SceniX


SceniX: StatLOD Class Reference

nvtraverser::StatLOD

StatLOD Class Reference

Class to hold statistics information about LOD objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatLOD:

[legend]
Collaboration diagram for StatLOD:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about LOD objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: Member List

StatLOD Member List

This is the complete list of members for StatLOD, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: StatMapArray Class Reference

nvtraverser::StatMapArray

StatMapArray Class Reference

Class to hold statistics information about MapArray objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMapArray:

[legend]
Collaboration diagram for StatMapArray:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about MapArray objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: Member List

StatMapArray Member List

This is the complete list of members for StatMapArray, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: StatMapElement Class Reference

nvtraverser::StatMapElement

StatMapElement Class Reference

Class to hold statistics information about MapElement objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMapElement:

[legend]
Collaboration diagram for StatMapElement:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about MapElement objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: Member List

StatMapElement Member List

This is the complete list of members for StatMapElement, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: StatMapList Class Reference

nvtraverser::StatMapList

StatMapList Class Reference

Class to hold statistics information about MapList objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMapList:

[legend]
Collaboration diagram for StatMapList:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about MapList objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: Member List

StatMapList Member List

This is the complete list of members for StatMapList, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: StatMapMatrix Class Reference

nvtraverser::StatMapMatrix

StatMapMatrix Class Reference

Class to hold statistics information about MapMatrix objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMapMatrix:

[legend]
Collaboration diagram for StatMapMatrix:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about MapMatrix objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:01 2012 for SceniX


SceniX: Member List

StatMapMatrix Member List

This is the complete list of members for StatMapMatrix, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:01 2012 for SceniX


SceniX: StatMapObject Class Reference

nvtraverser::StatMapObject

StatMapObject Class Reference

Class to hold statistics information about MapObject objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMapObject:

[legend]
Collaboration diagram for StatMapObject:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about MapObject objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: Member List

StatMapObject Member List

This is the complete list of members for StatMapObject, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:00 2012 for SceniX


SceniX: StatMaterial Class Reference

nvtraverser::StatMaterial

StatMaterial Class Reference

Class to hold statistics information about Material objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMaterial:

[legend]
Collaboration diagram for StatMaterial:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfTransparent
Counts the number of transparent Material objects.

Detailed Description

Class to hold statistics information about Material objects.

Member Data Documentation

unsigned int m_numberOfTransparent

Counts the number of transparent Material objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:09 2012 for SceniX


SceniX: Member List

StatMaterial Member List

This is the complete list of members for StatMaterial, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfTransparent | StatMaterial |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatMaterial() (defined in StatMaterial) | StatMaterial | [inline]

Generated on Fri Jul 13 13:31:09 2012 for SceniX


SceniX: StatMatrixCamera Class Reference

nvtraverser::StatMatrixCamera

StatMatrixCamera Class Reference

Class to hold statistics information about MatrixCamera objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMatrixCamera:

[legend]
Collaboration diagram for StatMatrixCamera:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about MatrixCamera objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: Member List

StatMatrixCamera Member List

This is the complete list of members for StatMatrixCamera, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: StatMeshedPrimitiveSet Class Reference

nvtraverser::StatMeshedPrimitiveSet

StatMeshedPrimitiveSet Class Reference

Class to hold statistics information about MeshedPrimitiveSet objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatMeshedPrimitiveSet:

[legend]
Collaboration diagram for StatMeshedPrimitiveSet:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfMeshes
Counts the number of meshes.

Detailed Description

Class to hold statistics information about MeshedPrimitiveSet objects.

Member Data Documentation

unsigned int m_numberOfMeshes

Counts the number of meshes.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:52 2012 for SceniX


SceniX: Member List

StatMeshedPrimitiveSet Member List

This is the complete list of members for StatMeshedPrimitiveSet, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfMeshes | StatMeshedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatMeshedPrimitiveSet() (defined in StatMeshedPrimitiveSet) | StatMeshedPrimitiveSet | [inline]

Generated on Fri Jul 13 13:30:52 2012 for SceniX


SceniX: StatNode Class Reference

nvtraverser::StatNode

StatNode Class Reference

Class to hold statistics information about Node objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatNode:

[legend]
Collaboration diagram for StatNode:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Node objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: Member List

StatNode Member List

This is the complete list of members for StatNode, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:59 2012 for SceniX


SceniX: StatObject Class Reference

nvtraverser::StatObject

StatObject Class Reference

Class to hold statistics information about Object objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatObject:

[legend]
Collaboration diagram for StatObject:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Object objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: Member List

StatObject Member List

This is the complete list of members for StatObject, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:49 2012 for SceniX


SceniX: StatParallelCamera Class Reference

nvtraverser::StatParallelCamera

StatParallelCamera Class Reference

Class to hold statistics information about ParallelCamera objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatParallelCamera:

[legend]
Collaboration diagram for StatParallelCamera:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about ParallelCamera objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: Member List

StatParallelCamera Member List

This is the complete list of members for StatParallelCamera, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: StatPatches Class Reference

nvtraverser::StatPatches

StatPatches Class Reference

Class to hold statistics information about Patches objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPatches:

[legend]
Collaboration diagram for StatPatches:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Patches objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: Member List

StatPatches Member List

This is the complete list of members for StatPatches, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: StatPatchesBase Class Reference

nvtraverser::StatPatchesBase

StatPatchesBase Class Reference

Class to hold statistics information about PatchesBase objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPatchesBase:

[legend]
Collaboration diagram for StatPatchesBase:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfPatches
Counts the number of patches.

Detailed Description

Class to hold statistics information about PatchesBase objects.

Member Data Documentation

unsigned int m_numberOfPatches

Counts the number of patches.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: Member List

StatPatchesBase Member List

This is the complete list of members for StatPatchesBase, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: StatPerspectiveCamera Class Reference

nvtraverser::StatPerspectiveCamera

StatPerspectiveCamera Class Reference

Class to hold statistics information about PerspectiveCamera objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPerspectiveCamera:

[legend]
Collaboration diagram for StatPerspectiveCamera:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about PerspectiveCamera objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: Member List

StatPerspectiveCamera Member List

This is the complete list of members for StatPerspectiveCamera, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:50 2012 for SceniX


SceniX: StatPointAttribute Class Reference

nvtraverser::StatPointAttribute

StatPointAttribute Class Reference

Class to hold statistics information about PointAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPointAttribute:

[legend]
Collaboration diagram for StatPointAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about PointAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: Member List

StatPointAttribute Member List

This is the complete list of members for StatPointAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: StatPointLight Class Reference

nvtraverser::StatPointLight

StatPointLight Class Reference

Class to hold statistics information about PointLight objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPointLight:

[legend]
Collaboration diagram for StatPointLight:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfAttenuated
Counts the number of attenuated PointLight objects.

Detailed Description

Class to hold statistics information about PointLight objects.

Member Data Documentation

unsigned int m_numberOfAttenuated

Counts the number of attenuated PointLight objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:06 2012 for SceniX


SceniX: Member List

StatPointLight Member List

This is the complete list of members for StatPointLight, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfAttenuated | StatPointLight |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPointLight() (defined in StatPointLight) | StatPointLight | [inline]

Generated on Fri Jul 13 13:31:06 2012 for SceniX


SceniX: StatPoints Class Reference

nvtraverser::StatPoints

StatPoints Class Reference

Class to hold statistics information about Points objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPoints:

[legend]
Collaboration diagram for StatPoints:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Points objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:56 2012 for SceniX


SceniX: Member List

StatPoints Member List

This is the complete list of members for StatPoints, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:56 2012 for SceniX


SceniX: StatPrimitive Class Reference

nvtraverser::StatPrimitive

StatPrimitive Class Reference

Class to hold statistics information about Primitive objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPrimitive:

[legend]
Collaboration diagram for StatPrimitive:

[legend]
List of all members.

Public Attributes

unsigned int | m_indexed
Counts the number of Primitive objects with indices.
unsigned int | m_arrays
Counts the number of Primitive objects without indices.
unsigned int | m_patches
Counts the number of Primitive objects of type PRIMITIVE_PATCHES.
unsigned int | m_lineStripAdj
Counts the number of Primitive objects of type PRIMITIVE_LINE_STRIP_ADJACENCY.
unsigned int | m_linesAdj
Counts the number of Primitive objects of type PRIMITIVE_LINES_ADJACENCY.
unsigned int | m_triStripAdj
Counts the number of Primitive objects of type PRIMITIVE_TRIANGLE_STRIP_ADJACENCY.
unsigned int | m_trisAdj
Counts the number of Primitive objects of type PRIMITIVE_TRIANGLES_ADJACENCY.
unsigned int | m_polygons
Counts the number of Primitive objects of type PRIMITIVE_POLYGON.
unsigned int | m_lineLoops
Counts the number of Primitive objects of type PRIMITIVE_LINE_LOOP.
unsigned int | m_quads
Counts the number of Primitive objects of type PRIMITIVE_QUADS.
unsigned int | m_quadStrips
Counts the number of Primitive objects of type PRIMITIVE_QUAD_STRIP.
unsigned int | m_tris
Counts the number of Primitive objects of type PRIMITIVE_TRIANGLES.
unsigned int | m_triStrips
Counts the number of Primitive objects of type PRIMITIVE_TRIANGLE_STRIP.
unsigned int | m_triFans
Counts the number of Primitive objects of type PRIMITIVE_TRIANGLE_FAN.
unsigned int | m_lines
Counts the number of Primitive objects of type PRIMITIVE_LINES.
unsigned int | m_lineStrips
Counts the number of Primitive objects of type PRIMITIVE_LINE_STRIP.
unsigned int | m_points
Counts the number of Primitive objects of type PRIMITIVE_POINTS.
unsigned int | m_faces
Counts the nubmer of faces in all encountered Primitive objects.

Detailed Description

Class to hold statistics information about Primitive objects.

Member Data Documentation

unsigned int m_indexed

Counts the number of Primitive objects with indices.

unsigned int m_arrays

Counts the number of Primitive objects without indices.

unsigned int m_patches

Counts the number of Primitive objects of type PRIMITIVE_PATCHES.

unsigned int m_lineStripAdj

Counts the number of Primitive objects of type PRIMITIVE_LINE_STRIP_ADJACENCY.

unsigned int m_linesAdj

Counts the number of Primitive objects of type PRIMITIVE_LINES_ADJACENCY.

unsigned int m_triStripAdj

Counts the number of Primitive objects of type PRIMITIVE_TRIANGLE_STRIP_ADJACENCY.

unsigned int m_trisAdj

Counts the number of Primitive objects of type PRIMITIVE_TRIANGLES_ADJACENCY.

unsigned int m_polygons

Counts the number of Primitive objects of type PRIMITIVE_POLYGON.

unsigned int m_lineLoops

Counts the number of Primitive objects of type PRIMITIVE_LINE_LOOP.

unsigned int m_quads

Counts the number of Primitive objects of type PRIMITIVE_QUADS.

unsigned int m_quadStrips

Counts the number of Primitive objects of type PRIMITIVE_QUAD_STRIP.

unsigned int m_tris

Counts the number of Primitive objects of type PRIMITIVE_TRIANGLES.

unsigned int m_triStrips

Counts the number of Primitive objects of type PRIMITIVE_TRIANGLE_STRIP.

unsigned int m_triFans

Counts the number of Primitive objects of type PRIMITIVE_TRIANGLE_FAN.

unsigned int m_lines

Counts the number of Primitive objects of type PRIMITIVE_LINES.

unsigned int m_lineStrips

Counts the number of Primitive objects of type PRIMITIVE_LINE_STRIP.

unsigned int m_points

Counts the number of Primitive objects of type PRIMITIVE_POINTS.

unsigned int m_faces

Counts the nubmer of faces in all encountered Primitive objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:51 2012 for SceniX


SceniX: Member List

StatPrimitive Member List

This is the complete list of members for StatPrimitive, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_arrays | StatPrimitive |
m_count | StatisticsBase |
m_faces | StatPrimitive |
m_indexed | StatPrimitive |
m_lineLoops | StatPrimitive |
m_lines | StatPrimitive |
m_linesAdj | StatPrimitive |
m_lineStripAdj | StatPrimitive |
m_lineStrips | StatPrimitive |
m_objects | StatisticsBase |
m_patches | StatPrimitive |
m_points | StatPrimitive |
m_polygons | StatPrimitive |
m_quads | StatPrimitive |
m_quadStrips | StatPrimitive |
m_referenced | StatisticsBase |
m_triFans | StatPrimitive |
m_tris | StatPrimitive |
m_trisAdj | StatPrimitive |
m_triStripAdj | StatPrimitive |
m_triStrips | StatPrimitive |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPrimitive() (defined in StatPrimitive) | StatPrimitive | [inline]

Generated on Fri Jul 13 13:30:51 2012 for SceniX


SceniX: StatPrimitiveSet Class Reference

nvtraverser::StatPrimitiveSet

StatPrimitiveSet Class Reference

Class to hold statistics information about PrimitiveSet objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatPrimitiveSet:

[legend]
Collaboration diagram for StatPrimitiveSet:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about PrimitiveSet objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:51 2012 for SceniX


SceniX: Member List

StatPrimitiveSet Member List

This is the complete list of members for StatPrimitiveSet, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:51 2012 for SceniX


SceniX: StatQuadMeshes Class Reference

nvtraverser::StatQuadMeshes

StatQuadMeshes Class Reference

Class to hold statistics information about QuadMeshes objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatQuadMeshes:

[legend]
Collaboration diagram for StatQuadMeshes:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfFaces
Counts the number of faces.

Detailed Description

Class to hold statistics information about QuadMeshes objects.

Member Data Documentation

unsigned int m_numberOfFaces

Counts the number of faces.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:56 2012 for SceniX


SceniX: Member List

StatQuadMeshes Member List

This is the complete list of members for StatQuadMeshes, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfFaces | StatQuadMeshes |
m_numberOfMeshes | StatMeshedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatMeshedPrimitiveSet() (defined in StatMeshedPrimitiveSet) | StatMeshedPrimitiveSet | [inline]
StatQuadMeshes() (defined in StatQuadMeshes) | StatQuadMeshes | [inline]

Generated on Fri Jul 13 13:30:56 2012 for SceniX


SceniX: StatQuadPatches Class Reference

nvtraverser::StatQuadPatches

StatQuadPatches Class Reference

Class to hold statistics information about QuadPatches objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatQuadPatches:

[legend]
Collaboration diagram for StatQuadPatches:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about QuadPatches objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: StatQuadPatches4x4 Class Reference

nvtraverser::StatQuadPatches4x4

StatQuadPatches4x4 Class Reference

Class to hold statistics information about QuadPatches4x4 objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatQuadPatches4x4:

[legend]
Collaboration diagram for StatQuadPatches4x4:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about QuadPatches4x4 objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:55 2012 for SceniX


SceniX: Member List

StatQuadPatches4x4 Member List

This is the complete list of members for StatQuadPatches4x4, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:55 2012 for SceniX


SceniX: StatQuads Class Reference

nvtraverser::StatQuads

StatQuads Class Reference

Class to hold statistics information about Quads objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatQuads:

[legend]
Collaboration diagram for StatQuads:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfFaces
Counts the number of faces.

Detailed Description

Class to hold statistics information about Quads objects.

Member Data Documentation

unsigned int m_numberOfFaces

Counts the number of faces.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:56 2012 for SceniX


SceniX: Member List

StatQuads Member List

This is the complete list of members for StatQuads, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfFaces | StatQuads |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatQuads() (defined in StatQuads) | StatQuads | [inline]

Generated on Fri Jul 13 13:30:56 2012 for SceniX


SceniX: StatQuadStrips Class Reference

nvtraverser::StatQuadStrips

StatQuadStrips Class Reference

Class to hold statistics information about QuadStrips objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatQuadStrips:

[legend]
Collaboration diagram for StatQuadStrips:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfFaces
Counts the number of faces.

Detailed Description

Class to hold statistics information about QuadStrips objects.

Member Data Documentation

unsigned int m_numberOfFaces

Counts the number of faces.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:57 2012 for SceniX


SceniX: Member List

StatQuadStrips Member List

This is the complete list of members for StatQuadStrips, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfFaces | StatQuadStrips |
m_numberOfStrips | StatStrippedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatQuadStrips() (defined in StatQuadStrips) | StatQuadStrips | [inline]
StatStrippedPrimitiveSet() (defined in StatStrippedPrimitiveSet) | StatStrippedPrimitiveSet | [inline]

Generated on Fri Jul 13 13:30:57 2012 for SceniX


SceniX: StatRectPatches Class Reference

nvtraverser::StatRectPatches

StatRectPatches Class Reference

Class to hold statistics information about RectPatches objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatRectPatches:

[legend]
Collaboration diagram for StatRectPatches:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about RectPatches objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: Member List

StatRectPatches Member List

This is the complete list of members for StatRectPatches, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: StatRTFx Class Reference

nvtraverser::StatRTFx

StatRTFx Class Reference

Class to hold statistics information about RTFx objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatRTFx:

[legend]
Collaboration diagram for StatRTFx:

[legend]
List of all members.

Public Attributes

unsigned int | m_numberOfParameters
Counts the number of parameters.
unsigned int | m_numberOfTextures
Counts the number of textures.

Detailed Description

Class to hold statistics information about RTFx objects.

Member Data Documentation

unsigned int m_numberOfParameters

Counts the number of parameters.

unsigned int m_numberOfTextures

Counts the number of textures.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: Member List

StatRTFx Member List

This is the complete list of members for StatRTFx, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfParameters | StatRTFx |
m_numberOfTextures | StatRTFx |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatRTFx() (defined in StatRTFx) | StatRTFx | [inline]

Generated on Fri Jul 13 13:31:10 2012 for SceniX


SceniX: StatRTFxProgram Class Reference

nvtraverser::StatRTFxProgram

StatRTFxProgram Class Reference

Class to hold statistics information about RTFxProgram objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatRTFxProgram:

[legend]
Collaboration diagram for StatRTFxProgram:

[legend]
List of all members.

Public Attributes

unsigned int | m_numberOfFileDefined
Counts the number of RTFxProgram objects defined by file.
unsigned int | m_numberOfLumpDefined
Counts the number of RTFxProgram objects defined by lump.
unsigned int | m_numberOfParameters
Counts the number of parameters.
unsigned int | m_numberOfDefinedParameters
Counts the number of defined parameters.
unsigned int | m_numberOfRayTypes
Counts the number of ray types.
unsigned int | m_numberOfEntryPoints
Counts the number of entry points.
unsigned int | m_numberOfPTXFormats
Counts the number of RTFxProgram objects in ptx format.
unsigned int | m_numberOfCUDAFormats
Counts the number of RTFxProgram objects in CUDA format.
unsigned int | m_numberOfTextures
Counts the number of textures.

Detailed Description

Class to hold statistics information about RTFxProgram objects.

Member Data Documentation

unsigned int m_numberOfFileDefined

Counts the number of RTFxProgram objects defined by file.

unsigned int m_numberOfLumpDefined

Counts the number of RTFxProgram objects defined by lump.

unsigned int m_numberOfParameters

Counts the number of parameters.

unsigned int m_numberOfDefinedParameters

Counts the number of defined parameters.

unsigned int m_numberOfRayTypes

Counts the number of ray types.

unsigned int m_numberOfEntryPoints

Counts the number of entry points.

unsigned int m_numberOfPTXFormats

Counts the number of RTFxProgram objects in ptx format.

unsigned int m_numberOfCUDAFormats

Counts the number of RTFxProgram objects in CUDA format.

unsigned int m_numberOfTextures

Counts the number of textures.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:11 2012 for SceniX


SceniX: Member List

StatRTFxProgram Member List

This is the complete list of members for StatRTFxProgram, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfCUDAFormats | StatRTFxProgram |
m_numberOfDefinedParameters | StatRTFxProgram |
m_numberOfEntryPoints | StatRTFxProgram |
m_numberOfFileDefined | StatRTFxProgram |
m_numberOfLumpDefined | StatRTFxProgram |
m_numberOfParameters | StatRTFxProgram |
m_numberOfPTXFormats | StatRTFxProgram |
m_numberOfRayTypes | StatRTFxProgram |
m_numberOfTextures | StatRTFxProgram |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatRTFxProgram() (defined in StatRTFxProgram) | StatRTFxProgram | [inline]

Generated on Fri Jul 13 13:31:11 2012 for SceniX


SceniX: StatShape Class Reference

nvtraverser::StatShape

StatShape Class Reference

Class to hold statistics information about Shape objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatShape:

[legend]
Collaboration diagram for StatShape:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Shape objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: Member List

StatShape Member List

This is the complete list of members for StatShape, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: StatSkin Class Reference

nvtraverser::StatSkin

StatSkin Class Reference

Class to hold statistics information about Skin objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatSkin:

[legend]
Collaboration diagram for StatSkin:

[legend]
List of all members.

Public Attributes

unsigned int | m_numberOfIndices
Counts the number of indices.
unsigned int | m_numberOfInfluences
Counts the number of influences.
unsigned int | m_numberOfJoints
Counts the number of joints.

Detailed Description

Class to hold statistics information about Skin objects.

Member Data Documentation

unsigned int m_numberOfIndices

Counts the number of indices.

unsigned int m_numberOfInfluences

Counts the number of influences.

unsigned int m_numberOfJoints

Counts the number of joints.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:52 2012 for SceniX


SceniX: Member List

StatSkin Member List

This is the complete list of members for StatSkin, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfIndices | StatSkin |
m_numberOfInfluences | StatSkin |
m_numberOfJoints | StatSkin |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatSkin() (defined in StatSkin) | StatSkin | [inline]

Generated on Fri Jul 13 13:30:52 2012 for SceniX


SceniX: StatSpotLight Class Reference

nvtraverser::StatSpotLight

StatSpotLight Class Reference

Class to hold statistics information about SpotLight objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatSpotLight:

[legend]
Collaboration diagram for StatSpotLight:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfAttenuated
Counts the number of attenuated SpotLight objects.

Detailed Description

Class to hold statistics information about SpotLight objects.

Member Data Documentation

unsigned int m_numberOfAttenuated

Counts the number of attenuated SpotLight objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:06 2012 for SceniX


SceniX: Member List

StatSpotLight Member List

This is the complete list of members for StatSpotLight, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfAttenuated | StatSpotLight |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatSpotLight() (defined in StatSpotLight) | StatSpotLight | [inline]

Generated on Fri Jul 13 13:31:06 2012 for SceniX


SceniX: StatStateAttribute Class Reference

nvtraverser::StatStateAttribute

StatStateAttribute Class Reference

Class to hold statistics information about StateAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatStateAttribute:

[legend]
Collaboration diagram for StatStateAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about StateAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: Member List

StatStateAttribute Member List

This is the complete list of members for StatStateAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:07 2012 for SceniX


SceniX: StatStatePass Class Reference

nvtraverser::StatStatePass

StatStatePass Class Reference

Class to hold statistics information about StatePass objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatStatePass:

[legend]
Collaboration diagram for StatStatePass:

[legend]
List of all members.

Public Attributes

unsigned int | m_numberOfAttributes
Counts the number of attributes.
unsigned int | m_numberOfCgFxed
Counts the number of StatePass objects with a CgFx attribute.
unsigned int | m_numberOfMaterialed
Counts the number of StatePass objects with a Material attribute.
unsigned int | m_numberOfTextured
Counts the number of StatePass objects with a Texture attribute.

Detailed Description

Class to hold statistics information about StatePass objects.

Member Data Documentation

unsigned int m_numberOfAttributes

Counts the number of attributes.

unsigned int m_numberOfCgFxed

Counts the number of StatePass objects with a CgFx attribute.

unsigned int m_numberOfMaterialed

Counts the number of StatePass objects with a Material attribute.

unsigned int m_numberOfTextured

Counts the number of StatePass objects with a Texture attribute.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: Member List

StatStatePass Member List

This is the complete list of members for StatStatePass, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfAttributes | StatStatePass |
m_numberOfCgFxed | StatStatePass |
m_numberOfMaterialed | StatStatePass |
m_numberOfTextured | StatStatePass |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatStatePass() (defined in StatStatePass) | StatStatePass | [inline]

Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: StatStateSet Class Reference

nvtraverser::StatStateSet

StatStateSet Class Reference

Class to hold statistics information about StateSet objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatStateSet:

[legend]
Collaboration diagram for StatStateSet:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfVariants
Counts the number of variants.

Detailed Description

Class to hold statistics information about StateSet objects.

Member Data Documentation

unsigned int m_numberOfVariants

Counts the number of variants.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: Member List

StatStateSet Member List

This is the complete list of members for StatStateSet, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfVariants | StatStateSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatStateSet() (defined in StatStateSet) | StatStateSet | [inline]

Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: StatStateVariant Class Reference

nvtraverser::StatStateVariant

StatStateVariant Class Reference

Class to hold statistics information about StateVariant objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatStateVariant:

[legend]
Collaboration diagram for StatStateVariant:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfPasses
Counts the number of passes.

Detailed Description

Class to hold statistics information about StateVariant objects.

Member Data Documentation

unsigned int m_numberOfPasses

Counts the number of passes.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: Member List

StatStateVariant Member List

This is the complete list of members for StatStateVariant, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPasses | StatStateVariant |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatStateVariant() (defined in StatStateVariant) | StatStateVariant | [inline]

Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: StatStrippedPrimitiveSet Class Reference

nvtraverser::StatStrippedPrimitiveSet

StatStrippedPrimitiveSet Class Reference

Class to hold statistics information about StrippedPrimitiveSet objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatStrippedPrimitiveSet:

[legend]
Collaboration diagram for StatStrippedPrimitiveSet:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfStrips
Counts the number of strips.

Detailed Description

Class to hold statistics information about StrippedPrimitiveSet objects.

Member Data Documentation

unsigned int m_numberOfStrips

Counts the number of strips.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:53 2012 for SceniX


SceniX: Member List

StatStrippedPrimitiveSet Member List

This is the complete list of members for StatStrippedPrimitiveSet, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfStrips | StatStrippedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatStrippedPrimitiveSet() (defined in StatStrippedPrimitiveSet) | StatStrippedPrimitiveSet | [inline]

Generated on Fri Jul 13 13:30:53 2012 for SceniX


SceniX: StatSwitch Class Reference

nvtraverser::StatSwitch

StatSwitch Class Reference

Class to hold statistics information about Switch objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatSwitch:

[legend]
Collaboration diagram for StatSwitch:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Switch objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: Member List

StatSwitch Member List

This is the complete list of members for StatSwitch, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:05 2012 for SceniX


SceniX: StatTexture Class Reference

nvtraverser::StatTexture

StatTexture Class Reference

Class to hold statistics information about Texture objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTexture:

[legend]
Collaboration diagram for StatTexture:

[legend]
List of all members.

Public Attributes

unsigned int | m_numImages
Counts the number of images.
std::map< int, unsigned int > | m_widths
Counts the number of Texture objects per width.
std::map< int, unsigned int > | m_heights
Counts the number of Texture objects per height.
std::map< int, unsigned int > | m_depths
Counts the number of Texture objects per depth.
std::map< int, unsigned int > | m_sizes
Counts the number of Texture objects per size.
unsigned int | m_sumOfSizes
Sum of all the sizes.

Detailed Description

Class to hold statistics information about Texture objects.

Member Data Documentation

unsigned int m_numImages

Counts the number of images.

std::map<int,unsigned int> m_widths

Counts the number of Texture objects per width.

std::map<int,unsigned int> m_heights

Counts the number of Texture objects per height.

std::map<int,unsigned int> m_depths

Counts the number of Texture objects per depth.

std::map<int,unsigned int> m_sizes

Counts the number of Texture objects per size.

unsigned int m_sumOfSizes

Sum of all the sizes.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: Member List

StatTexture Member List

This is the complete list of members for StatTexture, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_depths | StatTexture |
m_heights | StatTexture |
m_numImages | StatTexture |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
m_sizes | StatTexture |
m_sumOfSizes | StatTexture |
m_widths | StatTexture |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatTexture() (defined in StatTexture) | StatTexture | [inline]

Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: StatTextureAttribute Class Reference

nvtraverser::StatTextureAttribute

StatTextureAttribute Class Reference

Class to hold statistics information about TextureAttribute objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTextureAttribute:

[legend]
Collaboration diagram for StatTextureAttribute:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about TextureAttribute objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:11 2012 for SceniX


SceniX: Member List

StatTextureAttribute Member List

This is the complete list of members for StatTextureAttribute, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:11 2012 for SceniX


SceniX: StatTextureAttributeItem Class Reference

nvtraverser::StatTextureAttributeItem

StatTextureAttributeItem Class Reference

Class to hold statistics information about TextureAttributeItem objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTextureAttributeItem:

[legend]
Collaboration diagram for StatTextureAttributeItem:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about TextureAttributeItem objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:11 2012 for SceniX


SceniX: Member List

StatTextureAttributeItem Member List

This is the complete list of members for StatTextureAttributeItem, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:11 2012 for SceniX


SceniX: StatTrafoAnimation Class Reference

nvtraverser::StatTrafoAnimation

StatTrafoAnimation Class Reference

Class to hold statistics information about TrafoAnimation objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTrafoAnimation:

[legend]
Collaboration diagram for StatTrafoAnimation:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about TrafoAnimation objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: Member List

StatTrafoAnimation Member List

This is the complete list of members for StatTrafoAnimation, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:12 2012 for SceniX


SceniX: StatTrafoAnimationDescription Class Reference

nvtraverser::StatTrafoAnimationDescription

StatTrafoAnimationDescription Class Reference

Class to hold statistics information about TrafoAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTrafoAnimationDescription:

[legend]
Collaboration diagram for StatTrafoAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about TrafoAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: Member List

StatTrafoAnimationDescription Member List

This is the complete list of members for StatTrafoAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:02 2012 for SceniX


SceniX: StatTransform Class Reference

nvtraverser::StatTransform

StatTransform Class Reference

Class to hold statistics information about Transform objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTransform:

[legend]
Collaboration diagram for StatTransform:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about Transform objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:01 2012 for SceniX


SceniX: Member List

StatTransform Member List

This is the complete list of members for StatTransform, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_childrenHistogram | StatGroup |
m_count | StatisticsBase |
m_numberOfChildren | StatGroup |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatGroup() (defined in StatGroup) | StatGroup | [inline]
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:01 2012 for SceniX


SceniX: StatTriangles Class Reference

nvtraverser::StatTriangles

StatTriangles Class Reference

Class to hold statistics information about Triangles objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTriangles:

[legend]
Collaboration diagram for StatTriangles:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfFaces
Counts the number of faces.

Detailed Description

Class to hold statistics information about Triangles objects.

Member Data Documentation

unsigned int m_numberOfFaces

Counts the number of faces.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:57 2012 for SceniX


SceniX: Member List

StatTriangles Member List

This is the complete list of members for StatTriangles, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfFaces | StatTriangles |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatTriangles() (defined in StatTriangles) | StatTriangles | [inline]

Generated on Fri Jul 13 13:30:57 2012 for SceniX


SceniX: StatTriFans Class Reference

nvtraverser::StatTriFans

StatTriFans Class Reference

Class to hold statistics information about TriFans objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTriFans:

[legend]
Collaboration diagram for StatTriFans:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfFaces
Counts the number of faces.

Detailed Description

Class to hold statistics information about TriFans objects.

Member Data Documentation

unsigned int m_numberOfFaces

Counts the number of faces.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:57 2012 for SceniX


SceniX: Member List

StatTriFans Member List

This is the complete list of members for StatTriFans, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfFaces | StatTriFans |
m_numberOfStrips | StatStrippedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatStrippedPrimitiveSet() (defined in StatStrippedPrimitiveSet) | StatStrippedPrimitiveSet | [inline]
StatTriFans() (defined in StatTriFans) | StatTriFans | [inline]

Generated on Fri Jul 13 13:30:57 2012 for SceniX


SceniX: StatTriPatches Class Reference

nvtraverser::StatTriPatches

StatTriPatches Class Reference

Class to hold statistics information about TriPatches objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTriPatches:

[legend]
Collaboration diagram for StatTriPatches:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about TriPatches objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:55 2012 for SceniX


SceniX: StatTriPatches4 Class Reference

nvtraverser::StatTriPatches4

StatTriPatches4 Class Reference

Class to hold statistics information about TriPatches4 objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTriPatches4:

[legend]
Collaboration diagram for StatTriPatches4:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about TriPatches4 objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:55 2012 for SceniX


SceniX: Member List

StatTriPatches4 Member List

This is the complete list of members for StatTriPatches4, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:55 2012 for SceniX


SceniX: StatTriStrips Class Reference

nvtraverser::StatTriStrips

StatTriStrips Class Reference

Class to hold statistics information about TriStrips objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatTriStrips:

[legend]
Collaboration diagram for StatTriStrips:

[legend]
List of all members.

Public Attributes

unsigned int m_numberOfFaces
Counts the number of faces.

Detailed Description

Class to hold statistics information about TriStrips objects.

Member Data Documentation

unsigned int m_numberOfFaces

Counts the number of faces.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: Member List

StatTriStrips Member List

This is the complete list of members for StatTriStrips, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfFaces | StatTriStrips |
m_numberOfStrips | StatStrippedPrimitiveSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatStrippedPrimitiveSet() (defined in StatStrippedPrimitiveSet) | StatStrippedPrimitiveSet | [inline]
StatTriStrips() (defined in StatTriStrips) | StatTriStrips | [inline]

Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: StatVertexAttributeAnimation Class Reference

nvtraverser::StatVertexAttributeAnimation

StatVertexAttributeAnimation Class Reference

Class to hold statistics information about VertexAttributeAnimation objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatVertexAttributeAnimation:

[legend]
Collaboration diagram for StatVertexAttributeAnimation:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about VertexAttributeAnimation objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: Member List

StatVertexAttributeAnimation Member List

This is the complete list of members for StatVertexAttributeAnimation, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:30:58 2012 for SceniX


SceniX: StatVertexAttributeAnimationDescription Class Reference

nvtraverser::StatVertexAttributeAnimationDescription

StatVertexAttributeAnimationDescription Class Reference

Class to hold statistics information about VertexAttributeAnimationDescription objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatVertexAttributeAnimationDescription:

[legend]
Collaboration diagram for StatVertexAttributeAnimationDescription:

[legend]
List of all members.

Detailed Description

Class to hold statistics information about VertexAttributeAnimationDescription objects.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: Member List

StatVertexAttributeAnimationDescription Member List

This is the complete list of members for StatVertexAttributeAnimationDescription, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]

Generated on Fri Jul 13 13:31:03 2012 for SceniX


SceniX: StatVertexAttributeSet Class Reference

nvtraverser::StatVertexAttributeSet

StatVertexAttributeSet Class Reference

Class to hold statistics information about VertexAttributeSet objects. More...

#include <StatisticsTraverser.h>

Inheritance diagram for StatVertexAttributeSet:

[legend]
Collaboration diagram for StatVertexAttributeSet:

[legend]
List of all members.

Public Attributes

unsigned int | m_numberOfVertices
Counts the number of vertices.
unsigned int | m_numberOfNormaled
Counts the number of VertexAttributeSet objects with normals.
unsigned int | m_numberOfNormals
Counts the number of normals.
unsigned int | m_numberOfTextured
Counts the number of VertexAttributeSet objects with texture coordinates.
unsigned int | m_numberOfTextureUnits
Counts the number of used texture units.
unsigned int | m_numberOfTextureDimensions
Counts the number of texture dimensions.
unsigned int | m_numberOfTextures [8]
Counts the number of texture coordinates per texture unit.
unsigned int | m_numberOfColored
Counts the number of VertexAttributeSet objects with colors.
unsigned int | m_numberOfColors
Counts the number of colors.
unsigned int | m_numberOfSecondaryColored
Counts the number of VertexAttributeSet objects with secondary colors.
unsigned int | m_numberOfSecondaryColors
Counts the number of secondary colors.
unsigned int | m_numberOfFogged
Counts the number of VertexAttributeSet objects with fog coordinates.
unsigned int | m_numberOfFogCoords
Counts the number of fog coordinates.

Detailed Description

Class to hold statistics information about VertexAttributeSet objects.

Member Data Documentation

unsigned int m_numberOfVertices

Counts the number of vertices.

unsigned int m_numberOfNormaled

Counts the number of VertexAttributeSet objects with normals.

unsigned int m_numberOfNormals

Counts the number of normals.

unsigned int m_numberOfTextured

Counts the number of VertexAttributeSet objects with texture coordinates.

unsigned int m_numberOfTextureUnits

Counts the number of used texture units.

unsigned int m_numberOfTextureDimensions

Counts the number of texture dimensions.

unsigned int m_numberOfTextures[8]

Counts the number of texture coordinates per texture unit.

unsigned int m_numberOfColored

Counts the number of VertexAttributeSet objects with colors.

unsigned int m_numberOfColors

Counts the number of colors.

unsigned int m_numberOfSecondaryColored

Counts the number of VertexAttributeSet objects with secondary colors.

unsigned int m_numberOfSecondaryColors

Counts the number of secondary colors.

unsigned int m_numberOfFogged

Counts the number of VertexAttributeSet objects with fog coordinates.

unsigned int m_numberOfFogCoords

Counts the number of fog coordinates.

The documentation for this class was generated from the following file:
  • StatisticsTraverser.h
Generated on Fri Jul 13 13:30:52 2012 for SceniX


SceniX: Member List

StatVertexAttributeSet Member List

This is the complete list of members for StatVertexAttributeSet, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfColored | StatVertexAttributeSet |
m_numberOfColors | StatVertexAttributeSet |
m_numberOfFogCoords | StatVertexAttributeSet |
m_numberOfFogged | StatVertexAttributeSet |
m_numberOfNormaled | StatVertexAttributeSet |
m_numberOfNormals | StatVertexAttributeSet |
m_numberOfSecondaryColored | StatVertexAttributeSet |
m_numberOfSecondaryColors | StatVertexAttributeSet |
m_numberOfTextured | StatVertexAttributeSet |
m_numberOfTextureDimensions | StatVertexAttributeSet |
m_numberOfTextures | StatVertexAttributeSet |
m_numberOfTextureUnits | StatVertexAttributeSet |
m_numberOfVertices | StatVertexAttributeSet |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatVertexAttributeSet() (defined in StatVertexAttributeSet) | StatVertexAttributeSet | [inline]

Generated on Fri Jul 13 13:30:52 2012 for SceniX


SceniX: StencilAttribute Class Reference

nvsg::StencilAttribute

StencilAttribute Class Reference

Lets you specify a stencil test to apply to a number of Drawable objects. More...

#include <StencilAttribute.h>

Inheritance diagram for StencilAttribute:

[legend]
Collaboration diagram for StencilAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setStencilFunction (StencilFunction func, int refVal, unsigned int valMask, StencilSide side=SS_FRONT)
Defines the stencil comparison test function.
NVSG_API StencilFunction | getStencilFunction (StencilSide side=SS_FRONT) const
Retrieves the actual test function.
NVSG_API int | getStencilRefenceValue (StencilSide side=SS_FRONT) const
Retrieves the actual reference value.
NVSG_API unsigned int | getStencilValueMask (StencilSide side=SS_FRONT) const
Retrieves the actual value mask.
NVSG_API void | setStencilOperation (StencilOperation fail, StencilOperation zfail, StencilOperation zpass, StencilSide side=SS_FRONT)
Specifies the stencil operation.
NVSG_API StencilOperation | getStencilFailOperation (StencilSide side=SS_FRONT) const
Retrieves the operation to apply if the fragment fails the stencil test.
NVSG_API StencilOperation | getStencilZFailOperation (StencilSide side=SS_FRONT) const
Retrieves the operation to apply if the fragment passes the stencil test, and fails the depth test.
NVSG_API StencilOperation | getStencilZPassOperation (StencilSide side=SS_FRONT) const
Retrieves the operation to apply if the fragment passes the stencil test, and passes the depth test.
NVSG_API void | setStencilSeparateEnabled (bool separate)
Enables or disables whether separate stencil version should be used.
NVSG_API bool | isStencilSeparateEnabled () const
Retrieve the current state for the two-sided stencil usage.
NVSG_API void | setStencilTestingEnabled (bool testing)
Enables or disables the stencil test.
NVSG_API bool | isStencilTestingEnabled () const
Retrieve the current enable state for the stencil test.
NVSG_API void | setStencilWriteMask (unsigned int mask, StencilSide side=SS_FRONT)
Sets the mask used to control writing into the stencil buffer.
NVSG_API unsigned int | getStencilWriteMask (StencilSide side=SS_FRONT) const
Retrieves the current mask that controls writing into the stencil buffer.
NVSG_API bool | isEquivalent (const Object *object, bool ignoreNames, bool deepCompare) const
Tests if two StencilAttributes are equivalent.
REFLECTION_INFO_API (NVSG_API, StencilAttribute)

Static Public Member Functions

static NVSG_API StencilAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | StencilAttribute ()
Default-constructs a StencilAttribute.
NVSG_API | StencilAttribute (const StencilAttribute &rhs)
Copy-constructs a StencilAttribute from source StencilAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Classes

struct | StencilFace

Detailed Description

Lets you specify a stencil test to apply to a number of Drawable objects.

Remarks:
The StencilAttribute provides an API that lets you specify a particular stencil test and the corresponding operation on the pixel value in the stencil buffer that should be applied depending on the stencil test result.

Constructor & Destructor Documentation

NVSG_API StencilAttribute ( ) [protected]

Default-constructs a StencilAttribute.

Remarks:
This constructor will be called on instantiation through StencilAttribute::create(). Stencil testing is disabled by default, and the stencil write mask is initialized to all 1s. The compare function is initialized to SF_ALWAYS, the reference value is set to 0, and the value mask is set to all 1s by default. All operations, fail, zfail, and zpass, will be initialized to SO_KEEP.

NVSG_API StencilAttribute ( const StencilAttribute & rhs ) [protected]

Copy-constructs a StencilAttribute from source StencilAttribute.

Parameters:
rhs StencilAttribute object that is taken as source copy.
Remarks:
This copy-constructor will be called when StencilAttributeHandle::clone gets invoked. It completely copies the state of the right-hand-sided object.

Member Function Documentation

NVSG_API void setStencilFunction | ( | StencilFunction | func,
 |  | int | refVal,
 |  | unsigned int | valMask,
 |  | StencilSide | side = SS_FRONT
 | ) |

Defines the stencil comparison test function.

Parameters:
func | Specifies the comparison function. The function can be SF_NEVER, SF_ALWAYS, SF_LESS, SF_LESS_OR_EQUAL, SF_EQUAL, SF_GREATER_OR_EQUAL, SF_GREATER, or SF_NOT_EQUAL.
refVal | Reference value to compare with the pixel value in the stencil buffer.
valMask | Specifies which bits of the reference value and the pixel value in the stencil buffer should be considered for comparison.
Remarks:
The stencil test takes place only if there is a stencil buffer. If no stencil buffer was configured, the stencil test always passes. The test function compares the reference value with the value stored at a pixel in the stencil buffer. The comparison applies only to those bits where the corresponding bits of the value mask are 1. Depending on the test result, the value in the stencil buffer is modified according to the stencil operations that can be specified through setStencilOperation. The stencil test only applies if the test explicitly was enabled through setStencilTestingEnabled.
See also:
setStencilOperation, setStencilTestingEnabled

NVSG_API StencilFunction getStencilFunction ( StencilSide side = SS_FRONT ) const

Retrieves the actual test function.

Returns:
The function returns the comparison function identifier last specified through setStencilFunction.
See also:
setStencilFunction, getStencilReferenceValue, getStencilValueMask

NVSG_API int getStencilRefenceValue ( StencilSide side = SS_FRONT ) const

Retrieves the actual reference value.

Returns:
The function returns the reference value last specified through setStencilFunction.
See also:
setStencilFunction, getStencilFunction, getStencilValueMask

NVSG_API unsigned int getStencilValueMask ( StencilSide side = SS_FRONT ) const

Retrieves the actual value mask.

Returns:
The function returns the value mask last specified through setStencilFunction.
See also:
setStencilFunction, getStencilFunction, getStencilReferenceValue

NVSG_API void setStencilOperation | ( | StencilOperation | fail,
 |  | StencilOperation | zfail,
 |  | StencilOperation | zpass,
 |  | StencilSide | side = SS_FRONT
 | ) |

Specifies the stencil operation.

Parameters:
fail | The operation to apply if the fragment fails the stencil test.
zfail | The operation to apply if the fragment passes the stencil test, and fails the depth test.
zpass | The operation to apply if the fragment passes the stencil test, and passes the depth test.
Remarks:
This function specifies how data in the stencil buffer is modified when a fragment passes or fails the stencil test specified through setStencilFunction. Modifications only apply to those bit planes for which the corresponding bits in the stencil mask are set to 1. Use setStencilWriteMask to define the actual stencil write mask. The three operations, fail, zfail, and zpass, can be SO_KEEP, SO_ZERO, SO_REPLACE, SO_INCREMENT, SO_INCREMENT_WRAP, SO_DECREMENT, SO_DECREMENT_WRAP, or SO_INVERT. They correspond to keeping the current value, replacing it with zero, replacing it with the reference value specified through setStencilFunction, incrementing it, decrementing it, and bitwise-inverting it. The result of increment and decrement is clamped from 0 to the maximum stencil buffer value unless the wrap version is used.
See also:
setStencilFunction, setStencilWriteMask

NVSG_API StencilOperation getStencilFailOperation ( StencilSide side = SS_FRONT ) const

Retrieves the operation to apply if the fragment fails the stencil test.

Returns:
The function returns the fail operation last specified through setStencilOperation.
See also:
getStencilZFailOperation, getStencilZPassOperation, setStencilOperation.

NVSG_API StencilOperation getStencilZFailOperation ( StencilSide side = SS_FRONT ) const

Retrieves the operation to apply if the fragment passes the stencil test, and fails the depth test.

Returns:
The function returns the zfail operation last specified through setStencilOperation.
See also:
getStencilFailOperation, getStencilZPassOperation, setStencilOperation.

NVSG_API StencilOperation getStencilZPassOperation ( StencilSide side = SS_FRONT ) const

Retrieves the operation to apply if the fragment passes the stencil test, and passes the depth test.

Returns:
The function returns the zpass operation last specified through setStencilOperation.
See also:
getStencilFailOperation, getStencilZFailOperation, setStencilOperation.

NVSG_API void setStencilSeparateEnabled ( bool separate )

Enables or disables whether separate stencil version should be used.

Parameters:
twoSided Indicates if testing should be enabled or disabled. Pass true for using separate stencil states for front and back faces, and false to only use the front values for all.
See also:
isStencilSeparate

NVSG_API bool isStencilSeparateEnabled ( ) const

Retrieve the current state for the two-sided stencil usage.

Returns:
The function returns true if the separate variant is used. Otherwise it returns false.
See also:
setStencilSeparate

NVSG_API void setStencilTestingEnabled ( bool testing )

Enables or disables the stencil test.

Parameters:
testing Indicates if testing should be enabled or disabled. Pass true for enabling the stencil test, and false to disable the test again.
See also:
isStencilTestingEnabled, setStencilWriteMask

NVSG_API bool isStencilTestingEnabled ( ) const

Retrieve the current enable state for the stencil test.

Returns:
The function returns true if the stencil test is enabled. Otherwise it returns false.
See also:
setStencilTestingEnabled

NVSG_API void setStencilWriteMask | ( | unsigned int | mask,
 |  | StencilSide | side = SS_FRONT
 | ) |

Sets the mask used to control writing into the stencil buffer.

Parameters:
mask Specifies the write mask to control writing into the stencil buffer.
Remarks:
Bits in the stencil buffer will only be written to if their corresponding bits in the write mask are set to 1. Bits in the stencil buffer will not be written if their corresponding bits in the write mask are set to 0.
See also:
setStencilTestingEnabled, getStencilWriteMask

NVSG_API unsigned int getStencilWriteMask ( StencilSide side = SS_FRONT ) const

Retrieves the current mask that controls writing into the stencil buffer.

Returns:
The function returns the write mask last specified through setStencilWriteMask.
See also:
setStencilWriteMask

NVSG_API bool isEquivalent | ( | const Object * | object,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Tests if two StencilAttributes are equivalent.

Parameters:
object | The Object to compare with this StencilAttribute.
ignoreNames | If true, Object names are not considered for testing.
deepCompare | This parameter does not apply to StencilAttribute comparison, and will be ignored.
Returns:
The function returns true if this StencilAttribute can be considered equivalent to the Object passed through object. Otherwise, the function returns false.
Remarks:
This function overrides Object's base implementation to provide comparison between two StencilAttributes.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • StencilAttribute.h
Generated on Fri Jul 13 13:30:25 2012 for SceniX


SceniX: Member List

StencilAttribute Member List

This is the complete list of members for StencilAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in StencilAttribute) | StencilAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StencilAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getStencilFailOperation(StencilSide side=SS_FRONT) const | StencilAttribute |
getStencilFunction(StencilSide side=SS_FRONT) const | StencilAttribute |
getStencilRefenceValue(StencilSide side=SS_FRONT) const | StencilAttribute |
getStencilValueMask(StencilSide side=SS_FRONT) const | StencilAttribute |
getStencilWriteMask(StencilSide side=SS_FRONT) const | StencilAttribute |
getStencilZFailOperation(StencilSide side=SS_FRONT) const | StencilAttribute |
getStencilZPassOperation(StencilSide side=SS_FRONT) const | StencilAttribute |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const | StencilAttribute | [virtual]
isStencilSeparateEnabled() const | StencilAttribute |
isStencilTestingEnabled() const | StencilAttribute |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, StencilAttribute) (defined in StencilAttribute) | StencilAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setStencilFunction(StencilFunction func, int refVal, unsigned int valMask, StencilSide side=SS_FRONT) | StencilAttribute |
setStencilOperation(StencilOperation fail, StencilOperation zfail, StencilOperation zpass, StencilSide side=SS_FRONT) | StencilAttribute |
setStencilSeparateEnabled(bool separate) | StencilAttribute |
setStencilTestingEnabled(bool testing) | StencilAttribute |
setStencilWriteMask(unsigned int mask, StencilSide side=SS_FRONT) | StencilAttribute |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
StencilAttribute() | StencilAttribute | [protected]
StencilAttribute(const StencilAttribute &rhs) | StencilAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]

Generated on Fri Jul 13 13:30:25 2012 for SceniX


SceniX: str_t Struct Reference

str_t Struct Reference

The str_t structure specifies how a string is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numChars
uint_t chars
Specifies the file offset to the string characters.

Detailed Description

The str_t structure specifies how a string is stored in a .NBF file.

Member Data Documentation

uint_t numChars

Specifies the number of characters in the actual string, not including the terminating null character.

uint_t chars

Specifies the file offset to the string characters.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

str_t Member List

This is the complete list of members for str_t, including all inherited members.

chars | str_t
numChars | str_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: StrippedPrimitiveSet Class Reference

nvsg::StrippedPrimitiveSet

StrippedPrimitiveSet Class Reference

Abstract base class for PrimitiveSet objects with points organized as strips. More...

#include <StrippedPrimitiveSet.h>

Inheritance diagram for StrippedPrimitiveSet:

[legend]
Collaboration diagram for StrippedPrimitiveSet:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API | ~StrippedPrimitiveSet (void)
Destructs a StrippedPrimitiveSet.
virtual NVSG_API bool | isDataShared (void) const
Query whether the data of this StrippedPrimitiveSet is shared with other StrippedPrimitiveSet objects.
virtual NVSG_API DataID | getDataID (void) const
Get the unique data identifier of this object.
NVSG_API bool | hasStrips (void) const
Query if this StrippedPrimitiveSet has strips.
NVSG_API unsigned int | getNumberOfStrips (void) const
Get the number of strips.
NVSG_API const IndexList * | getStrips () const
Get a pointer to the strips.
NVSG_API void | setStrips (const IndexList *strips, unsigned int numStrips)
Set the strips of this StrippedPrimitiveSet.
NVSG_API void | setStrips (unsigned int pos, const IndexList *strips, unsigned int numStrips)
Set a subset of strips of this StrippedPrimitiveSet.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other StrippedPrimitiveSet.
REFLECTION_INFO_API (NVSG_API, StrippedPrimitiveSet)

Protected Member Functions

NVSG_API | StrippedPrimitiveSet (void)
Protected constructor to prevent explicit creation.
NVSG_API | StrippedPrimitiveSet (const StrippedPrimitiveSet &rhs)
Protected copy constructor to prevent explicit creation.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this StrippedPrimitiveSet.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculate the bounding sphere of this StrippedPrimitiveSet.
NVSG_API StrippedPrimitiveSet & | operator= (const StrippedPrimitiveSet &rhs)
Assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Abstract base class for PrimitiveSet objects with points organized as strips.

Namespace: nvsg
Remarks:
This class holds a vector of IndexLists used in stripped primitives like LineStrips, QuadStrips, and TriStrips. The strips are defined by a vector of IndexList elements. Each IndexList is a std::vector<unsigned int> and represents one strip.
See also:
IndependentPrimitiveSet, LineStrips, MeshedPrimitiveSet, QuadStrips, TriStrips

Constructor & Destructor Documentation

virtual NVSG_API ~StrippedPrimitiveSet ( void ) [virtual]

Destructs a StrippedPrimitiveSet.

NVSG_API StrippedPrimitiveSet ( void ) [protected]

Protected constructor to prevent explicit creation.

Remarks:
The newly created StrippedPrimitiveSet has no strips.
Note:
A StrippedPrimitiveSet will not be instantiated directly, but through instantiating a derived object like QuadStrips for example.

NVSG_API StrippedPrimitiveSet ( const StrippedPrimitiveSet & rhs ) [protected]

Protected copy constructor to prevent explicit creation.

Parameters:
rhs A reference to the constant StrippedPrimitiveSet to copy from.
Remarks:
The newly created StrippedPrimitiveSet is copied from rhs.
Note:
A StrippedPrimitiveSet will not be instantiated directly, but through instantiating a derived object like QuadStrips for example.

Member Function Documentation

virtual NVSG_API bool isDataShared ( void ) const [virtual]

Query whether the data of this StrippedPrimitiveSet is shared with other StrippedPrimitiveSet objects.

Returns:
true, if the data of this StrippedPrimitiveSet is shared with other StrippedPrimitiveSet objects, otherwise false.
Remarks:
A StrippedPrimitiveSet object shares it's data with another StrippedPrimitiveSet object, if it was either instantiated as a copy of the other, using StrippedPrimitiveSet::clone, or if it was assigned to by the other object using the assignment operator. In that case, the two objects have the same DataID.
See also:
clone, getDataID, operator=()

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( void ) const [virtual]

Get the unique data identifier of this object.

Returns:
A 64-bit value that uniquely identifies the embedded data.
Remarks:
A StrippedPrimitiveSet object shares it's data with another StrippedPrimitiveSet object, if it was either instantiated as a copy of the other, using StrippedPrimitiveSet::clone, or if it was assigned to by the other object using the assignment operator. In that case, the two objects have the same DataID.
See also:
clone, isDataShared, operator=()

Reimplemented from Object.

bool hasStrips ( void ) const [inline]

Query if this StrippedPrimitiveSet has strips.

Returns:
true, if this StrippedPrimitiveSet has at least one IndexList, otherwise false.
See also:
getNumberOfStrips, getStrips, setStrips

unsigned int getNumberOfStrips ( void ) const [inline]

Get the number of strips.

Returns:
The number of strips of this StrippedPrimitiveSet.
See also:
hasStrips, getStrips, setStrips

const IndexList * getStrips ( ) const [inline]

Get a pointer to the strips.

Returns:
A pointer to the constant IndexList elements of this StrippedPrimitiveSet.
See also:
hasStrips, getNumberOfStrips, setStrips

NVSG_API void setStrips | ( | const IndexList * | strips,
 |  | unsigned int | numStrips
 | ) |

Set the strips of this StrippedPrimitiveSet.

Parameters:
strips | A pointer to the constant IndexList elements to use.
numStrips | The number of meshes.
Remarks:
Copies numStrips strips from strips into this StrippedPrimitiveSet.
Note:
The behaviour is undefined, if there are less than numStrips values of type IndexList located at strips.
See also:
hasStrips, getNumberOfStrips, getStrips

NVSG_API void setStrips | ( | unsigned int | pos,
 |  | const IndexList * | strips,
 |  | unsigned int | numStrips
 | ) |

Set a subset of strips of this StrippedPrimitiveSet.

Parameters:
pos | The start position inside the range of pre-existing strips.
strips | A pointer to the constant strips to use.
numStrips | The number of strips.
Remarks:
Copies numStrips of IndexList elements from strips into this StrippedPrimitiveSet, starting at position pos inside the range of pre-existing strips.
Pre-existing strips in the range [pos, pos + numStrips) will be replaced. Pre-existing strips outside this range remain untouched.
If you specifiy (-1) for pos or pos specifies the number of strips currently stored, the strips pointed to by strips will be appended to the pre-existing strips.
Note:
The behaviour is undefined, if pos is neither a valid position inside the range of pre-existing strips, nor the number of strips currently stored, nor (-1).

The behaviour is undefined, if there are less than numStrips values of type IndexList located at strips.

See also:
hasStrips, getNumberOfStrips, getStrips

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other StrippedPrimitiveSet.

Parameters:
p | A reference to the constant StrippedPrimitiveSet to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the StrippedPrimitiveSet p is equivalent to this, otherwise false.
Remarks:
Two StrippedPrimitiveSet objects are equivalent, if they are equivalent as PrimitiveSet, and all their IndexList elements are pairwise equal.
Note:
The behaviour is undefined if p is not an StrippedPrimitiveSet or derived from one.
See also:
PrimitiveSet

Reimplemented from PrimitiveSet.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this StrippedPrimitiveSet.

Returns:
The axis-aligned bounding box of this StrippedPrimitiveSet.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this StrippedPrimitiveSet.

Reimplemented from Object.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculate the bounding sphere of this StrippedPrimitiveSet.

Returns:
A nvmath::Sphere3f that contains the complete StrippedPrimitiveSet.
Remarks:
This function is called by the framework to determine a sphere that completely contains the StrippedPrimitiveSet.

Reimplemented from Object.

NVSG_API StrippedPrimitiveSet& operator= ( const StrippedPrimitiveSet & rhs ) [protected]

Assignment operator.

Parameters:
rhs A reference to the constant StrippedPrimitiveSet to copy from.
Returns:
A reference to the assigned StrippedPrimitiveSet.
Remarks:
The assignment operator calls the assignment operator of PrimitiveSet and copies the IndexList elements.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from PrimitiveSet.

The documentation for this class was generated from the following file:
  • StrippedPrimitiveSet.h
Generated on Fri Jul 13 13:30:26 2012 for SceniX


SceniX: Member List

StrippedPrimitiveSet Member List

This is the complete list of members for StrippedPrimitiveSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | StrippedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | StrippedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Drawable | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Drawable | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StrippedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | StrippedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfStrips(void) const | StrippedPrimitiveSet | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getStrips() const | StrippedPrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasStrips(void) const | StrippedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared(void) const | StrippedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StrippedPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, StrippedPrimitiveSet) (defined in StrippedPrimitiveSet) | StrippedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setStrips(const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setStrips(unsigned int pos, const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [protected]
StrippedPrimitiveSet(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [virtual]

Generated on Fri Jul 13 13:30:26 2012 for SceniX


SceniX: StrippingTraverser Class Reference

nvtraverser::StrippingTraverser

StrippingTraverser Class Reference

Traverser to convert Triangles to TriStrips, and Quads to QuadStrips. More...

#include <StrippingTraverser.h>

Inheritance diagram for StrippingTraverser:

[legend]
Collaboration diagram for StrippingTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | StrippingTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~StrippingTraverser (void)
Protected destructor to prevent instantiation of a StrippingTraverser.
virtual NVSG_API void | postApply (const nvsg::NodeSharedPtr &root)
Clears internal caches on multiple invocations.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Convert each Primitive of type PRIMITIVE_QUADS or PRIMITIVE_TRIANGLES to PRIMITIVE_QUAD_STRIP and PRIMITIVE_TRIANGLE_STRIP, respectively.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (nvsg::AnimatedVertexAttributeSet *p)
Set the complexVAS flag to true, to prevent stripping Primitives holding an AnimatedVertexAttributeSet.
virtual NVSG_API void | handleSkin (nvsg::Skin *p)
Set the complexVAS flag to true, to prevent stripping Primitives holding a Skin.
virtual NVSG_API bool | optimizationAllowed (const nvsg::Object *p)
Test whether this Object should be optimized.

Detailed Description

Traverser to convert Triangles to TriStrips, and Quads to QuadStrips.

It is strongly recommended to use a VertexUnifyTraverser before using this StrippingTraverser, because it works only on indices.

Constructor & Destructor Documentation

NVSG_API StrippingTraverser ( void )

Constructor.

virtual NVSG_API ~StrippingTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a StrippingTraverser.

Member Function Documentation

virtual NVSG_API void postApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Clears internal caches on multiple invocations.

This in particular is required if the same instance of a StrippingTraverser is invoked multiple times on different root nodes.

Reimplemented from Traverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Convert each Primitive of type PRIMITIVE_QUADS or PRIMITIVE_TRIANGLES to PRIMITIVE_QUAD_STRIP and PRIMITIVE_TRIANGLE_STRIP, respectively.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( nvsg::AnimatedVertexAttributeSet * p ) [protected, virtual]

Set the complexVAS flag to true, to prevent stripping Primitives holding an AnimatedVertexAttributeSet.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSkin ( nvsg::Skin * p ) [protected, virtual]

Set the complexVAS flag to true, to prevent stripping Primitives holding a Skin.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API bool optimizationAllowed ( const nvsg::Object * p ) [protected, virtual]

Test whether this Object should be optimized.

Parameters:
p A pointer to the constant nvsg::Object to test.

The documentation for this class was generated from the following file:
  • StrippingTraverser.h
Generated on Fri Jul 13 13:31:15 2012 for SceniX


SceniX: Member List

StrippingTraverser Member List

This is the complete list of members for StrippingTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *p) | StrippingTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | StrippingTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *p) | StrippingTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *p) | StrippingTraverser | [protected, virtual]
postApply(const nvsg::NodeSharedPtr &root) | StrippingTraverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
StrippingTraverser(void) | StrippingTraverser |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~StrippingTraverser(void) | StrippingTraverser | [protected, virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:31:15 2012 for SceniX


SceniX: StrTokenizer Class Reference

nvutil::StrTokenizer

StrTokenizer Class Reference

Separate a string into tokens. More...

#include <Tools.h>

List of all members.

Public Member Functions

NVSG_API | StrTokenizer (const std::string &delimString)
Create a StrTokenizer with a specified delimiter string.
NVSG_API | ~StrTokenizer ()
Destructor of a StrTokenizer.
NVSG_API void | setInput (const std::string &inputString)
Set the string to tokenize.
NVSG_API const std::string & | getNextToken ()
Get the next token out of the string to tokenize.
NVSG_API bool | hasMoreTokens () const
Check if the input string is completely tokenized.
NVSG_API size_t | findDelimiter (const std::string &delim, size_t startIndex=0) const
finds the next delimiter from startIndex (outside of quotes)

Detailed Description

Separate a string into tokens.

Consecutive calls to getNextToken() return the tokens of inputString that are separated by one or multiple occurences of characters from delimString. If no more tokens are left, an empty string will be returned and hasMoreTokens() will return false.

Constructor & Destructor Documentation

NVSG_API StrTokenizer ( const std::string & delimString ) [explicit]

Create a StrTokenizer with a specified delimiter string.

Parameters:
delimString String holding the delimiter characters.

NVSG_API ~StrTokenizer ( )

Destructor of a StrTokenizer.

Member Function Documentation

NVSG_API void setInput ( const std::string & inputString )

Set the string to tokenize.

Parameters:
inputString The string to tokenize.

NVSG_API const std::string& getNextToken ( )

Get the next token out of the string to tokenize.

Returns:
A string with the next token in the input string.

NVSG_API bool hasMoreTokens ( ) const

Check if the input string is completely tokenized.

Returns:
true, if there are more tokens in the input string, otherwise false.

NVSG_API size_t findDelimiter | ( | const std::string & | delim,
 |  | size_t | startIndex = 0
 | ) | const

finds the next delimiter from startIndex (outside of quotes)

Returns:
the position of the next quoted delimiter.

The documentation for this class was generated from the following file:
  • Tools.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

StrTokenizer Member List

This is the complete list of members for StrTokenizer, including all inherited members.

findDelimiter(const std::string &delim, size_t startIndex=0) const | StrTokenizer |
getNextToken() | StrTokenizer |
hasMoreTokens() const | StrTokenizer |
setInput(const std::string &inputString) | StrTokenizer |
StrTokenizer(const std::string &delimString) | StrTokenizer | [explicit]
~StrTokenizer() | StrTokenizer |

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Subject Class Reference

nvutil::Subject

Subject Class Reference

A Subject is observable by some Oberver objects. More...

#include <Subject.h>

Inheritance diagram for Subject:

[legend]
Collaboration diagram for Subject:

[legend]
List of all members.

Public Types

typedef nvutil::SmartPtr<
Payload > 		SmartPayload

Public Member Functions

NVSG_API void | attach (const ObserverWeakPtr &oh, const SmartPayload &payload) const
Attach an observer to this subject.
NVSG_API bool | isAttached (const ObserverWeakPtr &oh, const SmartPayload &payload) const
Test if an observer is already attached to this subject.
NVSG_API void | detach (const ObserverWeakPtr &oh, const SmartPayload &payload) const
Detach an observer from this subject.
virtual NVSG_API void | notify (const Subject *originator, unsigned int state) const
Notify this subject, that a state has changed.
virtual NVSG_API void | notify (PropertyId propertyId) const
Notify this subject, that the specified property has changed.
NVSG_API void | notifyPostAddChild (const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index)
Notify this subject, that the specified child had been added to the given group.
NVSG_API void | notifyPreRemoveChild (const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index)
Notify this subject, that the specified child will be removed from the given group.
NVSG_API void | notifyPostGroupExchanged (const nvsg::Group *group)
Notify this subject, that the content of the specified group had been exchanged.
NVSG_API void | notifyPostAddLightSource (const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource)
Notify this subject, that the specified lightsource had been added to the given group.
NVSG_API void | notifyPreRemoveLightSource (const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource)
Notify this subject, that the specified lightsource will be removed from the given group.
NVSG_API void | notifyPostAddClipPlane (const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane)
Notify this subject, that the specified clipPlane had been added to the given group.
NVSG_API void | notifyPreRemoveClipPlane (const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane)
Notify this subject, that the specified clipPlane will be removed from the given group.
Subject & | operator= (const Subject &rhs)

Protected Attributes

SWMRSync | m_mutableLock

Classes

struct | Attachments
struct | Payload

Detailed Description

A Subject is observable by some Oberver objects.

Member Function Documentation

NVSG_API void attach | ( | const ObserverWeakPtr & | oh,
 |  | const SmartPayload & | payload
 | ) | const

Attach an observer to this subject.

Parameters:
oh | The Observer to attach.
payload | A refcounted pointer to payload which will be passed on notifications.
Note:
The reference count of the attached observer is not increased, but it needs a valid one to be attached.
See also:
detach

NVSG_API bool isAttached | ( | const ObserverWeakPtr & | oh,
 |  | const SmartPayload & | payload
 | ) | const

Test if an observer is already attached to this subject.

Parameters:
oh The Observer to test
Returns:
true if the given oh already has been attached to this Subject and false otherwise.

NVSG_API void detach | ( | const ObserverWeakPtr & | oh,
 |  | const SmartPayload & | payload
 | ) | const

Detach an observer from this subject.

Parameters:
oh | The Observer to detach.
payload | A refcounted pointer to payload which will be passed on notifications.
Note:
The reference count of the detached observer is not decreased, but it needs a valid one to be detached.
See also:
attach

virtual NVSG_API void notify | ( | const Subject * | originator,
 |  | unsigned int | state
 | ) | const [virtual]

Notify this subject, that a state has changed.

Parameters:
state | A bitfield indicating which state has changed.
originator | Pointer to the object that this event came from.
Note:
Every Observer of this Subject is write-locked, and its update(state) function is called.

virtual NVSG_API void notify ( PropertyId propertyId ) const [virtual]

Notify this subject, that the specified property has changed.

Parameters:
propertyId The ID of the property that changed.
Note:
Every Observer of this Subject is write-locked, and its update(propertyId) function is called.

NVSG_API void notifyPostAddChild | ( | const nvsg::Group * | group,
 |  | const nvsg::NodeSharedPtr & | child,
 |  | unsigned int | index
 | ) |

Notify this subject, that the specified child had been added to the given group.

Parameters:
group | The group the child was added to.
child | The child which was added to the group.
index | The index the child was added at.

NVSG_API void notifyPreRemoveChild | ( | const nvsg::Group * | group,
 |  | const nvsg::NodeSharedPtr & | child,
 |  | unsigned int | index
 | ) |

Notify this subject, that the specified child will be removed from the given group.

Parameters:
group | The group the child will be removed from.
child | The child to be removed from the group.
index | The index the child will be removed from.

NVSG_API void notifyPostGroupExchanged ( const nvsg::Group * group )

Notify this subject, that the content of the specified group had been exchanged.

Parameters:
group The group whose content had been exchanged.

NVSG_API void notifyPostAddLightSource | ( | const nvsg::Group * | group,
 |  | const nvsg::LightSourceSharedPtr & | lightSource
 | ) |

Notify this subject, that the specified lightsource had been added to the given group.

Parameters:
group | The group the lightsource was added to.
lightSource | The lightsource which was added to the group.

NVSG_API void notifyPreRemoveLightSource | ( | const nvsg::Group * | group,
 |  | const nvsg::LightSourceSharedPtr & | lightSource
 | ) |

Notify this subject, that the specified lightsource will be removed from the given group.

Parameters:
group | The group the lightsource will be removed from.
lightSource | The lightsource to be removed from the group.

NVSG_API void notifyPostAddClipPlane | ( | const nvsg::Group * | group,
 |  | const nvsg::ClipPlaneSharedPtr & | clipPlane
 | ) |

Notify this subject, that the specified clipPlane had been added to the given group.

Parameters:
group | The group the clipplane was added to.
clipPlane | The clipplane which was added to the group.

NVSG_API void notifyPreRemoveClipPlane | ( | const nvsg::Group * | group,
 |  | const nvsg::ClipPlaneSharedPtr & | clipPlane
 | ) |

Notify this subject, that the specified clipPlane will be removed from the given group.

Parameters:
group | The group the clipplane will be removed from.
clipPlane | The clipplane to be removed from the group.

The documentation for this class was generated from the following file:
  • Subject.h
Generated on Fri Jul 13 13:31:31 2012 for SceniX


SceniX: Member List

Subject Member List

This is the complete list of members for Subject, including all inherited members.

attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
m_mutableLock (defined in Subject) | Subject | [protected]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
~Subject() (defined in Subject) | Subject |

Generated on Fri Jul 13 13:31:31 2012 for SceniX


SceniX: Switch Class Reference

nvsg::Switch

Switch Class Reference

Switch node. More...

#include <Switch.h>

Inheritance diagram for Switch:

[legend]
Collaboration diagram for Switch:

[legend]
List of all members.

Public Types

typedef unsigned int | MaskKey
An unsigned integer identifier.
typedef std::set< unsigned
int > 		SwitchMask
A container whose children are of type unsigned int.
typedef std::map< MaskKey,
SwitchMask >::const_iterator 		MaskIterator
A typedef helper to use when iterating the switches masks.
enum | { DEFAULT_MASK_KEY = ~0 }
The key used for the default mask. Cannot be added or removed, but can be modified and made active. More...

Public Member Functions

NVSG_API void | setActive ()
Set all children of this Switch active.
NVSG_API void | setActive (unsigned int index)
Make the specified child of the Switch active.
NVSG_API void | setInactive ()
Set all children of the Switch to inactive.
NVSG_API void | setInactive (unsigned int index)
Make the specified child of the Switch inactive.
NVSG_API unsigned int | getNumberOfActive () const
Get the number of active children.
NVSG_API unsigned int | getActive (std::vector< unsigned int > &indices) const
Get indices to active child nodes.
NVSG_API bool | isActive () const
Test if any of the children are active.
NVSG_API bool | isActive (unsigned int index) const
Test if the specified child is active.
NVSG_API Switch & | operator= (const Switch &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other Switch.
NVSG_API unsigned int | getNumberOfMasks () const
Get the number of masks in this switch.
NVSG_API MaskIterator | getFirstMaskIterator () const
Get the first mask iterator.
NVSG_API MaskIterator | getLastMaskIterator () const
Get one past the last mask iterator.
NVSG_API MaskIterator | getCurrentMaskIterator () const
Get the current mask iterator.
NVSG_API MaskIterator | getNextMaskIterator (MaskIterator it) const
Get the next mask iterator.
NVSG_API MaskKey | getMaskKey (MaskIterator it) const
Extract the mask key from a MaskIterator.
NVSG_API const SwitchMask & | getSwitchMask (MaskIterator it) const
Extract the switch mask from a MaskIterator.
NVSG_API MaskKey | getActiveMaskKey () const
Get the key of the active mask.
NVSG_API void | setActiveMaskKey (MaskKey k)
Set the active mask to the one that was registered with the given MaskKey.
NVSG_API void | addMask (MaskKey key, const SwitchMask &sm)
Add a new mask to the set of masks for this switch.
NVSG_API bool | removeMask (MaskKey key)
Remove a mask from the set of masks for this switch.
NVSG_API const SwitchMask & | getActiveSwitchMask () const
Retrieve the active SwitchMask of this switch.
REFLECTION_INFO_API (NVSG_API, Switch)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (ActiveMaskKey)
NVSG_API | DECLARE_STATIC_PROPERTY (ActiveSwitchMask)

Static Public Member Functions

static NVSG_API SwitchSharedPtr | create ()

Protected Types

typedef std::map< MaskKey,
SwitchMask >::iterator 		NonConstMaskIterator
An internal const typedef helper to use when iterating the switches masks.

Protected Member Functions

NVSG_API | Switch ()
Default-constructs a Switch.
NVSG_API | Switch (const Switch &rhs)
Constructs a Switch as a copy of another Switch.
virtual NVSG_API | ~Switch ()
Destructs a Switch.
virtual NVSG_API void | init ()
initializes internal data structures
virtual NVSG_API void | postRemoveChild (unsigned int index)
Called from the framework immediately after a child has been removed from the Switch.
virtual NVSG_API void | postAddChild (unsigned int index)
Called from the framework immediately after a child was added to the Switch.
virtual NVSG_API void | postActivateChild (unsigned int index)
virtual NVSG_API void | postDeactivateChild (unsigned int index)
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this Switch.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere (void) const
Called from the framework if re-calculation of the Group's bounding sphere is required.
virtual NVSG_API unsigned
short 		determineHintsContainment (unsigned short hints) const
virtual NVSG_API bool | determineTransparencyContainment () const
virtual NVSG_API bool | determineShaderContainment () const
virtual NVSG_API bool | determineLightContainment () const
virtual NVSG_API bool | determineLODContainment () const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Switch node.

Namespace: nvsg
Remarks:
A Switch node is a special kind of grouping node where one can define which children will be traversed and which will not (active/inactive children).
The Switch node in this case is a special node. It can be thought of as a Dip Switch where you can turn on and off the traversal of several children at the same time.

The primary method of controlling switches is through masks. Masks consist of a MaskKey and a SwitchMask describing the set of children that will become in/active when this Mask is activated. Any number of masks may be added to the switch. Once a mask has been activated the individual children within that mask may also be manipulated using the older setActive/setInactive API, if desired. Note that any changes to the active mask through the set[In]Active interface will permanently change that mask - no temporary copy of each mask is created when it is set active.

Every switch also contains a default mask (named DEFAULT_MASK_KEY). The default mask is created when the switch node is constructed, and remains active if no other switch masks are activated. This allows the switch to operate as it used to with the older API.
Example - using Masks
  mask: 0 - children (0, 2, 3)
  mask: 1 - children (0, 3)
  mask: 997 - children ( 1, 2 )

                 sw
                 |
     -----------------------
     |      |       |      |
     c0     c1      c2     c3

  [...]
  // create the masks
  Switch::MaskKey key0 = 0, key1 = 1, key997 = 997;
  Switch::SwitchMask mask;

  mask.insert( 0 );
  mask.insert( 2 );
  mask.insert( 3 );
  sw->addMask( key0, mask );

  mask.clear();

  mask.insert( 0 );
  mask.insert( 3 );
  sw->addMask( key1, mask );

  mask.clear();

  mask.insert( 1 );
  mask.insert( 2 );
  sw->addMask( key997, mask );

  sw->setActiveMask( key0 );  // mask with key = 0, children 0,2,3 active
                                                    the rest inactive
  sw->setActiveMask( key1 );  // mask with key = 1, children 0,3 active
                                                    the rest inactive
  [...]
Example - Individual Node (older) API
                 sw
                 |
     -----------------------
     |      |       |      |
     c0     c1      c2     c3

  [...]
  sw->setInactive();  // set all children in this mask inactive
  sw->setActive(0);   // set child c0 active in this mask
  sw->setActive(3);   // set child c3 active in this mask
  [...]
In this sample only C0 and C3 will be active and traversed.

Member Typedef Documentation

typedef unsigned int MaskKey

An unsigned integer identifier.

typedef std::set<unsigned int> SwitchMask

A container whose children are of type unsigned int.

Remarks:
Add/remove elements using the standard c++ library container methods.

typedef std::map<MaskKey,SwitchMask>::const_iterator MaskIterator

A typedef helper to use when iterating the switches masks.

See also:
getSwitchMask, getMaskKey

typedef std::map<MaskKey,SwitchMask>::iterator NonConstMaskIterator [protected]

An internal const typedef helper to use when iterating the switches masks.

Member Enumeration Documentation

anonymous enum

The key used for the default mask. Cannot be added or removed, but can be modified and made active.

Constructor & Destructor Documentation

NVSG_API Switch ( ) [protected]

Default-constructs a Switch.

NVSG_API Switch ( const Switch & rhs ) [protected]

Constructs a Switch as a copy of another Switch.

virtual NVSG_API ~Switch ( ) [protected, virtual]

Destructs a Switch.

Member Function Documentation

NVSG_API void setActive ( )

Set all children of this Switch active.

Remarks:
Make all children within the current mask visible so all traversers traverse them.
See also:
setInactive, setActiveMask

NVSG_API void setActive ( unsigned int index )

Make the specified child of the Switch active.

Parameters:
index Zero-based index of the child. Providing an invalid index will lead to undefined behavior.
Remarks:
This function makes the specified child visible within the current mask so all traversers traverse it.
Currently active children will stay active within this mask.
See also:
setInactive, setActiveMask

NVSG_API void setInactive ( )

Set all children of the Switch to inactive.

Remarks:
Make all children invisible within the current mask so no traverser traverses them.
See also:
setActive, setActiveMask, isActive

NVSG_API void setInactive ( unsigned int index )

Make the specified child of the Switch inactive.

Parameters:
index Zero-based index of the child. Providing an invalid index will lead to undefined behavior.
Remarks:
This function makes the specified child invisible within the current mask so no traverser traverses it.
Currently inactive children will stay inactive.
See also:
setInactive, setActiveMask, isActive

NVSG_API unsigned int getNumberOfActive ( ) const

Get the number of active children.

Returns:
Number of active children.
Remarks:
This function determines the number of active children within the current mask under this Switch.
See also:
setActive, setInactive, setActiveMask, isActive

NVSG_API unsigned int getActive ( std::vector< unsigned int > & indices ) const

Get indices to active child nodes.

Parameters:
indices Reference to a vector that will hold the returned indices.
Returns:
The number of indices copied to /a indices.
Remarks:
Copies the indices of all active child nodes within the current mask to the vector /a indices.
The internal format a Switch uses for storing indices is unsigned int, which expands to 32-bit for 32-bit environments and 64-bit for 64-bit environments.
See also:
setActive, setInactive, isActive

NVSG_API bool isActive ( ) const

Test if any of the children are active.

Returns:
This function returns true when at least one of the children is active.
Remarks:
This function can be used to test if this Switch has at least one active child within the current mask.
See also:
setActive, setInactive, isActive

NVSG_API bool isActive ( unsigned int index ) const

Test if the specified child is active.

Parameters:
index Zero-based index of the child.
Returns:
This function returns true when the specified child is active within the current mask.
Remarks:
This function can be used to test if a specific child is active within the current mask.
See also:
setActive, setActiveMask, setInactive, isActive

NVSG_API Switch& operator= ( const Switch & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Switch to copy from.
Returns:
A reference to the assigned Switch.
Remarks:
The assignment operator performs a deep copy and calls the assignment operator of Group.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other Switch.

Parameters:
p | A pointer to the Switch to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the Switch p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as a Group, they are equivalent if they have the same anti-aliasing state, stipple factor, stipple pattern, and width.
See also:
Group

Reimplemented from Group.

NVSG_API unsigned int getNumberOfMasks ( ) const

Get the number of masks in this switch.

Returns:
unsigned int number of masks.
Remarks:
the number of masks will always be >= 1.
See also:
Group

NVSG_API MaskIterator getFirstMaskIterator ( ) const

Get the first mask iterator.

Returns:
MaskIterator of the first in the list.
See also:
MaskIterator

NVSG_API MaskIterator getLastMaskIterator ( ) const

Get one past the last mask iterator.

Returns:
MaskIterator of one past the last in the list.
See also:
MaskIterator

NVSG_API MaskIterator getCurrentMaskIterator ( ) const

Get the current mask iterator.

Returns:
MaskIterator of the current mask.
See also:
MaskIterator

NVSG_API MaskIterator getNextMaskIterator ( MaskIterator it ) const

Get the next mask iterator.

Parameters:
it A MaskIterator obtained from a call to getFirstMaskIterator
Returns:
MaskIterator of one next in the list.
See also:
MaskIterator

NVSG_API MaskKey getMaskKey ( MaskIterator it ) const

Extract the mask key from a MaskIterator.

Parameters:
it A MaskIterator obtained from a call to getFirstMaskIterator
Returns:
MaskKey contained in the MaskIterator.
See also:
MaskIterator, MaskKey

NVSG_API const SwitchMask& getSwitchMask ( MaskIterator it ) const

Extract the switch mask from a MaskIterator.

Parameters:
it A MaskIterator obtained from a call to getFirstMaskIterator
Returns:
SwitchMask contained in the MaskIterator.
See also:
MaskIterator, SwitchMask

NVSG_API MaskKey getActiveMaskKey ( ) const

Get the key of the active mask.

Returns:
MaskKey representing the active mask.
See also:
MaskKey

NVSG_API void setActiveMaskKey ( MaskKey k )

Set the active mask to the one that was registered with the given MaskKey.

Parameters:
k A MaskKey which was previously registered with addMask.
Note:
If the given MaskKey is unknown by this Switch (was never added using addMask), the call will be silently ignored, and the active mask will be unchanged.
See also:
MaskKey

NVSG_API void addMask | ( | MaskKey | key,
 |  | const SwitchMask & | sm
 | ) |

Add a new mask to the set of masks for this switch.

Parameters:
key | A MaskKey to use to refer to this mask later.
sm | A SwitchMask containing the children to activate when this mask is active.
Remarks:
All keys are considered unique, so adding a mask with the same key as an existing mask will silently replace the existing mask.
See also:
removeMask, SwitchMask, MaskKey

NVSG_API bool removeMask ( MaskKey key )

Remove a mask from the set of masks for this switch.

Parameters:
key The MaskKey to remove.
Returns:
bool Signifying whether a mask with that key was found.
Remarks:
You must not remove the mask identified by the DEFAULT_MASK_KEY. Doing so, would result in undefined behavior.
See also:
removeMask, SwitchMask, MaskKey

NVSG_API const SwitchMask& getActiveSwitchMask ( ) const

Retrieve the active SwitchMask of this switch.

Returns:
The active SwitchMask.

virtual NVSG_API void init ( ) [protected, virtual]

initializes internal data structures

virtual NVSG_API void postRemoveChild ( unsigned int index ) [protected, virtual]

Called from the framework immediately after a child has been removed from the Switch.

Parameters:
index Zero-based position that previously has referenced the removed child node.
Remarks:
This function takes care of updating the indices in the container that holds the information on the active children. Removing children from the switch may have influence on the position of other children. NOTE: The masks contained within the switch are updated to reflect the child that has been lost.
See also:
Group::postRemoveChild

Reimplemented from Group.

virtual NVSG_API void postAddChild ( unsigned int index ) [protected, virtual]

Called from the framework immediately after a child was added to the Switch.

Parameters:
index Zero-based position where the child node was added.
Remarks:
This function takes care of updating the indices in the container that holds the information on the active children. Adding children to the switch may have influence on the position of other children. NOTE: The masks contained within the switch are updated to reflect the insertion of the child.
See also:
Group::postAddChild

Reimplemented from Group.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this Switch.

Returns:
The axis-aligned bounding box of this Switch.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this Switch.

Reimplemented from Group.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( void ) const [protected, virtual]

Called from the framework if re-calculation of the Group's bounding sphere is required.

Returns:
The function returns a nvmath::Sphere3f that represents the actual bounding sphere of this Switch. The bounding sphere encloses the active children of the Switch.
Remarks:
The function calculates the bounding sphere by accumulating the bounding spheres of all active child nodes.
See also:
Group::calculateBoundingSphere, nvmath::Sphere3f

Reimplemented from Group.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Group.

The documentation for this class was generated from the following file:
  • Switch.h
Generated on Fri Jul 13 13:30:26 2012 for SceniX


SceniX: Member List

Switch Member List

This is the complete list of members for Switch, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addMask(MaskKey key, const SwitchMask &sm) | Switch |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
calculateBoundingBox() const | Switch | [protected, virtual]
calculateBoundingSphere(void) const | Switch | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Switch) | Switch | [static]
DECLARE_STATIC_PROPERTY(ActiveMaskKey) (defined in Switch) | Switch |
DECLARE_STATIC_PROPERTY(ActiveSwitchMask) (defined in Switch) | Switch |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
DEFAULT_MASK_KEY enum value (defined in Switch) | Switch |
determineAnimationContainment() const (defined in Group) | Group | [protected, virtual]
determineHintsContainment(unsigned short hints) const (defined in Switch) | Switch | [protected, virtual]
nvsg::Group::determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Switch) | Switch | [protected, virtual]
determineLODContainment() const (defined in Switch) | Switch | [protected, virtual]
determineShaderContainment() const (defined in Switch) | Switch | [protected, virtual]
determineTransparencyContainment() const (defined in Switch) | Switch | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Switch | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
getActive(std::vector< unsigned int > &indices) const | Switch |
getActiveMaskKey() const | Switch |
getActiveSwitchMask() const | Switch |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getCurrentMaskIterator() const | Switch |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getFirstMaskIterator() const | Switch |
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getLastMaskIterator() const | Switch |
getMaskKey(MaskIterator it) const | Switch |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNextMaskIterator(MaskIterator it) const | Switch |
getNumberOfActive() const | Switch |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfMasks() const | Switch |
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getSwitchMask(MaskIterator it) const | Switch |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
init() | Switch | [protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isActive() const | Switch |
isActive(unsigned int index) const | Switch |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Switch | [virtual]
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
MaskIterator typedef | Switch |
MaskKey typedef | Switch |
Node() | Node |
Node(const Node &rhs) | Node |
NonConstMaskIterator typedef | Switch | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Switch &rhs) | Switch |
nvsg::Group::operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postActivateChild(unsigned int index) (defined in Switch) | Switch | [protected, virtual]
postAddChild(unsigned int index) | Switch | [protected, virtual]
postDeactivateChild(unsigned int index) (defined in Switch) | Switch | [protected, virtual]
postRemoveChild(unsigned int index) | Switch | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Switch) (defined in Switch) | Switch |
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeMask(MaskKey key) | Switch |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setActive() | Switch |
setActive(unsigned int index) | Switch |
setActiveMaskKey(MaskKey k) | Switch |
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setInactive() | Switch |
setInactive(unsigned int index) | Switch |
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
Switch() | Switch | [protected]
Switch(const Switch &rhs) | Switch | [protected]
SwitchMask typedef | Switch |
syncIncarnation(PFNGETINCARNATION) const (defined in Group) | Group | [protected, virtual]
~Group() | Group | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]
~Switch() | Switch | [protected, virtual]

Generated on Fri Jul 13 13:30:26 2012 for SceniX


SceniX: switchMask_t Struct Reference

switchMask_t Struct Reference

The switchMask_t structure specifies how a SwitchMask is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t maskKey
Specifies the key to identify this mask.
uint_t numChildren
Specifies the number of active children stored with this mask.
uint_t children
Specifies the file offset to the zero-based indexes referencing the active children.

Detailed Description

The switchMask_t structure specifies how a SwitchMask is stored in a .NBF file.

Member Data Documentation

uint_t maskKey

Specifies the key to identify this mask.

uint_t numChildren

Specifies the number of active children stored with this mask.

uint_t children

Specifies the file offset to the zero-based indexes referencing the active children.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

switchMask_t Member List

This is the complete list of members for switchMask_t, including all inherited members.

children | switchMask_t
maskKey | switchMask_t
numChildren | switchMask_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: SWMRSync Class Reference

nvutil::SWMRSync

SWMRSync Class Reference

Single write, multiple read synchronization class. More...

#include <SWMRSync.h>

Collaboration diagram for SWMRSync:

[legend]
List of all members.

Public Member Functions

NVSG_API | SWMRSync ()
Default constructor.
NVSG_API | SWMRSync (const SWMRSync &rhs)
Copy constructor.
NVSG_API | ~SWMRSync (void)
Default destructor.
NVSG_API bool | lockExclusive () const
Lock the object for exclusive access.
NVSG_API void | unlockExclusive () const
Unlock the object from exclusive access.
NVSG_API bool | lockShared () const
Lock the object for shared access.
NVSG_API void | unlockShared () const
Unlock the object from shared access.

Detailed Description

Single write, multiple read synchronization class.

Remarks:
This class provides the functionality for locking to ensure a single write, multiple read synchronization. That is, an unlimited number of clients can have read access, but only one client can have write access, and when a client has write access, no other client can get read access. An Object, for example, holds a member of type SWMRSync to manage the read/write operations.

Constructor & Destructor Documentation

NVSG_API SWMRSync ( )

Default constructor.

Remarks:
Performs initialization of the internal mutex object.

NVSG_API SWMRSync ( const SWMRSync & rhs )

Copy constructor.

Remarks:
Performs initialization of the internal mutex object. Does not copy data from the source object.

NVSG_API ~SWMRSync ( void )

Default destructor.

Remarks:
Performs deletion of the internal mutex object.

Member Function Documentation

bool lockExclusive ( ) const [inline]

Lock the object for exclusive access.

Returns:
true, if exclusive access is granted.
Remarks:
This function waits until it gets exclusive access to the object. After getting exclusive access, it is safe to write to the object, and no other thread has read or write access to that object.
See also:
unlockExclusive, lockShared

void unlockExclusive ( ) const [inline]

Unlock the object from exclusive access.

Remarks:
After unlocking the object from exclusive access, it is unsafe to have read or write access to that object.
See also:
lockExclusive, unlockShared

bool lockShared ( ) const [inline]

Lock the object for shared access.

Returns:
true, if shared access is granted.
Remarks:
This function waits until it gets shared access to the object. After getting shared access, it is safe to read from the object, but not to write to it. No other thread has write access to that object then.
See also:
unlockShared, lockExclusive

void unlockShared ( ) const [inline]

Unlock the object from shared access.

Remarks:
After unlocking the object from shared access, it is unsafe to have read or write access to that object. Any other thread, trying to get exclusive access, can now get it.
See also:
lockShared, unlockExclusive

The documentation for this class was generated from the following file:
  • SWMRSync.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

SWMRSync Member List

This is the complete list of members for SWMRSync, including all inherited members.

lockExclusive() const | SWMRSync | [inline]
lockShared() const | SWMRSync | [inline]
SWMRSync() | SWMRSync |
SWMRSync(const SWMRSync &rhs) | SWMRSync |
unlockExclusive() const | SWMRSync | [inline]
unlockShared() const | SWMRSync | [inline]
~SWMRSync(void) | SWMRSync |

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: SWMRSyncImpl Class Reference

nvutil::SWMRSyncImpl

SWMRSyncImpl Class Reference

Interface class for SWMRSync *. More...

#include <SWMRSync.h>

List of all members.

Public Member Functions

virtual NVSG_API bool | lockExclusive () const =0
Lock the object for exclusive access.
virtual NVSG_API void | unlockExclusive () const =0
Unlock the object from exclusive access.
virtual NVSG_API bool | lockShared () const =0
Lock the object for shared access.
virtual NVSG_API void | unlockShared () const =0
Unlock the object from shared access.

Detailed Description

Interface class for SWMRSync *.

Member Function Documentation

virtual NVSG_API bool lockExclusive ( ) const [pure virtual]

Lock the object for exclusive access.

Returns:
true, if exclusive access is granted.
Remarks:
This function waits until it gets exclusive access to the object. After getting exclusive access, it is safe to write to the object, and no other thread has read or write access to that object.
See also:
unlockExclusive, lockShared

virtual NVSG_API void unlockExclusive ( ) const [pure virtual]

Unlock the object from exclusive access.

Remarks:
After unlocking the object from exclusive access, it is unsafe to have read or write access to that object.
See also:
lockExclusive, unlockShared

virtual NVSG_API bool lockShared ( ) const [pure virtual]

Lock the object for shared access.

Returns:
true, if shared access is granted.
Remarks:
This function waits until it gets shared access to the object. After getting shared access, it is safe to read from the object, but not to write to it. No other thread has write access to that object then.
See also:
unlockShared, lockExclusive

virtual NVSG_API void unlockShared ( ) const [pure virtual]

Unlock the object from shared access.

Remarks:
After unlocking the object from shared access, it is unsafe to have read or write access to that object. Any other thread, trying to get exclusive access, can now get it.
See also:
lockShared, unlockExclusive

The documentation for this class was generated from the following file:
  • SWMRSync.h
Generated on Fri Jul 13 13:31:31 2012 for SceniX


SceniX: Member List

SWMRSyncImpl Member List

This is the complete list of members for SWMRSyncImpl, including all inherited members.

lockExclusive() const =0 | SWMRSyncImpl | [pure virtual]
lockShared() const =0 | SWMRSyncImpl | [pure virtual]
unlockExclusive() const =0 | SWMRSyncImpl | [pure virtual]
unlockShared() const =0 | SWMRSyncImpl | [pure virtual]
~SWMRSyncImpl() (defined in SWMRSyncImpl) | SWMRSyncImpl | [virtual]

Generated on Fri Jul 13 13:31:31 2012 for SceniX


SceniX: TempLocale Class Reference

nvutil::TempLocale

TempLocale Class Reference

Sets a temporary locale for the lifetime of the object. More...

#include <Tools.h>

List of all members.

Public Member Functions

NVSG_API | TempLocale (std::string tempLocale)
Create a scoped locale information.
NVSG_API | ~TempLocale ()
Destructor of a TempLocale.

Detailed Description

Sets a temporary locale for the lifetime of the object.

Constructor & Destructor Documentation

NVSG_API TempLocale ( std::string tempLocale ) [explicit]

Create a scoped locale information.

Parameters:
tempLocale String containing the name of a C locale.
Remarks:
The available locales are system specific, but at least the two locales "C" and "" must exist.

NVSG_API ~TempLocale ( )

Destructor of a TempLocale.

The documentation for this class was generated from the following file:
  • Tools.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

TempLocale Member List

This is the complete list of members for TempLocale, including all inherited members.

TempLocale(std::string tempLocale) | TempLocale | [explicit]
~TempLocale() | TempLocale |

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: texBinding_t Struct Reference

texBinding_t Struct Reference

The texBinding_t structure specifies how a texture binding is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t texUnit
Specifies the texture unit where the actual NBFTextureAttributeItem object is bound to.
uint_t texAttribItem
Specifies the file offset to the corresponding NBFTextureAttributeItem object.

Detailed Description

The texBinding_t structure specifies how a texture binding is stored in a .NBF file.

Texture bindings, in this context, need to be considered in conjunction with NBFTextureAttribute and NBFTextureAttributeItem objects.

Member Data Documentation

uint_t texUnit

Specifies the texture unit where the actual NBFTextureAttributeItem object is bound to.

uint_t texAttribItem

Specifies the file offset to the corresponding NBFTextureAttributeItem object.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

texBinding_t Member List

This is the complete list of members for texBinding_t, including all inherited members.

texAttribItem | texBinding_t
texUnit | texBinding_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: texCoordSet_t Struct Reference

texCoordSet_t Struct Reference

The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t numTexCoords
Specifies the number of texture coordinates contained in the actual set.
uint_t coordDim
uint_t texCoords
Specifies the file offset to the contained texture coordinates.

Detailed Description

The texCoordSet_t structure specifies how a texture coordinate set is stored in a .NBF file.

Texture coordinate sets, in this context, need to be considered in conjunction with NBFVertexAttributeSet objects.

Member Data Documentation

uint_t numTexCoords

Specifies the number of texture coordinates contained in the actual set.

uint_t coordDim

Specifies the dimension, in terms of float, of the contained texture coordinates. Texture coordinates can be either one, two, three, or four dimensional.

uint_t texCoords

Specifies the file offset to the contained texture coordinates.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

texCoordSet_t Member List

This is the complete list of members for texCoordSet_t, including all inherited members.

coordDim | texCoordSet_t
numTexCoords | texCoordSet_t
texCoords | texCoordSet_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: texImage_t Struct Reference

texImage_t Struct Reference

The texImage_t structure specifies how a texture image is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for texImage_t:

[legend]
List of all members.

Public Member Functions

PADDING (8)
Padding bits to ensure offset of scene is on a 4-byte boundary, regardless of packing.

Public Attributes

uint_t flags
Creation flags.
str_t file
Specifies the filename of the image file in case the image is from a file.
uint_t width
Specifies the width of the texture in pixels.
uint_t height
Specifies the height of the texture in pixels.
uint_t depth
Specifies the depth of the texture in pixels.
uint_t target
texture target.
uint_t pixelFormat
Specifies the format of the pixel data.
uint_t dataType
Specifies the type of the pixel data.
uint_t pixels
Specifies the file offset to the raw pixel data.

Detailed Description

The texImage_t structure specifies how a texture image is stored in a .NBF file.

Texture images are considered in conjunction with NBFTextureAttributeItem objects.

Member Function Documentation

PADDING ( 8 )

Padding bits to ensure offset of scene is on a 4-byte boundary, regardless of packing.

Member Data Documentation

uint_t flags

Creation flags.

str_t file

Specifies the filename of the image file in case the image is from a file.

uint_t width

Specifies the width of the texture in pixels.

uint_t height

Specifies the height of the texture in pixels.

uint_t depth

Specifies the depth of the texture in pixels.

uint_t target

texture target.

uint_t pixelFormat

Specifies the format of the pixel data.

uint_t dataType

Specifies the type of the pixel data.

uint_t pixels

Specifies the file offset to the raw pixel data.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

texImage_t Member List

This is the complete list of members for texImage_t, including all inherited members.

dataType | texImage_t
depth | texImage_t
file | texImage_t
flags | texImage_t
height | texImage_t
PADDING(8) | texImage_t
pixelFormat | texImage_t
pixels | texImage_t
target | texImage_t
width | texImage_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Texture Class Reference

nvsg::Texture

Texture Class Reference

Interface for textures used as storage for SceniX. More...

#include <Texture.h>

Inheritance diagram for Texture:

[legend]
Collaboration diagram for Texture:

[legend]
List of all members.

Public Member Functions

NVSG_API TextureTarget | getTextureTarget () const
NVSG_API HashKey | getHashKey () const
Get the hash key of this Object.
virtual NVSG_API bool | isEquivalent (const Texture *p, bool deepCompare) const
Tests whether this Texture is equivalent to another Texture.

Protected Member Functions

virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.
NVSG_API void | invalidateHashKey ()
Invalidate the HashKey.
NVSG_API bool | isHashKeyValid () const

Protected Attributes

TextureTarget | m_textureTarget

Detailed Description

Interface for textures used as storage for SceniX.

See also:
TextureHost, TextureGL

Member Function Documentation

HashKey getHashKey ( ) const [inline]

Get the hash key of this Object.

Returns:
The hash key of this Object.
Remarks:
If the hash key is not valid, the virtual function feedHashGenerator() is called to recursively determine a hash string, using a HashGenerator, which then is converted into a HashKey.
See also:
feedHashGenerator

bool isEquivalent | ( | const Texture * | p,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Tests whether this Texture is equivalent to another Texture.

Parameters:
p | Pointer to the Texture to test for equivalence with this Texture object.
deepCompare | The function performs a deep-compare instead of a shallow compare if this is true.
Returns:
The function returns true if the Texture pointed to by p is detected to be equivalent to this Texture object.

Reimplemented in TextureGL, and TextureHost.

void feedHashGenerator ( nvutil::HashGenerator & hg ) const [inline, protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented in TextureGL, and TextureHost.

void invalidateHashKey ( ) [inline, protected]

Invalidate the HashKey.

See also:
getHashKey, feedHashGenerator

The documentation for this class was generated from the following file:
  • Texture.h
Generated on Fri Jul 13 13:30:26 2012 for SceniX


SceniX: Member List

Texture Member List

This is the complete list of members for Texture, including all inherited members.

feedHashGenerator(nvutil::HashGenerator &hg) const | Texture | [inline, protected, virtual]
getHashKey() const | Texture | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
invalidateHashKey() | Texture | [inline, protected]
isEquivalent(const Texture *p, bool deepCompare) const | Texture | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
m_textureTarget (defined in Texture) | Texture | [protected]
Texture() (defined in Texture) | Texture | [inline]
~Texture() (defined in Texture) | Texture | [inline, virtual]

Generated on Fri Jul 13 13:30:26 2012 for SceniX


SceniX: texture_t Struct Reference

texture_t Struct Reference

The texture_t structure specifies how an RTFx texture parameter is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for texture_t:

[legend]
List of all members.

Public Attributes

str_t file
Specifies the texture's file name.
str_t bufferName
Specifies the texture's buffer name.
str_t format
Specifies the texture's format string.
uint_t texImg
Specifies the file offset to the corresponding texture image.

Detailed Description

The texture_t structure specifies how an RTFx texture parameter is stored in a .NBF file.

Textures need to be considered in conjunction with NBFRTFx objects.

Member Data Documentation

str_t file

Specifies the texture's file name.

str_t bufferName

Specifies the texture's buffer name.

str_t format

Specifies the texture's format string.

uint_t texImg

Specifies the file offset to the corresponding texture image.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

texture_t Member List

This is the complete list of members for texture_t, including all inherited members.

bufferName | texture_t
file | texture_t
format | texture_t
texImg | texture_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: TextureAttribute Class Reference

nvsg::TextureAttribute

TextureAttribute Class Reference

Texture attribute. More...

#include <TextureAttribute.h>

Inheritance diagram for TextureAttribute:

[legend]
Collaboration diagram for TextureAttribute:

[legend]
List of all members.

Public Types

enum | { INVALID_ITEM = ~0 }
Specifies an invalid binding. More...

Public Member Functions

NVSG_API void | bindTextureAttributeItem (const TextureAttributeItemSharedPtr &item, unsigned int unit)
Binds an existing TextureAttributeItem.
NVSG_API void | unbindTextureAttributeItem (unsigned int unit)
Unbinds a TextureAttributeItem.
NVSG_API unsigned int | getFirstItem (void) const
NVSG_API unsigned int | getNextItem (unsigned int unit) const
Retrieves the very next texture unit a TextureAttributeItem is bound to.
NVSG_API unsigned int | getNumberOfItems (void) const
Retrieves the number of bound TextureAttributeItem objects.
NVSG_API const TextureAttributeItemSharedPtr & | getTextureAttributeItem (unsigned int unit) const
Retrieves the TextureAttributeItem bound to the specified texture unit.
NVSG_API TextureAttribute & | operator= (const TextureAttribute &rhs)
Assigns values from another TextureAttribute object.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Tests for equivalence with an other TextureAttribute.
REFLECTION_INFO_API (NVSG_API, TextureAttribute)

Static Public Member Functions

static NVSG_API TextureAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | TextureAttribute (void)
Default-constructs a TextureAttribute.
NVSG_API | TextureAttribute (const TextureAttribute &rhs)
Constructs a TextureAttribute as a copy from another TextureAttribute.
virtual NVSG_API | ~TextureAttribute (void)
Destructs a TextureAttribute.
virtual NVSG_API void | syncIncarnation (PFNGETINCARNATION) const
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Texture attribute.

This maintains bindings between abstract texture units and TextureAttributeItem objects. For this purpose it provides an interface to bind a certain TextureAttributeItem to a specified texture unit or to unbind a TextureAttributeItem from a certain texture unit. It also provides an interface to iterate through all bounded TextureAttributeItem objects.

As a StateAttribute, a TextureAttribute can be added to a StateSet of a certain GeoNode for texturing purposes.

Member Enumeration Documentation

anonymous enum

Specifies an invalid binding.

Remarks:
This particular identifier is used as end criteria when iterating through all currently bound TextureAttributeItem objects:
 for ( unsigned int tu = pAttrib->getFirstItem()
     ; tu != TextureAttribute::INVALID_ITEM
     ; tu = pAttrib->getNextItem(tu))
 {
 }
See also:
getFirstItem, getNextItem

Constructor & Destructor Documentation

NVSG_API TextureAttribute ( void ) [protected]

Default-constructs a TextureAttribute.

Remarks:
A TextureAttribute will be instantiated and default constructed through TextureAttribute::create(), which returns a TextureAttributeSharedPtr as follows:
     TextureAttributeSharedPtr texAttrib = TextureAttribute::create();
A default constructed TextureAttribute initially has no TextureAttributeItem bound.

To access the TextureAttribute API, you need to explicitely acquire access for either write or read-only operations on the object. SceniX provides the convenient helper types TextureAttributeWriteLock and TextureAttributeReadLock to serve this purpose. Instantiated objects of these types can be used similar as an ordinary pointer:
     // generate a TextureAttributeItem to be bound to the TextureAttribute below
     TextureAttributeItemWeakPtr hTexAttribItem = TextureAttributeItem::create();

     // acquire write access to the TextureAttributeItem to assign a Texture
     { // limit write access to this scope
       TextureAttributeItemWriteLock texAttribItem(hTexAttribItem);
       texAttribItem->setTexture(
         TextureHost::createFromFile("sunset.jpg", std::vector<std::string>()) );
       [...]
     } // write access will be released after leaving this scope

     // acquire write access to the TextureAttribute to bind the
     // TextureAttributeItem created before
     { // limit write access to this scope
       TextureAttributeWriteLock texAttrib(hTexAttrib);
       texAttrib->bindTextureAttributeItem( hTexAttribItem, 0 );
     } // write access will be released after leaving this scope

NVSG_API TextureAttribute ( const TextureAttribute & rhs ) [protected]

Constructs a TextureAttribute as a copy from another TextureAttribute.

Parameters:
rhs Specifies the source TextureAttribute object.
Remarks:
This copy constructor will be invoked by the TextureAttributeHandle's clone member function.

virtual NVSG_API ~TextureAttribute ( void ) [protected, virtual]

Destructs a TextureAttribute.

Remarks:
All bound TextureAttributeItems will be unbound, and hence, unreferenced, causing them to get deleted if they are no longer referenced anywhere else.

Member Function Documentation

NVSG_API void bindTextureAttributeItem | ( | const TextureAttributeItemSharedPtr & | item,
 |  | unsigned int | unit
 | ) |

Binds an existing TextureAttributeItem.

Parameters:
item | Specifies the TextureAttributeItem object to be bound.
unit | Specifies the zero-based texture unit, where to bind the TextureAttributeItem object.
Remarks:
This allows you to bind a TextureAttributeItem to a specified texture unit. If another TextureAttributeItem previously was bound to the same unit, it will be unbound, and hence, unreferenced, causing it to get deleted if it is no longer referenced anywhere else.
Note:
If unit exceeds the number of texture units provided by your current graphics system, the bound TextureAttributeItem will not be processed by the renderer.
See also:
unbindTextureAttributeItem

NVSG_API void unbindTextureAttributeItem ( unsigned int unit )

Unbinds a TextureAttributeItem.

Parameters:
unit Specifies the texture unit to unbind a currently bound TextureAttributeItem from.
Remarks:
This allows you to unbind the TextureAttributeItem that was last bound to the specified texture unit through bindTextureAttributeItem. The TextureAttributeItem then will be unreferenced, causing it to get deleted if no longer referenced anywhere else. Immediately after this call, no TextureAttributeItem is bound to that unit.
See also:
bindTextureAttributeItem

unsigned int getFirstItem ( void ) const [inline]

Retrieves the first zero-based texture unit a TextureAttributeItem is bound to.

Returns:
The function returns a zero-based identifier indicating the first texture unit a TextureAttributeItem is bound to, or INVALID_ITEM, if currently no TextureAttributeItem is bound.
Remarks:
Use this to initiate the iteration of all bound TextureAttributeItems. This function returns the first texture unit found with a valid binding. After that, use getNextItem to iterate through all remaining bindings.

Use getTextureAttributeItem to receive the bound TextureAttributeItem from the texture unit returned by getFirstItem, or getNextItem, respectively.
    // assume hTexAttrib a valid TextureAttributeItemSharedPtr

    // NOTE:
    // we need to write-lock the TextureAttribute here, because the
    // edit operations performed to the 'owned' TextureAttributeItem
    // objects below, will cause the incarnation count of the owner
    // to increase, which in turn requires write-access to the owner.
    // Using ReadableObjects instead, would result in a deadlock on
    // a multithreaded configuration!
    TextureAttributeWriteLock texAttrib(hTexAttrib);

    for ( unsigned int tu = texAttrib->getFirstItem()
         ; tu != TextureAttribute::INVALID_ITEM
          ; tu = texAttrib->getNextItem(tu) )
    {
        TextureAttributeItemWriteLock theItem(texAttrib->getTextureAttributeItem(tu));
        theItem->setEnvMode(TEM_BLEND);
        theItem->setEnvColor(Vec4f(0.2f, 0.2f, 0.2f, 0.5f));
    }
See also:
getNextItem, INVALID_ITEM

unsigned int getNextItem ( unsigned int unit ) const [inline]

Retrieves the very next texture unit a TextureAttributeItem is bound to.

Parameters:
unit Specifies the texture unit returned by a previous getFirstItem, or getNextItem.
Returns:
The function returns a zero-based identifier indicating the next texture unit, following unit, a TextureAttributeItem is bound to, or INVALID_ITEM, if no such unit is available.
Remarks:
Use this in a forward iteration loop after you established the very first texture unit, a TextureAttributeItem is bound to, through getFirstItem.
See also:
getFirstItem

unsigned int getNumberOfItems ( void ) const [inline]

Retrieves the number of bound TextureAttributeItem objects.

Returns:
The number of TextureAttributeItem objects currently bound.
Remarks:
You must not use this to forward iterate through the current bindings, because there might be gaps in the chain of zero-based texture units. If for example two TextureAttributeItem objects are bound in total, and assume the TextureAttributeItem objects are bound to texture unit 2 and 3, getNumberOfItems will return 2, but getTextureAttributeItem(unit) will return NULL for unit < 2. Instead you should use getFirstItem, getNextItem to forward iterate to all valid bindings.
See also:
getTextureAttributeItem, getFirstItem, getNextItem

const TextureAttributeItemSharedPtr & getTextureAttributeItem ( unsigned int unit ) const [inline]

Retrieves the TextureAttributeItem bound to the specified texture unit.

Parameters:
unit Specifies the texture unit to query.
Returns:
The TextureAttributeItem bound to the specified texture unit.

NVSG_API TextureAttribute& operator= ( const TextureAttribute & rhs )

Assigns values from another TextureAttribute object.

Parameters:
rhs Specifies the source TextureAttribute object.
Returns:
A reference to the left-hand-sided TextureAttribute object.
Remarks:
This assignment operator will be invoked when assigning an existing TextureAttribute object to another TextureAttribute object.

All TextureAttributeItem objects currently bound to the left-hand-sided TextureAttribute will be unbound prior to re-assigning the new bindings from the right-hand-sided TextureAttribute. This will unreference all the previously bound TextureAttributeItem objects, causing them to get deleted if no longer referenced anywhere else.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Tests for equivalence with an other TextureAttribute.

Parameters:
p | Pointer to the object to test for equivalence.
ignoreNames | Object names will be ignored if true is specified here.
deepCompare | A deep compare will be performed if true is specified here.
Returns:
true if the TextureAttribute p is equivalent to this TextureAttribute.
Remarks:
This function actually overrides Object::isEquivalent. This is the reason for the passed object to be of type Object, rather than of type TextureAttribute. For all objects of type other than TextureAttribute, this function returns false. Only objects of type TextureAttribute will be considered for further comparison on eqivalence.

If true is specified for the deepCompare parameter, the function will iterate through all valid bindings of both TextureAttribute objects, and in turn performs an equivalence test on each pair of TextureAttributeItem objects. If instead false is specified for the deepCompare parameter, the function just performs a fast pointer-compare on the current bindings.
See also:
TextureAttributeItem::isEquivalent

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • TextureAttribute.h
Generated on Fri Jul 13 13:30:28 2012 for SceniX


SceniX: Member List

TextureAttribute Member List

This is the complete list of members for TextureAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
bindTextureAttributeItem(const TextureAttributeItemSharedPtr &item, unsigned int unit) | TextureAttribute |
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in TextureAttribute) | TextureAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getFirstItem(void) const | TextureAttribute | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNextItem(unsigned int unit) const | TextureAttribute | [inline]
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfItems(void) const | TextureAttribute | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTextureAttributeItem(unsigned int unit) const | TextureAttribute | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
INVALID_ITEM enum value (defined in TextureAttribute) | TextureAttribute |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | TextureAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const TextureAttribute &rhs) | TextureAttribute |
nvsg::StateAttribute::operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, TextureAttribute) (defined in TextureAttribute) | TextureAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in TextureAttribute) | TextureAttribute | [protected, virtual]
TextureAttribute(void) | TextureAttribute | [protected]
TextureAttribute(const TextureAttribute &rhs) | TextureAttribute | [protected]
unbindTextureAttributeItem(unsigned int unit) | TextureAttribute |
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]
~TextureAttribute(void) | TextureAttribute | [protected, virtual]

Generated on Fri Jul 13 13:30:28 2012 for SceniX


SceniX: TextureAttributeItem Class Reference

nvsg::TextureAttributeItem

TextureAttributeItem Class Reference

Texture attribute item. More...

#include <TextureAttribute.h>

Inheritance diagram for TextureAttributeItem:

[legend]
Collaboration diagram for TextureAttributeItem:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | isDataShared (void) const
Returns whether the data of this object is shared.
virtual NVSG_API DataID | getDataID (void) const
Returns a 64-bit integer value, which uniquely identifies the object data.
NVSG_API const TextureSharedPtr & | getTexture () const
Returns the Texture assigned to the TextureAttributeItem.
NVSG_API bool | hasTextureHost () const
Returns a cached value whether the assigned Texture is of type TextureHost.
NVSG_API void | setTexture (const TextureSharedPtr &texImg)
Assigns a Texture to the TextureAttributeItem.
NVSG_API const std::string & | getTextureFileName () const
Retrieves the file name associated with the attached TextureHost.
NVSG_API const nvmath::Vec4f & | getBorderColor (void) const
Returns the actual border color to be used with this TextureAttributeItem.
NVSG_API void | setBorderColor (const nvmath::Vec4f &color)
Sets the border color to be used with this TextureAttributeItem.
NVSG_API const nvmath::Vec4f & | getEnvColor (void) const
Returns the actual environment color of this TextureAttributeItem.
NVSG_API void | setEnvColor (const nvmath::Vec4f &color)
Sets the environment color to be used with this TextureAttributeItem.
NVSG_API TextureEnvMode | getEnvMode (void) const
Returns the actual used environment mode for this TextureAttributeItem.
NVSG_API void | setEnvMode (TextureEnvMode mode)
Sets the environment mode to be used with this TextureAttributeItem.
NVSG_API TextureEnvScale | getEnvScale (void) const
Returns the RGB scale for this TextureAttributeItem.
NVSG_API void | setEnvScale (TextureEnvScale scale)
Returns the RGB scale for this TextureAttributeItem.
NVSG_API TextureMagFilterMode | getMagFilterMode (void) const
Returns the actual filter mode used with magnification.
NVSG_API void | setMagFilterMode (TextureMagFilterMode mode)
Sets the filter mode to use with magnification.
NVSG_API TextureMinFilterMode | getMinFilterMode (void) const
Returns the actual filter mode used with minification.
NVSG_API float | getMaxAnisotropy (void) const
Returns the anisotropic filtering value.
NVSG_API void | setMinFilterMode (TextureMinFilterMode mode)
Sets the filter mode to use with minification.
NVSG_API void | setMaxAnisotropy (float anisotropy)
Set the maximum anisotropic filtering amount.
NVSG_API bool | isMipmapped (TextureMinFilterMode mode) const
Convenience function to check if a minification filter mode requires mipmaps.
NVSG_API TextureWrapMode | getWrapMode (TexWrapCoordAxis target) const
Returns the actual wrap mode used for the specified texture coordinate.
NVSG_API void | setWrapMode (TexWrapCoordAxis target, TextureWrapMode mode)
Sets the wrap mode for the specified texture coordinate.
NVSG_API nvmath::Mat44f | getMatrix (void) const
Returns the currently specified texture matrix.
NVSG_API const nvmath::Quatf & | getOrientation (void) const
Returns the rotation part of the texture matrix.
NVSG_API void | setOrientation (const nvmath::Quatf &orientation)
Sets the rotation part of the texture matrix.
NVSG_API const nvmath::Vec3f & | getScaling (void) const
Returns the scaling part of the texture matrix.
NVSG_API void | setScaling (const nvmath::Vec3f &scale)
Sets the scaling part of the texture matrix.
NVSG_API const nvmath::Vec3f & | getTranslation (void) const
Returns the translation part of the texture matrix.
NVSG_API void | setTranslation (const nvmath::Vec3f &translation)
Sets the translation part of the texture matrix.
NVSG_API void | setTexGenMode (TexCoordAxis axis, TexGenMode mode)
Sets the texture-coordinate generation mode for the specified texture coordinate.
NVSG_API TexGenMode | getTexGenMode (TexCoordAxis axis) const
Returns the texture-coordinate generation mode for the specified coordinate.
NVSG_API void | setTexGenLinearPlane (TexCoordAxis axis, TexGenLinearPlane target, const nvmath::Vec4f &plane)
Sets the plane to be used with linear texture-coordinate generation.
NVSG_API const nvmath::Vec4f & | getTexGenLinearPlane (TexCoordAxis axis, TexGenLinearPlane plane) const
Returns the plane used with linear texture-coordinate generation.
NVSG_API TextureAttributeItem & | operator= (const TextureAttributeItem &rhs)
Assigns values from another TextureAttributeItem object.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Tests for equivalence with an other TextureAttributeItem.

Static Public Member Functions

static NVSG_API TextureAttributeItemSharedPtr | create ()

Protected Member Functions

NVSG_API | TextureAttributeItem (void)
Default-constructs a TextureAttributeItem.
NVSG_API | TextureAttributeItem (const TextureAttributeItem &rhs)
Constructs a TextureAttributeItem as a copy from another TextureAttributeItem.
virtual NVSG_API | ~TextureAttributeItem ()
Destructs a TextureAttributeItem.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Texture attribute item.

A TextureAttributeItem object fully describes a texture together with its environment and parameter settings to be used to render a textured geometry.

The use of a TextureAttributeItem object is meaningful only in conjunction with a TextureAttribute object, that serves as a kind of container for texture attribute items.

Constructor & Destructor Documentation

NVSG_API TextureAttributeItem ( void ) [protected]

Default-constructs a TextureAttributeItem.

Remarks:
A TextureAttributeItem will be instantiated and default constructed through TextureAttributeItem::create(), which returns a TextureAttributeItemSharedPtr as follows:
     TextureAttributeItemSharedPtr texAttribItem = TextureAttributeItem::create();
A default constructed TextureAttributeItem has no TextureHost assigned to it. The texture border color initially is black, and the filtering initially is set to use bilinear filtering for both, minification and magnification. Wrap modes initially are set to repeat for all axes. The environment color initially is black, and the environment mode is set to modulate by default. Scaling initially is disabled. Texture coordinate generation also is off by default.

To access the TextureAttributeItem API, you need to explicitely acquire access for either write or read-only operations on the object. SceniX provides the convenient helper types TextureAttributeItemReadLock and TextureAttributeItemWriteLock to serve this purpose. Instantiated objects of these types can be used similar as an ordinary pointer:
     // acquire write access to the TextureAttributeItem
     { // limit write access to this scope
       TextureAttributeItemWriteLock texAttribItem(hTexAttribItem);
       texAttribItem->setTexture(
         TextureHost::createFromFile("sunset.jpg", std::vector<std::string>()) );
       [...]
     } // write access will be released after leaving this scope

NVSG_API TextureAttributeItem ( const TextureAttributeItem & rhs ) [protected]

Constructs a TextureAttributeItem as a copy from another TextureAttributeItem.

Parameters:
rhs Specifies the source TextureAttributeItem object.
Remarks:
The new instantiated TextureAttributeItem will be initialized with the same texture parameter settings, texture environment settings, and texture-coordinate generation settings as for the rhs TextureAttributeItem object.

If the rhs TextureAttributeItem has a Texture assigned, the Texture will not be deep-copied, but the same Texture will be assigned to the new instantiated TextureAttributeItem, which in turn increments the reference counter for that Texture.

This copy constructor will be invoked by the TextureAttributeItemHandle's clone member function.

virtual NVSG_API ~TextureAttributeItem ( ) [protected, virtual]

Destructs a TextureAttributeItem.

Remarks:
A previously attached Texture will be unreferenced, causing it to get deleted if it is no longer referenced anywhere else.

Member Function Documentation

virtual NVSG_API bool isDataShared ( void ) const [virtual]

Returns whether the data of this object is shared.

Returns:
true if the object data is shared, false otherwise.

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( void ) const [virtual]

Returns a 64-bit integer value, which uniquely identifies the object data.

Returns:
A DataID, that is - a 64-bit integer value, which uniquely identifies the Object data.

Reimplemented from Object.

const TextureSharedPtr & getTexture ( ) const [inline]

Returns the Texture assigned to the TextureAttributeItem.

Returns:
The Texture currently assigned to the TextureAttributeItem.
Remarks:
A Texture can be assigned to the TextureAttributeItem using setTexture.
See also:
setTexture

bool hasTextureHost ( ) const [inline]

Returns a cached value whether the assigned Texture is of type TextureHost.

Returns:
The Texture currently assigned to the TextureAttributeItem is a sub-class of TextureHost

NVSG_API void setTexture ( const TextureSharedPtr & texImg )

Assigns a Texture to the TextureAttributeItem.

Parameters:
texImg The Texture to assign.
Remarks:
A previously assigned Texture will be unassigned prior to assign the new Texture specified by texImg. If the previously assigned Texture is not referenced by any other objects, it will be destroyed as it gets unassigned.

NVSG_API const std::string& getTextureFileName ( ) const

Retrieves the file name associated with the attached TextureHost.

Returns:
The file name associated with the attached TextureHost. If no TextureHost is assigned, an empty string will be returned.
See also:
setTexture, getTexture

const nvmath::Vec4f & getBorderColor ( void ) const [inline]

Returns the actual border color to be used with this TextureAttributeItem.

Returns:
A 4-component vector (RGBA) specifying the actual border color to be used.
See also:
setBorderColor

NVSG_API void setBorderColor ( const nvmath::Vec4f & color )

Sets the border color to be used with this TextureAttributeItem.

Parameters:
color Specifies the new border color.
Remarks:
This allows you to alter the border color currently used. The initial border color is black.
See also:
getBorderColor

const nvmath::Vec4f & getEnvColor ( void ) const [inline]

Returns the actual environment color of this TextureAttributeItem.

Returns:
A 4-component vector (RGBA) specifying the current environment color.
See also:
setEnvColor

void setEnvColor ( const nvmath::Vec4f & color ) [inline]

Sets the environment color to be used with this TextureAttributeItem.

Parameters:
color Specifies the new environment color.
Remarks:
This allows you to alter the environment color currently used. The initial environment color is black.

The environment color is considered only if the TEM_BLEND environment mode also was specified through setEnvMode. The luminance, or color value is used somewhat like an alpha value to blend the fragment's color with the environment color.
See also:
getEnvColor, setEnvMode

TextureEnvMode getEnvMode ( void ) const [inline]

Returns the actual used environment mode for this TextureAttributeItem.

Returns:
A TextureEnvMode enum specifying the actual environment mode.
See also:
setEnvMode

NVSG_API void setEnvMode ( TextureEnvMode mode )

Sets the environment mode to be used with this TextureAttributeItem.

Parameters:
mode Specifies the new texture environment mode.
Remarks:
This allows you to alter the texture environment mode to use. Accepted modes are TEM_REPLACE, TEM_MODULATE, TEM_DECAL, TEM_BLEND, TEM_ADD, TEM_ADD_SIGNED, TEM_SUBTRACT, TEM_INTERPOLATE, TEM_DOT3_RGB, and TEM_DOT3_RGBA. The initial texture environment mode is TEM_MODULATE.
See also:
getEnvMode

TextureEnvScale getEnvScale ( void ) const [inline]

Returns the RGB scale for this TextureAttributeItem.

Returns:
A TextureEnvScale enum specifying the environment scale.
See also:
setEnvScale

NVSG_API void setEnvScale ( TextureEnvScale scale )

Returns the RGB scale for this TextureAttributeItem.

Parameters:
scale Specifies the new environment scale.
Remarks:
This allows scaling the result of the texture environment operation. Currently, scaling only works with the following TextureEnv Modes: TEM_ADD_SIGNED, TEM_SUBTRACT, TEM_INTERPOLATE, TEM_DOT3_RGB, and TEM_DOT3_RGBA. Accepted values for scale are TES_1X, TES_2X, and TES_4X. The initial scale value is TES_1X, which means, scaling off.
See also:
getEnvScale

TextureMagFilterMode getMagFilterMode ( void ) const [inline]

Returns the actual filter mode used with magnification.

Returns:
A TextureMagFilterMode enum specifying the actual magnifying filter mode.
See also:
setMagFilterMode

NVSG_API void setMagFilterMode ( TextureMagFilterMode mode )

Sets the filter mode to use with magnification.

Parameters:
mode Specifies the new filter mode to use with magnification.
Remarks:
This allows you to alter the filter mode to use with magnification. Accepted filter modes used for magnification are TFM_MAG_NEAREST, and TFM_MAG_LINEAR. The initial filter mode is TFM_MAG_LINEAR.
See also:
getMagFilterMode

TextureMinFilterMode getMinFilterMode ( void ) const [inline]

Returns the actual filter mode used with minification.

Returns:
A TextureMinFilterMode enum specifying the actual filter mode used with minification.
See also:
setMinFilterMode

float getMaxAnisotropy ( void ) const [inline]

Returns the anisotropic filtering value.

Returns:
A floating point number specifying the maximum anisotropic filtering value used.
See also:
setMaxAnisotropy

NVSG_API void setMinFilterMode ( TextureMinFilterMode mode )

Sets the filter mode to use with minification.

Parameters:
mode Specifies the new filter mode to use with minification.
Remarks:
This allows you to alter the filter mode to use with minification. Accepted filter modes used for minification are TFM_MIN_NEAREST, TFM_MIN_LINEAR, TFM_MIN_LINEAR_MIPMAP_LINEAR, TFM_MIN_NEAREST_MIPMAP_NEAREST, TFM_MIN_NEAREST_MIPMAP_LINEAR, and TFM_MIN_LINEAR_MIPMAP_NEAREST. The four _MIPMAP_ filter modes require mipmaps available in the assigned Texture. The initial filter mode is TFM_MIN_LINEAR.
See also:
getMinFilterMode

NVSG_API void setMaxAnisotropy ( float anisotropy )

Set the maximum anisotropic filtering amount.

Parameters:
anisotropy A floating point number specifying the maximum anisotropy filter to be used. The default value is 1.0f for no anisotropic filtering. The input value must be greater or equal to 1.0f.
See also:
getMaxAnisotropy

bool isMipmapped ( TextureMinFilterMode mode ) const [inline]

Convenience function to check if a minification filter mode requires mipmaps.

Parameters:
mode Specifies the minification filter mode to check.

TextureWrapMode getWrapMode ( TexWrapCoordAxis target ) const [inline]

Returns the actual wrap mode used for the specified texture coordinate.

Parameters:
target Specifies the texture coordinate to query the wrap mode for. Accepted values are TWCA_S, TWCA_T, and TWCA_R.
Returns:
A TextureWrapMode enum specifying the actual wrap parameter.
See also:
setWrapMode

NVSG_API void setWrapMode | ( | TexWrapCoordAxis | target,
 |  | TextureWrapMode | mode
 | ) |

Sets the wrap mode for the specified texture coordinate.

Parameters:
target | Specifies the texture coordinate.
mode | Specifies the new wrap mode.
Remarks:
This allows you to re-specify the wrap mode to use for the indicated texture coordinate. Accepted values for the texture coordinate are TWCA_S, TWCA_T, and TWCA_R. Accepted values for the wrap mode are TWM_REPEAT, TWM_CLAMP, TWM_MIRROR_REPEAT, TWM_CLAMP_TO_EDGE, TWM_CLAMP_TO_BORDER, TWM_MIRROR_CLAMP, TWM_MIRROR_CLAMP_TO_EDGE, and TWM_MIRROR_CLAMP_TO_BORDER. The initial wrap mode is TWM_REPEAT for all texture coordinates.
See also:
getWrapMode

nvmath::Mat44f getMatrix ( void ) const [inline]

Returns the currently specified texture matrix.

Returns:
A 4x4 matrix specifying the actual texture matrix.
Remarks:
The related texture coordinates are multiplied by the texture matrix before any texture mapping occurs. The initial value for the texture matrix is the identity matrix. You are allowed to modify the texture matrix through setOrientation, setScaling, and setTranslation.
See also:
setOrientation, setScaling, setTranslation

const nvmath::Quatf & getOrientation ( void ) const [inline]

Returns the rotation part of the texture matrix.

Returns:
A quaternion specifying the rotation part of the currently specified texture matrix.
See also:
getMatrix, setOrientation

NVSG_API void setOrientation ( const nvmath::Quatf & orientation )

Sets the rotation part of the texture matrix.

Parameters:
orientation Specifies the new rotation.
Remarks:
This allows you to re-specify the rotation to be applied to the related texture coordinates before any texture mapping occurs.
See also:
getMatrix, getOrientation.

const nvmath::Vec3f & getScaling ( void ) const [inline]

Returns the scaling part of the texture matrix.

Returns:
A 3-component vector specifying the scaling.
See also:
getMatrix, setScaling

NVSG_API void setScaling ( const nvmath::Vec3f & scale )

Sets the scaling part of the texture matrix.

Parameters:
scale Specifies the new scaling.
Remarks:
This allows you to re-specify the scaling to be applied to the related texture coordinates before any texture mapping occurs.
See also:
getMatrix, getScaling.

const nvmath::Vec3f & getTranslation ( void ) const [inline]

Returns the translation part of the texture matrix.

Returns:
A 3-component vector specifying the translation.
See also:
getMatrix, setTranslation

NVSG_API void setTranslation ( const nvmath::Vec3f & translation )

Sets the translation part of the texture matrix.

Parameters:
translation Specifies the new translation.
Remarks:
This allows you to re-specify the translation to be applied to the related texture coordinates before any texture mapping occurs.
See also:
getMatrix, getTranslation.

NVSG_API void setTexGenMode | ( | TexCoordAxis | axis,
 |  | TexGenMode | mode
 | ) |

Sets the texture-coordinate generation mode for the specified texture coordinate.

Parameters:
axis | Specifies the texture coordinate for which to respecify the generation mode.
mode | Specifies the texture-coordinate generation mode.
Remarks:
This allows you to re-specify the texture-coordinate generation mode for the indicated texture coordinate. Accepted values for the texture coordinate specified by axis are TCA_S, TCA_T, TCA_R, and TCA_Q. Accepted values for the texture-coordinate generation mode are TGM_OFF, TGM_OBJECT_LINEAR, TGM_EYE_LINEAR, TGM_SPHERE_MAP, TGM_REFLECTION_MAP, and TGM_NORMAL_MAP. The initial value for the texture-coordinate generation mode is TGM_OFF for all texture coordinates, which means, texture-coordinate generation off.

If you specify a texture-coordinate generation mode other than TGM_OFF, automatic texture-coordinate generation will be enabled for the particular texture coordinate.

For the TGM_OBJECT_LINEAR and TGM_EYE_LINEAR generation mode, the linear plane, you are allowed to specify through setTexGenLinearPlane, will be taken into account for automatic texture-coordinate generation.
See also:
getTexGenMode, setTexGenLinearPlane

TexGenMode getTexGenMode ( TexCoordAxis axis ) const [inline]

Returns the texture-coordinate generation mode for the specified coordinate.

Returns:
A TexGenMode enum specifying the current texture-coordinate generation mode used for the specified coordinate. Accepted values for axis are TCA_S, TCA_T, TCA_R, and TCA_Q.
See also:
setTexGenMode

NVSG_API void setTexGenLinearPlane | ( | TexCoordAxis | axis,
 |  | TexGenLinearPlane | target,
 |  | const nvmath::Vec4f & | plane
 | ) |

Sets the plane to be used with linear texture-coordinate generation.

Parameters:
axis | Specifies the texture coordinate for which to specify the plane.
target | Specifies the target for which to specify the plane.
plane | Specifies the plane to use with linear texture-coordinate generation.
Remarks:
This function lets you specify distinct planes to be used with the linear texture-generation modes TGM_OBJECT_LINEAR, and TGM_EYE_LINEAR. For other texture-coordinate generation modes, these linear planes are of no relevance. Different planes can be specifies for each available texture-coordinate. Accepted values to specify the texture coordinate, indicated by axis, are TCA_S, TCA_T, TCA_R, and TCA_Q. For target, TGLP_OBJECT, TGLP_EYE, or TGLP_OBJECT_AND_EYE, are allowed values. If you specifying TGLP_OBJECT_AND_EYE, the specified plane will be used for both, the TGM_OBJECT_LINEAR, and the TGM_EYE_LINEAR texture-coordinate generation mode.

Initial plane values for the different texture coordinates, and for both linear generation modes are as follows:
     TCA_S = (1, 0, 0, 0)
     TCA_T = (0, 1, 0, 0)
     TCA_R = (0, 0, 0, 0)
     TCA_Q = (0, 0, 0, 0)
Note:
Other than setTexGenMode, the function does not automatically enable texture-coordinate generation. You need to explicitely call setTexGenMode accordingly.
See also:
getTexGenLinearPlane, setTexGenMode

const nvmath::Vec4f & getTexGenLinearPlane | ( | TexCoordAxis | axis,
 |  | TexGenLinearPlane | plane
 | ) | const [inline]

Returns the plane used with linear texture-coordinate generation.

Parameters:
axis | Specifies the texture coordinate for which to query the plane. Accepted values are TCA_S, TCA_t, TCA_R, and TCA_Q.
plane | Specifies the linear generation mode for which to query the plane. Accepted values are TGLP_OBJECT and TGLP_EYE.
Returns:
a 4-component vector specifying the plane.
Note:
You must not specify TGLP_OBJECT_AND_EYE for plane! Doing so results in undefined behavior.
See also:
setTexGenLinearPlane

NVSG_API TextureAttributeItem& operator= ( const TextureAttributeItem & rhs )

Assigns values from another TextureAttributeItem object.

Parameters:
rhs Specifies the source TextureAttributeItem object.
Returns:
A reference to the left-hand-sided TextureAttributeItem object.
Remarks:
This assignment operator will be invoked when assigning an existing TextureAttributeItem object to another TextureAttributeItem object.

A Texture that previously was assigned to the left-hand-sided TextureAttributeItem, will be unreferenced, causing the Texture to get deleted if it is not reference anywhere else.

If the rhs TextureAttributeItem has a Texture assigned, the Texture will not be deep-copied, but the same Texture will be assigned to the left-hand-sided TextureAttributeItem, which in turn increments the reference counter for that Texture.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Tests for equivalence with an other TextureAttributeItem.

Parameters:
p | Pointer to the object to test for equivalence.
ignoreNames | Object names will be ignored if true is specified here.
deepCompare | A deep compare will be performed if true is specified here. This does not apply to a TextureAttributeItem, though, and therefore is ignored.
Returns:
true if the TextureAttributeItem p is equivalent to this TextureAttributeItem.
Remarks:
This function actually overrides Object::isEquivalent. This is the reason for the passed object to be of type Object, rather than of type TextureAttributeItem. For all objects of type other than TextureAttributeItem, this function returns false. Only objects of type TextureAttributeItem will be considered for further comparison on eqivalence.

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • TextureAttribute.h
Generated on Fri Jul 13 13:30:27 2012 for SceniX


SceniX: Member List

TextureAttributeItem Member List

This is the complete list of members for TextureAttributeItem, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(TextureAttribute *owner) (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in TextureAttributeItem) | TextureAttributeItem | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureAttributeItem | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBorderColor(void) const | TextureAttributeItem | [inline]
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | TextureAttributeItem | [virtual]
getEnvColor(void) const | TextureAttributeItem | [inline]
getEnvMode(void) const | TextureAttributeItem | [inline]
getEnvScale(void) const | TextureAttributeItem | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMagFilterMode(void) const | TextureAttributeItem | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMatrix(void) const | TextureAttributeItem | [inline]
getMaxAnisotropy(void) const | TextureAttributeItem | [inline]
getMinFilterMode(void) const | TextureAttributeItem | [inline]
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< TextureAttribute > |
getObjectCode() const | Object | [inline]
getOrientation(void) const | TextureAttributeItem | [inline]
getOwner(OwnerIterator) const | OwnedObject< TextureAttribute > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getScaling(void) const | TextureAttributeItem | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTexGenLinearPlane(TexCoordAxis axis, TexGenLinearPlane plane) const | TextureAttributeItem | [inline]
getTexGenMode(TexCoordAxis axis) const | TextureAttributeItem | [inline]
getTexture() const | TextureAttributeItem | [inline]
getTextureFileName() const | TextureAttributeItem |
getTranslation(void) const | TextureAttributeItem | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getWrapMode(TexWrapCoordAxis target) const | TextureAttributeItem | [inline]
hasTextureHost() const | TextureAttributeItem | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared(void) const | TextureAttributeItem | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | TextureAttributeItem | [virtual]
isMipmapped(TextureMinFilterMode mode) const | TextureAttributeItem | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const TextureAttributeItem &rhs) | TextureAttributeItem |
nvsg::OwnedObject< TextureAttribute >::operator=(const OwnedObject< TextureAttribute > &rhs) | OwnedObject< TextureAttribute > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< TextureAttribute > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< TextureAttribute > | [protected]
OwnedObject(const OwnedObject< TextureAttribute > &rhs) | OwnedObject< TextureAttribute > | [protected]
OwnerContainer typedef (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > |
OwnerIterator typedef (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > |
ownersBegin() const (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > | [inline]
ownersEnd() const (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(TextureAttribute *owner) (defined in OwnedObject< TextureAttribute >) | OwnedObject< TextureAttribute > | [protected]
setAnnotation(const std::string &anno) | Object |
setBorderColor(const nvmath::Vec4f &color) | TextureAttributeItem |
setEnvColor(const nvmath::Vec4f &color) | TextureAttributeItem | [inline]
setEnvMode(TextureEnvMode mode) | TextureAttributeItem |
setEnvScale(TextureEnvScale scale) | TextureAttributeItem |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMagFilterMode(TextureMagFilterMode mode) | TextureAttributeItem |
setMaxAnisotropy(float anisotropy) | TextureAttributeItem |
setMinFilterMode(TextureMinFilterMode mode) | TextureAttributeItem |
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &orientation) | TextureAttributeItem |
setScaling(const nvmath::Vec3f &scale) | TextureAttributeItem |
setTexGenLinearPlane(TexCoordAxis axis, TexGenLinearPlane target, const nvmath::Vec4f &plane) | TextureAttributeItem |
setTexGenMode(TexCoordAxis axis, TexGenMode mode) | TextureAttributeItem |
setTexture(const TextureSharedPtr &texImg) | TextureAttributeItem |
setTranslation(const nvmath::Vec3f &translation) | TextureAttributeItem |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setWrapMode(TexWrapCoordAxis target, TextureWrapMode mode) | TextureAttributeItem |
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
TextureAttributeItem(void) | TextureAttributeItem | [protected]
TextureAttributeItem(const TextureAttributeItem &rhs) | TextureAttributeItem | [protected]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< TextureAttribute > | [protected]
~TextureAttributeItem() | TextureAttributeItem | [protected, virtual]

Generated on Fri Jul 13 13:30:27 2012 for SceniX


SceniX: TextureAttributeItemData Class Reference

nvsg::TextureAttributeItemData

TextureAttributeItemData Class Reference

Data of a texture attribute item that is worth sharing. More...

#include <TextureAttribute.h>

Inheritance diagram for TextureAttributeItemData:

[legend]
Collaboration diagram for TextureAttributeItemData:

[legend]
List of all members.

Public Member Functions

NVSG_API TextureAttributeItemData (const TextureAttributeItemData &rhs)
Copy constructor.

Detailed Description

Data of a texture attribute item that is worth sharing.

Constructor & Destructor Documentation

NVSG_API TextureAttributeItemData ( const TextureAttributeItemData & rhs )

Copy constructor.

Initialize a new copy from rhs

The documentation for this class was generated from the following file:
  • TextureAttribute.h
Generated on Fri Jul 13 13:30:27 2012 for SceniX


SceniX: Member List

TextureAttributeItemData Member List

This is the complete list of members for TextureAttributeItemData, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::RCObject::operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
TextureAttributeItemData(const TextureAttributeItemData &rhs) | TextureAttributeItemData |
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:27 2012 for SceniX


SceniX: TextureGL Class Reference

nvgl::TextureGL

TextureGL Class Reference

Base class to represent an OpenGL texture. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL:

[legend]
Collaboration diagram for TextureGL:

[legend]
List of all members.

Public Member Functions

NVSG_API GLuint | getGLId () const
Returns the OpenGL texture object.
NVSG_API GLenum | getTarget () const
Returns the OpenGL target of the texture (e.g. GL_TEXTURE_2D).
NVSG_API GLenum | getBindingTarget () const
Returns the OpenGL binding target of the texture (e.g. GL_TEXTURE_BINDING_2D).
NVSG_API GLenum | getInternalFormat () const
Returns the OpenGL internal format of the texture (e.g. GL_RGBA8).
NVSG_API GLenum | getClientDataFormat () const
Returns the OpenGL client data format of the texture (e.g. GL_RGBA).
NVSG_API GLenum | getClientDataType () const
Returns the OpenGL client data type of the texture (e.g. GL_UNSGINED_BYTE).
NVSG_API GLsizei | getBorder () const
Returns the border size of the texture.
NVSG_API bool | isMipMapLevelDefined (GLuint level) const
Returns whether the texture level has been defined.
NVSG_API bool | isMipMapLevelValid (GLuint level) const
Returns whether the texture level can be used at all.
NVSG_API bool | isMipMapComplete () const
Returns whether all necessary mipmap levels have been supplied. Once complete, mipmapped texture filtering can be used.
NVSG_API GLuint | getMaxLevel () const
Get the highest level the texture can have, based on its current size.
NVSG_API void | bind ()
Binds texture and stores previous binding.
NVSG_API void | unbind ()
Restores previous binding stored at bind.
NVSG_API void | generateMipMap ()
Generates all mipmaps based on level of detail 0 using hardware functionality and sets all mipmap levels as defined.
virtual NVSG_API bool | isEquivalent (const Texture *p, bool deepCompare) const
Overrides Texture::isEquivalent.

Static Public Member Functions

static NVSG_API TextureGLSharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates an appropriate child class of TextureGL based on the content of the TextureHost.
static NVSG_API bool | sizeValid (GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0)
Checks whether the specified dimensions are valid for the target.
static NVSG_API GLsizei | getMipMapSize (GLsizei sz, GLuint level)
Convenience function to compute the size at a given mipmap level.
static NVSG_API GLsizei | getMaximumSize (GLenum target)
Returns the maximum size along one dimension (not layers) for the texture target.
static NVSG_API bool | hasLayers (GLenum target)
Returns true if the texture target supports layers.
static NVSG_API bool | isCompressedSizeKnown (GLenum format)
Returns true if the byte size of the compressed format can be computed.
static NVSG_API bool | isCompressedFormat (GLenum format)
Returns true if the texture format uses compressed data.
static NVSG_API bool | isIntegerInternalFormat (GLenum format)
Returns true if the texture internal format is interpreted as integers.
static NVSG_API size_t | getCompressedSize (GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0)
Calculates the byte size for the image dimensions.
static NVSG_API size_t | getDataSize (GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0)
Calculates the byte size for the image dimensions.

Protected Member Functions

NVSG_API | TextureGL ()
Constructor for base class.
NVSG_API void | init (GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET)
Initialize this TextureGL.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Protected Attributes

std::vector< GLint > | m_bindingStack
A stack of bindings of this binding target.
GLuint | m_id
OpenGL id.
GLenum | m_target
The OpenGL target of the texture (e.g. GL_TEXTURE_2D).
GLenum | m_bindingTarget
The OpenGL binding target of the texture (e.g. GL_TEXTURE_BINDING_2D).
GLenum | m_internalFormat
The GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
GLsizei | m_border
The texture border size.
GLenum | m_clientDataFormat
The OpenGL client data format of the texture (e.g. GL_RGBA).
GLenum | m_clientDataType
The OpenGL client data type of the texture (e.g. GL_UNSGINED_BYTE).
GLbitfield | m_definedLevels
bitfield encoding which levels have been created already
GLuint | m_maxLevel
must be specified when size of texture is changed
ShareGroupGLSharedPtr | m_shareGroupGL
The share group holding this texture.

Detailed Description

Base class to represent an OpenGL texture.

Remarks:
Various sub classes exist that represent specific OpenGL textures.

Constructor & Destructor Documentation

NVSG_API TextureGL ( ) [protected]

Constructor for base class.

Note:
By default all textures are set to nearest filtering without mipmaps to be renderable once first texture level is specified independent of all internal formats. Any other texture states, such as wrap modes, are in their original default state defined by OpenGL.

Member Function Documentation

static NVSG_API TextureGLSharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates an appropriate child class of TextureGL based on the content of the TextureHost.

Parameters:
smTexImage Specifies the image data to be used.

Reimplemented in TextureGL1D, TextureGL1DArray, TextureGL2D, TextureGLRectangle, TextureGL2DArray, TextureGL3D, TextureGLCubemap, and TextureGLCubemapArray.

GLenum getGLId ( ) const [inline]

Returns the OpenGL texture object.

GLenum getTarget ( ) const [inline]

Returns the OpenGL target of the texture (e.g. GL_TEXTURE_2D).

GLenum getBindingTarget ( ) const [inline]

Returns the OpenGL binding target of the texture (e.g. GL_TEXTURE_BINDING_2D).

GLenum getInternalFormat ( ) const [inline]

Returns the OpenGL internal format of the texture (e.g. GL_RGBA8).

GLenum getClientDataFormat ( ) const [inline]

Returns the OpenGL client data format of the texture (e.g. GL_RGBA).

Note:
The value is initially set in the constructor and is overwritten in setData functions. Use this function if you want to retrieve data in the format, which client data was last specified.

GLenum getClientDataType ( ) const [inline]

Returns the OpenGL client data type of the texture (e.g. GL_UNSGINED_BYTE).

Note:
The value is initially set in the constructor and is overwritten in setData functions. Use this function if you want to retrieve data in the type, which client data was last specified.

GLsizei getBorder ( ) const [inline]

Returns the border size of the texture.

bool isMipMapLevelDefined ( GLuint level ) const [inline]

Returns whether the texture level has been defined.

Note:
The levels can be defined through setData, create from TextureHost or generateMipMap.
Level 0 is also defined through resize operations.

bool isMipMapLevelValid ( GLuint level ) const [inline]

Returns whether the texture level can be used at all.

Note:
This operation is the same as level <= getMaxLevel

bool isMipMapComplete ( ) const [inline]

Returns whether all necessary mipmap levels have been supplied. Once complete, mipmapped texture filtering can be used.

GLuint getMaxLevel ( ) const [inline]

Get the highest level the texture can have, based on its current size.

NVSG_API void bind ( )

Binds texture and stores previous binding.

NVSG_API void unbind ( )

Restores previous binding stored at bind.

NVSG_API void generateMipMap ( )

Generates all mipmaps based on level of detail 0 using hardware functionality and sets all mipmap levels as defined.

Note:
Only supported when EXT/ARB_framebuffer_object exist and if the texture has m_maxLevel > 0. The function also sets the texture base level to 0.

bool sizeValid | ( | GLenum | target,
 |  | GLsizei | w,
 |  | GLsizei | h,
 |  | GLsizei | d,
 |  | GLsizei | layers = 0
 | ) | [inline, static]

Checks whether the specified dimensions are valid for the target.

Returns:
true if valid, otherwise false.

GLsizei getMipMapSize | ( | GLsizei | sz,
 |  | GLuint | level
 | ) | [inline, static]

Convenience function to compute the size at a given mipmap level.

GLsizei getMaximumSize ( GLenum target ) [inline, static]

Returns the maximum size along one dimension (not layers) for the texture target.

Note:
Use subclass implementation specific queries for additional data.

static NVSG_API bool hasLayers ( GLenum target ) [static]

Returns true if the texture target supports layers.

static NVSG_API bool isCompressedSizeKnown ( GLenum format ) [static]

Returns true if the byte size of the compressed format can be computed.

static NVSG_API bool isCompressedFormat ( GLenum format ) [static]

Returns true if the texture format uses compressed data.

static NVSG_API bool isIntegerInternalFormat ( GLenum format ) [static]

Returns true if the texture internal format is interpreted as integers.

static NVSG_API size_t getCompressedSize | ( | GLenum | format,
 |  | GLsizei | w,
 |  | GLsizei | h,
 |  | GLsizei | d,
 |  | GLsizei | layers = 0
 | ) | [static]

Calculates the byte size for the image dimensions.

Returns:
Returns memory size in bytes or 0 if the value can not be computed.

static NVSG_API size_t getDataSize | ( | GLenum | format,
 |  | GLenum | type,
 |  | GLsizei | w,
 |  | GLsizei | h,
 |  | GLsizei | d,
 |  | GLsizei | layers = 0
 | ) | [static]

Calculates the byte size for the image dimensions.

Returns:
Returns memory size in bytes or 0 if the value can not be computed.

bool isEquivalent | ( | const Texture * | p,
 |  | bool | deepCompare
 | ) | const [inline, virtual]

Overrides Texture::isEquivalent.

Parameters:
p | Pointer to the Texture to test for equivalence with this TextureGL object.
deepCompare | The function performs a deep-compare instead of a shallow compare if this is true.
Returns:
The function returns true if the Texture pointed to by p is detected to be equivalent to this TextureGL object.
Remarks:
Two TextureGL are considered to be equivalent, if they are equivalent as Textures and have the same GLId.
See also:
Texture::isEquivalent

Reimplemented from Texture.

NVSG_API void init | ( | GLenum | target,
 |  | GLenum | bindingTarget,
 |  | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | nvsg::TextureTarget | nvsgTarget = nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET
 | ) | [protected]

Initialize this TextureGL.

Parameters:
target | The OpenGL target of the texture (e.g. GL_TEXTURE_2D).
bindingTarget | The OpenGL binding target of the texture (e.g. GL_TEXTURE_BINDING_2D).
internalFormat | The GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
nvsgTarget | The TextureTarget of this TextureGL (e.g. NVSG_TEXTURE_2D).

void feedHashGenerator ( nvutil::HashGenerator & hg ) const [inline, protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Texture.

Member Data Documentation

std::vector<GLint> m_bindingStack [protected]

A stack of bindings of this binding target.

GLuint m_id [protected]

OpenGL id.

GLenum m_target [protected]

The OpenGL target of the texture (e.g. GL_TEXTURE_2D).

GLenum m_bindingTarget [protected]

The OpenGL binding target of the texture (e.g. GL_TEXTURE_BINDING_2D).

GLenum m_internalFormat [protected]

The GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).

GLsizei m_border [protected]

The texture border size.

GLenum m_clientDataFormat [protected]

The OpenGL client data format of the texture (e.g. GL_RGBA).

GLenum m_clientDataType [protected]

The OpenGL client data type of the texture (e.g. GL_UNSGINED_BYTE).

GLbitfield m_definedLevels [protected]

bitfield encoding which levels have been created already

GLuint m_maxLevel [protected]

must be specified when size of texture is changed

ShareGroupGLSharedPtr m_shareGroupGL [protected]

The share group holding this texture.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:41 2012 for SceniX


SceniX: TextureGL1D Class Reference

nvgl::TextureGL1D

TextureGL1D Class Reference

Class for 1D OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL1D:

[legend]
Collaboration diagram for TextureGL1D:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, GLuint mipLevel=0)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves the OpenGL texture data.
NVSG_API void | resize (GLsizei width)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.

Static Public Member Functions

static NVSG_API TextureGL1DSharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL1DSharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei border, GLenum format, GLenum type)
Create a texture based on the given GL parameters.
static NVSG_API TextureGL1DSharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.

Protected Attributes

int | m_width

Detailed Description

Class for 1D OpenGL textures.

Member Function Documentation

static NVSG_API TextureGL1DSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL1DSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Create a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL1DSharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data to transfer.
format | The OpenGL client format of the data (e.g. GL_RGBA).
type | The OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | The texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data.

Parameters:
data | A pointer to the area to transfer the texture data to.
format | The OpenGL client format of the data (e.g. GL_RGBA).
type | The OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Optional texture level (0 being base level) that data is transfered from. Default is 0.
Note:
It is assumed that there's enough memory allocated at data to hold the transfered data.
See also:
setData

NVSG_API void resize ( GLsizei width )

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_TEXTURE_SIZE for the query.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:41 2012 for SceniX


SceniX: Member List

TextureGL1D Member List

This is the complete list of members for TextureGL1D, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGL1D | [static]
create(GLenum internalFormat, GLsizei width, GLsizei border, GLenum format, GLenum type) | TextureGL1D | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL1D | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL1D |
getData(void *data, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL1D |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize() | TextureGL1D | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL1D | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL1D) | TextureGL1D | [protected]
resize(GLsizei width) | TextureGL1D |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL1D |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) | TextureGL1D |
setData(const void *data, GLenum format, GLenum type, GLuint mipLevel=0) | TextureGL1D |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL1D() (defined in TextureGL1D) | TextureGL1D | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:41 2012 for SceniX


SceniX: TextureGL1DArray Class Reference

nvgl::TextureGL1DArray

TextureGL1DArray Class Reference

Class for 1D array OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL1DArray:

[legend]
Collaboration diagram for TextureGL1DArray:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves all layers of the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves all layers of the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei numLayers)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getLayers () const
Returns the texture width.

Static Public Member Functions

static NVSG_API TextureGL1DArraySharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL1DArraySharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei layers, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL1DArraySharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumLayers ()
Returns the maximum texture layers allowed in the current OpenGL context.
static NVSG_API bool | isSupported ()
Returns true if this texture class is supported in the current OpenGL context.

Protected Attributes

int | m_width
int | m_layers

Detailed Description

Class for 1D array OpenGL textures.

Remarks:
This texture type requires additional hardware support. Array textures store multiple 1D textures in stacked layers. Texture interpolation is done within layers, but not between.
See also:
isSupported

Member Function Documentation

static NVSG_API TextureGL1DArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL1DArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | layers,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width.
layers | The amount of texture layers.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL1DArraySharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLint | layer,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
layer | The layer that is updated.
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLint | layer,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
layer | The layer that is updated.
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves all layers of the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves all layers of the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | numLayers
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getLayers ( ) const [inline]

Returns the texture width.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_TEXTURE_SIZE for the query.

static NVSG_API GLsizei getMaximumLayers ( ) [static]

Returns the maximum texture layers allowed in the current OpenGL context.

static NVSG_API bool isSupported ( ) [static]

Returns true if this texture class is supported in the current OpenGL context.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:41 2012 for SceniX


SceniX: Member List

TextureGL1DArray Member List

This is the complete list of members for TextureGL1DArray, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGL1DArray | [static]
create(GLenum internalFormat, GLsizei width, GLsizei layers, GLsizei border, GLenum format, GLenum type) | TextureGL1DArray | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL1DArray | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL1DArray |
getData(void *data, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL1DArray |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getInternalFormat() const | TextureGL | [inline]
getLayers() const | TextureGL1DArray | [inline]
getMaximumLayers() | TextureGL1DArray | [static]
getMaximumSize() | TextureGL1DArray | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL1DArray | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
isSupported() | TextureGL1DArray | [static]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_layers (defined in TextureGL1DArray) | TextureGL1DArray | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL1DArray) | TextureGL1DArray | [protected]
resize(GLsizei width, GLsizei numLayers) | TextureGL1DArray |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL1DArray |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0) | TextureGL1DArray |
setData(const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0) | TextureGL1DArray |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL1DArray() (defined in TextureGL1DArray) | TextureGL1DArray | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:41 2012 for SceniX


SceniX: TextureGL2D Class Reference

nvgl::TextureGL2D

TextureGL2D Class Reference

Class for 2D OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL2D:

[legend]
Collaboration diagram for TextureGL2D:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei height)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.

Static Public Member Functions

static NVSG_API TextureGL2DSharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL2DSharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL2DSharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height

Detailed Description

Class for 2D OpenGL textures.

Member Function Documentation

static NVSG_API TextureGL2DSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL2DSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width.
height | The texture height.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL2DSharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_TEXTURE_SIZE for the query.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:42 2012 for SceniX


SceniX: Member List

TextureGL2D Member List

This is the complete list of members for TextureGL2D, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGL2D | [static]
create(GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type) | TextureGL2D | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL2D | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL2D |
getData(void *data, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL2D |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGL2D | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize() | TextureGL2D | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL2D | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_height (defined in TextureGL2D) | TextureGL2D | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL2D) | TextureGL2D | [protected]
resize(GLsizei width, GLsizei height) | TextureGL2D |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL2D |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) | TextureGL2D |
setData(const void *data, GLenum format, GLenum type, GLuint mipLevel=0) | TextureGL2D |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL2D() (defined in TextureGL2D) | TextureGL2D | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:42 2012 for SceniX


SceniX: TextureGL2DArray Class Reference

nvgl::TextureGL2DArray

TextureGL2DArray Class Reference

Class for 2D array OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL2DArray:

[legend]
Collaboration diagram for TextureGL2DArray:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves all layers of the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves all layers of the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei height, GLsizei layers)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.
NVSG_API GLsizei | getLayers () const
Returns the texture layers.

Static Public Member Functions

static NVSG_API TextureGL2DArraySharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL2DArraySharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL2DArraySharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumLayers ()
Returns the maximum texture layers allowed in the current OpenGL context.
static NVSG_API bool | isSupported ()
Returns true if this texture class is supported in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height
int | m_layers

Detailed Description

Class for 2D array OpenGL textures.

Remarks:
This texture type requires additional hardware support. Array textures store multiple 2D textures in stacked layers. Texture interpolation is done within layers, but not between.
See also:
isSupported

Member Function Documentation

static NVSG_API TextureGL2DArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL2DArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | layers,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width.
height | The texture height.
layers | The amount of texture layers.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL2DArraySharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLint | layer,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
layer | The layer that is updated.
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLint | layer,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
layer | The layer that is updated.
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves all layers of the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves all layers of the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | layers
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

GLsizei getLayers ( ) const [inline]

Returns the texture layers.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_TEXTURE_SIZE for the query.

static NVSG_API GLsizei getMaximumLayers ( ) [static]

Returns the maximum texture layers allowed in the current OpenGL context.

static NVSG_API bool isSupported ( ) [static]

Returns true if this texture class is supported in the current OpenGL context.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:42 2012 for SceniX


SceniX: Member List

TextureGL2DArray Member List

This is the complete list of members for TextureGL2DArray, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGL2DArray | [static]
create(GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type) | TextureGL2DArray | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL2DArray | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL2DArray |
getData(void *data, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL2DArray |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGL2DArray | [inline]
getInternalFormat() const | TextureGL | [inline]
getLayers() const | TextureGL2DArray | [inline]
getMaximumLayers() | TextureGL2DArray | [static]
getMaximumSize() | TextureGL2DArray | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL2DArray | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
isSupported() | TextureGL2DArray | [static]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_height (defined in TextureGL2DArray) | TextureGL2DArray | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_layers (defined in TextureGL2DArray) | TextureGL2DArray | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL2DArray) | TextureGL2DArray | [protected]
resize(GLsizei width, GLsizei height, GLsizei layers) | TextureGL2DArray |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL2DArray |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0) | TextureGL2DArray |
setData(const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0) | TextureGL2DArray |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL2DArray() (defined in TextureGL2DArray) | TextureGL2DArray | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:42 2012 for SceniX


SceniX: TextureGL2DMultisample Class Reference

nvgl::TextureGL2DMultisample

TextureGL2DMultisample Class Reference

Class for 2D multisample OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL2DMultisample:

[legend]
Collaboration diagram for TextureGL2DMultisample:

[legend]
List of all members.

Public Member Functions

NVSG_API void | resize (GLsizei width, GLsizei height)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API void | setSamples (GLsizei samples)
Changes the sample count of the texture. All content and mipmap levels are lost if the sample count is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.
NVSG_API GLsizei | getSamples () const
Returns the number of samples per pixel.
NVSG_API bool | getFixedLocations () const
Returns whether the texture uses fixed sample locations when being rendered to.

Static Public Member Functions

static NVSG_API TextureGL2DMultisampleSharedPtr | create (GLenum internalFormat, GLsizei samples=1)
Creates a multi-sampled texture based on the given GL parameters.
static NVSG_API TextureGL2DMultisampleSharedPtr | create (GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, bool fixedLocations)
Creates a multi-sampled texture based on the given GL parameters.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumSamples ()
Returns the maximum texture samples allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumIntegerSamples ()
Returns the maximum texture samples allowed in the current OpenGL context, when a integer internal format is used.
static NVSG_API GLsizei | getMaximumColorSamples ()
Returns the maximum texture samples allowed in the current OpenGL context, when a color-renderable internal format is used.
static NVSG_API GLsizei | getMaximumDepthSamples ()
Returns the maximum texture samples allowed in the current OpenGL context, when a depth-renderable internal format is used.
static NVSG_API bool | isSupported ()
Returns true if this texture class is supported in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height
int | m_samples
bool | m_fixedLocations

Detailed Description

Class for 2D multisample OpenGL textures.

Remarks:
This texture type requires additional hardware support. Multisample textures store multiple samples per texel and are used as attachments for RenderTargetGLFBO. There is no support mipmapping nor texture filtering, however shaders can directly access samples individually.
See also:
isSupported

Member Function Documentation

static NVSG_API TextureGL2DMultisampleSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | samples = 1
 | ) | [static]

Creates a multi-sampled texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
samples | The number of samples per pixel
See also:
resize, setSamples

static NVSG_API TextureGL2DMultisampleSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | samples,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | bool | fixedLocations
 | ) | [static]

Creates a multi-sampled texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
samples | The number of samples per pixel
width | The texture width.
height | The texture height.
fixedLocations | When set to true, the location of the samples are the same for all internalFormats and depend only on sample count. Otherwise they can vary with each internalFormat.
See also:
resize, setSamples

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

NVSG_API void setSamples ( GLsizei samples )

Changes the sample count of the texture. All content and mipmap levels are lost if the sample count is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

GLsizei getSamples ( ) const [inline]

Returns the number of samples per pixel.

bool getFixedLocations ( ) const [inline]

Returns whether the texture uses fixed sample locations when being rendered to.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_TEXTURE_SIZE for the query.

static NVSG_API GLsizei getMaximumSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context.

static NVSG_API GLsizei getMaximumIntegerSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context, when a integer internal format is used.

static NVSG_API GLsizei getMaximumColorSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context, when a color-renderable internal format is used.

static NVSG_API GLsizei getMaximumDepthSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context, when a depth-renderable internal format is used.

static NVSG_API bool isSupported ( ) [static]

Returns true if this texture class is supported in the current OpenGL context.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:44 2012 for SceniX


SceniX: Member List

TextureGL2DMultisample Member List

This is the complete list of members for TextureGL2DMultisample, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei samples=1) | TextureGL2DMultisample | [static]
create(GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, bool fixedLocations) | TextureGL2DMultisample | [static]
nvgl::TextureGL::create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getFixedLocations() const | TextureGL2DMultisample | [inline]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGL2DMultisample | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumColorSamples() | TextureGL2DMultisample | [static]
getMaximumDepthSamples() | TextureGL2DMultisample | [static]
getMaximumIntegerSamples() | TextureGL2DMultisample | [static]
getMaximumSamples() | TextureGL2DMultisample | [static]
getMaximumSize() | TextureGL2DMultisample | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getSamples() const | TextureGL2DMultisample | [inline]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL2DMultisample | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
isSupported() | TextureGL2DMultisample | [static]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_fixedLocations (defined in TextureGL2DMultisample) | TextureGL2DMultisample | [protected]
m_height (defined in TextureGL2DMultisample) | TextureGL2DMultisample | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_samples (defined in TextureGL2DMultisample) | TextureGL2DMultisample | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL2DMultisample) | TextureGL2DMultisample | [protected]
resize(GLsizei width, GLsizei height) | TextureGL2DMultisample |
setSamples(GLsizei samples) | TextureGL2DMultisample |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL2DMultisample() (defined in TextureGL2DMultisample) | TextureGL2DMultisample | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:44 2012 for SceniX


SceniX: TextureGL2DMultisampleArray Class Reference

nvgl::TextureGL2DMultisampleArray

TextureGL2DMultisampleArray Class Reference

Class for 2D multisample array OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL2DMultisampleArray:

[legend]
Collaboration diagram for TextureGL2DMultisampleArray:

[legend]
List of all members.

Public Member Functions

NVSG_API void | resize (GLsizei width, GLsizei height, GLsizei layers)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API void | setSamples (GLsizei samples)
Changes the sample count of the texture. All content and mipmap levels are lost if the sample count is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.
NVSG_API GLsizei | getLayers () const
Returns the texture layers.
NVSG_API GLsizei | getSamples () const
Returns the number of samples per pixel.
NVSG_API bool | getFixedLocations () const
Returns whether the texture uses fixed sample locations when being rendered to.

Static Public Member Functions

static NVSG_API TextureGL2DMultisampleArraySharedPtr | create (GLenum internalFormat, GLsizei samples=1)
Creates a multi-sampled texture based on the given GL parameters.
static NVSG_API TextureGL2DMultisampleArraySharedPtr | create (GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, GLsizei layers, bool fixedLocations)
Creates a multi-sampled texture based on the given GL parameters.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumLayers ()
Returns the maximum texture layers allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumSamples ()
Returns the maximum texture samples allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumIntegerSamples ()
Returns the maximum texture samples allowed in the current OpenGL context, when a integer internal format is used.
static NVSG_API GLsizei | getMaximumColorSamples ()
Returns the maximum texture samples allowed in the current OpenGL context, when a color-renderable internal format is used.
static NVSG_API GLsizei | getMaximumDepthSamples ()
Returns the maximum texture samples allowed in the current OpenGL context, when a depth-renderable internal format is used.
static NVSG_API bool | isSupported ()
Returns true if this texture class is supported in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height
int | m_samples
int | m_layers
bool | m_fixedLocations

Detailed Description

Class for 2D multisample array OpenGL textures.

Remarks:
This texture type requires additional hardware support. Multisample textures store multiple samples per texel and are used as attachments for RenderTargetGLFBO. There is no support mipmapping nor texture filtering, however shaders can directly access samples individually. Array textures store multiple textures in stacked layers.
See also:
isSupported

Member Function Documentation

static NVSG_API TextureGL2DMultisampleArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | samples = 1
 | ) | [static]

Creates a multi-sampled texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
samples | The number of samples per pixel Otherwise they can vary with each internalFormat.
See also:
resize, setSamples

static NVSG_API TextureGL2DMultisampleArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | samples,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | layers,
 |  | bool | fixedLocations
 | ) | [static]

Creates a multi-sampled texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
samples | The number of samples per pixel
width | The texture width.
height | The texture height.
layers | The amount of texture layers.
fixedLocations | When set to true, the location of the samples are the same for all internalFormats and depend only on sample count. Otherwise they can vary with each internalFormat.
See also:
resize, setSamples

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | layers
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

NVSG_API void setSamples ( GLsizei samples )

Changes the sample count of the texture. All content and mipmap levels are lost if the sample count is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

GLsizei getLayers ( ) const [inline]

Returns the texture layers.

GLsizei getSamples ( ) const [inline]

Returns the number of samples per pixel.

bool getFixedLocations ( ) const [inline]

Returns whether the texture uses fixed sample locations when being rendered to.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_TEXTURE_SIZE for the query.

static NVSG_API GLsizei getMaximumLayers ( ) [static]

Returns the maximum texture layers allowed in the current OpenGL context.

static NVSG_API GLsizei getMaximumSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context.

static NVSG_API GLsizei getMaximumIntegerSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context, when a integer internal format is used.

static NVSG_API GLsizei getMaximumColorSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context, when a color-renderable internal format is used.

static NVSG_API GLsizei getMaximumDepthSamples ( ) [static]

Returns the maximum texture samples allowed in the current OpenGL context, when a depth-renderable internal format is used.

static NVSG_API bool isSupported ( ) [static]

Returns true if this texture class is supported in the current OpenGL context.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:44 2012 for SceniX


SceniX: Member List

TextureGL2DMultisampleArray Member List

This is the complete list of members for TextureGL2DMultisampleArray, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei samples=1) | TextureGL2DMultisampleArray | [static]
create(GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, GLsizei layers, bool fixedLocations) | TextureGL2DMultisampleArray | [static]
nvgl::TextureGL::create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getFixedLocations() const | TextureGL2DMultisampleArray | [inline]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGL2DMultisampleArray | [inline]
getInternalFormat() const | TextureGL | [inline]
getLayers() const | TextureGL2DMultisampleArray | [inline]
getMaximumColorSamples() | TextureGL2DMultisampleArray | [static]
getMaximumDepthSamples() | TextureGL2DMultisampleArray | [static]
getMaximumIntegerSamples() | TextureGL2DMultisampleArray | [static]
getMaximumLayers() | TextureGL2DMultisampleArray | [static]
getMaximumSamples() | TextureGL2DMultisampleArray | [static]
getMaximumSize() | TextureGL2DMultisampleArray | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getSamples() const | TextureGL2DMultisampleArray | [inline]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL2DMultisampleArray | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
isSupported() | TextureGL2DMultisampleArray | [static]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_fixedLocations (defined in TextureGL2DMultisampleArray) | TextureGL2DMultisampleArray | [protected]
m_height (defined in TextureGL2DMultisampleArray) | TextureGL2DMultisampleArray | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_layers (defined in TextureGL2DMultisampleArray) | TextureGL2DMultisampleArray | [protected]
m_maxLevel | TextureGL | [protected]
m_samples (defined in TextureGL2DMultisampleArray) | TextureGL2DMultisampleArray | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL2DMultisampleArray) | TextureGL2DMultisampleArray | [protected]
resize(GLsizei width, GLsizei height, GLsizei layers) | TextureGL2DMultisampleArray |
setSamples(GLsizei samples) | TextureGL2DMultisampleArray |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL2DMultisampleArray() (defined in TextureGL2DMultisampleArray) | TextureGL2DMultisampleArray | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:44 2012 for SceniX


SceniX: TextureGL3D Class Reference

nvgl::TextureGL3D

TextureGL3D Class Reference

Class for 3D OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGL3D:

[legend]
Collaboration diagram for TextureGL3D:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, GLuint mipLevel=0)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei height, GLsizei depth)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.
NVSG_API GLsizei | getDepth () const
Returns the texture depth.

Static Public Member Functions

static NVSG_API TextureGL3DSharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL3DSharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGL3DSharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height
int | m_depth

Detailed Description

Class for 3D OpenGL textures.

Remarks:
This type is mostly used for volume rendering.

Member Function Documentation

static NVSG_API TextureGL3DSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL3DSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width.
height | The texture height.
depth | The texture depth.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGL3DSharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

GLsizei getDepth ( ) const [inline]

Returns the texture depth.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_3D_TEXTURE_SIZE for the query.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:43 2012 for SceniX


SceniX: Member List

TextureGL3D Member List

This is the complete list of members for TextureGL3D, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGL3D | [static]
create(GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei border, GLenum format, GLenum type) | TextureGL3D | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL3D | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL3D |
getData(void *data, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGL3D |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getDepth() const | TextureGL3D | [inline]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGL3D | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize() | TextureGL3D | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGL3D | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_depth (defined in TextureGL3D) | TextureGL3D | [protected]
m_height (defined in TextureGL3D) | TextureGL3D | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGL3D) | TextureGL3D | [protected]
resize(GLsizei width, GLsizei height, GLsizei depth) | TextureGL3D |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL3D |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) | TextureGL3D |
setData(const void *data, GLenum format, GLenum type, GLuint mipLevel=0) | TextureGL3D |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGL3D() (defined in TextureGL3D) | TextureGL3D | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:43 2012 for SceniX


SceniX: TextureGLBuffer Class Reference

nvgl::TextureGLBuffer

TextureGLBuffer Class Reference

Class for buffer OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGLBuffer:

[legend]
Collaboration diagram for TextureGLBuffer:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setBuffer (const BufferGLSharedPtr &smBufferGL, GLenum internalFormat)
Sets the BufferGL and the format of its data, that this texture addresses directly.
NVSG_API const BufferGLSharedPtr & | getBuffer () const
Returns the BufferGL that is assigned to this Texture.
NVSG_API GLsizei | getSize () const
Computes the current size (amount of addressable texels) based on the internal format and the buffer's size.

Static Public Member Functions

static NVSG_API TextureGLBufferSharedPtr | create (const BufferGLSharedPtr &smBufferGL, GLenum internalFormat)
Creates a texture that allows to address a BufferGL and interpret its data in the given format.
static NVSG_API bool | isFormatValid (GLenum internalFormat)
Returns whether the internal format is supported by the current OpenGL context.
static NVSG_API bool | isSupported ()
Returns true if this texture class is supported in the current OpenGL context.
static NVSG_API GLsizei | computeSize (size_t bytes, GLenum internalFormat)
Compute the size (amount of addressable texels) depending on format and byte size of the buffer.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum size (amount of addressable texels) in the current OpenGL context.

Protected Attributes

BufferGLSharedPtr | m_buffer

Detailed Description

Class for buffer OpenGL textures.

Remarks:
This texture type requires dedicated hardware support. Buffer textures do not support texture filtering, instead the associated buffer's data is treated as large 1D array. The internal format defines how the array elements are interpreted. Therefore, the size of the texture depends on the buffer's size and the internal format. The data is directly sampled from the associated BufferGL, so any updates to it, will change the sampling result.
See also:
isSupported, isFormatValid, computeSize

Member Function Documentation

static NVSG_API TextureGLBufferSharedPtr create | ( | const BufferGLSharedPtr & | smBufferGL,
 |  | GLenum | internalFormat
 | ) | [static]

Creates a texture that allows to address a BufferGL and interpret its data in the given format.

Parameters:
smBufferGL | The buffer whose data is referenced
internalFormat | Specifies how the buffer's data is interpreted when the texture is sampled (e.g. GL_RGBA32F)
See also:
setBuffer, getBuffer

NVSG_API void setBuffer | ( | const BufferGLSharedPtr & | smBufferGL,
 |  | GLenum | internalFormat
 | ) |

Sets the BufferGL and the format of its data, that this texture addresses directly.

Parameters:
smBufferGL | The buffer whose data is referenced
internalFormat | Specifies how the buffer's data is interpreted when the texture is sampled (e.g. GL_RGBA32F)
See also:
getBuffer

const BufferGLSharedPtr & getBuffer ( ) const [inline]

Returns the BufferGL that is assigned to this Texture.

See also:
setBuffer

NVSG_API GLsizei getSize ( ) const

Computes the current size (amount of addressable texels) based on the internal format and the buffer's size.

See also:
setBuffer

static NVSG_API bool isFormatValid ( GLenum internalFormat ) [static]

Returns whether the internal format is supported by the current OpenGL context.

static NVSG_API bool isSupported ( ) [static]

Returns true if this texture class is supported in the current OpenGL context.

static NVSG_API GLsizei computeSize | ( | size_t | bytes,
 |  | GLenum | internalFormat
 | ) | [static]

Compute the size (amount of addressable texels) depending on format and byte size of the buffer.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum size (amount of addressable texels) in the current OpenGL context.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:44 2012 for SceniX


SceniX: Member List

TextureGLBuffer Member List

This is the complete list of members for TextureGLBuffer, including all inherited members.

bind() | TextureGL |
computeSize(size_t bytes, GLenum internalFormat) | TextureGLBuffer | [static]
create(const BufferGLSharedPtr &smBufferGL, GLenum internalFormat) | TextureGLBuffer | [static]
nvgl::TextureGL::create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getBuffer() const | TextureGLBuffer | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize() | TextureGLBuffer | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getSize() const | TextureGLBuffer |
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isFormatValid(GLenum internalFormat) | TextureGLBuffer | [static]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
isSupported() | TextureGLBuffer | [static]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_buffer (defined in TextureGLBuffer) | TextureGLBuffer | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
setBuffer(const BufferGLSharedPtr &smBufferGL, GLenum internalFormat) | TextureGLBuffer |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGLBuffer() (defined in TextureGLBuffer) | TextureGLBuffer | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:44 2012 for SceniX


SceniX: TextureGLCubemap Class Reference

nvgl::TextureGLCubemap

TextureGLCubemap Class Reference

Class for cubemap OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGLCubemap:

[legend]
Collaboration diagram for TextureGLCubemap:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, int face, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, int face, GLuint mipLevel=0)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, int face, GLuint mipLevel=0) const
Retrieves the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, int face, GLuint mipLevel=0) const
Retrieves the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei height)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.

Static Public Member Functions

static NVSG_API TextureGLCubemapSharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGLCubemapSharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGLCubemapSharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height

Detailed Description

Class for cubemap OpenGL textures.

Remarks:
Cubemaps represent the six inner faces of a cube and are mostly used for environment effects (e.g. reflections). The cube faces are square and stored in the order +X,-X,+Y,-Y,+Z,-Z.

Member Function Documentation

static NVSG_API TextureGLCubemapSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGLCubemapSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width. Width and height must match.
height | The texture height. Width and height must match.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGLCubemapSharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Parameters:
smTexImage The texture image used for the data. It must have 6 square 2D images.
Note:
In debug the function asserts on fail, but in release it will return a nullptr.

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Parameters:
smTexImage The texture image used for the data. It must have 6 square 2D images.
Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | int | face,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
face | Specifies the face of the cube from 0 to 5 (+X to -Z).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | int | face,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
face | Specifies the face of the cube from 0 to 5 (+X to -Z).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | int | face,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
face | Specifies the face of the cube from 0 to 5 (+X to -Z).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | int | face,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
face | Specifies the face of the cube from 0 to 5 (+X to -Z).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_CUBE_MAP_TEXTURE_SIZE for the query.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:43 2012 for SceniX


SceniX: Member List

TextureGLCubemap Member List

This is the complete list of members for TextureGLCubemap, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGLCubemap | [static]
create(GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type) | TextureGLCubemap | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGLCubemap | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, int face, GLuint mipLevel=0) const | TextureGLCubemap |
getData(void *data, GLenum format, GLenum type, int face, GLuint mipLevel=0) const | TextureGLCubemap |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGLCubemap | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize() | TextureGLCubemap | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGLCubemap | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_height (defined in TextureGLCubemap) | TextureGLCubemap | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGLCubemap) | TextureGLCubemap | [protected]
resize(GLsizei width, GLsizei height) | TextureGLCubemap |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGLCubemap |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, int face, GLuint mipLevel=0) | TextureGLCubemap |
setData(const void *data, GLenum format, GLenum type, int face, GLuint mipLevel=0) | TextureGLCubemap |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGLCubemap() (defined in TextureGLCubemap) | TextureGLCubemap | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:43 2012 for SceniX


SceniX: TextureGLCubemapArray Class Reference

nvgl::TextureGLCubemapArray

TextureGLCubemapArray Class Reference

Class for cubemap array OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGLCubemapArray:

[legend]
Collaboration diagram for TextureGLCubemapArray:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves all layers of the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type, GLuint mipLevel=0) const
Retrieves all layers of the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei height, GLsizei layers)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.
NVSG_API GLsizei | getLayers () const
Returns the texture layers.

Static Public Member Functions

static NVSG_API TextureGLCubemapArraySharedPtr | create (GLenum internalFormat, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGLCubemapArraySharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGLCubemapArraySharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.
static NVSG_API GLsizei | getMaximumLayers ()
Returns the maximum texture layers allowed in the current OpenGL context.
static NVSG_API bool | isSupported ()
Returns true if this texture class is supported in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height
int | m_layers

Detailed Description

Class for cubemap array OpenGL textures.

Remarks:
Cubemaps represent the six inner faces of a cube and are mostly used for environment effects (e.g. reflections). The cube faces are stored in the order +X,-X,+Y,-Y,+Z,-Z. Each layer encodes one cube face, so every six layers a new cubemap starts. This texture class requires additional hardware support.
See also:
isSupported

Member Function Documentation

static NVSG_API TextureGLCubemapArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGLCubemapArraySharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | layers,
 |  | GLsizei | border,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width. Width and height must match.
height | The texture height. Width and height must match.
layers | The amount of texture layers.
border | The texture border size.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGLCubemapArraySharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Parameters:
smTexImage The texture image used for the data. It must have an image count that is a multiple of 6.
Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Parameters:
smTexImage The texture image used for the data. It must have an image count that is a multiple of 6.
Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLint | layer,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
layer | The amount of texture layers.
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLint | layer,
 |  | GLuint | mipLevel = 0
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
layer | The amount of texture layers.
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves all layers of the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLuint | mipLevel = 0
 | ) | const

Retrieves all layers of the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
mipLevel | Specifies the texture level (0 being base-level) the data is stored to.
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | layers
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

GLsizei getLayers ( ) const [inline]

Returns the texture layers.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_CUBE_MAP_TEXTURE_SIZE for the query.

static NVSG_API GLsizei getMaximumLayers ( ) [static]

Returns the maximum texture layers allowed in the current OpenGL context.

static NVSG_API bool isSupported ( ) [static]

Returns true if this texture class is supported in the current OpenGL context.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:43 2012 for SceniX


SceniX: Member List

TextureGLCubemapArray Member List

This is the complete list of members for TextureGLCubemapArray, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLsizei border, GLenum format, GLenum type) | TextureGLCubemapArray | [static]
create(GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type) | TextureGLCubemapArray | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGLCubemapArray | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGLCubemapArray |
getData(void *data, GLenum format, GLenum type, GLuint mipLevel=0) const | TextureGLCubemapArray |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGLCubemapArray | [inline]
getInternalFormat() const | TextureGL | [inline]
getLayers() const | TextureGLCubemapArray | [inline]
getMaximumLayers() | TextureGLCubemapArray | [static]
getMaximumSize() | TextureGLCubemapArray | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGLCubemapArray | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
isSupported() | TextureGLCubemapArray | [static]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_height (defined in TextureGLCubemapArray) | TextureGLCubemapArray | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_layers (defined in TextureGLCubemapArray) | TextureGLCubemapArray | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGLCubemapArray) | TextureGLCubemapArray | [protected]
resize(GLsizei width, GLsizei height, GLsizei layers) | TextureGLCubemapArray |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGLCubemapArray |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0) | TextureGLCubemapArray |
setData(const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel=0) | TextureGLCubemapArray |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGLCubemapArray() (defined in TextureGLCubemapArray) | TextureGLCubemapArray | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:43 2012 for SceniX


SceniX: TextureGLRectangle Class Reference

nvgl::TextureGLRectangle

TextureGLRectangle Class Reference

Class for rectangle OpenGL textures. More...

#include <TextureGL.h>

Inheritance diagram for TextureGLRectangle:

[legend]
Collaboration diagram for TextureGLRectangle:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | setData (const nvsg::TextureHostSharedPtr &smTexImage)
Sets the internal format, size and data from the texture image.
NVSG_API void | setData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type)
Transfers the buffer data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | setData (const void *data, GLenum format, GLenum type)
Transfers data to the OpenGL texture, keeping current internal format and size.
NVSG_API void | getData (const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type) const
Retrieves the OpenGL texture data into a buffer.
NVSG_API void | getData (void *data, GLenum format, GLenum type) const
Retrieves the OpenGL texture data.
NVSG_API void | resize (GLsizei width, GLsizei height)
Resizes the texture. All content and mipmap levels are lost if the size is different from current state.
NVSG_API GLsizei | getWidth () const
Returns the texture width.
NVSG_API GLsizei | getHeight () const
Returns the texture height.

Static Public Member Functions

static NVSG_API TextureGLRectangleSharedPtr | create (GLenum internalFormat, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGLRectangleSharedPtr | create (GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type)
Creates a texture based on the given GL parameters.
static NVSG_API TextureGLRectangleSharedPtr | create (const nvsg::TextureHostSharedPtr &smTexImage)
Creates a texture from a texture image.
static NVSG_API GLsizei | getMaximumSize ()
Returns the maximum texture size allowed in the current OpenGL context.

Protected Attributes

int | m_width
int | m_height

Detailed Description

Class for rectangle OpenGL textures.

Remarks:
Rectangle textures do not support borders or mip map levels and are sampled using unnormalized texture coordinates.

Member Function Documentation

static NVSG_API TextureGLRectangleSharedPtr create | ( | GLenum | internalFormat,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGLRectangleSharedPtr create | ( | GLenum | internalFormat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | [static]

Creates a texture based on the given GL parameters.

Parameters:
internalFormat | Specifies the GL format used to store the data on the OpenGL server (e.g. GL_RGBA8).
width | The texture width.
height | The texture height.
format | The OpenGL texture client format used in resize operations (e.g. GL_RGBA).
type | The OpenGL texture client type used in resize operations (e.g. GL_UNSIGNED_BYTE).
See also:
setData, resize

static NVSG_API TextureGLRectangleSharedPtr create ( const nvsg::TextureHostSharedPtr & smTexImage ) [static]

Creates a texture from a texture image.

Note:
In debug the function asserts on fail, but in release it will return a nullptr

Reimplemented from TextureGL.

NVSG_API bool setData ( const nvsg::TextureHostSharedPtr & smTexImage )

Sets the internal format, size and data from the texture image.

Returns:
Returns true on success, otherwise false (which triggers an assertion in debug build).

NVSG_API void setData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type
 | ) |

Transfers the buffer data to the OpenGL texture, keeping current internal format and size.

Parameters:
buffer | The Buffer used to read the texture data from.
bufferOffset | The offset in bytes into the buffer where reading is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
Note:
No checks on the buffer's size validity are performed.
See also:
getData

NVSG_API void setData | ( | const void * | data,
 |  | GLenum | format,
 |  | GLenum | type
 | ) |

Transfers data to the OpenGL texture, keeping current internal format and size.

Parameters:
data | A pointer to the data that is read.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
See also:
getData

NVSG_API void getData | ( | const nvsg::BufferSharedPtr & | buffer,
 |  | size_t | bufferOffset,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | const

Retrieves the OpenGL texture data into a buffer.

Parameters:
buffer | The Buffer used to write the texture data to.
bufferOffset | The offset in bytes into the buffer where writing is started from.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
Note:
No checks on the buffer's size validity are performed.
See also:
setData

NVSG_API void getData | ( | void * | data,
 |  | GLenum | format,
 |  | GLenum | type
 | ) | const

Retrieves the OpenGL texture data.

Parameters:
data | A pointer for data storage.
format | Specifies the OpenGL client format of the data (e.g. GL_RGBA).
type | Specifies the OpenGL client type of the data (e.g. GL_FLOAT).
See also:
setData

NVSG_API void resize | ( | GLsizei | width,
 |  | GLsizei | height
 | ) |

Resizes the texture. All content and mipmap levels are lost if the size is different from current state.

GLsizei getWidth ( ) const [inline]

Returns the texture width.

GLsizei getHeight ( ) const [inline]

Returns the texture height.

static NVSG_API GLsizei getMaximumSize ( ) [static]

Returns the maximum texture size allowed in the current OpenGL context.

Note:
Uses GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB for the query.

The documentation for this class was generated from the following file:
  • TextureGL.h
Generated on Fri Jul 13 13:29:42 2012 for SceniX


SceniX: Member List

TextureGLRectangle Member List

This is the complete list of members for TextureGLRectangle, including all inherited members.

bind() | TextureGL |
create(GLenum internalFormat, GLenum format, GLenum type) | TextureGLRectangle | [static]
create(GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type) | TextureGLRectangle | [static]
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGLRectangle | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type) const | TextureGLRectangle |
getData(void *data, GLenum format, GLenum type) const | TextureGLRectangle |
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getHeight() const | TextureGLRectangle | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize() | TextureGLRectangle | [static]
nvgl::TextureGL::getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getWidth() const | TextureGLRectangle | [inline]
hasLayers(GLenum target) | TextureGL | [static]
nvgl::TextureGL::init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_height (defined in TextureGLRectangle) | TextureGLRectangle | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
m_width (defined in TextureGLRectangle) | TextureGLRectangle | [protected]
resize(GLsizei width, GLsizei height) | TextureGLRectangle |
setData(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGLRectangle |
setData(const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type) | TextureGLRectangle |
setData(const void *data, GLenum format, GLenum type) | TextureGLRectangle |
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
TextureGLRectangle() (defined in TextureGLRectangle) | TextureGLRectangle | [inline, protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:42 2012 for SceniX


SceniX: TextureHost Class Reference

nvsg::TextureHost

TextureHost Class Reference

A texture image abstraction class. More...

#include <TextureHost.h>

Inheritance diagram for TextureHost:

[legend]
Collaboration diagram for TextureHost:

[legend]
List of all members.

Public Types

enum TextureGPUFormat {
TGF_DEFAULT, TGF_FIXED, TGF_FLOAT, TGF_NONLINEAR,
TGF_INTEGER, TGF_COMPRESSED_FIXED, TGF_FLOAT16, TGF_FLOAT32,
TGF_FIXED8, TGF_FIXED10, TGF_FIXED16, TGF_ALPHA8,
TGF_ALPHA16, TGF_SIGNED_ALPHA8, TGF_SIGNED_ALPHA16, TGF_LUMINANCE8,
TGF_LUMINANCE16, TGF_SIGNED_LUMINANCE8, TGF_SIGNED_LUMINANCE16, TGF_LUMINANCE8_ALPHA8,
TGF_LUMINANCE16_ALPHA16, TGF_SIGNED_LUMINANCE8_ALPHA8, TGF_SIGNED_LUMINANCE16_ALPHA16, TGF_COMPRESSED_LUMINANCE,
TGF_COMPRESSED_LUMINANCE_ALPHA, TGF_COMPRESSED_LUMINANCE_LATC, TGF_SIGNED_COMPRESSED_LUMINANCE_LATC, TGF_COMPRESSED_LUMINANCE_ALPHA_LATC,
TGF_SIGNED_COMPRESSED_LUMINANCE_ALPHA_LATC, TGF_COMPRESSED_RED_RGTC, TGF_SIGNED_COMPRESSED_RED_RGTC, TGF_COMPRESSED_RG_RGTC,
TGF_SIGNED_COMPRESSED_RG_RGTC, TGF_RGB8, TGF_SIGNED_RGB8, TGF_RGB16,
TGF_RGBA8, TGF_SIGNED_RGBA8, TGF_RGB10, TGF_RGB10_A2,
TGF_RGBA16, TGF_SRGB, TGF_SRGBA, TGF_COMPRESSED_SRGB,
TGF_COMPRESSED_SRGBA, TGF_COMPRESSED_SRGB_DXT1, TGF_COMPRESSED_SRGB_DXT3, TGF_COMPRESSED_SRGB_DXT5,
TGF_COMPRESSED_SRGBA_DXT1, TGF_COMPRESSED_RGB, TGF_COMPRESSED_RGBA, TGF_COMPRESSED_RGB_DXT1,
TGF_COMPRESSED_RGB_DXT3, TGF_COMPRESSED_RGB_DXT5, TGF_COMPRESSED_RGBA_DXT1, TGF_DEPTH16,
TGF_DEPTH24, TGF_DEPTH32, TGF_DEPTH24_STENCIL8, TGF_LUMINANCE16F,
TGF_LUMINANCE32F, TGF_LUMINANCE_ALPHA16F, TGF_LUMINANCE_ALPHA32F, TGF_RGB16F,
TGF_RGB32F, TGF_RGBA16F, TGF_RGBA32F, TGF_SIGNED_RGB_INTEGER32,
TGF_SIGNED_RGB_INTEGER16, TGF_SIGNED_RGB_INTEGER8, TGF_RGB_INTEGER32, TGF_RGB_INTEGER16,
TGF_RGB_INTEGER8, TGF_SIGNED_RGBA_INTEGER32, TGF_SIGNED_RGBA_INTEGER16, TGF_SIGNED_RGBA_INTEGER8,
TGF_RGBA_INTEGER32, TGF_RGBA_INTEGER16, TGF_RGBA_INTEGER8, TGF_SIGNED_LUMINANCE_INTEGER32,
TGF_SIGNED_LUMINANCE_INTEGER16, TGF_SIGNED_LUMINANCE_INTEGER8, TGF_LUMINANCE_INTEGER32, TGF_LUMINANCE_INTEGER16,
TGF_LUMINANCE_INTEGER8, TGF_SIGNED_LUMINANCE_ALPHA_INTEGER32, TGF_SIGNED_LUMINANCE_ALPHA_INTEGER16, TGF_SIGNED_LUMINANCE_ALPHA_INTEGER8,
TGF_LUMINANCE_ALPHA_INTEGER32, TGF_LUMINANCE_ALPHA_INTEGER16, TGF_LUMINANCE_ALPHA_INTEGER8, TGF_UNSIGNED_FLOAT_SHARED_EXPONENT,
TGF_UNSIGNED_FLOAT_PACKED
}
Enumeration type to describe the format of the data when it is resident. More...
enum {
F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD = BIT0, F_IMAGE_STREAM = BIT2, F_NO_IMAGE_CREATION = BIT4, F_SCALE_FILTER_BOX = 0,
F_SCALE_FILTER_TRIANGLE = BIT7, F_SCALE_FILTER_BELL = BIT8, F_SCALE_FILTER_BSPLINE = BIT7 | BIT8, F_SCALE_FILTER_LANCZOS3 = BIT9,
F_SCALE_FILTER_MASK = BIT7 | BIT8 | BIT9, F_SCALE_POT_NEAREST = 0, F_SCALE_POT_ABOVE = BIT16, F_SCALE_POT_BELOW = BIT17,
F_SCALE_POT_MASK = F_SCALE_POT_ABOVE | F_SCALE_POT_BELOW
}
Flags considered for image processing. More...

Public Member Functions

NVSG_API bool | setTextureTarget (TextureTarget target)
Sets the TextureTarget, returns false if incompatible with current image data.
NVSG_API bool | convertToTextureTarget (TextureTarget target)
Tries to set the TextureTarget, returns false if unable to convert the image data.
NVSG_API void | setCreationFlags (unsigned int flags)
Sets creation flags to consider for further image processing.
NVSG_API void | setTextureGPUFormat (TextureGPUFormat fmt)
Sets the textures GPU, or internal, format.
NVSG_API TextureGPUFormat | getTextureGPUFormat (void) const
Gets the textures GPU, or internal, format.
NVSG_API const std::string & | getFileName () const
Returns the name of the file from which the TextureHost was created.
NVSG_API unsigned int | createImage (unsigned int width, unsigned int height, unsigned int depth, Image::PixelFormat format, Image::PixelDataType type, const void *pixels=0, const std::vector< const void * > &mipmaps=std::vector< const void * >())
Creates an image.
NVSG_API unsigned int | addImage (unsigned int width, unsigned int height, unsigned int depth, Image::PixelFormat format, Image::PixelDataType type)
Add an Image structure without pixel data to the TextureHost.
NVSG_API void | setImageData (unsigned int image, const void *pixels, const std::vector< const void * > &mipmaps=std::vector< const void * >())
Set the pixel data of an Image.
NVSG_API void | setImageData (unsigned int image, const BufferSharedPtr &pixels, const std::vector< BufferSharedPtr > &mipmaps=std::vector< BufferSharedPtr >())
Set the pixel data of an Image.
NVSG_API void | releaseImagePixels ()
Releases all contained image data. Release the memory used for the image pixels.
NVSG_API bool | reloadImagePixels (bool bConvert2DToCubeMap=false)
Reload the TextureHost.
NVSG_API void | incrementMipmapUseCount ()
Increments (increases by one) the mipmap use count The function increments the mipmap use count for this Texture image by one.
NVSG_API void | decrementMipmapUseCount ()
Decrements (decreases by one) the mipmap use count The function increments the mipmap use count for this Texture image by one.
NVSG_API unsigned int | getMipmapUseCount () const
Returns the actual mipmap use count.
NVSG_API bool | createMipmaps ()
Creates all mipmap levels for all included images.
NVSG_API unsigned int | getNumberOfImages () const
Get the number of Images of the TextureHost (e.g. 6 for cubemaps).
NVSG_API unsigned int | getNumberOfMipmaps (unsigned int image=0) const
Get the number of mipmap levels for the specified image.
NVSG_API Image::PixelFormat | getFormat (unsigned int image=0, unsigned int mipmap=0) const
Returns the PixelFormat of the specified mipmap level for a given image.
NVSG_API Image::PixelDataType | getType (unsigned int image=0, unsigned int mipmap=0) const
Returns the PixelDataType of the specified image.
NVSG_API unsigned int | getWidth (unsigned int image=0, unsigned int mipmap=0) const
Get the width of the specified image in pixels.
NVSG_API unsigned int | getHeight (unsigned int image=0, unsigned int mipmap=0) const
Get the height of the specified image in pixels.
NVSG_API unsigned int | getDepth (unsigned int image=0, unsigned int mipmap=0) const
Get the depth of the specified image in pixels.
NVSG_API unsigned int | getBytesPerPixel (unsigned int image=0, unsigned int mipmap=0) const
Returns the number of bytes per pixel of the specified mipmap.
NVSG_API unsigned int | getBytesPerScanLine (unsigned int image=0, unsigned int mipmap=0) const
Get the number of bytes per line of the specified mipmap level of the specified image.
NVSG_API unsigned int | getBytesPerPlane (unsigned int image=0, unsigned int mipmap=0) const
Get the number of bytes per plane (slice) of the specified mipmap level of the specified image.
NVSG_API unsigned int | getNumberOfBytes (unsigned int image=0, unsigned int mipmap=0) const
Get the number of bytes of the specified mipmap level of the specified image.
NVSG_API unsigned int | getTotalNumberOfBytes () const
Returns the number of bytes used for all included images and mipmap levels.
NVSG_API BufferSharedPtr | getPixels (unsigned int image=0, unsigned int mipmap=0) const
Returns a Buffer containing the the raw pixel data of the specified mipmap.
NVSG_API bool | getSubImagePixels (unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, void *subPixels) const
getSubImagePixels copies a portion of an existing 1-, 2-, or 3-dimensional image.
NVSG_API bool | getSubImagePixels (unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, const BufferSharedPtr &buffer) const
getSubImagePixels copies a portion of an existing 1-, 2-, or 3-dimensional image.
NVSG_API bool | setSubImagePixels (unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, const void *subPixels)
setSubImagePixels sets a portion of an existing 1-, 2-, or 3-dimensional image.
NVSG_API bool | setSubImagePixels (unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, const BufferSharedPtr &pixelBuffer)
setSubImagePixels sets a portion of an existing 1-, 2-, or 3-dimensional image.
NVSG_API unsigned int | getUnpackAlignment () const
Returns the alignment for the start of each pixel row in memory.
NVSG_API bool | scale (unsigned int image, unsigned int width, unsigned int height=1, unsigned int depth=1)
Scale the specified image.
NVSG_API bool | convertPixelFormat (Image::PixelFormat newFormat)
the new pixel format.
NVSG_API bool | scaleToPowerOfTwo (unsigned int sizeLimit)
Scales containing images to power-of-two.
NVSG_API bool | is1D () const
Returns whether the texture image represents a 1-dimensional texture image.
NVSG_API bool | is2D () const
Returns whether the texture image represents a 2-dimensional texture image.
NVSG_API bool | is2DArray () const
Returns whether the texture image represents a 2-dimensional texture image array.
NVSG_API bool | is1DArray () const
Returns whether the texture image represents a 1-dimensional texture image array.
NVSG_API bool | is3D () const
Returns whether the texture image represents a 3-dimensional texture image.
NVSG_API bool | isCubeMap () const
Returns whether the texture image represents a cube map.
NVSG_API bool | isCubeMapArray () const
Returns whether the texture image represents a cube map array.
NVSG_API bool | isFloatingPoint () const
Returns whether the texture image represents a floating point texture image.
NVSG_API bool | isFixedPoint () const
Returns whether the texture image represents a fixed point texture image.
NVSG_API bool | isCompressed () const
Returns whether the texture image represents a compressed texture image.
NVSG_API bool | isImageStream () const
Returns whether the texture image is treated as an image stream.
NVSG_API void | convert2DToCubeMap ()
Will convert a 2D image to 6 cubemap faces.
NVSG_API void | demandUpload ()
Forces a re-upload of the texture image.
NVSG_API bool | isUploadDemanded () const
Returns whether a re-upload of the texture image is required.
NVSG_API void | finishUpload (bool preserve=false)
Finishes an image upload.
NVSG_API unsigned int | getCreationFlags () const
Returns the creation flag status of the TextureHost object.
NVSG_API TextureHost & | operator= (const TextureHost &rhs)
Assigns new contents to a TextureHost object.
NVSG_API void | mirrorX (unsigned int image)
Mirror the image over the x-axis.
NVSG_API void | mirrorY (unsigned int image)
Mirror the image over the y-axis.
virtual NVSG_API bool | isEquivalent (const Texture *p, bool deepCompare) const
Overrides Texture::isEquivalent.

Static Public Member Functions

static NVSG_API TextureHostSharedPtr | create ()
static NVSG_API TextureHostSharedPtr | createFromFile (const std::string &filename, const std::vector< std::string > &searchPaths, unsigned int creationFlags=0)
Instantiates a TextureHost object filled with image data loaded from a file.

Protected Member Functions

NVSG_API | TextureHost ()
Default-constructs a TextureHost. A default created TextureHost uses a triangle filter for scaling and mipmap creation. Image data later specified through createImage will be copied to the internal data structures and released after image upload.
NVSG_API | TextureHost (const TextureHost &)
Constructs a TextureHost as a copy of another TextureHost.
virtual NVSG_API | ~TextureHost ()
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

A texture image abstraction class.

Member Enumeration Documentation

enum TextureGPUFormat

Enumeration type to describe the format of the data when it is resident.

anonymous enum

Flags considered for image processing.

Enumeration values:
F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD | Serves as a hint to the upload code to keep the image data in process memory even after image upload.
F_IMAGE_STREAM | Forces the image to be treated as an image stream, that is, no pixel data will be copied to internal structures.
F_NO_IMAGE_CREATION | Only create the information data for this TextureHost, don't load the texture data.
F_SCALE_FILTER_BOX | scale the image with a box filter (nearest)
F_SCALE_FILTER_TRIANGLE | scale the image with a triangle filter (linear)
F_SCALE_FILTER_BELL | scale the image with a bell filter
F_SCALE_FILTER_BSPLINE | scale the image with a bspline filter
F_SCALE_FILTER_LANCZOS3 | scale the image with a lanczos3 filter
F_SCALE_POT_NEAREST | always scale to nearest power of two if scaling is required (default)
F_SCALE_POT_ABOVE | always scale to the next power of two if scaling is required
F_SCALE_POT_BELOW | always scale to the highest power of two below if scaling is required

Constructor & Destructor Documentation

NVSG_API TextureHost ( ) [protected]

Default-constructs a TextureHost. A default created TextureHost uses a triangle filter for scaling and mipmap creation. Image data later specified through createImage will be copied to the internal data structures and released after image upload.

NVSG_API TextureHost ( const TextureHost & ) [protected]

Constructs a TextureHost as a copy of another TextureHost.

virtual NVSG_API ~TextureHost ( ) [protected, virtual]

Destructs a TextureHost

Member Function Documentation

static NVSG_API TextureHostSharedPtr createFromFile | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | unsigned int | creationFlags = 0
 | ) | [static]

Instantiates a TextureHost object filled with image data loaded from a file.

Parameters:
filename | Specifies the name of the file to load the image data from.
searchPaths | Paths to search for the file.
creationFlags | Optional creation flags.
Returns:
The function returns a TextureHostSharedPtr. If succeeded it is valid.
Remarks:
The function instantiates a TextureHost object and initializes it with image data loaded from the file specified by filename.
The actual image loading will be performed through PlugIns, thus the available PlugIns determine which image formats are supported for loading. By default, SceniX will look for TextureLoader PlugIns inside the application directory. Use addPlugInSearchPath() to specify additional directories, if your loader PlugIns lie somewhere else.

Client code may provide optional creation flags:

Specify the F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD to give a hint to the upload code to keep the image data in process memory even after image upload.

NVSG_API bool setTextureTarget ( TextureTarget target )

Sets the TextureTarget, returns false if incompatible with current image data.

Parameters:
target The TextureTarget defines how the texture is uploaded to the renderers
Remarks:
Renderers require the TextureTarget to be specified in advance. Make sure you have appropriate image data specified, otherwise it will always fail to set the type.

NVSG_API bool convertToTextureTarget ( TextureTarget target )

Tries to set the TextureTarget, returns false if unable to convert the image data.

Parameters:
target The TextureTarget defines how the texture is uploaded to the renderers
Returns:
When the conversion was successful or texture's own target already matches, then true is returned. If the texture has a type other than NVSG_UNSPECIFIED_TEXTURE_TARGET or conversion is impossible false is returned.
Remarks:
Renderers require the TextureTarget to be specified in advance. Changing the target can only be performed if the texture's target is NVSG_UNSPECIFIED_TEXTURE_TARGET.

NVSG_API void setCreationFlags ( unsigned int flags )

Sets creation flags to consider for further image processing.

Parameters:
flags Creation flags to consider for further image processing.
Remarks:

This function lets you specify certain creation flags which affect subsequent image processing.
Possible creation flags are:
F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD
F_NO_SCALING
F_IMAGE_STREAM
F_SCALE_FILTER_BOX
F_SCALE_FILTER_BELL
F_SCALE_FILTER_BSPLINE
F_SCALE_FILTER_LANCZOS3
F_SCALE_FILTER_MASK

NVSG_API void setTextureGPUFormat ( TextureGPUFormat fmt )

Sets the textures GPU, or internal, format.

This method sets flags that request that the image be converted to a particular format when uploaded to the GPU. Compressed formats can be selected through this method, and Integer formats can be selected by this method as well. The default is TGF_DEFAULT which is OpenGL's default of using either fixed or floating point format for textures, using the same methods that were used in previous versions of SceniX. Please see the extended documentation for those defaults.

Parameters:
fmt The format from the TextureGPUFormat enum to use.
Remarks:
This is a suggestion only - the GPU is free to use a compatible format if the requested format is not available.
See also:
TextureHost::TextureGPUFormat, TextureHost::getTextureGPUFormat

TextureHost::TextureGPUFormat getTextureGPUFormat ( void ) const [inline]

Gets the textures GPU, or internal, format.

This method returns the GPU format that was requested by the user.

Remarks:
Note that this is not necessarily the format that the texture will reside in on the GPU, just what the users selection was.
See also:
TextureHost::TextureGPUFormat, TextureHost::setTextureGPUFormat

const std::string & getFileName ( ) const [inline]

Returns the name of the file from which the TextureHost was created.

Returns:
The function returns the name of the file from which the TextureHost was created. If the TextureHost was not created from a file, an empty string will be returned.
See also:
createFromFile, createImage

NVSG_API unsigned int createImage | ( | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | Image::PixelFormat | format,
 |  | Image::PixelDataType | type,
 |  | const void * | pixels = 0,
 |  | const std::vector< const void * > & | mipmaps = std::vector< const void * >()
 | ) |

Creates an image.

Use this function to create a single image of the specified dimensions, pixel format, and pixel data type.

If the F_IMAGE_STREAM flag was not specified at object instantiation, the pixel data pointed to by pixels will be copied to the internal data structures. If, on the other hand, the F_IMAGE_STREAM flag was specified at object instantiation, no pixel data will be copied to the internal structures but only the address specified by pixels will be stored. The image will be treated as an image stream in the latter case.

Note, that the pixel data pointed to by pixels always must match the specified dimensions, pixel format, and data type. Otherwise this would result in undefined behavior.

If pixels is 0 uninitialized memory will be allocated for pixel data.

The behavior also is undefined if an invalid pointer will be passed through pixels.

In addition to the level 0 image, additional mipmap levels can be specified through createImage. The user can do so by passing the pointers to the raw pixel data of the additional mipmap levels through mipmaps. If an incomplete mipmap chain is specified, the missing levels are added using the current filter settings. Note that, specifying an incomplete chain with F_IMAGE_STREAM set is an error; no mipmaps are created in this case.

The passed mipmap levels are assumed to be sorted from level 1 to level n. The dimensions of the mipmaps are assumed to be according to the particular level, that is - level 1 mipmap is assumed of dimension (with(level 0) / 2) x (height(level 0) / 2) x (depth(level 0)/2) pixel, level 2 mipmap is assumed of dimension (with(level 1) / 2) x (height(level 1) / 2) x (depth(level 1)/2) pixels, and so on, down to 1 x 1 x 1 pixels for the last level.

The additional mipmap levels are assumed to have the same bytes per pixel as the level 0 image. The additional mipmap levels are also assumed to be of the same pixel format, and data type as the level 0 image.

Returns:
The zero based index of the image if creation was successful. Otherwise the function returns -1 indicating that the image creation failed.
See also:
Image
Parameters:
width | width in pixels
height | height in pixels
depth | depth in pixels
format | format of image data
type | type of image data
pixels | raw pixel data
mipmaps | !< additional mipmap levels (optional)

NVSG_API unsigned int addImage | ( | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | Image::PixelFormat | format,
 |  | Image::PixelDataType | type
 | ) |

Add an Image structure without pixel data to the TextureHost.

Parameters:
width | The width of the Image to add.
height | The height of the Image to add.
depth | The depth of the Image to add.
format | The PixelFormat of the Image to add.
type | The PixelDataType of the Image to add.
Returns:
The index of the Image in this TextureHost.
Remarks:
This function adds an Image structure to the TextureHost, but does not allocate memory for the pixel data.
See also:
createImage, setImageData, Image

NVSG_API void setImageData | ( | unsigned int | image,
 |  | const void * | pixels,
 |  | const std::vector< const void * > & | mipmaps = std::vector< const void * >()
 | ) |

Set the pixel data of an Image.

Parameters:
image | The index of the Image to set the data.
pixels | A pointer to the pixel data to set.
mipmaps | An optional vector of pointers to pixel data for the mipmaps.
Remarks:
If the TextureHost is a streaming image (F_IMAGE_STREAM is set), the pointer to the pixel data of the Image at index image just points to pixels. Any data in mipmaps is ignored then.
Otherwise the memory for the pixels are allocated if needed and copied to the Image at index image. If there are mipmaps provided, the data is also copied.
Note:
The behavior is undefined if image is greater or equal to the number of images in this TextureHost. Furthermore, it is assumed that pixels point to memory that is large enough to hold the complete data of the Image. If mipmaps are provided, it is assumed that each of the pointers in mipmaps point to memory that is large enough to hold the complete data of the corresponding mipmap level of the Image. If an incomplete mipmap chain is specified, the missing levels are added using the current filter settings. Note that, specifying an incomplete chain with F_IMAGE_STREAM set is an error; no mipmaps are created in this case.
See also:
createImage, addImage, Image

NVSG_API void setImageData | ( | unsigned int | image,
 |  | const BufferSharedPtr & | pixels,
 |  | const std::vector< BufferSharedPtr > & | mipmaps = std::vector< BufferSharedPtr >()
 | ) |

Set the pixel data of an Image.

Parameters:
image | The index of the Image to set the data.
pixels | A Buffer to the pixel data to set.
mipmaps | An optional vector of Buffers to pixel data for the mipmaps.
Remarks:
TextureHost will keep a reference to the passed in buffers. It'll not do a copy. Thus this could be used to stream data into textures.
Note:
The behavior is undefined if image is greater or equal to the number of images in this TextureHost. Furthermore, it is assumed that pixels point to memory that is large enough to hold the complete data of the Image. If mipmaps are provided, it is assumed that each of the pointers in mipmaps point to memory that is large enough to hold the complete data of the corresponding mipmap level of the Image. If an incomplete mipmap chain is specified, the missing levels are added using the current filter settings. Note that, specifying an incomplete chain with F_IMAGE_STREAM set is an error; no mipmaps are created in this case.
See also:
createImage, addImage, Image

NVSG_API void releaseImagePixels ( )

Releases all contained image data. Release the memory used for the image pixels.

Remarks:
The function frees all image pixels of the TextureHost. Only size and format informations are kept.
See also:
reloadImagePixels

NVSG_API bool reloadImagePixels ( bool bConvert2DToCubeMap = false )

Reload the TextureHost.

Parameters:
bConvert2DToCubeMap Boolean indicating whether the reloaded image should be converted to a cube map texture. Default is 'false'.
Returns:
true if the images could be reloaded, otherwise false.
Remarks:
If for example the images data has been release at some point, it can be reloaded using this function.
See also:
load, releaseImagePixels

NVSG_API void incrementMipmapUseCount ( )

Increments (increases by one) the mipmap use count The function increments the mipmap use count for this Texture image by one.

This function should be called by the client whenever the corresponding minification filter settings change from a non-mipmap filter mode to a mipmap filter mode.

The function serves sharing of this TextureHost between multiple clients that probably have different corresponding minification filter settings. Mipmaps are required if at least one client has mipmap filtering on.

See also:
decrementMipmapUseCount, getMipmapUseCount

NVSG_API void decrementMipmapUseCount ( )

Decrements (decreases by one) the mipmap use count The function increments the mipmap use count for this Texture image by one.

This function should be called by the client whenever the corresponding minification filter settings change from a mipmap filter mode to a non-mipmap filter mode.

If at upload time the mipmap use count is zero, no mipmap generation will be forced, nor will existing mipmaps be uploaded to the graphics hardware.

See also:
incrementMipmapUseCount, getMipmapUseCount

unsigned int getMipmapUseCount ( ) const [inline]

Returns the actual mipmap use count.

Returns:
The function returns the actual mipmap use count for this TextureHost. If the mipmap use count is non-zero, at least one client has corresponding minification filter settings that require mipmaps to be generated and uploaded for this TextureHost. Upload code should evaluate this count for conditional mipmap creation and upload. Mipmap creation, if required, can be performed by calling createMipmaps.
See also:
incrementMipmapUseCount, decrementMipmapUseCount, createMipmaps

NVSG_API bool createMipmaps ( )

Creates all mipmap levels for all included images.

Returns:
true if all levels have been created successfully, false otherwise.
Remarks:
This function explicitly creates all mipmap levels for all images included. Previously created mipmap levels will be released.
If the function is called for a TextureHost with the F_IMAGE_STREAM flag specified, no mipmap levels are created, and the function returns false. Also, if the function is called for a TextureHost containing images of a color index format, any compressed formats, depth component format, or depth stencil format, no mipmap levels are created, and the function returns false.
The behavior is undefined if any of the images is not a power-of-two image or if any of the images has overlaps.

unsigned int getNumberOfImages ( ) const [inline]

Get the number of Images of the TextureHost (e.g. 6 for cubemaps).

Returns:
The number of images of the corresponding TextureHost.
See also:
getNumberOfMipmaps

unsigned int getNumberOfMipmaps ( unsigned int image = 0 ) const [inline]

Get the number of mipmap levels for the specified image.

Parameters:
image An optional index of the image to get the number of mipmap levels for.
Returns:
The number of mipmap levels of the image.
Note:
The behavior is undefined if image is larger than or equal to the number of images this TextureHost holds.
See also:
getNumberOfImages
Parameters:
image Zero-based image index.

Image::PixelFormat getFormat | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Returns the PixelFormat of the specified mipmap level for a given image.

The function returns the PixelFormat of the pixel data stored at mipmap level mipmap of the image specified by image. See the PixelFormat enumeration type for known pixel formats. A mipmap level of 0 always identifies the image itself.

Passing an invalid image index as well as an invalid mipmap level results in undefined behavior! A valid image index ranges from 0 to getNumberOfImages()-1. A valid mipmap level ranges from 0 to getNumberOfMipmaps(image)-1.

Returns:
A PixelFormat enum specifying the pixel format.
Parameters:
image | Zero-based image index.
mipmap | Zero-based mipmap level.

Image::PixelDataType getType | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Returns the PixelDataType of the specified image.

The function returns the PixelDataType of the pixel data stored at mipmap level mipmap of the image specified by image. See the PixelDataType enumeration type for known types. A mipmap level of 0 always identifies the image itself.

Passing an invalid image index as well as an invalid mipmap level results in undefined behavior! A valid image index ranges from 0 to getNumberOfImages()-1. A valid mipmap level ranges from 0 to getNumberOfMipmaps(image)-1.

Returns:
A PixelDataType enum specifying the pixel data type.
Parameters:
image | Zero-based image index.
mipmap | Zero-based mipmap level.

unsigned int getWidth | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Get the width of the specified image in pixels.

Parameters:
image | Optional index of the image to get width of. Default is zero.
mipmap | Optional index of the mipmap level of the specified image to get width of. Default is zero, that is the top level image.
Returns:
The width of the specified image in pixels.
Note:
The behavior is undefined if image is larger or equal to the number of images in this TextureHost, or if mipmap is larger or equal to the number of mipmap levels of the specified image.

The returned value is the width over the complete image, including overlaps.

See also:
getHeight, getDepth, getOverlapSize

unsigned int getHeight | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Get the height of the specified image in pixels.

Parameters:
image | Optional index of the image to get width of. Default is zero.
mipmap | Optional index of the mipmap level of the specified image to get width of. Default is zero, that is the top level image.
Returns:
The height of the specified image in pixels.
Note:
The behavior is undefined if image is larger or equal to the number of images in this TextureHost, or if mipmap is larger or equal to the number of mipmap levels of the specified image.

The returned value is the height over the complete image, including overlaps.

See also:
getWidth, getDepth, getOverlapSize

unsigned int getDepth | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Get the depth of the specified image in pixels.

Parameters:
image | Optional index of the image to get width of. Default is zero.
mipmap | Optional index of the mipmap level of the specified image to get width of. Default is zero, that is the top level image.
Returns:
The depth of the specified image in pixels.
Note:
The behavior is undefined if image is larger or equal to the number of images in this TextureHost, or if mipmap is larger or equal to the number of mipmap levels of the specified image.

The returned value is the depth over the complete image, including overlaps.

See also:
getWidth, getHeight, getOverlapSize

unsigned int getBytesPerPixel | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Returns the number of bytes per pixel of the specified mipmap.

The function returns the number of bytes per pixel of the mipmap at level mipmap of the image specified by image. A mipmap level of 0 always identifies the image itself.

Passing an invalid image index as well as an invalid mipmap level results in undefined behavior! A valid image index ranges from 0 to getNumberOfImages()-1. A valid mipmap level ranges from 0 to getNumberOfMipmaps(image)-1.

Returns:
The number of bytes per pixel of the specified mipmap.
Parameters:
image | Zero-based image index.
mipmap | Zero-based mipmap level.

unsigned int getBytesPerScanLine | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Get the number of bytes per line of the specified mipmap level of the specified image.

Parameters:
image | An optional index of the image to get information from. The default value is zero.
mipmap | An optional index of the mipmap level to get information from. The default value is zero.
Returns:
The number of bytes per line of the Image at mipmap level mipmap at the index image.
Remarks:
A mipmap level of zero identifies the image itself.
Note:
The behavior is undefined if image is larger than or equal to the number of images or if mipmap is larger than or equal to the number of mipmap levels of the Image image this TextureHost holds information for.
See also:
getNumberOfImages, getNumberOfMipmaps, getBytesPerPixel, getBytesPerPlane, getNumberOfBytes

unsigned int getBytesPerPlane | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Get the number of bytes per plane (slice) of the specified mipmap level of the specified image.

Parameters:
image | An optional index of the image to get information from. The default value is zero.
mipmap | An optional index of the mipmap level to get information from. The default value is zero.
Returns:
The number of bytes per plane (slice) of the Image at mipmap level mipmap at the index image.
Remarks:
A mipmap level of zero identifies the image itself.
Note:
The behavior is undefined if image is larger than or equal to the number of images or if mipmap is larger than or equal to the number of mipmap levels of the Image image this TextureHost holds information for.
See also:
getNumberOfImages, getNumberOfMipmaps, getBytesPerPixel, getBytesPerScanLine, getNumberOfBytes

unsigned int getNumberOfBytes | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Get the number of bytes of the specified mipmap level of the specified image.

Parameters:
image | An optional index of the image to get information from. The default value is zero.
mipmap | An optional index of the mipmap level to get information from. The default value is zero.
Returns:
The number of bytes of the Image at mipmap level mipmap at the index image.
Remarks:
A mipmap level of zero identifies the image itself.
Note:
The behavior is undefined if image is larger than or equal to the number of images or if mipmap is larger than or equal to the number of mipmap levels of the Image image this TextureHost holds information for.
See also:
getNumberOfImages, getNumberOfMipmaps, getBytesPerPixel, getBytesPerScanLine, getBytesPerPlane

unsigned int getTotalNumberOfBytes ( ) const [inline]

Returns the number of bytes used for all included images and mipmap levels.

Returns:
The number of bytes used for all included images and mipmap levels.

BufferSharedPtr getPixels | ( | unsigned int | image = 0,
 |  | unsigned int | mipmap = 0
 | ) | const [inline]

Returns a Buffer containing the the raw pixel data of the specified mipmap.

The function returns a Buffer of the raw pixel data of the mipmap at level mipmap of the image specified by image. A mipmap level of 0 always identifies the image itself.

Passing an invalid image index as well as an invalid mipmap level results in undefined behavior! A valid image index ranges from 0 to getNumberOfImages()-1. A valid mipmap level ranges from 0 to getNumberOfMipmaps(image)-1.

Returns:
A Buffer of the raw pixel data of the specified mipmap.
Parameters:
image | Zero-based image index.
mipmap | Zero-based mipmap level.

NVSG_API bool getSubImagePixels | ( | unsigned int | image,
 |  | unsigned int | mipmap,
 |  | unsigned int | x_offset,
 |  | unsigned int | y_offset,
 |  | unsigned int | z_offset,
 |  | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | void * | subPixels
 | ) | const

getSubImagePixels copies a portion of an existing 1-, 2-, or 3-dimensional image.

Parameters:
image | Index into vector of images.
mipmap | Zero-based mipmap level
x_offset | Pixel offset in the x direction of the image
y_offset | Pixel offset in the y direction of the image
z_offset | Pixel offset in the z direction of the image
width | Width of the sub image
height | Height of the sub image
depth | Depth of the sub image
subPixels | Target address to copy data to.
Returns:
The function returns true on success. Otherwise it returns false (for example if the image does not exist (e.g. after upload), or if the sub image boundary exceeds the existing image)
Remarks:
The function copies width x height x depth x getBytesPerPixel() raw pixel data from the specified offset of the existing image to the buffer pointed to by subPixels.

The user is responsible for providing a buffer large enough to hold the requested data.
See also:
setSubImagePixels

NVSG_API bool getSubImagePixels | ( | unsigned int | image,
 |  | unsigned int | mipmap,
 |  | unsigned int | x_offset,
 |  | unsigned int | y_offset,
 |  | unsigned int | z_offset,
 |  | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | const BufferSharedPtr & | buffer
 | ) | const

getSubImagePixels copies a portion of an existing 1-, 2-, or 3-dimensional image.

Parameters:
image | Index into vector of images.
mipmap | Zero-based mipmap level
x_offset | Pixel offset in the x direction of the image
y_offset | Pixel offset in the y direction of the image
z_offset | Pixel offset in the z direction of the image
width | Width of the sub image
height | Height of the sub image
depth | Depth of the sub image
subPixels | Buffer to copy data to. The buffer will be resized to fit the image.
Returns:
The function returns true on success. Otherwise it returns false (for example if the image does not exist (e.g. after upload), or if the sub image boundary exceeds the existing image)
Remarks:
The function copies width x height x depth x getBytesPerPixel() raw pixel data from the specified offset of the existing image to the buffer pointed to by subPixels.

The user is responsible for providing a buffer large enough to hold the requested data.
See also:
setSubImagePixels

NVSG_API bool setSubImagePixels | ( | unsigned int | image,
 |  | unsigned int | mipmap,
 |  | unsigned int | x_offset,
 |  | unsigned int | y_offset,
 |  | unsigned int | z_offset,
 |  | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | const void * | subPixels
 | ) |

setSubImagePixels sets a portion of an existing 1-, 2-, or 3-dimensional image.

Parameters:
image | Index into vector of images
mipmap | Zero-based mipmap level
x_offset | Pixel offset in the x direction of the image
y_offset | Pixel offset in the y direction of the image
z_offset | Pixel offset in the z direction of the image
width | Width of the sub image
height | Height of the sub image
depth | Depth of the sub image
subPixels | Source address to copy data from.
Returns:
The function returns true on success. Otherwise it returns false (for example if the image does not exist (e.g. after upload), or if the sub image boundary exceeds the existing image)
Remarks:
The function sets width x height x depth x getBytesPerPixel() pixel data from the specified offset of the existing image to that of the raw data in the buffer pointed to by subPixels.

The PixelDataType of the data pointed to by subPixels must match the PixelDataType of the existing image. Behavior would be undefined otherwise.
See also:
getSubImagePixels

NVSG_API bool setSubImagePixels | ( | unsigned int | image,
 |  | unsigned int | mipmap,
 |  | unsigned int | x_offset,
 |  | unsigned int | y_offset,
 |  | unsigned int | z_offset,
 |  | unsigned int | width,
 |  | unsigned int | height,
 |  | unsigned int | depth,
 |  | const BufferSharedPtr & | pixelBuffer
 | ) |

setSubImagePixels sets a portion of an existing 1-, 2-, or 3-dimensional image.

Parameters:
image | Index into vector of images
mipmap | Zero-based mipmap level
x_offset | Pixel offset in the x direction of the image
y_offset | Pixel offset in the y direction of the image
z_offset | Pixel offset in the z direction of the image
width | Width of the sub image
height | Height of the sub image
depth | Depth of the sub image
subPixels | Buffer to copy data from.
Returns:
The function returns true on success. Otherwise it returns false (for example if the image does not exist (e.g. after upload), or if the sub image boundary exceeds the existing image)
Remarks:
The function sets width x height x depth x getBytesPerPixel() pixel data from the specified offset of the existing image to that of the raw data in the buffer pointed to by subPixels.

The PixelDataType of the data pointed to by subPixels must match the PixelDataType of the existing image. Behavior would be undefined otherwise.
See also:
getSubImagePixels

unsigned int getUnpackAlignment ( ) const [inline]

Returns the alignment for the start of each pixel row in memory.

NVSG_API bool scale | ( | unsigned int | image,
 |  | unsigned int | width,
 |  | unsigned int | height = 1,
 |  | unsigned int | depth = 1
 | ) |

Scale the specified image.

Parameters:
image | The index of the image to scale.
width | The desired width of the scaled image.
height | The optional height of the scaled image. The default is 1.
depth | The optional depth of the scaled image. The default is 1.
Returns:
true if the scaling was successful, false otherwise.
Remarks:
The function scales the image specified by image according to the input dimensions passed. The filter to use is specified by the creation flags.
Note:
The behavior is undefined if image is larger than or equal to the number of images in this TextureHost, of if that image has overlaps.
Parameters:
image | Zero-based index of the image to scale.
width | Desired width of the scaled image.
height | Desired height of the scaled image.
depth | Desired depth of the scaled image.

NVSG_API bool convertPixelFormat ( Image::PixelFormat newFormat )

the new pixel format.

Parameters:
newFormat The new pixel format for the entire TextureHost.
Remarks:
This function changes the pixel format of all images and all mipmaps contained in this TextureHost to the format supplied. If a format that doesn't contain an alpha channel is converted to one that does (ie: RGB -> BGRA) then the alpha channel is set to 0xff.

NVSG_API bool scaleToPowerOfTwo ( unsigned int sizeLimit )

Scales containing images to power-of-two.

Parameters:
sizeLimit Specifies the platform dependent size limit that must not be exceeded during scaling.
Returns:
true if scaling was successful, false otherwise.
The function scales all containing images to become power of two in each dimension. By default, the function always scales to the nearest power of two. This behavior can be changed by specifying a certain creation flag at TextureHost instantiation. If you specified F_SCALE_POT_BELOW, the single dimensions will always be scaled down to the highest power of two below the actual size. If you specified F_SCALE_POT_ABOVE, the single dimensions always will be scaled up to the very next power of two. If both flags were specified at instantiation, the function falls back to the default algorithm. Independent of the algorithm used for scaling, the function always clamps each dimension to the specified sizeLimit.

The behavior is undefined if called for a TextureHost that was instantiated with the F_IMAGE_STREAM flag specified. The behavior also is undefined if called for a TextureHost that does not contain any images or for which all images already have been released (e.g. after upload).

Note:
If the scaling failed, the function left behind the pixel data of containing images undefined!

bool is1D ( ) const [inline]

Returns whether the texture image represents a 1-dimensional texture image.

Returns:
true if the texture image represents a 1-dimensional texture image, false otherwise.

bool is2D ( ) const [inline]

Returns whether the texture image represents a 2-dimensional texture image.

Returns:
true if the texture image represents a 2-dimensional texture image, false otherwise.

bool is2DArray ( ) const [inline]

Returns whether the texture image represents a 2-dimensional texture image array.

Returns:
true if the texture image represents a 2-dimensional texture image array, false otherwise.

bool is1DArray ( ) const [inline]

Returns whether the texture image represents a 1-dimensional texture image array.

Returns:
true if the texture image represents a 1-dimensional texture image array, false otherwise.

bool is3D ( ) const [inline]

Returns whether the texture image represents a 3-dimensional texture image.

Returns:
true if the texture image represents a 3-dimensional texture image, false otherwise.

bool isCubeMap ( ) const [inline]

Returns whether the texture image represents a cube map.

A cube map consists of 6 images of dimension 2.

Returns:
true if the texture image represents a cube map, false otherwise.

bool isCubeMapArray ( ) const [inline]

Returns whether the texture image represents a cube map array.

A cube map array consists of n * 6 images of dimension 2.

Returns:
true if the texture image represents a cube map array, false otherwise.

NVSG_API bool isFloatingPoint ( ) const

Returns whether the texture image represents a floating point texture image.

Returns:
true if the texture image represents a floating point texture image, false otherwise.

NVSG_API bool isFixedPoint ( ) const

Returns whether the texture image represents a fixed point texture image.

Returns:
true if the texture image represents a fixed point texture image, false otherwise.

NVSG_API bool isCompressed ( ) const

Returns whether the texture image represents a compressed texture image.

Returns:
true if the texture image represents a compressed texture image, false otherwise.

bool isImageStream ( ) const [inline]

Returns whether the texture image is treated as an image stream.

Image streams are images for which the image data is not managed inside the TextureHost object.

Returns:
true if the image is treated as a image stream, false otherwise.

NVSG_API void convert2DToCubeMap ( )

Will convert a 2D image to 6 cubemap faces.

The 2D image must contain all faces in the vertical cross format, as it can be exported e.g. from HDRShop. Thus, the height of the 2D image must be 4/3 of the width. This function does not work with image streams.

void demandUpload ( ) [inline]

Forces a re-upload of the texture image.

The function marks the texture image as outdated, and hence, forces a re-upload with the very next render step.

The function in particular is useful for stream images, that is - images for which the image data is not managed inside the TextureHost object. For these kind of images the TextureHost object does not automatically realize any changes made to the image data but needs a hint from the user. Whenever the image data have changed and, as a consequence, a re-upload of the texture image is required, the user should call demandUpload to force the re-upload with the very next render step.

Note, that a re-upload of the texture image will not allocate a new platform dependent texture resource object but will reuse the former resource.

bool isUploadDemanded ( ) const [inline]

Returns whether a re-upload of the texture image is required.

Returns:
true if a re-upload is required, false otherwise.

NVSG_API void finishUpload ( bool preserve = false )

Finishes an image upload.

The function should be called after the image upload succeed. It marks the image as being uploaded.

Parameters:
preserve If preserve is true, then the state of the F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD flag is ignored and the image is always preserved. If preserve is false, then the state of F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD flag is used to determine whether data is deleted. SceneRenderers such as SceneRendererGL and SceneRendererRT can be configured to set this preserve flag to true and therefore to preserve all image data. This can be important rasterizing and ray tracing the same scene is desired. If neither the F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD nor the F_IMAGE_STREAM flag was specified at TextureHost object instantiation (and preserve parameter is false), the function releases all internal image data.
Note:
A re-upload is not possible after the internal image data was released.

unsigned int getCreationFlags ( ) const [inline]

Returns the creation flag status of the TextureHost object.

Returns:
An unsigned integer value representing the actual creation flag status of this object.

NVSG_API TextureHost& operator= ( const TextureHost & rhs )

Assigns new contents to a TextureHost object.

The contents of the object specified by rhs will be assigned to this object.

NVSG_API void mirrorX ( unsigned int image )

Mirror the image over the x-axis.

This is equivalent to reversing the rows, thus converting between origin upper left and lower left.

Parameters:
image Zero-based index of the image to mirror.

NVSG_API void mirrorY ( unsigned int image )

Mirror the image over the y-axis.

This is equivalent to reversing the columns.

Parameters:
image Zero-based index of the image to mirror.

virtual NVSG_API bool isEquivalent | ( | const Texture * | p,
 |  | bool | deepCompare
 | ) | const [virtual]

Overrides Texture::isEquivalent.

Parameters:
p | Pointer to the Texture to test for equivalence with this TextureHost object.
deepCompare | The function performs a deep-compare instead of a shallow compare if this is true.
Returns:
The function returns true if the Texture pointed to by p is detected to be equivalent to this TextureHost object.
See also:
Texture::isEquivalent

Reimplemented from Texture.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Texture.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:29 2012 for SceniX


SceniX: Member List

TextureHost Member List

This is the complete list of members for TextureHost, including all inherited members.

addImage(unsigned int width, unsigned int height, unsigned int depth, Image::PixelFormat format, Image::PixelDataType type) | TextureHost |
convert2DToCubeMap() | TextureHost |
convertPixelFormat(Image::PixelFormat newFormat) | TextureHost |
convertToTextureTarget(TextureTarget target) | TextureHost |
create() (defined in TextureHost) | TextureHost | [static]
createFromFile(const std::string &filename, const std::vector< std::string > &searchPaths, unsigned int creationFlags=0) | TextureHost | [static]
createImage(unsigned int width, unsigned int height, unsigned int depth, Image::PixelFormat format, Image::PixelDataType type, const void *pixels=0, const std::vector< const void * > &mipmaps=std::vector< const void * >()) | TextureHost |
createMipmaps() | TextureHost |
decrementMipmapUseCount() | TextureHost |
demandUpload() | TextureHost | [inline]
F_IMAGE_STREAM enum value | TextureHost |
F_NO_IMAGE_CREATION enum value | TextureHost |
F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD enum value | TextureHost |
F_SCALE_FILTER_BELL enum value | TextureHost |
F_SCALE_FILTER_BOX enum value | TextureHost |
F_SCALE_FILTER_BSPLINE enum value | TextureHost |
F_SCALE_FILTER_LANCZOS3 enum value | TextureHost |
F_SCALE_FILTER_MASK enum value (defined in TextureHost) | TextureHost |
F_SCALE_FILTER_TRIANGLE enum value | TextureHost |
F_SCALE_POT_ABOVE enum value | TextureHost |
F_SCALE_POT_BELOW enum value | TextureHost |
F_SCALE_POT_MASK enum value (defined in TextureHost) | TextureHost |
F_SCALE_POT_NEAREST enum value | TextureHost |
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureHost | [protected, virtual]
finishUpload(bool preserve=false) | TextureHost |
getBytesPerPixel(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getBytesPerPlane(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getBytesPerScanLine(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getCreationFlags() const | TextureHost | [inline]
getDepth(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getFileName() const | TextureHost | [inline]
getFormat(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getHashKey() const | Texture | [inline]
getHeight(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getMipmapUseCount() const | TextureHost | [inline]
getNumberOfBytes(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getNumberOfImages() const | TextureHost | [inline]
getNumberOfMipmaps(unsigned int image=0) const | TextureHost | [inline]
getPixels(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getSubImagePixels(unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, void *subPixels) const | TextureHost |
getSubImagePixels(unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, const BufferSharedPtr &buffer) const | TextureHost |
getTextureGPUFormat(void) const | TextureHost | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
getTotalNumberOfBytes() const | TextureHost | [inline]
getType(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
getUnpackAlignment() const | TextureHost | [inline]
getWidth(unsigned int image=0, unsigned int mipmap=0) const | TextureHost | [inline]
incrementMipmapUseCount() | TextureHost |
invalidateHashKey() | Texture | [inline, protected]
is1D() const | TextureHost | [inline]
is1DArray() const | TextureHost | [inline]
is2D() const | TextureHost | [inline]
is2DArray() const | TextureHost | [inline]
is3D() const | TextureHost | [inline]
isCompressed() const | TextureHost |
isCubeMap() const | TextureHost | [inline]
isCubeMapArray() const | TextureHost | [inline]
isEquivalent(const Texture *p, bool deepCompare) const | TextureHost | [virtual]
isFixedPoint() const | TextureHost |
isFloatingPoint() const | TextureHost |
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isImageStream() const | TextureHost | [inline]
isUploadDemanded() const | TextureHost | [inline]
m_textureTarget (defined in Texture) | Texture | [protected]
mirrorX(unsigned int image) | TextureHost |
mirrorY(unsigned int image) | TextureHost |
operator=(const TextureHost &rhs) | TextureHost |
releaseImagePixels() | TextureHost |
reloadImagePixels(bool bConvert2DToCubeMap=false) | TextureHost |
scale(unsigned int image, unsigned int width, unsigned int height=1, unsigned int depth=1) | TextureHost |
scaleToPowerOfTwo(unsigned int sizeLimit) | TextureHost |
setCreationFlags(unsigned int flags) | TextureHost |
setImageData(unsigned int image, const void *pixels, const std::vector< const void * > &mipmaps=std::vector< const void * >()) | TextureHost |
setImageData(unsigned int image, const BufferSharedPtr &pixels, const std::vector< BufferSharedPtr > &mipmaps=std::vector< BufferSharedPtr >()) | TextureHost |
setSubImagePixels(unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, const void *subPixels) | TextureHost |
setSubImagePixels(unsigned int image, unsigned int mipmap, unsigned int x_offset, unsigned int y_offset, unsigned int z_offset, unsigned int width, unsigned int height, unsigned int depth, const BufferSharedPtr &pixelBuffer) | TextureHost |
setTextureGPUFormat(TextureGPUFormat fmt) | TextureHost |
setTextureTarget(TextureTarget target) | TextureHost |
Texture() (defined in Texture) | Texture | [inline]
TextureGPUFormat enum name | TextureHost |
TextureHost() | TextureHost | [protected]
TextureHost(const TextureHost &) | TextureHost | [protected]
TGF_ALPHA16 enum value (defined in TextureHost) | TextureHost |
TGF_ALPHA8 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_FIXED enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_LUMINANCE enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_LUMINANCE_ALPHA enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_LUMINANCE_ALPHA_LATC enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_LUMINANCE_LATC enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RED_RGTC enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RG_RGTC enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RGB enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RGB_DXT1 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RGB_DXT3 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RGB_DXT5 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RGBA enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_RGBA_DXT1 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_SRGB enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_SRGB_DXT1 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_SRGB_DXT3 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_SRGB_DXT5 enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_SRGBA enum value (defined in TextureHost) | TextureHost |
TGF_COMPRESSED_SRGBA_DXT1 enum value (defined in TextureHost) | TextureHost |
TGF_DEFAULT enum value (defined in TextureHost) | TextureHost |
TGF_DEPTH16 enum value (defined in TextureHost) | TextureHost |
TGF_DEPTH24 enum value (defined in TextureHost) | TextureHost |
TGF_DEPTH24_STENCIL8 enum value (defined in TextureHost) | TextureHost |
TGF_DEPTH32 enum value (defined in TextureHost) | TextureHost |
TGF_FIXED enum value (defined in TextureHost) | TextureHost |
TGF_FIXED10 enum value (defined in TextureHost) | TextureHost |
TGF_FIXED16 enum value (defined in TextureHost) | TextureHost |
TGF_FIXED8 enum value (defined in TextureHost) | TextureHost |
TGF_FLOAT enum value (defined in TextureHost) | TextureHost |
TGF_FLOAT16 enum value (defined in TextureHost) | TextureHost |
TGF_FLOAT32 enum value (defined in TextureHost) | TextureHost |
TGF_INTEGER enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE16 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE16_ALPHA16 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE16F enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE32F enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE8 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE8_ALPHA8 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_ALPHA16F enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_ALPHA32F enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_ALPHA_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_ALPHA_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_ALPHA_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_LUMINANCE_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_NONLINEAR enum value (defined in TextureHost) | TextureHost |
TGF_RGB10 enum value (defined in TextureHost) | TextureHost |
TGF_RGB10_A2 enum value (defined in TextureHost) | TextureHost |
TGF_RGB16 enum value (defined in TextureHost) | TextureHost |
TGF_RGB16F enum value (defined in TextureHost) | TextureHost |
TGF_RGB32F enum value (defined in TextureHost) | TextureHost |
TGF_RGB8 enum value (defined in TextureHost) | TextureHost |
TGF_RGB_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_RGB_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_RGB_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_RGBA16 enum value (defined in TextureHost) | TextureHost |
TGF_RGBA16F enum value (defined in TextureHost) | TextureHost |
TGF_RGBA32F enum value (defined in TextureHost) | TextureHost |
TGF_RGBA8 enum value (defined in TextureHost) | TextureHost |
TGF_RGBA_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_RGBA_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_RGBA_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_ALPHA16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_ALPHA8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_COMPRESSED_LUMINANCE_ALPHA_LATC enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_COMPRESSED_LUMINANCE_LATC enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_COMPRESSED_RED_RGTC enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_COMPRESSED_RG_RGTC enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE16_ALPHA16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE8_ALPHA8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE_ALPHA_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE_ALPHA_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE_ALPHA_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_LUMINANCE_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGB8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGB_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGB_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGB_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGBA8 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGBA_INTEGER16 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGBA_INTEGER32 enum value (defined in TextureHost) | TextureHost |
TGF_SIGNED_RGBA_INTEGER8 enum value (defined in TextureHost) | TextureHost |
TGF_SRGB enum value (defined in TextureHost) | TextureHost |
TGF_SRGBA enum value (defined in TextureHost) | TextureHost |
TGF_UNSIGNED_FLOAT_PACKED enum value (defined in TextureHost) | TextureHost |
TGF_UNSIGNED_FLOAT_SHARED_EXPONENT enum value (defined in TextureHost) | TextureHost |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureHost() | TextureHost | [protected, virtual]

Generated on Fri Jul 13 13:30:29 2012 for SceniX


SceniX: TextureLoader Class Reference

nvsg::TextureLoader

TextureLoader Class Reference

Pure virtual base class for texture loader plugins. More...

#include <PlugInterface.h>

Inheritance diagram for TextureLoader:

[legend]
Collaboration diagram for TextureLoader:

[legend]
List of all members.

Public Member Functions

NVSG_API TextureHostSharedPtr | load (const std::string &filename, const std::vector< std::string > &searchPaths=std::vector< std::string >(), const unsigned int &creationFlags=0)
Function to load a TextureHost.
NVSG_API bool | reload (const TextureHostSharedPtr &tih, const std::vector< std::string > &searchPaths=std::vector< std::string >())
Function to reload a TextureHost.

Protected Member Functions

virtual NVSG_API | ~TextureLoader ()
Protected virtual destructor.
virtual NVSG_API TextureHostSharedPtr | createTextureHost ()
Virtual function to create a TextureHost.
virtual NVSG_API bool | onLoad (const std::string &filename, nvsg::TextureHost *texImg, const std::vector< std::string > &searchPaths)=0
Pure virtual interface called on loading a TextureHost file.

Detailed Description

Pure virtual base class for texture loader plugins.

Note:
TextureLoader are not yet implemented as plugins.

Constructor & Destructor Documentation

virtual NVSG_API ~TextureLoader ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a TextureLoader derived object on stack and
  • calling delete on a pointer to TextureLoader.
    Note:
    This will not prohibit client code from calling delete on a pointer to a TextureLoader derived object. Normally this is not that critical, because one almost always uses a pointer to the base class when working with TextureLoader plug-ins.
    Nevertheless, it would be far less error prone if classes that inherit from TextureLoader also make their destructor protected.

Member Function Documentation

NVSG_API TextureHostSharedPtr load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths = std::vector< std::string >(),
 |  | const unsigned int & | creationFlags = 0
 | ) |

Function to load a TextureHost.

Parameters:
filename | The name of the texture file to load.
searchPaths | Not applicable for texture files, can be left empty. This exists due to the SceniX plug-in interface and is normally used to search for files referenced within scenes or CgFX shaders.
creationFlags | An optional set of creation flags
Returns:
The created TextureHost.
Remarks:
Creates a TextureHost and calls onLoad() with filename, the created TextureHost, and searchPaths.
Note:
The behavior is undefined if the file filename does not exist or is not of the appropriate type.
See also:
reload, onLoad

NVSG_API bool reload | ( | const TextureHostSharedPtr & | tih,
 |  | const std::vector< std::string > & | searchPaths = std::vector< std::string >()
 | ) |

Function to reload a TextureHost.

Parameters:
tih | A pointer to the TextureHost to reload.
searchPaths | An optional set of search paths to use for files referenced within the texture file specified by filename.
Returns:
true if reloading the TextureHost was successful, otherwise false.
Remarks:
Any previously loaded pixel data is released, and the file specified by tih is reloaded. It is assumed that the TextureHost is cleared, that is, it has no images.
See also:
load, onLoad

virtual NVSG_API TextureHostSharedPtr createTextureHost ( ) [protected, virtual]

Virtual function to create a TextureHost.

Returns:
The created TextureHost.
Remarks:
This function is called in load. The default implementation just creates a TextureHost. A class derived from TextureLoader can decide to overwrite this function to create an object that is derived from TextureHost.

virtual NVSG_API bool onLoad | ( | const std::string & | filename,
 |  | nvsg::TextureHost * | texImg,
 |  | const std::vector< std::string > & | searchPaths
 | ) | [protected, pure virtual]

Pure virtual interface called on loading a TextureHost file.

Parameters:
filename | The name of the texture file to load.
texImg | A pointer to the TextureHost to load the data into.
searchPaths | A set of search paths used for files referenced within the texture file.
Returns:
true, if the TextureHost was successfully loaded, otherwise false.
Remarks:
Loads a TextureHost from the file specified by filename. The PlugIn must create the image(s) in the OpenGL compatible orientation, that has its image origin in the lower left. TextureHost offers mirrorX() and mirrorY() routines that a Loader PlugIn can use to achieve this orientation.
See also:
load, reload

Implemented in ILTexLoader.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: Member List

TextureLoader Member List

This is the complete list of members for TextureLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
createTextureHost() | TextureLoader | [protected, virtual]
deleteThis(void)=0 | PlugIn | [protected, pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths=std::vector< std::string >(), const unsigned int &creationFlags=0) | TextureLoader |
markUnshareable() | RCObject | [inline]
onLoad(const std::string &filename, nvsg::TextureHost *texImg, const std::vector< std::string > &searchPaths)=0 | TextureLoader | [protected, pure virtual]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
reload(const TextureHostSharedPtr &tih, const std::vector< std::string > &searchPaths=std::vector< std::string >()) | TextureLoader |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~TextureLoader() | TextureLoader | [protected, virtual]

Generated on Fri Jul 13 13:30:13 2012 for SceniX


SceniX: TextureSaver Class Reference

nvsg::TextureSaver

TextureSaver Class Reference

Pure virtual base class for texture saver plugins. More...

#include <PlugInterface.h>

Inheritance diagram for TextureSaver:

[legend]
Collaboration diagram for TextureSaver:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API bool | save (const TextureHostSharedPtr &image, const std::string &fileName)=0
Pure virtual interface function to save a TextureHost.

Protected Member Functions

virtual NVSG_API | ~TextureSaver ()
Protected virtual destructor.

Detailed Description

Pure virtual base class for texture saver plugins.

Note:
TextureSaver are not yet implemented as plugins.

Constructor & Destructor Documentation

virtual NVSG_API ~TextureSaver ( ) [protected, virtual]

Protected virtual destructor.

Prohibits ordinary client code from

  • creating a TextureSaver derived object on stack and
  • calling delete on a pointer to TextureSaver.
    Note:
    This will not prohibit client code from calling delete on a pointer to a TextureSaver derived object. Normally this is not that critical, because one almost always uses a pointer to the base class when working with TextureSaver plug-ins.
    Nevertheless, it would be far less error prone if classes that inherit from TextureSaver also make their destructor protected.

Member Function Documentation

virtual NVSG_API bool save | ( | const TextureHostSharedPtr & | image,
 |  | const std::string & | fileName
 | ) | [pure virtual]

Pure virtual interface function to save a TextureHost.

Saves the texture image image to the file given by filename.

Returns:
true, if the TextureHost was saved successfully, otherwise false.

The documentation for this class was generated from the following file:
  • PlugInterface.h
Generated on Fri Jul 13 13:30:14 2012 for SceniX


SceniX: Member List

TextureSaver Member List

This is the complete list of members for TextureSaver, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void)=0 | PlugIn | [protected, pure virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
save(const TextureHostSharedPtr &image, const std::string &fileName)=0 | TextureSaver | [pure virtual]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~TextureSaver() | TextureSaver | [protected, virtual]

Generated on Fri Jul 13 13:30:14 2012 for SceniX


SceniX: Timer Class Reference

nvutil::Timer

Timer Class Reference

A simple timer class. This timer class can be used on Windows and Linux systems to measure time intervals in milliseconds. The timer can be started and stopped several times and accumulates time elapsed between the start() and stop() calls. More...

#include <Timer.h>

List of all members.

Public Member Functions

NVSG_API | Timer ()
Default constructor. Constructs a Timer, but does not start it yet.
NVSG_API | ~Timer ()
Default destructor.
NVSG_API void | start ()
Starts the timer.
NVSG_API void | stop ()
Stops the timer.
NVSG_API void | reset ()
Resets the timer.
NVSG_API void | restart ()
Resets the timer and starts it.
NVSG_API double | getTime () const
Returns the current time.
NVSG_API bool | isRunning () const
Return whether the timer is still running.

Detailed Description

A simple timer class. This timer class can be used on Windows and Linux systems to measure time intervals in milliseconds. The timer can be started and stopped several times and accumulates time elapsed between the start() and stop() calls.

Constructor & Destructor Documentation

NVSG_API Timer ( )

Default constructor. Constructs a Timer, but does not start it yet.

NVSG_API ~Timer ( )

Default destructor.

Member Function Documentation

NVSG_API void start ( )

Starts the timer.

NVSG_API void stop ( )

Stops the timer.

NVSG_API void reset ( )

Resets the timer.

NVSG_API void restart ( )

Resets the timer and starts it.

NVSG_API double getTime ( ) const

Returns the current time.

NVSG_API bool isRunning ( ) const [inline]

Return whether the timer is still running.

The documentation for this class was generated from the following file:
  • Timer.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Timer Member List

This is the complete list of members for Timer, including all inherited members.

getTime() const | Timer |
isRunning() const | Timer | [inline]
reset() | Timer |
restart() | Timer |
start() | Timer |
stop() | Timer |
Timer() | Timer |
~Timer() | Timer |

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Trace Class Template Reference

nvutil::Trace

Trace Class Template Reference

Trace class template. More...

#include <Trace.h>

List of all members.

Public Member Functions

Trace (const char *fn, bool traceOut)
Constructor for entering a function \ fn.
~Trace ()
Destructor for leaving a function.

Detailed Description

template<typename Functor>
class nvutil::Trace< Functor >

Trace class template.

Constructor & Destructor Documentation

Trace | ( | const char * | fn,
 |  | bool | traceOut
 | ) | [inline]

Constructor for entering a function \ fn.

~Trace ( ) [inline]

Destructor for leaving a function.

The documentation for this class was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Trace Member List

This is the complete list of members for Trace, including all inherited members.

Trace(const char *fn, bool traceOut) | Trace | [inline]
~Trace() | Trace | [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: traceConsoleDebugOutput Struct Reference

nvutil::traceConsoleDebugOutput

traceConsoleDebugOutput Struct Reference

output to console _AND_ attached debugger More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to console _AND_ attached debugger

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

traceConsoleDebugOutput Member List

This is the complete list of members for traceConsoleDebugOutput, including all inherited members.

operator()(const char *str) traceConsoleDebugOutput [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: traceConsoleOutput Struct Reference

nvutil::traceConsoleOutput

traceConsoleOutput Struct Reference

output to console More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to console

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

traceConsoleOutput Member List

This is the complete list of members for traceConsoleOutput, including all inherited members.

operator()(const char *str) traceConsoleOutput [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: traceDebugOutput Struct Reference

nvutil::traceDebugOutput

traceDebugOutput Struct Reference

output to attached debugger More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to attached debugger

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

traceDebugOutput Member List

This is the complete list of members for traceDebugOutput, including all inherited members.

operator()(const char *str) traceDebugOutput [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: traceFileConsoleOutput Struct Reference

nvutil::traceFileConsoleOutput

traceFileConsoleOutput Struct Reference

output to log file _AND_ console More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to log file _AND_ console

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

traceFileConsoleOutput Member List

This is the complete list of members for traceFileConsoleOutput, including all inherited members.

operator()(const char *str) traceFileConsoleOutput [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: traceFileDebugOutput Struct Reference

nvutil::traceFileDebugOutput

traceFileDebugOutput Struct Reference

output to log file _AND_ attached debugger More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to log file _AND_ attached debugger

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

traceFileDebugOutput Member List

This is the complete list of members for traceFileDebugOutput, including all inherited members.

operator()(const char *str) traceFileDebugOutput [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: traceFileOutput Struct Reference

nvutil::traceFileOutput

traceFileOutput Struct Reference

output to file More...

#include <Trace.h>

List of all members.

Public Member Functions

void operator() (const char *str)
Function call operator to output a string.

Detailed Description

output to file

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to output a string.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

traceFileOutput Member List

This is the complete list of members for traceFileOutput, including all inherited members.

operator()(const char *str) traceFileOutput [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TraceFunctor Struct Template Reference

nvutil::TraceFunctor

TraceFunctor Struct Template Reference

uses the function given as template argument to print out a given string More...

#include <Trace.h>

List of all members.

Public Member Functions

void | operator() (const char *str)
Function call operator to print out a string.
void | format (const char *fmt,...)
Formatted output of a variable number of arguments.

Detailed Description

template<typename OutFunctor>
struct nvutil::TraceFunctor< OutFunctor >

uses the function given as template argument to print out a given string

Member Function Documentation

void operator() ( const char * str ) [inline]

Function call operator to print out a string.

void format | ( | const char * | fmt,
 |  |  | ...
 | ) | [inline]

Formatted output of a variable number of arguments.

The documentation for this struct was generated from the following file:
  • Trace.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

TraceFunctor Member List

This is the complete list of members for TraceFunctor, including all inherited members.

format(const char *fmt,...) | TraceFunctor | [inline]
operator()(const char *str) | TraceFunctor | [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Trackball Class Reference

nvutil::Trackball

Trackball Class Reference

Trackball class for simulating a virtual trackball. More...

#include <Trackball.h>

List of all members.

Public Member Functions

NVSG_API | Trackball (void)
Default constructor.
virtual NVSG_API | ~Trackball (void)
Default destructor.
NVSG_API void | apply (const nvmath::Vec2f &p0, const nvmath::Vec2f &p1, nvmath::Vec3f &axis, float &rad)
Start trackball calculation.
NVSG_API void | setSize (float size)
Set trackball size.
NVSG_API float | getSize (void)
Determine current size of the trackball.

Protected Member Functions

NVSG_API float | projectOntoTBSphere (const nvmath::Vec2f &p)
Project the x,y mouse position onto a sphere.

Protected Attributes

float | m_tbsize
Trackball size (default is 0.8f)

Detailed Description

Trackball class for simulating a virtual trackball.

This class simulates a virtual trackball using the last and current mouse position. It simply projects the stuff onto a sphere or hyperbolic sheet and calculates the axis and angle that is needed to rotate the trackball from the last to the current position.

Constructor & Destructor Documentation

NVSG_API Trackball ( void )

Default constructor.

virtual NVSG_API ~Trackball ( void ) [virtual]

Default destructor.

Member Function Documentation

NVSG_API void apply | ( | const nvmath::Vec2f & | p0,
 |  | const nvmath::Vec2f & | p1,
 |  | nvmath::Vec3f & | axis,
 |  | float & | rad
 | ) |

Start trackball calculation.

Calculate the axis and the angle (radians) by the given mouse coordinates. Project the points onto the virtual trackball, then figure out the axis of rotation, which is the cross product of p0 p1 and O p0 (O is the center of the ball, 0,0,0)

Note:
This is a deformed trackball-- is a trackball in the center, but is deformed into a hyperbolic sheet of rotation away from the center.
Parameters:
p0 | Last mouse position - components must be scaled to [-1,1]
p1 | Current mouse position - components must be scaled to [-1,1]
axis | Resulting axis
rad | Resulting angle

void setSize ( float size ) [inline]

Set trackball size.

Define the size of the trackball. Default size is 0.8f. This size should really be based on the distance from the center of rotation to the point on the object underneath the mouse. That point would then track the mouse as closely as possible.

Parameters:
size Trackball size

float getSize ( void ) [inline]

Determine current size of the trackball.

Returns:
Trackball size

NVSG_API float projectOntoTBSphere ( const nvmath::Vec2f & p ) [protected]

Project the x,y mouse position onto a sphere.

Project an x,y pair onto a sphere of radius r OR a hyperbolic sheet if we are away from the center of the sphere.

Member Data Documentation

float m_tbsize [protected]

Trackball size (default is 0.8f)

The documentation for this class was generated from the following file:
  • Trackball.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Trackball Member List

This is the complete list of members for Trackball, including all inherited members.

apply(const nvmath::Vec2f &p0, const nvmath::Vec2f &p1, nvmath::Vec3f &axis, float &rad) | Trackball |
getSize(void) | Trackball | [inline]
m_tbsize | Trackball | [protected]
projectOntoTBSphere(const nvmath::Vec2f &p) | Trackball | [protected]
setSize(float size) | Trackball | [inline]
Trackball(void) | Trackball |
~Trackball(void) | Trackball | [virtual]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Trafo Class Reference

nvmath::Trafo

Trafo Class Reference

Transformation class. More...

#include <Trafo.h>

Collaboration diagram for Trafo:

[legend]
List of all members.

Public Member Functions

NVSG_API | Trafo (void)
Constructor: initialized to identity.
NVSG_API | Trafo (const Trafo &rhs)
Copy Constructor.
NVSG_API const Vec3f & | getCenter (void) const
Get the center of rotation of this transformation.
NVSG_API const Quatf & | getOrientation (void) const
Get the rotational part of this transformation.
NVSG_API const Quatf & | getScaleOrientation (void) const
Get the scale orientation part of this transform.
NVSG_API const Vec3f & | getScaling (void) const
Get the scaling part of this transformation.
NVSG_API const Vec3f & | getTranslation (void) const
Get the translational part of this transformation.
NVSG_API const Mat44f & | getMatrix (void) const
Get the current transformation.
NVSG_API Mat44f | getInverse (void) const
Get the current inverse transformation.
NVSG_API void | setCenter (const Vec3f &center)
Set the center of ration of the transformation.
NVSG_API void | setIdentity (void)
Set the Trafo to identity.
NVSG_API void | setOrientation (const Quatf &orientation)
Set the rotational part of the transformation, using a quaternion.
NVSG_API void | setScaleOrientation (const Quatf &scaleOrientation)
Set the scale orientational part of the transformation.
NVSG_API void | setScaling (const Vec3f &scaling)
Set the scaling part of the transformation.
NVSG_API void | setTranslation (const Vec3f &translation)
Set the translational part of the transformation.
NVSG_API void | setMatrix (const Mat44f &matrix)
Set the complete transformation by a Mat44f.
NVSG_API Trafo & | operator= (const Trafo &rhs)
Copy operator.
NVSG_API bool | operator== (const Trafo &t) const
Equality operator.
NVSG_API bool | operator!= (const Trafo &t) const

Related Functions

(Note that these are not member functions.)

NVSG_API Trafo | lerp (float alpha, const Trafo &t0, const Trafo &t1)

Detailed Description

Transformation class.

This class is used to ease transformation handling. It has an interface to rotate, scale, and translate and can produce a Mat44f that combines them.

Constructor & Destructor Documentation

NVSG_API Trafo ( void )

Constructor: initialized to identity.

NVSG_API Trafo ( const Trafo & rhs )

Copy Constructor.

Parameters:
rhs Trafo to copy

Member Function Documentation

const Vec3f & getCenter ( void ) const [inline]

Get the center of rotation of this transformation.

Returns:
Vec3f that describes the center or rotation.

const Quatf & getOrientation ( void ) const [inline]

Get the rotational part of this transformation.

Returns:
Quatf that describes the rotational part

const Quatf & getScaleOrientation ( void ) const [inline]

Get the scale orientation part of this transform.

Returns:
Quatf that describes the scale orientational part

const Vec3f & getScaling ( void ) const [inline]

Get the scaling part of this transformation.

Returns:
Vec3f that describes the scaling part

const Vec3f & getTranslation ( void ) const [inline]

Get the translational part of this transformation.

Returns:
Vec3f that describes the translational part

NVSG_API const Mat44f& getMatrix ( void ) const

Get the current transformation.

Returns:
The Mat44f that describes the transformation.
Remarks:
The transformation is the concatenation of the center translation C, scale orientation SO, scaling S, rotation R, and translation T, by the following formula:
    M = -C * SO^-1 * S * SO * R * C * T
See also:
getInverse

NVSG_API Mat44f getInverse ( void ) const

Get the current inverse transformation.

Returns:
The Mat44f that describes the inverse transformation.
Remarks:
The inverse transformation is the concatenation of the center translation C, scale orientation SO, scaling S, rotation R, and translation T, by the following formula:
    M = T^-1 * C^-1 * R^-1 * SO^-1 * S^-1 * SO * -C^-1
See also:
getMatrix

void setCenter ( const Vec3f & center ) [inline]

Set the center of ration of the transformation.

Parameters:
center center of rotation

NVSG_API void setIdentity ( void )

Set the Trafo to identity.

void setOrientation ( const Quatf & orientation ) [inline]

Set the rotational part of the transformation, using a quaternion.

Parameters:
orientation rotational part of transformation

void setScaleOrientation ( const Quatf & scaleOrientation ) [inline]

Set the scale orientational part of the transformation.

Parameters:
scaleOrientation scale orientational part of transform

void setScaling ( const Vec3f & scaling ) [inline]

Set the scaling part of the transformation.

Parameters:
scaling scaling part of transformation

void setTranslation ( const Vec3f & translation ) [inline]

Set the translational part of the transformation.

Parameters:
translation translational part of transformation

NVSG_API void setMatrix ( const Mat44f & matrix )

Set the complete transformation by a Mat44f.

The matrix is internally decomposed into a translation, rotation, scaleOrientation, and scaling.

Parameters:
matrix complete transformation

NVSG_API Trafo& operator= ( const Trafo & rhs )

Copy operator.

Parameters:
rhs Trafo to copy

NVSG_API bool operator== ( const Trafo & t ) const

Equality operator.

Returns:
true if this is equal to t, otherwise false
Parameters:
t Trafo to compare with

Friends And Related Function Documentation

NVSG_API Trafo lerp | ( | float | alpha,
 |  | const Trafo & | t0,
 |  | const Trafo & | t1
 | ) | [related]

This calculates the linear interpolation

 ( 1 - alpha ) * t0 + alpha * t1
Parameters:
alpha | interpolation parameter
t0 | starting value
t1 | ending value

The documentation for this class was generated from the following file:
  • Trafo.h
Generated on Fri Jul 13 13:29:46 2012 for SceniX


SceniX: Member List

Trafo Member List

This is the complete list of members for Trafo, including all inherited members.

getCenter(void) const | Trafo | [inline]
getInverse(void) const | Trafo |
getMatrix(void) const | Trafo |
getOrientation(void) const | Trafo | [inline]
getScaleOrientation(void) const | Trafo | [inline]
getScaling(void) const | Trafo | [inline]
getTranslation(void) const | Trafo | [inline]
lerp(float alpha, const Trafo &t0, const Trafo &t1) | Trafo | [related]
operator!=(const Trafo &t) const (defined in Trafo) | Trafo | [inline]
operator=(const Trafo &rhs) | Trafo |
operator==(const Trafo &t) const | Trafo |
setCenter(const Vec3f &center) | Trafo | [inline]
setIdentity(void) | Trafo |
setMatrix(const Mat44f &matrix) | Trafo |
setOrientation(const Quatf &orientation) | Trafo | [inline]
setScaleOrientation(const Quatf &scaleOrientation) | Trafo | [inline]
setScaling(const Vec3f &scaling) | Trafo | [inline]
setTranslation(const Vec3f &translation) | Trafo | [inline]
Trafo(void) | Trafo |
Trafo(const Trafo &rhs) | Trafo |

Generated on Fri Jul 13 13:29:46 2012 for SceniX


SceniX: trafo_t Struct Reference

trafo_t Struct Reference

The trafo_t structure specifies how a transformation is stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

float4_t orientation
Specifies the orientational part of the transformation.
float3_t scaling
Specifies the scaling part of the transformation.
float3_t translation
Specifies the translational part of the transformation.
float3_t center
Specifies the center of rotation of the transformation.
float4_t scaleOrientation
Specifies the scale orientational part of the transformation.

Detailed Description

The trafo_t structure specifies how a transformation is stored in a .NBF file.

Member Data Documentation

float4_t orientation

Specifies the orientational part of the transformation.

float3_t scaling

Specifies the scaling part of the transformation.

float3_t translation

Specifies the translational part of the transformation.

float3_t center

Specifies the center of rotation of the transformation.

float4_t scaleOrientation

Specifies the scale orientational part of the transformation.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

trafo_t Member List

This is the complete list of members for trafo_t, including all inherited members.

center | trafo_t
orientation | trafo_t
scaleOrientation | trafo_t
scaling | trafo_t
translation | trafo_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Transform Class Reference

nvsg::Transform

Transform Class Reference

Transform node. More...

#include <Transform.h>

Inheritance diagram for Transform:

[legend]
Collaboration diagram for Transform:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API const nvmath::Trafo & | getTrafo (void) const
Get the transformation represented by this Transform.
virtual NVSG_API void | setTrafo (const nvmath::Trafo &trafo)
Set the transformation for this Transform.
NVSG_API bool | isJoint () const
Test if a Transform is a Joint.
NVSG_API Transform & | operator= (const Transform &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other Transform.
REFLECTION_INFO_API (NVSG_API, Transform)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (Center)
NVSG_API | DECLARE_STATIC_PROPERTY (Orientation)
NVSG_API | DECLARE_STATIC_PROPERTY (ScaleOrientation)
NVSG_API | DECLARE_STATIC_PROPERTY (Scaling)
NVSG_API | DECLARE_STATIC_PROPERTY (Translation)
NVSG_API | DECLARE_STATIC_PROPERTY (Matrix)
NVSG_API | DECLARE_STATIC_PROPERTY (Inverse)
END_DECLARE_STATIC_PROPERTIES
NVSG_API const nvmath::Vec3f & 		getCenter (void) const
NVSG_API const nvmath::Quatf & | getOrientation (void) const
NVSG_API const nvmath::Quatf & | getScaleOrientation (void) const
NVSG_API const nvmath::Vec3f & | getScaling (void) const
NVSG_API const nvmath::Vec3f & | getTranslation (void) const
NVSG_API nvmath::Mat44f | getMatrix (void) const
NVSG_API nvmath::Mat44f | getInverse (void) const
NVSG_API void | setCenter (const nvmath::Vec3f &value)
NVSG_API void | setOrientation (const nvmath::Quatf &value)
NVSG_API void | setScaleOrientation (const nvmath::Quatf &value)
NVSG_API void | setScaling (const nvmath::Vec3f &value)
NVSG_API void | setTranslation (const nvmath::Vec3f &value)
NVSG_API void | setMatrix (const nvmath::Mat44f &value)

Static Public Member Functions

static NVSG_API TransformSharedPtr | create ()

Protected Member Functions

NVSG_API | Transform (void)
Default-constructs a Transform.
NVSG_API | Transform (const Transform &rhs)
Constructs a Transform as a copy of another Transform.
virtual NVSG_API | ~Transform (void)
Destructs a Transform.
virtual NVSG_API nvmath::Box3f | calculateBoundingBox () const
Calculates the bounding box of this Transform.
virtual NVSG_API nvmath::Sphere3f | calculateBoundingSphere () const
Calculate the bounding sphere of this Transform.
NVSG_API void | incrementJointCount ()
Increments the number of references as a joint.
NVSG_API void | decrementJointCount ()
Decrements the number of references as a joint.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Transform node.

Namespace: nvsg
Remarks:
A Transform is a special Group node. In addition to the children held by a Transform like a Group, it contains a transformation that is appended to the current transformation. The children then are positioned relative to this transformation.
Beginning with SceniX 7.2 each property P will send out only notify PID_P and PID_Matrix. PID_Invert is implied with all property changes.
See also:
Group

Constructor & Destructor Documentation

NVSG_API Transform ( void ) [protected]

Default-constructs a Transform.

NVSG_API Transform ( const Transform & rhs ) [protected]

Constructs a Transform as a copy of another Transform.

virtual NVSG_API ~Transform ( void ) [protected, virtual]

Destructs a Transform.

Member Function Documentation

const nvmath::Trafo & getTrafo ( void ) const [inline, virtual]

Get the transformation represented by this Transform.

Returns:
A reference to the constant nvmath::Trafo, representing the transformation.
See also:
nvmath::Trafo, setTrafo

Reimplemented in AnimatedTransform.

virtual NVSG_API void setTrafo ( const nvmath::Trafo & trafo ) [virtual]

Set the transformation for this Transform.

Parameters:
trafo A reference to the constant nvmath::Trafo to use.
Remarks:
The transformation trafo is copied to the internal one, and the bounding sphere of the Transform is invalidated.
See also:
nvmath::Trafo, getTrafo

Reimplemented in AnimatedTransform.

bool isJoint ( ) const [inline]

Test if a Transform is a Joint.

Returns:
true, if this Transform is a Joint, otherwise false.
Remarks:
When a Transform is added as a Joint to a Skin, its joint counter is incremented. If the joint counter of a Transform is positive, it is considered to be a Joint.

NVSG_API Transform& operator= ( const Transform & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Transform to copy from
Returns:
A reference to the assigned Transform
Remarks:
The assignment operator calls the assignment operator of Group, and copies the transformation.
See also:
Group, nvmath::Trafo

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other Transform.

Parameters:
p | A reference to the constant Transform to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true.
deepCompare | Optional parameter to perform a deep comparsion; default is false.
Returns:
true if the Transform p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as a Group, they are equivalent if they have the same transformation.
See also:
Group, nvmath::Trafo

Reimplemented from Group.

Reimplemented in AnimatedTransform.

virtual NVSG_API nvmath::Box3f calculateBoundingBox ( ) const [protected, virtual]

Calculates the bounding box of this Transform.

Returns:
The axis-aligned bounding box of this Transform.
Remarks:
This function is called by the framework when re-calculation of the bounding box is required for this Transform.

Reimplemented from Group.

Reimplemented in AnimatedTransform.

virtual NVSG_API nvmath::Sphere3f calculateBoundingSphere ( ) const [protected, virtual]

Calculate the bounding sphere of this Transform.

Returns:
A nvmath::Sphere3f that contains the complete Transform.
Remarks:
This function is called by the framework to determine a sphere that completely contains the Transform. First, the bounding sphere of the Group is determined, then this sphere is transformed according to the transformation.

Reimplemented from Group.

Reimplemented in AnimatedTransform.

NVSG_API void incrementJointCount ( ) [protected]

Increments the number of references as a joint.

Remarks:
A Transform can be used as a joint by a Skin. For each Skin, that uses this Transform, its joint count is incremented. Whenever a joint is removed from a Skin, the joint count of the corresponding Transform is decremented. That is, when the joint count is larger than zero, this Transform is a joint, otherwise it isn't. This function is exclusively used by the Skin class.
See also:
decrementJointCount

NVSG_API void decrementJointCount ( ) [protected]

Decrements the number of references as a joint.

Remarks:
A Transform can be used as a joint by a Skin. For each Skin, that uses this Transform, its joint count is incremented. Whenever a joint is removed from a Skin, the joint count of the corresponding Transform is decremented. That is, when the joint count is larger than zero, this Transform is a joint, otherwise it isn't. This function is exclusively used by the Skin class.
See also:
decrementJointCount

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Group.

Reimplemented in AnimatedTransform.

The documentation for this class was generated from the following file:
  • Transform.h
Generated on Fri Jul 13 13:30:31 2012 for SceniX


SceniX: Member List

Transform Member List

This is the complete list of members for Transform, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addChild(const NodeSharedPtr &child) | Group | [inline]
addClipPlane(const ClipPlaneSharedPtr &plane) | Group |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addLightSource(const LightSourceSharedPtr &lightSource) | Group |
addOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
beginChildren() const | Group | [inline]
beginChildren() | Group | [inline]
beginClipPlanes() const | Group | [inline]
beginClipPlanes() | Group | [inline]
beginLightSources() const | Group | [inline]
beginLightSources() | Group | [inline]
calculateBoundingBox() const | Transform | [protected, virtual]
calculateBoundingSphere() const | Transform | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
ChildrenConstIterator typedef | Group |
ChildrenContainer typedef | Group |
ChildrenIterator typedef | Group |
clearAppTraverserCallbacks() | Object | [inline]
clearChildren() | Group |
clearClipPlanes() | Group |
clearLightSources() | Group |
ClipPlaneConstIterator typedef | Group |
ClipPlaneContainer typedef | Group |
ClipPlaneIterator typedef | Group |
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Transform) | Transform | [static]
DECLARE_STATIC_PROPERTY(Center) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Orientation) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(ScaleOrientation) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Scaling) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Translation) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Matrix) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Inverse) (defined in Transform) | Transform |
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
decrementJointCount() | Transform | [protected]
determineAnimationContainment() const (defined in Group) | Group | [protected, virtual]
determineHintsContainment(unsigned int hints) const | Group | [protected, virtual]
determineLightContainment() const (defined in Group) | Group | [protected, virtual]
determineLODContainment() const (defined in Group) | Group | [protected, virtual]
determineShaderContainment() const (defined in Group) | Group | [protected, virtual]
determineTransparencyContainment() const (defined in Group) | Group | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
endChildren() const | Group | [inline]
endChildren() | Group | [inline]
endClipPlanes() const | Group | [inline]
endClipPlanes() | Group | [inline]
endLightSources() const | Group | [inline]
endLightSources() | Group | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | Transform | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
findChild(const ChildrenConstIterator &start, const NodeSharedPtr &node) const | Group | [inline]
findChild(const ChildrenIterator &start, const NodeSharedPtr &node) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) const (defined in Group) | Group | [inline]
findClipPlane(const ClipPlaneSharedPtr &plane) (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) const (defined in Group) | Group | [inline]
findLightSource(const LightSourceSharedPtr &lightSource) (defined in Group) | Group | [inline]
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Node) | Node | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getCenter(void) const (defined in Transform) | Transform | [inline]
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getInverse(void) const (defined in Transform) | Transform | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMatrix(void) const (defined in Transform) | Transform | [inline]
getName() const | Object |
getNumberOfActiveClipPlanes() const | Group |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfChildren() const | Group | [inline]
getNumberOfClipPlanes() const | Group | [inline]
getNumberOfLightSources() const | Group | [inline]
getNumberOfOwners() const | OwnedObject< Group > |
getNumberOfParents() const | Node | [inline]
getObjectCode() const | Object | [inline]
getOrientation(void) const (defined in Transform) | Transform | [inline]
getOwner(OwnerIterator) const | OwnedObject< Group > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getScaleOrientation(void) const (defined in Transform) | Transform | [inline]
getScaling(void) const (defined in Transform) | Transform | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTrafo(void) const | Transform | [inline, virtual]
getTranslation(void) const (defined in Transform) | Transform | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
Group() | Group | [protected]
Group(const Group &rhs) | Group | [protected]
incrementHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementJointCount() | Transform | [protected]
incrementMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
insertChild(const ChildrenIterator &gci, const NodeSharedPtr &child) | Group |
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | Transform | [virtual]
isJoint() const | Transform | [inline]
LightSourceConstIterator typedef | Group |
LightSourceContainer typedef | Group |
LightSourceIterator typedef | Group |
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
Node() | Node |
Node(const Node &rhs) | Node |
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Group >) | OwnedObject< Group > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Transform &rhs) | Transform |
nvsg::Group::operator=(const Group &rhs) | Group |
nvsg::Node::operator=(const Node &rhs) | Node | [protected]
nvsg::OwnedObject< Group >::operator=(const OwnedObject< Group > &rhs) | OwnedObject< Group > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Group > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Group > | [protected]
OwnedObject(const OwnedObject< Group > &rhs) | OwnedObject< Group > | [protected]
OwnerContainer typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
OwnerIterator typedef (defined in OwnedObject< Group >) | OwnedObject< Group > |
ownersBegin() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
ownersEnd() const (defined in OwnedObject< Group >) | OwnedObject< Group > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
postAddChild(unsigned int position) | Group | [protected, virtual]
postRemoveChild(unsigned int position) | Group | [protected, virtual]
preAddChild(unsigned int position) | Group | [protected, virtual]
preRemoveChild(unsigned int position) | Group | [protected, virtual]
queryHintsIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Group) | Group | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Node) | Node | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Transform) (defined in Transform) | Transform |
REFLECTION_INFO_API(NVSG_API, Group) (defined in Group) | Group |
REFLECTION_INFO_API(NVSG_API, Node) (defined in Node) | Node |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeChild(const NodeSharedPtr &child) | Group |
removeChild(const ChildrenIterator &childIterator) | Group |
removeClipPlane(const ClipPlaneSharedPtr &plane) | Group |
removeClipPlane(const ClipPlaneIterator &cpi) | Group |
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeLightSource(const LightSourceSharedPtr &lightSource) | Group |
removeLightSource(const LightSourceIterator &lsi) | Group |
removeOwner(Group *owner) (defined in OwnedObject< Group >) | OwnedObject< Group > | [protected]
replaceChild(const NodeSharedPtr &newChild, const NodeSharedPtr &oldChild) | Group |
replaceChild(const NodeSharedPtr &newChild, ChildrenIterator &oldChildIterator) | Group |
setAnnotation(const std::string &anno) | Object |
setCenter(const nvmath::Vec3f &value) (defined in Transform) | Transform |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setMatrix(const nvmath::Mat44f &value) (defined in Transform) | Transform |
setName(const std::string &name) | Object |
setOrientation(const nvmath::Quatf &value) (defined in Transform) | Transform |
setScaleOrientation(const nvmath::Quatf &value) (defined in Transform) | Transform |
setScaling(const nvmath::Vec3f &value) (defined in Transform) | Transform |
setTrafo(const nvmath::Trafo &trafo) | Transform | [virtual]
setTranslation(const nvmath::Vec3f &value) (defined in Transform) | Transform |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
syncIncarnation(PFNGETINCARNATION) const (defined in Group) | Group | [protected, virtual]
Transform(void) | Transform | [protected]
Transform(const Transform &rhs) | Transform | [protected]
~Group() | Group | [protected, virtual]
~Node() | Node | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Group > | [protected]
~Transform(void) | Transform | [protected, virtual]

Generated on Fri Jul 13 13:30:31 2012 for SceniX


SceniX: TransformStack Class Reference

nvutil::TransformStack

TransformStack Class Reference

Utility class to hold a stack of concatenated transformation matrices. More...

#include <TransformStack.h>

Collaboration diagram for TransformStack:

[legend]
List of all members.

Public Member Functions

TransformStack ()
Default constructor.
NVSG_API const nvmath::Mat44f & | getClipToModel (void) const
Get the transformation from clip space to model space.
NVSG_API const nvmath::Mat44f & | getClipToView (void) const
Get the transformation from clip space to view space.
NVSG_API const nvmath::Mat44f & | getModelToClip (void) const
Get the transformation from model space to clip space.
NVSG_API const nvmath::Mat44f & | getModelToView (void) const
Get the transformation from model space to view space.
NVSG_API const nvmath::Mat44f & | getModelToWorld (void) const
Get the transformation from model space to world space.
NVSG_API const nvmath::Mat44f & | getViewToClip (void) const
Get the transformation from view space to clip space.
NVSG_API const nvmath::Mat44f & | getViewToModel (void) const
Get the transformation from view space to model space.
NVSG_API const nvmath::Mat44f & | getViewToWorld (void) const
Get the transformation from view space to world space.
NVSG_API const nvmath::Mat44f & | getWorldToModel (void) const
Get the transformation from world space to model space.
NVSG_API const nvmath::Mat44f & | getWorldToView (void) const
Get the transformation from world space to view space.
NVSG_API unsigned int | getStackDepth (void) const
Get the depth of the model <-> world transformation stack.
NVSG_API void | popModelToWorld (void)
Pop the top element of the model <-> world transformation stack.
NVSG_API void | pushModelToWorld (const nvmath::Mat44f &modelWorld, const nvmath::Mat44f &worldModel)
Push a new pair of matrices on the model <-> world transformation stack.
NVSG_API void | setViewToClip (const nvmath::Mat44f &viewClip, const nvmath::Mat44f &clipView)
Set the pair of matrices for the view <-> clip transformation.
NVSG_API void | setWorldToView (const nvmath::Mat44f &worldView, const nvmath::Mat44f &viewWorld)
Set the pair of matrices for the world <-> view transformation.

Detailed Description

Utility class to hold a stack of concatenated transformation matrices.

This class makes it easy to maintain all steps of the transformation pipeline from model space via world space and view space to clip space (and vice versa).
Individiual objects are defined in an local coordinate system called model space. There is often a hierarchy of modeling coordinate systems that are maintained by this class by using popModelToWorld and pushModelToWorld.
Objects are then transformed into the world space.
The view space is used to define a view volume. This system is used so that, with the eye or camera at the origin looking toward -z, decreasing values of z are farther away from the eye, x is to the right and y is up.
From view space, we next go to the clip space, that is we're using the projection to get logical 2D device coordinates (In contrast to physical device coordinates, which additionally need the viewport information).

With these terms, the transformation pipeline looks like that:
   model <-> world <-> view <-> clip

Constructor & Destructor Documentation

TransformStack ( ) [inline]

Default constructor.

Initializes the model <-> world transformation stacks.

Member Function Documentation

const nvmath::Mat44f & getClipToModel ( void ) const [inline]

Get the transformation from clip space to model space.

const nvmath::Mat44f & getClipToView ( void ) const [inline]

Get the transformation from clip space to view space.

const nvmath::Mat44f & getModelToClip ( void ) const [inline]

Get the transformation from model space to clip space.

const nvmath::Mat44f & getModelToView ( void ) const [inline]

Get the transformation from model space to view space.

const nvmath::Mat44f & getModelToWorld ( void ) const [inline]

Get the transformation from model space to world space.

const nvmath::Mat44f & getViewToClip ( void ) const [inline]

Get the transformation from view space to clip space.

const nvmath::Mat44f & getViewToModel ( void ) const [inline]

Get the transformation from view space to model space.

const nvmath::Mat44f & getViewToWorld ( void ) const [inline]

Get the transformation from view space to world space.

const nvmath::Mat44f & getWorldToModel ( void ) const [inline]

Get the transformation from world space to model space.

const nvmath::Mat44f & getWorldToView ( void ) const [inline]

Get the transformation from world space to view space.

unsigned int getStackDepth ( void ) const [inline]

Get the depth of the model <-> world transformation stack.

void popModelToWorld ( void ) [inline]

Pop the top element of the model <-> world transformation stack.

void pushModelToWorld | ( | const nvmath::Mat44f & | modelWorld,
 |  | const nvmath::Mat44f & | worldModel
 | ) | [inline]

Push a new pair of matrices on the model <-> world transformation stack.

Note:
modelWorld and worldModel should be inverse to each other to get correct results.
Parameters:
modelWorld | additional model to world transformation
worldModel | additional world to model transformation

void setViewToClip | ( | const nvmath::Mat44f & | viewClip,
 |  | const nvmath::Mat44f & | clipView
 | ) | [inline]

Set the pair of matrices for the view <-> clip transformation.

Note:
viewClip and clipView should be inverse to each other to get correct results.
Parameters:
viewClip | new view to clip transformation (projection)
clipView | new clip to view transformation

void setWorldToView | ( | const nvmath::Mat44f & | worldView,
 |  | const nvmath::Mat44f & | viewWorld
 | ) | [inline]

Set the pair of matrices for the world <-> view transformation.

Note:
worldView and viewWorld should be inverse to each other to get correct results.
Parameters:
worldView | new world to view transformation
viewWorld | new view to world transformation

The documentation for this class was generated from the following file:
  • TransformStack.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

TransformStack Member List

This is the complete list of members for TransformStack, including all inherited members.

getClipToModel(void) const | TransformStack | [inline]
getClipToView(void) const | TransformStack | [inline]
getModelToClip(void) const | TransformStack | [inline]
getModelToView(void) const | TransformStack | [inline]
getModelToWorld(void) const | TransformStack | [inline]
getStackDepth(void) const | TransformStack | [inline]
getViewToClip(void) const | TransformStack | [inline]
getViewToModel(void) const | TransformStack | [inline]
getViewToWorld(void) const | TransformStack | [inline]
getWorldToModel(void) const | TransformStack | [inline]
getWorldToView(void) const | TransformStack | [inline]
popModelToWorld(void) | TransformStack | [inline]
pushModelToWorld(const nvmath::Mat44f &modelWorld, const nvmath::Mat44f &worldModel) | TransformStack | [inline]
setViewToClip(const nvmath::Mat44f &viewClip, const nvmath::Mat44f &clipView) | TransformStack | [inline]
setWorldToView(const nvmath::Mat44f &worldView, const nvmath::Mat44f &viewWorld) | TransformStack | [inline]
TransformStack() | TransformStack | [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Traverser Class Reference

nvtraverser::Traverser

Traverser Class Reference

Virtual base class providing the common interface part of ExclusiveTraverser and SharedTraverser. More...

#include <Traverser.h>

Inheritance diagram for Traverser:

[legend]
Collaboration diagram for Traverser:

[legend]
List of all members.

Public Member Functions

virtual NVSG_API void | setViewState (const nvsg::ViewStateSharedPtr &viewState)
Set a ViewState to be used with this Traverser.
virtual NVSG_API void | setTraversalMask (unsigned int mask)
Set the TraversalMask to be used with this Traverser.
virtual NVSG_API unsigned int | getTraversalMask () const
Get the current TraversalMask value.
virtual NVSG_API void | setTraversalMaskOverride (unsigned int mask)
Set an override TraversalMask to be used with this Traverser.
virtual NVSG_API unsigned int | getTraversalMaskOverride () const
Get the current TraversalMask override.
NVSG_API void | apply ()
Start traversal of the scene attached to the current ViewState.
NVSG_API void | apply (const nvsg::NodeSharedPtr &root)
Start traversal from a specified node.
NVSG_API void | apply (const nvsg::SceneSharedPtr &scene)
Start the traversal of a Scene.
NVSG_API void | apply (const nvsg::ViewStateSharedPtr &viewstate)
Start the traversal of the scene attached to the ViewState.
NVSG_API void | interruptTraversal ()
Immediately interrupt the current traversal.
NVSG_API bool | wasTraversalInterrupted ()
Check for traversal interruption.

Protected Types

enum {
NVSG_SCENE_DIRTY = BIT0, NVSG_ROOT_DIRTY = BIT1, NVSG_TREE_DIRTY_MASK = NVSG_SCENE_DIRTY | NVSG_ROOT_DIRTY, NVSG_VIEWSTATE_DIRTY = BIT2,
NVSG_CAMERA_DIRTY = BIT3, NVSG_VIEW_DIRTY_MASK = NVSG_VIEWSTATE_DIRTY | NVSG_CAMERA_DIRTY, NVSG_BV_DIRTY = BIT4, NVSG_TRAVERSAL_INTERRUPTED = BIT5
}

Protected Member Functions

NVSG_API | Traverser ()
Default constructor.
virtual NVSG_API | ~Traverser ()
Protected destructor to prevent instantiation.
virtual NVSG_API void | lockViewState ()=0
Interface for locking the ViewState.
virtual NVSG_API void | unlockViewState ()=0
Interface for unlocking the ViewState.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)=0
Interface for initiating the traversal.
virtual NVSG_API void | doTraverseObject (const nvsg::ObjectSharedPtr &p)=0
Interface for performing the object traversal.
virtual NVSG_API void | doTraverseDrawable (const nvsg::DrawableSharedPtr &p)=0
Interface for performing traversal of a Drawable.
NVSG_API void | traverseObject (const nvsg::ObjectSharedPtr &obj)
Start traversing an Object.
virtual NVSG_API bool | preApply (const nvsg::NodeSharedPtr &root)
Notifier called from the framework directly before traversal starts.
virtual NVSG_API void | postApply (const nvsg::NodeSharedPtr &root)
Notifier called from the framework directly after traversal.
virtual NVSG_API bool | preTraverseGroup (const nvsg::Group *grp)
Notifier called from the framework directly before a Group is traversed.
virtual NVSG_API void | postTraverseGroup (const nvsg::Group *grp)
Notifier called from the framework directly after a Group has been traversed.
virtual NVSG_API bool | preTraverseDrawables (const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci)
Notifier called from the framework directly before the Drawable objects associated with one StateSet are traversed.
virtual NVSG_API void | postTraverseDrawables (const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci)
Notifier called from the framework directly after the Drawable objects associated with one StateSet have been traversed.
virtual NVSG_API bool | preTraverseDrawable (const nvsg::Drawable *drawable)
Signals the beginning of a Drawable traversal.
virtual NVSG_API void | postTraverseDrawable (const nvsg::Drawable *drawable)
Signals ending of a Drawable traversal.
template<typename T>
void | traverseGroup (const T *grp)
Dispatcher to the particular overrides to traverse Group-derived Nodes.
NVSG_API void | traverseGeoNode (const nvsg::GeoNode *gnode)
Initiates GeoNode traversal.
NVSG_API void | traverseShape (const nvsg::Shape *shape)
Traversal of a Shape.
NVSG_API void | traversePrimitive (const nvsg::Primitive *prim)
Traversal of a Primitive.
template<typename T>
void | traverseAnimation (const nvsg::Animation< T > *anim)
NVSG_API void | traverseAnimatedVertexAttributeSet (const nvsg::AnimatedVertexAttributeSet *avas)
NVSG_API void | traverseStateSet (const nvsg::StateSet *stateSet)
NVSG_API void | traverseStateVariant (const nvsg::StateVariant *variant)
Traversal of a StateVariant.
NVSG_API void | traverseStatePass (const nvsg::StatePass *pass)
Traversal of a StatePass.
NVSG_API void | traverseStateAttribute (const nvsg::StateAttribute *attribute)
Traverse a StateAttribute.
NVSG_API void | traverseSceneAttribute (const nvsg::SceneAttribute *attribute)
Traverse a SceneAttribute.
NVSG_API void | traverseTextureAttribute (const nvsg::TextureAttribute *texAttrib)
Traversal of a TextureAttribute.
NVSG_API void | traverseMapList (const nvsg::MapList *mapList)
Traversal of a MapList.
NVSG_API void | traverseLockedObject (const nvsg::Object *obj)
virtual NVSG_API void | postTraverseObject (const nvsg::Object *object)
Called right after traversal of an object.
NVSG_API unsigned int | getCurrentTextureUnit () const
Get the current texture unit associated with current TextureAttributeItem, while traversing a TextureAttribute.

Protected Attributes

unsigned int | m_currentAttrib
nvutil::MemFunTbl< Traverser > m_mftbl
The table of handler functions.
nvutil::ProblemLog m_problemLog
Problems occurred during construction go here.
nvsg::NodeWeakPtr | m_root
A pointer to the current root node.
nvsg::SceneSharedPtr | m_scene
A pointer to the current scene.
unsigned int | m_traverserBits
The bitfield of flags for a Traverser.
nvsg::ViewStateSharedPtr | m_viewState
A pointer to the current view state.
nvsg::CameraSharedPtr | m_camera
nvutil::Incarnation | m_rootIncarnation
nvutil::Incarnation | m_bvIncarnation
nvutil::Incarnation | m_vertexAttributeSetIncarnation
nvutil::Incarnation | m_primitiveIncarnation
nvutil::Incarnation | m_hintsIncarnation
nvutil::Incarnation | m_cameraIncarnation
nvutil::Incarnation | m_sceneIncarnation
bool volatile | m_interrupt
A flag, indicating an interrupt request.

Detailed Description

Virtual base class providing the common interface part of ExclusiveTraverser and SharedTraverser.

Remarks:
A traverser serves as a link between a scene graph and a defined operation to be performed on the scene graph. That is, according to a certain scene graph's hierarchy, a traverser iterates over all scene graph components and performs a defined operation for each by means of an overloadable handler routine. The Traverser class offers base functionality for all traversers. There are two traversers derived from Traverser: SharedTraverser and ExclusiveTraverser, that provide read-only access and read-write access, respectively, to the elements of the scene graph.
See also:
ExclusiveTraverser, SharedTraverser

Constructor & Destructor Documentation

NVSG_API Traverser ( ) [protected]

Default constructor.

Note:
The constructor is protected, and hence, a Traverser object cannot be instantiated directly, but only by deriving from Traverser.

virtual NVSG_API ~Traverser ( ) [protected, virtual]

Protected destructor to prevent instantiation.

Member Function Documentation

virtual NVSG_API void setViewState ( const nvsg::ViewStateSharedPtr & viewState ) [virtual]

Set a ViewState to be used with this Traverser.

Parameters:
viewState The ViewState to be used.
Remarks:
If viewState is a different pointer than the current ViewState pointer, its reference count is incremented and the reference count of a previously set ViewState is decremented. Any caches for the ViewState are marked as invalid.
Note:
The ViewState's TraversalMask will be used in conjunction with any TraversalMaskOverride to direct scene traversal. See setTraversalMask for more info.
See also:
setTraversalMaskOverride, setTraversalMask, Object::setTraversalMask

void setTraversalMask ( unsigned int mask ) [inline, virtual]

Set the TraversalMask to be used with this Traverser.

Parameters:
mask The mask to be used.
Remarks:
This method provides a way to set the traversal mask for this Traverser if no ViewState is specified. If a ViewState is specified, the TraversalMask in the ViewState will be used instead.
Note:
The TraversalMask is used in conjuction with the OverrideTraversalMask and every scene graph node's TraversalMask to determine whether the node (and therefore possibly the entire subgraph) is traversed. The traverser's override traversal mask is OR'd with the node's traversal mask and that result is ANDed with the traversal mask. If the result is nonzero then the node is traversed, otherwise it is ignored. IE: ( ( (Traverser::TraversalMaskOverride | Object::TraversalMask) & ViewState::TraversalMask ) != 0 ) the node is traversed.

Setting the TraversalMask to 0 will cause no nodes to be traversed. Setting the TraversalMask to ~0 and the TraversalMaskOverride to ~0 will cause all nodes to be traversed regardless of the Object::TraversalMask.

The default traversal mask is always ~0 so that all nodes are traversed.

See also:
getTraversalMask, getTraversalMaskOverride, ViewState::getTraversalMask, Object::getTraversalMask

unsigned int getTraversalMask ( ) const [inline, virtual]

Get the current TraversalMask value.

Returns:
mask The mask to be used.
See also:
setTraversalMask

Reimplemented in SharedTraverser, and ExclusiveTraverser.

void setTraversalMaskOverride ( unsigned int mask ) [inline, virtual]

Set an override TraversalMask to be used with this Traverser.

Parameters:
mask The mask to be used.
Remarks:
This method provides a way to override the Object::TraversalMask that is used when determining whether to traverse scene graph objects. This mask is OR'd with each nvsg::Object's TraversalMask before being ANDed with the Traverser or ViewState's TraversalMask. See Traverser::setTraversalMask for more info.
Note:
The default TraversalMaskOverride is 0 so that it does not affect traversal.
See also:
getTraversalMaskOverride, ViewState::setTraversalMask, Object::setTraversalMask

unsigned int getTraversalMaskOverride ( ) const [inline, virtual]

Get the current TraversalMask override.

Returns:
mask The mask in use.
See also:
setTraversalMask

NVSG_API void apply ( )

Start traversal of the scene attached to the current ViewState.

Remarks:
If preApply is successful, the Scene and the ViewState are locked, the traversal is executed by calling doApply, the Scene and the ViewState are unlocked again, and postApply is called with root.
See also:
apply

NVSG_API void apply ( const nvsg::NodeSharedPtr & root )

Start traversal from a specified node.

Parameters:
root The Node to start traversal with.
Remarks:
If preApply is successful, the Scene and the ViewState are locked, the traversal is executed by calling doApply, the Scene and the ViewState are unlocked again, and postApply is called with root.
Note:
Some traverser need a valid ViewState object which has to be set via setViewState.
See also:
apply

NVSG_API void apply ( const nvsg::SceneSharedPtr & scene )

Start the traversal of a Scene.

Parameters:
scene The Scene to traverse.
Remarks:
This convenience function creates a temporary ViewState which is either a clone of an ViewState set before or a newly created ViewState. Afterwards the scene is attached to the ViewState and traversal starts. After traversal the orignal ViewState will be restored.
See also:
apply

NVSG_API void apply ( const nvsg::ViewStateSharedPtr & viewstate )

Start the traversal of the scene attached to the ViewState.

Parameters:
scene A smart pointer to the ViewState containing a scene to traverse
Remarks:
This convenience function temporary changed the ViewState of this traverser.
See also:
apply

void interruptTraversal ( ) [inline]

Immediately interrupt the current traversal.

Remarks:
After this function has been called, no more Nodes are visited in the current traversal. The traversal point is back-tracked to the root without initiating any new actions.
Note:
This function is especially useful in a multithreaded environment, where one thread traverses a Scene while an other thread is allowed to interrupt the traversal under some circumstances.
See also:
wasTraversalInterrupted

bool wasTraversalInterrupted ( ) [inline]

Check for traversal interruption.

Returns:
true if the traversal was interrupted, otherwise false.
Note:
This function is especially useful if an operation on a Scene is a complex one, that needs multiple traversals. If one of those traversals was interrupted, the following traversals should be omitted.
See also:
interruptTraversal

virtual NVSG_API void lockViewState ( ) [protected, pure virtual]

Interface for locking the ViewState.

Remarks:
This function is called from the framework when the ViewState set by setViewState is to be locked.
See also:
setViewState, unlockViewState

Implemented in SharedTraverser, and ExclusiveTraverser.

virtual NVSG_API void unlockViewState ( ) [protected, pure virtual]

Interface for unlocking the ViewState.

Remarks:
This function is called from the framework when the ViewState set by setViewState is to be unlocked.
See also:
setViewState, lockViewState

Implemented in SharedTraverser, and ExclusiveTraverser.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, pure virtual]

Interface for initiating the traversal.

Parameters:
root The Node to start traversal at.
Remarks:
This function is called from the framework after the Scene and the ViewState, if set, are locked. The actual traversal is assumed to be done here.
See also:
preApply, postApply, lockViewState, unlockViewState

Implemented in WRLLoadTraverser, NBFSaveTraverser, NVSGSaveTraverser, AnalyzeTraverser, AppTraverser, ConvertPrimitivesTraverser, DeindexTraverser, DestrippingTraverser, EliminateTraverser, NormalizeTraverser, OptimizeTraverser, RayIntersectTraverser, SearchTraverser, SmoothTraverser, SharedTraverser, ExclusiveTraverser, and UnifyTraverser.

virtual NVSG_API void doTraverseObject ( const nvsg::ObjectSharedPtr & p ) [protected, pure virtual]

Interface for performing the object traversal.

Parameters:
p The Object to traverse.
Remarks:
This function is called by the framework to really traverse an object.
See also:
traverseObject

Implemented in SharedTraverser, and ExclusiveTraverser.

virtual NVSG_API void doTraverseDrawable ( const nvsg::DrawableSharedPtr & p ) [protected, pure virtual]

Interface for performing traversal of a Drawable.

Parameters:
p The Drawable to traverse.
Remarks:
This function is called by the framework to traverse a Drawable.

Implemented in SharedTraverser, and ExclusiveTraverser.

void traverseObject ( const nvsg::ObjectSharedPtr & obj ) [inline, protected]

Start traversing an Object.

Parameters:
obj The Object to traverse.
Remarks:
If the traversal was interrupted, the function immediately returns. Otherwise the virtual function doTraverseObject is called.
Note:
The behavior is undefined if obj points to an invalid location.
See also:
doTraverseObject

virtual NVSG_API bool preApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Notifier called from the framework directly before traversal starts.

Parameters:
root The Node to be traversed.
Returns:
The default implementation always return true in order to continue traversal of root to proceed.
Remarks:
Custom traversers might override this notifier to process some pre-traversal work. A customized preApply notifier should return true to force the traversal of the specified root node to proceed. Returning false prevents the specified root node from being traversed.
At the time of call, a custom override can rely on the optional Scene and the optional ViewState both _not_ being locked for read or write access by the calling thread.
Note:
If the function returns false, traversal of root is skipped.

Not calling the base implementation might result in undefined runtime behavior.

Example:
    bool MyTraverser::preApply( const nvsg::NodeSharedPtr & root )
    {
      //  Do some pre-traversal bookholding or whatever
      //  ...

      //  call the base implementation and return
      return( Traverser::preApply( root ) );
    }
See also:
postApply

virtual NVSG_API void postApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Notifier called from the framework directly after traversal.

Parameters:
root The Node that was just traversed.
Remarks:
Custom traversers might override this notifier to process some post-traversal work. It is strongly recommended for custom overrides to call the base implementation in their code.
At the time of call, a custom override can rely on the optional Scene and the optional ViewState both _not_ being locked for read or write access by the calling thread.
Note:
Not calling the base implementation might result in undefined runtime behavior.
See also:
preApply

Reimplemented in BezierExtrapolationTraverser, BezierInterpolationTraverser, ConvertPrimitivesTraverser, IdentityToGroupTraverser, and StrippingTraverser.

virtual NVSG_API bool preTraverseGroup ( const nvsg::Group * grp ) [protected, virtual]

Notifier called from the framework directly before a Group is traversed.

Parameters:
grp A pointer to the constant Group to traverse.
Returns:
The default implementation always returns true, in order to continue traversal.
Remarks:
Custom traversers can override this function for any tasks that need to be done directly before the Group grp is traversed.
Note:
If the function returns false, traversal of grp is skipped.

Not calling the base implementation might result in undefined runtime behavior.

See also:
postTraverseGroup

Reimplemented in RayIntersectTraverser.

virtual NVSG_API void postTraverseGroup ( const nvsg::Group * grp ) [protected, virtual]

Notifier called from the framework directly after a Group has been traversed.

Parameters:
grp A pointer to the constant Group that was just traversed.
Remarks:
Custom traversers can override this function for any tasks that need to be done directly after the Group grp has been traversed.
Note:
Not calling the base implementation might result in undefined runtime behavior.
See also:
preTraverseGroup

Reimplemented in RayIntersectTraverser.

virtual NVSG_API bool preTraverseDrawables | ( | const nvsg::GeoNode * | gnode,
 |  | nvsg::GeoNode::StateSetConstIterator | ssci
 | ) | [protected, virtual]

Notifier called from the framework directly before the Drawable objects associated with one StateSet are traversed.

Parameters:
gnode | A pointer to the constant GeoNode currently traversed.
ssci | Iterator of the StateSet in gnode associated with the Drawable objects that are going to be traversed.
Returns:
The default implementation always returns true to continue traversal.
Remarks:
Custom traversers can override this function for any tasks that need to be done directly before the Drawable objects of the GeoNode gnode associated with the StateSet of gnode at index geomIndex are traversed.
Note:
If the function returns false, traversal of the specified Drawable objects is skipped.

Not calling the base implementation might result in undefined runtime behavior.

See also:
postTraverseDrawables

Reimplemented in CombineTraverser.

virtual NVSG_API void postTraverseDrawables | ( | const nvsg::GeoNode * | gnode,
 |  | nvsg::GeoNode::StateSetConstIterator | ssci
 | ) | [protected, virtual]

Notifier called from the framework directly after the Drawable objects associated with one StateSet have been traversed.

Parameters:
gnode | A pointer to the constant GeoNode currently traversed.
ssci | Iterator of the StateSet in gnode associated with the Drawable objects that were just traversed.
Remarks:
Custom traversers can override this function for any tasks that need to be done directly after the Drawable objects of the GeoNode gnode associated with the StateSet of gnode at index geomIndex are traversed.
Note:
Not calling the base implementation might result in undefined runtime behavior.
See also:
preTraverseDrawables

virtual NVSG_API bool preTraverseDrawable ( const nvsg::Drawable * drawable ) [protected, virtual]

Signals the beginning of a Drawable traversal.

Parameters:
drawable Specifies the Drawable for which traversal will be initiated.
Returns:
The default implementation always returns true, which forces the framework to proceed traversal of the indicated Drawable.
Remarks:
The function will be called from the framework to signal the beginning of a Drawable traversal. A custom traverser can override this function if a preprocessing is required immediately prior to traverse the indicated Drawable. If an override implementation returns false, it forces the framework to skip traversal of the indicated Drawable. The postTraverseDrawable notifier will not be called in this case.
See also:
postTraverseDrawable

virtual NVSG_API void postTraverseDrawable ( const nvsg::Drawable * drawable ) [protected, virtual]

Signals ending of a Drawable traversal.

Parameters:
drawable Specifies the Drawable for which traversal ends.
Remarks:
The function will be called from the framework to signal that the traversal of the indicated Drawable has been completed. A custom traverser can override this function if a post-processing is required immediately after the indicated Drawable has been traversed.

void traverseGroup ( const T * grp ) [protected]

Dispatcher to the particular overrides to traverse Group-derived Nodes.

Parameters:
grp A pointer to the constant Group-derived Node to traverse.
Remarks:
If preTraverseGroup() returned true, the lights contained in grp are traversed, and then, depending on the actual type a special traversal is performed. After that, postTraverseGroup() is called.
See also:
preTraverseGroup, postTraverseGroup

NVSG_API void traverseGeoNode ( const nvsg::GeoNode * gnode ) [protected]

Initiates GeoNode traversal.

Parameters:
gnode The GeoNode to traverse.
Remarks:
The function traverses through all geometries of the GeoNode in order. For each geometry the assigned StateSet is traversed prior to the assigned Drawables. The explicit StateSet traversal is initiated from inside the base implementation of preTraverseDrawables, which can be overridden for a certain purposes. However, an override should always call the base implementation in its implementation. Otherwise, a proper traversal of an assigned StateSet is not guaranteed. If preTraverseDrawables returns false, traversal of the Drawables assigned to the currently processed geometry will be skipped. In this case also the call to postTraverseDrawables will be skipped for that particular geometry.
See also:
preTraverseDrawables, postTraverseDrawables

NVSG_API void traverseShape ( const nvsg::Shape * shape ) [protected]

Traversal of a Shape.

Parameters:
shape A pointer to the constant Shape to traverse.
Remarks:
Traverses all PrimitiveSet objects of shape.

NVSG_API void traversePrimitive ( const nvsg::Primitive * prim ) [protected]

Traversal of a Primitive.

Parameters:
prim A pointer to the constant Primitive to traverse.

Reimplemented in ExtractGeometryTraverser, AnalyzeTraverser, and SharedTraverser.

NVSG_API void traverseStateVariant ( const nvsg::StateVariant * variant ) [protected]

Traversal of a StateVariant.

Parameters:
variant A pointer to the constant StateVariant to traverse.
Remarks:
Traverses all StatePass objects of variant.
See also:
traverseStatePass

NVSG_API void traverseStatePass ( const nvsg::StatePass * pass ) [protected]

Traversal of a StatePass.

Parameters:
pass A pointer to the constant StatePass to traverse.
Remarks:
Traverses all StateAttribute objects of pass.
See also:
traverseStateVariant

NVSG_API void traverseStateAttribute ( const nvsg::StateAttribute * attribute ) [protected]

Traverse a StateAttribute.

NVSG_API void traverseSceneAttribute ( const nvsg::SceneAttribute * attribute ) [protected]

Traverse a SceneAttribute.

NVSG_API void traverseTextureAttribute ( const nvsg::TextureAttribute * texAttrib ) [protected]

Traversal of a TextureAttribute.

Parameters:
texAttrib A pointer to the constant TextureAttribute to traverse.
Remarks:
Traverses all TextureAttributeItem objects of texAttrib.

NVSG_API void traverseMapList ( const nvsg::MapList * mapList ) [protected]

Traversal of a MapList.

Parameters:
mapList A pointer to the constant MapList to traverse.
Remarks:
A ViewState holds a MapList, containing two-dimensional maps, that can be used to render, for example, overlays for menus or textual information to top of the scene. That MapList is traversed here.
See also:
ViewState::setMapList, ViewState::getMapList

void postTraverseObject ( const nvsg::Object * object ) [inline, protected, virtual]

Called right after traversal of an object.

Parameters:
object A pointer to the read-locked object just traversed.
Remarks:
The default implementation does nothing.

Reimplemented in PostBuildTraverser, and AppTraverser.

unsigned int getCurrentTextureUnit ( ) const [inline, protected]

Get the current texture unit associated with current TextureAttributeItem, while traversing a TextureAttribute.

Returns:
The current texture unit.
See also:
handleTextureAttribute, handleTextureAttributeItem

Member Data Documentation

nvutil::MemFunTbl<Traverser> m_mftbl [protected]

The table of handler functions.

nvutil::ProblemLog m_problemLog [protected]

Problems occurred during construction go here.

nvsg::NodeWeakPtr m_root [protected]

A pointer to the current root node.

nvsg::SceneSharedPtr m_scene [protected]

A pointer to the current scene.

unsigned int m_traverserBits [protected]

The bitfield of flags for a Traverser.

nvsg::ViewStateSharedPtr m_viewState [protected]

A pointer to the current view state.

bool volatile m_interrupt [protected]

A flag, indicating an interrupt request.

The documentation for this class was generated from the following file:
  • Traverser.h
Generated on Fri Jul 13 13:31:16 2012 for SceniX


SceniX: Member List

Traverser Member List

This is the complete list of members for Traverser, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root)=0 | Traverser | [protected, pure virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p)=0 | Traverser | [protected, pure virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p)=0 | Traverser | [protected, pure virtual]
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | Traverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getValue(PropertyId propertyId) const | Reflection | [inline]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState()=0 | Traverser | [protected, pure virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState()=0 | Traverser | [protected, pure virtual]
wasTraversalInterrupted() | Traverser | [inline]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]

Generated on Fri Jul 13 13:31:16 2012 for SceniX


SceniX: TriangleFilter Class Reference

nvsg::TriangleFilter

TriangleFilter Class Reference

ScaleFilter functor providing triangle filter functionality. More...

#include <TextureHost.h>

Inheritance diagram for TriangleFilter:

[legend]
Collaboration diagram for TriangleFilter:

[legend]
List of all members.

Public Member Functions

NVSG_API float | getSupportWidth (void) const
Get the support width of the TriangleFilter.
NVSG_API float | operator() (float t) const
Weight calculation operator.

Detailed Description

ScaleFilter functor providing triangle filter functionality.

A TriangleFilter has a support width of 1.0. For distances t between source and destination texel of up to 1.0, the weight is ( 1.0 - t ), otherwise 0.0.

Member Function Documentation

float getSupportWidth ( void ) const [inline, virtual]

Get the support width of the TriangleFilter.

Returns:
the support width of the TriangleFilter is 1.0.

Implements ScaleFilter.

float operator() ( float t ) const [inline, virtual]

Weight calculation operator.

Returns:
( 1.0 - t ), if t is less than or equal to 1.0, otherwise 0.0.

Implements ScaleFilter.

The documentation for this class was generated from the following file:
  • TextureHost.h
Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: Member List

TriangleFilter Member List

This is the complete list of members for TriangleFilter, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
getSupportWidth(void) const | TriangleFilter | [inline, virtual]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator()(float t) const | TriangleFilter | [inline, virtual]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
theAllocator typedef | IAllocator |
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]

Generated on Fri Jul 13 13:30:30 2012 for SceniX


SceniX: Triangles Class Reference

nvsg::Triangles

Triangles Class Reference

IndependentPrimitiveSet for triangles. More...

#include <Triangles.h>

Inheritance diagram for Triangles:

[legend]
Collaboration diagram for Triangles:

[legend]
List of all members.

Public Member Functions

NVSG_API bool | hasFaces () const
Query if this Triangles has faces.
NVSG_API unsigned int | getNumberOfFaces () const
Get the number of triangular faces.
NVSG_API const Face3 * | getFaces () const
Get a pointer to the faces.
NVSG_API void | setFaces (const Face3 *faces, unsigned int numFaces)
Set the faces of this Triangles.
NVSG_API void | setFaces (unsigned int pos, const Face3 *faces, unsigned int numFaces)
Set a subset of faces of this Triangles.
NVSG_API Triangles & | operator= (const Triangles &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, Triangles)

Static Public Member Functions

static NVSG_API TrianglesSharedPtr | create ()

Protected Member Functions

NVSG_API | Triangles ()
Default-constructs a Triangles.
NVSG_API | Triangles (const Triangles &rhs)
Constructs a Triangles as a copy from another Triangles.
virtual NVSG_API | ~Triangles ()
Destructs a Triangles.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for Triangles.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for Triangles.

Detailed Description

IndependentPrimitiveSet for triangles.

Namespace: nvsg
Remarks:
A Triangles is an IndependentPrimitiveSet that holds an array of index-triples. Each of these triples describe a triangle with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, Points, Lines, Quads

Constructor & Destructor Documentation

NVSG_API Triangles ( ) [protected]

Default-constructs a Triangles.

NVSG_API Triangles ( const Triangles & rhs ) [protected]

Constructs a Triangles as a copy from another Triangles.

virtual NVSG_API ~Triangles ( ) [protected, virtual]

Destructs a Triangles.

Member Function Documentation

bool hasFaces ( ) const [inline]

Query if this Triangles has faces.

Returns:
true, if this Triangles has at least three indices, otherwise false.
Remarks:
Each triple of successive indices represent one triangular face.
See also:
getNumberOfFaces, getFaces, setFaces

unsigned int getNumberOfFaces ( ) const [inline]

Get the number of triangular faces.

Returns:
The number of indices of this Triangles divided by three.
Remarks:
Each triple of successive indices represent one triangular face.
See also:
hasFaces, getFaces, setFaces

const Face3 * getFaces ( ) const [inline]

Get a pointer to the faces.

Returns:
A pointer to the constant indices of this IndependentPrimitiveSet.
Remarks:
Each triple of successive indices represent one triangular face.
See also:
hasFaces, getNumberOfFaces, setFaces

void setFaces | ( | const Face3 * | faces,
 |  | unsigned int | numFaces
 | ) | [inline]

Set the faces of this Triangles.

Parameters:
faces | A pointer to the constant faces to use.
numFaces | The number of faces, with three indices per face.
Remarks:
Copies three times numFaces indices from faces into this Triangles by just calling the appropriate setIndices.
Note:
The behavior is undefined if there are less than numFaces values of type nvsg::Face3 located at faces.
See also:
hasFaces, getNumberOfFaces, getFaces

void setFaces | ( | unsigned int | pos,
 |  | const Face3 * | faces,
 |  | unsigned int | numFaces
 | ) | [inline]

Set a subset of faces of this Triangles.

Parameters:
pos | The start position inside the range of pre-existing faces.
faces | A pointer to the constant faces to use.
numFaces | The number of faces.
Remarks:
Copies three times numFaces indices from faces into this Triangles, starting at position three times pos inside the range of pre-existing indices.
Pre-existing indices in the range [3*pos, 3*(pos + numFaces)) will be replaced. Pre-existing indices outside this range remain untouched.
If you specifiy (-1) for pos or pos specifies the number of faces currently stored, the faces pointed to by faces will be appended to the pre-existing faces.
Note:
The behavior is undefined if pos is neither a valid position inside the range of pre-existing faces, nor the number of faces currently stored, nor (-1).

The behaviour is undefined if there are less than numFaces values of type Face3 located at segments.

See also:
hasFaces, getNumberOfFaces, getFaces

NVSG_API Triangles& operator= ( const Triangles & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant Triangles to copy from.
Returns:
A reference to the assigned Triangles.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for Triangles.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for Triangles.

Reimplemented from Drawable.

The documentation for this class was generated from the following file:
  • Triangles.h
Generated on Fri Jul 13 13:30:31 2012 for SceniX


SceniX: Member List

Triangles Member List

This is the complete list of members for Triangles, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | IndependentPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | IndependentPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | Triangles | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | Triangles | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in Triangles) | Triangles | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | IndependentPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | IndependentPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getFaces() const | Triangles | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getIndices() const | IndependentPrimitiveSet | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Triangles | [inline]
getNumberOfIndices() const | IndependentPrimitiveSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasFaces() const | Triangles | [inline]
hasIndices() const | IndependentPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
IndependentPrimitiveSet() | IndependentPrimitiveSet | [protected]
IndependentPrimitiveSet(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
isDataShared() const | IndependentPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | IndependentPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const Triangles &rhs) | Triangles |
nvsg::IndependentPrimitiveSet::operator=(const IndependentPrimitiveSet &rhs) | IndependentPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, Triangles) (defined in Triangles) | Triangles |
REFLECTION_INFO_API(NVSG_API, IndependentPrimitiveSet) (defined in IndependentPrimitiveSet) | IndependentPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setFaces(const Face3 *faces, unsigned int numFaces) | Triangles | [inline]
setFaces(unsigned int pos, const Face3 *faces, unsigned int numFaces) | Triangles | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndices(const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setIndices(unsigned int pos, const unsigned int *indices, unsigned int numIndices) | IndependentPrimitiveSet |
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
Triangles() | Triangles | [protected]
Triangles(const Triangles &rhs) | Triangles | [protected]
~Drawable(void) | Drawable | [virtual]
~IndependentPrimitiveSet() | IndependentPrimitiveSet | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~Triangles() | Triangles | [protected, virtual]

Generated on Fri Jul 13 13:30:31 2012 for SceniX


SceniX: TriangulateTraverser Class Reference

nvtraverser::TriangulateTraverser

TriangulateTraverser Class Reference

Traverser that converts all flavors of quads to triangles. More...

#include <TriangulateTraverser.h>

Inheritance diagram for TriangulateTraverser:

[legend]
Collaboration diagram for TriangulateTraverser:

[legend]
List of all members.

Public Member Functions

NVSG_API | TriangulateTraverser (void)
Constructor.

Protected Member Functions

virtual NVSG_API | ~TriangulateTraverser (void)
Protected destructor to prevent instantiation of a StrippingTraverser.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *p)
Handle a GeoNode object.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *p)
Handle a Primitive object.
virtual NVSG_API void | handleQuads (nvsg::Quads *p)
Handle a Quads object.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *p)
Handle a QuadStrips object.
virtual NVSG_API bool | optimizationAllowed (const nvsg::Object *p)
Test whether this Object should be optimized.

Detailed Description

Traverser that converts all flavors of quads to triangles.

Converts Quads to Triangles, and QuadStrips to TriangleStrips.

Constructor & Destructor Documentation

NVSG_API TriangulateTraverser ( void )

Constructor.

virtual NVSG_API ~TriangulateTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a StrippingTraverser.

Member Function Documentation

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * p ) [protected, virtual]

Handle a GeoNode object.

The GeoNode is the primary object for quads-to-triangles conversion.

Parameters:
p GeoNode to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * p ) [protected, virtual]

Handle a Primitive object.

Changes all Primitives of type PRIMITIVE_QUADS or PRIMITIVE_QUAD_STRIP to PRIMITIVE_TRIANGLES and PRIMITIVE_TRIANGLE_STRIP, respectively.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * p ) [protected, virtual]

Handle a Quads object.

Replaces a Quads object by a Triangles object.

Parameters:
p Quads to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * p ) [protected, virtual]

Handle a QuadStrips object.

Replaces a QuadStrips object by a TrianglesStrips object.

Parameters:
p QuadStrips to handle

Reimplemented from ExclusiveTraverser.

virtual NVSG_API bool optimizationAllowed ( const nvsg::Object * p ) [protected, virtual]

Test whether this Object should be optimized.

Parameters:
p A pointer to the constant nvsg::Object to test.

The documentation for this class was generated from the following file:
  • TriangulateTraverser.h
Generated on Fri Jul 13 13:31:19 2012 for SceniX


SceniX: Member List

TriangulateTraverser Member List

This is the complete list of members for TriangulateTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | ExclusiveTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | ExclusiveTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | ExclusiveTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *p) | TriangulateTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | ExclusiveTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | ExclusiveTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *p) | TriangulateTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *p) | TriangulateTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *p) | TriangulateTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | ExclusiveTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *trafo) | ExclusiveTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *p) | TriangulateTraverser | [protected, virtual]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
TriangulateTraverser(void) | TriangulateTraverser |
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]
~TriangulateTraverser(void) | TriangulateTraverser | [protected, virtual]

Generated on Fri Jul 13 13:31:19 2012 for SceniX


SceniX: TriFans Class Reference

nvsg::TriFans

TriFans Class Reference

StrippedPrimitiveSet for quad strips. More...

#include <TriFans.h>

Inheritance diagram for TriFans:

[legend]
Collaboration diagram for TriFans:

[legend]
List of all members.

Public Member Functions

NVSG_API TriFans & | operator= (const TriFans &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, TriFans)

Static Public Member Functions

static NVSG_API TriFansSharedPtr | create ()

Protected Member Functions

NVSG_API | TriFans ()
Default-constructs a TriFans.
NVSG_API | TriFans (const TriFans &rhs)
Constructs a TriFans as a copy from another TriFans.
virtual NVSG_API | ~TriFans ()
Destructs a TriFans.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for TriFans.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for TriFans.

Detailed Description

StrippedPrimitiveSet for quad strips.

Namespace: nvsg
Remarks:
A TriFans is a StrippedPrimitiveSet that represents the vertex attributes of the StrippedPrimitiveSet as triangle fans.
The number of vertices per IndexList must be at least 3 for anything to be drawn.
See also:
LineStrips, StrippedPrimitiveSet, TriStrips

Constructor & Destructor Documentation

NVSG_API TriFans ( ) [protected]

Default-constructs a TriFans.

NVSG_API TriFans ( const TriFans & rhs ) [explicit, protected]

Constructs a TriFans as a copy from another TriFans.

virtual NVSG_API ~TriFans ( ) [protected, virtual]

Destructs a TriFans.

Member Function Documentation

NVSG_API TriFans& operator= ( const TriFans & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant TriFans to copy from.
Returns:
A reference to the assigned TriFans.
Remarks:
The assignment operator calls the assignment operator of StrippedPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for TriFans.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for TriFans.

Reimplemented from Drawable.

The documentation for this class was generated from the following file:
  • TriFans.h
Generated on Fri Jul 13 13:30:32 2012 for SceniX


SceniX: Member List

TriFans Member List

This is the complete list of members for TriFans, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | StrippedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | StrippedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | TriFans | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | TriFans | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in TriFans) | TriFans | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StrippedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | StrippedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfStrips(void) const | StrippedPrimitiveSet | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getStrips() const | StrippedPrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasStrips(void) const | StrippedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared(void) const | StrippedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StrippedPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const TriFans &rhs) | TriFans |
nvsg::StrippedPrimitiveSet::operator=(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, TriFans) (defined in TriFans) | TriFans |
REFLECTION_INFO_API(NVSG_API, StrippedPrimitiveSet) (defined in StrippedPrimitiveSet) | StrippedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setStrips(const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setStrips(unsigned int pos, const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [protected]
StrippedPrimitiveSet(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
TriFans() | TriFans | [protected]
TriFans(const TriFans &rhs) | TriFans | [explicit, protected]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [virtual]
~TriFans() | TriFans | [protected, virtual]

Generated on Fri Jul 13 13:30:32 2012 for SceniX


SceniX: TriPatches Class Reference

nvsg::TriPatches

TriPatches Class Reference

IndependentPrimitiveSet for triangular patches. More...

#include <TriPatches.h>

Inheritance diagram for TriPatches:

[legend]
Collaboration diagram for TriPatches:

[legend]
List of all members.

Public Member Functions

NVSG_API void | setSize (unsigned int size)
Set the size of the triangular patches.
NVSG_API unsigned int | getSize () const
Get the size of the triangular patches.
NVSG_API TriPatches & | operator= (const TriPatches &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, TriPatches)

Static Public Member Functions

static NVSG_API TriPatchesSharedPtr | create ()

Protected Member Functions

NVSG_API | TriPatches ()
Default-constructs a TriPatches.
NVSG_API | TriPatches (const TriPatches &rhs)
Constructs a TriPatches as a copy from another TriPatches.
virtual NVSG_API | ~TriPatches ()
Destructs a TriPatches.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for TriPatches.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for TriPatches.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

IndependentPrimitiveSet for triangular patches.

Namespace: nvsg
Remarks:
A TriPatches is an IndependentPrimitiveSet that holds an array of index-tuples of size (size * ( size + 1 ))/2. Each of these tuples describe a triangular patch with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, PatchesBase, Patches

Constructor & Destructor Documentation

NVSG_API TriPatches ( ) [protected]

Default-constructs a TriPatches.

NVSG_API TriPatches ( const TriPatches & rhs ) [protected]

Constructs a TriPatches as a copy from another TriPatches.

virtual NVSG_API ~TriPatches ( ) [protected, virtual]

Destructs a TriPatches.

Member Function Documentation

void setSize ( unsigned int size ) [inline]

Set the size of the triangular patches.

Parameters:
size The number of vertices along an edge of the triangular patches.
Remarks:
The number of vertices per patch equals (size * (size + 1))/2. Each such consecutive set of indices is treated as one patch.
See also:
getSize, getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

unsigned int getSize ( ) const [inline]

Get the size of the triangular patches.

Returns:
The number of vertices along an edge of the triangular patches.
Remarks:
The number of vertices per patch equals (size * (size + 1))/2. Each such consecutive set of indices is treated as one patch.
See also:
setSize, getNumberOfVerticesPerPatch, hasPatches, getNumberOfPatches

NVSG_API TriPatches& operator= ( const TriPatches & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant TriPatches to copy from.
Returns:
A reference to the assigned TriPatches.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for TriPatches.

Reimplemented from Primitive.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for TriPatches.

Reimplemented from Primitive.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from PatchesBase.

The documentation for this class was generated from the following file:
  • TriPatches.h
Generated on Fri Jul 13 13:30:32 2012 for SceniX


SceniX: TriPatches4 Class Reference

nvsg::TriPatches4

TriPatches4 Class Reference

IndependentPrimitiveSet for triangular patches with four vertices per side. More...

#include <TriPatches4.h>

Inheritance diagram for TriPatches4:

[legend]
Collaboration diagram for TriPatches4:

[legend]
List of all members.

Public Member Functions

NVSG_API TriPatches4 & | operator= (const TriPatches4 &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, TriPatches4)

Static Public Member Functions

static NVSG_API TriPatches4SharedPtr | create ()

Protected Member Functions

NVSG_API | TriPatches4 ()
Default-constructs a TriPatches4.
NVSG_API | TriPatches4 (const TriPatches4 &rhs)
Constructs a TriPatches4 as a copy from another TriPatches4.
virtual NVSG_API | ~TriPatches4 ()
Destructs a TriPatches4.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for TriPatches4.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for TriPatches4.

Detailed Description

IndependentPrimitiveSet for triangular patches with four vertices per side.

Namespace: nvsg
Remarks:
A TriPatches4 is an IndependentPrimitiveSet that holds an array of index-tuples of size 10. They form a triangle with 4 vertices on each side, and one inner vertex. Each of these tuples describe a triangular patch with the indices pointing in the array of vertices. All vertex attributes (like normal, texture,...) are indexed with the same index.
See also:
IndependentPrimitiveSet, PatchesBase, Patches

Constructor & Destructor Documentation

NVSG_API TriPatches4 ( ) [protected]

Default-constructs a TriPatches4.

NVSG_API TriPatches4 ( const TriPatches4 & rhs ) [protected]

Constructs a TriPatches4 as a copy from another TriPatches4.

virtual NVSG_API ~TriPatches4 ( ) [protected, virtual]

Destructs a TriPatches4.

Member Function Documentation

NVSG_API TriPatches4& operator= ( const TriPatches4 & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant TriPatches4 to copy from.
Returns:
A reference to the assigned TriPatches4.
Remarks:
The assignment operator calls the assignment operator of IndependentPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for TriPatches4.

Reimplemented from Primitive.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for TriPatches4.

Reimplemented from Primitive.

The documentation for this class was generated from the following file:
  • TriPatches4.h
Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: Member List

TriPatches4 Member List

This is the complete list of members for TriPatches4, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | TriPatches4 | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | TriPatches4 | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in TriPatches4) | TriPatches4 | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | PatchesBase | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | PatchesBase | [inline, virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPatches() const | PatchesBase | [inline]
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasPatches() const | PatchesBase | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PatchesBase | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const TriPatches4 &rhs) | TriPatches4 |
nvsg::PatchesBase::operator=(const PatchesBase &rhs) | PatchesBase | [protected]
nvsg::Primitive::operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PatchesBase() | PatchesBase | [protected]
PatchesBase(const PatchesBase &rhs) | PatchesBase | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, TriPatches4) (defined in TriPatches4) | TriPatches4 |
REFLECTION_INFO_API(NVSG_API, PatchesBase) (defined in PatchesBase) | PatchesBase |
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int verticesPerPatch) | PatchesBase | [inline, protected]
setPrimitiveType(PrimitiveType t) | Primitive |
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
TriPatches4() | TriPatches4 | [protected]
TriPatches4(const TriPatches4 &rhs) | TriPatches4 | [protected]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PatchesBase() | PatchesBase | [virtual]
~Primitive() | Primitive | [protected, virtual]
~TriPatches4() | TriPatches4 | [protected, virtual]

Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: TriStrips Class Reference

nvsg::TriStrips

TriStrips Class Reference

StrippedPrimitiveSet for triangle strips. More...

#include <TriStrips.h>

Inheritance diagram for TriStrips:

[legend]
Collaboration diagram for TriStrips:

[legend]
List of all members.

Public Member Functions

NVSG_API TriStrips & | operator= (const TriStrips &rhs)
Assignment operator.
REFLECTION_INFO_API (NVSG_API, TriStrips)

Static Public Member Functions

static NVSG_API TriStripsSharedPtr | create ()

Protected Member Functions

NVSG_API | TriStrips ()
Default-constructs a TriStrips.
NVSG_API | TriStrips (const TriStrips &rhs)
Constructs a TriStrips as a copy from another TriStrips.
virtual NVSG_API | ~TriStrips ()
Destructs a TriStrips.
virtual NVSG_API bool | calculateNormals (bool overwrite)
Override to specialize normals calculation for TriStrips.
virtual NVSG_API void | calculateTangentSpace (unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite)
Override to specialize tangent space calculation for TriStrips.

Detailed Description

StrippedPrimitiveSet for triangle strips.

Namespace: nvsg
Remarks:
A TriStrips is a StrippedPrimitiveSet that represents the vertex attributes of the StrippedPrimitiveSet as triangle strips.
If you have, for example, an array of eight vertices in the StrippedPrimitiveSet, one possibility to make them a cube is, to define three IndexList elements like that:
    set[0] = { 0, 1, 2, 3, 4, 5, 6, 7, 0, 1 };
    set[1] = { 1, 7, 3, 5 };
    set[2] = { 6, 0, 4, 2 };
The ordering ensures that the triangles are all drawn with the same orientation so that the triangle strip correctly form part of a surface. Preserving the orientation is important for some operations, such as culling.
The number of vertices per IndexList must be at least 3 for anything to be drawn.
See also:
LineStrips, StrippedPrimitiveSet, TriangleStrips

Constructor & Destructor Documentation

NVSG_API TriStrips ( ) [protected]

Default-constructs a TriStrips.

NVSG_API TriStrips ( const TriStrips & rhs ) [explicit, protected]

Constructs a TriStrips as a copy from another TriStrips.

virtual NVSG_API ~TriStrips ( ) [protected, virtual]

Destructs a TriStrips.

Member Function Documentation

NVSG_API TriStrips& operator= ( const TriStrips & rhs )

Assignment operator.

Parameters:
rhs A reference to the constant TriStrips to copy from.
Returns:
A reference to the assigned TriStrips.
Remarks:
The assignment operator calls the assignment operator of StrippedPrimitiveSet.

virtual NVSG_API bool calculateNormals ( bool overwrite ) [protected, virtual]

Override to specialize normals calculation for TriStrips.

Reimplemented from Drawable.

virtual NVSG_API void calculateTangentSpace | ( | unsigned int | texcoords,
 |  | unsigned int | tangents,
 |  | unsigned int | binormals,
 |  | bool | overwrite
 | ) | [protected, virtual]

Override to specialize tangent space calculation for TriStrips.

Reimplemented from Drawable.

The documentation for this class was generated from the following file:
  • TriStrips.h
Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: Member List

TriStrips Member List

This is the complete list of members for TriStrips, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | StrippedPrimitiveSet | [protected, virtual]
calculateBoundingSphere() const | StrippedPrimitiveSet | [protected, virtual]
calculateNormals(bool overwrite) | TriStrips | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | TriStrips | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | PrimitiveSet | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in TriStrips) | TriStrips | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | StrippedPrimitiveSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | StrippedPrimitiveSet | [virtual]
getDrawCallback() const | Drawable | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfStrips(void) const | StrippedPrimitiveSet | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSkin() const | PrimitiveSet | [inline]
getStrips() const | StrippedPrimitiveSet | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | PrimitiveSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasStrips(void) const | StrippedPrimitiveSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared(void) const | StrippedPrimitiveSet | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | StrippedPrimitiveSet | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const TriStrips &rhs) | TriStrips |
nvsg::StrippedPrimitiveSet::operator=(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
nvsg::PrimitiveSet::operator=(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
PrimitiveSet() | PrimitiveSet | [protected]
PrimitiveSet(const PrimitiveSet &rhs) | PrimitiveSet | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, TriStrips) (defined in TriStrips) | TriStrips |
REFLECTION_INFO_API(NVSG_API, StrippedPrimitiveSet) (defined in StrippedPrimitiveSet) | StrippedPrimitiveSet |
REFLECTION_INFO_API(NVSG_API, PrimitiveSet) (defined in PrimitiveSet) | PrimitiveSet |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setSkin(const SkinSharedPtr &skin) | PrimitiveSet |
setStrips(const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setStrips(unsigned int pos, const IndexList *strips, unsigned int numStrips) | StrippedPrimitiveSet |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &svash) | PrimitiveSet |
StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [protected]
StrippedPrimitiveSet(const StrippedPrimitiveSet &rhs) | StrippedPrimitiveSet | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in PrimitiveSet) | PrimitiveSet | [protected, virtual]
TriStrips() | TriStrips | [protected]
TriStrips(const TriStrips &rhs) | TriStrips | [explicit, protected]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PrimitiveSet() | PrimitiveSet | [virtual]
~StrippedPrimitiveSet(void) | StrippedPrimitiveSet | [virtual]
~TriStrips() | TriStrips | [protected, virtual]

Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: tweak_t Struct Reference

tweak_t Struct Reference

The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file. More...

#include <NBF.h>

Collaboration diagram for tweak_t:

[legend]
List of all members.

Public Types

enum {
TYPE_STRUCT = BIT0, TYPE_ARRAY = BIT1, TYPE_FLOAT = BIT2, TYPE_INT = BIT3,
TYPE_BOOL = BIT4, TYPE_STRING = BIT5
}

Public Attributes

str_t name
Specifies the tweakable's name as it appears in the effect source.
uint_t type
Specifies the type of the tweakable (array, float,...).
uint_t numValues
Specifies the number of values stored. For a float4-typed parameter, for example, this is 4.
uint_t numTweaks
In case of an array parameter this specifies the array size. In case of a struct parameter this specifies the number of members.
uint_t tweaks
Specifies the file offset to either the array elements or struct members.
uint_t floats
Specifies the file offset to a non-string value. Note that this offset is not a valid offset for string types! Non-string values internally always are stored in terms of floats.
str_t str
Specifies the string value in case of a string parameter.

Detailed Description

The tweak_t structure specifies how a tweakable parameter is stored in a .NBF file.

Tweakables need to be considered in conjunction with NBFCgFx objects.

Member Data Documentation

str_t name

Specifies the tweakable's name as it appears in the effect source.

uint_t type

Specifies the type of the tweakable (array, float,...).

uint_t numValues

Specifies the number of values stored. For a float4-typed parameter, for example, this is 4.

uint_t floats

Specifies the file offset to a non-string value. Note that this offset is not a valid offset for string types! Non-string values internally always are stored in terms of floats.

str_t str

Specifies the string value in case of a string parameter.

uint_t numTweaks

In case of an array parameter this specifies the array size. In case of a struct parameter this specifies the number of members.

uint_t tweaks

Specifies the file offset to either the array elements or struct members.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

tweak_t Member List

This is the complete list of members for tweak_t, including all inherited members.

floats | tweak_t
name | tweak_t
numTweaks | tweak_t
numValues | tweak_t
str | tweak_t
tweaks | tweak_t
type | tweak_t
TYPE_ARRAY enum value (defined in tweak_t) | tweak_t
TYPE_BOOL enum value (defined in tweak_t) | tweak_t
TYPE_FLOAT enum value (defined in tweak_t) | tweak_t
TYPE_INT enum value (defined in tweak_t) | tweak_t
TYPE_STRING enum value (defined in tweak_t) | tweak_t
TYPE_STRUCT enum value (defined in tweak_t) | tweak_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Type2EnumType Struct Template Reference

nvsg::Type2EnumType

Type2EnumType Struct Template Reference

Converts a given type into a symbolic constant representing a SceniX type. More...

#include <Types.h>

List of all members.

Public Types

enum { type = NVSG_UNSUPPORTED_TYPE }

Detailed Description

template<typename T>
struct nvsg::Type2EnumType< T >

Converts a given type into a symbolic constant representing a SceniX type.

The documentation for this struct was generated from the following file:
  • Types.h
Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Type2EnumType Member List

This is the complete list of members for Type2EnumType, including all inherited members.

type enum value (defined in Type2EnumType) Type2EnumType

Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: TypedProperty Class Template Reference

nvutil::TypedProperty

TypedProperty Class Template Reference

This is the templated baseclass for all properties of a given type<T>. All properties must derive from this class. More...

#include <Reflection.h>

Inheritance diagram for TypedProperty:

[legend]
Collaboration diagram for TypedProperty:

[legend]
List of all members.

Public Member Functions

virtual void | getValue (const Reflection *owner, T &value) const =0
Retrieve the value of a property.
virtual void | setValue (Reflection *owner, const T &value)=0
Set the value of a property.
virtual Type | getType () const
Returns the type of the Property.

Detailed Description

template<typename T>
class nvutil::TypedProperty< T >

This is the templated baseclass for all properties of a given type<T>. All properties must derive from this class.

Member Function Documentation

virtual void getValue | ( | const Reflection * | owner,
 |  | T & | value
 | ) | const [pure virtual]

Retrieve the value of a property.

Parameters:
owner | Object to retrieve the property value from
value | The property value will the stored in this variable

Implemented in TypedPropertyImpl, TypedPropertyValue, and TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >.

virtual void setValue | ( | Reflection * | owner,
 |  | const T & | value
 | ) | [pure virtual]

Set the value of a property.

Parameters:
owner | Object which will receive the new property value
value | The new property value which should be set

Implemented in TypedPropertyImpl, TypedPropertyValue, and TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >.

virtual Type getType ( ) const [inline, virtual]

Returns the type of the Property.

Implements Property.

Reimplemented in TypedPropertyValue.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

TypedProperty Member List

This is the complete list of members for TypedProperty, including all inherited members.

addRef()=0 | Property | [pure virtual]
clone() const | Property | [inline, virtual]
destroy()=0 | Property | [pure virtual]
getAnnotation() const =0 | Property | [pure virtual]
getSemantic() const =0 | Property | [pure virtual]
getType() const | TypedProperty | [inline, virtual]
getValue(const Reflection *owner, T &value) const =0 | TypedProperty | [pure virtual]
Semantic enum name | Property |
SEMANTIC_COLOR enum value | Property |
SEMANTIC_DIMENSION enum value | Property |
SEMANTIC_DIRECTION enum value | Property |
SEMANTIC_OBJECT enum value | Property |
SEMANTIC_ORIENTATION enum value | Property |
SEMANTIC_POSITION enum value | Property |
SEMANTIC_SCALING enum value | Property |
SEMANTIC_VALUE enum value | Property |
setValue(Reflection *owner, const T &value)=0 | TypedProperty | [pure virtual]
Type enum name | Property |
TYPE_BOOLEAN enum value (defined in Property) | Property |
TYPE_BOX2_FLOAT enum value (defined in Property) | Property |
TYPE_BOX3_FLOAT enum value (defined in Property) | Property |
TYPE_BOX4_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT2 enum value (defined in Property) | Property |
TYPE_FLOAT3 enum value (defined in Property) | Property |
TYPE_FLOAT4 enum value (defined in Property) | Property |
TYPE_INT enum value (defined in Property) | Property |
TYPE_INT2 enum value (defined in Property) | Property |
TYPE_INT3 enum value (defined in Property) | Property |
TYPE_INT4 enum value (defined in Property) | Property |
TYPE_MATRIX33_FLOAT enum value (defined in Property) | Property |
TYPE_MATRIX44_FLOAT enum value (defined in Property) | Property |
TYPE_OBJECT enum value | Property |
TYPE_QUATERNION_FLOAT enum value (defined in Property) | Property |
TYPE_RENDERTARGET enum value (defined in Property) | Property |
TYPE_SCENE enum value (defined in Property) | Property |
TYPE_SET_UINT enum value | Property |
TYPE_STRING enum value | Property |
TYPE_TRANSFORMATION enum value (defined in Property) | Property |
TYPE_UINT enum value (defined in Property) | Property |
TYPE_UINT2 enum value (defined in Property) | Property |
TYPE_UINT3 enum value (defined in Property) | Property |
TYPE_UINT4 enum value (defined in Property) | Property |
TYPE_UNKNOWN enum value (defined in Property) | Property |
TYPE_VERTEX_ATTRIBUTE enum value (defined in Property) | Property |
TYPE_VIEWSTATE enum value (defined in Property) | Property |
~Property() (defined in Property) | Property | [inline, virtual]
~TypedProperty() (defined in TypedProperty) | TypedProperty | [inline, virtual]

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypedPropertyEnum< bool > Struct Template Reference

nvutil::TypedPropertyEnum< bool >

TypedPropertyEnum< bool > Struct Template Reference

Specialization of the TypedPropertyEnum template for type bool. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_BOOLEAN }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< bool >

Specialization of the TypedPropertyEnum template for type bool.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< bool > Member List

This is the complete list of members for TypedPropertyEnum< bool >, including all inherited members.

type enum value (defined in TypedPropertyEnum< bool >) TypedPropertyEnum< bool >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypedPropertyEnum< float > Struct Template Reference

nvutil::TypedPropertyEnum< float >

TypedPropertyEnum< float > Struct Template Reference

Specialization of the TypedPropertyEnum template for type float. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_FLOAT }

Detailed Description

template<typename T>
struct nvutil::TypedPropertyEnum< float >

Specialization of the TypedPropertyEnum template for type float.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< float > Member List

This is the complete list of members for TypedPropertyEnum< float >, including all inherited members.

type enum value (defined in TypedPropertyEnum< float >) TypedPropertyEnum< float >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypedPropertyEnum< int > Struct Template Reference

nvutil::TypedPropertyEnum< int >

TypedPropertyEnum< int > Struct Template Reference

Specialization of the TypedPropertyEnum template for type int. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_INT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< int >

Specialization of the TypedPropertyEnum template for type int.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< int > Member List

This is the complete list of members for TypedPropertyEnum< int >, including all inherited members.

type enum value (defined in TypedPropertyEnum< int >) TypedPropertyEnum< int >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Box2f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Box2f >

TypedPropertyEnum< nvmath::Box2f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Box2f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_BOX2_FLOAT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Box2f >

Specialization of the TypedPropertyEnum template for type nvmath::Box2f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Box2f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Box2f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Box2f >) TypedPropertyEnum< nvmath::Box2f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Box3f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Box3f >

TypedPropertyEnum< nvmath::Box3f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Box3f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_BOX3_FLOAT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Box3f >

Specialization of the TypedPropertyEnum template for type nvmath::Box3f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Box3f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Box3f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Box3f >) TypedPropertyEnum< nvmath::Box3f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Box4f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Box4f >

TypedPropertyEnum< nvmath::Box4f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Box4f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_BOX4_FLOAT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Box4f >

Specialization of the TypedPropertyEnum template for type nvmath::Box4f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Box4f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Box4f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Box4f >) TypedPropertyEnum< nvmath::Box4f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Mat33f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Mat33f >

TypedPropertyEnum< nvmath::Mat33f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Mat33f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_MATRIX33_FLOAT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Mat33f >

Specialization of the TypedPropertyEnum template for type nvmath::Mat33f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Mat33f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Mat33f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Mat33f >) TypedPropertyEnum< nvmath::Mat33f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Mat44f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Mat44f >

TypedPropertyEnum< nvmath::Mat44f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Mat44f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_MATRIX44_FLOAT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Mat44f >

Specialization of the TypedPropertyEnum template for type nvmath::Mat44f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Mat44f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Mat44f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Mat44f >) TypedPropertyEnum< nvmath::Mat44f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Quatf > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Quatf >

TypedPropertyEnum< nvmath::Quatf > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Quatf. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_QUATERNION_FLOAT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Quatf >

Specialization of the TypedPropertyEnum template for type nvmath::Quatf.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Quatf > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Quatf >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Quatf >) TypedPropertyEnum< nvmath::Quatf >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Trafo > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Trafo >

TypedPropertyEnum< nvmath::Trafo > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Trafo. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_TRANSFORMATION }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Trafo >

Specialization of the TypedPropertyEnum template for type nvmath::Trafo.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Trafo > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Trafo >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Trafo >) TypedPropertyEnum< nvmath::Trafo >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec2f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec2f >

TypedPropertyEnum< nvmath::Vec2f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec2f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_FLOAT2 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec2f >

Specialization of the TypedPropertyEnum template for type nvmath::Vec2f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec2f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec2f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec2f >) TypedPropertyEnum< nvmath::Vec2f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec2i > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec2i >

TypedPropertyEnum< nvmath::Vec2i > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec2i. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_INT2 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec2i >

Specialization of the TypedPropertyEnum template for type nvmath::Vec2i.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec2i > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec2i >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec2i >) TypedPropertyEnum< nvmath::Vec2i >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec2ui > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec2ui >

TypedPropertyEnum< nvmath::Vec2ui > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec2ui. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_UINT2 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec2ui >

Specialization of the TypedPropertyEnum template for type nvmath::Vec2ui.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec2ui > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec2ui >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec2ui >) TypedPropertyEnum< nvmath::Vec2ui >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec3f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec3f >

TypedPropertyEnum< nvmath::Vec3f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec3f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_FLOAT3 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec3f >

Specialization of the TypedPropertyEnum template for type nvmath::Vec3f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec3f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec3f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec3f >) TypedPropertyEnum< nvmath::Vec3f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec3i > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec3i >

TypedPropertyEnum< nvmath::Vec3i > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec3i. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_INT3 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec3i >

Specialization of the TypedPropertyEnum template for type nvmath::Vec3i.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec3i > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec3i >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec3i >) TypedPropertyEnum< nvmath::Vec3i >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec3ui > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec3ui >

TypedPropertyEnum< nvmath::Vec3ui > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec3ui. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_UINT3 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec3ui >

Specialization of the TypedPropertyEnum template for type nvmath::Vec3ui.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec3ui > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec3ui >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec3ui >) TypedPropertyEnum< nvmath::Vec3ui >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec4f > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec4f >

TypedPropertyEnum< nvmath::Vec4f > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec4f. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_FLOAT4 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec4f >

Specialization of the TypedPropertyEnum template for type nvmath::Vec4f.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec4f > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec4f >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec4f >) TypedPropertyEnum< nvmath::Vec4f >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec4i > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec4i >

TypedPropertyEnum< nvmath::Vec4i > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec4i. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_INT4 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec4i >

Specialization of the TypedPropertyEnum template for type nvmath::Vec4i.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec4i > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec4i >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec4i >) TypedPropertyEnum< nvmath::Vec4i >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvmath::Vec4ui > Struct Template Reference

nvutil::TypedPropertyEnum< nvmath::Vec4ui >

TypedPropertyEnum< nvmath::Vec4ui > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvmath::Vec4ui. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_UINT4 }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvmath::Vec4ui >

Specialization of the TypedPropertyEnum template for type nvmath::Vec4ui.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvmath::Vec4ui > Member List

This is the complete list of members for TypedPropertyEnum< nvmath::Vec4ui >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvmath::Vec4ui >) TypedPropertyEnum< nvmath::Vec4ui >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvsg::SceneSharedPtr > Struct Template Reference

nvutil::TypedPropertyEnum< nvsg::SceneSharedPtr >

TypedPropertyEnum< nvsg::SceneSharedPtr > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvsg::SceneSharedPtr. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_SCENE }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvsg::SceneSharedPtr >

Specialization of the TypedPropertyEnum template for type nvsg::SceneSharedPtr.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvsg::SceneSharedPtr > Member List

This is the complete list of members for TypedPropertyEnum< nvsg::SceneSharedPtr >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvsg::SceneSharedPtr >) TypedPropertyEnum< nvsg::SceneSharedPtr >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvsg::VertexAttribute > Struct Template Reference

nvutil::TypedPropertyEnum< nvsg::VertexAttribute >

TypedPropertyEnum< nvsg::VertexAttribute > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvsg::VertexAttribute. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_VERTEX_ATTRIBUTE }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvsg::VertexAttribute >

Specialization of the TypedPropertyEnum template for type nvsg::VertexAttribute.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvsg::VertexAttribute > Member List

This is the complete list of members for TypedPropertyEnum< nvsg::VertexAttribute >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvsg::VertexAttribute >) TypedPropertyEnum< nvsg::VertexAttribute >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvsg::ViewStateSharedPtr > Struct Template Reference

nvutil::TypedPropertyEnum< nvsg::ViewStateSharedPtr >

TypedPropertyEnum< nvsg::ViewStateSharedPtr > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvsg::ViewStateSharedPtr. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_VIEWSTATE }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvsg::ViewStateSharedPtr >

Specialization of the TypedPropertyEnum template for type nvsg::ViewStateSharedPtr.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvsg::ViewStateSharedPtr > Member List

This is the complete list of members for TypedPropertyEnum< nvsg::ViewStateSharedPtr >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvsg::ViewStateSharedPtr >) TypedPropertyEnum< nvsg::ViewStateSharedPtr >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< nvui::SmartRenderTarget > Struct Template Reference

nvutil::TypedPropertyEnum< nvui::SmartRenderTarget >

TypedPropertyEnum< nvui::SmartRenderTarget > Struct Template Reference

Specialization of the TypedPropertyEnum template for type nvui::SmartRenderTarget. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_RENDERTARGET }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< nvui::SmartRenderTarget >

Specialization of the TypedPropertyEnum template for type nvui::SmartRenderTarget.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< nvui::SmartRenderTarget > Member List

This is the complete list of members for TypedPropertyEnum< nvui::SmartRenderTarget >, including all inherited members.

type enum value (defined in TypedPropertyEnum< nvui::SmartRenderTarget >) TypedPropertyEnum< nvui::SmartRenderTarget >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< Reflection > Struct Template Reference

nvutil::TypedPropertyEnum< Reflection >

TypedPropertyEnum< Reflection > Struct Template Reference

Specialization of the TypedPropertyEnum template for type Reflection. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_OBJECT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< Reflection >

Specialization of the TypedPropertyEnum template for type Reflection.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< Reflection > Member List

This is the complete list of members for TypedPropertyEnum< Reflection >, including all inherited members.

type enum value (defined in TypedPropertyEnum< Reflection >) TypedPropertyEnum< Reflection >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypedPropertyEnum< std::set< unsigned int > > Struct Template Reference

nvutil::TypedPropertyEnum< std::set< unsigned int > >

TypedPropertyEnum< std::set< unsigned int > > Struct Template Reference

Specialization of the TypedPropertyEnum template for type std::set<unsigned int>. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_SET_UINT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< std::set< unsigned int > >

Specialization of the TypedPropertyEnum template for type std::set<unsigned int>.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< std::set< unsigned int > > Member List

This is the complete list of members for TypedPropertyEnum< std::set< unsigned int > >, including all inherited members.

type enum value (defined in TypedPropertyEnum< std::set< unsigned int > >) TypedPropertyEnum< std::set< unsigned int > >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< std::string > Struct Template Reference

nvutil::TypedPropertyEnum< std::string >

TypedPropertyEnum< std::string > Struct Template Reference

Specialization of the TypedPropertyEnum template for type std::string. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_STRING }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< std::string >

Specialization of the TypedPropertyEnum template for type std::string.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< std::string > Member List

This is the complete list of members for TypedPropertyEnum< std::string >, including all inherited members.

type enum value (defined in TypedPropertyEnum< std::string >) TypedPropertyEnum< std::string >

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: TypedPropertyEnum< unsigned int > Struct Template Reference

nvutil::TypedPropertyEnum< unsigned int >

TypedPropertyEnum< unsigned int > Struct Template Reference

Specialization of the TypedPropertyEnum template for type unsigned int. More...

#include <Reflection.h>

List of all members.

Public Types

enum { type = Property::TYPE_UINT }

Detailed Description

template<>
struct nvutil::TypedPropertyEnum< unsigned int >

Specialization of the TypedPropertyEnum template for type unsigned int.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TypedPropertyEnum< unsigned int > Member List

This is the complete list of members for TypedPropertyEnum< unsigned int >, including all inherited members.

type enum value (defined in TypedPropertyEnum< unsigned int >) TypedPropertyEnum< unsigned int >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypedPropertyImpl Class Template Reference

nvutil::TypedPropertyImpl

TypedPropertyImpl Class Template Reference

A delegating property implementation. This class is used for most of the properties. More...

#include <Reflection.h>

Inheritance diagram for TypedPropertyImpl:

[legend]
Collaboration diagram for TypedPropertyImpl:

[legend]
List of all members.

Public Member Functions

virtual void | getValue (const Reflection *owner, ValueType &value) const
Retrieve the value of a property.
virtual void | setValue (Reflection *owner, const ValueType &value)
Set the value of a property.
virtual std::string | getAnnotation () const
Annotations are not supported for this object.
virtual Property::Semantic | getSemantic () const
Returns the semantic of the Property.
virtual void | addRef ()
Increase the refcount of the property.
virtual void | destroy ()
Decrease the refcount and destroy the property if necessary.

Protected Attributes

unsigned int | m_refCount

Detailed Description

template<typename ValueType, typename ObjectType, typename FunctorGet, typename FunctorSet, typename Property::Semantic semantic, bool deleteOnDestroy>
class nvutil::TypedPropertyImpl< ValueType, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >

A delegating property implementation. This class is used for most of the properties.

Parameters:
ValueType | The value type of the Property
ObjectType | The Object class this property belongs to
FunctorGet | A functor class which must support the following interface void operator()(Reflection *owner, const ValueType &value)
FunctorGet | A functor class which must support the following interface void operator()(const Reflection *owner, ValueType &returnValue)
semantic | The semantic of this property. corresponding get/set functions of the given class.

Member Function Documentation

virtual void getValue | ( | const Reflection * | owner,
 |  | ValueType & | value
 | ) | const [inline, virtual]

Retrieve the value of a property.

Parameters:
owner | Object to retrieve the property value from
value | The property value will the stored in this variable

Implements TypedProperty< ValueType >.

virtual void setValue | ( | Reflection * | owner,
 |  | const ValueType & | value
 | ) | [inline, virtual]

Set the value of a property.

Parameters:
owner | Object which will receive the new property value
value | The new property value which should be set

Implements TypedProperty< ValueType >.

virtual std::string getAnnotation ( ) const [inline, virtual]

Annotations are not supported for this object.

Implements Property.

virtual Property::Semantic getSemantic ( ) const [inline, virtual]

Returns the semantic of the Property.

Implements Property.

virtual void addRef ( ) [inline, virtual]

Increase the refcount of the property.

Implements Property.

virtual void destroy ( ) [inline, virtual]

Decrease the refcount and destroy the property if necessary.

Implements Property.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:28 2012 for SceniX


SceniX: Member List

TypedPropertyImpl Member List

This is the complete list of members for TypedPropertyImpl, including all inherited members.

addRef() | TypedPropertyImpl | [inline, virtual]
clone() const | Property | [inline, virtual]
destroy() | TypedPropertyImpl | [inline, virtual]
getAnnotation() const | TypedPropertyImpl | [inline, virtual]
getSemantic() const | TypedPropertyImpl | [inline, virtual]
getType() const | TypedProperty< ValueType > | [inline, virtual]
getValue(const Reflection *owner, ValueType &value) const | TypedPropertyImpl | [inline, virtual]
m_refCount (defined in TypedPropertyImpl) | TypedPropertyImpl | [protected]
Semantic enum name | Property |
SEMANTIC_COLOR enum value | Property |
SEMANTIC_DIMENSION enum value | Property |
SEMANTIC_DIRECTION enum value | Property |
SEMANTIC_OBJECT enum value | Property |
SEMANTIC_ORIENTATION enum value | Property |
SEMANTIC_POSITION enum value | Property |
SEMANTIC_SCALING enum value | Property |
SEMANTIC_VALUE enum value | Property |
setValue(Reflection *owner, const ValueType &value) | TypedPropertyImpl | [inline, virtual]
Type enum name | Property |
TYPE_BOOLEAN enum value (defined in Property) | Property |
TYPE_BOX2_FLOAT enum value (defined in Property) | Property |
TYPE_BOX3_FLOAT enum value (defined in Property) | Property |
TYPE_BOX4_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT2 enum value (defined in Property) | Property |
TYPE_FLOAT3 enum value (defined in Property) | Property |
TYPE_FLOAT4 enum value (defined in Property) | Property |
TYPE_INT enum value (defined in Property) | Property |
TYPE_INT2 enum value (defined in Property) | Property |
TYPE_INT3 enum value (defined in Property) | Property |
TYPE_INT4 enum value (defined in Property) | Property |
TYPE_MATRIX33_FLOAT enum value (defined in Property) | Property |
TYPE_MATRIX44_FLOAT enum value (defined in Property) | Property |
TYPE_OBJECT enum value | Property |
TYPE_QUATERNION_FLOAT enum value (defined in Property) | Property |
TYPE_RENDERTARGET enum value (defined in Property) | Property |
TYPE_SCENE enum value (defined in Property) | Property |
TYPE_SET_UINT enum value | Property |
TYPE_STRING enum value | Property |
TYPE_TRANSFORMATION enum value (defined in Property) | Property |
TYPE_UINT enum value (defined in Property) | Property |
TYPE_UINT2 enum value (defined in Property) | Property |
TYPE_UINT3 enum value (defined in Property) | Property |
TYPE_UINT4 enum value (defined in Property) | Property |
TYPE_UNKNOWN enum value (defined in Property) | Property |
TYPE_VERTEX_ATTRIBUTE enum value (defined in Property) | Property |
TYPE_VIEWSTATE enum value (defined in Property) | Property |
TypedPropertyImpl() (defined in TypedPropertyImpl) | TypedPropertyImpl | [inline]
~Property() (defined in Property) | Property | [inline, virtual]
~TypedProperty() (defined in TypedProperty< ValueType >) | TypedProperty< ValueType > | [inline, virtual]
~TypedPropertyImpl() (defined in TypedPropertyImpl) | TypedPropertyImpl | [inline, virtual]

Generated on Fri Jul 13 13:31:28 2012 for SceniX


SceniX: TypedPropertyImplEnum Class Template Reference

nvutil::TypedPropertyImplEnum

TypedPropertyImplEnum Class Template Reference

A delegating property implementation with enum as int support. This class is used for all enum properties. More...

#include <Reflection.h>

Inheritance diagram for TypedPropertyImplEnum:

[legend]
Collaboration diagram for TypedPropertyImplEnum:

[legend]
List of all members.

Public Member Functions

virtual void | getValue (const Reflection *owner, ValueType &value) const
Get the value of this TypedPropertyImplEnum.
virtual void | setValue (Reflection *owner, const ValueType &value)
Set the value of this TypedPropertyImplEnum.

Detailed Description

template<typename ValueType, typename ObjectType, typename FunctorGet, typename FunctorSet, typename Property::Semantic semantic, bool deleteOnDestroy>
class nvutil::TypedPropertyImplEnum< ValueType, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >

A delegating property implementation with enum as int support. This class is used for all enum properties.

Parameters:
ValueType | The value type of the Property
ObjectType | The Object class this property belongs to
FunctorGet | A functor class which must support the following interface void operator()(Reflection *owner, const ValueType &value)
FunctorGet | A functor class which must support the following interface void operator()(const Reflection *owner, ValueType &returnValue)
semantic | The semantic of this property. corresponding get/set functions of the given class.

Member Function Documentation

virtual void getValue | ( | const Reflection * | owner,
 |  | ValueType & | value
 | ) | const [inline, virtual]

Get the value of this TypedPropertyImplEnum.

Parameters:
owner | The object to get the value from.
value | Reference of the ValueType to get the value.

virtual void setValue | ( | Reflection * | owner,
 |  | const ValueType & | value
 | ) | [inline, virtual]

Set the value of this TypedPropertyImplEnum.

Parameters:
owner | The object to set the value in.
value | The value to set.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:28 2012 for SceniX


SceniX: Member List

TypedPropertyImplEnum Member List

This is the complete list of members for TypedPropertyImplEnum, including all inherited members.

addRef() | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
clone() const | Property | [inline, virtual]
destroy() | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
getAnnotation() const | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
getSemantic() const | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
getType() const | TypedProperty< int > | [inline, virtual]
getValue(const Reflection *owner, ValueType &value) const | TypedPropertyImplEnum | [inline, virtual]
nvutil::TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >::getValue(const Reflection *owner, int &value) const | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
m_refCount (defined in TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >) | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [protected]
Semantic enum name | Property |
SEMANTIC_COLOR enum value | Property |
SEMANTIC_DIMENSION enum value | Property |
SEMANTIC_DIRECTION enum value | Property |
SEMANTIC_OBJECT enum value | Property |
SEMANTIC_ORIENTATION enum value | Property |
SEMANTIC_POSITION enum value | Property |
SEMANTIC_SCALING enum value | Property |
SEMANTIC_VALUE enum value | Property |
setValue(Reflection *owner, const ValueType &value) | TypedPropertyImplEnum | [inline, virtual]
nvutil::TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >::setValue(Reflection *owner, const int &value) | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
Type enum name | Property |
TYPE_BOOLEAN enum value (defined in Property) | Property |
TYPE_BOX2_FLOAT enum value (defined in Property) | Property |
TYPE_BOX3_FLOAT enum value (defined in Property) | Property |
TYPE_BOX4_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT2 enum value (defined in Property) | Property |
TYPE_FLOAT3 enum value (defined in Property) | Property |
TYPE_FLOAT4 enum value (defined in Property) | Property |
TYPE_INT enum value (defined in Property) | Property |
TYPE_INT2 enum value (defined in Property) | Property |
TYPE_INT3 enum value (defined in Property) | Property |
TYPE_INT4 enum value (defined in Property) | Property |
TYPE_MATRIX33_FLOAT enum value (defined in Property) | Property |
TYPE_MATRIX44_FLOAT enum value (defined in Property) | Property |
TYPE_OBJECT enum value | Property |
TYPE_QUATERNION_FLOAT enum value (defined in Property) | Property |
TYPE_RENDERTARGET enum value (defined in Property) | Property |
TYPE_SCENE enum value (defined in Property) | Property |
TYPE_SET_UINT enum value | Property |
TYPE_STRING enum value | Property |
TYPE_TRANSFORMATION enum value (defined in Property) | Property |
TYPE_UINT enum value (defined in Property) | Property |
TYPE_UINT2 enum value (defined in Property) | Property |
TYPE_UINT3 enum value (defined in Property) | Property |
TYPE_UINT4 enum value (defined in Property) | Property |
TYPE_UNKNOWN enum value (defined in Property) | Property |
TYPE_VERTEX_ATTRIBUTE enum value (defined in Property) | Property |
TYPE_VIEWSTATE enum value (defined in Property) | Property |
TypedPropertyImpl() (defined in TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >) | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline]
TypedPropertyImplEnum() (defined in TypedPropertyImplEnum) | TypedPropertyImplEnum | [inline]
~Property() (defined in Property) | Property | [inline, virtual]
~TypedProperty() (defined in TypedProperty< int >) | TypedProperty< int > | [inline, virtual]
~TypedPropertyImpl() (defined in TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >) | TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy > | [inline, virtual]
~TypedPropertyImplEnum() (defined in TypedPropertyImplEnum) | TypedPropertyImplEnum | [inline, virtual]

Generated on Fri Jul 13 13:31:28 2012 for SceniX


SceniX: TypedPropertyValue Class Template Reference

nvutil::TypedPropertyValue

TypedPropertyValue Class Template Reference

A property object holding a value directly. More...

#include <Reflection.h>

Inheritance diagram for TypedPropertyValue:

[legend]
Collaboration diagram for TypedPropertyValue:

[legend]
List of all members.

Public Member Functions

TypedPropertyValue (Property::Semantic semantic, const std::string &annotation, bool destroy, const ValueType &value)
Constructor of a TypedPropertyValue.
TypedPropertyValue (const TypedPropertyValue &rhs)
Copy construtor of a TypedPropertyValue.
virtual void | getValue (const Reflection *, ValueType &value) const
Get the value of this TypedPropertyValue.
virtual void | setValue (Reflection *, const ValueType &value)
Set the value of this TypedPropertyValue.
virtual Property::Type | getType () const
Returns the type of the property.
virtual Property::Semantic | getSemantic () const
Returns the semantic of the property.
virtual void | addRef ()
Not supported on this class.
virtual void | destroy ()
Destroy the property if necessary.
virtual std::string | getAnnotation () const
Returns the annotation of the property.
virtual Property * | clone () const
Return a new Property with the same values.

Detailed Description

template<typename ValueType>
class nvutil::TypedPropertyValue< ValueType >

A property object holding a value directly.

Parameters:
ValueType The value type the Property should hold.
Remarks:
This property object should be hold only by a single owner unless different holders should hold the same property value.

Constructor & Destructor Documentation

TypedPropertyValue | ( | Property::Semantic | semantic,
 |  | const std::string & | annotation,
 |  | bool | destroy,
 |  | const ValueType & | value
 | ) |

Constructor of a TypedPropertyValue.

Parameters:
semantic | The semantic of the property.
annotation | The annotation of the property.
destroy | If true, this property is deleted on calling destroy.
value | The initial value of this property.

TypedPropertyValue ( const TypedPropertyValue< ValueType > & rhs )

Copy construtor of a TypedPropertyValue.

Parameters:
rhs The TypedPropertyValue to copy from.

Member Function Documentation

void getValue | ( | const Reflection * | ,
 |  | ValueType & | value
 | ) | const [virtual]

Get the value of this TypedPropertyValue.

Parameters:
value A reference to a ValueType to get the value to.

Implements TypedProperty< ValueType >.

void setValue | ( | Reflection * | ,
 |  | const ValueType & | value
 | ) | [virtual]

Set the value of this TypedPropertyValue.

Parameters:
value A reference to the value to set.

Implements TypedProperty< ValueType >.

Property::Type getType ( ) const [virtual]

Returns the type of the property.

Reimplemented from TypedProperty< ValueType >.

Property::Semantic getSemantic ( ) const [virtual]

Returns the semantic of the property.

Implements Property.

void addRef ( ) [virtual]

Not supported on this class.

Implements Property.

void destroy ( ) [virtual]

Destroy the property if necessary.

Implements Property.

std::string getAnnotation ( ) const [virtual]

Returns the annotation of the property.

Implements Property.

PropertyId clone ( ) const [virtual]

Return a new Property with the same values.

Reimplemented from Property.

The documentation for this class was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:28 2012 for SceniX


SceniX: Member List

TypedPropertyValue Member List

This is the complete list of members for TypedPropertyValue, including all inherited members.

addRef() | TypedPropertyValue | [virtual]
clone() const | TypedPropertyValue | [virtual]
destroy() | TypedPropertyValue | [virtual]
getAnnotation() const | TypedPropertyValue | [virtual]
getSemantic() const | TypedPropertyValue | [virtual]
getType() const | TypedPropertyValue | [virtual]
getValue(const Reflection *, ValueType &value) const | TypedPropertyValue | [virtual]
Semantic enum name | Property |
SEMANTIC_COLOR enum value | Property |
SEMANTIC_DIMENSION enum value | Property |
SEMANTIC_DIRECTION enum value | Property |
SEMANTIC_OBJECT enum value | Property |
SEMANTIC_ORIENTATION enum value | Property |
SEMANTIC_POSITION enum value | Property |
SEMANTIC_SCALING enum value | Property |
SEMANTIC_VALUE enum value | Property |
setValue(Reflection *, const ValueType &value) | TypedPropertyValue | [virtual]
Type enum name | Property |
TYPE_BOOLEAN enum value (defined in Property) | Property |
TYPE_BOX2_FLOAT enum value (defined in Property) | Property |
TYPE_BOX3_FLOAT enum value (defined in Property) | Property |
TYPE_BOX4_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT enum value (defined in Property) | Property |
TYPE_FLOAT2 enum value (defined in Property) | Property |
TYPE_FLOAT3 enum value (defined in Property) | Property |
TYPE_FLOAT4 enum value (defined in Property) | Property |
TYPE_INT enum value (defined in Property) | Property |
TYPE_INT2 enum value (defined in Property) | Property |
TYPE_INT3 enum value (defined in Property) | Property |
TYPE_INT4 enum value (defined in Property) | Property |
TYPE_MATRIX33_FLOAT enum value (defined in Property) | Property |
TYPE_MATRIX44_FLOAT enum value (defined in Property) | Property |
TYPE_OBJECT enum value | Property |
TYPE_QUATERNION_FLOAT enum value (defined in Property) | Property |
TYPE_RENDERTARGET enum value (defined in Property) | Property |
TYPE_SCENE enum value (defined in Property) | Property |
TYPE_SET_UINT enum value | Property |
TYPE_STRING enum value | Property |
TYPE_TRANSFORMATION enum value (defined in Property) | Property |
TYPE_UINT enum value (defined in Property) | Property |
TYPE_UINT2 enum value (defined in Property) | Property |
TYPE_UINT3 enum value (defined in Property) | Property |
TYPE_UINT4 enum value (defined in Property) | Property |
TYPE_UNKNOWN enum value (defined in Property) | Property |
TYPE_VERTEX_ATTRIBUTE enum value (defined in Property) | Property |
TYPE_VIEWSTATE enum value (defined in Property) | Property |
TypedPropertyValue(Property::Semantic semantic, const std::string &annotation, bool destroy, const ValueType &value) | TypedPropertyValue |
TypedPropertyValue(const TypedPropertyValue &rhs) | TypedPropertyValue |
~Property() (defined in Property) | Property | [inline, virtual]
~TypedProperty() (defined in TypedProperty< ValueType >) | TypedProperty< ValueType > | [inline, virtual]

Generated on Fri Jul 13 13:31:28 2012 for SceniX


SceniX: TypeTraits< ValueType, const_reference > Struct Template Reference

nvutil::TypeTraits< ValueType, const_reference >

TypeTraits< ValueType, const_reference > Struct Template Reference

Partial specialization of the TypeTraits template for const reference types. More...

#include <Reflection.h>

List of all members.

Public Types

typedef ValueType | value_type
Value type definition of the template parameter ValueType.
typedef const ValueType & | parameter_type
Parameter type definition of the template parameter ValueType.

Detailed Description

template<typename ValueType>
struct nvutil::TypeTraits< ValueType, const_reference >

Partial specialization of the TypeTraits template for const reference types.

Member Typedef Documentation

typedef ValueType value_type

Value type definition of the template parameter ValueType.

typedef const ValueType& parameter_type

Parameter type definition of the template parameter ValueType.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

TypeTraits< ValueType, const_reference > Member List

This is the complete list of members for TypeTraits< ValueType, const_reference >, including all inherited members.

parameter_type typedef | TypeTraits< ValueType, const_reference >
value_type typedef | TypeTraits< ValueType, const_reference >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: TypeTraits< ValueType, value > Struct Template Reference

nvutil::TypeTraits< ValueType, value >

TypeTraits< ValueType, value > Struct Template Reference

Type for the TypeTraits template * Type for the TypeTraits template * This template convertes a pair ValueType/(const_reference/value) to the corresponding parameter signature. TypeTraits<ValueType, value>::value_type is of type ValueType TypeTraits<ValueType, value>::parameter_type is of type ValueType TypeTraits<ValueType, const_reference>::value_type is of type ValueType TypeTraits<ValueType, const_reference>::parameter_type is of type const ValueType & Partial specialization of the TypeTraits template for value types. More...

#include <Reflection.h>

List of all members.

Public Types

typedef ValueType | value_type
Value type definition of the template parameter ValueType.
typedef ValueType | parameter_type
Parameter type definition of the template parameter ValueType.

Detailed Description

template<typename ValueType, typename ParameterType>
struct nvutil::TypeTraits< ValueType, value >

Type for the TypeTraits template * Type for the TypeTraits template * This template convertes a pair ValueType/(const_reference/value) to the corresponding parameter signature. TypeTraits<ValueType, value>::value_type is of type ValueType TypeTraits<ValueType, value>::parameter_type is of type ValueType TypeTraits<ValueType, const_reference>::value_type is of type ValueType TypeTraits<ValueType, const_reference>::parameter_type is of type const ValueType & Partial specialization of the TypeTraits template for value types.

Member Typedef Documentation

typedef ValueType value_type

Value type definition of the template parameter ValueType.

typedef ValueType parameter_type

Parameter type definition of the template parameter ValueType.

The documentation for this struct was generated from the following file:
  • Reflection.h
Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: Member List

TypeTraits< ValueType, value > Member List

This is the complete list of members for TypeTraits< ValueType, value >, including all inherited members.

parameter_type typedef | TypeTraits< ValueType, value >
value_type typedef | TypeTraits< ValueType, value >

Generated on Fri Jul 13 13:31:27 2012 for SceniX


SceniX: UnifyTraverser Class Reference

nvtraverser::UnifyTraverser

UnifyTraverser Class Reference

OptimizeTraverser that can unify identical objects in a scene. More...

#include <UnifyTraverser.h>

Inheritance diagram for UnifyTraverser:

[legend]
Collaboration diagram for UnifyTraverser:

[legend]
List of all members.

Public Types

enum {
UT_GEONODE = BIT0, UT_GROUP = BIT1, UT_LOD = BIT2, UT_PRIMITIVE_SET = BIT3,
UT_PRIMITIVE = UT_PRIMITIVE_SET, UT_STATE_ATTRIBUTE = BIT4, UT_STATE_PASS = BIT5, UT_STATE_SET = BIT6,
UT_STATE_VARIANT = BIT7, UT_TEXTURE = BIT8, UT_TEXTURE_ATTRIBUTE_ITEM = BIT9, UT_TRAFO_ANIMATION = BIT10,
UT_VERTEX_ATTRIBUTE_SET = BIT12, UT_VERTICES = BIT13, UT_ALL_TARGETS_MASK
}

Public Member Functions

NVSG_API | UnifyTraverser (void)
Default constructor of an UnifyTraverser.
NVSG_API unsigned int | getUnifyTargets () const
Get the bitmask describing the targets to unify.
NVSG_API void | setUnifyTargets (unsigned int mask)
Set the bitmask describing the targets to unify.
NVSG_API float | getEpsilon () const
Get the epsilon used for compares in vertex unification.
NVSG_API void | setEpsilon (float eps)
Set the epsilon used for compares in vertex unification.
REFLECTION_INFO_API (NVSG_API, UnifyTraverser)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (UnifyTargets)
NVSG_API | DECLARE_STATIC_PROPERTY (Epsilon)

Public Attributes

enum nvtraverser::UnifyTraverser:: { ... } | UnifyTarget
Enum to specify the object types to unify.

Protected Member Functions

virtual NVSG_API | ~UnifyTraverser (void)
Protected destructor to prevent instantiation of a UnifyTraverser on stack.
virtual NVSG_API void | doApply (const nvsg::NodeSharedPtr &root)
Overload of the doApply method.
virtual NVSG_API void | handleBillboard (nvsg::Billboard *billboard)
Overload of the Billboard method.
virtual NVSG_API void | handleGroup (nvsg::Group *group)
Overload of the Group method.
virtual NVSG_API void | handleLOD (nvsg::LOD *lod)
Overload of the LOD method.
virtual NVSG_API void | handleSwitch (nvsg::Switch *swtch)
Overload of the Switch method.
virtual NVSG_API void | handleTransform (nvsg::Transform *transform)
Overload of the Transform method.
virtual NVSG_API void | handleFlipbookAnimation (nvsg::FlipbookAnimation *anim)
Overload of the handleFlipbookAnimation method.
virtual NVSG_API void | handleAnimatedTransform (nvsg::AnimatedTransform *trafo)
Overload of the handleAnimatedTransform method.
virtual NVSG_API void | handleGeoNode (nvsg::GeoNode *gnode)
Overload of the handleGeoNode method.
virtual NVSG_API void | handleLines (nvsg::Lines *lines)
Overload of the handleLines method.
virtual NVSG_API void | handleLineStrips (nvsg::LineStrips *strips)
Overload of the handleLineStrips method.
virtual NVSG_API void | handlePoints (nvsg::Points *points)
Overload of the handlePoints method.
virtual NVSG_API void | handlePrimitive (nvsg::Primitive *primitive)
Overload of the handlePrimitive method.
virtual NVSG_API void | handleQuadMeshes (nvsg::QuadMeshes *meshes)
Overload of the handleQuadMeshes method.
virtual NVSG_API void | handleQuadPatches (nvsg::QuadPatches *quadPatches)
Overload of the handleQuadPatches method.
virtual NVSG_API void | handleQuadPatches4x4 (nvsg::QuadPatches4x4 *quadPatches4x4)
Overload of the handleQuadPatches4x4 method.
virtual NVSG_API void | handleQuads (nvsg::Quads *quads)
Overload of the handleQuads method.
virtual NVSG_API void | handleQuadStrips (nvsg::QuadStrips *strips)
Overload of the handleQuadStrips method.
virtual NVSG_API void | handleRectPatches (nvsg::RectPatches *rectPatches)
Overload of the handleRectPatches method.
virtual NVSG_API void | handleRTFx (nvsg::RTFx *rtfx)
Handler function for a RTFx.
virtual NVSG_API void | handleStatePass (nvsg::StatePass *pass)
Overload of the handleStatePass method.
virtual NVSG_API void | handleStateSet (nvsg::StateSet *stateSet)
Overload of the handleStateSet method.
virtual NVSG_API void | handleStateVariant (nvsg::StateVariant *variant)
Overload of the handleStateVariant method.
virtual NVSG_API void | handleTextureAttribute (nvsg::TextureAttribute *texAttrib)
Overload of the handleTextureAttribute method.
virtual NVSG_API void | handleTextureAttributeItem (nvsg::TextureAttributeItem *texAttribItem)
Overload of the handleTextureAttributeItem method.
virtual NVSG_API void | handleTriangles (nvsg::Triangles *triangles)
Overload of the handleTriangles method.
virtual NVSG_API void | handleTriFans (nvsg::TriFans *fans)
Overload of the handleTriFans method.
virtual NVSG_API void | handleTriPatches (nvsg::TriPatches *triPatches)
Overload of the handleTriPatches method.
virtual NVSG_API void | handleTriPatches4 (nvsg::TriPatches4 *triPatches4)
Overload of the handleTriPatches4 method.
virtual NVSG_API void | handleTriStrips (nvsg::TriStrips *strips)
Overload of the handleTriStrips method.
virtual NVSG_API void | handleVertexAttributeSet (nvsg::VertexAttributeSet *vas)
Overload of the handleVertexAttributeSet method.
virtual NVSG_API void | handleAnimatedVertexAttributeSet (nvsg::AnimatedVertexAttributeSet *avas)
Overload of the handleAnimatedVertexAttributeSet method.
virtual NVSG_API void | traversePrimitiveSet (nvsg::PrimitiveSet *pset)
Overload of the traversePrimitiveSet method.

Detailed Description

OptimizeTraverser that can unify identical objects in a scene.

Remarks:
The UnifyTraverser can unify GeoNodes, Groups, LODs, PrimitiveSets, StateAttributes, StatePasses, StateSets, StateVariants, TextureAttributeItems, VertexAttributeSet, and vertices. Unifying in this context means, if there are two separate but identical objects in the scene, each reference to one of them is replaced by a reference of the other. That way, after unifying, there will be no separate but identical objects in the scene. For vertices, unification is performed within PrimitiveSets.
The types of objects to unify can be selected by setUnifyTargets. By default, each object type listed above is unified.
The accepted epsilon used in comparing the components of vertices can be set by setEpsilon. By default, epsilon is FLT_EPSILON.
As with every OptimizeTraverser, identical objects with different names can be considered to be equal. This can be set with setIgnoreNames. By default, this is set to true.
After unifying a scene, the UnifyTraverser can be queried if the latest traversal did modify the scene, using getTreeModified.
See also:
OptimizeTraverser

Member Enumeration Documentation

anonymous enum

Enumeration values:
UT_GEONODE | UnifyTarget nvsg::GeoNode: unify identical GeoNode objects into one.
UT_GROUP | UnifyTarget nvsg::Group: unify identical Group objects into one.
UT_LOD | UnifyTarget nvsg::LOD: unify identical LOD objects into one.
UT_PRIMITIVE_SET | UnifyTarget nvsg::PrimitiveSet: unify identical PrimitiveSet objects into one.
UT_STATE_ATTRIBUTE | UnifyTarget nvsg::StateAttribute: unify identical StateAttribute objects into one.
UT_STATE_PASS | UnifyTarget nvsg::StatePass: unify identical StatePass objects into one.
UT_STATE_SET | UnifyTarget nvsg::StateSet: unify identical StateSet objects into one.
UT_STATE_VARIANT | UnifyTarget nvsg::StateVariant: unify identical StateVariant objects into one.
UT_TEXTURE | UnifyTarget nvsg::Texture: unify identical Texture objects into one.
UT_TEXTURE_ATTRIBUTE_ITEM | UnifyTarget nvsg::TextureAttributeItem: unify identical TextureAttributeItem objects into one.
UT_TRAFO_ANIMATION | UnifyTarget nvsg::Animation<nvmath::Trafo>: unify identical Animations on Trafo into one.
UT_VERTEX_ATTRIBUTE_SET | UnifyTarget nvsg::VertexAttributeSet: unify identical VertexAttributeSet objects into one.
UT_VERTICES | UnifyTarget Vertices: unify identical Vertices (with an epsilon) into one.

Constructor & Destructor Documentation

NVSG_API UnifyTraverser ( void )

Default constructor of an UnifyTraverser.

Remarks:
Creates a UnifyTraverser with an epsilon for vertex components comparison of FLT_EPSILON, and the targets to unify set to all.
See also:
setEpsilon, setUnifyTargets

virtual NVSG_API ~UnifyTraverser ( void ) [protected, virtual]

Protected destructor to prevent instantiation of a UnifyTraverser on stack.

Member Function Documentation

unsigned int getUnifyTargets ( ) const [inline]

Get the bitmask describing the targets to unify.

Returns:
A bitmask describing the targets to unify.

void setUnifyTargets ( unsigned int mask ) [inline]

Set the bitmask describing the targets to unify.

Parameters:
mask The bitmask describing the targets to unify.

float getEpsilon ( ) const [inline]

Get the epsilon used for compares in vertex unification.

Returns:
The epsilon used on component of a vertex to determine equality.

void setEpsilon ( float eps ) [inline]

Set the epsilon used for compares in vertex unification.

Parameters:
eps The epsilon used on component of a vertex to determine equality.
Note:
The unification of vertices undefined, if eps is not positive.

virtual NVSG_API void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Overload of the doApply method.

Remarks:
After scene traversal, temporarily allocated storage is freed again.

Reimplemented from OptimizeTraverser.

virtual NVSG_API void handleBillboard ( nvsg::Billboard * billboard ) [protected, virtual]

Overload of the Billboard method.

Parameters:
billboard A pointer to the write-locked Billboard to handle.
Remarks:
After traversal of the Billboard, identical children are unified.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGroup ( nvsg::Group * group ) [protected, virtual]

Overload of the Group method.

Parameters:
group A pointer to the write-locked Group to handle.
Remarks:
After traversal of the Group, identical children are unified.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLOD ( nvsg::LOD * lod ) [protected, virtual]

Overload of the LOD method.

Parameters:
lod A pointer to the write-locked LOD to handle.
Remarks:
After traversal of the LOD as a Group, identical children are unified.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleSwitch ( nvsg::Switch * swtch ) [protected, virtual]

Overload of the Switch method.

Parameters:
swtch A pointer to the write-locked Switch to handle.
Remarks:
After traversal of the Switch as a Group, identical children are unified.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTransform ( nvsg::Transform * transform ) [protected, virtual]

Overload of the Transform method.

Parameters:
transform A pointer to the write-locked Transform to handle.
Remarks:
After traversal of the Transform, identical children are unified.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleFlipbookAnimation ( nvsg::FlipbookAnimation * anim ) [protected, virtual]

Overload of the handleFlipbookAnimation method.

Parameters:
anim A pointer to the write-locked FlipbookAnimation to handle.
Remarks:
For unifying purposes, anim is handled like a Group.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedTransform ( nvsg::AnimatedTransform * trafo ) [protected, virtual]

Overload of the handleAnimatedTransform method.

Parameters:
trafo A pointer to the write-locked AnimatedTransform to handle.
Remarks:
If GeoNodes, Groups, or LODs are to be unified, trafo is handled like a Transform. Otherwise trafo is just traversed.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleGeoNode ( nvsg::GeoNode * gnode ) [protected, virtual]

Overload of the handleGeoNode method.

Parameters:
gnode A pointer to the write-locked GeoNode to handle.
Remarks:
After traversing gnode, it's StateSets are unified, if requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLines ( nvsg::Lines * lines ) [protected, virtual]

Overload of the handleLines method.

Parameters:
lines A pointer to the write-locked Lines to handle.
Remarks:
After traversing lines, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleLineStrips ( nvsg::LineStrips * strips ) [protected, virtual]

Overload of the handleLineStrips method.

Parameters:
strips A pointer to the write-locked LineStrips to handle.
Remarks:
After traversing strips, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePoints ( nvsg::Points * points ) [protected, virtual]

Overload of the handlePoints method.

Parameters:
points A pointer to the write-locked Points to handle.
Remarks:
After traversing points, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handlePrimitive ( nvsg::Primitive * primitive ) [protected, virtual]

Overload of the handlePrimitive method.

Parameters:
primitive A pointer to the write-locked Primitive to handle.
Remarks:
After traversing primitive, it is unified if unification of Primitive is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadMeshes ( nvsg::QuadMeshes * meshes ) [protected, virtual]

Overload of the handleQuadMeshes method.

Parameters:
meshes A pointer to the write-locked QuadMeshes to handle.
Remarks:
After traversing meshes, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadPatches ( nvsg::QuadPatches * quadPatches ) [protected, virtual]

Overload of the handleQuadPatches method.

Parameters:
quadPatches A pointer to the write-locked QuadPatches to handle.
Remarks:
After traversing quadPatches, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadPatches4x4 ( nvsg::QuadPatches4x4 * quadPatches4x4 ) [protected, virtual]

Overload of the handleQuadPatches4x4 method.

Parameters:
quadPatches4x4 pointer to the write-locked QuadPatches4x4 to handle.
Remarks:
After traversing quadPatches4x4, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuads ( nvsg::Quads * quads ) [protected, virtual]

Overload of the handleQuads method.

Parameters:
quads A pointer to the write-locked Quads to handle.
Remarks:
After traversing quads, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleQuadStrips ( nvsg::QuadStrips * strips ) [protected, virtual]

Overload of the handleQuadStrips method.

Parameters:
strips A pointer to the write-locked QuadStrips to handle.
Remarks:
After traversing strips, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleRectPatches ( nvsg::RectPatches * rectPatches ) [protected, virtual]

Overload of the handleRectPatches method.

Parameters:
rectPatches A pointer to the write-locked RectPatches to handle.
Remarks:
After traversing rectPatches, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleRTFx ( nvsg::RTFx * rtfx ) [protected, virtual]

Handler function for a RTFx.

Parameters:
rtfx A pointer to the write-locked RTFx being traversed.
Remarks:
This function is called from the framework whenever a RTFx is encountered on traversal. The RTFx rtfx is already write-locked.
The base implementation just does nothing.
Note:
When this function is overridden by a traverser derived from ExclusiveTraverser, it is recommended to always call the base class implementation in order to properly continue traversal.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStatePass ( nvsg::StatePass * pass ) [protected, virtual]

Overload of the handleStatePass method.

Parameters:
pass A pointer to the write-locked StatePass to handle.
Remarks:
After traversing pass, it's StateAttributes are unified if unification of StateAttributes is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStateSet ( nvsg::StateSet * stateSet ) [protected, virtual]

Overload of the handleStateSet method.

Parameters:
stateSet A pointer to the write-locked StateSet to handle.
Remarks:
If the unification of StateVariants, StatePasses, StateAttributes, or TextureAttributeItems is requested, a non-standard traversal of each StateVariant is performed, and then the StateVariants of this StateSet are unified their unification is requested. Otherwise, stateSet is just traversed.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleStateVariant ( nvsg::StateVariant * variant ) [protected, virtual]

Overload of the handleStateVariant method.

Parameters:
variant A pointer to the write-locked StateVariant to handle.
Remarks:
After traversing variant, it's StatePasses are unified if unification of StatePasses is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTextureAttribute ( nvsg::TextureAttribute * texAttrib ) [protected, virtual]

Overload of the handleTextureAttribute method.

Parameters:
texAttrib A pointer to the write-locked TextureAttribute to handle.
Remarks:
After traversing texAttrib, it's TextureAttributeItems are unified if unification of TextureAttributeItems is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTextureAttributeItem ( nvsg::TextureAttributeItem * texAttribItem ) [protected, virtual]

Overload of the handleTextureAttributeItem method.

Parameters:
texAttribItem A pointer to the write-locked TextureAttributeItem to handle.
Remarks:
This function is called from the framework whenever a TextureAttributeItem is encountered on traversal. The TextureAttributeItem texAttribItem is already read-locked.
The base implementation just does nothing.
See also:
getCurrentTextureUnit

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriangles ( nvsg::Triangles * triangles ) [protected, virtual]

Overload of the handleTriangles method.

Parameters:
triangles A pointer to the write-locked Triangles to handle.
Remarks:
After traversing triangles, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriFans ( nvsg::TriFans * fans ) [protected, virtual]

Overload of the handleTriFans method.

Parameters:
fans A pointer to the write-locked TriFans to handle.
Remarks:
After traversing fans, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriPatches ( nvsg::TriPatches * triPatches ) [protected, virtual]

Overload of the handleTriPatches method.

Parameters:
triPatches A pointer to the write-locked TriPatches to handle.
Remarks:
After traversing triPatches, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriPatches4 ( nvsg::TriPatches4 * triPatches4 ) [protected, virtual]

Overload of the handleTriPatches4 method.

Parameters:
triPatches4 A pointer to the write-locked TriPatches4 to handle.
Remarks:
After traversing triPatches4, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleTriStrips ( nvsg::TriStrips * strips ) [protected, virtual]

Overload of the handleTriStrips method.

Parameters:
strips A pointer to the write-locked TriStrips to handle.
Remarks:
After traversing strips, it is unified if unification of PrimitiveSets is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleVertexAttributeSet ( nvsg::VertexAttributeSet * vas ) [protected, virtual]

Overload of the handleVertexAttributeSet method.

Parameters:
vas A pointer to the write-locked VertexAttributeSet to handle.
Remarks:
After traversing vas, the vertices inside are unified if unification of vertices is requested.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void handleAnimatedVertexAttributeSet ( nvsg::AnimatedVertexAttributeSet * avas ) [protected, virtual]

Overload of the handleAnimatedVertexAttributeSet method.

Parameters:
avas A pointer to the write-locked AnimatedVertexAttributeSet to handle.
Remarks:
The vertices of an AnimatedVertexAttributeSet are not unified by this UnifyTraverser. That is, only if no vertices are to be unified, avas is traversed.

Reimplemented from ExclusiveTraverser.

virtual NVSG_API void traversePrimitiveSet ( nvsg::PrimitiveSet * pset ) [protected, virtual]

Overload of the traversePrimitiveSet method.

Parameters:
pset A pointer to the write-locked PrimitiveSets to handle.
Remarks:
After traversing pset, it's VertexAttributeSets are unified if unification of VertexAttributeSets is requested.

Reimplemented from ExclusiveTraverser.

Member Data Documentation

enum { ... } UnifyTarget

Enum to specify the object types to unify.

The documentation for this class was generated from the following file:
  • UnifyTraverser.h
Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: Member List

UnifyTraverser Member List

This is the complete list of members for UnifyTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
DECLARE_STATIC_PROPERTY(UnifyTargets) (defined in UnifyTraverser) | UnifyTraverser |
DECLARE_STATIC_PROPERTY(Epsilon) (defined in UnifyTraverser) | UnifyTraverser |
DECLARE_STATIC_PROPERTY(IgnoreNames) (defined in OptimizeTraverser) | OptimizeTraverser |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | UnifyTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getEpsilon() const | UnifyTraverser | [inline]
getIgnoreNames(void) const | OptimizeTraverser | [inline]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getUnifyTargets() const | UnifyTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *trafo) | UnifyTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | UnifyTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *billboard) | UnifyTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | UnifyTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | UnifyTraverser | [protected, virtual]
handleGroup(nvsg::Group *group) | UnifyTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | UnifyTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | UnifyTraverser | [protected, virtual]
handleLOD(nvsg::LOD *lod) | UnifyTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | UnifyTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | UnifyTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | UnifyTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *quadPatches) | UnifyTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *quadPatches4x4) | UnifyTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | UnifyTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | UnifyTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *rectPatches) | UnifyTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | UnifyTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | UnifyTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | UnifyTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | UnifyTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *swtch) | UnifyTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | UnifyTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | UnifyTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *transform) | UnifyTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | UnifyTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | UnifyTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *triPatches) | UnifyTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *triPatches4) | UnifyTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | UnifyTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | UnifyTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
optimizationAllowed(const nvsg::Object *obj) | OptimizeTraverser | [protected, virtual]
OptimizeTraverser(void) | OptimizeTraverser |
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
REFLECTION_INFO_API(NVSG_API, UnifyTraverser) (defined in UnifyTraverser) | UnifyTraverser |
REFLECTION_INFO_API(NVSG_API, OptimizeTraverser) (defined in OptimizeTraverser) | OptimizeTraverser |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setEpsilon(float eps) | UnifyTraverser | [inline]
setIgnoreNames(bool ignore) | OptimizeTraverser | [inline]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setUnifyTargets(unsigned int mask) | UnifyTraverser | [inline]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | UnifyTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
UnifyTarget | UnifyTraverser |
UnifyTraverser(void) | UnifyTraverser |
unlockViewState() | ExclusiveTraverser | [protected, virtual]
UT_ALL_TARGETS_MASK enum value (defined in UnifyTraverser) | UnifyTraverser |
UT_GEONODE enum value | UnifyTraverser |
UT_GROUP enum value | UnifyTraverser |
UT_LOD enum value | UnifyTraverser |
UT_PRIMITIVE enum value (defined in UnifyTraverser) | UnifyTraverser |
UT_PRIMITIVE_SET enum value | UnifyTraverser |
UT_STATE_ATTRIBUTE enum value | UnifyTraverser |
UT_STATE_PASS enum value | UnifyTraverser |
UT_STATE_SET enum value | UnifyTraverser |
UT_STATE_VARIANT enum value | UnifyTraverser |
UT_TEXTURE enum value | UnifyTraverser |
UT_TEXTURE_ATTRIBUTE_ITEM enum value | UnifyTraverser |
UT_TRAFO_ANIMATION enum value | UnifyTraverser |
UT_VERTEX_ATTRIBUTE_SET enum value | UnifyTraverser |
UT_VERTICES enum value | UnifyTraverser |
wasTraversalInterrupted() | Traverser | [inline]
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~OptimizeTraverser(void) | OptimizeTraverser | [protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]
~UnifyTraverser(void) | UnifyTraverser | [protected, virtual]

Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: UnlitColorAttribute Class Reference

nvsg::UnlitColorAttribute

UnlitColorAttribute Class Reference

StateAttribute specifying the color in case there is no lighting. More...

#include <UnlitColorAttribute.h>

Inheritance diagram for UnlitColorAttribute:

[legend]
Collaboration diagram for UnlitColorAttribute:

[legend]
List of all members.

Public Member Functions

NVSG_API const nvmath::Vec4f & | getColor () const
Get the color.
NVSG_API void | setColor (const nvmath::Vec4f &color)
Set the color.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with another UnlitColorAttribute.
REFLECTION_INFO_API (NVSG_API, UnlitColorAttribute)

Static Public Member Functions

static NVSG_API UnlitColorAttributeSharedPtr | create ()

Protected Member Functions

NVSG_API | UnlitColorAttribute ()
Default-constructs an UnlitColorAttribute.
NVSG_API | UnlitColorAttribute (const UnlitColorAttribute &rhs)
Constructs a UnlitColorAttribute as a copy from another UnlitColorAttribute.
virtual NVSG_API | ~UnlitColorAttribute ()
Destructs a UnlitColorAttribute.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

StateAttribute specifying the color in case there is no lighting.

Remarks:
The color of an UnlitColorAttribute is used as the color of an object when lighting is off. This can happen, when that object is drawn in wireframe mode. If there is no UnlitColorAttribute associated with a Drawable, the diffuse color of the associated Material is used. If there is no associated Material either, a default color is used.

Constructor & Destructor Documentation

NVSG_API UnlitColorAttribute ( ) [protected]

Default-constructs an UnlitColorAttribute.

Remarks:
The default-constructed UnlitColorAttribute initially is an opaque light grey (0.9,0.9,0.9,1.0).

NVSG_API UnlitColorAttribute ( const UnlitColorAttribute & rhs ) [protected]

Constructs a UnlitColorAttribute as a copy from another UnlitColorAttribute.

virtual NVSG_API ~UnlitColorAttribute ( ) [protected, virtual]

Destructs a UnlitColorAttribute.

Member Function Documentation

const nvmath::Vec4f & getColor ( ) const [inline]

Get the color.

Returns:
The color of this UnlitColorAttribute.
See also:
setColor

void setColor ( const nvmath::Vec4f & color ) [inline]

Set the color.

Parameters:
color The color for this UnlitColorAttribute.
See also:
getColor

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with another UnlitColorAttribute.

Parameters:
p | Pointer to the constant UnlitColorAttribute to test for equivalence with.
ignoreNames | Optional parameter to ignore the names of the objects; default is true
deepCompare | Optional parameter to perform a deep comparsion; default is false
Returns:
true if the UnlitColorAttribute p is equivalent to this, otherwise false.
Remarks:
If p and this are equivalent as StateAttribute, they are considered to be equivalent if they have the same color.
Note:
The behaviour is undefined if p is not a UnlitColorAttribute nor derived from one.
See also:
StateAttribute, getColor

Reimplemented from Object.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

The documentation for this class was generated from the following file:
  • UnlitColorAttribute.h
Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: Member List

UnlitColorAttribute Member List

This is the complete list of members for UnlitColorAttribute, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in UnlitColorAttribute) | UnlitColorAttribute | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | UnlitColorAttribute | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getColor() const | UnlitColorAttribute | [inline]
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfOwners() const | OwnedObject< StatePass > |
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< StatePass > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | UnlitColorAttribute | [virtual]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const StateAttribute &rhs) | StateAttribute | [protected]
nvsg::OwnedObject< StatePass >::operator=(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< StatePass > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< StatePass > | [protected]
OwnedObject(const OwnedObject< StatePass > &rhs) | OwnedObject< StatePass > | [protected]
OwnerContainer typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
OwnerIterator typedef (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > |
ownersBegin() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
ownersEnd() const (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, UnlitColorAttribute) (defined in UnlitColorAttribute) | UnlitColorAttribute |
REFLECTION_INFO_API(NVSG_API, StateAttribute) (defined in StateAttribute) | StateAttribute |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(StatePass *owner) (defined in OwnedObject< StatePass >) | OwnedObject< StatePass > | [protected]
setAnnotation(const std::string &anno) | Object |
setColor(const nvmath::Vec4f &color) | UnlitColorAttribute | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
StateAttribute(void) | StateAttribute | [protected]
StateAttribute(const StateAttribute &rhs) | StateAttribute | [protected]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
UnlitColorAttribute() | UnlitColorAttribute | [protected]
UnlitColorAttribute(const UnlitColorAttribute &rhs) | UnlitColorAttribute | [protected]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< StatePass > | [protected]
~StateAttribute(void) | StateAttribute | [virtual]
~UnlitColorAttribute() | UnlitColorAttribute | [protected, virtual]

Generated on Fri Jul 13 13:30:33 2012 for SceniX


SceniX: UnusedVerticesResult Class Reference

nvtraverser::UnusedVerticesResult

UnusedVerticesResult Class Reference

AnalyzeResult indicating unused vertices. More...

#include <AnalyzeTraverser.h>

Inheritance diagram for UnusedVerticesResult:

[legend]
Collaboration diagram for UnusedVerticesResult:

[legend]
List of all members.

Public Attributes

unsigned int unusedVerticesCount
The number of unused vertices.

Detailed Description

AnalyzeResult indicating unused vertices.

Namespace: nvsg
Remarks:
: All VertexAttributeSets holding unused vertices are reported.
See also:
AnalyzeResult, AnalyzeTraverser, VertexAttributeSet

Member Data Documentation

unsigned int unusedVerticesCount

The number of unused vertices.

The documentation for this class was generated from the following file:
  • AnalyzeTraverser.h
Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: Member List

UnusedVerticesResult Member List

This is the complete list of members for UnusedVerticesResult, including all inherited members.

AnalyzeResult() (defined in AnalyzeResult) | AnalyzeResult | [inline]
objectCode | AnalyzeResult |
objectCount | AnalyzeResult |
unusedVerticesCount | UnusedVerticesResult |
UnusedVerticesResult() (defined in UnusedVerticesResult) | UnusedVerticesResult | [inline]
~AnalyzeResult() | AnalyzeResult | [inline, virtual]
~UnusedVerticesResult() (defined in UnusedVerticesResult) | UnusedVerticesResult | [inline, virtual]

Generated on Fri Jul 13 13:30:37 2012 for SceniX


SceniX: UPIID Class Reference

nvutil::UPIID

UPIID Class Reference

Unique Plug Interface ID. More...

#include <PlugIn.h>

Collaboration diagram for UPIID:

[legend]
List of all members.

Public Member Functions

UPIID ()
Default constructor.
NVSG_API | UPIID (const char idstr[8], UPITID pitid)
Constructor.
NVSG_API UPIID & | operator= (const UPIID &rhs)
Assignment operator.
const char * | getPlugSpecificIDString () const
Receive specific identifier string.
const UPITID & | getPlugInterfaceType () const
Receive the unique interface type.

Friends

bool | operator< (const UPIID &lhs, const UPIID &rhs)
"Less than" comparison
bool | operator== (const UPIID &lhs, const UPIID &rhs)
Comparison.
bool | operator!= (const UPIID &lhs, const UPIID &rhs)
Comparison.

Detailed Description

Unique Plug Interface ID.

A helper class for assembling unique IDs that identify a certain plug interface. An 8 byte specific identifier string will be concatenated to a UPITID to define a unique plug interface identifier, client code can query for.

Note:
A UPIID will be defined by a plug-in which provides a certain plug interface type.

Constructor & Destructor Documentation

UPIID ( ) [inline]

Default constructor.

Default constructs a UPIID object.

NVSG_API UPIID | ( | const char | idstr[8],
 |  | UPITID | pitid
 | ) |

Constructor.

Constructs a UPIID object from a specific identifier string (8 bytes) and a UPITID which identifies the certain type of the interface a plug-in provides.

Parameters:
idstr | Specific identifier string
pitid | UPITID the plug-in provides

Member Function Documentation

NVSG_API UPIID& operator= ( const UPIID & rhs )

Assignment operator.

Assigning a new UPIID.

Returns:
A reference to this UPIID object.

const char * getPlugSpecificIDString ( ) const [inline]

Receive specific identifier string.

Get hold of the identifier that is specific for a plug interface provided by a certain plug-in. Client code can take this additional information to decide which plug-in best matches the client's requirements concerning a certain plug interface type. The kind of information stored in the specific identifier string and how a certain client can use it, must be documented in detail by the plug-in writer.

For example, plug-ins that provide the nvsg::PITID_SCENE_LOADER or nvsg::PITID_SCENE_SAVER interface type for either loading or saving a SceniX scene, store the specific file extension within the specific identifier string of the UPIID object the plug-in returns, if client code queries for these interface types using the nvutil:queryInterfaceType interface.
Returns:
A constant string holding the specific identifier string.

const UPITID & getPlugInterfaceType ( ) const [inline]

Receive the unique interface type.

This is for a client to verify if the plug interface type stored in this interface ID is the same, it was querying for.

Returns:
The UPITID stored in the UPIID.

Friends And Related Function Documentation

bool operator< | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [friend]

"Less than" comparison

Compares two UPIID objects. This operator is required e.g. if it is intended to store UPIID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [friend]

Comparison.

Tests two UPIID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [friend]

Comparison.

Tests two UPIID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

UPIID Member List

This is the complete list of members for UPIID, including all inherited members.

getPlugInterfaceType() const | UPIID | [inline]
getPlugSpecificIDString() const | UPIID | [inline]
operator!=(const UPIID &lhs, const UPIID &rhs) | UPIID | [friend]
operator<(const UPIID &lhs, const UPIID &rhs) | UPIID | [friend]
operator=(const UPIID &rhs) | UPIID |
operator==(const UPIID &lhs, const UPIID &rhs) | UPIID | [friend]
UPIID() | UPIID | [inline]
UPIID(const char idstr[8], UPITID pitid) | UPIID |

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: UPITID Class Reference

nvutil::UPITID

UPITID Class Reference

Unique Plug Interface Type ID. More...

#include <PlugIn.h>

List of all members.

Public Member Functions

UPITID ()
Default constructor.
NVSG_API | UPITID (unsigned short pit, const char verStr[16])
Constructor.
NVSG_API | UPITID (const UPITID &rhs)
Copy constructor.

Friends

bool | operator< (const UPITID &lhs, const UPITID &rhs)
"Less than" comparison
bool | operator== (const UPITID &lhs, const UPITID &rhs)
Comparison.
bool | operator!= (const UPITID &lhs, const UPITID &rhs)
Comparison.

Detailed Description

Unique Plug Interface Type ID.

A helper class for assembling unique IDs that identify a certain plug interface type. A short numeric interface type ID and a 16 byte version string are concatenated to define a unique plug interface type identifier.

Note:
A UPITID must be defined by a client which wants to use a certain plug interface type provided by a plug-in.

Constructor & Destructor Documentation

UPITID ( ) [inline]

Default constructor.

Default constructs a UPITID object.

NVSG_API UPITID | ( | unsigned short | pit,
 |  | const char | verStr[16]
 | ) |

Constructor.

Constructs a UPITID object from a plug interface type ID and a version string.

Parameters:
pit | Identifies a certain plug interface type
verStr | A 16 byte version string to maintain version safty

NVSG_API UPITID ( const UPITID & rhs )

Copy constructor.

Constructs a UPITID object from another UPITID object.

Friends And Related Function Documentation

bool operator< | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [friend]

"Less than" comparison

Compares two UPITID objects. This operator is required e.g. if it is intended to store UPITID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [friend]

Comparison.

Tests two UPITID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [friend]

Comparison.

Tests two UPITID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

The documentation for this class was generated from the following file:
  • PlugIn.h
Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Member List

UPITID Member List

This is the complete list of members for UPITID, including all inherited members.

operator!=(const UPITID &lhs, const UPITID &rhs) | UPITID | [friend]
operator<(const UPITID &lhs, const UPITID &rhs) | UPITID | [friend]
operator==(const UPITID &lhs, const UPITID &rhs) | UPITID | [friend]
UPITID() | UPITID | [inline]
UPITID(unsigned short pit, const char verStr[16]) | UPITID |
UPITID(const UPITID &rhs) | UPITID |

Generated on Fri Jul 13 13:31:24 2012 for SceniX


SceniX: Validated Class Template Reference

nvutil::Validated

Validated Class Template Reference

The Validated class adds a validation state to some data. More...

#include <Validated.h>

Collaboration diagram for Validated:

[legend]
List of all members.

Public Member Functions

Validated (void)
Default constructor.
Validated (const T &t)
Constructor with default value.
bool | isValid (void) const
Ask if the validated data currently is valid.
void | invalidate (void)
Invalidate the data.
void | validate (void)
Accept the current value as valid.
const T & | get (void) const
Get the data.
void | set (const T &t)
Set the data.

Detailed Description

template<typename T>
class nvutil::Validated< T >

The Validated class adds a validation state to some data.

Constructor & Destructor Documentation

Validated ( void ) [inline]

Default constructor.

Validated ( const T & t ) [inline]

Constructor with default value.

Member Function Documentation

bool isValid ( void ) const [inline]

Ask if the validated data currently is valid.

Returns:
true, if the data is valid, otherwise false.

void invalidate ( void ) [inline]

Invalidate the data.

void validate ( void ) [inline]

Accept the current value as valid.

const T & get ( void ) const [inline]

Get the data.

It is assumed that the data is valid. If it's invalid, the returned data is not defined.

Returns:
the current data

void set ( const T & t ) [inline]

Set the data.

Setting the data also validates it.

The documentation for this class was generated from the following file:
  • Validated.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Member List

Validated Member List

This is the complete list of members for Validated, including all inherited members.

get(void) const | Validated | [inline]
invalidate(void) | Validated | [inline]
isValid(void) const | Validated | [inline]
set(const T &t) | Validated | [inline]
validate(void) | Validated | [inline]
Validated(void) | Validated | [inline]
Validated(const T &t) | Validated | [inline]

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Vecnt Class Template Reference

nvmath::Vecnt

Vecnt Class Template Reference

Vector class of fixed size and type. More...

#include <Vecnt.h>

Inheritance diagram for Vecnt:

[legend]
Collaboration diagram for Vecnt:

[legend]
List of all members.

Public Member Functions

Vecnt ()
Default constructor.
template<unsigned int m, typename S>
Vecnt (const Vecnt< m, S > &rhs)
Copy constructor from a vector of possibly different size and type.
template<typename S, typename R>
Vecnt (const Vecnt< n-1, S > &rhs, R last)
Copy constructor from a vector with one less value than this, and an explicit last value.
Vecnt (T x)
Constructor for a one-element vector.
Vecnt (T x, T y)
Constructor for a two-element vector.
Vecnt (T x, T y, T z)
Constructor for a three-element vector.
Vecnt (T x, T y, T z, T w)
Constructor for a four-element vector.
const T * | getPtr () const
Get a pointer to the constant values of this vector.
T | normalize ()
Normalize this vector and get it's previous length.
template<typename S>
T & | operator[] (S i)
Access operator to the values of a vector.
template<typename S>
const T & | operator[] (S i) const
Constant access operator to the values of a vector.
template<typename S>
Vecnt< n, T > & | operator= (const Vecnt< n, S > &rhs)
Vector assignment operator with a vector of possibly different type.
template<typename S>
Vecnt< n, T > & | operator+= (const Vecnt< n, S > &rhs)
Vector addition and assignment operator with a vector of possibly different type.
template<typename S>
Vecnt< n, T > & | operator-= (const Vecnt< n, S > &rhs)
Vector subtraction and assignment operator with a vector of possibly different type.
template<typename S>
Vecnt< n, T > & | operator *= (S s)
Scalar multiplication and assignment operator with a scalar of possibly different type.
template<typename S>
Vecnt< n, T > & | operator/= (S s)
Scalar division and assignment operator with a scalar of possibly different type.
void | orthonormalize (const Vecnt< n, T > &v)
Orthonormalize this with respect to the vector v.

Detailed Description

template<unsigned int n, typename T>
class nvmath::Vecnt< n, T >

Vector class of fixed size and type.

Remarks:
This class is templated by size and type. It holds n values of type T. There are typedefs for the most common usage with 2, 3, and 4 values of type float and double: Vec2f, Vec2d, Vec3f, Vec3d, Vec4f, Vec4d.

Constructor & Destructor Documentation

Vecnt ( ) [inline]

Default constructor.

Remarks:
For performance reasons, no initialization is performed.

Vecnt ( const Vecnt< m, S > & rhs ) [inline, explicit]

Copy constructor from a vector of possibly different size and type.

Parameters:
rhs A vector with m values of type S.
Remarks:
The minimum k of n and m is determined. The first k values of type S from rhs are converted to type T and assigned as the first k values of this. If k is less than n, the n - k last values of this are not initialized.

Vecnt | ( | const Vecnt< n-1, S > & | rhs,
 |  | R | last
 | ) | [inline]

Copy constructor from a vector with one less value than this, and an explicit last value.

Parameters:
rhs | A vector with m values of type S, where m has to be one less than n.
last | A single value of type R, that will be set as the last value of this.
Remarks:
This constructor contains a compile-time assertion, to make sure that m is one less than n. The values of rhs of type S are converted to type T and assigned as the first values of this. The value last of type R also is converted to type T and assigned as the last value of this.
Example:
    Vec3f v3f(0.0f,0.0f,0.0f);
    Vec4f v4f(v3f,1.0f);

Vecnt ( T x ) [inline]

Constructor for a one-element vector.

Parameters:
x First element of the vector.
Remarks:
This constructor can only be used with one-element vectors.
Example:
    Vec1f         v1f( 1.0f );
    Vecnt<1,int>  v1i( 0 );

Vecnt | ( | T | x,
 |  | T | y
 | ) | [inline]

Constructor for a two-element vector.

Parameters:
x | First element of the vector.
y | Second element of the vector.
Remarks:
This constructor can only be used with two-element vectors.
Example:
    Vec2f         v2f( 1.0f, 2.0f );
    Vecnt<2,int>  v2i( 0, 1 );

Vecnt | ( | T | x,
 |  | T | y,
 |  | T | z
 | ) | [inline]

Constructor for a three-element vector.

Parameters:
x | First element of the vector.
y | Second element of the vector.
z | Third element of the vector.
Remarks:
This constructor contains a compile-time assertion, to make sure it is used for three-element vectors, like Vec3f, only.
Example:
    Vec3f         v3f( 1.0f, 2.0f, 3.0f );
    Vecnt<3,int>  v3i( 0, 1, 2 );

Vecnt | ( | T | x,
 |  | T | y,
 |  | T | z,
 |  | T | w
 | ) | [inline]

Constructor for a four-element vector.

Parameters:
x | First element of the vector.
y | Second element of the vector.
z | Third element of the vector.
w | Fourth element of the vector.
Remarks:
This constructor contains a compile-time assertion, to make sure it is used for four-element vectors, like Vec4f, only.
Example:
    Vec4f         v4f( 1.0f, 2.0f, 3.0f, 4.0f );
    Vecnt<4,int>  v4i( 0, 1, 2, 3 );

Member Function Documentation

const T * getPtr ( ) const [inline]

Get a pointer to the constant values of this vector.

Returns:
A pointer to the constant values of this vector.
Remarks:
It is assured, that the values of a vector are contiguous.
Example:
    GLColor3fv( p->getDiffuseColor().getPtr() );

T normalize ( ) [inline]

Normalize this vector and get it's previous length.

Returns:
The length of the vector before the normalization.

T & operator[] ( S i ) [inline]

Access operator to the values of a vector.

Parameters:
i The index of the value to access.
Returns:
A reference to the value at position i in this vector.
Remarks:
The index i has to be less than the size of the vector, given by the template argument n.
Note:
The behavior is undefined if \ i is greater or equal to n.

const T & operator[] ( S i ) const [inline]

Constant access operator to the values of a vector.

Parameters:
i The index of the value to access.
Returns:
A constant reference to the value at position i in this vector.
Remarks:
The index i has to be less than the size of the vector, given by the template argument n.
Note:
The behavior is undefined if \ i is greater or equal to n.

Vecnt< n, T > & operator= ( const Vecnt< n, S > & rhs ) [inline]

Vector assignment operator with a vector of possibly different type.

Parameters:
rhs A constant reference to the vector to assign to this.
Returns:
A reference to this.
Remarks:
The values of rhs are component-wise assigned to the values of this.

Vecnt< n, T > & operator+= ( const Vecnt< n, S > & rhs ) [inline]

Vector addition and assignment operator with a vector of possibly different type.

Parameters:
rhs A constant reference to the vector to add to this.
Returns:
A reference to this.
Remarks:
The values of rhs are component-wise added to the values of this.

Vecnt< n, T > & operator-= ( const Vecnt< n, S > & rhs ) [inline]

Vector subtraction and assignment operator with a vector of possibly different type.

Parameters:
rhs A constant reference to the vector to subtract from this.
Returns:
A reference to this.
Remarks:
The values of rhs are component-wise subtracted from the values of this.

Vecnt< n, T > & operator *= ( S s ) [inline]

Scalar multiplication and assignment operator with a scalar of possibly different type.

Parameters:
s A scalar to multiply this with.
Returns:
A reference to this.
Remarks:
The values of this are component-wise multiplied with s.

Vecnt< n, T > & operator/= ( S s ) [inline]

Scalar division and assignment operator with a scalar of possibly different type.

Parameters:
s A scalar to divide this by.
Returns:
A reference to this.
Remarks:
The values of this are component-wise divided by s.
Note:
The behavior is undefined if s is less than the type-dependent epsilon.

void orthonormalize ( const Vecnt< n, T > & v ) [inline]

Orthonormalize this with respect to the vector v.

Parameters:
v A constant reference to the vector to orthonormalize this to.
Remarks:
Subtracts the orthogonal projection of this on v from this and normalizes the it, resulting in a normalized vector that is orthogonal to v.

The documentation for this class was generated from the following file:
  • Vecnt.h
Generated on Fri Jul 13 13:29:46 2012 for SceniX


SceniX: Member List

Vecnt Member List

This is the complete list of members for Vecnt, including all inherited members.

getPtr() const | Vecnt | [inline]
normalize() | Vecnt | [inline]
operator *=(S s) | Vecnt | [inline]
operator+=(const Vecnt< n, S > &rhs) | Vecnt | [inline]
operator-=(const Vecnt< n, S > &rhs) | Vecnt | [inline]
operator/=(S s) | Vecnt | [inline]
operator=(const Vecnt< n, S > &rhs) | Vecnt | [inline]
operator[](S i) | Vecnt | [inline]
operator[](S i) const | Vecnt | [inline]
orthonormalize(const Vecnt< n, T > &v) | Vecnt | [inline]
Vecnt() | Vecnt | [inline]
Vecnt(const Vecnt< m, S > &rhs) | Vecnt | [inline, explicit]
Vecnt(const Vecnt< n-1, S > &rhs, R last) | Vecnt | [inline]
Vecnt(T x) | Vecnt | [inline]
Vecnt(T x, T y) | Vecnt | [inline]
Vecnt(T x, T y, T z) | Vecnt | [inline]
Vecnt(T x, T y, T z, T w) | Vecnt | [inline]

Generated on Fri Jul 13 13:29:46 2012 for SceniX


SceniX: vertexAttrib_t Struct Reference

vertexAttrib_t Struct Reference

The vertexAttrib_t structure specifies how vertex attributes are stored in a .NBF file. More...

#include <NBF.h>

List of all members.

Public Attributes

uint_t size
Specifies the number of coordinates per vertex.
uint_t type
Symbolic constant indicating the data type of each coordinate.
uint_t numVData
Specifies the number of vertex data stored at offset vdata.
uint_t vdata
Specifies the file offset to the raw vertex data.

Detailed Description

The vertexAttrib_t structure specifies how vertex attributes are stored in a .NBF file.

Objects of type vertexAttrib_t alway are considered in conjunction with NBFVertexAttributeSet objects.

Member Data Documentation

uint_t size

Specifies the number of coordinates per vertex.

uint_t type

Symbolic constant indicating the data type of each coordinate.

uint_t numVData

Specifies the number of vertex data stored at offset vdata.

uint_t vdata

Specifies the file offset to the raw vertex data.

The documentation for this struct was generated from the following file:
  • NBF.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

vertexAttrib_t Member List

This is the complete list of members for vertexAttrib_t, including all inherited members.

numVData | vertexAttrib_t
size | vertexAttrib_t
type | vertexAttrib_t
vdata | vertexAttrib_t

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: VertexAttribute Class Reference

nvsg::VertexAttribute

VertexAttribute Class Reference

Class to hold the data of one vertex attribute. More...

#include <VertexAttribute.h>

List of all members.

Public Types

typedef unsigned char | mem_t
typedef mem_t * | memptr_t

Public Member Functions

NVSG_API | VertexAttribute ()
Default constructor for an empty VertexAttribute.
NVSG_API | VertexAttribute (const VertexAttribute &rhs)
Copy Constructor.
NVSG_API | ~VertexAttribute ()
Destructor of a VertexAttribute.
NVSG_API void | swapData (VertexAttribute &rhs)
Exchanges the data of two VertexAttributes.
NVSG_API void | reserveData (unsigned int size, unsigned int type, unsigned int count)
Reserves space for data in this VerexAttribute.
NVSG_API void | setData (unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Copies data into this VertexAttribute.
NVSG_API void | setData (unsigned int pos, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Overwrites data in this VertexAttribute.
NVSG_API void | setData (unsigned int size, unsigned int type, const BufferSharedPtr &buffer, unsigned int offset, unsigned int strideInBytes, unsigned int count)
Sets the buffer of this vertex attribute.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		getData () const
Get a constant pointer to the vertex data of this VertexAttribute.
template<typename ValueType>
Buffer::Iterator< ValueType
>::Type 		getData ()
Get a pointer to the vertex data of this VertexAttribute.
template<typename ValueType>
Buffer::Iterator< ValueType
>::Type 		begin ()
Get an iterator to the vertex data of this attribute.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		beginRead () const
Get an const iterator to the vertex data of this attribute.
template<typename ValueType>
Buffer::Iterator< ValueType
>::Type 		end ()
Get an iterator to the vertex data of this attribute.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		endRead () const
Get an const iterator to the vertex data of this attribute.
NVSG_API void | removeData ()
Remove the vertex data assigned to this VertexAttribute.
NVSG_API unsigned int | getVertexDataCount () const
Get the number of vertex data elements in this VertexAttribute.
NVSG_API unsigned int | getVertexDataSize () const
Get the size of one vertex data element in this VertexAttribute.
NVSG_API unsigned int | getVertexDataType () const
Get the type identifier of the coordinates of the vertex data elements.
NVSG_API unsigned int | getVertexDataBytes () const
Get the size of one vertex data element in bytes.
NVSG_API unsigned int | getVertexDataStrideInBytes () const
Get the stride between two vertex data elements in the buffer.
NVSG_API unsigned int | getVertexDataOffsetInBytes () const
Get the offset of the first element in the buffer in bytes.
NVSG_API const BufferSharedPtr & | getBuffer () const
Get the buffer which is used to store vertex data.
NVSG_API bool | isContiguous () const
Check whether the vertex attribute is stored in contiguous memory.
NVSG_API VertexAttribute & | operator= (const VertexAttribute &rhs)
Assignment operator.
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.

Detailed Description

Class to hold the data of one vertex attribute.

Remarks:
A VertexAttribute holds VertexDataCount elements, each one with VertexDataSize components or coordinates, each one in turn of type VertexDataType. For a set of normals for example, VertexDataSize is three and the VertexDataType is NVSG_FLOAT.
See also:
VertexAttributeSet

Constructor & Destructor Documentation

NVSG_API VertexAttribute ( )

Default constructor for an empty VertexAttribute.

NVSG_API VertexAttribute ( const VertexAttribute & rhs )

Copy Constructor.

Parameters:
rhs VertexAttribute to copy from.

NVSG_API ~VertexAttribute ( )

Destructor of a VertexAttribute.

Member Function Documentation

NVSG_API void swapData ( VertexAttribute & rhs )

Exchanges the data of two VertexAttributes.

Parameters:
rhs A VertexAttribute whose data is to be exchanged with this VertexAttribute.
Remarks:
You should always prefer it over an assignment if you no longer need the assigned VertexAttribute rhs. It offers much better efficiency because it swaps only the internal data of the two VertexAttributes and is guaranteed to have only constant complexity, instead of the linear complexity of an assignment.

NVSG_API void reserveData | ( | unsigned int | size,
 |  | unsigned int | type,
 |  | unsigned int | count
 | ) |

Reserves space for data in this VerexAttribute.

Parameters:
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, sympbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
count | Specifies the number of vertex data to copy to reserve space for.
Remarks:
If no buffer has been allocated before a new buffer will be allocated. If the buffer size is less than the given size the buffer will be resized accordingly. Otherwise the size of the buffer remains unchanged.
See also:
getData, setData, removeData, getVertexDataCount, getVertexDataSize, getVertexDataType, getVertexDataBytes

NVSG_API void setData | ( | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) |

Copies data into this VertexAttribute.

Parameters:
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, sympbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
This function copies data from the specified location and according to the indicated data format. Data that previously was specified will be released prior to copy the new data.
See also:
getData, removeData, reserveData, getVertexDataCount, getVertexDataSize, getVertexDataType, getVertexDataBytes

NVSG_API void setData | ( | unsigned int | pos,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) |

Overwrites data in this VertexAttribute.

Parameters:
pos | Marks the position of the first vertex inside this VertexAttribute, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of vertex data.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, symbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
This function overload re-specifies previously copied vertex data starting at the indicated position. If the magic value ~0 is specified for pos, the input vertex data will be appended to the previously copied vertex data. The underlying buffer will be resized to #elements * stride of VA + offset. The behaviour is undefined if this function will be invoked on VertexAttribute objects, where the underlying buffer contains data for multiple attributes which are not interleaved. It is safe to use this function if there is only one chunk of interleaved data in this buffer.
See also:
getData, removeData, reserveData, getVertexDataCount, getVertexDataSize, getVertexDataType, getVertexDataBytes

NVSG_API void setData | ( | unsigned int | size,
 |  | unsigned int | type,
 |  | const BufferSharedPtr & | buffer,
 |  | unsigned int | offset,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) |

Sets the buffer of this vertex attribute.

Parameters:
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, sympbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
buffer | Specifies the buffer to use for this VertexAttribute.
offset | Offset of the first element in the buffer in bytes
strideInBytes | stride between two vertex elements in the buffer. A stride of 0 will calculate the stride depending on the size and type of an vertex element.
count | Specifies the number of vertex data to copy.
Remarks:
This function uses the given buffer as VertexData using the indicated data format. No data is being copied in this function call.
See also:
getData, removeData, reserveData, getVertexDataCount, getVertexDataSize, getVertexDataType, getVertexDataBytes

Buffer::ConstIterator< ValueType >::Type getData ( ) const [inline]

Get a constant pointer to the vertex data of this VertexAttribute.

Returns:
The functions returns a type-less pointer to the vertex data of this VertexAttribute. If no vertex data was specified before, the function returns NULL.
Remarks:
The function returns a type-less pointer to the stored vertex data. To access the vertex data from this pointer it requires the determination of additional vertex data traits: Use getVertexDataType to determine the per-coordinate type for each vertex in the vertex array, getVertexDataSize retrieves the number of coordinates per vertex, and getVertexDataCount returns the number of vertices in the vertex array.
See also:
setData, removeData, getVertexDataCount, getVertexDataSize, getVertexDataType, getVertexDataBytes

Buffer::Iterator< ValueType >::Type getData ( ) [inline]

Get a pointer to the vertex data of this VertexAttribute.

Returns:
The functions returns a type-less pointer to the vertex data of this VertexAttribute. If no vertex data was specified before, the function returns NULL.
Remarks:
The function returns a type-less pointer to the stored vertex data. To access the vertex data from this pointer it requires the determination of additional vertex data traits: Use getVertexDataType to determine the per-coordinate type for each vertex in the vertex array, getVertexDataSize retrieves the number of coordinates per vertex, and getVertexDataCount returns the number of vertices in the vertex array.
See also:
setData, removeData, getVertexDataCount, getVertexDataSize, getVertexDataType, getVertexDataBytes

Buffer::Iterator< ValueType >::Type begin ( )

Get an iterator to the vertex data of this attribute.

Returns:
Iterator to the first element of this attribute

Buffer::ConstIterator< ValueType >::Type beginRead ( ) const

Get an const iterator to the vertex data of this attribute.

Returns:
Iterator to the first element of this attribute

Buffer::Iterator< ValueType >::Type end ( )

Get an iterator to the vertex data of this attribute.

Returns:
Iterator behind the last element of this attribute

Buffer::ConstIterator< ValueType >::Type endRead ( ) const

Get an const iterator to the vertex data of this attribute.

Returns:
Iterator behind the last element of this attribute

NVSG_API void removeData ( )

Remove the vertex data assigned to this VertexAttribute.

Remarks:
The function releases the vertex data previously specified by setData.
See also:
setData, getData

unsigned int getVertexDataCount ( ) const [inline]

Get the number of vertex data elements in this VertexAttribute.

See also:
setData, getVertexDataSize, getVertexDataType, getVertexDataBytes

unsigned int getVertexDataSize ( ) const [inline]

Get the size of one vertex data element in this VertexAttribute.

Returns:
The function returns the number of coordinates per vertex data element. This can be 1, 2, 3, or 4. If no vertex data was specified before, the function returns 0.
See also:
setData, getVertexDataCount, getVertexDataType, getVertexDataBytes

unsigned int getVertexDataType ( ) const [inline]

Get the type identifier of the coordinates of the vertex data elements.

Returns:
The function returns a symbolic constant indicating the type of each coordinate of the vertex data elements. If no vertex data was specified, the function returns NVSG_UNSUPPORTED_TYPE.
Remarks:
The function returns the type specifier that was used with a corresponding call to setData. Use getVertexDataSize to query the number of coordinates for each vertex data. You can use the nvsg::sizeOfType convenient function to determine the size in bytes of the type returned by this function.
See also:
setData, getVertexDataCount, getVertexDataSize, getVertexDataBytes, nvsg::sizeOfType

unsigned int getVertexDataBytes ( ) const [inline]

Get the size of one vertex data element in bytes.

Returns:
The function returns the size of a vertex data element in bytes.
Remarks:
This is simply the cached result of getVertexDataSize * sizeOfType(getVertexDataType).
See also:
setData, getVertexDataCount, getVertexDataSize, getVertexDataType, nvsg::sizeOfType

unsigned int getVertexDataStrideInBytes ( ) const [inline]

Get the stride between two vertex data elements in the buffer.

Returns:
Stride in bytes

unsigned int getVertexDataOffsetInBytes ( ) const [inline]

Get the offset of the first element in the buffer in bytes.

Returns:
Offset in bytes

const BufferSharedPtr & getBuffer ( ) const [inline]

Get the buffer which is used to store vertex data.

Returns:
The Buffer of this VertexAttribute

bool isContiguous ( ) const [inline]

Check whether the vertex attribute is stored in contiguous memory.

Returns:
Returns true if stride is equal to vertex size, otherwise false, which may mean the data is interleaved.

NVSG_API VertexAttribute& operator= ( const VertexAttribute & rhs )

Assignment operator.

Parameters:
rhs The VertexAttribute to assign this with.
Returns:
A reference to this.
Remarks:
The complete data of rhs is copied over to this.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
Remarks:
Floating point data of a VertexAttribute is not used exactly to update the hash string. It's just the first three (seven) bytes of each value used for float (double) data. That way, VertexAttributes, that are only approximately equal get the same hash string. That is, you have to explicitly check for equality, even if the hash string is equal.
See also:
getHashKey

The documentation for this class was generated from the following file:
  • VertexAttribute.h
Generated on Fri Jul 13 13:30:34 2012 for SceniX


SceniX: Member List

VertexAttribute Member List

This is the complete list of members for VertexAttribute, including all inherited members.

begin() | VertexAttribute |
beginRead() const | VertexAttribute |
end() | VertexAttribute |
endRead() const | VertexAttribute |
feedHashGenerator(nvutil::HashGenerator &hg) const | VertexAttribute | [virtual]
getBuffer() const | VertexAttribute | [inline]
getData() const | VertexAttribute | [inline]
getData() | VertexAttribute | [inline]
getVertexDataBytes() const | VertexAttribute | [inline]
getVertexDataCount() const | VertexAttribute | [inline]
getVertexDataOffsetInBytes() const | VertexAttribute | [inline]
getVertexDataSize() const | VertexAttribute | [inline]
getVertexDataStrideInBytes() const | VertexAttribute | [inline]
getVertexDataType() const | VertexAttribute | [inline]
isContiguous() const | VertexAttribute | [inline]
mem_t typedef (defined in VertexAttribute) | VertexAttribute |
memptr_t typedef (defined in VertexAttribute) | VertexAttribute |
operator=(const VertexAttribute &rhs) | VertexAttribute |
removeData() | VertexAttribute |
reserveData(unsigned int size, unsigned int type, unsigned int count) | VertexAttribute |
setData(unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | VertexAttribute |
setData(unsigned int pos, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | VertexAttribute |
setData(unsigned int size, unsigned int type, const BufferSharedPtr &buffer, unsigned int offset, unsigned int strideInBytes, unsigned int count) | VertexAttribute |
swapData(VertexAttribute &rhs) | VertexAttribute |
VertexAttribute() | VertexAttribute |
VertexAttribute(const VertexAttribute &rhs) | VertexAttribute |
~VertexAttribute() | VertexAttribute |

Generated on Fri Jul 13 13:30:34 2012 for SceniX


SceniX: VertexAttributeSet Class Reference

nvsg::VertexAttributeSet

VertexAttributeSet Class Reference

Provides an interface to deal with vertex attribute data. More...

#include <VertexAttributeSet.h>

Inheritance diagram for VertexAttributeSet:

[legend]
Collaboration diagram for VertexAttributeSet:

[legend]
List of all members.

Public Types

enum {
NVSG_POSITION = 0, NVSG_VERTEX_WEIGHT, NVSG_NORMAL, NVSG_COLOR,
NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_UNUSED_1, NVSG_UNUSED_2,
NVSG_TEXCOORD0, NVSG_TEXCOORD1, NVSG_TEXCOORD2, NVSG_TEXCOORD3,
NVSG_TEXCOORD4, NVSG_TEXCOORD5, NVSG_TEXCOORD6, NVSG_TANGENT = NVSG_TEXCOORD6,
NVSG_TEXCOORD7, NVSG_BINORMAL = NVSG_TEXCOORD7, NVSG_ATTR0, NVSG_ATTR1,
NVSG_ATTR2, NVSG_ATTR3, NVSG_ATTR4, NVSG_ATTR5,
NVSG_ATTR6, NVSG_ATTR7, NVSG_ATTR8, NVSG_ATTR9,
NVSG_ATTR10, NVSG_ATTR11, NVSG_ATTR12, NVSG_ATTR13,
NVSG_ATTR14, NVSG_ATTR15, NVSG_VERTEX_ATTRIB_COUNT = 16
}

Public Member Functions

virtual NVSG_API bool | isDataShared (void) const
Returns whether the data of this object is shared.
virtual NVSG_API DataID | getDataID (void) const
Returns a 64-bit integer value, which uniquely identifies the object data.
virtual NVSG_API void | swapVertexData (unsigned int attrib, VertexAttribute &rhs)
Exchanges vertex data of two vertex attributes.
virtual NVSG_API void | reserveVertexData (unsigned int attrib, unsigned int size, unsigned int type, unsigned int count)
Reserve space for data in the specified vertex attribute.
virtual NVSG_API void | setVertexData (unsigned int attrib, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Sets data for the specified vertex attribute.
virtual NVSG_API void | setVertexData (unsigned int attrib, unsigned int pos, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count)
Overwrites data for the specified vertex attribute starting at the indicated position.
virtual NVSG_API void | setVertexData (unsigned int attrib, unsigned int size, unsigned int type, const BufferSharedPtr &buffer, unsigned int offset, unsigned int strideInBytes, unsigned int count)
Overwrites data for the specified vertex attribute using the provided buffer information.
virtual NVSG_API void | setVertexData (unsigned int attrib, const unsigned int *to, const unsigned int *from, unsigned int size, unsigned int type, const void *data, unsigned int stride, unsigned int count)
Overwrites data referenced to by an index array.
virtual NVSG_API void | removeVertexData (unsigned int attrib)
Removes vertex data assigned to the indicated vertex attribute.
virtual NVSG_API Buffer::DataReadLock | getVertexData (unsigned int attrib) const
Retrieves the vertex data for the indicated vertex attribute.
virtual NVSG_API const BufferSharedPtr & | getVertexBuffer (unsigned int attrib) const
Retrieve the nvsg::BufferSharedPtr corresponding to the given attribute.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		getVertexData (unsigned int attrib) const
virtual NVSG_API unsigned int | getSizeOfVertexData (unsigned int attrib) const
Returns the number of coordinates per vertex.
virtual NVSG_API unsigned int | getTypeOfVertexData (unsigned int attrib) const
Returns the type identifier of each coordinate.
virtual NVSG_API unsigned int | getNumberOfVertexData (unsigned int attrib) const
Returns the size of the vertex array stored for the indicated vertex attribute.
virtual NVSG_API unsigned int | getStrideOfVertexData (unsigned int attrib) const
Returns the stride between two elements of the vertex array for the indicated vertex attribute.
virtual NVSG_API unsigned int | getOffsetOfVertexData (unsigned int attrib) const
Returns the offset of the first element of the vertex array for the indicated vertex attribute.
virtual NVSG_API bool | isContiguousVertexData (unsigned int attrib) const
Returns whether the vertex attribute is contiguous.
NVSG_API void | setEnabled (unsigned int attrib, bool enable)
Specifies the enable state for the indicated vertex attribute.
NVSG_API bool | isEnabled (unsigned int attrib) const
Retrieves the enable state for the indicated vertex attribute.
NVSG_API void | setNormalizeEnabled (unsigned int attrib, bool enable)
Specifies the normalize-enable state for the indicated vertex attribute.
NVSG_API bool | isNormalizeEnabled (unsigned int attrib) const
Retrieves the normalize-enable state for the indicated vertex attribute.
NVSG_API void | setVertices (const nvmath::Vec3f *vertices, unsigned int count)
Sets position data for this VertexAttributeSet.
NVSG_API void | setVertices (unsigned int pos, const nvmath::Vec3f *vertices, unsigned int count)
Overwrites position data for this VertexAttributeSet starting at the indicated position.
NVSG_API Buffer::ConstIterator<
nvmath::Vec3f >::Type 		getVertices () const
Retrieves position data from the VertexAttributeSet.
NVSG_API unsigned int | getNumberOfVertices () const
Returns the size of the position array.
NVSG_API unsigned int | getPerVertexBytes () const
Returns the byte-size requirement per vertex.
NVSG_API void | setNormals (const nvmath::Vec3f *normals, unsigned int count)
Sets normals for this VertexAttributeSet.
NVSG_API void | setNormals (unsigned int pos, const nvmath::Vec3f *normals, unsigned int count)
Overwrites normals for this VertexAttributeSet starting at the indicated position.
NVSG_API Buffer::ConstIterator<
nvmath::Vec3f >::Type 		getNormals () const
Retrieves normals from the VertexAttributeSet.
NVSG_API unsigned int | getNumberOfNormals () const
Returns the size of the normal array.
template<unsigned int N, typename T>
void | setColors (const nvmath::Vecnt< N, T > *colors, unsigned int count)
Sets vertex colors for this VertexAttributeSet.
template<unsigned int N, typename T>
void | setColors (unsigned int pos, const nvmath::Vecnt< N, T > *colors, unsigned int count)
Overwrites colors for this VertexAttributeSet starting at the indicated position.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		getColors () const
Retrieves colors from the VertexAttributeSet.
NVSG_API unsigned int | getNumberOfColors () const
Returns the size of the color array.
NVSG_API unsigned int | getSizeOfColors () const
Returns the number of components per color.
NVSG_API unsigned int | getTypeOfColors () const
Returns the type of each color component.
template<typename T>
void | setSecondaryColors (const nvmath::Vecnt< 3, T > *colors, unsigned int count)
Sets secondary colors for this VertexAttributeSet.
template<typename ValueType>
void | setSecondaryColors (unsigned int pos, const nvmath::Vecnt< 3, ValueType > *colors, unsigned int count)
Overwrites colors for this VertexAttributeSet starting at the indicated position.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		getSecondaryColors () const
Retrieves secondary colors from the VertexAttributeSet.
NVSG_API unsigned int | getNumberOfSecondaryColors () const
Returns the size of the secondary color array.
NVSG_API unsigned int | getTypeOfSecondaryColors () const
Returns the type of each secondary color component.
template<typename T>
void | setFogCoords (const T *coords, unsigned int count)
Sets fog coordinates for this VertexAttributeSet.
template<typename T>
void | setFogCoords (unsigned int pos, T *coords, unsigned int count)
Overwrites fog coordinates starting at the indicated position.
Buffer::ConstIterator< float
>::Type 		getFogCoords () const
Retrieves fog coordinates from the VertexAttributeSet.
NVSG_API unsigned int | getNumberOfFogCoords () const
Returns the size of the fog coordinate array.
NVSG_API unsigned int | getTypeOfFogCoords () const
Returns the type of the fog coordinates.
template<unsigned int N, typename T>
void | setTexCoords (unsigned int unit, const nvmath::Vecnt< N, T > *coords, unsigned int count)
Sets a texture coordinate array.
template<unsigned int N, typename T>
void | setTexCoords (unsigned int unit, unsigned int pos, const nvmath::Vecnt< N, T > *coords, unsigned int count)
Overwrites texture coordinates starting at the indicated position.
template<typename ValueType>
Buffer::ConstIterator< ValueType
>::Type 		getTexCoords (unsigned int unit) const
Retrieves texture coordinates set for the indicated texture unit.
NVSG_API unsigned int | getNumberOfTexCoords (unsigned int unit) const
Returns the size of the texture coordinate array.
NVSG_API unsigned int | getSizeOfTexCoords (unsigned int unit) const
Returns the number of coordinates per texture coordinate array element.
NVSG_API unsigned int | getTypeOfTexCoords (unsigned int unit) const
Returns the type of each texture coordinate.
NVSG_API void | setVertexAttribute (unsigned int attrib, const VertexAttribute &vertexAttribute)
Update a given VertexAttribute.
NVSG_API const VertexAttribute & | getVertexAttribute (int attrib) const
Fetch data from one VertexAttribute.
NVSG_API VertexAttributeSet & | operator= (const VertexAttributeSet &rhs)
Assignment operator.
virtual NVSG_API bool | isEquivalent (const Object *p, bool ignoreNames, bool deepCompare) const
Test for equivalence with an other VertexAttributeSet.
virtual NVSG_API void | notifyChange (const Subject *originator, unsigned int state=0) const
REFLECTION_INFO_API (NVSG_API, VertexAttributeSet)

Static Public Member Functions

static NVSG_API VertexAttributeSetSharedPtr | create ()

Protected Member Functions

NVSG_API | VertexAttributeSet ()
Default-constructs an empty VertexAttributeSet.
NVSG_API | VertexAttributeSet (const VertexAttributeSet &rhs)
Copy Constructor.
virtual NVSG_API | ~VertexAttributeSet (void)
Destructs a VertexAttributeSet.
NVSG_API void | releaseCachedData ()
Release the cached data and all it's owners.
NVSG_API void | subscribeBuffer (int attrib)
NVSG_API void | unsubscribeBuffer (int attrib)
virtual NVSG_API void | feedHashGenerator (nvutil::HashGenerator &hg) const
Feed the data of this object into the provied HashGenerator.
virtual NVSG_API void | incrementVertexAttributeSetIncarnation () const
virtual NVSG_API const nvutil::Incarnation & | queryVertexAttributeSetIncarnation () const

Related Functions

(Note that these are not member functions.)

NVSG_API void | generateTexCoords (VertexAttributeSet *vas, TextureCoordType tct, const nvmath::Sphere3f &sphere, unsigned int tc=VertexAttributeSet::NVSG_TEXCOORD0)

Detailed Description

Provides an interface to deal with vertex attribute data.

VertexAttributeSet supports generic and conventional vertex attributes. Conventional vertex attributes are required to support fixed function vertex processing, whereas generic vertex attributes provide a more 'generic' per-vertex computation through vertex programs. Generic attributes do not support fixed function vertex processing! Conventional vertex attributes also support per-vertex computation in a vertex program, but not as general as generic vertex attributes do. For example, the conventional NORMAL vertex attribute only allows for 3-component values to pass down the vertex pipeline. Other conventional vertex attributes have similar restrictions. Generic attributes do not have this restriction.

Constructor & Destructor Documentation

NVSG_API VertexAttributeSet ( ) [protected]

Default-constructs an empty VertexAttributeSet.

NVSG_API VertexAttributeSet ( const VertexAttributeSet & rhs ) [protected]

Copy Constructor.

virtual NVSG_API ~VertexAttributeSet ( void ) [protected, virtual]

Destructs a VertexAttributeSet.

Member Function Documentation

virtual NVSG_API bool isDataShared ( void ) const [virtual]

Returns whether the data of this object is shared.

Returns:
true if the object data is shared, false otherwise.

Reimplemented from Object.

virtual NVSG_API DataID getDataID ( void ) const [virtual]

Returns a 64-bit integer value, which uniquely identifies the object data.

Returns:
A DataID, that is - a 64-bit integer value, which uniquely identifies the Object data.

Reimplemented from Object.

virtual NVSG_API void swapVertexData | ( | unsigned int | attrib,
 |  | VertexAttribute & | rhs
 | ) | [virtual]

Exchanges vertex data of two vertex attributes.

Parameters:
attrib | Indicates the vertex attribute whose data is to be exchanged with those of the VertexAttribute rhs. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed identifier.
rhs | The VertexAttribute whose data is to be exchanged with those of the vertex attribute indicated by attrib.
Remarks:
This function provides an efficient way to exchange data between two vertex attributes. It has a constant complexity, that is - it is independent of the amount of vertex data hold by the two vertex attributes.

The function does not change the enable state of the vertex attribute indicated by attrib. If rhs specifies an empty (e.g. default constructed) VertexAttribute, the vertex attribute identified by attrib will be empty after this call. In that particular case, having the attribute still enabled for rendering, results in unexpected behavior while rendering.
See also:
setVertexData, setEnabled

virtual NVSG_API void reserveVertexData | ( | unsigned int | attrib,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | unsigned int | count
 | ) | [virtual]

Reserve space for data in the specified vertex attribute.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, symbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
count | Specifies the number of vertex data to copy.
Remarks:
This function reserves data in the attribute slot attrib. If there already is data in that slot, size and type must match the size and type of that data, respectively.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) | [virtual]

Sets data for the specified vertex attribute.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, symbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
This function can be used to specify vertex data for generic vertex attributes NVSG_ATTR0 - NVSG_ATTR15, as well as for conventional vertex attributes like NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, etc.. Conventional and generic vertex attributes are aliased, where pairs of conventional and generic attributes are sharing the same storage.

setVertexData copies data from the specified location and according to the indicated data format. Data that previously was specified for the indicated vertex attribute, or it's respective aliased attribute, will be released prior to copy the new data.

Conventional vertex attributes are required to support fixed-function vertex processing, whereas generic vertex attributes provide a more 'generic' per-vertex computation through vertex programs. Generic attributes do not support fixed-function vertex processing! Conventional vertex attributes also support per-vertex computation in a vertex program, but not as general as generic vertex attributes do. Some conventional vertex attributes do have a certain restrictions regarding the number of coordinates per vertex, and the data type of coordinates, as listed in the folowing table:

<font size="+1" color="#ffffff"> Attribute </font> | <font size="+1" color="#ffffff"> Size </font> | <font size="+1" color="#ffffff"> Type </font>
NVSG_POSITION | 3 | NVSG_FLOAT
NVSG_NORMAL | 3 | NVSG_FLOAT
NVSG_COLOR | 3, 4 | NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, NVSG_DOUBLE
NVSG_SECONDARY_COLOR | 3 | NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, NVSG_DOUBLE
NVSG_FOG_COORD | 1 | NVSG_FLOAT, NVSG_DOUBLE
NVSG_TEXCOORD[0-7] | 1, 2, 3, 4 | NVSG_SHORT, NVSG_INT, NVSG_FLOAT, NVSG_DOUBLE

The data copied is not automatically enabled for rendering! Enabling the copied data for rendering requires an additional call to setEnabled.
See also:
setEnabled

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | unsigned int | pos,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) | [virtual]

Overwrites data for the specified vertex attribute starting at the indicated position.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
pos | Marks the position of the first vertex inside the already specified array of vertex data, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of vertex data.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, symbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
strideInBytes | Specifies the stride between two elements in data. A stride of 0 assumes packed data.
count | Specifies the number of vertex data to copy.
Remarks:
This setVertexData overload re-specifies previously copied vertex data starting at the indicated position. If the magic value ~0 is specified for pos, the input vertex data will be appended to the previously copied vertex data.

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const BufferSharedPtr & | buffer,
 |  | unsigned int | offset,
 |  | unsigned int | strideInBytes,
 |  | unsigned int | count
 | ) | [virtual]

Overwrites data for the specified vertex attribute using the provided buffer information.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, symbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
buffer | The buffer containing the vertex attribute data.
offset | The offset into the buffer, marking the start of the vertex attribute data.
strideInBytes | The stride between two consecutive vertex attribute data, in bytes.
count | Specifies the number of vertex data.
Remarks:
This setVertexData overload re-specifies the previously copied vertex data by abandoning the old buffer and referencing the new buffer.

virtual NVSG_API void setVertexData | ( | unsigned int | attrib,
 |  | const unsigned int * | to,
 |  | const unsigned int * | from,
 |  | unsigned int | size,
 |  | unsigned int | type,
 |  | const void * | data,
 |  | unsigned int | stride,
 |  | unsigned int | count
 | ) | [virtual]

Overwrites data referenced to by an index array.

Parameters:
attrib | Index to identify the vertex attribute. NVSG_POSITION, NVSG_NORMAL, NVSG_COLOR, NVSG_SECONDARY_COLOR, NVSG_FOG_COORD, NVSG_TEXCOORD0 - NVSG_TEXCOORD7, and NVSG_ATTR0 - NVSG_ATTR15 are allowed indices.
to | Specifies the start address of the index array, that will be taken to reference the respective vertex data to be re-specified. If NULL is passed here, the input vertex data will be appended to the array of vertex data that previously was specified.
from | Specifies the start address of the index array, that will be taken to reference the input vertex data to overwrite the previously specified vertex data.
size | Specifies the number of coordinates per vertex; must be 1, 2, 3, or 4.
type | Specifies the data type of each coordinate in the input data array. In general, symbolic constants NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted.
data | Specifies the start address of the input data array.
stride | Stride between two elements in data. Use 0 for packed data.
count | Specifies the number of vertex data to copy.
Remarks:
This setVertexData overload copies count vertex data from the vertex data array pointed to by data. Vertex data that previously was specified for the indicated vertex attribute, or it's respective aliased attribute, will be released prior to copy the new data. The input vertex data will not be copied as an contiguous range, but by referencing the input vertex data through the index array specified by from. The destination vertex data, in the same way, will be accessed through the index array pointed to by to. The following pseudo code illustrates how the copying proceeds:
      for ( unsigned int i = 0; i < count; ++i )
      {
        destination[to[i]] = source[from[i]];
      }

If a NULL pointer is passed through to, the input vertex data will be appended to the vertex data that was copied prior to this call.

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API void removeVertexData ( unsigned int attrib ) [virtual]

Removes vertex data assigned to the indicated vertex attribute.

Parameters:
attrib Specifies the vertex attribute for which to remove previously copied vertex data.
Remarks:
The function releases the vertex data that previously was specified for the vertex attribute indicated by attrib.
Note:
The function does not reset the enable state for the indicated vertex attribute! If client code intends to permanently remove vertex data for the indicated vertex attribute, the vertex attribute must no longer be enabled! This can be achieved through an explicit call to VertexAttributeSet::setEnabled with false as second argument. Leaving the vertex attribute enabled results in unexpected behavior while rendering.
See also:
setEnable

Reimplemented in AnimatedVertexAttributeSet.

Buffer::ConstIterator< ValueType >::Type getVertexData ( unsigned int attrib ) const [virtual]

Retrieves the vertex data for the indicated vertex attribute.

Parameters:
attrib Specifies the vertex attribute from which to get the vertex data.
Returns:
The function returns a type-less pointer to the vertex data that was assigned to the vertex attribute indicated by attrib prior to this call. If for this vertex attribute no vertex data was specified before, the function returns NULL.
Remarks:
The function returns a type-less pointer to the stored vertex array. To access the vertex data from this pointer it requires the determination of additional vertex data traits: Use getTypeOfVertexData to determine the per-coordinate type for each vertex in the vertex array, getSizeOfVertexData retrieves the number of coordinates per vertex, and getNumberOfVertexData returns the number of vertices in the vertex array.

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API const BufferSharedPtr& getVertexBuffer ( unsigned int attrib ) const [virtual]

Retrieve the nvsg::BufferSharedPtr corresponding to the given attribute.

Parameters:
attrib Specifies the vertex attribute from which to get the vertex data.
Returns:
The Buffer for the given attribute. It is invalid if no data was specified before.

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API unsigned int getSizeOfVertexData ( unsigned int attrib ) const [virtual]

Returns the number of coordinates per vertex.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns the number of coordinates per vertex stored for the indicated attribute. This number can be 1, 2, 3, or 4. If no vertex data was specified for this vertex attribute before, the function returns 0.

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API unsigned int getTypeOfVertexData ( unsigned int attrib ) const [virtual]

Returns the type identifier of each coordinate.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns a symbolic constant indicating the type of each coordinate in the vertex array stored for the specified vertex attribute. If no vertex data was specified for this vertex attribute before, the function returns NVSG_UNSUPPORTED_TYPE.
Remarks:
The function returns the per-coordinate type specifier that was used with a corresponding call to setVertexData. Use getSizeOfVertexData to query the number of coordinates for each vertex stored. You can use the nvsg::sizeOfType convenient function to determine the size in bytes of the type returned by this function.
See also:
setVertexData

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API unsigned int getNumberOfVertexData ( unsigned int attrib ) const [virtual]

Returns the size of the vertex array stored for the indicated vertex attribute.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns the number of vertices stored for the indicated vertex attribute.

Reimplemented in AnimatedVertexAttributeSet.

virtual NVSG_API unsigned int getStrideOfVertexData ( unsigned int attrib ) const [virtual]

Returns the stride between two elements of the vertex array for the indicated vertex attribute.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The stride in bytes between two elements in the indicated vertex attribute.

virtual NVSG_API unsigned int getOffsetOfVertexData ( unsigned int attrib ) const [virtual]

Returns the offset of the first element of the vertex array for the indicated vertex attribute.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The offset in bytes of the first element

virtual NVSG_API bool isContiguousVertexData ( unsigned int attrib ) const [virtual]

Returns whether the vertex attribute is contiguous.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
Returns true when stride matches vertex byte size

void setEnabled | ( | unsigned int | attrib,
 |  | bool | enable
 | ) | [inline]

Specifies the enable state for the indicated vertex attribute.

Parameters:
attrib | Indicates the vertex attribute for which to specify the enable state.
enable | Appoints the enable state for the indicated vertex attribute.
Remarks:
Vertex data that were specified for the indicated vertex attribute will not automatically be enabled for rendering. Use this function to appoint the enable state for the indicated vertex attribute. If true is passed as second argument, the corresponding vertex array will be enabled for rendering. If false is passed instead, the vertex array will be explicitly disabled for rendering.
See also:
isEnabled

bool isEnabled ( unsigned int attrib ) const [inline]

Retrieves the enable state for the indicated vertex attribute.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns true, if the indicated vertex attribute is enabled for rendering. Otherwise the function returns false.

void setNormalizeEnabled | ( | unsigned int | attrib,
 |  | bool | enable
 | ) | [inline]

Specifies the normalize-enable state for the indicated vertex attribute.

Parameters:
attrib | Indicates the vertex attribute for which to specify the normalize-enable state.
enable | Appoints the normalize-enable state for the indicated vertex attribute.
Remarks:
This function is meaningful only for generic vertex attributes, that is - NVSG_ATTR0 - NVSG_ATTR15. This function can be used to indicate that fixed-point generic vertex attribute array components should be converted to [-1,1] or [0,1] ranges, for signed and unsigned types resp.. If you pass true as second argument, normalization will be implicitly enabled for the vertex data of the indicated vertex attribute. The normalize request will be forwarded to the renderer. The conversion will not be performed on client-site data!

Normalize initially is disabled.

bool isNormalizeEnabled ( unsigned int attrib ) const [inline]

Retrieves the normalize-enable state for the indicated vertex attribute.

Parameters:
attrib Indicates the vertex attribute to query.
Returns:
The function returns true, if normalize conversion is enabled for the indicated vertex attribute. Otherwise, the function returns false.

void setVertices | ( | const nvmath::Vec3f * | vertices,
 |  | unsigned int | count
 | ) | [inline]

Sets position data for this VertexAttributeSet.

Parameters:
vertices | Specifies the array of input positions.
count | indicates the number of vertices to copy.
Remarks:
Use this function to specify position data for this VertexAttributeSet. A single position is required to have three coordinates of type float. Positions that previously were specified for this VertexAttributeSet will be released prior to copying the new positions.

The vertices initially are enable for rendering if specified using this function. Alternatively, you can use setVertexData with NVSG_POSITION as first argument to specify positions, but this would require an explicit enable through setEnabled.
See also:
setVertexData, setEnabled

void setVertices | ( | unsigned int | pos,
 |  | const nvmath::Vec3f * | vertices,
 |  | unsigned int | count
 | ) | [inline]

Overwrites position data for this VertexAttributeSet starting at the indicated position.

Parameters:
pos | Marks the zero-based index of the first vertex inside the already specified array of positions, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of position data.
vertices | Specifies the array of input positions.
count | indicates the number of vertices to copy.
Remarks:
Use this setVertices overload to overwrite or to append position data. A single position is required to have three coordinates of type float.
See also:
setVertexData

Buffer::ConstIterator< nvmath::Vec3f >::Type getVertices ( ) const [inline]

Retrieves position data from the VertexAttributeSet.

Returns:
The function returns the address of the first position stored in the array.
Note:
If there are no vertices, or the data is specified by the generic vertex attribute NVSG_ATTR0 and doesn't fit to the usual vertex size and format of three floats per vertex, NULL is returned.

unsigned int getNumberOfVertices ( ) const [inline]

Returns the size of the position array.

Returns:
The function returns the number of positions stored for this VertexAttributeSet.

unsigned int getPerVertexBytes ( ) const [inline]

Returns the byte-size requirement per vertex.

Returns:
Returns the number of bytes required to store a single vertex and associated attributes (normals, etc.).

void setNormals | ( | const nvmath::Vec3f * | normals,
 |  | unsigned int | count
 | ) | [inline]

Sets normals for this VertexAttributeSet.

Parameters:
normals | Specifies the normal array.
count | Indicates the size of the input normal array.
Remarks:
Use this function to specify normals for this VertexAttributeArray. Normals that previously were specified for this VertexAttributeSet will be released prior to copying the new normals.

The normals initially are enable for rendering if specified using this function. Alternatively, you can use setVertexData with NVSG_NORMAL as first argument to specify normals, but this would require an explicit enable through setEnabled.
See also:
setVertexData, setEnabled

void setNormals | ( | unsigned int | pos,
 |  | const nvmath::Vec3f * | normals,
 |  | unsigned int | count
 | ) | [inline]

Overwrites normals for this VertexAttributeSet starting at the indicated position.

Parameters:
pos | Marks the zero-based index of the first vertex inside the already specified array of normals, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of normals.
normals | Specifies the normal array.
count | Indicates the size of the input normal array.
Remarks:
Use this setNormals overload to overwrite or to append normal data.
See also:
setVertexData

Buffer::ConstIterator< nvmath::Vec3f >::Type getNormals ( ) const [inline]

Retrieves normals from the VertexAttributeSet.

Returns:
The function returns the address of the first normal stored in the array.
Note:
If there are no normals, or the data is specified by the generic vertex attribute NVSG_ATTR2 and doesn't fit to the usual normal size and format of three floats per vertex, NULL is returned.

unsigned int getNumberOfNormals ( ) const [inline]

Returns the size of the normal array.

Returns:
The function returns the number of normals stored for this VertexAttributeSet.

void setColors | ( | const nvmath::Vecnt< N, T > * | colors,
 |  | unsigned int | count
 | ) | [inline]

Sets vertex colors for this VertexAttributeSet.

Parameters:
colors | Specifies the input color array.
count | Indicates the size of the input color array.
Remarks:
Use this function to specify colors for this VertexAttributeSet. Colors can be specified to have N=3, and N=4 components of type T=char, T=unsigned char, T=short, T=unsigned short, T=int, T=unsigned int, T=float, and T=double. Colors that previously were specified for this VertexAttributeSet will be released prior to copying the new colors.

The colors initially are enable for rendering if specified using this function. Alternatively, you can use setVertexData with NVSG_COLOR as first argument to specify vertex colors, but this would require an explicit enable through setEnabled.
See also:
setVertexData, setEnabled

void setColors | ( | unsigned int | pos,
 |  | const nvmath::Vecnt< N, T > * | colors,
 |  | unsigned int | count
 | ) | [inline]

Overwrites colors for this VertexAttributeSet starting at the indicated position.

Parameters:
pos | Marks the zero-based index of the first color inside the already specified color array, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of colors.
colors | Specifies the input color array.
count | Indicates the size of the input color array.
Remarks:
Use this function to overwrite or append colors for this VertexAttributeSet. Colors can be specified to have N=3, and N=4 components of type T=char, T=unsigned char, T=short, T=unsigned short, T=int, T=unsigned int, T=float, and T=double. Specifying a different number of color components (N), or a different type (T) than specified with a previous setColors call results in undefined behavior!

Buffer::ConstIterator< ValueType >::Type getColors ( ) const [inline]

Retrieves colors from the VertexAttributeSet.

Returns:
The function returns the address of the first color stored in the array.

unsigned int getNumberOfColors ( ) const [inline]

Returns the size of the color array.

Returns:
The function returns the number of colors stored for this VertexAttributeSet.

unsigned int getSizeOfColors ( ) const [inline]

Returns the number of components per color.

Returns:
The function returns the number of components per color as specified with a previous call to setColors.

unsigned int getTypeOfColors ( ) const [inline]

Returns the type of each color component.

Returns:
The function returns a symbolic constant representing the type of each component of the currently stored colors.

void setSecondaryColors | ( | const nvmath::Vecnt< 3, T > * | colors,
 |  | unsigned int | count
 | ) | [inline]

Sets secondary colors for this VertexAttributeSet.

Parameters:
colors | Specifies the input color array.
count | Indicates the size of the input color array.
Remarks:
Use this function to specify secondary colors for this VertexAttributeSet. Secondary colors can be specified as three-component colors, of type T=char, T=unsigned char, T=short, T=unsigned short, T=int, T=unsigned int, T=float, and T=double. Secondary colors that previously were specified for this VertexAttributeSet will be released prior to copying the new colors.

The secondary colors initially are enable for rendering if specified using this function. Alternatively, you can use setVertexData with NVSG_SECONDARY_COLOR as first argument to specify secondary colors, but this would require an explicit enable through setEnabled.
See also:
setVertexData, setEnabled

void setSecondaryColors | ( | unsigned int | pos,
 |  | const nvmath::Vecnt< 3, ValueType > * | colors,
 |  | unsigned int | count
 | ) | [inline]

Overwrites colors for this VertexAttributeSet starting at the indicated position.

Parameters:
pos | Marks the zero-based index of the first color inside the already specified color array, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of colors.
colors | Specifies the input color array.
count | Indicates the size of the input color array.
Remarks:
Use this function to overwrite or append secondary colors for this VertexAttributeSet. Secondary colors can be specified as three-component colors, of type ValueType=char, ValueType=unsigned char, ValueType=short, ValueType=unsigned short, ValueType=int, ValueType=unsigned int, ValueType=float, and ValueType=double. Specifying a different type (ValueType) than specified with a previous setSecondaryColors call results in undefined behavior!

Buffer::ConstIterator< ValueType >::Type getSecondaryColors ( ) const [inline]

Retrieves secondary colors from the VertexAttributeSet.

Returns:
The function returns the address of the first secondary color stored in the array.

unsigned int getNumberOfSecondaryColors ( ) const [inline]

Returns the size of the secondary color array.

Returns:
The function returns the number of secondary colors stored for this VertexAttributeSet.

unsigned int getTypeOfSecondaryColors ( ) const [inline]

Returns the type of each secondary color component.

Returns:
The function returns a symbolic constant representing the type of each component of the currently stored secondary colors.

void setFogCoords | ( | const T * | coords,
 |  | unsigned int | count
 | ) | [inline]

Sets fog coordinates for this VertexAttributeSet.

Parameters:
coords | Specifies the input coordinate array.
count | Indicates the size of the input coordinate array.
Remarks:
Use this function to specify fog coordinates for this VertexAttributeSet. Fog coordinates can be specified as single-component coordinates, of type T=float, and T=double. Fog coordinates that previously were specified for this VertexAttributeSet will be released prior to copying the new coordinates.

The fog coordinates initially are enable for rendering if specified using this function. Alternatively, you can use setVertexData with NVSG_FOG_COORD as first argument to specify fog coordinates, but this would require an explicit enable through setEnabled.
See also:
setVertexData, setEnabled

void setFogCoords | ( | unsigned int | pos,
 |  | T * | coords,
 |  | unsigned int | count
 | ) | [inline]

Overwrites fog coordinates starting at the indicated position.

Parameters:
pos | Marks the zero-based index of the first coordinate inside the already specified fog coordinate array, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of fog coordinates.
coords | Specifies the input coordinate array.
count | Indicates the size of the input coordinate array.
Remarks:
Use this function to overwrite or append fog coordinates. Fog coordinates can be specified as single-component coordinates, of type T=float, and T=double. Specifying a different type (T) than specified with a previous setFogCoords call results in undefined behavior!

Buffer::ConstIterator< float >::Type getFogCoords ( ) const [inline]

Retrieves fog coordinates from the VertexAttributeSet.

Returns:
The function returns the address of the first coordinate stored in the array.
Note:
If there are no fog coords, or the data is specified by the generic vertex attribute NVSG_ATTR5 and doesn't fit to the usual fog coord size of one component per vertex, NULL is returned.

unsigned int getNumberOfFogCoords ( ) const [inline]

Returns the size of the fog coordinate array.

Returns:
The function returns the number of fog coordinates stored for this VertexAttributeSet.

unsigned int getTypeOfFogCoords ( ) const [inline]

Returns the type of the fog coordinates.

Returns:
The function returns a symbolic constant representing the type of the currently stored fog coordinates.

void setTexCoords | ( | unsigned int | unit,
 |  | const nvmath::Vecnt< N, T > * | coords,
 |  | unsigned int | count
 | ) | [inline]

Sets a texture coordinate array.

Parameters:
unit | Specifies the texture unit for which to specify the texture coordinate array.
coords | Specifies the input coordinate array.
count | Indicates the size of the input coordinate array.
Remarks:
Use this function to specify a texture coordinate array for the indicated texture unit. An array element can be specified to have N=1, N=2, N=3, and N=4 coordinates of type T=short, T=int, T=float, or T=double. Texture coordinates that previously were specified for the indicated texture unit will be released prior to copying the new texture coordinates.

The texture coordinates initially are enable for rendering if specified using this function. Alternatively, you can use setVertexData with NVSG_TEXCOORD0+unit as first argument to specify texture coordinates, but this would require an explicit enable through setEnabled.
See also:
setVertexData, setEnabled

void setTexCoords | ( | unsigned int | unit,
 |  | unsigned int | pos,
 |  | const nvmath::Vecnt< N, T > * | coords,
 |  | unsigned int | count
 | ) | [inline]

Overwrites texture coordinates starting at the indicated position.

Parameters:
unit | Specifies the texture unit for which to specify the texture coordinates.
pos | Marks the zero-based index of the first coordinate inside the already specified texture coordinate array, where overwriting should start. If the magic value ~0 is specified, the input data will be appended to the array of texture coordinates.
coords | Specifies the input coordinate array.
count | Indicates the size of the input coordinate array.
Remarks:
Use this function to overwrite or append texture coordinates for the indicated texture unit. Texture coordinates can be specified to have N=1, N=2, N=3, and N=4 components of type T=short, T=int, T=float, and T=double. Specifying a different number of components (N), or a different type (T) than specified with a previous setTexCoords call results in undefined behavior!

Buffer::ConstIterator< ValueType >::Type getTexCoords ( unsigned int unit ) const [inline]

Retrieves texture coordinates set for the indicated texture unit.

Parameters:
unit Specifies the texture unit to query.
Returns:
The function returns the address of the first coordinate stored in the array.

unsigned int getNumberOfTexCoords ( unsigned int unit ) const [inline]

Returns the size of the texture coordinate array.

Parameters:
unit Specifies the texture unit to query.
Returns:
The function returns the number of texture coordinate array elements stored for the indicated texture unit.

unsigned int getSizeOfTexCoords ( unsigned int unit ) const [inline]

Returns the number of coordinates per texture coordinate array element.

Parameters:
unit Specifies the texture unit to query.
Returns:
The function returns the number of coordinates per texture coordinate array element.

unsigned int getTypeOfTexCoords ( unsigned int unit ) const [inline]

Returns the type of each texture coordinate.

Parameters:
unit Specifies the texture unit to query.
Returns:
The function returns a symbolic constant representing the type of each coordinate in an element of the texture coordinate array currently assigned to the indicated texture unit.

NVSG_API void setVertexAttribute | ( | unsigned int | attrib,
 |  | const VertexAttribute & | vertexAttribute
 | ) |

Update a given VertexAttribute.

Parameters:
attrib | Indicates the vertex attribute whose data is to be exchanged with \
vertexAttribute | VertexAttribute which should be copied over the given attrib \
Remarks:
The given attribute will not be enabled. Call
See also:
setEnabled to enable the attribute

const VertexAttribute & getVertexAttribute ( int attrib ) const [inline]

Fetch data from one VertexAttribute.

Parameters:
attrib Indicates the vertex attribute whose data is to be exchanged with
Returns:
A const reference to the given vertex attribute.

NVSG_API VertexAttributeSet& operator= ( const VertexAttributeSet & rhs )

Assignment operator.

Performs a deep copy.

virtual NVSG_API bool isEquivalent | ( | const Object * | p,
 |  | bool | ignoreNames,
 |  | bool | deepCompare
 | ) | const [virtual]

Test for equivalence with an other VertexAttributeSet.

Returns:
true if the VertexAttributeSet p is equivalent to this VertexAttributeSet.
Parameters:
p | VertexAttributeSet to test for equivalence with
ignoreNames | are the names to be ignored?
deepCompare | deep compare?

Reimplemented from Object.

Reimplemented in AnimatedVertexAttributeSet.

NVSG_API void releaseCachedData ( ) [protected]

Release the cached data and all it's owners.

virtual NVSG_API void feedHashGenerator ( nvutil::HashGenerator & hg ) const [protected, virtual]

Feed the data of this object into the provied HashGenerator.

Parameters:
hg The HashGenerator to update with the data of this object.
See also:
getHashKey

Reimplemented from Object.

Reimplemented in AnimatedVertexAttributeSet.

Friends And Related Function Documentation

NVSG_API void generateTexCoords | ( | VertexAttributeSet * | vas,
 |  | TextureCoordType | tct,
 |  | const nvmath::Sphere3f & | sphere,
 |  | unsigned int | tc = VertexAttributeSet::NVSG_TEXCOORD0
 | ) | [related]

Generate texture coordinates into a texture unit. Calculates either spherical, cylindrical, or planar two-dimensional texture coordinates into texture unit tu. The sphere can be either the bounding sphere of this PrimitiveSet to calculate local texture coordinates or some other for non-local texture coordinates.

Parameters:
vas | pointer to the VertexAttributeSet to use
tct | type of texture coordinates to generate
sphere | bounding sphere to map coordinates to
tc | vertex attrib to generate the coordinates in

The documentation for this class was generated from the following file:
  • VertexAttributeSet.h
Generated on Fri Jul 13 13:30:34 2012 for SceniX


SceniX: Member List

VertexAttributeSet Member List

This is the complete list of members for VertexAttributeSet, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const (defined in Object) | Object | [protected, virtual]
calculateBoundingSphere() const (defined in Object) | Object | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in VertexAttributeSet) | VertexAttributeSet | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Object) | Object | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | VertexAttributeSet | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateTexCoords(VertexAttributeSet *vas, TextureCoordType tct, const nvmath::Sphere3f &sphere, unsigned int tc=VertexAttributeSet::NVSG_TEXCOORD0) | VertexAttributeSet | [related]
getAnnotation() const | Object |
getBoundingBox() const (defined in Object) | Object |
getBoundingBox(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Object) | Object | [protected, virtual]
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getColors() const | VertexAttributeSet | [inline]
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID(void) const | VertexAttributeSet | [virtual]
getFogCoords() const | VertexAttributeSet | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | Object | [virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSetIncarnation() const (defined in Object) | Object |
getMaterialIncarnation() const (defined in Object) | Object |
getName() const | Object |
getNormals() const | VertexAttributeSet | [inline]
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfColors() const | VertexAttributeSet | [inline]
getNumberOfFogCoords() const | VertexAttributeSet | [inline]
getNumberOfNormals() const | VertexAttributeSet | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfSecondaryColors() const | VertexAttributeSet | [inline]
getNumberOfTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getNumberOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getNumberOfVertices() const | VertexAttributeSet | [inline]
getObjectCode() const | Object | [inline]
getOffsetOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPerVertexBytes() const | VertexAttributeSet | [inline]
getPrimitiveIncarnation() const (defined in Object) | Object |
getSecondaryColors() const | VertexAttributeSet | [inline]
getSizeOfColors() const | VertexAttributeSet | [inline]
getSizeOfTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getSizeOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getStrideOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getSwitchIncarnation() const (defined in Object) | Object |
getTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getTypeOfColors() const | VertexAttributeSet | [inline]
getTypeOfFogCoords() const | VertexAttributeSet | [inline]
getTypeOfSecondaryColors() const | VertexAttributeSet | [inline]
getTypeOfTexCoords(unsigned int unit) const | VertexAttributeSet | [inline]
getTypeOfVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getUserData() const | Object | [inline]
getVertexAttribute(int attrib) const | VertexAttributeSet | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
getVertexBuffer(unsigned int attrib) const | VertexAttributeSet | [virtual]
getVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
getVertexData(unsigned int attrib) const (defined in VertexAttributeSet) | VertexAttributeSet |
getVertices() const | VertexAttributeSet | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in VertexAttributeSet) | VertexAttributeSet | [inline, protected, virtual]
isContiguousVertexData(unsigned int attrib) const | VertexAttributeSet | [virtual]
isDataShared(void) const | VertexAttributeSet | [virtual]
isEnabled(unsigned int attrib) const | VertexAttributeSet | [inline]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | VertexAttributeSet | [virtual]
isNormalizeEnabled(unsigned int attrib) const | VertexAttributeSet | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
notify(const Subject *originator, unsigned int state) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in VertexAttributeSet) | VertexAttributeSet | [virtual]
NVSG_ATTR0 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR1 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR10 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR11 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR12 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR13 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR14 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR15 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR2 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR3 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR4 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR5 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR6 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR7 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR8 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_ATTR9 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_BINORMAL enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_COLOR enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_FOG_COORD enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_NORMAL enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_POSITION enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SECONDARY_COLOR enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TANGENT enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD0 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD1 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD2 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD3 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD4 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD5 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD6 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TEXCOORD7 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_UNUSED_1 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_UNUSED_2 enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
NVSG_VERTEX_ATTRIB_COUNT enum value (defined in VertexAttributeSet) | VertexAttributeSet |
NVSG_VERTEX_WEIGHT enum value (defined in VertexAttributeSet) | VertexAttributeSet |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const VertexAttributeSet &rhs) | VertexAttributeSet |
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in VertexAttributeSet) | VertexAttributeSet | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, VertexAttributeSet) (defined in VertexAttributeSet) | VertexAttributeSet |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseCachedData() | VertexAttributeSet | [protected]
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
removeVertexData(unsigned int attrib) | VertexAttributeSet | [virtual]
reserveVertexData(unsigned int attrib, unsigned int size, unsigned int type, unsigned int count) | VertexAttributeSet | [virtual]
setAnnotation(const std::string &anno) | Object |
setColors(const nvmath::Vecnt< N, T > *colors, unsigned int count) | VertexAttributeSet | [inline]
setColors(unsigned int pos, const nvmath::Vecnt< N, T > *colors, unsigned int count) | VertexAttributeSet | [inline]
setEnabled(unsigned int attrib, bool enable) | VertexAttributeSet | [inline]
setFogCoords(const T *coords, unsigned int count) | VertexAttributeSet | [inline]
setFogCoords(unsigned int pos, T *coords, unsigned int count) | VertexAttributeSet | [inline]
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setName(const std::string &name) | Object |
setNormalizeEnabled(unsigned int attrib, bool enable) | VertexAttributeSet | [inline]
setNormals(const nvmath::Vec3f *normals, unsigned int count) | VertexAttributeSet | [inline]
setNormals(unsigned int pos, const nvmath::Vec3f *normals, unsigned int count) | VertexAttributeSet | [inline]
setSecondaryColors(const nvmath::Vecnt< 3, T > *colors, unsigned int count) | VertexAttributeSet | [inline]
setSecondaryColors(unsigned int pos, const nvmath::Vecnt< 3, ValueType > *colors, unsigned int count) | VertexAttributeSet | [inline]
setTexCoords(unsigned int unit, const nvmath::Vecnt< N, T > *coords, unsigned int count) | VertexAttributeSet | [inline]
setTexCoords(unsigned int unit, unsigned int pos, const nvmath::Vecnt< N, T > *coords, unsigned int count) | VertexAttributeSet | [inline]
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttribute(unsigned int attrib, const VertexAttribute &vertexAttribute) | VertexAttributeSet |
setVertexData(unsigned int attrib, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | VertexAttributeSet | [virtual]
setVertexData(unsigned int attrib, unsigned int pos, unsigned int size, unsigned int type, const void *data, unsigned int strideInBytes, unsigned int count) | VertexAttributeSet | [virtual]
setVertexData(unsigned int attrib, unsigned int size, unsigned int type, const BufferSharedPtr &buffer, unsigned int offset, unsigned int strideInBytes, unsigned int count) | VertexAttributeSet | [virtual]
setVertexData(unsigned int attrib, const unsigned int *to, const unsigned int *from, unsigned int size, unsigned int type, const void *data, unsigned int stride, unsigned int count) | VertexAttributeSet | [virtual]
setVertices(const nvmath::Vec3f *vertices, unsigned int count) | VertexAttributeSet | [inline]
setVertices(unsigned int pos, const nvmath::Vec3f *vertices, unsigned int count) | VertexAttributeSet | [inline]
subscribeBuffer(int attrib) (defined in VertexAttributeSet) | VertexAttributeSet | [protected]
swapVertexData(unsigned int attrib, VertexAttribute &rhs) | VertexAttributeSet | [virtual]
syncIncarnation(PFNGETINCARNATION) const (defined in Object) | Object | [protected, virtual]
unsubscribeBuffer(int attrib) (defined in VertexAttributeSet) | VertexAttributeSet | [protected]
VertexAttributeSet() | VertexAttributeSet | [protected]
VertexAttributeSet(const VertexAttributeSet &rhs) | VertexAttributeSet | [protected]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~VertexAttributeSet(void) | VertexAttributeSet | [protected, virtual]

Generated on Fri Jul 13 13:30:34 2012 for SceniX


SceniX: ViewState Class Reference

nvsg::ViewState

ViewState Class Reference

The ViewState class encapsulates view-specific state. More...

#include <ViewState.h>

Collaboration diagram for ViewState:

[legend]
List of all members.

Public Member Functions

NVSG_API ViewState & | operator= (const ViewState &rhs)
Make a flat copy of another ViewState.
NVSG_API bool | isAnimating () const
Test if there is currently an animation running.
NVSG_API void | setAnimating (bool animating)
Set the animation state of this view.
NVSG_API bool | advanceAnimation (unsigned int tick, int delta=1)
Advance the animation to the next tick, using the specified step size.
NVSG_API unsigned int | getCurrentTick () const
Get the current tick to use for animations.
NVSG_API int | getCurrentDelta () const
Get the current delta to use for animations.
NVSG_API void | setCamera (const CameraSharedPtr &camera)
Sets the Camera for this view.
NVSG_API void | setRendererOptions (const nvui::RendererOptionsSharedPtr &rendererOptions)
Sets the RendererOptions for this view.
NVSG_API const nvui::RendererOptionsSharedPtr & | getRendererOptions () const
Gets the RendererOptions for this view.
NVSG_API const CameraSharedPtr & | getCamera () const
Returns the current Camera.
NVSG_API float | getTargetDistance () const
Get the distance to the target point.
NVSG_API void | setTargetDistance (float dist)
Set the distance to the target point.
NVSG_API bool | isStereoAutomaticEyeDistanceAdjustment () const
Test on automatic eye distance calculation.
NVSG_API void | setStereoAutomaticEyeDistanceAdjustment (bool state)
Enable/Disable automatic eye distance adjustment.
NVSG_API float | getStereoAutomaticEyeDistanceFactor () const
Get the automatic eye distance adjustment factor.
NVSG_API void | setStereoAutomaticEyeDistanceFactor (float factor)
Set the automatic eye distance adjustment factor.
NVSG_API float | getStereoEyeDistance () const
Get the eye distance for stereo rendering.
NVSG_API void | setStereoEyeDistance (float distance)
Set the eye distance for stereo rendering.
NVSG_API void | setStereoReversedEyes (bool state)
Function to reverse the left and the right eye for stereo rendering.
NVSG_API bool | isStereoReversedEyes () const
Test on reversed eyes in stereo rendering.
NVSG_API void | setLODRangeScale (float factor)
Set the LOD range scale factor.
NVSG_API float | getLODRangeScale () const
Get the LOD range scale factor Get the LOD range scale factor.
NVSG_API const MapListSharedPtr & | getMapList () const
Returns the current MapList.
NVSG_API void | setMapList (const MapListSharedPtr &ml)
Sets the MapList.
NVSG_API void | setTraversalMask (unsigned int mask)
Set a TraversalMask to be used with this ViewState.
NVSG_API unsigned int | getTraversalMask () const
Returns the current traversal mask.
NVSG_API const SceneSharedPtr & | getScene () const
Returns the current Scene of the ViewState.
NVSG_API void | setScene (const SceneSharedPtr &scene)
Set the Scene of the ViewState.
NVSG_API bool | getAutoClipPlanes () const
Query if automatic clip plane adjustment is on.
NVSG_API void | setAutoClipPlanes (bool enable)
Enable/Disable automatic clip plane adjustment.
NVSG_API const nvutil::Incarnation & | getIncarnation () const
Returns the actual incarnation count of this ViewState.
REFLECTION_INFO_API (NVSG_API, ViewState)
BEGIN_DECLARE_STATIC_PROPERTIES
NVSG_API 		DECLARE_STATIC_PROPERTY (AutoClipPlanes)
NVSG_API | DECLARE_STATIC_PROPERTY (TargetDistance)
NVSG_API | DECLARE_STATIC_PROPERTY (StereoAutomaticEyeDistanceFactor)
NVSG_API | DECLARE_STATIC_PROPERTY (StereoEyeDistance)
NVSG_API | DECLARE_STATIC_PROPERTY (LODRangeScale)
NVSG_API | DECLARE_STATIC_PROPERTY (TraversalMask)

Static Public Member Functions

static NVSG_API ViewStateSharedPtr | create ()

Protected Member Functions

NVSG_API | ViewState ()
Default-constructs a ViewState.
NVSG_API | ViewState (const ViewState &rhs)
Copy-constructs a ViewState from another ViewState.
virtual NVSG_API | ~ViewState ()
Destructs a ViewState.

Detailed Description

The ViewState class encapsulates view-specific state.

Namespace: nvsg
Remarks:
The ViewState encapsulates the view-specific information into one object. The ViewState defines how the user looks at the scene. It contains the camera and specific viewing settings like stereo view and does the bookkeeping of animation information.

nvsg::ViewState and nvsg::Scene and nvui::RendererOptions are the three major components that need to come together to produce a rendered image. The scene contains basically the tree, the ViewState defines how to look at the tree, and the RendererOptions contains the parameters for the renderer which renders the final image.

Constructor & Destructor Documentation

NVSG_API ViewState ( ) [protected]

Default-constructs a ViewState.

Remarks:
After instantiation, the ViewState has the following properties:
  • no animation running
  • no camera defined
  • no stereo
  • no LOD range scaling
  • no cull information

NVSG_API ViewState ( const ViewState & rhs ) [protected]

Copy-constructs a ViewState from another ViewState.

Parameters:
rhs Source ViewState.

virtual NVSG_API ~ViewState ( ) [protected, virtual]

Destructs a ViewState.

Member Function Documentation

NVSG_API ViewState& operator= ( const ViewState & rhs )

Make a flat copy of another ViewState.

Parameters:
rhs Source ViewState.

bool isAnimating ( ) const [inline]

Test if there is currently an animation running.

Returns:
The return value of this function is true when an animation is currently running.
Remarks:
This function can be used to determine the animation state of the view.
See also:
setAnimating

void setAnimating ( bool animating ) [inline]

Set the animation state of this view.

Parameters:
animating Parse in true to enable animation, otherwise false.
Remarks:
This function controls the animation state of the view. Animation can be turned on and off.

NVSG_API bool advanceAnimation | ( | unsigned int | tick,
 |  | int | delta = 1
 | ) |

Advance the animation to the next tick, using the specified step size.

Parameters:
tick | The tick for the next animation step.
delta | The number of steps to go from the previous tick.
Returns:
true, if animations currently are running, otherwise false.
Remarks:
A ViewState feeds the tick and delta into the scene used.
See also:
getCurrentTick, getCurrentDelta

unsigned int getCurrentTick ( ) const [inline]

Get the current tick to use for animations.

Returns:
The current tick to feed into a scene for animation purposes.
Remarks:
Each running Animation advances, when the current tick is different from its previous tick.
See also:
advanceAnimation, getCurrentDelta

int getCurrentDelta ( ) const [inline]

Get the current delta to use for animations.

Returns:
The current delta specifying the number of steps on a changing tick.
Remarks:
Each running Animation advances by this delta steps per animation tick.
See also:
advanceAnimation, getCurrentTick

NVSG_API void setCamera ( const CameraSharedPtr & camera )

Sets the Camera for this view.

Parameters:
camera The Camera to set.
Remarks:
The given camera is used for the rendering.
See also:
getCamera

NVSG_API void setRendererOptions ( const nvui::RendererOptionsSharedPtr & rendererOptions )

Sets the RendererOptions for this view.

Parameters:
rendererOptions The RendererOptions to set

NVSG_API const nvui::RendererOptionsSharedPtr& getRendererOptions ( ) const

Gets the RendererOptions for this view.

Parameters:
rendererOptions The RendererOptions to set

NVSG_API const CameraSharedPtr& getCamera ( ) const

Returns the current Camera.

Returns:
The Camera which is used in this view. If there is no Camera associated with this view, the function returns NULL.
See also:
setCamera

float getTargetDistance ( ) const [inline]

Get the distance to the target point.

Returns:
The distance from the current view point to the target point.
Remarks:
The target point is as the reference point for rotations of the camera.
See also:
setTargetDistance

void setTargetDistance ( float dist ) [inline]

Set the distance to the target point.

Parameters:
dist distance between the view point (camera position) and the target point.
Remarks:
The target point is used as the reference point for rotations of the camera.
See also:
getTargetDistance

bool isStereoAutomaticEyeDistanceAdjustment ( ) const [inline]

Test on automatic eye distance calculation.

Returns:
This function returns true when the distance is automatically calculated.
Remarks:
This function can be used to test if the automatic eye distance calculation for stereo is turned on. The automatic eye distance is calculated by multiplying the adjustment factor by the focus distance of the camera.
See also:
setStereoAutomaticEyeDistanceAdjustment, getStereoAutomaticEyeDistanceFactor, setStereoAutomaticEyeDistanceFactor

void setStereoAutomaticEyeDistanceAdjustment ( bool state ) [inline]

Enable/Disable automatic eye distance adjustment.

Parameters:
state Pass in true to enable automatic eye distance calculation.
Remarks:
The automatic eye distance is calculated by multiplying the adjustment factor by the focus distance of the camera.
See also:
isStereoAutomaticEyeDistanceAdjustment, getStereoAutomaticEyeDistanceFactor, setStereoAutomaticEyeDistanceFactor

float getStereoAutomaticEyeDistanceFactor ( ) const [inline]

Get the automatic eye distance adjustment factor.

Returns:
This function returns the eye distance adjustment factor.
Remarks:
The automatic eye distance is calculated by multiplying the adjustment factor by the focus distance of the camera.
Example
See also:
setStereoAutomaticEyeDistanceAdjustment, getStereoAutomaticEyeDistanceFactor, setStereoAutomaticEyeDistanceFactor

void setStereoAutomaticEyeDistanceFactor ( float factor ) [inline]

Set the automatic eye distance adjustment factor.

Parameters:
factor Distance factor.
Remarks:
The automatic eye distance is calculated by multiplying the adjustment factor by the focus distance of the camera.
The default value is 0.03 (3%). This value represents the following setup:
A person with an eye distance of about six cm sitting in front of the monitor, where the monitor is about one meter away. This setup leads to very natural stereo impression.
See also:
isStereoAutomaticEyeDistanceAdjustment, getStereoAutomaticEyeDistanceFactor, setStereoAutomaticEyeDistanceFactor

float getStereoEyeDistance ( ) const [inline]

Get the eye distance for stereo rendering.

Returns:
This function returns the eye distance. If the camera of this ViewState is not valid, the behavior is undefined.
Remarks:
The eye distance can be automatically calculated or manually set by the application. Make sure that a valid camera is defined when asking for the eye distance since the the automatic eye distance calculation is based on the focus distance of the camera of this ViewState.
See also:
setStereoEyeDistance, isStereoAutomaticEyeDistanceAdjustment, isStereoAutomaticEyeDistanceAdjustment, getStereoAutomaticEyeDistanceFactor, setStereoAutomaticEyeDistanceFactor

void setStereoEyeDistance ( float distance ) [inline]

Set the eye distance for stereo rendering.

Parameters:
distance Distance between the left and the right eye.
Remarks:
This function manually sets the eye distance for stereo rendering.
See also:
setStereoEyeDistance, isStereoAutomaticEyeDistanceAdjustment, isStereoAutomaticEyeDistanceAdjustment, getStereoAutomaticEyeDistanceFactor, setStereoAutomaticEyeDistanceFactor

void setStereoReversedEyes ( bool state ) [inline]

Function to reverse the left and the right eye for stereo rendering.

Parameters:
state true puts the image for the left eye onto the right eye framebuffer and vice versa. The default state is false.
See also:
isStereoReversedEyes

bool isStereoReversedEyes ( ) const [inline]

Test on reversed eyes in stereo rendering.

Returns:
This function returns true when the left and the right eye are reversed.
Remarks:
If the eyes are reversed you will see the image for the left eye on the right eye and vice versa.
See also:
setStereoReversedEyes

void setLODRangeScale ( float factor ) [inline]

Set the LOD range scale factor.

Parameters:
factor The factor to scale the LOD scale ranges. The default value is 1.f, so the unscaled ranges are used.
Remarks:
This function sets a scaling factor for LOD ranges of the LOD nodes in the tree.
The scale factor can be used to globally scale the ranges without changing the LOD node ranges directly. This can be used, for example, for scenes that were initially created for viewing on small monitors. You can use this scaling to fine-tune these scenes for large projection walls by scaling the LOD levels to switch later to a lower resolution representation.
See also:
LOD::getLODToUse, getLODRangeScale

float getLODRangeScale ( ) const [inline]

Get the LOD range scale factor Get the LOD range scale factor.

Returns:
The LOD range scale factor for all the LOD nodes in the tree. By default this factor is 1.f, so unscaled ranges of the LOD node will be used.
Remarks:
The scale factor can be used to globally scale the ranges without changing the LOD node ranges directly. This can be used, for example, for scenes that were initially created for viewing on small monitors. You can use this scaling to fine-tune these scenes for large projection walls by scaling the LOD levels to switch later to a lower resolution representation.
See also:
LOD::getLODToUse, setLODRangeScale

const MapListSharedPtr & getMapList ( ) const [inline]

Returns the current MapList.

Returns:
The MapList of this ViewState.
Remarks:
This function retrieves the current MapList.
A MapList contains two-dimensional maps that can be used to render, for example, overlays for Menus or textual information on top of the scene.
Example
See the MapListViewer tutorial on how to use this functionality.
See also:
MapList, MapObject, setMapList

void setMapList ( const MapListSharedPtr & ml ) [inline]

Sets the MapList.

Remarks:
This function assigns a MapList.
A MapList contains two-dimensional maps that can be used to render, for example, overlays for Menus or textual information on top of the scene.
Example
See the MapListViewer tutorial on how to use this functionality.
See also:
MapList, MapObject, getMapList

void setTraversalMask ( unsigned int mask ) [inline]

Set a TraversalMask to be used with this ViewState.

Parameters:
mask The mask to be used.
Remarks:
The traversal mask is used in conjuction with Traverser-derived and Renderer-derived objects to determine whether nodes in the scene (and therefore possibly the entire subgraph) are traversed, and/or rendered. Traversers and renderers will use the traversal mask stored in the ViewState along with their TraversalMaskOverride's. See Traverser::setTraversalMask or SceneRenderer::setTraversalMask for more information.
Note:
The default traversal mask is ~0 so that all objects will be traversed/rendered. Setting the traversal mask to 0 will cause no nodes to be traversed/rendered.
See also:
getTraversalMask, Object::setTraversalMask, Traverser::setTraversalMask, SceneRenderer::setTraversalMask

unsigned int getTraversalMask ( ) const [inline]

Returns the current traversal mask.

Returns:
The current traversal mask.
See also:
setTraversalMask

NVSG_API const SceneSharedPtr& getScene ( ) const

Returns the current Scene of the ViewState.

Returns:
The Scene of this ViewState.

NVSG_API void setScene ( const SceneSharedPtr & scene )

Set the Scene of the ViewState.

Parameters:
scene The new Scene

bool getAutoClipPlanes ( ) const [inline]

Query if automatic clip plane adjustment is on.

Returns:
true, if automatic clip plane adjustment is on, otherwise false.
See also:
setAutoClipPlanes, getCamera

void setAutoClipPlanes ( bool enable ) [inline]

Enable/Disable automatic clip plane adjustment.

Parameters:
enable true enables automatic clip plane adjustment, false disables it.
Remarks:
When automatic clip plane adjustment is true, on calling getCamera the clip planes of this ViewState's camera are adjusted to ensure the whole depth of the scene is visible. If the user has additional information about the scene that might help clipping, this should be turned off. The default value is true.
See also:
getAutoClipPlanes, getCamera

NVSG_API const nvutil::Incarnation& getIncarnation ( ) const

Returns the actual incarnation count of this ViewState.

Returns:
The function returns the actual incarnation count of this ViewState.
The returned incarnation count usually is used to test it against a related incarnation count maintained by some client to detect if changes have been made to the ViewState.

The documentation for this class was generated from the following file:
  • ViewState.h
Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: Member List

ViewState Member List

This is the complete list of members for ViewState, including all inherited members.

advanceAnimation(unsigned int tick, int delta=1) | ViewState |
create() (defined in ViewState) | ViewState | [static]
DECLARE_STATIC_PROPERTY(AutoClipPlanes) (defined in ViewState) | ViewState |
DECLARE_STATIC_PROPERTY(TargetDistance) (defined in ViewState) | ViewState |
DECLARE_STATIC_PROPERTY(StereoAutomaticEyeDistanceFactor) (defined in ViewState) | ViewState |
DECLARE_STATIC_PROPERTY(StereoEyeDistance) (defined in ViewState) | ViewState |
DECLARE_STATIC_PROPERTY(LODRangeScale) (defined in ViewState) | ViewState |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in ViewState) | ViewState |
getAutoClipPlanes() const | ViewState | [inline]
getCamera() const | ViewState |
getCurrentDelta() const | ViewState | [inline]
getCurrentTick() const | ViewState | [inline]
getIncarnation() const | ViewState |
getLODRangeScale() const | ViewState | [inline]
getMapList() const | ViewState | [inline]
getRendererOptions() const | ViewState |
getScene() const | ViewState |
getStereoAutomaticEyeDistanceFactor() const | ViewState | [inline]
getStereoEyeDistance() const | ViewState | [inline]
getTargetDistance() const | ViewState | [inline]
getTraversalMask() const | ViewState | [inline]
isAnimating() const | ViewState | [inline]
isStereoAutomaticEyeDistanceAdjustment() const | ViewState | [inline]
isStereoReversedEyes() const | ViewState | [inline]
operator=(const ViewState &rhs) | ViewState |
REFLECTION_INFO_API(NVSG_API, ViewState) (defined in ViewState) | ViewState |
setAnimating(bool animating) | ViewState | [inline]
setAutoClipPlanes(bool enable) | ViewState | [inline]
setCamera(const CameraSharedPtr &camera) | ViewState |
setLODRangeScale(float factor) | ViewState | [inline]
setMapList(const MapListSharedPtr &ml) | ViewState | [inline]
setRendererOptions(const nvui::RendererOptionsSharedPtr &rendererOptions) | ViewState |
setScene(const SceneSharedPtr &scene) | ViewState |
setStereoAutomaticEyeDistanceAdjustment(bool state) | ViewState | [inline]
setStereoAutomaticEyeDistanceFactor(float factor) | ViewState | [inline]
setStereoEyeDistance(float distance) | ViewState | [inline]
setStereoReversedEyes(bool state) | ViewState | [inline]
setTargetDistance(float dist) | ViewState | [inline]
setTraversalMask(unsigned int mask) | ViewState | [inline]
ViewState() | ViewState | [protected]
ViewState(const ViewState &rhs) | ViewState | [protected]
~ViewState() | ViewState | [protected, virtual]

Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: WriteMapping Class Reference

nvutil::WriteMapping

WriteMapping Class Reference

Helper class to ease efficient writing of large files. More...

#include <FileMapping.h>

Inheritance diagram for WriteMapping:

[legend]
Collaboration diagram for WriteMapping:

[legend]
List of all members.

Public Member Functions

NVSG_API | WriteMapping (const std::string &fileName, size_t fileSize)
Constructor using the name of the file to write.
NVSG_API | ~WriteMapping ()
Destructor of a writable mapping.
NVSG_API void * | mapIn (size_t offset, size_t numBytes)
Map a view of the file.

Detailed Description

Helper class to ease efficient writing of large files.

See also:
FileMapping

Constructor & Destructor Documentation

NVSG_API WriteMapping | ( | const std::string & | fileName,
 |  | size_t | fileSize
 | ) |

Constructor using the name of the file to write.

Parameters:
fileName | The name of the file to write.
fileSize | The size of the file to write.
Remarks:
If there is enough free space on the disk specified by fileName, a file of that with the name fileName is created.
Example:
    WriteMapping wm = new WriteMapping( fileName, preCalculatedFileSize );
    if ( wm->isValid() )
    {...}

NVSG_API ~WriteMapping ( )

Destructor of a writable mapping.

Remarks:
If the WriteMapping is valid, the written file is closed.

Member Function Documentation

NVSG_API void* mapIn | ( | size_t | offset,
 |  | size_t | numBytes
 | ) |

Map a view of the file.

Parameters:
offset | The offset that has to be part of the mapping.
numBytes | The number of bytes that, starting from offset, are to be part of the mapping.
Returns:
A pointer to the mapped memory location, or NULL if the mapping failed.
See also:
mapOut

Reimplemented from FileMapping.

The documentation for this class was generated from the following file:
  • FileMapping.h
Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: Member List

WriteMapping Member List

This is the complete list of members for WriteMapping, including all inherited members.

FileMapping() | FileMapping | [protected]
getLastError() const | FileMapping | [inline]
isValid() const | FileMapping | [inline]
m_accessType | FileMapping | [protected]
m_file | FileMapping | [protected]
m_fileMapping | FileMapping | [protected]
m_isValid | FileMapping | [protected]
m_mappingSize | FileMapping | [protected]
mapIn(size_t offset, size_t numBytes) | WriteMapping |
mapOut(const void *offsetPtr) | FileMapping |
WriteMapping(const std::string &fileName, size_t fileSize) | WriteMapping |
~FileMapping() | FileMapping | [protected]
~WriteMapping() | WriteMapping |

Generated on Fri Jul 13 13:31:23 2012 for SceniX


SceniX: WRLLoader Class Reference

WRLLoader Class Reference

A Scene loader for wrl files. More...

#include <WRLLoader.h>

Inheritance diagram for WRLLoader:

[legend]
Collaboration diagram for WRLLoader:

[legend]
List of all members.

Public Member Functions

unsigned int | getStepsPerUnit () const
Get the number of steps per time unit.
void | setStepsPerUnit (unsigned int stepsPerUnit)
Get the number of steps per time unit.
void | deleteThis (void)
Realization of the pure virtual interface function of a PlugIn.
nvsg::SceneSharedPtr | load (const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState)
Realization of the pure virtual interface function of a SceneLoader.

Detailed Description

A Scene loader for wrl files.

Remarks:
This loader does not support the complete VRML 2.0 standard. Only a subset of the Nodes are mapped to SceniX objects. Unsupported VRML Nodes are just ignored.
The following VRML Nodes are supported:
  • Appearance
    An Appearance Node is translated into a nvsg::StateSet that might hold a nvsg::Material and a nvsg::TextureAttribute. If the nvsg::Material has an opacity of less than one, or if the nvsg::TextureAttribute holds a texture with alpha channel, a nvsg::BlendAttribute is added.
  • Background
    The Background::skyColor is used as the back color of the nvsg::Scene.
  • Billboard
    A Billboard Node is translated into a nvsg::Billboard. If the length of Billboard::axisOfRotation is less than FLT_EPSILON, the nvsg::Billboard is set to be screen aligned, otherwise it is not and the Billboard::axisOfRotation is used as the rotation axis. All the Billboard::children are added to the nvsg::Billboard as children.
  • Box
    A Box Node first is translated into an IndexedFaceSet Node with a tessellation depending on its model size. The Box is tessellated to capture per-vertex lighting better. The tessellation has the defaults of minimum two, at size 1.0 four, and maximum eight vertices along a modelspace coordinate axis. The tessellation can be controlled with the NVSG_WRL_SUBDIVISIONS environment variable described below at the end of the WRLLoader class. (Set the Box tessellation values to 2 2 2 to get the previous WRLLoader behavior.) If the associated Appearance Node holds a Texture Node, texture coordinates are created following the alignment described in the VRML specs. Then the IndexedFaceSet Node is interpreted as described below.
  • Color
    A Color Node is translated into the colors of a nvsg::VertexAttributeSet.
  • ColorInterpolator
    A ROUTE with an eventOut Node as a ColorInterpolator, an eventOut name of "value_changed", an eventIn Node as a Color, and an eventIn name of "color" or "set_color" is translated into an animation fo colors, used for example in an nvsg::AnimatedTriangles.
  • Cone
    A Cone Node first is translated into an IndexedFaceSet Node with a tessellation depending on its model size. The tessellation has the defaults of minimum 12, at radius 1.0 36, and maximum 90 vertices around the side's circle. The tessellation can be controlled with the NVSG_WRL_SUBDIVISIONS environment variable described below at the end of the WRLLoader class. If the associated Appearance Node holds a Texture Node, texture coordinates are created following the alignment described in the VRML specs. Then the IndexedFaceSet Node is interpreted as described below.
  • Coordinate
    A Coordinate Node is translated into the vertices of a nvsg::VertexAttributeSet.
  • CoordinateInterpolator
    A ROUTE with an eventOut Node as a CoordinateInterpolator, an eventOut name of "value_changed", an eventIn Node as a Coordinate, and an eventIn name of "point" or "set_point" is translated into an animation of vertices, used for example in an nvsg::AnimatedTriangles.
  • Cylinder
    A Cylinder Node first is translated into an IndexedFaceSet Node with a tessellation depending on its model size. The tessellation has the defaults of minimum 12, at radius 1.0 36, and maximum 90 vertices around the side's circle. The tessellation can be controlled with the NVSG_WRL_SUBDIVISIONS environment variable described below at the end of the WRLLoader class. If the associated Appearance Node holds a Texture Node, texture coordinates are created following the alignment described in the VRML specs. Then the IndexedFaceSet Node is interpreted as described below.
  • DirectionalLight
    A DirectionalLight Node is translated into a nvsg::DirectedLight. The DirectionalLight::ambientIntensity times the DirectionalLight::color is set as the ambient color; the DirectionalLight::intensity times the DirectionalLight::color is set as the diffuse and the specular color; the DirectionalLight::direction is set as the direction.
  • ElevationGrid
    An ElevationGrid Node is translated into an IndexedFaceSet Node with one Quad per grid cell, using xDimension, xSpacing, height, zDimension, and zSpacing. If ElevationGrid::color is not NULL, IndexedFaceSet::color is set to ElevationGrid::color and IndexedFaceSet::colorPerVertex is set to ElevationGrid::colorPerVertex. If ElevationGrid::normal is not NULL, IndexedFaceSet::normal is set to ElevationGrid::normal and IndexedFaceSet::normalPerVertex is set to ElevationGrid::normalPerVertex. If ElevationGrid::texCoord is not NULL, IndexedFaceSet::texCoord is set to ElevationGrid::texCoord. If ElevationGrid::texCoord is NULL, IndexedFaceSet::texCoord is set by creating texture coordinates ranging from (0,0) at the first vertex to (1,1) at the last vertex. IndexedFaceSet::ccw, IndexedFaceSet::creaseAngle, and IndexedFaceSet::solid are set to ElevationGrid::ccw, ElevationGrid::creaseAngle, and ElevationGrid::solid, respectively.
  • Group
    A Group Node is translated into a nvsg::Group. All the Group::children are added to the nvsg::Group as children.
  • ImageTexture
    An ImageTexture Node is translated into a nvsg::TextureAttribute. If a file could be found at Node::url, and a nvsg::TextureHost could be created out of that, a nvsg::TextureAttributeItem is created to hold that nvsg::TextureHost. ImageTexture::repeatS and ImageTexture::repeatT are translated to the nvsg::TextureWrapMode TWM_REPEAT or TWM_CLAMP for the nvsg::TextureWrapCoordAxis TWCA_S and TWCA_T, respectively. That nvsg::TextureAttributeItem then is bound to texture unit 0 in the new nvsg::TextureAttribute.
  • IndexedFaceSet
    An IndexedFaceSet Node is translated into a nvsg::Triangles and/or a nvsg::Quads. Only triangles and quadrangles are used. Faces with more than 4 vertices are ignored. If IndexedFaceSet::normal is NULL, a Normal Node holding a set of smoothed normals is created, using IndexedFaceSet::creaseAngle. If there is a ROUTE with a "set_point" eventIn on IndexedFaceSet::coord or if there is a ROUTE with a "set_vector" eventIn on IndexedFaceSet::normal, instead of a nvsg::Triangles and/or a nvsg::Quads a nvsg::AnimatedTriangles and/or a nvsg::AnimatedQuads are created, each one with a nvsg::LinearInterpolatedAnimationDescription of a nvsg::VNVector. If IndexedFaceSet::color is not NULL, one color per vertex is created, using IndexedFaceSet::colorIndex and IndexedFaceSet::colorPerVertex if needed, and set as the color. The IndexedFaceSet::coord is set as the vertices, using IndexedFaceSet::coordIndex if needed. If IndexedFaceSet::normal is not NULL, one normal per vertex is created, using IndexedFaceSet::normalIndex and IndexedFaceSet::normalPerVertex if needed, and set as the normals. If IndexedFaceSet::texCoord is not NULL, one two-dimensional texture coordinate per vertex is created, using IndexedFaceSet::texCoordIndex, and as the texture coordinates for texture unit 0. If IndexedFaceSet::ccw is true, the triangles and quads are inverted. IndexedFaceSet::convex and IndexedFaceSet::solid are ignored.
  • IndexedLineSet
    An IndexedLineSet Node is translated into a nvsg::LineStrips. For each index in IndexedLineSet::coordIndex, a vertex is created out of IndexedLineSet::coord. If IndexedLineSet::color is not NULL, one color per vertex is created, using IndexedLineSet::colorIndex and IndexedLineSet::colorPerVertex if needed.
  • Inline
    If the file specified by Inline::url can be loaded, it is loaded into it's own nvsg::Scene, and the root node of that nvsg::Scene is used.
  • LOD
    A LOD Node is translated into a nvsg::LOD. All the LOD::level are added to the nvsg::LOD as children. The LOD::center is set as the center in the nvsg::LOD. If LOD::range is not empty, those values are used as the ranges in nvsg::LOD. Otherwise some default ranges are created.
  • Material
    A Material Node is translated into a nvsg::Material. The Material::ambientIntensity times the Material::diffuseColor is set as the ambient color of the nvsg::Material. The Material::diffuseColor, Material::emissiveColor, and Material::specularColor are set as the diffuse color, emissive color, and specular color, respectively, of the nvsg::Material. The Material::shininess is multiplied by 128 and set as the specular exponent of the nvsg::Material. One minus Material::transparency is set as the opacity of the nvsg::Material.
  • Normal
    A Normal Node is translated into the normals of a nvsg::VertexAttributeSet.
  • NormalInterpolator
    A ROUTE with an eventOut Node as a NormalInterpolator, an eventOut name of "value_changed", an eventIn Node as a Normal, and an eventIn name of "vector" or "set_vector" is translated into an animation of normals, used for example in an nvsg::AnimatedTriangles.
  • OrientationInterpolator
    A ROUTE with an eventOut Node as an OrientationInterpolator, an eventOut name of "value_changed", an eventIn Node as a Transform or a Viewpoint, and an eventIn name of "orientation" or "set_orientation" is translated into an animation of orientations, used for example in an nvsg::AnimatedTransform.
  • PointLight
    A PointLight Node is translated into a nvsg::PointLight. The PointLight::ambientIntensity times the PointLight::color is set as the ambient color of the nvsg::PointLight. The PointLight::intensity times the PointLight::color is set as the diffuse color of the nvsg::PointLight. The PointLight::diffuseColor, PointLight::attenuation, and PointLight::location are set as the specular color, attenuation, and position, respectively, of the nvsg::PointLight.
  • PointSet
    A PointSet Node is translated into a nvsg::Points. The PointSet::coord is set as the vertices of the nvsg::Points. If PointSet::colors is not NULL, they are set as the colors of the nvsg::Points.
  • PositionInterpolator
    A ROUTE with an eventOut Node as an PositionInterpolator, an eventOut name of "value_changed", an eventIn Node as a Transform or a Viewpoint, and an eventIn name of "center", "set_center", "scale", "set_scale", "translation", or "set_translation", in case of a Transform as the eventIn Node, or "position" or "set_position", in case of a Viewpoint as the eventIn Node, is translated into an animation of nvmath::Vec3f, used for example in an AnimatedTransform.
  • Shape
    A Shape Node is translated into a nvsg::GeoNode. If the Shape::appearance is not NULL, it is translated into a nvsg::StateSet, and if Shape::geometry is not NULL, it is translated into a number of nvsg::Drawable, that are added to the nvsg::GeoNode as the geometries.
  • Sphere
    A Sphere Node first is translated into an IndexedFaceSet Node with a tessellation depending on its model size. The tessellation has the defaults of minimum 12, at radius 1.0 36, and maximum 90 vertices around the side's circle. The tessellation can be controlled with the NVSG_WRL_SUBDIVISIONS environment variable described below at the end of the WRLLoader class. If the associated Appearance Node holds a Texture Node, texture coordinates are created following the alignment described in the VRML specs. Then the IndexedFaceSet Node is interpreted as described below.
  • SpotLight
    A SpotLight Node is translated into a nvsg::SpotLight. The SpotLight::ambientIntensity times the SpotLight::color is set as the ambient color of the nvsg::SpotLight. The SpotLight::intensity times the SpotLight::color is set as the diffuse color of the nvsg::SpotLight. The SpotLight::diffuseColor, SpotLight::attenuation, SpotLight::direction, SpotLight::location, and half of the SpotLight::cutOffAngle are set as the specular color, attenuation, direction, and cut off angle, respectively, of the nvsg::SpotLight. If the SpotLight::beamWidth is less than the SpotLight::cutOffAngle, the SpotLight::cutOffAngle divided by the SpotLight::beamWidth is set as the falloff exponent of the nvsg::SpotLight.
  • Switch
    A Switch Node is translated into a nvsg::Switch. All the Switch::choice are set as the children of the nvsg::Switch. If Switch::whichChoice is between 0 and the number of children, that child is set as active, otherwise no child is set as active.
  • TextureCoordinate
    A TextureCoordinate Node is translated into two-dimensional texture coordinates for the first texture unit in a nvsg::VertexAttributeSet.
  • TextureTransform
    A TextureTransform Node is translated into the orientation (rotation around the z-axis), scaling (in x and y), and translation (in x and y) of a nvsg::TextureAttributeItem. The TextureTransform::center is ignored.
  • TimeSensor
    A ROUTE with an eventOut Node as an TimeSensor, an eventOut name of "fraction_changed", an eventIn Node as an Interpolator, and an eventIn name of "fraction" or "set_fraction" is translated into a TimeSensor for that Interpolator. Currently, only the cycleInterval is used to determine the duration of the animation.
  • Transform
    A Transform Node is translated into a nvsg::Transform. If there is a ROUTE with a Transform as the eventIn Node and "center", "set_center", "rotation", "set_rotation", "scale", "set_scale", "translation" or "set_translation" as the eventIn name, an nvsg::AnimatedTransform is created instead. Transform::center, Transform::rotation, Transform::scale, Transform::scaleOrientation, and Transform::translation are used to form the nvmath::Trafo of the nvsg::Transform. All the Transform::children are added to the nvsg:Transform as children.
  • Viewpoint
    A Viewpoint Node is translated into a nvsg::PerspectiveCamera. Viewpoint::fieldOfView, Viewpoint::orientation, and Viewpoint::position are set as field of view, orientation and position, respectively of the nvsg::PerspectiveCamera. If there is a ROUTE with an eventOut Node as an OrientationInterpolator, an eventOut name of "value_changed", an eventIn Node as a Viewpoint, and an eventIn name of "orientation" or "set_orientation", or if there is a ROUTE with an eventOut Node as a PositionInterpolator, an eventOut name of "value_changed", an eventIn Node as a Viewpoint, and an eventIn name of "position" or "set_position", a camera animation of type nvsg::LinearInterpolatedAnimationDescription of nvmath::Trafo is created in addition. The Viewpoint::jump and Viewpoint::description are ignored.
That is, the followng VRML Nodes are not supported: Anchor, AudioClip, Collision, CylinderSensor, Extrusion, Fog, FontStyle, MovieTexture, NavigationInfo, PixelTexture, PlaneSensor, ProximitySensor, ScalarInterpolator, Script, Sound, SphereSensor, Text, TouchSensor, VisibilitySensor, WorldInfo. Additionally, as described in detail above, only a very limited number of events, and no sensors are supported. No PROTO or EXTERNPROTO is supported.

The NVSG_WRL_SUBDIVISIONS environment variable controls the tessellation of Box, Cone, Cylinder, and Sphere. The creation functions attempt to subdivide with square sized quads. The centers of capping discs (Cone, Cylinder) use triangles around the pole. The first three values control the minimum, standard at radius 1.0, and maximum subdivisions for a full circle of a sphere, cylinder, cone tessellation depending on their radii and heights. The second three values control the minimum, standard at size 1.0, and maximum subdivisions for a Box depending on its size. (Note that the default Box has size 2.0!) The default values used inside the WRLoader match the behavior of this environment variable setting: NVSG_WRL_SUBDIVISIONS=12 36 90 2 4 8

See also:
SceneLoader

Member Function Documentation

unsigned int getStepsPerUnit ( ) const [inline]

Get the number of steps per time unit.

Returns:
The number of steps per time unit used in animations.
Remarks:
The animations in a WRL file are specified by key values, usually in the range [0...1]. This is one time unit and this WRLLoader uses stepsPerUnit intervals for remapping them into the frame based animation approach of SceniX.
See also:
setStepsPerUnit

void setStepsPerUnit ( unsigned int stepsPerUnit ) [inline]

Get the number of steps per time unit.

Parameters:
stepsPerUnit The number of steps per time unit used in animations.
Remarks:
The animations in a WRL file are specified by key values, usually in the range [0...1]. This is one time unit and this WRLLoader uses stepsPerUnit intervals for remapping them into the frame based animation approach of SceniX.
See also:
getStepsPerUnit

void deleteThis ( void ) [inline, virtual]

Realization of the pure virtual interface function of a PlugIn.

Note:
Never call delete on a PlugIn, always use the member function.

Implements PlugIn.

nvsg::SceneSharedPtr load | ( | const std::string & | filename,
 |  | const std::vector< std::string > & | searchPaths,
 |  | nvsg::ViewStateSharedPtr & | viewState
 | ) |

Realization of the pure virtual interface function of a SceneLoader.

Loads a nvsg file given by filename. It looks for this file and possibly referenced other files like textures or effects at the given path first, then at the current location and finally it searches through the searchPaths.

Returns:
A pointer to the loaded scene.
Parameters:
filename | file to load
searchPaths | paths to search through
viewState | If the function succeeded, this points to the optional ViewState stored with the scene.

The documentation for this class was generated from the following file:
  • WRLLoader.h
Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: Member List

WRLLoader Member List

This is the complete list of members for WRLLoader, including all inherited members.

addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addRef() const | RCObject | [inline, protected]
callback(void) const | PlugIn | [inline, protected]
callback(void) | PlugIn | [inline, protected]
deleteThis(void) | WRLLoader | [inline, virtual]
getStepsPerUnit() const | WRLLoader | [inline]
IAllocator() | IAllocator | [inline]
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
load(const std::string &filename, const std::vector< std::string > &searchPaths, nvsg::ViewStateSharedPtr &viewState) | WRLLoader |
nvsg::SceneLoader::load(const std::string &filename, const std::vector< std::string > &searchPaths, ViewStateSharedPtr &viewState)=0 | SceneLoader | [pure virtual]
markUnshareable() | RCObject | [inline]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
operator=(const RCObject &rhs) | RCObject | [inline, protected]
PlugIn() (defined in PlugIn) | PlugIn | [inline]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setCallback(PlugInCallback *cb, bool throwExceptionOnError=true) | PlugIn | [inline]
setStepsPerUnit(unsigned int stepsPerUnit) | WRLLoader | [inline]
theAllocator typedef | IAllocator |
WRLLoader() (defined in WRLLoader) | WRLLoader |
~IAllocator() | IAllocator | [inline, virtual]
~PlugIn() (defined in PlugIn) | PlugIn | [inline, protected, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~SceneLoader() | SceneLoader | [protected, virtual]
~WRLLoader() (defined in WRLLoader) | WRLLoader |

Generated on Fri Jul 13 13:29:10 2012 for SceniX


SceniX: WRLLoadTraverser Class Reference

WRLLoadTraverser Class Reference

Internally used traverser for post-processing a just loaded VRML file. More...

#include <WRLLoadTraverser.h>

Inheritance diagram for WRLLoadTraverser:

[legend]
Collaboration diagram for WRLLoadTraverser:

[legend]
List of all members.

Public Member Functions

WRLLoadTraverser ()
Constructor.
virtual | ~WRLLoadTraverser (void)
Destructor.

Protected Member Functions

virtual void | doApply (const nvsg::NodeSharedPtr &root)
Entry point of the postprocessor of the WRLLoader.
virtual void | handleAnimatedTransform (nvsg::AnimatedTransform *p)
Postprocessing on AnimatedTransform.
virtual void | handleBillboard (nvsg::Billboard *p)
Postprocessing on Billboard.
virtual void | handleGroup (nvsg::Group *p)
Postprocessing on Group.
virtual void | handleSwitch (nvsg::Switch *p)
Postprocessing on Switch.
virtual void | handleLOD (nvsg::LOD *p)
Postprocessing on LOD.
virtual void | handleTransform (nvsg::Transform *p)
Postprocessing on Transform.

Detailed Description

Internally used traverser for post-processing a just loaded VRML file.

Constructor & Destructor Documentation

WRLLoadTraverser ( )

Constructor.

virtual ~WRLLoadTraverser ( void ) [virtual]

Destructor.

Member Function Documentation

virtual void doApply ( const nvsg::NodeSharedPtr & root ) [protected, virtual]

Entry point of the postprocessor of the WRLLoader.

It first initiates a standard traversal of the ViewSate and Scene, then all encountered lights are set to be children of the root node.

Reimplemented from ExclusiveTraverser.

virtual void handleAnimatedTransform ( nvsg::AnimatedTransform * p ) [protected, virtual]

Postprocessing on AnimatedTransform.

First the standard traversal of p is initiated, then all children of type LightSource are moved to the root node.

Reimplemented from ExclusiveTraverser.

virtual void handleBillboard ( nvsg::Billboard * p ) [protected, virtual]

Postprocessing on Billboard.

First the standard traversal of p is initiated, then all children of type LightSource are moved to the root node.

Reimplemented from ExclusiveTraverser.

virtual void handleGroup ( nvsg::Group * p ) [protected, virtual]

Postprocessing on Group.

First the standard traversal of p is initiated, then all children of type LightSource are moved to the root node.

Reimplemented from ExclusiveTraverser.

virtual void handleSwitch ( nvsg::Switch * p ) [protected, virtual]

Postprocessing on Switch.

First the standard traversal of p is initiated, then all children of type LightSource are moved to the root node.

Reimplemented from ExclusiveTraverser.

virtual void handleLOD ( nvsg::LOD * p ) [protected, virtual]

Postprocessing on LOD.

First the standard traversal of p is initiated, then all children of type LightSource are moved to the root node.

Reimplemented from ExclusiveTraverser.

virtual void handleTransform ( nvsg::Transform * p ) [protected, virtual]

Postprocessing on Transform.

First the standard traversal of p is initiated, then all children of type LightSource are moved to the root node.

Reimplemented from ExclusiveTraverser.

The documentation for this class was generated from the following file:
  • WRLLoadTraverser.h
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Member List

WRLLoadTraverser Member List

This is the complete list of members for WRLLoadTraverser, including all inherited members.

addObjectHandler(unsigned int objectCode, void(T::*handler)(U *)) | ExclusiveTraverser | [inline, protected]
addObjectHandler(unsigned int objectCode, void(T::*handler)(U *, V)) | ExclusiveTraverser | [inline, protected]
addOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
addProperty(const std::string &name, PropertyId property) | Reflection |
addRef() const | RCObject | [inline, protected]
apply() | Traverser |
apply(const nvsg::NodeSharedPtr &root) | Traverser |
apply(const nvsg::SceneSharedPtr &scene) | Traverser |
apply(const nvsg::ViewStateSharedPtr &viewstate) | Traverser |
attach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
detach(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
doApply(const nvsg::NodeSharedPtr &root) | WRLLoadTraverser | [protected, virtual]
doTraverseDrawable(const nvsg::DrawableSharedPtr &p) | ExclusiveTraverser | [protected, virtual]
doTraverseObject(const nvsg::ObjectSharedPtr &p) | ExclusiveTraverser | [inline, protected, virtual]
ExclusiveTraverser() | ExclusiveTraverser |
getClassName() const | Reflection |
getCurrentTextureUnit() const | Traverser | [inline, protected]
getProperty(unsigned int index) const | Reflection |
getProperty(const std::string &name) const | Reflection |
getPropertyCount() const | Reflection |
getPropertyName(unsigned int index) const | Reflection |
getPropertyName(const PropertyId propertyId) const | Reflection |
getPropertyType(PropertyId propertyId) const | Reflection | [inline]
getReflectionInfo() const (defined in Reflection) | Reflection | [inline, protected, virtual]
getTraversalMask() const | ExclusiveTraverser | [inline, virtual]
getTraversalMaskOverride() const | Traverser | [inline, virtual]
getTreeModified(void) const | ExclusiveTraverser | [inline]
getValue(PropertyId propertyId) const | Reflection | [inline]
handleAlphaTestAttribute(nvsg::AlphaTestAttribute *alphaTestAttrib) | ExclusiveTraverser | [protected, virtual]
handleAnimatedTransform(nvsg::AnimatedTransform *p) | WRLLoadTraverser | [protected, virtual]
handleAnimatedVertexAttributeSet(nvsg::AnimatedVertexAttributeSet *avas) | ExclusiveTraverser | [protected, virtual]
handleBillboard(nvsg::Billboard *p) | WRLLoadTraverser | [protected, virtual]
handleBlendAttribute(nvsg::BlendAttribute *blendAttrib) | ExclusiveTraverser | [protected, virtual]
handleCgFx(nvsg::CgFx *cgfx) | ExclusiveTraverser | [protected, virtual]
handleDepthAttribute(nvsg::DepthAttribute *depthAttrib) | ExclusiveTraverser | [protected, virtual]
handleDirectedLight(nvsg::DirectedLight *light) | ExclusiveTraverser | [protected, virtual]
handleFaceAttribute(nvsg::FaceAttribute *faceAttrib) | ExclusiveTraverser | [protected, virtual]
handleFlipbookAnimation(nvsg::FlipbookAnimation *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedIndexAnimationDescription(nvsg::FramedAnimationDescription< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleFramedTrafoAnimationDescription(nvsg::FramedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleFramedVertexAttributeAnimationDescription(nvsg::FramedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleGeoNode(nvsg::GeoNode *gnode) | ExclusiveTraverser | [protected, virtual]
handleGroup(nvsg::Group *p) | WRLLoadTraverser | [protected, virtual]
handleIndexAnimation(nvsg::Animation< unsigned int > *anim) | ExclusiveTraverser | [protected, virtual]
handleLightingAttribute(nvsg::LightingAttribute *laAttrib) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedTrafoAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvmath::Trafo > *trafo) | ExclusiveTraverser | [protected, virtual]
handleLinearInterpolatedVertexAttributeAnimationDescription(nvsg::LinearInterpolatedAnimationDescription< nvsg::VertexAttribute > *p) | ExclusiveTraverser | [protected, virtual]
handleLineAttribute(nvsg::LineAttribute *lineAttrib) | ExclusiveTraverser | [protected, virtual]
handleLines(nvsg::Lines *lines) | ExclusiveTraverser | [protected, virtual]
handleLineStrips(nvsg::LineStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleLOD(nvsg::LOD *p) | WRLLoadTraverser | [protected, virtual]
handleMapArray(nvsg::MapArray *mapArray) | ExclusiveTraverser | [protected, virtual]
handleMapElement(nvsg::MapElement *mapElement) | ExclusiveTraverser | [protected, virtual]
handleMapList(nvsg::MapList *mapList) | ExclusiveTraverser | [protected, virtual]
handleMapMatrix(nvsg::MapMatrix *mapMatrix) | ExclusiveTraverser | [protected, virtual]
handleMaterial(nvsg::Material *material) | ExclusiveTraverser | [protected, virtual]
handleMatrixCamera(nvsg::MatrixCamera *camera) | ExclusiveTraverser | [protected, virtual]
handleParallelCamera(nvsg::ParallelCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePerspectiveCamera(nvsg::PerspectiveCamera *camera) | ExclusiveTraverser | [protected, virtual]
handlePointAttribute(nvsg::PointAttribute *pointAttrib) | ExclusiveTraverser | [protected, virtual]
handlePointLight(nvsg::PointLight *light) | ExclusiveTraverser | [protected, virtual]
handlePoints(nvsg::Points *points) | ExclusiveTraverser | [protected, virtual]
handlePrimitive(nvsg::Primitive *primitive) | ExclusiveTraverser | [protected, virtual]
handleQuadMeshes(nvsg::QuadMeshes *meshes) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches(nvsg::QuadPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleQuadPatches4x4(nvsg::QuadPatches4x4 *patches) | ExclusiveTraverser | [protected, virtual]
handleQuads(nvsg::Quads *quads) | ExclusiveTraverser | [protected, virtual]
handleQuadStrips(nvsg::QuadStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleRectPatches(nvsg::RectPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleRTBufferAttribute(nvsg::RTBufferAttribute *rtba) | ExclusiveTraverser | [protected, virtual]
handleRTFx(nvsg::RTFx *rtfx) | ExclusiveTraverser | [protected, virtual]
handleRTFxProgram(nvsg::RTFxProgram *rtfxProgram) (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected, virtual]
handleRTFxSceneAttribute(nvsg::RTFxSceneAttribute *rtfxsa) | ExclusiveTraverser | [protected, virtual]
handleShape(nvsg::Shape *shape) | ExclusiveTraverser | [protected, virtual]
handleSkin(nvsg::Skin *skin) | ExclusiveTraverser | [protected, virtual]
handleSpotLight(nvsg::SpotLight *light) | ExclusiveTraverser | [protected, virtual]
handleStatePass(nvsg::StatePass *pass) | ExclusiveTraverser | [protected, virtual]
handleStateSet(nvsg::StateSet *stateSet) | ExclusiveTraverser | [protected, virtual]
handleStateVariant(nvsg::StateVariant *variant) | ExclusiveTraverser | [protected, virtual]
handleStencilAttribute(nvsg::StencilAttribute *stencilAttrib) | ExclusiveTraverser | [protected, virtual]
handleSwitch(nvsg::Switch *p) | WRLLoadTraverser | [protected, virtual]
handleTextureAttribute(nvsg::TextureAttribute *texAttrib) | ExclusiveTraverser | [protected, virtual]
handleTextureAttributeItem(nvsg::TextureAttributeItem *texAttribItem) | ExclusiveTraverser | [protected, virtual]
handleTrafoAnimation(nvsg::Animation< nvmath::Trafo > *anim) | ExclusiveTraverser | [protected, virtual]
handleTransform(nvsg::Transform *p) | WRLLoadTraverser | [protected, virtual]
handleTriangles(nvsg::Triangles *triangles) | ExclusiveTraverser | [protected, virtual]
handleTriFans(nvsg::TriFans *fans) | ExclusiveTraverser | [protected, virtual]
handleTriPatches(nvsg::TriPatches *patches) | ExclusiveTraverser | [protected, virtual]
handleTriPatches4(nvsg::TriPatches4 *patches) | ExclusiveTraverser | [protected, virtual]
handleTriStrips(nvsg::TriStrips *strips) | ExclusiveTraverser | [protected, virtual]
handleUnlitColorAttribute(nvsg::UnlitColorAttribute *unlitColor) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeAnimation(nvsg::Animation< nvsg::VertexAttribute > *anim) | ExclusiveTraverser | [protected, virtual]
handleVertexAttributeSet(nvsg::VertexAttributeSet *vas) | ExclusiveTraverser | [protected, virtual]
hasProperty(const PropertyId propertyId) const | Reflection | [virtual]
hasProperty(const std::string &name) const | Reflection | [virtual]
IAllocator() | IAllocator | [inline]
initReflection(const char *classname) | Reflection | [inline, static]
initReflectionInfo() (defined in Reflection) | Reflection | [inline, static]
initStaticProperties(nvutil::ReflectionInfo &properties) (defined in Reflection) | Reflection | [inline, static]
interruptTraversal() | Traverser | [inline]
isAttached(const ObserverWeakPtr &oh, const SmartPayload &payload) const | Subject |
isShareable() const | RCObject | [inline]
isShared() const | RCObject | [inline]
lockViewState() | ExclusiveTraverser | [protected, virtual]
m_bvIncarnation (defined in Traverser) | Traverser | [protected]
m_camera (defined in Traverser) | Traverser | [protected]
m_cameraIncarnation (defined in Traverser) | Traverser | [protected]
m_currentAttrib (defined in Traverser) | Traverser | [protected]
m_hintsIncarnation (defined in Traverser) | Traverser | [protected]
m_interrupt | Traverser | [protected]
m_lockedCamera (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedScene (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_lockedViewState (defined in ExclusiveTraverser) | ExclusiveTraverser | [protected]
m_mftbl | Traverser | [protected]
m_mutableLock (defined in Subject) | Subject | [protected]
m_primitiveIncarnation (defined in Traverser) | Traverser | [protected]
m_problemLog | Traverser | [protected]
m_propertyLists | Reflection | [protected]
m_root | Traverser | [protected]
m_rootIncarnation (defined in Traverser) | Traverser | [protected]
m_scene | Traverser | [protected]
m_sceneIncarnation (defined in Traverser) | Traverser | [protected]
m_traverserBits | Traverser | [protected]
m_vertexAttributeSetIncarnation (defined in Traverser) | Traverser | [protected]
m_viewState | Traverser | [protected]
makeEnumProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makeProperty() | Reflection | [inline, protected, static]
makePropertyMember() | Reflection | [inline, protected, static]
markUnshareable() | RCObject | [inline]
notify(const Subject *originator, unsigned int state) const | Subject | [virtual]
notify(PropertyId propertyId) const | Subject | [virtual]
notifyPostAddChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPostAddClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPostAddLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
notifyPostGroupExchanged(const nvsg::Group *group) | Subject |
notifyPreRemoveChild(const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index) | Subject |
notifyPreRemoveClipPlane(const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr &clipPlane) | Subject |
notifyPreRemoveLightSource(const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource) | Subject |
NVSG_BV_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_CAMERA_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_ROOT_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_SCENE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
NVSG_TRAVERSAL_INTERRUPTED enum value (defined in Traverser) | Traverser | [protected]
NVSG_TREE_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEW_DIRTY_MASK enum value (defined in Traverser) | Traverser | [protected]
NVSG_VIEWSTATE_DIRTY enum value (defined in Traverser) | Traverser | [protected]
operator delete(void *p, size_t size) | IAllocator | [inline]
operator delete[](void *p, size_t size) | IAllocator | [inline]
operator new(size_t size) | IAllocator | [inline]
operator new(size_t size, void *p) | IAllocator | [inline]
operator new[](size_t size) | IAllocator | [inline]
nvutil::operator=(const RCObject &rhs) | RCObject | [inline, protected]
operator=(const Reflection &rhs) (defined in Reflection) | Reflection | [inline]
operator=(const Subject &rhs) (defined in Subject) | Subject | [inline]
postApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
postTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
postTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
postTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
postTraverseObject(const nvsg::Object *object) | Traverser | [inline, protected, virtual]
preApply(const nvsg::NodeSharedPtr &root) | Traverser | [protected, virtual]
preTraverseDrawable(const nvsg::Drawable *drawable) | Traverser | [protected, virtual]
preTraverseDrawables(const nvsg::GeoNode *gnode, nvsg::GeoNode::StateSetConstIterator ssci) | Traverser | [protected, virtual]
preTraverseGroup(const nvsg::Group *grp) | Traverser | [protected, virtual]
RCObject() | RCObject | [inline, protected]
RCObject(const RCObject &rhs) | RCObject | [inline, protected]
Reflection() | Reflection | [inline]
Reflection(const Reflection &rhs) | Reflection |
removeOnDestroyCallback(DestroyCallback *dcb, void *data) | RCObject | [inline]
removeRef() const | RCObject | [inline, protected]
setTraversalMask(unsigned int mask) | Traverser | [inline, virtual]
setTraversalMaskOverride(unsigned int mask) | Traverser | [inline, virtual]
setValue(PropertyId propertyId, const T &value) | Reflection | [inline]
setViewState(const nvsg::ViewStateSharedPtr &viewState) | Traverser | [virtual]
SmartPayload typedef (defined in Subject) | Subject |
Subject() (defined in Subject) | Subject |
theAllocator typedef | IAllocator |
traverseAnimatedVertexAttributeSet(const nvsg::AnimatedVertexAttributeSet *avas) (defined in Traverser) | Traverser | [protected]
traverseAnimation(const nvsg::Animation< T > *anim) (defined in Traverser) | Traverser | [protected]
traverseCamera(nvsg::Camera *camera) | ExclusiveTraverser | [protected, virtual]
traverseFrustumCamera(nvsg::FrustumCamera *camera) | ExclusiveTraverser | [protected, virtual]
traverseGeoNode(const nvsg::GeoNode *gnode) | Traverser | [protected]
traverseGroup(const T *grp) | Traverser | [protected]
traverseLight(nvsg::LightSource *light) | ExclusiveTraverser | [protected, virtual]
traverseLockedObject(const nvsg::Object *obj) (defined in Traverser) | Traverser | [inline, protected]
traverseMapList(const nvsg::MapList *mapList) | Traverser | [protected]
traverseObject(const nvsg::ObjectSharedPtr &obj) | Traverser | [inline, protected]
traversePrimitive(nvsg::Primitive *p) | ExclusiveTraverser | [protected, virtual]
nvtraverser::Traverser::traversePrimitive(const nvsg::Primitive *prim) | Traverser | [protected]
traversePrimitiveSet(nvsg::PrimitiveSet *pset) | ExclusiveTraverser | [protected, virtual]
Traverser() | Traverser | [protected]
traverseSceneAttribute(const nvsg::SceneAttribute *attribute) | Traverser | [protected]
traverseShape(const nvsg::Shape *shape) | Traverser | [protected]
traverseStateAttribute(const nvsg::StateAttribute *attribute) | Traverser | [protected]
traverseStatePass(const nvsg::StatePass *pass) | Traverser | [protected]
traverseStateSet(const nvsg::StateSet *stateSet) (defined in Traverser) | Traverser | [protected]
traverseStateVariant(const nvsg::StateVariant *variant) | Traverser | [protected]
traverseTextureAttribute(const nvsg::TextureAttribute *texAttrib) | Traverser | [protected]
unlockViewState() | ExclusiveTraverser | [protected, virtual]
wasTraversalInterrupted() | Traverser | [inline]
WRLLoadTraverser() | WRLLoadTraverser |
~ExclusiveTraverser() | ExclusiveTraverser | [inline, protected, virtual]
~IAllocator() | IAllocator | [inline, virtual]
~RCObject() | RCObject | [inline, protected, virtual]
~Reflection() | Reflection | [virtual]
~Subject() (defined in Subject) | Subject |
~Traverser() | Traverser | [protected, virtual]
~WRLLoadTraverser(void) | WRLLoadTraverser | [virtual]

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Hierarchical Index

SceniX Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

  • Allocator
  • AnalyzeResult
    • CombinableResult
    • DenormalizedNormalsResult
    • EmptyResult
    • EquivalenceResult
    • IdentityResult
    • MissingResult
    • NullNormalsResult
    • RedundantIndexSetResult
    • RedundantLODRangesResult
    • ShortStrippedResult
    • SingleChildResult
    • UnusedVerticesResult
  • AnimationObjectCode< float >
  • AnimationObjectCode< nvmath::Mat33f >
  • AnimationObjectCode< nvmath::Mat44f >
  • AnimationObjectCode< nvmath::Quatf >
  • AnimationObjectCode< nvmath::Trafo >
  • AnimationObjectCode< nvmath::Vec2f >
  • AnimationObjectCode< nvmath::Vec3f >
  • AnimationObjectCode< nvmath::Vec4f >
  • AnimationObjectCode< unsigned int >
  • AnimationObjectCode< VertexAttribute >
  • AppTraverserCallbackData
  • AutoLock
  • BezierCurve
  • BezierRect
  • BezierTriangle
  • Bit
  • bone_t
  • Boxnt
  • Buffer::ConstIterator
  • Buffer::DataReadLock
  • Buffer::DataWriteLock
  • Buffer::Iterator
  • byteArray_t
  • Caster
  • Caster< TOut, TIn, true >
  • CgDecomposer
  • CgDecomposer::Method
  • CgDecomposer::Struct
  • CgFxBuilder
  • CgFxContext
  • CgFxEffect::SharedParams::StateLabel
  • Chunk
  • ClipPlanesElement
  • CloneObject
  • CompileTimeAssert< true >
  • Component
  • Conversion
  • Conversion< T, T >
  • CPUSkinningProcessor
  • DALData
    • nvgl::GLDALData
  • DALDataCreator
    • nvgl::GLDALDataCreator
  • DALHost
  • DALHostHolder
  • DIResource
  • DisplayListGL
  • domain_t
  • DrawableInstance
  • DummyPayload
  • ErrorHandler
  • Face
  • FaceConnections
  • FFPBuilder
  • FileMapping
    • ReadMapping
    • WriteMapping
  • FixedAllocator
  • FRAGOUT
  • FunctorGet
  • FunctorGetEnum
  • FunctorGetInvalid
  • FunctorGetMember
  • FunctorSet
  • FunctorSetEnum
  • FunctorSetInvalid
  • FunctorSetMember
  • geometrySet_t
  • GeoNode::Geometry
  • GLArrayBufferCache
  • GLArrayBufferCache::Deleter
  • GLContext
  • GLDisplayListCache
  • GLDisplayListCache::Deleter
  • GLElementArrayBufferCache
  • GLElementArrayBufferCache::Deleter
  • GLEvalVertexAttrib
  • GLEvalVertexAttrib2
  • GLEvalVertexAttrib3
  • GLEvalVertexAttribUnifiedMemory
  • GLFunctions
  • GLObjectRenderer
  • GLObjectRendererGLStateCache
  • GLObjectRendererTextureCache::Payload
  • GLObjects
  • GLPixelBufferCache
  • GLPixelBufferCache::Deleter
  • GLResourceDeleter
  • GLTexImageFmt
  • GLTextureCache
  • GLTextureCache::Deleter
  • GLTextureCache::GLImageFormat
  • GLUploadTraverser
  • GLXFunctions
  • GPUSkinningProcessor
  • Handle
  • Handle< U, V >
    • Handle< T, Handle< U, V > >
  • HashGenerator
    • HashGeneratorMD5
    • nvutil::HashGeneratorMurMur
  • IAllocator
    • nvgl::DIResource::SetupFunction
    • RCObject
      • nvgl::DisplayListInfo
      • nvgl::GLRenderListProcessor
      • nvgl::IndexBufferInfo
      • RenderbufferGL
      • RenderContextGL
      • RenderTargetGLFBO::Attachment
        • RenderTargetGLFBO::AttachmentRenderbuffer
        • RenderTargetGLFBO::AttachmentTexture
      • ShareGroupGLResourceHolder
      • ShareGroupGLTask
      • nvgl::TextureInfo
      • nvgl::VertexBufferInfo
      • nvgl::VertexDeclaration
      • nvsg::Buffer::DataReadLock::ReadLockImpl
      • nvsg::Buffer::DataWriteLock::WriteLockImpl
      • Callback
        • LinkGroupToCameraAsTargetCallback
        • LinkGroupToCameraCallback
        • LinkGroupToLightSourceCallback
        • LinkGroupToSpotLightAsTargetCallback
        • LinkTransformToCameraAsPositionAndRollCallback
        • LinkTransformToSpotLightAsPositionCallback
      • nvsg::ClipPlaneInstance
      • DrawCallback
      • nvsg::GeneratorState
      • nvsg::LightInstance
      • nvsg::NodeExecutionObject
      • nvsg::ObjectRenderer
      • Path
      • nvsg::RenderListNodeClass
      • nvsg::RenderObjectCreator
      • nvsg::RenderState
      • nvsg::Resource
      • ScaleFilter
        • BellFilter
        • BoxFilter
        • BSplineFilter
        • Lanczos3Filter
        • TriangleFilter
      • TextureAttributeItemData
      • nvtraverser::AppTraverser::SkinningProcessor
      • Traverser
        • ExclusiveTraverser
          • BezierExtrapolationTraverser
          • BezierInterpolationTraverser
          • ConvertPrimitivesTraverser
          • DeindexTraverser
          • DestrippingTraverser
          • ExclusiveModelViewTraverser
            • AppTraverser
            • PostBuildTraverser
          • NormalizeTraverser
          • OptimizeTraverser
            • CombineTraverser
            • EliminateTraverser
            • IdentityToGroupTraverser
            • UnifyTraverser
          • SmoothTraverser
          • StrippingTraverser
          • TriangulateTraverser
          • WRLLoadTraverser
        • SharedTraverser
          • ExtractGeometryTraverser
          • NBFSaveTraverser
          • NVSGSaveTraverser
          • AnalyzeTraverser
          • nvtraverser::RenderListGenerator
          • SearchTraverser
          • SharedModelViewTraverser
            • RayIntersectTraverser
          • StatisticsTraverser
      • Renderer
        • RendererGLFSQ
        • SceneRenderer
          • SceneRendererGL2
      • RenderTarget
        • RenderTargetGL
          • RenderTargetGLFB
          • RenderTargetGLFBO
      • Handle< T, NullType >
      • PlugIn
        • SceneLoader
          • NBFLoader
          • NVSGLoader
          • PLYLoader
          • WRLLoader
        • SceneSaver
          • NBFSaver
          • NVSGSaver
          • OBJSaver
        • ShaderLoader
        • TextureLoader
          • ILTexLoader
        • TextureSaver
          • ILTexSaver
      • PlugInCallback
      • RCVector
      • nvutil::Subject::Payload
  • Image
  • Incarnation
  • indexList_t
  • IndexMesh
  • IndexSet::ConstIterator
  • indexSet_t
  • Intersection
  • keyVariant_t
  • LinearInterpolatedAnimationDescriptionObjectCode< float >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Mat33f >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Mat44f >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Quatf >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Vec2f >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Vec3f >
  • LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Vec4f >
  • LinearInterpolatedAnimationDescriptionObjectCode< VertexAttribute >
  • Link
  • LinkImpl
  • LinkInfo
  • LinkManager
  • LODLessThan
  • Log
  • LogListCompare
  • MaterialGroup
  • Matnnt
  • MemFunTbl
  • meshSet_t
  • MGResource
  • MGResource::PassInfo
  • MGResource::TexInfo
  • NBFFramedAnimationDescription
    • NBFFramedIndexAnimationDescription
    • NBFFramedTrafoAnimationDescription
    • NBFFramedVertexAttributeAnimationDescription
  • NBFHeader
  • NBFIndexAnimation
    • NBFFramedIndexAnimationDescription
  • NBFKeyFramedAnimationDescription
    • NBFKeyFramedTrafoAnimationDescription
      • NBFLinearInterpolatedTrafoAnimationDescription
    • NBFKeyFramedVertexAttributeAnimationDescription
      • NBFLinearInterpolatedVertexAttributeAnimationDescription
  • NBFLink
  • NBFObject
    • NBFAnimationDescription
      • NBFFramedIndexAnimationDescription
      • NBFFramedTrafoAnimationDescription
      • NBFFramedVertexAttributeAnimationDescription
      • NBFKeyFramedTrafoAnimationDescription
      • NBFKeyFramedVertexAttributeAnimationDescription
    • NBFAnimationState
      • NBFAnimation
    • NBFCamera
      • NBFFrustumCamera
        • NBFParallelCamera
        • NBFPerspectiveCamera
      • NBFMatrixCamera
    • NBFDrawable
      • NBFPrimitive
        • NBFPatchesBase
          • NBFQuadPatches
          • NBFQuadPatches4x4
          • NBFRectPatches
          • NBFTriPatches
          • NBFTriPatches4
      • NBFPrimitiveSet
        • NBFIndependentPrimitiveSet
          • NBFSkinnedTriangles
        • NBFMeshedPrimitiveSet
        • NBFStrippedPrimitiveSet
    • NBFLightSource
      • NBFDirectedLight
      • NBFPointLight
      • NBFSpotLight
    • NBFNode
      • NBFGeoNode
      • NBFGroup
        • NBFBillboard
        • NBFFlipbookAnimation
        • NBFLOD
        • NBFSwitch
        • NBFTransform
          • NBFAnimatedTransform
    • NBFRTFxProgram
    • NBFSkin
    • NBFStateAttribute
      • NBFAlphaTestAttribute
      • NBFBlendAttribute
      • NBFCgFx
      • NBFDepthAttribute
      • NBFFaceAttribute
      • NBFLightingAttribute
      • NBFLineAttribute
      • NBFMaterial
      • NBFPointAttribute
      • NBFRTBufferAttribute
      • NBFRTFx
      • NBFStencilAttribute
      • NBFTextureAttribute
      • NBFUnlitColorAttribute
    • NBFStatePass
    • NBFStateSet
    • NBFStateVariant
    • NBFTextureAttributeItem
    • NBFVertexAttributeSet
      • NBFAnimatedVertexAttributeSet
  • NBFRTFxBase
    • NBFRTFx
  • NBFRTFxParameter
  • NBFScene
  • NBFTrafoAnimation
    • NBFFramedTrafoAnimationDescription
    • NBFKeyFramedTrafoAnimationDescription
  • NBFVertexAttributeAnimation
    • NBFFramedVertexAttributeAnimationDescription
    • NBFKeyFramedVertexAttributeAnimationDescription
  • NBFViewState
  • NVGVOCAPS
  • NVGVOCOLORCONVERSION
  • NVGVODATAFORMATDETAIL
  • NVGVODRIVER
  • NVGVOFIRMWARE
  • NVGVOOUTPUTREGION
  • NVGVOSIGNALFORMATDETAIL
  • NVGVOSTATUS
  • NVSGException
  • NVSGLight
  • NVSGMaterial
  • NVSGScene
  • NVSGTexImageFmt
  • NVVIDEOMODE
  • Object
    • Camera
      • FrustumCamera
        • ParallelCamera
        • PerspectiveCamera
      • MatrixCamera
    • Map
    • MapList
    • MapObject
      • MapArray
      • MapElement
      • MapMatrix
    • OwnedObject
    • OwnedObject< Animation< T > >
      • AnimationDescription
        • FramedAnimationDescription
        • KeyFramedAnimationDescription
          • LinearInterpolatedAnimationDescription
    • OwnedObject< CgFx >
      • CgFxEffect
    • OwnedObject< Drawable >
      • Skin
    • OwnedObject< Group >
      • ClipPlane
      • LightSource
        • DirectedLight
        • PointLight
        • SpotLight
      • Node
        • GeoNode
        • Group
          • Billboard
          • FlipbookAnimation
          • LOD
          • Switch
          • Transform
            • AnimatedTransform
    • OwnedObject< Node >
      • StateSet
    • OwnedObject< Object >
      • AnimationState
        • Animation
      • Buffer
        • BufferGL
        • BufferHost
      • Drawable
        • Primitive
          • PatchesBase
            • QuadPatches
            • QuadPatches4x4
            • RectPatches
            • TriPatches
            • TriPatches4
        • PrimitiveSet
          • IndependentPrimitiveSet
            • Lines
            • Points
            • Quads
            • Triangles
          • MeshedPrimitiveSet
            • QuadMeshes
          • StrippedPrimitiveSet
            • LineStrips
            • QuadStrips
            • TriFans
            • TriStrips
        • Shape
      • nvsg::RTFxProgram
      • VertexAttributeSet
        • AnimatedVertexAttributeSet
    • OwnedObject< Primitive >
      • IndexSet
    • OwnedObject< Scene >
      • SceneAttribute
        • RTFxSceneAttribute
    • OwnedObject< StatePass >
      • StateAttribute
        • AlphaTestAttribute
        • BlendAttribute
        • CgFx
        • DepthAttribute
        • LightingAttribute
        • Material
        • PrimitiveAttribute
          • FaceAttribute
          • LineAttribute
          • PointAttribute
        • RTBufferAttribute
        • RTFx
        • StencilAttribute
        • TextureAttribute
        • UnlitColorAttribute
    • OwnedObject< StateSet >
      • StateVariant
    • OwnedObject< StateVariant >
      • StatePass
    • OwnedObject< TextureAttribute >
      • TextureAttributeItem
    • Scene
    • nvtraverser::CameraUpdateSemaphore
    • nvtraverser::SpotLightUpdateSemaphore
  • ObjectTraits
  • ObjectTraits< nvsg::RTFxBase >
  • ObjectTree
  • ObjectTreeNode
  • ObjFace
  • ObjGeoSet
  • ObjLoader
  • OBJMaterial
  • ObjMaterial
  • ObjScene
  • Observer
    • nvgl::GLObjectRendererTextureCache
    • BackLinkObserver
  • parameter_t
  • plane_t
  • Planent
  • PlugInCallback::DegenerateGeometryInfo
  • PlugInCallback::EmptyTokenInfo
  • PlugInCallback::FileAccessFailedInfo
  • PlugInCallback::FileMappingFailedInfo
  • PlugInCallback::IncompatibleFileInfo
  • PlugInCallback::IncompatibleValueInfo
  • PlugInCallback::InvalidFileInfo
  • PlugInCallback::InvalidValueInfo
  • PlugInCallback::UndefinedTokenInfo
  • PlugInCallback::UnexpectedTokenInfo
  • PlugInCallback::UnknownTokenInfo
  • PlugInCallback::UnsupportedTokenInfo
  • PlugInServer
  • PLYElement
  • PLYProperty
  • ProblemInfo
  • ProblemLog
  • Profile
  • Property
    • TypedProperty
    • TypedProperty< int >
      • TypedPropertyImpl< int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy >
        • TypedPropertyImplEnum
    • TypedProperty< ValueType >
      • TypedPropertyImpl
      • TypedPropertyValue
  • PropertyList
    • PropertyListChain
    • PropertyListImpl
      • ReflectionInfo
  • Quatt
  • ReadableObject
  • ReflectionStorage
  • RegVal
  • RenderbufferGL::CSAA
  • RenderbufferGL::MSAA
  • RenderContextGL::Attach
  • RenderContextGL::Clone
  • RenderContextGL::FromDrawable
  • RenderContextGL::Headless
  • RenderContextGL::NativeContext
  • RenderContextGLFormat
  • RenderContextGLFormat::FormatInfo
  • RenderContextGLStack
  • Renderer
  • RendererOptions
  • RendererOptionsProvider
    • nvsg::IteratingRenderListProcessor
    • nvsg::ObjectRenderer
  • RenderList2
  • RenderListChildClass
  • RenderListParentClass
  • RenderListProcessor
  • RenderModeGroup
  • RenderObject
  • RenderObjectCreatorTmpl
  • RenderObjectTmpl
  • RenderState::ClipPlaneState
  • RenderState::ClipPlaneState::ClipPlaneEntity
  • RenderState::LightState
  • RenderState::LightState::LightEntity
  • RenderState::MaterialState
  • RenderState::MaterialState::ShaderState
  • RenderState::TransformState
  • RenderTargetGL::TmpCurrent
  • RenderTargetGLFBO::BlitRegion
  • RLResource
  • RMGResource
  • RTFxBase
    • RTFx
    • RTFxSceneAttribute
  • RTFxBuilder
  • RTFxParameter
  • RTFxParameter::Annotation
  • RTFxProgram::FilterModes
  • RTFxProgram::WrapModes
  • sampler_t
  • SceneRenderer::StereoViewStateProvider
  • SceniXIterator
  • ShaderBuilder
  • ShaderState
  • ShareGroupGL
  • ShareGroupGL::Key
  • SimpleTesselator
  • Singleton
  • skin_t
  • SmartPtr
  • Spherent
  • sstr_t
  • StackedAtlas
  • StackedAtlasManager
  • Statistics
  • StatisticsBase
    • StatObject
      • StatAnimationState
        • StatIndexAnimation
        • StatTrafoAnimation
        • StatVertexAttributeAnimation
      • StatCamera
        • StatFrustumCamera
          • StatParallelCamera
          • StatPerspectiveCamera
        • StatMatrixCamera
      • StatDrawable
        • StatPrimitive
        • StatPrimitiveSet
          • StatLines
          • StatMeshedPrimitiveSet
            • StatQuadMeshes
          • StatPatchesBase
            • StatPatches
            • StatQuadPatches
            • StatQuadPatches4x4
            • StatRectPatches
            • StatTriPatches
            • StatTriPatches4
          • StatPoints
          • StatQuads
          • StatStrippedPrimitiveSet
            • StatLineStrips
            • StatQuadStrips
            • StatTriFans
            • StatTriStrips
          • StatTriangles
      • StatIndexAnimationDescription
        • StatFramedIndexAnimationDescription
      • StatMapList
      • StatMapObject
        • StatMapArray
        • StatMapElement
        • StatMapMatrix
      • StatNode
        • StatGeoNode
        • StatGroup
          • StatBillboard
          • StatFlipbookAnimation
          • StatLOD
          • StatSwitch
          • StatTransform
            • StatAnimatedTransform
        • StatLightSource
          • StatDirectedLight
          • StatPointLight
          • StatSpotLight
      • StatRTFxProgram
      • StatShape
      • StatSkin
      • StatStateAttribute
        • StatAlphaTestAttribute
        • StatBlendAttribute
        • StatCgFx
        • StatDepthAttribute
        • StatFaceAttribute
        • StatLightingAttribute
        • StatLineAttribute
        • StatMaterial
        • StatPointAttribute
        • StatRTFx
        • StatTextureAttribute
      • StatStatePass
      • StatStateSet
      • StatStateVariant
      • StatTextureAttributeItem
      • StatTrafoAnimationDescription
        • StatFramedTrafoAnimationDescription
        • StatKeyFramedTrafoAnimationDescription
          • StatLinearInterpolatedTrafoAnimationDescription
      • StatVertexAttributeAnimationDescription
        • StatFramedVertexAttributeAnimationDescription
        • StatKeyFramedVertexAttributeAnimationDescription
          • StatLinearInterpolatedVertexAttributeAnimationDescription
      • StatVertexAttributeSet
        • StatAnimatedVertexAttributeSet
    • StatTexture
  • StatisticsRenderListProcessor
  • std::iterator
    • SceniXIterator< GeoNode, StateSetContainer::iterator >
      • GeoNode::StateSetIterator
  • std::iterator
    • SceniXIterator< GeoNode, StateSetContainer::const_iterator >
      • GeoNode::StateSetConstIterator
  • std::vector
  • std::vector
  • std::vector
  • std::vector
  • STLList
  • STLMap
  • STLMultimap
  • STLMultiset
  • STLSet
  • STLVector
  • str_t
  • StridedConstIterator
  • StridedIterator
  • StrTokenizer
  • Subject
    • Reflection
      • Traverser
      • Renderer
      • RenderTarget
      • nvutil::HandledObject
  • switchMask_t
  • SWMRSync
  • SWMRSyncImpl
  • tagNVGAMMARAMP10
  • tagNVGAMMARAMP8
  • tagNVGVOCONFIG
  • tagNVGVOSYNCDELAY
  • TaiEntry
  • TaiManager
  • TempLocale
  • texBinding_t
  • texCoordSet_t
  • texImage_t
  • Texture
    • TextureGL
      • TextureGL1D
      • TextureGL1DArray
      • TextureGL2D
      • TextureGL2DArray
      • TextureGL2DMultisample
      • TextureGL2DMultisampleArray
      • TextureGL3D
      • TextureGLBuffer
      • TextureGLCubemap
      • TextureGLCubemapArray
      • TextureGLRectangle
    • TextureHost
  • texture_t
  • TGResource
  • Timer
  • Trace
  • traceConsoleDebugOutput
  • traceConsoleOutput
  • traceDebugOutput
  • traceFileConsoleOutput
  • traceFileDebugOutput
  • traceFileOutput
  • TraceFunctor
  • Trackball
  • Trafo
  • trafo_t
  • TransformStack
  • TransformTree
  • TransformTreeNode
  • TreeBaseClass
  • TreeNodeBaseClass
  • tweak_t
  • Type2EnumType
  • Type2EnumType< char >
  • Type2EnumType< double >
  • Type2EnumType< float >
  • Type2EnumType< int >
  • Type2EnumType< short >
  • Type2EnumType< unsigned char >
  • Type2EnumType< unsigned int >
  • Type2EnumType< unsigned short >
  • TypedPropertyEnum< bool >
  • TypedPropertyEnum< float >
  • TypedPropertyEnum< int >
  • TypedPropertyEnum< nvgl::GLObjectRenderer::CacheMode >
  • TypedPropertyEnum< nvgl::GLObjectRenderer::FaceCullMode >
  • TypedPropertyEnum< nvmath::Box2f >
  • TypedPropertyEnum< nvmath::Box3f >
  • TypedPropertyEnum< nvmath::Box4f >
  • TypedPropertyEnum< nvmath::Mat33f >
  • TypedPropertyEnum< nvmath::Mat44f >
  • TypedPropertyEnum< nvmath::Quatf >
  • TypedPropertyEnum< nvmath::Trafo >
  • TypedPropertyEnum< nvmath::Vec2f >
  • TypedPropertyEnum< nvmath::Vec2i >
  • TypedPropertyEnum< nvmath::Vec2ui >
  • TypedPropertyEnum< nvmath::Vec3f >
  • TypedPropertyEnum< nvmath::Vec3i >
  • TypedPropertyEnum< nvmath::Vec3ui >
  • TypedPropertyEnum< nvmath::Vec4f >
  • TypedPropertyEnum< nvmath::Vec4i >
  • TypedPropertyEnum< nvmath::Vec4ui >
  • TypedPropertyEnum< nvsg::ObjectRenderer::PolygonMode >
  • TypedPropertyEnum< nvsg::ObjectRenderer::RenderTechnique >
  • TypedPropertyEnum< nvsg::SceneSharedPtr >
  • TypedPropertyEnum< nvsg::VertexAttribute >
  • TypedPropertyEnum< nvsg::ViewStateSharedPtr >
  • TypedPropertyEnum< nvui::SmartRenderTarget >
  • TypedPropertyEnum< Reflection >
  • TypedPropertyEnum< std::set< unsigned int > >
  • TypedPropertyEnum< std::string >
  • TypedPropertyEnum< unsigned int >
  • TypeTraits< ValueType, const_reference >
  • TypeTraits< ValueType, value >
  • UPIID
  • UPITID
  • Validated
  • Vec2f
  • Vec3f
  • Vecnt
  • vertexAttrib_t
  • VertexAttribute
  • VertexAttributeFormat
  • ViewState
  • VS_INPUT
  • VS_OUTPUT
  • WGLFunctions
  • WritableObject
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
_ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | y | z | ~

Here is a list of all documented class members with links to the class documentation for each member:

- _ -

  • _BSFAR : RayIntersectTraverser
  • _BSNEAR : RayIntersectTraverser
  • _BSNEARFAR : RayIntersectTraverser
  • _BSTANGENT : RayIntersectTraverser
  • _NONE : RayIntersectTraverser

- a -

  • active : plane_t
  • activeKey : NBFStateSet
  • activeMaskKey : NBFSwitch
  • addAppTraverserCallback() : Object
  • addAttribute() : StateVariant, StateSet, StatePass, Scene
  • addCamera() : Scene
  • addCameraAnimation() : Scene
  • addChild() : Group
  • addClipPlane() : Group
  • addDrawable() : GeoNode
  • addEmptyColumn() : MapMatrix
  • addEntry() : MemFunTbl
  • addHeadLight() : Camera
  • addImage() : TextureHost
  • addItem() : SearchTraverser
  • addJoint() : Skin
  • addKey() : KeyFramedAnimationDescription
  • addKeys() : KeyFramedAnimationDescription
  • addLightSource() : Group
  • addMap() : MapMatrix, MapArray
  • addMapObject() : MapList
  • addMask() : Switch
  • addObjectHandler() : ExclusiveTraverser, SharedTraverser
  • addOnDestroyCallback() : RCObject
  • addParameter() : RTFxBase
  • addPass() : StateVariant, StateSet
  • addPlugInSearchPath : PlugInServer
  • addPrimitive() : Shape
  • addProblem() : ProblemLog
  • addProperty() : Reflection, PropertyListImpl, RendererOptions
  • addPropertyList() : PropertyListChain
  • addRef() : TypedPropertyValue, TypedPropertyImpl, Property, RCObject
  • addRendererOptions() : SceneRenderer, RendererOptionsProvider, SceneRendererGL2
  • addStep() : FramedAnimationDescription
  • addSteps() : FramedAnimationDescription
  • advance() : AnimationState
  • advanceAnimation() : ViewState
  • alignment : NBFBillboard
  • Alignment : Billboard
  • alloc() : Allocator, FixedAllocator, Chunk, NBFSaveTraverser
  • Allocator() : Allocator
  • alphaFunction : NBFAlphaTestAttribute
  • AlphaTestAttribute() : AlphaTestAttribute
  • ambient : NVSGScene, NVSGMaterial, NVSGLight
  • ambientColor : NBFLightSource, NBFScene
  • AnalyzeTraverser() : AnalyzeTraverser
  • AnimatedTransform() : AnimatedTransform
  • AnimatedVertexAttributeSet() : AnimatedVertexAttributeSet
  • animation : NBFLightSource, NBFAnimatedTransform, NBFFlipbookAnimation, bone_t
  • Animation() : Animation
  • AnimationDescription() : AnimationDescription
  • animations : NBFAnimatedVertexAttributeSet
  • AnimationState() : AnimationState
  • annotation : NBFNode
  • antiAliasing : NBFPointAttribute, NBFLineAttribute
  • apply() : Traverser, Trackball
  • applyPass() : CgFxEffect
  • AppTraverser() : AppTraverser
  • attach() : Subject
  • AttachmentRenderbuffer() : RenderTargetGLFBO::AttachmentRenderbuffer
  • AttachmentTexture() : RenderTargetGLFBO::AttachmentTexture
  • attenuation : NBFSpotLight, NBFPointLight
  • attribs : NBFVertexAttributeAnimation
  • AttributeConstIterator : StatePass, Scene
  • AttributeContainer : StatePass, Scene
  • AttributeIterator : StatePass, Scene
  • attributes : NBFScene
  • AutoLock() : AutoLock

- b -

  • BA_AXIS : Billboard
  • BA_SCREEN : Billboard
  • BA_VIEWER : Billboard
  • backAmbientColor : NBFMaterial
  • backColor : NBFScene
  • backDiffuseColor : NBFMaterial
  • backEmissiveColor : NBFMaterial
  • backFaceMode : NBFFaceAttribute
  • backImg : NBFScene
  • backIndexOfRefraction : NBFMaterial
  • backOpacityColor : NBFMaterial
  • backReflectivityColor : NBFMaterial
  • backSpecularColor : NBFMaterial
  • backSpecularExponent : NBFMaterial
  • begin() : VertexAttribute
  • beginAppTraverserCallbacks() : Object
  • beginAttributes() : StateVariant, StateSet, StatePass, Scene
  • beginCameraAnimations() : Scene
  • beginCameras() : Scene
  • beginChildren() : Group
  • beginClipPlanes() : Group
  • beginDrawables() : GeoNode
  • beginHeadLights() : Camera
  • beginLightSources() : Group
  • beginParameters() : RTFxBase
  • beginPasses() : StateVariant, StateSet
  • beginPrimitives() : Shape
  • beginPropertyLists() : PropertyListChain
  • beginRead() : VertexAttribute
  • beginRendering() : RenderTarget, Renderer, RenderTargetGL
  • beginStateSets() : GeoNode
  • beginVariants() : StateSet
  • BezierCurve() : BezierCurve
  • BezierExtrapolationTraverser() : BezierExtrapolationTraverser
  • BezierInterpolationTraverser() : BezierInterpolationTraverser
  • BezierRect() : BezierRect
  • BezierTriangle() : BezierTriangle
  • Billboard() : Billboard
  • bind() : TextureGL, RenderTargetGLFBO::AttachmentRenderbuffer, RenderTargetGLFBO::AttachmentTexture, RenderTargetGLFBO::Attachment, BufferGL
  • bind1D() : RenderTargetGLFBO::AttachmentTexture
  • bind2D() : RenderTargetGLFBO::AttachmentTexture
  • bind3D() : RenderTargetGLFBO::AttachmentTexture
  • bindings : NBFTextureAttribute
  • bindLayer() : RenderTargetGLFBO::AttachmentTexture
  • bindPose : NBFSkin
  • bindShapeMatrix : NBFSkin
  • bindTextureAttributeItem() : TextureAttribute
  • BlendAttribute() : BlendAttribute
  • blocksAvailable() : Chunk
  • bones : skin_t
  • Boxnt() : Boxnt
  • buffer : NBFRTBufferAttribute, NBFRTFxParameter
  • BufferGL() : BufferGL
  • bufferName : texture_t
  • byteOrder : NBFHeader
  • bytes : byteArray_t

- c -

  • calcNearFarDistances() : FrustumCamera
  • calculateBoundingBox() : Transform, Switch, StrippedPrimitiveSet, Shape, Primitive, MeshedPrimitiveSet, IndependentPrimitiveSet, Group, GeoNode, AnimatedTransform
  • calculateBoundingSphere() : Transform, Switch, StrippedPrimitiveSet, Shape, Primitive, MeshedPrimitiveSet, IndependentPrimitiveSet, Group, GeoNode, AnimatedTransform
  • calculateNormals() : TriStrips, TriPatches4, TriPatches, TriFans, Triangles, Shape, RectPatches, QuadStrips, Quads, QuadPatches4x4, QuadPatches, QuadMeshes, Primitive, Drawable
  • calculateTangentSpace() : TriStrips, TriPatches4, TriPatches, TriFans, Triangles, Shape, RectPatches, QuadStrips, Quads, QuadPatches4x4, QuadPatches, QuadMeshes, Primitive, Drawable
  • calculateTexCoords() : Shape, PrimitiveSet, Primitive, Drawable
  • calculateViewState() : SceneRenderer::StereoViewStateProvider
  • calculatingStorageRequirements() : NBFSaveTraverser
  • Callback() : Callback
  • callback() : PlugIn
  • CallbackConstIterator : Object
  • CallbackContainer : Object
  • CallbackIterator : Object
  • camera : NBFViewState
  • Camera() : Camera
  • CameraAnimationConstIterator : Scene
  • CameraAnimationContainer : Scene
  • CameraAnimationIterator : Scene
  • cameraAnimations : NBFScene
  • CameraConstIterator : Scene
  • CameraContainer : Scene
  • CameraIterator : Scene
  • cameras : NBFScene
  • castShadow : NBFLightSource
  • center : NBFLOD, trafo_t
  • CgFx() : CgFx
  • CGFX_STATE_MACHINE_GL : CgFxContext
  • CGFX_STATE_MACHINE_INVALID : CgFxContext
  • CgFxContext() : CgFxContext
  • CgFxEffect() : CgFxEffect
  • cgfxGetLastError : CgFxContext
  • CgFxStateMachineEnum : CgFxContext
  • chars : sstr_t, str_t
  • checkClipPlanes() : RayIntersectTraverser
  • checkIntersection() : RayIntersectTraverser
  • children : NBFGroup, switchMask_t
  • ChildrenConstIterator : Group
  • ChildrenContainer : Group
  • ChildrenIterator : Group
  • Chunk() : Chunk
  • clear() : Observer, RTBufferAttribute, MapList, MapArray
  • clearAppTraverserCallbacks() : Object
  • clearAttachments() : RenderTargetGLFBO
  • clearAttributes() : StateVariant, StateSet, StatePass, Scene
  • clearCameraAnimations() : Scene
  • clearCameras() : Scene
  • clearChildren() : Group
  • clearClipPlanes() : Group
  • clearHeadLights() : Camera
  • clearLightSources() : Group
  • clearParameters() : RTFxBase
  • clearPasses() : StateVariant, StateSet
  • clearPrimitives() : Shape
  • clearStateSets() : GeoNode
  • clearTexCoords() : GeoNode
  • clearVariants() : StateSet
  • ClipPlane() : ClipPlane
  • ClipPlaneConstIterator : Group
  • ClipPlaneContainer : Group
  • ClipPlaneIterator : Group
  • clipPlanes : NBFGroup
  • ClipPlanesElement() : ClipPlanesElement
  • clone() : Intersection, PropertyListChain, PropertyListImpl, PropertyList, TypedPropertyValue, Property, Handle< T, Handle< U, V > >, Handle< T, NullType >
  • cloneProgramParameter() : RTFxBase
  • color : NBFUnlitColorAttribute
  • combinableCount : CombinableResult
  • CombineTraverser() : CombineTraverser
  • compileProgram() : CgFxEffect
  • compressedFmt : NVSGTexImageFmt
  • computeSize() : TextureGLBuffer
  • constantAttenuation : NVSGLight
  • containsAnimation() : Scene
  • containsLight() : Scene
  • containsNode() : Scene
  • containsShader() : Scene
  • containsTessellationProgram() : CgFxEffect
  • containsTransparency() : Scene
  • context : PlugInCallback::InvalidFileInfo, PlugInCallback::IncompatibleFileInfo, PlugInCallback::UnsupportedTokenInfo, PlugInCallback::UnknownTokenInfo, PlugInCallback::UndefinedTokenInfo, PlugInCallback::InvalidValueInfo, PlugInCallback::IncompatibleValueInfo, PlugInCallback::EmptyTokenInfo
  • convert2DToCubeMap() : TextureHost
  • convertPixelFormat() : TextureHost
  • ConvertPrimitivesTraverser() : ConvertPrimitivesTraverser
  • convertToTextureTarget() : TextureHost
  • coordDim : texCoordSet_t
  • copyToBuffer() : RenderTargetGL
  • count : NBFRTFxParameter
  • counts : NBFSkin
  • CPUSkinningProcessor() : CPUSkinningProcessor
  • create() : BackLinkObserver, IndexSet, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLBuffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, TextureGL, SceneRendererGL2, RenderTargetGLFBO, RenderbufferGL, BufferGL
  • createBoolSamplerStateValue() : CgFxEffect
  • createBuffer() : CgFxContext
  • createFloatSamplerStateValue() : CgFxEffect
  • createFromFile() : TextureHost, CgFx, CgFxEffect
  • createFromLump() : CgFx, CgFxEffect
  • createImage() : TextureHost
  • createIntSamplerStateValue() : CgFxEffect
  • createMipmaps() : TextureHost
  • createStereoTextureHost() : RenderTargetGL
  • createTextureHost() : TextureLoader
  • CT_GEONODE : CombineTraverser
  • CT_LOD : CombineTraverser
  • CT_LOD_RANGES : CombineTraverser
  • CT_PRIMITIVE_SET : CombineTraverser
  • CT_TRANSFORM : CombineTraverser
  • cullMode : NBFFaceAttribute
  • currTech : NBFCgFx
  • cutoffAngle : NBFSpotLight

- d -

  • DALData() : DALData
  • data : NBFRTFxParameter
  • DataReadLock() : Buffer::DataReadLock
  • dataType : texImage_t, indexSet_t
  • DataWriteLock() : Buffer::DataWriteLock
  • dayLastModified : NBFHeader
  • dealloc() : Allocator, FixedAllocator, Chunk, NBFSaveTraverser
  • decrementJointCount() : Transform
  • decrementMipmapUseCount() : TextureHost
  • degree() : BezierCurve
  • DeindexTraverser() : DeindexTraverser
  • deletePrimitiveCaches() : SceneRendererGL2
  • deleteThis() : PlugIn, DALData, OBJSaver, NVSGSaver, NBFSaver, ILTexSaver, WRLLoader, PLYLoader, NVSGLoader, NBFLoader, ILTexLoader
  • demandUpload() : TextureHost
  • denormalizedNormalsCount : DenormalizedNormalsResult
  • denormalizedNormalsNumber : DenormalizedNormalsResult
  • depth : NBFRTBufferAttribute, texImage_t
  • DepthAttribute() : DepthAttribute
  • depthClampingEnabled : NBFDepthAttribute
  • depthFunction : NBFDepthAttribute
  • depthTestingEnabled : NBFDepthAttribute
  • depthWritingEnabled : NBFDepthAttribute
  • derivative() : BezierCurve
  • description : NBFAnimation
  • destinationFunction : NBFBlendAttribute
  • DestrippingTraverser() : DestrippingTraverser
  • destroy() : PropertyList, TypedPropertyValue, TypedPropertyImpl, Property
  • destroyBuffer() : CgFxContext
  • destroyed() : Observer
  • detach() : Subject
  • detectedVersion : PlugInCallback::IncompatibleFileInfo
  • determineAnimationContainment() : GeoNode, FlipbookAnimation, AnimatedTransform
  • determineCullCode() : PerspectiveCamera, ParallelCamera, MatrixCamera, Camera
  • determineHintsContainment() : StateVariant, StateSet, StatePass, Group
  • determineLODContainment() : LOD
  • determineMetaSLLightParameterSpace() : LightSource
  • determineShaderContainment() : GeoNode
  • determineTransparencyContainment() : GeoNode, CgFx, BlendAttribute
  • diffuse : NVSGMaterial, NVSGLight
  • diffuseColor : NBFLightSource
  • DirectedLight() : DirectedLight
  • direction : NVSGLight, NBFSpotLight, NBFDirectedLight, NBFCamera
  • disableAvailability() : GLFunctions
  • disconnectFace() : FaceConnections
  • disconnectFaces() : FaceConnections
  • doAddRendererOptions() : RendererOptionsProvider
  • doApply() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, Traverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, OptimizeTraverser, NormalizeTraverser, EliminateTraverser, DestrippingTraverser, DeindexTraverser, ConvertPrimitivesTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • doRender() : GLUploadTraverser, SceneRenderer, Renderer
  • doSetRendererOptions() : RendererOptionsProvider
  • doTraverseDrawable() : ExclusiveTraverser, SharedTraverser, Traverser
  • doTraverseObject() : ExclusiveTraverser, SharedTraverser, Traverser
  • draw() : DrawCallback
  • Drawable() : Drawable
  • DrawableConstIterator : GeoNode
  • DrawableContainer : GeoNode
  • DrawableIterator : GeoNode
  • drawables : geometrySet_t
  • DT_CUSTOMDALDATA : DALData
  • DT_DALDATA : DALData
  • DT_GLARRAYBUFFERCACHE : DALData
  • DT_GLDALDATA : DALData
  • DT_GLDISPLAYLISTCACHE : DALData
  • DT_GLELEMENTARRAYBUFFERCACHE : DALData
  • DT_GLPIXELBUFFERCACHE : DALData
  • DT_GLTEXTURECACHE : DALData
  • DT_INVALID : DALData
  • DT_RTDALDATA : DALData
  • dumpAllocations() : Allocator
  • dumpDiffAllocations() : Allocator
  • dumpIntersectionList() : RayIntersectTraverser

- e -

  • effect : NBFRTFxProgram
  • elementCount : NBFPrimitive
  • elementOffset : NBFPrimitive
  • elementSize : NBFRTBufferAttribute
  • EliminateTraverser() : EliminateTraverser
  • emission : NVSGMaterial
  • emptyCount : EmptyResult
  • enabled : NBFLightingAttribute, NBFLightSource
  • enabledMSAlpha : NBFAlphaTestAttribute
  • enableFlags : NBFVertexAttributeSet
  • encountered : PlugInCallback::UnexpectedTokenInfo
  • end() : VertexAttribute
  • endAppTraverserCallbacks() : Object
  • endAttributes() : StateVariant, StateSet, StatePass, Scene
  • endCameraAnimations() : Scene
  • endCameras() : Scene
  • endChildren() : Group
  • endClipPlanes() : Group
  • endDrawables() : GeoNode
  • endHeadLights() : Camera
  • endLightSources() : Group
  • endParameters() : RTFxBase
  • endPasses() : StateVariant, StateSet
  • endPrimitives() : Shape
  • endPropertyLists() : PropertyListChain
  • endRead() : VertexAttribute
  • endRendering() : RenderTarget, Renderer, RenderTargetGL
  • endStateSets() : GeoNode
  • endVariants() : StateSet
  • entryPoint : domain_t
  • equivalentCount : EquivalenceResult
  • ET_GROUP : EliminateTraverser
  • ET_INDEX_SET : EliminateTraverser
  • ET_LOD : EliminateTraverser
  • ET_STATE_PASS : EliminateTraverser
  • ET_STATE_SET : EliminateTraverser
  • ET_STATE_VARIANT : EliminateTraverser
  • ET_TEXTURE_ATTRIBUTE : EliminateTraverser
  • ET_TEXTURE_ATTRIBUTE_ITEM : EliminateTraverser
  • evaluate() : BezierTriangle, BezierRect, BezierCurve
  • evaluateMesh() : BezierTriangle, BezierRect
  • evaluateStrip() : BezierCurve
  • ExclusiveModelViewTraverser() : ExclusiveModelViewTraverser
  • ExclusiveTraverser() : ExclusiveTraverser
  • execute() : ShareGroupGLTask
  • expected : PlugInCallback::UnexpectedTokenInfo
  • expectedVersion : PlugInCallback::IncompatibleFileInfo
  • ExtractGeometryTraverser() : ExtractGeometryTraverser

- f -

  • F_IMAGE_STREAM : TextureHost
  • F_NO_IMAGE_CREATION : TextureHost
  • F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD : TextureHost
  • F_SCALE_FILTER_BELL : TextureHost
  • F_SCALE_FILTER_BOX : TextureHost
  • F_SCALE_FILTER_BSPLINE : TextureHost
  • F_SCALE_FILTER_LANCZOS3 : TextureHost
  • F_SCALE_FILTER_TRIANGLE : TextureHost
  • F_SCALE_POT_ABOVE : TextureHost
  • F_SCALE_POT_BELOW : TextureHost
  • F_SCALE_POT_NEAREST : TextureHost
  • FaceAttribute() : FaceAttribute
  • FaceConnections() : FaceConnections
  • faceWindingCCW : NBFFaceAttribute
  • failBack : NBFStencilAttribute
  • failFront : NBFStencilAttribute
  • falloffExponent : NBFSpotLight
  • farDist : NBFFrustumCamera
  • feedHashGenerator() : VertexAttributeSet, VertexAttribute, UnlitColorAttribute, TriPatches, Transform, TextureHost, TextureAttribute, TextureAttributeItem, Texture, Switch, StrippedPrimitiveSet, StencilAttribute, StateVariant, StateSet, StatePass, SpotLight, Skin, Shape, RTFx, RTFxBase, RTBufferAttribute, RectPatches, QuadPatches, PrimitiveSet, Primitive, PointLight, PointAttribute, PatchesBase, Object, MeshedPrimitiveSet, MatrixCamera, Material, MapObject, MapMatrix, MapList, MapElement, MapArray, Map, LOD, LineAttribute, LightSource, LightingAttribute, KeyFramedAnimationDescription, IndexSet, IndependentPrimitiveSet, Group, GeoNode, FrustumCamera, FramedAnimationDescription, FlipbookAnimation, FaceAttribute, DepthAttribute, ClipPlane, CgFx, CgFxEffect, Camera, BlendAttribute, Billboard, Animation, AnimationState, AnimatedVertexAttributeSet, AnimatedTransform, AlphaTestAttribute, TextureGL
  • file : PlugInCallback::InvalidFileInfo, PlugInCallback::IncompatibleFileInfo, PlugInCallback::FileAccessFailedInfo, texture_t, texImage_t
  • FileMapping() : FileMapping
  • finalize() : HashGeneratorMD5, HashGenerator
  • findChild() : Group
  • findDelimiter() : StrTokenizer
  • findLongestQuadStrip() : FaceConnections
  • findLongestTriStrip() : FaceConnections
  • findQuadPatch4x4() : FaceConnections
  • findStateSet() : GeoNode
  • findTriPatch4() : FaceConnections
  • finishUpload() : TextureHost
  • firstEncounter() : StatisticsBase
  • FixedAllocator() : FixedAllocator
  • fixedPtFmt : NVSGTexImageFmt
  • flags : texImage_t
  • FlipbookAnimation() : FlipbookAnimation
  • floatFmt : NVSGTexImageFmt
  • floats : tweak_t
  • flushBoolParameterValue() : CgFxEffect
  • flushFloatParameterValue() : CgFxEffect
  • flushIntParameterValue() : CgFxEffect
  • focusDist : NBFCamera
  • forceTraversal() : AppTraverser
  • format : TraceFunctor, Log, NBFRTBufferAttribute, texture_t
  • forward : NBFAnimationState
  • FramedAnimationDescription() : FramedAnimationDescription
  • frameNumber : NVSGScene
  • frameToStep() : Animation, AnimationState
  • freeMemory() : Chunk
  • fromFile : NBFRTFxProgram, NBFCgFx
  • frontAmbientColor : NBFMaterial
  • frontDiffuseColor : NBFMaterial
  • frontEmissiveColor : NBFMaterial
  • frontFaceMode : NBFFaceAttribute
  • frontIndexOfRefraction : NBFMaterial
  • frontOpacityColor : NBFMaterial
  • frontReflectivityColor : NBFMaterial
  • frontSpecularColor : NBFMaterial
  • frontSpecularExponent : NBFMaterial
  • FrustumCamera() : FrustumCamera
  • funcBack : NBFStencilAttribute
  • funcFront : NBFStencilAttribute

- g -

  • generateMipMap() : TextureGL
  • generateNormals() : GeoNode, Drawable
  • generateTangentSpace() : GeoNode, Drawable
  • generateTexCoords() : VertexAttributeSet, GeoNode, Drawable
  • geometrySets : NBFGeoNode
  • GeoNode() : GeoNode
  • get() : Validated, SmartPtr
  • getActive() : Switch
  • getActiveMaskKey() : Switch
  • getActiveSwitchMask() : Switch
  • getActiveVariantKey() : StateSet
  • getAlignment() : MapMatrix, MapArray, Billboard
  • getAlphaFunction() : AlphaTestAttribute
  • getAmbientColor() : Scene, Material, LightSource
  • getAnalysis() : AnalyzeTraverser
  • getAndClearZeroConnectionIndices() : FaceConnections
  • getAnimation() : LightSource, FlipbookAnimation, AnimatedVertexAttributeSet, AnimatedTransform
  • getAnnotation() : TypedPropertyValue, TypedPropertyImpl, Property, RendererOptions, Object
  • getAnnotationName() : CgFxEffect
  • getAnnotationTypeString() : CgFxEffect
  • getAnnotationValueSize() : CgFxEffect
  • getArrayParameterElement() : CgFxEffect
  • getAspectRatio() : RenderTarget, FrustumCamera
  • getAttachment() : RenderTargetGLFBO
  • getAttenuation() : SpotLight, PointLight
  • getAutoClipPlanes() : ViewState
  • getAvailableCSAAModes() : RenderbufferGL
  • getBackColor() : Scene
  • getBackFaceMode() : FaceAttribute
  • getBackImage() : Scene
  • getBaseClassSearch() : SearchTraverser
  • getBindingTarget() : TextureGL
  • getBindPose() : Skin
  • getBindShapeMatrix() : Skin
  • getBoolAnnotationValue() : CgFxEffect
  • getBoolParameterValue() : CgFxEffect
  • getBoolPassStateValue() : CgFxEffect
  • getBoolSamplerStateValue() : CgFxEffect
  • getBorder() : TextureGL
  • getBorderColor() : TextureAttributeItem
  • getBuffer() : VertexAttribute, IndexSet, TextureGLBuffer
  • getBufferMaxIndex() : CgFxContext
  • getBufferMaxSize() : CgFxContext
  • getBufferSize() : RTBufferAttribute, CgFxContext
  • getBytesPerPixel() : TextureHost
  • getBytesPerPlane() : TextureHost
  • getBytesPerScanLine() : TextureHost
  • getCamera() : ViewState
  • getCenter() : Trafo, Spherent, Boxnt, LOD
  • getCgFx() : RendererGLFSQ
  • getClassID() : LinkTransformToSpotLightAsPositionCallback, LinkGroupToSpotLightAsTargetCallback, LinkGroupToLightSourceCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToCameraAsTargetCallback, LinkGroupToCameraCallback, Callback
  • getClassName() : SearchTraverser, LinkTransformToSpotLightAsPositionCallback, LinkGroupToSpotLightAsTargetCallback, LinkGroupToLightSourceCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToCameraAsTargetCallback, LinkGroupToCameraCallback, Reflection, ReflectionInfo, Callback
  • getClearMask() : RenderTargetGL
  • getClientDataFormat() : TextureGL
  • getClientDataType() : TextureGL
  • getClipPlane() : ClipPlanesElement
  • getClipToModel() : TransformStack
  • getClipToView() : TransformStack
  • getColor() : UnlitColorAttribute
  • getColors() : VertexAttributeSet
  • getCombineTargets() : CombineTraverser
  • getCompressedSize() : TextureGL
  • getConstIterator() : Buffer
  • getContext() : CgFxEffect
  • getCounts() : Skin
  • getCreaseAngle() : SmoothTraverser
  • getCreationFlags() : TextureHost
  • getCurrentChild() : FlipbookAnimation
  • getCurrentDelta() : ViewState
  • getCurrentFrame() : AnimationState
  • getCurrentMaskIterator() : Switch
  • getCurrentStep() : AnimationState
  • getCurrentTechnique() : CgFxEffect
  • getCurrentTextureUnit() : Traverser
  • getCurrentTick() : ViewState
  • getCurrentValue() : Animation
  • getCutoffAngle() : SpotLight
  • getData() : VertexAttribute, Map, IndexSet, Buffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, BufferGL
  • getDataID() : VertexAttributeSet, TextureAttributeItem, StrippedPrimitiveSet, RTFxSceneAttribute, RTFx, Object, MeshedPrimitiveSet, Material, IndependentPrimitiveSet, CgFx
  • getDataSize() : TextureGL
  • getDepth() : TextureHost, RTBufferAttribute, TextureGL3D
  • getDepthFunction() : DepthAttribute
  • getDescription() : Animation
  • getDestinationFunction() : BlendAttribute
  • getDeviceAbstractionLinkData() : DALHost
  • getDiffuseColor() : Material, LightSource
  • getDimensionality() : RTBufferAttribute
  • getDirection() : SpotLight, DirectedLight, Camera
  • getDisplay() : GLContext
  • getDist() : Intersection
  • getDistance() : ClipPlane
  • getDrawable() : Intersection
  • getDrawCallback() : Drawable
  • getDynamicNumberOfLights() : CgFxEffect
  • getEffect() : CgFx
  • getElementCount() : Primitive
  • getElementOffset() : Primitive
  • getElementRange() : Primitive
  • getElementSize() : RTBufferAttribute
  • getEliminateTargets() : EliminateTraverser
  • getEmissiveColor() : Material
  • getEnabled() : LightingAttribute
  • getEnabledDuringMultiSampleAlpha() : AlphaTestAttribute
  • getEntrySize() : MapMatrix, MapArray
  • getEnvColor() : TextureAttributeItem
  • getEnvMode() : TextureAttributeItem
  • getEnvScale() : TextureAttributeItem
  • getEpsilon() : UnifyTraverser
  • getErrorMessage() : NVSGException, NBFSaveTraverser
  • getErrors() : ShaderLoader
  • getFaces() : Triangles, Quads
  • getFalloffExponent() : SpotLight
  • getFarDistance() : FrustumCamera
  • getFieldOfView() : PerspectiveCamera
  • getFileName() : TextureHost, CgFxEffect
  • getFirstItem() : TextureAttribute
  • getFirstMaskIterator() : Switch
  • getFixedLocations() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getFloatAnnotationValue() : CgFxEffect
  • getFloatParameterValue() : CgFxEffect
  • getFloatPassStateValue() : CgFxEffect
  • getFloatSamplerStateValue() : CgFxEffect
  • getFocusDistance() : Camera
  • getFogCoords() : VertexAttributeSet
  • getFormat() : TextureHost, RTBufferAttribute
  • getFragmentProgram() : CgFxEffect
  • getFramebufferId() : RenderTargetGLFBO
  • getFrameNumber() : Scene
  • getFrameValue() : Animation
  • getFromHead() : Path
  • getFromTail() : Path
  • getFrontFaceMode() : FaceAttribute
  • getGeometryProgram() : CgFxEffect
  • getGLId() : TextureGL, BufferGL
  • getGroup() : ClipPlanesElement
  • getHashKey() : Texture, Object
  • getHead() : Path
  • getHeight() : RenderTarget, TextureHost, RTBufferAttribute, RectPatches, Map, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, RenderTargetGL
  • getHigherLevelObjectCode() : PatchesBase, Object
  • getId() : PropertyList
  • getIgnoreAccelerationBuilderHints() : CombineTraverser
  • getIgnoreNames() : OptimizeTraverser
  • getIncarnation() : ViewState, BufferHost, Buffer, BufferGL
  • getIndexOfMap() : MapMatrix, MapArray
  • getIndexOfRefraction() : Material
  • getIndexSet() : Primitive
  • getIndices() : Skin, IndependentPrimitiveSet
  • getIntAnnotationValue() : CgFxEffect
  • getIntensity() : LightSource
  • getInterface : PlugInServer
  • getInternalFormat() : TextureGL
  • getIntersections() : RayIntersectTraverser
  • getIntParameterValue() : CgFxEffect
  • getIntPassStateValue() : CgFxEffect
  • getIntSamplerStateValue() : CgFxEffect
  • getInverse() : Trafo, LightSource
  • getInverseBindMatrix() : Skin
  • getInverseProjection() : PerspectiveCamera, ParallelCamera, MatrixCamera, Camera
  • getIsp() : Intersection
  • getIterator() : Buffer
  • getJoint() : Skin
  • getKey() : KeyFramedAnimationDescription
  • getKeyStep() : KeyFramedAnimationDescription
  • getKeySteps() : KeyFramedAnimationDescription
  • getKeyValue() : KeyFramedAnimationDescription
  • getKeyValues() : KeyFramedAnimationDescription
  • getLastError() : FileMapping
  • getLastMaskIterator() : Switch
  • getLastRecentlyUsedDeviceAbstractionLinkData() : DALHost
  • getLayers() : TextureGL2DMultisampleArray, TextureGLCubemapArray, TextureGL2DArray, TextureGL1DArray
  • getLength() : Path
  • getLight() : CgFxEffect
  • getLightAmbientValue() : CgFxEffect
  • getLightByName() : CgFxEffect
  • getLightBySemantic() : CgFxEffect
  • getLightConstantAttenuationValue() : CgFxEffect
  • getLightDiffuseValue() : CgFxEffect
  • getLightDirectionValue() : CgFxEffect
  • getLightLinearAttenuationValue() : CgFxEffect
  • getLightPositionValue() : CgFxEffect
  • getLightQuadraticAttenuationValue() : CgFxEffect
  • getLightSpecularValue() : CgFxEffect
  • getLightSpotCutoffValue() : CgFxEffect
  • getLightSpotExponentValue() : CgFxEffect
  • getLODRangeScale() : ViewState
  • getLODToUse() : LOD
  • getLogList() : ProblemLog
  • getLoopCount() : AnimationState
  • getLower() : Boxnt
  • getLowerLeft() : MapObject
  • getMagFilterMode() : TextureAttributeItem
  • getMap() : MapMatrix, MapElement, MapArray
  • getMapList() : ViewState
  • getMapObject() : MapList
  • getMaskKey() : Switch
  • getMaterial() : CgFxEffect
  • getMaterialAmbientValue() : CgFxEffect
  • getMaterialDiffuseValue() : CgFxEffect
  • getMaterialEmissionValue() : CgFxEffect
  • getMaterialShininessValue() : CgFxEffect
  • getMaterialSpecularValue() : CgFxEffect
  • getMatrix() : Trafo, TextureAttributeItem
  • getMaxAnisotropy() : TextureAttributeItem
  • getMaxElementCount() : Primitive
  • getMaximumColorSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumDepthSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumIntegerSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumLayers() : TextureGL2DMultisampleArray, TextureGLCubemapArray, TextureGL2DArray, TextureGL1DArray
  • getMaximumSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumSize() : TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLBuffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, TextureGL
  • getMaxLevel() : TextureGL
  • getMaxMSAASamples() : RenderbufferGL
  • getMeshes() : MeshedPrimitiveSet
  • getMinFilterMode() : TextureAttributeItem
  • getMipMapSize() : TextureGL
  • getMipmapUseCount() : TextureHost
  • getModelIntersection() : RayIntersectTraverser
  • getModelToClip() : TransformStack
  • getModelToView() : TransformStack
  • getModelToWorld() : ClipPlanesElement, TransformStack
  • getModelToWorldMatrix() : Path
  • getMslLightDirection() : CgFxEffect
  • getMslLightDirectionValue() : CgFxEffect
  • getMslLightPosition() : CgFxEffect
  • getMslLightPositionValue() : CgFxEffect
  • getMslLightType() : CgFxEffect
  • getMslLightTypeValue() : CgFxEffect
  • getName() : Object
  • getNearDistance() : FrustumCamera
  • getNearest() : RayIntersectTraverser
  • getNeighbours() : FaceConnections
  • getNextFaceIndex() : FaceConnections
  • getNextItem() : TextureAttribute
  • getNextMaskIterator() : Switch
  • getNextToken() : StrTokenizer
  • getNormal() : Planent, ClipPlane
  • getNormalize() : AnimatedVertexAttributeSet
  • getNormalizeFlags() : AnimatedVertexAttributeSet
  • getNormals() : VertexAttributeSet
  • getNumberOfActive() : Switch
  • getNumberOfActiveClipPlanes() : Group
  • getNumberOfAnnotationValueComponents() : CgFxEffect
  • getNumberOfArrayParameterElements() : CgFxEffect
  • getNumberOfAttributes() : StateVariant, StateSet, StatePass, Scene
  • getNumberOfBytes() : TextureHost
  • getNumberOfCameraAnimations() : Scene
  • getNumberOfCameras() : Scene
  • getNumberOfChildren() : Group
  • getNumberOfClipPlanes() : ClipPlanesElement, Group
  • getNumberOfColors() : VertexAttributeSet
  • getNumberOfColumns() : MapMatrix
  • getNumberOfDrawables() : GeoNode
  • getNumberOfFaces() : Triangles, Quads, Primitive
  • getNumberOfFogCoords() : VertexAttributeSet
  • getNumberOfFrames() : Animation, AnimationState
  • getNumberOfHeadLights() : Camera
  • getNumberOfImages() : TextureHost
  • getNumberOfIndices() : IndexSet, IndependentPrimitiveSet
  • getNumberOfInfluences() : Skin
  • getNumberOfIntersections() : RayIntersectTraverser
  • getNumberOfItems() : TextureAttribute
  • getNumberOfJoints() : Skin
  • getNumberOfKeys() : KeyFramedAnimationDescription
  • getNumberOfLights() : CgFxEffect
  • getNumberOfLightSources() : Group
  • getNumberOfMapObjects() : MapList
  • getNumberOfMaps() : MapMatrix, MapArray
  • getNumberOfMasks() : Switch
  • getNumberOfMeshes() : MeshedPrimitiveSet
  • getNumberOfMipmaps() : TextureHost
  • getNumberOfNormals() : VertexAttributeSet
  • getNumberOfOwners() : OwnedObject
  • getNumberOfParameterAnnotations() : CgFxEffect
  • getNumberOfParameterValueComponents() : CgFxEffect
  • getNumberOfParents() : Node
  • getNumberOfPassAnnotations() : CgFxEffect
  • getNumberOfPasses() : StateVariant, StateSet, CgFxEffect
  • getNumberOfPassStateValueComponents() : CgFxEffect
  • getNumberOfPatches() : PatchesBase
  • getNumberOfPrimitiveRestarts() : Primitive
  • getNumberOfPrimitives() : Shape, Primitive
  • getNumberOfProgramParameters() : CgFxEffect
  • getNumberOfProgramSamplers() : CgFxEffect
  • getNumberOfRanges() : LOD
  • getNumberOfSamplers() : CgFxEffect
  • getNumberOfSamplerStateValueComponents() : CgFxEffect
  • getNumberOfSecondaryColors() : VertexAttributeSet
  • getNumberOfSegments() : Lines
  • getNumberOfStateSets() : GeoNode
  • getNumberOfSteps() : KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription, Animation, AnimationState
  • getNumberOfStrips() : StrippedPrimitiveSet
  • getNumberOfStructParameterMembers() : CgFxEffect
  • getNumberOfTechniqueAnnotations() : CgFxEffect
  • getNumberOfTechniques() : CgFxEffect
  • getNumberOfTexCoords() : VertexAttributeSet
  • getNumberOfTransforms() : CgFxEffect
  • getNumberOfTweakables() : CgFxEffect
  • getNumberOfVariants() : StateSet
  • getNumberOfVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getNumberOfVertices() : VertexAttributeSet
  • getNumberOfVerticesPerPrimitive() : Primitive
  • getObjectCode() : Object
  • getObjectName() : SearchTraverser
  • getObjectPointer() : SearchTraverser
  • getObserver() : Callback
  • getOffset() : Planent, ClipPlane
  • getOffsetOfVertexData() : VertexAttributeSet
  • getOffsets() : Skin
  • getOpacity() : Material
  • getOpacityColor() : Material
  • getOptionStringCacheMode() : SceneRendererGL2
  • getOptionStringFaceCullMode() : SceneRendererGL2
  • getOptionStringFrustumCulling() : SceneRendererGL2
  • getOptionStringLightModelLocalViewer() : SceneRendererGL2
  • getOptionStringLightModelTwoSide() : SceneRendererGL2
  • getOptionStringPolygonMode() : SceneRendererGL2
  • getOptionStringPreserveTexturesAfterUpload() : SceneRendererGL2
  • getOptionStringRenderModeGroup() : SceneRendererGL2
  • getOptionStringRenderTechnique() : SceneRendererGL2
  • getOptionStringSeparateSpecularColor() : SceneRendererGL2
  • getOptionStringSizeCulling() : SceneRendererGL2
  • getOptionStringSizeCullingFactor() : SceneRendererGL2
  • getOptionStringTessellationEnabled() : SceneRendererGL2
  • getOptionStringTransparencyDepthMask() : SceneRendererGL2
  • getOptionStringTraversalMaskOverride() : SceneRendererGL2
  • getOrientation() : Trafo, TextureAttributeItem, SpotLight, MapArray, DirectedLight, Camera
  • getOwner() : OwnedObject
  • getParameterAnnotation() : CgFxEffect
  • getParameterAnnotationByName() : CgFxEffect
  • getParameterBufferIndex() : CgFxEffect
  • getParameterBufferOffset() : CgFxEffect
  • getParameterByName() : CgFxEffect
  • getParameterBySemantic() : CgFxEffect
  • getParameterName() : CgFxEffect
  • getParameterResourceSize() : CgFxEffect
  • getParameterResourceType() : CgFxEffect
  • getParameterSemantic() : CgFxEffect
  • getParameterTypeString() : CgFxEffect
  • getParameterValueAsFloat() : CgFxEffect
  • getParameterValueSize() : CgFxEffect
  • getPass() : CgFxEffect
  • getPassAnnotation() : CgFxEffect
  • getPassAnnotationByName() : CgFxEffect
  • getPassByName() : CgFxEffect
  • getPassName() : CgFxEffect
  • getPath() : Intersection
  • getPaths() : SearchTraverser
  • getPerVertexBytes() : VertexAttributeSet
  • getPickRay() : PerspectiveCamera, ParallelCamera, FrustumCamera
  • getPixels() : TextureHost
  • getPlugInSearchPath : PlugInServer
  • getPlugInterface : ILTexSaver, ILTexLoader
  • getPlugInterfaceType() : UPIID
  • getPlugSpecificIDString() : UPIID
  • getPolygonOffsetFactor() : FaceAttribute
  • getPolygonOffsetUnits() : FaceAttribute
  • getPosition() : SpotLight, PointLight, MapObject, Camera, RenderTargetGL
  • getPrimitiveIndex() : Intersection
  • getProgram() : RTFxSceneAttribute, RTFx, RTFxBase
  • getProgramBuffer() : CgFxEffect
  • getProgramInputType() : CgFxEffect
  • getProgramOutputType() : CgFxEffect
  • getProgramParameter() : CgFxEffect
  • getProgramProfile() : CgFxEffect
  • getProgramSampler() : CgFxEffect
  • getProjection() : PerspectiveCamera, ParallelCamera, MatrixCamera, Camera
  • getProperty() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • getPropertyCount() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • getPropertyName() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • getPropertyType() : Reflection
  • getPtr() : Vecnt, Matnnt, Buffer::DataWriteLock, Buffer::DataReadLock
  • getRadius() : Spherent
  • getRangeLock() : LOD
  • getRanges() : LOD
  • getReflectionInfo() : ReflectionStorage
  • getReflectivity() : Material
  • getReflectivityColor() : Material
  • getRelation() : MapObject
  • getRenderbufferGL() : RenderTargetGLFBO::AttachmentRenderbuffer
  • getRenderbufferId() : RenderbufferGL
  • getRenderContextGL() : RenderTargetGL
  • getRendererOptions() : ViewState
  • getRenderFlags() : Primitive
  • getRenderTarget() : Renderer
  • getResults() : SearchTraverser
  • getRootNode() : Scene
  • getRotationAxis() : Billboard
  • getSampler() : CgFxEffect
  • getSamplerByName() : CgFxEffect
  • getSamplerByTextureParameterName() : CgFxEffect
  • getSamplerTexture() : CgFxEffect
  • getSamplerTextureFileName() : CgFxEffect
  • getSamplerTextureGPUFormat() : CgFxEffect
  • getSamplerTextureParameter() : CgFxEffect
  • getSamplerTextureTarget() : CgFxEffect
  • getSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getScaleOrientation() : Trafo
  • getScaling() : Trafo, TextureAttributeItem
  • getScene() : ViewState, CgFxEffect
  • getSceneAmbientValue() : CgFxEffect
  • getSceneFrameNumberValue() : CgFxEffect
  • getSecondaryColors() : VertexAttributeSet
  • getSegments() : Lines
  • getSemantic() : TypedPropertyValue, TypedPropertyImpl, Property
  • getSize() : Trackball, RenderTarget, Boxnt, TriPatches, QuadPatches, PointAttribute, MapObject, MapMatrix, MapElement, MapArray, BufferHost, Buffer, TextureGLBuffer, RenderTargetGL, BufferGL
  • getSizeOfColors() : VertexAttributeSet
  • getSizeOfHash() : HashGeneratorMD5, HashGenerator
  • getSizeOfTexCoords() : VertexAttributeSet
  • getSizeOfVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getSkin() : PrimitiveSet, Primitive
  • getSkinningProcessor() : AppTraverser
  • getSkinningType() : Skin
  • getSourceCode() : CgFxEffect
  • getSourceFunction() : BlendAttribute
  • getSpacing() : MapMatrix, MapArray
  • getSpecularColor() : Material, LightSource
  • getSpecularExponent() : Material
  • getSpeed() : AnimationState
  • getStackDepth() : TransformStack
  • getStateMachine() : CgFxContext
  • getStatistics() : StatisticsTraverser
  • getStencilFailOperation() : StencilAttribute
  • getStencilFunction() : StencilAttribute
  • getStencilRefenceValue() : StencilAttribute
  • getStencilValueMask() : StencilAttribute
  • getStencilWriteMask() : StencilAttribute
  • getStencilZFailOperation() : StencilAttribute
  • getStencilZPassOperation() : StencilAttribute
  • getStepsPerUnit() : WRLLoader
  • getStepValue() : LinearInterpolatedAnimationDescription, KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription
  • getStepValues() : FramedAnimationDescription
  • getStereoAutomaticEyeDistanceFactor() : ViewState
  • getStereoEyeDistance() : ViewState
  • getStereoTarget() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB
  • getStippleFactor() : LineAttribute
  • getStipplePattern() : LineAttribute
  • getStrideOfVertexData() : VertexAttributeSet
  • getStringAnnotationValue() : CgFxEffect
  • getStringParameterValue() : CgFxEffect
  • getStrips() : StrippedPrimitiveSet
  • getStructParameterMember() : CgFxEffect
  • getStructParameterMemberByName() : CgFxEffect
  • getSubImagePixels() : TextureHost
  • getSuccess() : NBFSaveTraverser
  • getSupportWidth() : Lanczos3Filter, BSplineFilter, BellFilter, TriangleFilter, BoxFilter, ScaleFilter
  • getSwitchMask() : Switch
  • getTail() : Path
  • getTarget() : TextureGL, BufferGL
  • getTargetAsTextureHost() : RenderTargetGL
  • getTargetDistance() : ViewState
  • getTechnique() : CgFxEffect
  • getTechniqueAnnotation() : CgFxEffect
  • getTechniqueAnnotationByName() : CgFxEffect
  • getTechniqueByName() : CgFxEffect
  • getTechniqueIndex() : CgFxEffect
  • getTechniqueName() : CgFxEffect
  • getTessellationControlProgram() : CgFxEffect
  • getTessellationEvaluationProgram() : CgFxEffect
  • getTexCoords() : VertexAttributeSet
  • getTexGenLinearPlane() : TextureAttributeItem
  • getTexGenMode() : TextureAttributeItem
  • getTexture() : TextureAttributeItem
  • getTextureAttributeItem() : TextureAttribute
  • getTextureFileName() : TextureAttributeItem
  • getTextureGL() : RenderTargetGLFBO::AttachmentTexture
  • getTextureGPUFormat() : TextureHost
  • getTextureHost() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB, RenderTargetGL
  • getThreshold() : AlphaTestAttribute
  • getTime() : Timer, Profile
  • getTotalNumberOfBytes() : TextureHost
  • getTotalNumberOfIndices() : Skin
  • getTrafo() : Transform, Billboard, AnimatedTransform
  • getTransform() : CgFxEffect
  • getTransformationMatrix() : LightSource
  • getTransformType() : CgFxEffect
  • getTranslation() : Trafo, TextureAttributeItem
  • getTraversalDirection() : MapMatrix, MapArray
  • getTraversalMask() : ExclusiveTraverser, SharedTraverser, Traverser, ViewState
  • getTraversalMaskOverride() : Traverser, SceneRenderer
  • getTreeModified() : ExclusiveTraverser
  • getTweakable() : CgFxEffect
  • getTweakableByName() : CgFxEffect
  • getTweakableBySemantic() : CgFxEffect
  • getType() : TypedPropertyValue, TypedProperty, Property, TextureHost
  • getTypeOfColors() : VertexAttributeSet
  • getTypeOfFogCoords() : VertexAttributeSet
  • getTypeOfSecondaryColors() : VertexAttributeSet
  • getTypeOfTexCoords() : VertexAttributeSet
  • getTypeOfVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getUnifyTargets() : UnifyTraverser
  • getUnpackAlignment() : TextureHost
  • getUpper() : Boxnt
  • getUpVector() : Camera
  • getUsage() : BufferGL
  • getUserData() : Object
  • getUserID() : DALData
  • getValue() : Reflection, TypedPropertyImplEnum, TypedPropertyValue, TypedPropertyImpl, TypedProperty
  • getVariableName() : RTBufferAttribute
  • getVersion() : GLFunctions
  • getVertexAttribute() : VertexAttributeSet
  • getVertexAttributeIndex() : NormalizeTraverser
  • getVertexAttributeSet() : PrimitiveSet, Primitive
  • getVertexBuffer() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getVertexDataBytes() : VertexAttribute
  • getVertexDataCount() : VertexAttribute
  • getVertexDataOffsetInBytes() : VertexAttribute
  • getVertexDataSize() : VertexAttribute
  • getVertexDataStrideInBytes() : VertexAttribute
  • getVertexDataType() : VertexAttribute
  • getVertexIndices() : Intersection
  • getVertexProgram() : CgFxEffect
  • getVertices() : VertexAttributeSet
  • getViewState() : SceneRenderer, SceneRenderer::StereoViewStateProvider
  • getViewToClip() : TransformStack
  • getViewToModel() : TransformStack
  • getViewToWorld() : TransformStack
  • getViewToWorldMatrix() : Camera
  • getWeights() : Skin
  • getWidth() : RenderTarget, TextureHost, RTBufferAttribute, RectPatches, Map, LineAttribute, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, RenderTargetGL
  • getWindowOffset() : FrustumCamera
  • getWindowRegion() : FrustumCamera
  • getWindowSize() : FrustumCamera
  • getWorldIntersection() : RayIntersectTraverser
  • getWorldToModel() : TransformStack
  • getWorldToView() : TransformStack
  • getWorldToViewMatrix() : Camera
  • getWrapMode() : TextureAttributeItem
  • GLAccum : GLContext
  • GLActiveStencilFace : GLContext
  • GLActiveTexture : GLContext
  • GLActiveVarying : GLContext
  • GLAlphaFunc : GLContext
  • GLAreProgramsResident : GLContext
  • GLAreTexturesResident : GLContext
  • GLArrayElement : GLContext
  • GLAttachObject : GLContext
  • GLAttachShader : GLContext
  • GLBegin : GLContext
  • GLBeginConditionalRenderNV : GLContext
  • GLBeginQuery : GLContext
  • GLBeginTransformFeedback : GLContext
  • GLBeginTransformFeedbackNV : GLContext
  • GLBindAttribLocation : GLContext
  • GLBindBuffer : GLContext
  • GLBindBufferBase : GLContext
  • GLBindBufferBaseNV : GLContext
  • GLBindBufferOffsetNV : GLContext
  • GLBindBufferRange : GLContext
  • GLBindBufferRangeNV : GLContext
  • GLBindFragDataLocation : GLContext
  • GLBindFramebuffer : GLContext
  • GLBindProgram : GLContext
  • GLBindRenderbuffer : GLContext
  • GLBindTexture : GLContext
  • GLBitmap : GLContext
  • GLBlendColor : GLContext
  • GLBlendEquation : GLContext
  • GLBlendEquationSeparate : GLContext
  • GLBlendFunc : GLContext
  • GLBlendFuncSeparate : GLContext
  • GLBlitFramebuffer : GLContext
  • GLBufferData : GLContext
  • GLBufferSubData : GLContext
  • GLCallList : GLContext
  • GLCallLists : GLContext
  • GLCheckFramebufferStatus : GLContext
  • GLClampColor : GLContext
  • GLClear : GLContext
  • GLClearAccum : GLContext
  • GLClearColor : GLContext
  • GLClearColorIi : GLContext
  • GLClearColorIui : GLContext
  • GLClearDepth : GLContext
  • GLClearDepthd : GLContext
  • GLClearIndex : GLContext
  • GLClearStencil : GLContext
  • GLClientActiveTexture : GLContext
  • GLClipPlane : GLContext
  • GLColor3b : GLContext
  • GLColor3bv : GLContext
  • GLColor3d : GLContext
  • GLColor3dv : GLContext
  • GLColor3f : GLContext
  • GLColor3fv : GLContext
  • GLColor3h : GLContext
  • GLColor3hv : GLContext
  • GLColor3i : GLContext
  • GLColor3iv : GLContext
  • GLColor3s : GLContext
  • GLColor3sv : GLContext
  • GLColor3ub : GLContext
  • GLColor3ubv : GLContext
  • GLColor3ui : GLContext
  • GLColor3uiv : GLContext
  • GLColor3us : GLContext
  • GLColor3usv : GLContext
  • GLColor4b : GLContext
  • GLColor4bv : GLContext
  • GLColor4d : GLContext
  • GLColor4dv : GLContext
  • GLColor4f : GLContext
  • GLColor4fv : GLContext
  • GLColor4h : GLContext
  • GLColor4hv : GLContext
  • GLColor4i : GLContext
  • GLColor4iv : GLContext
  • GLColor4s : GLContext
  • GLColor4sv : GLContext
  • GLColor4ub : GLContext
  • GLColor4ubv : GLContext
  • GLColor4ui : GLContext
  • GLColor4uiv : GLContext
  • GLColor4us : GLContext
  • GLColor4usv : GLContext
  • GLColorMask : GLContext
  • GLColorMaskIndexed : GLContext
  • GLColorMaterial : GLContext
  • GLColorPointer : GLContext
  • GLColorSubTable : GLContext
  • GLColorTable : GLContext
  • GLColorTableParameterfv : GLContext
  • GLColorTableParameteriv : GLContext
  • GLCombinerInput : GLContext
  • GLCombinerOutput : GLContext
  • GLCombinerParameterf : GLContext
  • GLCombinerParameterfv : GLContext
  • GLCombinerParameteri : GLContext
  • GLCombinerParameteriv : GLContext
  • GLCombinerStageParameterfv : GLContext
  • GLCompileShader : GLContext
  • GLCompressedTexImage1D : GLContext
  • GLCompressedTexImage2D : GLContext
  • GLCompressedTexImage3D : GLContext
  • GLCompressedTexSubImage1D : GLContext
  • GLCompressedTexSubImage2D : GLContext
  • GLCompressedTexSubImage3D : GLContext
  • GLConvolutionFilter1D : GLContext
  • GLConvolutionFilter2D : GLContext
  • GLConvolutionParameterf : GLContext
  • GLConvolutionParameterfv : GLContext
  • GLConvolutionParameteri : GLContext
  • GLConvolutionParameteriv : GLContext
  • GLCopyBufferSubData : GLContext
  • GLCopyColorSubTable : GLContext
  • GLCopyColorTable : GLContext
  • GLCopyConvolutionFilter1D : GLContext
  • GLCopyConvolutionFilter2D : GLContext
  • GLCopyPixels : GLContext
  • GLCopyTexImage1D : GLContext
  • GLCopyTexImage2D : GLContext
  • GLCopyTexSubImage1D : GLContext
  • GLCopyTexSubImage2D : GLContext
  • GLCopyTexSubImage3D : GLContext
  • GLCreateProgram : GLContext
  • GLCreateProgramObject : GLContext
  • GLCreateShader : GLContext
  • GLCreateShaderObject : GLContext
  • GLCullFace : GLContext
  • GLCullFaceLock : GLContext
  • GLCullFaceUnlock : GLContext
  • GLDeleteBuffers : GLContext
  • GLDeleteFences : GLContext
  • GLDeleteFramebuffers : GLContext
  • GLDeleteLists : GLContext
  • GLDeleteObject : GLContext
  • GLDeleteProgram : GLContext
  • GLDeletePrograms : GLContext
  • GLDeleteQueries : GLContext
  • GLDeleteRenderbuffers : GLContext
  • GLDeleteShader : GLContext
  • GLDeleteTextures : GLContext
  • GLDepthBounds : GLContext
  • GLDepthBoundsd : GLContext
  • GLDepthFunc : GLContext
  • GLDepthMask : GLContext
  • GLDepthRange : GLContext
  • GLDepthRanged : GLContext
  • GLDetachObject : GLContext
  • GLDetachShader : GLContext
  • GLDisable : GLContext
  • GLDisableAlphaTest : GLContext
  • GLDisableAutoNormal : GLContext
  • GLDisableBlend : GLContext
  • GLDisableClientState : GLContext
  • GLDisableClipPlane : GLContext
  • GLDisableColorArray : GLContext
  • GLDisableColorLogicOp : GLContext
  • GLDisableColorMaterial : GLContext
  • GLDisableCullFace : GLContext
  • GLDisableCullFaceLock : GLContext
  • GLDisableCullFaceUnlock : GLContext
  • GLDisableDepthTest : GLContext
  • GLDisableDither : GLContext
  • GLDisableExtensionAvailability : GLContext
  • GLDisableFog : GLContext
  • GLDisableFogCoordinateArray : GLContext
  • GLDisableIndexed : GLContext
  • GLDisableLight : GLContext
  • GLDisableLighting : GLContext
  • GLDisableLightingLock : GLContext
  • GLDisableLightingUnlock : GLContext
  • GLDisableLineSmooth : GLContext
  • GLDisableLineStipple : GLContext
  • GLDisableLogicOp : GLContext
  • GLDisableNormalArray : GLContext
  • GLDisableNormalize : GLContext
  • GLDisablePointSmooth : GLContext
  • GLDisablePolygonOffsetFill : GLContext
  • GLDisablePolygonOffsetLine : GLContext
  • GLDisablePolygonOffsetPoint : GLContext
  • GLDisablePolygonSmooth : GLContext
  • GLDisablePolygonStipple : GLContext
  • GLDisablePrimitiveRestart : GLContext
  • GLDisableRescaleNormal : GLContext
  • GLDisableScissorTest : GLContext
  • GLDisableSecondaryColorArray : GLContext
  • GLDisableStencilTest : GLContext
  • GLDisableTexture : GLContext
  • GLDisableTextureCoordArray : GLContext
  • GLDisableTextureGen : GLContext
  • GLDisableVertexArray : GLContext
  • GLDisableVertexAttribArray : GLContext
  • GLDrawArrays : GLContext
  • GLDrawArraysInstanced : GLContext
  • GLDrawBuffer : GLContext
  • GLDrawBuffers : GLContext
  • GLDrawElements : GLContext
  • GLDrawElementsInstanced : GLContext
  • GLDrawPixels : GLContext
  • GLDrawRangeElements : GLContext
  • GLEdgeFlag : GLContext
  • GLEdgeFlagPointer : GLContext
  • GLEdgeFlagv : GLContext
  • GLEnable : GLContext
  • GLEnableAlphaTest : GLContext
  • GLEnableAutoNormal : GLContext
  • GLEnableBlend : GLContext
  • GLEnableClientState : GLContext
  • GLEnableClipPlane : GLContext
  • GLEnableColorArray : GLContext
  • GLEnableColorLogicOp : GLContext
  • GLEnableColorMaterial : GLContext
  • GLEnableCullFace : GLContext
  • GLEnableCullFaceLock : GLContext
  • GLEnableCullFaceUnlock : GLContext
  • GLEnableDepthTest : GLContext
  • GLEnableDither : GLContext
  • GLEnableFog : GLContext
  • GLEnableFogCoordinateArray : GLContext
  • GLEnableIndexed : GLContext
  • GLEnableLight : GLContext
  • GLEnableLighting : GLContext
  • GLEnableLineSmooth : GLContext
  • GLEnableLineStipple : GLContext
  • GLEnableLogicOp : GLContext
  • GLEnableNormalArray : GLContext
  • GLEnableNormalize : GLContext
  • GLEnablePointSmooth : GLContext
  • GLEnablePolygonOffsetFill : GLContext
  • GLEnablePolygonOffsetLine : GLContext
  • GLEnablePolygonOffsetPoint : GLContext
  • GLEnablePolygonSmooth : GLContext
  • GLEnablePolygonStipple : GLContext
  • GLEnablePrimitiveRestart : GLContext
  • GLEnableRescaleNormal : GLContext
  • GLEnableScissorTest : GLContext
  • GLEnableSecondaryColorArray : GLContext
  • GLEnableStencilTest : GLContext
  • GLEnableTexture : GLContext
  • GLEnableTextureCoordArray : GLContext
  • GLEnableTextureGen : GLContext
  • GLEnableVertexArray : GLContext
  • GLEnableVertexAttribArray : GLContext
  • GLEnd : GLContext
  • GLEndConditionalRenderNV : GLContext
  • GLEndList : GLContext
  • GLEndQuery : GLContext
  • GLEndTransformFeedback : GLContext
  • GLEndTransformFeedbackNV : GLContext
  • GLEvalCoord1d : GLContext
  • GLEvalCoord1f : GLContext
  • GLEvalCoord2d : GLContext
  • GLEvalCoord2f : GLContext
  • GLEvalMesh1 : GLContext
  • GLEvalMesh2 : GLContext
  • GLEvalPoint1 : GLContext
  • GLEvalPoint2 : GLContext
  • GLExecuteProgram : GLContext
  • GLFeedbackBuffer : GLContext
  • GLFinalCombinerInput : GLContext
  • GLFinish : GLContext
  • GLFinishFence : GLContext
  • GLFlush : GLContext
  • GLFlushMappedBufferRange : GLContext
  • GLFlushPixelDataRange : GLContext
  • GLFlushVertexArrayRange : GLContext
  • GLFogColor : GLContext
  • GLFogCoordd : GLContext
  • GLFogCoorddv : GLContext
  • GLFogCoordf : GLContext
  • GLFogCoordfv : GLContext
  • GLFogCoordh : GLContext
  • GLFogCoordhv : GLContext
  • GLFogCoordPointer : GLContext
  • GLFogDensity : GLContext
  • GLFogEnd : GLContext
  • GLFogf : GLContext
  • GLFogfv : GLContext
  • GLFogi : GLContext
  • GLFogiv : GLContext
  • GLFogMode : GLContext
  • GLFogStart : GLContext
  • GLFramebufferRenderbuffer : GLContext
  • GLFramebufferTexture : GLContext
  • GLFramebufferTexture1D : GLContext
  • GLFramebufferTexture2D : GLContext
  • GLFramebufferTexture3D : GLContext
  • GLFramebufferTextureFace : GLContext
  • GLFramebufferTextureLayer : GLContext
  • GLFrameTerminator : GLContext
  • GLFrontFace : GLContext
  • GLFrustum : GLContext
  • GLFunctions() : GLFunctions
  • GLGenBuffers : GLContext
  • GLGenerateMipmap : GLContext
  • GLGenFences : GLContext
  • GLGenFramebuffers : GLContext
  • GLGenLists : GLContext
  • GLGenPrograms : GLContext
  • GLGenQueries : GLContext
  • GLGenRenderbuffers : GLContext
  • GLGenTextures : GLContext
  • GLGetActiveAttrib : GLContext
  • GLGetActiveUniform : GLContext
  • GLGetActiveVaryingNV : GLContext
  • GLGetAttachedObjects : GLContext
  • GLGetAttachedShaders : GLContext
  • GLGetAttribLocation : GLContext
  • GLGetBooleanIndexedv : GLContext
  • GLGetBooleanv : GLContext
  • GLGetBufferParameteriv : GLContext
  • GLGetBufferPointerv : GLContext
  • GLGetBufferSubData : GLContext
  • GLGetClipPlane : GLContext
  • GLGetColorTable : GLContext
  • GLGetColorTableParameterfv : GLContext
  • GLGetColorTableParameteriv : GLContext
  • GLGetCombinerInputParameterfv : GLContext
  • GLGetCombinerInputParameteriv : GLContext
  • GLGetCombinerOutputParameterfv : GLContext
  • GLGetCombinerOutputParameteriv : GLContext
  • GLGetCombinerStageParameterfv : GLContext
  • GLGetCompressedTexImage : GLContext
  • GLGetConvolutionFilter : GLContext
  • GLGetConvolutionParameterfv : GLContext
  • GLGetConvolutionParameteriv : GLContext
  • GLGetDoublev : GLContext
  • GLGetFenceiv : GLContext
  • GLGetFinalCombinerInputParameterfv : GLContext
  • GLGetFinalCombinerInputParameteriv : GLContext
  • GLGetFloatv : GLContext
  • GLGetFragDataLocation : GLContext
  • GLGetFramebufferAttachmentParameteriv : GLContext
  • GLGetHandle : GLContext
  • GLGetHistogram : GLContext
  • GLGetHistogramParameterfv : GLContext
  • GLGetHistogramParameteriv : GLContext
  • GLGetInfoLog : GLContext
  • GLGetIntegerIndexedv : GLContext
  • GLGetIntegerv : GLContext
  • GLGetLightfv : GLContext
  • GLGetLightiv : GLContext
  • GLGetMapdv : GLContext
  • GLGetMapfv : GLContext
  • GLGetMapiv : GLContext
  • GLGetMaterialfv : GLContext
  • GLGetMaterialiv : GLContext
  • GLGetMaxTexCoords : GLContext
  • GLGetMaxTexImageUnits : GLContext
  • GLGetMaxTexUnits : GLContext
  • GLGetMinmax : GLContext
  • GLGetMinmaxParameterfv : GLContext
  • GLGetMinmaxParameteriv : GLContext
  • GLGetMultisamplefv : GLContext
  • GLGetObjectParameterfv : GLContext
  • GLGetObjectParameteriv : GLContext
  • GLGetPixelMapfv : GLContext
  • GLGetPixelMapuiv : GLContext
  • GLGetPixelMapusv : GLContext
  • GLGetPointerv : GLContext
  • GLGetPolygonStipple : GLContext
  • GLGetProgramEnvParameterdv : GLContext
  • GLGetProgramEnvParameterfv : GLContext
  • GLGetProgramEnvParameterIiv : GLContext
  • GLGetProgramEnvParameterIuiv : GLContext
  • GLGetProgramInfoLog : GLContext
  • GLGetProgramiv : GLContext
  • GLGetProgramLocalParameterdv : GLContext
  • GLGetProgramLocalParameterfv : GLContext
  • GLGetProgramLocalParameterIiv : GLContext
  • GLGetProgramLocalParameterIuiv : GLContext
  • GLGetProgramNamedParameterdv : GLContext
  • GLGetProgramNamedParameterfv : GLContext
  • GLGetProgramParameterdv : GLContext
  • GLGetProgramParameterfv : GLContext
  • GLGetProgramString : GLContext
  • GLGetQueryiv : GLContext
  • GLGetQueryObjecti64v : GLContext
  • GLGetQueryObjectiv : GLContext
  • GLGetQueryObjectui64v : GLContext
  • GLGetQueryObjectuiv : GLContext
  • GLGetRenderbufferParameteriv : GLContext
  • GLGetSeparableFilter : GLContext
  • GLGetShaderInfoLog : GLContext
  • GLGetShaderiv : GLContext
  • GLGetShaderSource : GLContext
  • GLGetString : GLContext
  • GLGetTexEnvfv : GLContext
  • GLGetTexEnviv : GLContext
  • GLGetTexGendv : GLContext
  • GLGetTexGenfv : GLContext
  • GLGetTexGeniv : GLContext
  • GLGetTexImage : GLContext
  • GLGetTexImageFmt : GLContext
  • GLGetTexLevelParameterfv : GLContext
  • GLGetTexLevelParameteriv : GLContext
  • GLGetTexParameterfv : GLContext
  • GLGetTexParameterIiv : GLContext
  • GLGetTexParameterIuiv : GLContext
  • GLGetTexParameteriv : GLContext
  • GLGetTexWrapMode : GLContext
  • GLGetTrackMatrixiv : GLContext
  • GLGetTransformFeedbackVarying : GLContext
  • GLGetTransformFeedbackVaryingNV : GLContext
  • GLGetUniformBufferSize : GLContext
  • GLGetUniformfv : GLContext
  • GLGetUniformiv : GLContext
  • GLGetUniformLocation : GLContext
  • GLGetUniformOffset : GLContext
  • GLGetUniformuiv : GLContext
  • GLGetVaryingLocationNV : GLContext
  • GLGetVersion : GLContext
  • GLGetVertexAttribdv : GLContext
  • GLGetVertexAttribfv : GLContext
  • GLGetVertexAttribIiv : GLContext
  • GLGetVertexAttribIuiv : GLContext
  • GLGetVertexAttribiv : GLContext
  • GLGetVertexAttribPointerv : GLContext
  • GLHint : GLContext
  • GLHistogram : GLContext
  • GLIndexd : GLContext
  • GLIndexf : GLContext
  • GLIndexi : GLContext
  • GLIndexMask : GLContext
  • GLIndexPointer : GLContext
  • GLIndexs : GLContext
  • GLIndexub : GLContext
  • GLInitNames : GLContext
  • GLInterleavedArrays : GLContext
  • GLIsBuffer : GLContext
  • GLIsEnabled : GLContext
  • GLIsEnabledAlphaTest : GLContext
  • GLIsEnabledAutoNormal : GLContext
  • GLIsEnabledBlend : GLContext
  • GLIsEnabledClipPlane : GLContext
  • GLIsEnabledColorLogicOp : GLContext
  • GLIsEnabledColorMaterial : GLContext
  • GLIsEnabledCullFace : GLContext
  • GLIsEnabledDepthTest : GLContext
  • GLIsEnabledDither : GLContext
  • GLIsEnabledFog : GLContext
  • GLIsEnabledIndexed : GLContext
  • GLIsEnabledLight : GLContext
  • GLIsEnabledLighting : GLContext
  • GLIsEnabledLineSmooth : GLContext
  • GLIsEnabledLineStipple : GLContext
  • GLIsEnabledLogicOp : GLContext
  • GLIsEnabledNormalize : GLContext
  • GLIsEnabledPointSmooth : GLContext
  • GLIsEnabledPolygonOffsetFill : GLContext
  • GLIsEnabledPolygonOffsetLine : GLContext
  • GLIsEnabledPolygonOffsetPoint : GLContext
  • GLIsEnabledPolygonSmooth : GLContext
  • GLIsEnabledPolygonStipple : GLContext
  • GLIsEnabledRescaleNormal : GLContext
  • GLIsEnabledScissorTest : GLContext
  • GLIsEnabledStencilTest : GLContext
  • GLIsEnabledTexture : GLContext
  • GLIsEnabledTextureGen : GLContext
  • GLIsExtensionAvailable : GLContext
  • GLIsExtensionExported : GLContext
  • GLIsFence : GLContext
  • GLIsFramebuffer : GLContext
  • GLIsList : GLContext
  • GLIsProgram : GLContext
  • GLIsQuery : GLContext
  • GLIsRenderbuffer : GLContext
  • GLIsShader : GLContext
  • GLIsTexture : GLContext
  • GLLightAmbient : GLContext
  • GLLightConstantAttenuation : GLContext
  • GLLightDiffuse : GLContext
  • GLLightf : GLContext
  • GLLightfv : GLContext
  • GLLighti : GLContext
  • GLLightiv : GLContext
  • GLLightLinearAttenuation : GLContext
  • GLLightModelAmbient : GLContext
  • GLLightModelf : GLContext
  • GLLightModelfv : GLContext
  • GLLightModeli : GLContext
  • GLLightModeliv : GLContext
  • GLLightModelLocalViewer : GLContext
  • GLLightModelTwoSide : GLContext
  • GLLightModelTwoSideLock : GLContext
  • GLLightModelTwoSideUnlock : GLContext
  • GLLightPosition : GLContext
  • GLLightQuadraticAttenuation : GLContext
  • GLLightSpecular : GLContext
  • GLLightSpotCutoff : GLContext
  • GLLightSpotDirection : GLContext
  • GLLightSpotExponent : GLContext
  • GLLineStipple : GLContext
  • GLLineWidth : GLContext
  • GLLinkProgram : GLContext
  • GLListBase : GLContext
  • GLLoadIdentity : GLContext
  • GLLoadMatrixd : GLContext
  • GLLoadMatrixf : GLContext
  • GLLoadName : GLContext
  • GLLoadProgram : GLContext
  • GLLoadTransposedMatrixd : GLContext
  • GLLoadTransposeMatrixf : GLContext
  • GLLockArrays : GLContext
  • GLLogicOp : GLContext
  • GLMap1d : GLContext
  • GLMap1f : GLContext
  • GLMap2d : GLContext
  • GLMap2f : GLContext
  • GLMapBuffer : GLContext
  • GLMapBufferRange : GLContext
  • GLMapGrid1d : GLContext
  • GLMapGrid1f : GLContext
  • GLMapGrid2d : GLContext
  • GLMapGrid2f : GLContext
  • GLMaterialAmbient : GLContext
  • GLMaterialAmbientBack : GLContext
  • GLMaterialAmbientFront : GLContext
  • GLMaterialAmbientFrontAndBack : GLContext
  • GLMaterialDiffuse : GLContext
  • GLMaterialDiffuseBack : GLContext
  • GLMaterialDiffuseFront : GLContext
  • GLMaterialDiffuseFrontAndBack : GLContext
  • GLMaterialEmission : GLContext
  • GLMaterialEmissionBack : GLContext
  • GLMaterialEmissionFront : GLContext
  • GLMaterialEmissionFrontAndBack : GLContext
  • GLMaterialf : GLContext
  • GLMaterialfv : GLContext
  • GLMateriali : GLContext
  • GLMaterialiv : GLContext
  • GLMaterialShininess : GLContext
  • GLMaterialShininessBack : GLContext
  • GLMaterialShininessFront : GLContext
  • GLMaterialShininessFrontAndBack : GLContext
  • GLMaterialSpecular : GLContext
  • GLMaterialSpecularBack : GLContext
  • GLMaterialSpecularFront : GLContext
  • GLMaterialSpecularFrontAndBack : GLContext
  • GLMatrixMode : GLContext
  • GLMinmax : GLContext
  • GLMultiDrawArrays : GLContext
  • GLMultiDrawElements : GLContext
  • GLMultiTexCoord1d : GLContext
  • GLMultiTexCoord1dv : GLContext
  • GLMultiTexCoord1f : GLContext
  • GLMultiTexCoord1fv : GLContext
  • GLMultiTexCoord1h : GLContext
  • GLMultiTexCoord1hv : GLContext
  • GLMultiTexCoord1i : GLContext
  • GLMultiTexCoord1iv : GLContext
  • GLMultiTexCoord1s : GLContext
  • GLMultiTexCoord1sv : GLContext
  • GLMultiTexCoord2d : GLContext
  • GLMultiTexCoord2dv : GLContext
  • GLMultiTexCoord2f : GLContext
  • GLMultiTexCoord2fv : GLContext
  • GLMultiTexCoord2h : GLContext
  • GLMultiTexCoord2hv : GLContext
  • GLMultiTexCoord2i : GLContext
  • GLMultiTexCoord2iv : GLContext
  • GLMultiTexCoord2s : GLContext
  • GLMultiTexCoord2sv : GLContext
  • GLMultiTexCoord3d : GLContext
  • GLMultiTexCoord3dv : GLContext
  • GLMultiTexCoord3f : GLContext
  • GLMultiTexCoord3fv : GLContext
  • GLMultiTexCoord3h : GLContext
  • GLMultiTexCoord3hv : GLContext
  • GLMultiTexCoord3i : GLContext
  • GLMultiTexCoord3iv : GLContext
  • GLMultiTexCoord3s : GLContext
  • GLMultiTexCoord3sv : GLContext
  • GLMultiTexCoord4d : GLContext
  • GLMultiTexCoord4dv : GLContext
  • GLMultiTexCoord4f : GLContext
  • GLMultiTexCoord4fv : GLContext
  • GLMultiTexCoord4h : GLContext
  • GLMultiTexCoord4hv : GLContext
  • GLMultiTexCoord4i : GLContext
  • GLMultiTexCoord4iv : GLContext
  • GLMultiTexCoord4s : GLContext
  • GLMultiTexCoord4sv : GLContext
  • GLMultMatrixd : GLContext
  • GLMultMatrixf : GLContext
  • GLMultTransposeMatrixd : GLContext
  • GLMultTransposeMatrixf : GLContext
  • GLNewList : GLContext
  • GLNormal3b : GLContext
  • GLNormal3bv : GLContext
  • GLNormal3d : GLContext
  • GLNormal3dv : GLContext
  • GLNormal3f : GLContext
  • GLNormal3fv : GLContext
  • GLNormal3h : GLContext
  • GLNormal3hv : GLContext
  • GLNormal3i : GLContext
  • GLNormal3iv : GLContext
  • GLNormal3s : GLContext
  • GLNormal3sv : GLContext
  • GLNormalPointer : GLContext
  • GLObjects() : GLObjects
  • GLOrtho : GLContext
  • GLPassThrough : GLContext
  • GLPatchParameterfv : GLContext
  • GLPatchParameteri : GLContext
  • GLPixelDataRange : GLContext
  • GLPixelMapfv : GLContext
  • GLPixelMapuiv : GLContext
  • GLPixelMapusv : GLContext
  • GLPixelStoref : GLContext
  • GLPixelStorei : GLContext
  • GLPixelTransferf : GLContext
  • GLPixelTransferi : GLContext
  • GLPixelZoom : GLContext
  • GLPointParameterf : GLContext
  • GLPointParameterfv : GLContext
  • GLPointParameteri : GLContext
  • GLPointParameteriv : GLContext
  • GLPointSize : GLContext
  • GLPolygonMode : GLContext
  • GLPolygonModeBack : GLContext
  • GLPolygonModeFront : GLContext
  • GLPolygonModeFrontAndBack : GLContext
  • GLPolygonModeLock : GLContext
  • GLPolygonModeUnlock : GLContext
  • GLPolygonOffset : GLContext
  • GLPolygonStipple : GLContext
  • GLPopAttrib : GLContext
  • GLPopClientAttrib : GLContext
  • GLPopMatrix : GLContext
  • GLPopName : GLContext
  • GLPrimitiveRestart : GLContext
  • GLPrimitiveRestartIndex : GLContext
  • GLPrioritizeTextures : GLContext
  • GLProgramBufferParametersfv : GLContext
  • GLProgramBufferParametersIiv : GLContext
  • GLProgramBufferParametersIuiv : GLContext
  • GLProgramEnvParameter4d : GLContext
  • GLProgramEnvParameter4dv : GLContext
  • GLProgramEnvParameter4f : GLContext
  • GLProgramEnvParameter4fv : GLContext
  • GLProgramEnvParameterI4i : GLContext
  • GLProgramEnvParameterI4iv : GLContext
  • GLProgramEnvParameterI4ui : GLContext
  • GLProgramEnvParameterI4uiv : GLContext
  • GLProgramEnvParameters4fv : GLContext
  • GLProgramEnvParametersI4iv : GLContext
  • GLProgramEnvParametersI4uiv : GLContext
  • GLProgramLocalParameter4d : GLContext
  • GLProgramLocalParameter4dv : GLContext
  • GLProgramLocalParameter4f : GLContext
  • GLProgramLocalParameter4fv : GLContext
  • GLProgramLocalParameterI4i : GLContext
  • GLProgramLocalParameterI4iv : GLContext
  • GLProgramLocalParameterI4ui : GLContext
  • GLProgramLocalParameterI4uiv : GLContext
  • GLProgramLocalParameters4fv : GLContext
  • GLProgramLocalParametersI4iv : GLContext
  • GLProgramLocalParametersI4uiv : GLContext
  • GLProgramNamedParameter4d : GLContext
  • GLProgramNamedParameter4dv : GLContext
  • GLProgramNamedParameter4f : GLContext
  • GLProgramNamedParameter4fv : GLContext
  • GLProgramParameter4d : GLContext
  • GLProgramParameter4dv : GLContext
  • GLProgramParameter4f : GLContext
  • GLProgramParameter4fv : GLContext
  • GLProgramParameteri : GLContext
  • GLProgramParameters4dv : GLContext
  • GLProgramParameters4fv : GLContext
  • GLProgramString : GLContext
  • GLProgramVertexLimit : GLContext
  • GLPushAttrib : GLContext
  • GLPushClientAttrib : GLContext
  • GLPushMatrix : GLContext
  • GLPushName : GLContext
  • GLRasterPos2d : GLContext
  • GLRasterPos2dv : GLContext
  • GLRasterPos2f : GLContext
  • GLRasterPos2fv : GLContext
  • GLRasterPos2i : GLContext
  • GLRasterPos2iv : GLContext
  • GLRasterPos2s : GLContext
  • GLRasterPos2sv : GLContext
  • GLRasterPos3d : GLContext
  • GLRasterPos3dv : GLContext
  • GLRasterPos3f : GLContext
  • GLRasterPos3fv : GLContext
  • GLRasterPos3i : GLContext
  • GLRasterPos3iv : GLContext
  • GLRasterPos3s : GLContext
  • GLRasterPos3sv : GLContext
  • GLRasterPos4d : GLContext
  • GLRasterPos4dv : GLContext
  • GLRasterPos4f : GLContext
  • GLRasterPos4fv : GLContext
  • GLRasterPos4i : GLContext
  • GLRasterPos4iv : GLContext
  • GLRasterPos4s : GLContext
  • GLRasterPos4sv : GLContext
  • GLReadBuffer : GLContext
  • GLReadPixels : GLContext
  • GLRectd : GLContext
  • GLRectf : GLContext
  • GLRecti : GLContext
  • GLRects : GLContext
  • GLRenderbufferStorage : GLContext
  • GLRenderbufferStorageMultisample : GLContext
  • GLRenderbufferStorageMultisampleCoverage : GLContext
  • GLRenderMode : GLContext
  • GLRequestResidentPrograms : GLContext
  • GLResetAlphaFunc : GLContext
  • GLResetAlphaTest : GLContext
  • GLResetAutoNormal : GLContext
  • GLResetBlend : GLContext
  • GLResetBlendFunc : GLContext
  • GLResetBlendFuncSeparate : GLContext
  • GLResetClearColor : GLContext
  • GLResetClearDepth : GLContext
  • GLResetClearStencil : GLContext
  • GLResetClipPlane : GLContext
  • GLResetClipPlaneEquation : GLContext
  • GLResetColorLogicOp : GLContext
  • GLResetColorMask : GLContext
  • GLResetColorMaterial : GLContext
  • GLResetColorMaterialMode : GLContext
  • GLResetCullFace : GLContext
  • GLResetCullFaceMode : GLContext
  • GLResetDepthFunc : GLContext
  • GLResetDepthMask : GLContext
  • GLResetDepthRange : GLContext
  • GLResetDepthTest : GLContext
  • GLResetDither : GLContext
  • GLResetFog : GLContext
  • GLResetFogColor : GLContext
  • GLResetFogDensity : GLContext
  • GLResetFogEnd : GLContext
  • GLResetFogMode : GLContext
  • GLResetFogStart : GLContext
  • GLResetFrontFace : GLContext
  • GLResetHistogram : GLContext
  • GLResetLight : GLContext
  • GLResetLightAmbient : GLContext
  • GLResetLightConstantAttenuation : GLContext
  • GLResetLightDiffuse : GLContext
  • GLResetLighting : GLContext
  • GLResetLightLinearAttenuation : GLContext
  • GLResetLightModelAmbient : GLContext
  • GLResetLightModelLocalViewer : GLContext
  • GLResetLightModelTwoSide : GLContext
  • GLResetLightPosition : GLContext
  • GLResetLightQuadraticAttenuation : GLContext
  • GLResetLightSpecular : GLContext
  • GLResetLightSpotCutoff : GLContext
  • GLResetLightSpotDirection : GLContext
  • GLResetLightSpotExponent : GLContext
  • GLResetLineSmooth : GLContext
  • GLResetLineStipple : GLContext
  • GLResetLineStippleDefinition : GLContext
  • GLResetLineWidth : GLContext
  • GLResetLogicOp : GLContext
  • GLResetMaterialAmbientBack : GLContext
  • GLResetMaterialAmbientFront : GLContext
  • GLResetMaterialAmbientFrontAndBack : GLContext
  • GLResetMaterialDiffuseBack : GLContext
  • GLResetMaterialDiffuseFront : GLContext
  • GLResetMaterialDiffuseFrontAndBack : GLContext
  • GLResetMaterialEmissionBack : GLContext
  • GLResetMaterialEmissionFront : GLContext
  • GLResetMaterialEmissionFrontAndBack : GLContext
  • GLResetMaterialShininessBack : GLContext
  • GLResetMaterialShininessFront : GLContext
  • GLResetMaterialShininessFrontAndBack : GLContext
  • GLResetMaterialSpecularBack : GLContext
  • GLResetMaterialSpecularFront : GLContext
  • GLResetMaterialSpecularFrontAndBack : GLContext
  • GLResetMinmax : GLContext
  • GLResetNormalize : GLContext
  • GLResetPointSize : GLContext
  • GLResetPointSmooth : GLContext
  • GLResetPolygonModeBack : GLContext
  • GLResetPolygonModeFront : GLContext
  • GLResetPolygonModeFrontAndBack : GLContext
  • GLResetPolygonOffset : GLContext
  • GLResetPolygonOffsetFill : GLContext
  • GLResetPolygonOffsetLine : GLContext
  • GLResetPolygonOffsetPoint : GLContext
  • GLResetPolygonSmooth : GLContext
  • GLResetPolygonStipple : GLContext
  • GLResetRescaleNormal : GLContext
  • GLResetScissor : GLContext
  • GLResetScissorTest : GLContext
  • GLResetShadeModel : GLContext
  • GLResetStencilFunc : GLContext
  • GLResetStencilMask : GLContext
  • GLResetStencilOp : GLContext
  • GLResetStencilTest : GLContext
  • GLResetTexture : GLContext
  • GLRotated : GLContext
  • GLRotatef : GLContext
  • GLSampleCoverage : GLContext
  • GLSampleMaski : GLContext
  • GLScaled : GLContext
  • GLScalef : GLContext
  • GLScissor : GLContext
  • GLSecondaryColor3b : GLContext
  • GLSecondaryColor3bv : GLContext
  • GLSecondaryColor3d : GLContext
  • GLSecondaryColor3dv : GLContext
  • GLSecondaryColor3f : GLContext
  • GLSecondaryColor3fv : GLContext
  • GLSecondaryColor3h : GLContext
  • GLSecondaryColor3hv : GLContext
  • GLSecondaryColor3i : GLContext
  • GLSecondaryColor3iv : GLContext
  • GLSecondaryColor3s : GLContext
  • GLSecondaryColor3sv : GLContext
  • GLSecondaryColor3ub : GLContext
  • GLSecondaryColor3ubv : GLContext
  • GLSecondaryColor3ui : GLContext
  • GLSecondaryColor3uiv : GLContext
  • GLSecondaryColor3us : GLContext
  • GLSecondaryColor3usv : GLContext
  • GLSecondaryColorPointer : GLContext
  • GLSelectBuffer : GLContext
  • GLSelectTexture : GLContext
  • GLSelectTextureCoordSet : GLContext
  • GLSeparableFilter2D : GLContext
  • GLSetFence : GLContext
  • GLShadeModel : GLContext
  • GLShaderSource : GLContext
  • GLStencilClearTag : GLContext
  • GLStencilFunc : GLContext
  • GLStencilFuncSeparate : GLContext
  • GLStencilMask : GLContext
  • GLStencilMaskSeparate : GLContext
  • GLStencilOp : GLContext
  • GLStencilOpSeparate : GLContext
  • GLStringMarker : GLContext
  • GLTestFence : GLContext
  • GLTexBuffer : GLContext
  • GLTexCoord1d : GLContext
  • GLTexCoord1dv : GLContext
  • GLTexCoord1f : GLContext
  • GLTexCoord1fv : GLContext
  • GLTexCoord1h : GLContext
  • GLTexCoord1hv : GLContext
  • GLTexCoord1i : GLContext
  • GLTexCoord1iv : GLContext
  • GLTexCoord1s : GLContext
  • GLTexCoord1sv : GLContext
  • GLTexCoord2d : GLContext
  • GLTexCoord2dv : GLContext
  • GLTexCoord2f : GLContext
  • GLTexCoord2fv : GLContext
  • GLTexCoord2h : GLContext
  • GLTexCoord2hv : GLContext
  • GLTexCoord2i : GLContext
  • GLTexCoord2iv : GLContext
  • GLTexCoord2s : GLContext
  • GLTexCoord2sv : GLContext
  • GLTexCoord3d : GLContext
  • GLTexCoord3dv : GLContext
  • GLTexCoord3f : GLContext
  • GLTexCoord3fv : GLContext
  • GLTexCoord3h : GLContext
  • GLTexCoord3hv : GLContext
  • GLTexCoord3i : GLContext
  • GLTexCoord3iv : GLContext
  • GLTexCoord3s : GLContext
  • GLTexCoord3sv : GLContext
  • GLTexCoord4d : GLContext
  • GLTexCoord4dv : GLContext
  • GLTexCoord4f : GLContext
  • GLTexCoord4fv : GLContext
  • GLTexCoord4h : GLContext
  • GLTexCoord4hv : GLContext
  • GLTexCoord4i : GLContext
  • GLTexCoord4iv : GLContext
  • GLTexCoord4s : GLContext
  • GLTexCoord4sv : GLContext
  • GLTexCoordPointer : GLContext
  • GLTexEnvf : GLContext
  • GLTexEnvfv : GLContext
  • GLTexEnvi : GLContext
  • GLTexEnviv : GLContext
  • GLTexGend : GLContext
  • GLTexGenf : GLContext
  • GLTexGenfv : GLContext
  • GLTexGeni : GLContext
  • GLTexImage1D : GLContext
  • GLTexImage2D : GLContext
  • GLTexImage2DMultisample : GLContext
  • GLTexImage3D : GLContext
  • GLTexImage3DMultisample : GLContext
  • GLTexParameterf : GLContext
  • GLTexParameterfv : GLContext
  • GLTexParameteri : GLContext
  • GLTexParameterIiv : GLContext
  • GLTexParameterIuiv : GLContext
  • GLTexParameteriv : GLContext
  • GLTexSubImage1D : GLContext
  • GLTexSubImage2D : GLContext
  • GLTexSubImage3D : GLContext
  • GLTextureBorderColor : GLContext
  • GLTextureEnvColor : GLContext
  • GLTextureEnvMode : GLContext
  • GLTextureMagFilter : GLContext
  • GLTextureMinFilter : GLContext
  • GLTextureWrapR : GLContext
  • GLTextureWrapS : GLContext
  • GLTextureWrapT : GLContext
  • GLTrackMatrix : GLContext
  • GLTransformFeedbackAttribsNV : GLContext
  • GLTransformFeedbackVaryings : GLContext
  • GLTransformFeedbackVaryingsNV : GLContext
  • GLTranslated : GLContext
  • GLTranslatef : GLContext
  • GLUniform1f : GLContext
  • GLUniform1fv : GLContext
  • GLUniform1i : GLContext
  • GLUniform1iv : GLContext
  • GLUniform1ui : GLContext
  • GLUniform1uiv : GLContext
  • GLUniform2f : GLContext
  • GLUniform2fv : GLContext
  • GLUniform2i : GLContext
  • GLUniform2iv : GLContext
  • GLUniform2ui : GLContext
  • GLUniform2uiv : GLContext
  • GLUniform3f : GLContext
  • GLUniform3fv : GLContext
  • GLUniform3i : GLContext
  • GLUniform3iv : GLContext
  • GLUniform3ui : GLContext
  • GLUniform3uiv : GLContext
  • GLUniform4f : GLContext
  • GLUniform4fv : GLContext
  • GLUniform4i : GLContext
  • GLUniform4iv : GLContext
  • GLUniform4ui : GLContext
  • GLUniform4uiv : GLContext
  • GLUniformBuffer : GLContext
  • GLUniformMatrix2fv : GLContext
  • GLUniformMatrix2x3fv : GLContext
  • GLUniformMatrix2x4fv : GLContext
  • GLUniformMatrix3fv : GLContext
  • GLUniformMatrix3x2fv : GLContext
  • GLUniformMatrix3x4fv : GLContext
  • GLUniformMatrix4fv : GLContext
  • GLUniformMatrix4x2fv : GLContext
  • GLUniformMatrix4x3fv : GLContext
  • GLUnlockArrays : GLContext
  • GLUnmapBuffer : GLContext
  • GLUploadBuffers : GLContext
  • GLUploadTraverser() : GLUploadTraverser
  • GLUseProgram : GLContext
  • GLUseProgramObject : GLContext
  • GLValidateProgram : GLContext
  • GLVertex2d : GLContext
  • GLVertex2dv : GLContext
  • GLVertex2f : GLContext
  • GLVertex2fv : GLContext
  • GLVertex2h : GLContext
  • GLVertex2hv : GLContext
  • GLVertex2i : GLContext
  • GLVertex2iv : GLContext
  • GLVertex2s : GLContext
  • GLVertex2sv : GLContext
  • GLVertex3d : GLContext
  • GLVertex3dv : GLContext
  • GLVertex3f : GLContext
  • GLVertex3fv : GLContext
  • GLVertex3h : GLContext
  • GLVertex3hv : GLContext
  • GLVertex3i : GLContext
  • GLVertex3iv : GLContext
  • GLVertex3s : GLContext
  • GLVertex3sv : GLContext
  • GLVertex4d : GLContext
  • GLVertex4dv : GLContext
  • GLVertex4f : GLContext
  • GLVertex4fv : GLContext
  • GLVertex4h : GLContext
  • GLVertex4hv : GLContext
  • GLVertex4i : GLContext
  • GLVertex4iv : GLContext
  • GLVertex4s : GLContext
  • GLVertex4sv : GLContext
  • GLVertexArrayRange : GLContext
  • GLVertexAttrib1d : GLContext
  • GLVertexAttrib1dv : GLContext
  • GLVertexAttrib1f : GLContext
  • GLVertexAttrib1fv : GLContext
  • GLVertexAttrib1h : GLContext
  • GLVertexAttrib1hv : GLContext
  • GLVertexAttrib1s : GLContext
  • GLVertexAttrib1sv : GLContext
  • GLVertexAttrib2d : GLContext
  • GLVertexAttrib2dv : GLContext
  • GLVertexAttrib2f : GLContext
  • GLVertexAttrib2fv : GLContext
  • GLVertexAttrib2h : GLContext
  • GLVertexAttrib2hv : GLContext
  • GLVertexAttrib2s : GLContext
  • GLVertexAttrib2sv : GLContext
  • GLVertexAttrib3d : GLContext
  • GLVertexAttrib3dv : GLContext
  • GLVertexAttrib3f : GLContext
  • GLVertexAttrib3fv : GLContext
  • GLVertexAttrib3h : GLContext
  • GLVertexAttrib3hv : GLContext
  • GLVertexAttrib3s : GLContext
  • GLVertexAttrib3sv : GLContext
  • GLVertexAttrib4bv : GLContext
  • GLVertexAttrib4d : GLContext
  • GLVertexAttrib4dv : GLContext
  • GLVertexAttrib4f : GLContext
  • GLVertexAttrib4fv : GLContext
  • GLVertexAttrib4h : GLContext
  • GLVertexAttrib4hv : GLContext
  • GLVertexAttrib4iv : GLContext
  • GLVertexAttrib4Nbv : GLContext
  • GLVertexAttrib4Niv : GLContext
  • GLVertexAttrib4Nsv : GLContext
  • GLVertexAttrib4Nub : GLContext
  • GLVertexAttrib4Nubv : GLContext
  • GLVertexAttrib4Nuiv : GLContext
  • GLVertexAttrib4Nusv : GLContext
  • GLVertexAttrib4s : GLContext
  • GLVertexAttrib4sv : GLContext
  • GLVertexAttrib4ub : GLContext
  • GLVertexAttrib4ubv : GLContext
  • GLVertexAttrib4uiv : GLContext
  • GLVertexAttrib4usv : GLContext
  • GLVertexAttribI1i : GLContext
  • GLVertexAttribI1iv : GLContext
  • GLVertexAttribI1ui : GLContext
  • GLVertexAttribI1uiv : GLContext
  • GLVertexAttribI2i : GLContext
  • GLVertexAttribI2iv : GLContext
  • GLVertexAttribI2ui : GLContext
  • GLVertexAttribI2uiv : GLContext
  • GLVertexAttribI3i : GLContext
  • GLVertexAttribI3iv : GLContext
  • GLVertexAttribI3ui : GLContext
  • GLVertexAttribI3uiv : GLContext
  • GLVertexAttribI4bv : GLContext
  • GLVertexAttribI4i : GLContext
  • GLVertexAttribI4iv : GLContext
  • GLVertexAttribI4sv : GLContext
  • GLVertexAttribI4ubv : GLContext
  • GLVertexAttribI4ui : GLContext
  • GLVertexAttribI4uiv : GLContext
  • GLVertexAttribI4usv : GLContext
  • GLVertexAttribIPointer : GLContext
  • GLVertexAttribPointer : GLContext
  • GLVertexAttribPointerNV : GLContext
  • GLVertexAttribs1dvNV : GLContext
  • GLVertexAttribs1fvNV : GLContext
  • GLVertexAttribs1hv : GLContext
  • GLVertexAttribs1svNV : GLContext
  • GLVertexAttribs2dvNV : GLContext
  • GLVertexAttribs2fvNV : GLContext
  • GLVertexAttribs2hv : GLContext
  • GLVertexAttribs2svNV : GLContext
  • GLVertexAttribs3dvNV : GLContext
  • GLVertexAttribs3fvNV : GLContext
  • GLVertexAttribs3hv : GLContext
  • GLVertexAttribs3svNV : GLContext
  • GLVertexAttribs4dvNV : GLContext
  • GLVertexAttribs4fvNV : GLContext
  • GLVertexAttribs4hv : GLContext
  • GLVertexAttribs4svNV : GLContext
  • GLVertexAttribs4ubvNV : GLContext
  • GLVertexPointer : GLContext
  • GLViewport : GLContext
  • GLWindowPos2d : GLContext
  • GLWindowPos2dv : GLContext
  • GLWindowPos2f : GLContext
  • GLWindowPos2fv : GLContext
  • GLWindowPos2i : GLContext
  • GLWindowPos2iv : GLContext
  • GLWindowPos2s : GLContext
  • GLWindowPos2sv : GLContext
  • GLWindowPos3d : GLContext
  • GLWindowPos3dv : GLContext
  • GLWindowPos3f : GLContext
  • GLWindowPos3fv : GLContext
  • GLWindowPos3i : GLContext
  • GLWindowPos3iv : GLContext
  • GLWindowPos3s : GLContext
  • GLWindowPos3sv : GLContext
  • GLXCreateContext : GLContext
  • GLXDestroyContext : GLContext
  • GLXGetCurrentContext : GLContext
  • GLXGetCurrentDrawable : GLContext
  • GPUSkinningProcessor() : GPUSkinningProcessor
  • Group() : Group

- h -

  • handleAlphaTestAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleAnimatedTransform() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AppTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleAnimatedVertexAttributeSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StrippingTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleBillboard() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleBlendAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleCgFx() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleDepthAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleDirectedLight() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFaceAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFlipbookAnimation() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, EliminateTraverser, ConvertPrimitivesTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser, PostBuildTraverser
  • handleFramedIndexAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedTrafoAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedVertexAttributeAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleGeoNode() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleGroup() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleIndexAnimation() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLightingAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLinearInterpolatedTrafoAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLinearInterpolatedVertexAttributeAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLineAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLines() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLineStrips() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLOD() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, IdentityToGroupTraverser, EliminateTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleMapArray() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMapElement() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMapList() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMapMatrix() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMaterial() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleMatrixCamera() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleParallelCamera() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePerspectiveCamera() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePointAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePointLight() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePoints() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePrimitive() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StrippingTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, DestrippingTraverser, DeindexTraverser, CombineTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadMeshes() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadPatches() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadPatches4x4() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuads() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadStrips() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRectPatches() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRTBufferAttribute() : ExclusiveTraverser, SharedTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRTFx() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRTFxProgram() : StatisticsTraverser, SearchTraverser, NBFSaveTraverser
  • handleRTFxSceneAttribute() : ExclusiveTraverser, SharedTraverser, NBFSaveTraverser
  • handleShape() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser
  • handleSkin() : ExclusiveTraverser, SharedTraverser, StrippingTraverser, StatisticsTraverser, SearchTraverser, ConvertPrimitivesTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSpotLight() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStatePass() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, EliminateTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStateSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, BezierInterpolationTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStateVariant() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStencilAttribute() : ExclusiveTraverser, SharedTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSwitch() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, IdentityToGroupTraverser, EliminateTraverser, ConvertPrimitivesTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser, PostBuildTraverser
  • handleTextureAttribute() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, EliminateTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTextureAttributeItem() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTrafoAnimation() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTransform() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AppTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleTriangles() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriFans() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriPatches() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriPatches4() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriStrips() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleUnlitColorAttribute() : ExclusiveTraverser, SharedTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleVertexAttributeAnimation() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleVertexAttributeSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • hasDynamicNumberOfLights() : CgFxEffect
  • hasFaces() : Triangles, Quads
  • hasIndices() : IndependentPrimitiveSet
  • hasLayers() : TextureGL
  • hasMeshes() : MeshedPrimitiveSet
  • hasMoreTokens() : StrTokenizer
  • hasPatches() : PatchesBase
  • hasProperty() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • hasSamplerTextureHost() : CgFxEffect
  • hasSegments() : Lines
  • hasStrips() : StrippedPrimitiveSet
  • hasTextureHost() : TextureAttributeItem
  • HeadLightConstIterator : Camera
  • HeadLightContainer : Camera
  • HeadLightIterator : Camera
  • headLights : NBFCamera
  • height : NBFRectPatches, NBFRTBufferAttribute, texImage_t, meshSet_t
  • hints : NBFObject
  • hourLastModified : NBFHeader

- i -

  • IAllocator() : IAllocator
  • idata : indexSet_t
  • identityCount : IdentityResult
  • IdentityToGroupTraverser() : IdentityToGroupTraverser
  • Image() : Image
  • IMG_ALPHA : Image
  • IMG_BGR : Image
  • IMG_BGRA : Image
  • IMG_BYTE : Image
  • IMG_COLOR_INDEX : Image
  • IMG_DEPTH_COMPONENT : Image
  • IMG_DEPTH_STENCIL : Image
  • IMG_FLOAT16 : Image
  • IMG_FLOAT32 : Image
  • IMG_INT : Image
  • IMG_LUMINANCE : Image
  • IMG_LUMINANCE_ALPHA : Image
  • IMG_NUM_FORMATS : Image
  • IMG_NUM_TYPES : Image
  • IMG_RGB : Image
  • IMG_RGBA : Image
  • IMG_SHORT : Image
  • IMG_UNKNOWN_FORMAT : Image
  • IMG_UNKNOWN_TYPE : Image
  • IMG_UNSIGNED_BYTE : Image
  • IMG_UNSIGNED_INT : Image
  • IMG_UNSIGNED_INT_10F_11F_11F : Image
  • IMG_UNSIGNED_INT_24_8 : Image
  • IMG_UNSIGNED_INT_2_10_10_10 : Image
  • IMG_UNSIGNED_INT_5_9_9_9 : Image
  • IMG_UNSIGNED_SHORT : Image
  • Incarnation() : Incarnation
  • incrementJointCount() : Transform
  • incrementMipmapUseCount() : TextureHost
  • IndependentPrimitiveSet() : IndependentPrimitiveSet
  • indexSet : NBFPrimitive
  • IndexSet() : IndexSet
  • indices : NBFIndependentPrimitiveSet, NBFSkin, NBFIndexAnimation, meshSet_t, indexList_t
  • init() : Log, FixedAllocator, Switch, TextureGL
  • initialize() : CgFxContext
  • initReflection() : Reflection
  • insertChild() : Group
  • insertEmptyColumn() : MapMatrix
  • insertKey() : KeyFramedAnimationDescription
  • insertMap() : MapMatrix, MapArray
  • insertMapObject() : MapList
  • insertPass() : StateVariant, StateSet
  • instance() : Singleton
  • instanceCount : NBFPrimitive
  • integerFmt : NVSGTexImageFmt
  • intensity : NBFLightSource
  • interruptTraversal() : Traverser
  • intersectBox() : RayIntersectTraverser
  • Intersection() : Intersection
  • intersectLine() : RayIntersectTraverser
  • intersectPoint() : RayIntersectTraverser
  • intersectTriangle() : RayIntersectTraverser
  • intFmt : GLTexImageFmt
  • invalidate() : Validated, Spherent, AnimationState
  • invalidateHashKey() : Texture
  • inverseBindMatrices : NBFSkin
  • inverseProjection : NBFMatrixCamera
  • invert() : Matnnt
  • is1D() : TextureHost
  • is1DArray() : TextureHost
  • is2D() : TextureHost
  • is2DArray() : TextureHost
  • is3D() : TextureHost
  • isActive() : Switch
  • isAnimating() : ViewState
  • isAntiAliased() : PointAttribute, LineAttribute
  • isArrayParameter() : CgFxEffect
  • isAttached() : Subject
  • isAttenuated() : SpotLight, PointLight
  • isAutoClipPlanes : NBFViewState
  • isAvailable() : GLFunctions
  • isBackFaceCulling() : FaceAttribute
  • isBlitSupported() : RenderTargetGLFBO
  • isBoolAnnotation() : CgFxEffect
  • isBoolParameter() : CgFxEffect
  • isBoolPassState() : CgFxEffect
  • isBoolSamplerState() : CgFxEffect
  • isBufferedParameter() : CgFxEffect
  • isClipped() : RayIntersectTraverser
  • isCompressed() : TextureHost
  • isCompressedFormat() : TextureGL
  • isCompressedSizeKnown() : TextureGL
  • isContiguous() : VertexAttribute
  • isContiguousVertexData() : VertexAttributeSet
  • isCritical() : NVSGException
  • isCSAAAvailable() : RenderbufferGL
  • isCubeMap() : TextureHost
  • isCubeMapArray() : TextureHost
  • isCurrent() : RenderTargetGL
  • isDataShared() : VertexAttributeSet, TextureAttributeItem, StrippedPrimitiveSet, RTFxSceneAttribute, RTFx, Object, MeshedPrimitiveSet, Material, IndependentPrimitiveSet, CgFx
  • isDepthClampingEnabled() : DepthAttribute
  • isDepthClampingSupported() : DepthAttribute
  • isDepthTestingEnabled() : DepthAttribute
  • isDepthWritingEnabled() : DepthAttribute
  • isDynamicLightArrayParameter() : CgFxEffect
  • isEachPassTransparent() : StateVariant
  • isEmpty() : Path
  • isEnabled() : Log, VertexAttributeSet, LightSource, ClipPlane
  • isEquivalent() : VertexAttributeSet, UnlitColorAttribute, Transform, TextureHost, TextureAttribute, TextureAttributeItem, Texture, Switch, StrippedPrimitiveSet, StencilAttribute, StateVariant, StateSet, StatePass, SpotLight, Skin, Shape, RTFxSceneAttribute, RTFx, RTBufferAttribute, PrimitiveSet, Primitive, PointLight, PointAttribute, PatchesBase, Object, MeshedPrimitiveSet, Material, LOD, LineAttribute, LightSource, LightingAttribute, KeyFramedAnimationDescription, IndexSet, IndependentPrimitiveSet, Group, GeoNode, FramedAnimationDescription, FlipbookAnimation, FaceAttribute, DepthAttribute, ClipPlane, CgFx, BlendAttribute, Billboard, AnimationDescription, Animation, AnimationState, AnimatedVertexAttributeSet, AnimatedTransform, AlphaTestAttribute, TextureGL
  • isExported() : GLFunctions
  • isFaceWindingCCW() : FaceAttribute
  • isFixedPoint() : TextureHost
  • isFloatAnnotation() : CgFxEffect
  • isFloatingPoint() : TextureHost
  • isFloatParameter() : CgFxEffect
  • isFloatPassState() : CgFxEffect
  • isFloatSamplerState() : CgFxEffect
  • isFormatValid() : TextureGLBuffer
  • isForwardAnimation() : AnimationState
  • isFromFile() : CgFxEffect
  • isFromLump() : CgFxEffect
  • isFrontFaceCulling() : FaceAttribute
  • isImageStream() : TextureHost
  • isIndexed() : Primitive
  • isInputProgramParameter() : CgFxEffect
  • isInside() : ClipPlane
  • isInsideBounds() : Chunk
  • isIntAnnotation() : CgFxEffect
  • isIntegerInternalFormat() : TextureGL
  • isIntParameter() : CgFxEffect
  • isIntPassState() : CgFxEffect
  • isIntSamplerState() : CgFxEffect
  • isJoint() : Transform
  • isLightArrayParameter() : CgFxEffect
  • isLightDirectionParameter() : CgFxEffect
  • isLightParameter() : CgFxEffect
  • isLightPositionParameter() : CgFxEffect
  • isLightTypeParameter() : CgFxEffect
  • isManagedBySystem() : Buffer
  • isMaterialParameter() : CgFxEffect
  • isMatrix22Parameter() : CgFxEffect
  • isMatrix23Parameter() : CgFxEffect
  • isMatrix24Parameter() : CgFxEffect
  • isMatrix32Parameter() : CgFxEffect
  • isMatrix33Parameter() : CgFxEffect
  • isMatrix34Parameter() : CgFxEffect
  • isMatrix42Parameter() : CgFxEffect
  • isMatrix43Parameter() : CgFxEffect
  • isMatrix44Parameter() : CgFxEffect
  • isMipMapComplete() : TextureGL
  • isMipMapLevelDefined() : TextureGL
  • isMipMapLevelValid() : TextureGL
  • isMipmapped() : TextureAttributeItem
  • isMipmapSamplerState() : CgFxEffect
  • isMSAAAvailable() : RenderbufferGL
  • isMultiTargetSupported() : RenderTargetGLFBO
  • isNormalizeEnabled() : VertexAttributeSet
  • isNotifyAllowed() : Handle< T, NullType >
  • isOutputProgramParameter() : CgFxEffect
  • isPolygonOffset() : FaceAttribute
  • isProgramCompiled() : CgFxEffect
  • isRangeLockEnabled() : LOD
  • isRunning() : Timer, AnimationState
  • isSameAs() : RTFxBase
  • isSampler1DParameter() : CgFxEffect
  • isSampler2DParameter() : CgFxEffect
  • isSampler3DParameter() : CgFxEffect
  • isSamplerArrayParameter() : CgFxEffect
  • isSamplerBufParameter() : CgFxEffect
  • isSamplerCubeParameter() : CgFxEffect
  • isSamplerParameter() : CgFxEffect
  • isSamplerRectParameter() : CgFxEffect
  • isScalarParameter() : CgFxEffect
  • isSceneParameter() : CgFxEffect
  • isShadowCasting() : LightSource
  • isShareable() : RCObject
  • isShared : RCObject, NBFObject
  • isSkinningProcessorSupported() : AppTraverser
  • isStatic() : PropertyListChain, PropertyListImpl, PropertyList
  • isStencilSeparateEnabled() : StencilAttribute
  • isStencilTestingEnabled() : StencilAttribute
  • isStereo : NBFViewState
  • isStereoAutomatic : NBFViewState
  • isStereoAutomaticEyeDistanceAdjustment() : ViewState
  • isStereoEnabled() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB
  • isStereoReversedEyes() : ViewState
  • isStringAnnotation() : CgFxEffect
  • isStringParameter() : CgFxEffect
  • isStructParameter() : CgFxEffect
  • isSupported() : GPUSkinningProcessor, CPUSkinningProcessor, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLBuffer, TextureGLCubemapArray, TextureGL2DArray, TextureGL1DArray, RenderTargetGLFBO
  • isSwingingAnimation() : AnimationState
  • isTextureSamplerCompliant() : CgFxEffect
  • isTransformParameter() : CgFxEffect
  • isTransparentPass() : CgFxEffect
  • isTwoSidedLighting() : FaceAttribute
  • ISType : RayIntersectTraverser
  • isUnused() : Chunk
  • isUploadDemanded() : TextureHost
  • isValid() : Validated, FileMapping, RenderTarget, CgFxEffect, RenderTargetGLFBO, RenderTargetGLFB, RenderTargetGL
  • isVector2Parameter() : CgFxEffect
  • isVector3Parameter() : CgFxEffect
  • isVector4Parameter() : CgFxEffect

- j -

  • joints : NBFSkin

- k -

  • key : keyVariant_t
  • KeyFramedAnimationDescription() : KeyFramedAnimationDescription
  • keys : NBFKeyFramedAnimationDescription
  • keyStateVariantPairs : NBFStateSet

- l -

  • LEFT : RenderTarget
  • LEFT_AND_RIGHT : RenderTarget
  • lerp() : Trafo
  • LightingAttribute() : LightingAttribute
  • LightSource() : LightSource
  • LightSourceConstIterator : Group
  • LightSourceContainer : Group
  • LightSourceIterator : Group
  • lightSources : NBFGroup
  • linearAttenuation : NVSGLight
  • LinearInterpolatedAnimationDescription() : LinearInterpolatedAnimationDescription
  • LineAttribute() : LineAttribute
  • Lines() : Lines
  • LineStrips() : LineStrips
  • LinkGroupToCameraAsTargetCallback() : LinkGroupToCameraAsTargetCallback
  • LinkGroupToCameraCallback() : LinkGroupToCameraCallback
  • LinkGroupToLightSourceCallback() : LinkGroupToLightSourceCallback
  • LinkGroupToSpotLightAsTargetCallback() : LinkGroupToSpotLightAsTargetCallback
  • linkID : NBFLink
  • LinkTransformToCameraAsPositionAndRollCallback() : LinkTransformToCameraAsPositionAndRollCallback
  • LinkTransformToSpotLightAsPositionCallback() : LinkTransformToSpotLightAsPositionCallback
  • load() : ShaderLoader, TextureLoader, SceneLoader, WRLLoader, PLYLoader, NVSGLoader, NBFLoader
  • loadCustomObject() : NBFLoader
  • lock() : CgFxContext
  • lockExclusive() : SWMRSync, SWMRSyncImpl
  • lockShared() : SWMRSync, SWMRSyncImpl
  • lockViewState() : ExclusiveTraverser, SharedTraverser, Traverser
  • LOD() : LOD
  • lodRanges : RedundantLODRangesResult
  • Log() : Log
  • loopCount : NBFAnimationState
  • lowerBound() : Chunk

- m -

  • m_accessType : FileMapping
  • m_animationFrame : AppTraverser
  • m_animationsHistogram : StatAnimatedVertexAttributeSet
  • m_arrays : StatPrimitive
  • m_bApplyingCgFx : AppTraverser
  • m_bindingStack : TextureGL, RenderTargetGLFBO
  • m_bindingTarget : TextureGL
  • m_border : TextureGL
  • m_bpl : Image
  • m_bpp : Image
  • m_bps : Image
  • m_childrenHistogram : StatGroup
  • m_className : ReflectionInfo
  • m_clientDataFormat : TextureGL
  • m_clientDataType : TextureGL
  • m_count : StatisticsBase
  • m_definedLevels : TextureGL
  • m_depth : Image
  • m_depths : StatTexture
  • m_dist : Intersection
  • m_drawBuffers : RenderTargetGLFBO
  • m_faces : StatPrimitive
  • m_file : FileMapping
  • m_fileMapping : FileMapping
  • m_format : Image
  • m_height : Image
  • m_heights : StatTexture
  • m_id : TextureGL
  • m_indexed : StatPrimitive
  • m_indices : Face
  • m_instance : ILTexLoader
  • m_internalFormat : TextureGL
  • m_interrupt : Traverser
  • m_isCritical : ProblemInfo
  • m_isp : Intersection
  • m_isStatic : PropertyListChain, PropertyListImpl
  • m_isValid : FileMapping
  • m_iter : SceniXIterator
  • m_lineLoops : StatPrimitive
  • m_lines : StatPrimitive
  • m_linesAdj : StatPrimitive
  • m_lineStripAdj : StatPrimitive
  • m_lineStrips : StatPrimitive
  • m_mappingSize : FileMapping
  • m_maxLevel : TextureGL
  • m_mftbl : Traverser
  • m_missingFeatures : ProblemInfo
  • m_nob : Image
  • m_numberOfAnimations : StatAnimatedVertexAttributeSet
  • m_numberOfAttenuated : StatSpotLight, StatPointLight
  • m_numberOfAttributes : StatStatePass
  • m_numberOfCgFxed : StatStatePass
  • m_numberOfChildren : StatGroup
  • m_numberOfColored : StatVertexAttributeSet
  • m_numberOfColors : StatVertexAttributeSet
  • m_numberOfCUDAFormats : StatRTFxProgram
  • m_numberOfDefinedParameters : StatRTFxProgram
  • m_numberOfEntryPoints : StatRTFxProgram
  • m_numberOfFaces : StatTriStrips, StatTriFans, StatTriangles, StatQuadStrips, StatQuads, StatQuadMeshes
  • m_numberOfFileDefined : StatRTFxProgram
  • m_numberOfFogCoords : StatVertexAttributeSet
  • m_numberOfFogged : StatVertexAttributeSet
  • m_numberOfIndices : StatSkin
  • m_numberOfInfluences : StatSkin
  • m_numberOfJoints : StatSkin
  • m_numberOfLumpDefined : StatRTFxProgram
  • m_numberOfMaterialed : StatStatePass
  • m_numberOfMeshes : StatMeshedPrimitiveSet
  • m_numberOfNormaled : StatVertexAttributeSet
  • m_numberOfNormals : StatVertexAttributeSet
  • m_numberOfParameters : StatRTFxProgram, StatRTFx
  • m_numberOfPasses : StatStateVariant, StatCgFx
  • m_numberOfPatches : StatPatchesBase
  • m_numberOfPTXFormats : StatRTFxProgram
  • m_numberOfRayTypes : StatRTFxProgram
  • m_numberOfSecondaryColored : StatVertexAttributeSet
  • m_numberOfSecondaryColors : StatVertexAttributeSet
  • m_numberOfSegments : StatLineStrips, StatLines
  • m_numberOfStateSets : StatGeoNode
  • m_numberOfStrips : StatStrippedPrimitiveSet
  • m_numberOfTechniques : StatCgFx
  • m_numberOfTextured : StatStatePass, StatVertexAttributeSet
  • m_numberOfTextureDimensions : StatVertexAttributeSet
  • m_numberOfTextures : StatRTFxProgram, StatRTFx, StatVertexAttributeSet
  • m_numberOfTextureUnits : StatVertexAttributeSet
  • m_numberOfTransparent : StatMaterial
  • m_numberOfTwoSidedLighting : StatFaceAttribute
  • m_numberOfVariants : StatStateSet
  • m_numberOfVertices : StatVertexAttributeSet
  • m_numImages : StatTexture
  • m_objectCode : Object
  • m_objects : StatisticsBase
  • m_oldDrawBuffer : RenderTargetGLFB
  • m_patches : StatPrimitive
  • m_pDrawable : Intersection
  • m_pixels : Image
  • m_points : StatPrimitive
  • m_polygons : StatPrimitive
  • m_pPath : Intersection
  • m_primitiveIndex : Intersection
  • m_problem : ProblemInfo
  • m_problemLog : Traverser
  • m_propertyLists : Reflection, PropertyListChain
  • m_propertyMap : PropertyListImpl
  • m_propertyVector : PropertyListImpl
  • m_quads : StatPrimitive
  • m_quadStrips : StatPrimitive
  • m_readBuffer : RenderTargetGLFBO
  • m_refCount : ILTexLoader
  • m_referenced : StatisticsBase
  • m_root : Traverser
  • m_scene : Traverser
  • m_shareGroupGL : TextureGL
  • m_sizes : StatTexture
  • m_statAlphaTestAttribute : Statistics
  • m_statAnimatedTransform : Statistics
  • m_statAnimatedVertexAttributeSet : Statistics
  • m_statBillboard : Statistics
  • m_statBlendAttribute : Statistics
  • m_statCgFx : Statistics
  • m_statDepthAttribute : Statistics
  • m_statDirectedLight : Statistics
  • m_statFaceAttribute : Statistics
  • m_statFlipbookAnimation : Statistics
  • m_statFramedIndexAnimationDescription : Statistics
  • m_statFramedTrafoAnimationDescription : Statistics
  • m_statFramedVertexAttributeAnimationDescription : Statistics
  • m_statGeoNode : Statistics
  • m_statGroup : Statistics
  • m_statIndexAnimation : Statistics
  • m_statLightingAttribute : Statistics
  • m_statLinearInterpolatedTrafoAnimationDescription : Statistics
  • m_statLinearInterpolatedVertexAttributeAnimationDescription : Statistics
  • m_statLineAttribute : Statistics
  • m_statLines : Statistics
  • m_statLineStrips : Statistics
  • m_statLOD : Statistics
  • m_statMapArray : Statistics
  • m_statMapElement : Statistics
  • m_statMapList : Statistics
  • m_statMapMatrix : Statistics
  • m_statMaterial : Statistics
  • m_statMatrixCamera : Statistics
  • m_statParallelCamera : Statistics
  • m_statPatches : Statistics
  • m_statPerspectiveCamera : Statistics
  • m_statPointAttribute : Statistics
  • m_statPointLight : Statistics
  • m_statPoints : Statistics
  • m_statPrimitives : Statistics
  • m_statQuadMeshes : Statistics
  • m_statQuadPatches : Statistics
  • m_statQuadPatches4x4 : Statistics
  • m_statQuads : Statistics
  • m_statQuadStrips : Statistics
  • m_statRectPatches : Statistics
  • m_statRTFx : Statistics
  • m_statRTFxProgram : Statistics
  • m_statShape : Statistics
  • m_statSkin : Statistics
  • m_statSpotLight : Statistics
  • m_statStatePass : Statistics
  • m_statStateSet : Statistics
  • m_statStateVariant : Statistics
  • m_statSwitch : Statistics
  • m_statTexture : Statistics
  • m_statTextureAttribute : Statistics
  • m_statTextureAttributeItem : Statistics
  • m_statTrafoAnimation : Statistics
  • m_statTransform : Statistics
  • m_statTriangles : Statistics
  • m_statTriFans : Statistics
  • m_statTriPatches : Statistics
  • m_statTriPatches4 : Statistics
  • m_statTriStrips : Statistics
  • m_statVertexAttributeAnimation : Statistics
  • m_statVertexAttributeSet : Statistics
  • m_stereoEnabled : RenderTargetGLFB
  • m_stereoTarget : RenderTargetGLFB
  • m_sumOfSizes : StatTexture
  • m_target : TextureGL
  • m_tbsize : Trackball
  • m_trafo : LightSource
  • m_transformStack : ExclusiveModelViewTraverser, SharedModelViewTraverser, ExtractGeometryTraverser
  • m_traverserBits : Traverser
  • m_triFans : StatPrimitive
  • m_tris : StatPrimitive
  • m_trisAdj : StatPrimitive
  • m_triStripAdj : StatPrimitive
  • m_triStrips : StatPrimitive
  • m_type : Image
  • m_vertexIndices : Intersection
  • m_viewState : Traverser
  • m_width : Image
  • m_widths : StatTexture
  • magFilter : NBFTextureAttributeItem
  • makeEnumProperty() : Reflection
  • makeIndexed() : Primitive
  • makeProperty() : Reflection
  • makePropertyMember() : Reflection
  • Map() : Map
  • map() : RTBufferAttribute, Buffer
  • MAP_WRITE : RTBufferAttribute
  • MapArray() : MapArray
  • MapElement() : MapElement
  • mapIn() : WriteMapping, ReadMapping, FileMapping
  • MapList() : MapList
  • MapMatrix() : MapMatrix
  • MapObject() : MapObject
  • mapOffset() : PLYLoader, NBFLoader
  • mapOut() : FileMapping
  • markUnshareable() : RCObject
  • MaskIterator : Switch
  • maskKey : switchMask_t
  • MaskKey : Switch
  • masks : NBFSwitch
  • Material() : Material
  • Matnnt() : Matnnt
  • MatrixCamera() : MatrixCamera
  • maxAnisotropy : NBFTextureAttributeItem
  • MemFunTbl() : MemFunTbl
  • MeshedPrimitiveSet() : MeshedPrimitiveSet
  • meshes : NBFMeshedPrimitiveSet
  • minFilter : NBFTextureAttributeItem
  • minuteLastModified : NBFHeader
  • mirrorX() : TextureHost
  • mirrorY() : TextureHost
  • missingCount : MissingResult
  • monthLastModified : NBFHeader
  • move() : Camera
  • moveX() : Camera
  • moveY() : Camera
  • moveZ() : Camera
  • MSL_LIGHT_INFINITE : CgFxEffect
  • MSL_LIGHT_POSITION : CgFxEffect
  • MSL_LIGHT_SPOT : CgFxEffect
  • MSL_MAX_LIGHTS : CgFxEffect

- n -

  • name : PlugInCallback::DegenerateGeometryInfo, NBFRTFxParameter, parameter_t, domain_t, sampler_t, tweak_t
  • nbfBugfixLevel : NBFHeader
  • nbfMajorVersion : NBFHeader
  • nbfMinorVersion : NBFHeader
  • NBFSaver() : NBFSaver
  • NBFSaveTraverser() : NBFSaveTraverser
  • nearDist : NBFFrustumCamera
  • needsTraversal() : AppTraverser
  • Node() : Node
  • NonConstMaskIterator : Switch
  • nonLinearFmt : NVSGTexImageFmt
  • normal : plane_t, skin_t
  • normalize() : Vecnt, Quatt
  • normalizeEnableFlags : NBFVertexAttributeSet
  • normalizeFlags : NBFAnimatedVertexAttributeSet
  • NormalizeTraverser() : NormalizeTraverser
  • notify() : Subject
  • notifyPostAddChild() : Subject
  • notifyPostAddClipPlane() : Subject
  • notifyPostAddLightSource() : Subject
  • notifyPostGroupExchanged() : Subject
  • notifyPreRemoveChild() : Subject
  • notifyPreRemoveClipPlane() : Subject
  • notifyPreRemoveLightSource() : Subject
  • nullNormalsCount : NullNormalsResult
  • nullNormalsNumber : NullNormalsResult
  • numAttributes : NBFScene
  • numberOfAnimationFrames : NBFScene
  • numberOfIndices : indexSet_t
  • numBindings : NBFTextureAttribute
  • numBones : skin_t
  • numBytes : byteArray_t
  • numCameraAnimations : NBFScene
  • numCameras : NBFScene
  • numChars : sstr_t, str_t
  • numChildren : NBFGroup, switchMask_t
  • numClipPlanes : NBFGroup
  • numComponents : parameter_t
  • numCounts : NBFSkin
  • numDrawables : geometrySet_t
  • numHeadLights : NBFCamera
  • numIndices : NBFIndependentPrimitiveSet, indexList_t
  • numJoints : NBFSkin
  • numKeys : NBFKeyFramedAnimationDescription
  • numLightSource : NBFGroup
  • numMasks : NBFSwitch
  • numMeshes : NBFMeshedPrimitiveSet
  • numObjectLinks : NBFScene
  • numParameters : NBFRTFxBase
  • numRanges : NBFLOD
  • numSamplers : NBFCgFx
  • numSkins : NBFSkinnedTriangles
  • numStateAttribs : NBFStatePass
  • numStatePasses : NBFStateVariant
  • numStateSets : NBFGeoNode
  • numStateVariants : NBFStateSet
  • numSteps : NBFFramedAnimationDescription
  • numStrips : NBFStrippedPrimitiveSet
  • numTexCoords : texCoordSet_t
  • numTweaks : NBFCgFx, tweak_t
  • numValues : tweak_t
  • numVData : vertexAttrib_t
  • NVSG_HINT_ALL_HINTS : Object
  • NVSG_HINT_ALWAYS_INVISIBLE : Object
  • NVSG_HINT_ALWAYS_VISIBLE : Object
  • NVSG_HINT_DONT_CLIP : Object
  • NVSG_HINT_DYNAMIC : Object
  • NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER : Object
  • NVSG_HINT_INVISIBLE_TO_REFLECTIONS : Object
  • NVSG_HINT_INVISIBLE_TO_REFRACTIONS : Object
  • NVSG_HINT_NO_SHADOW_CASTER : Object
  • NVSG_HINT_NO_SHADOW_RECEIVER : Object
  • NVSG_HINT_OVERLAY : Object
  • nvsgBugfixLevel : NBFHeader
  • NVSGException() : NVSGException
  • nvsgMajorVersion : NBFHeader
  • nvsgMinorVersion : NBFHeader
  • NVSGSaveTraverser() : NVSGSaveTraverser

- o -

  • Object() : Object
  • objectAnno : NBFObject
  • objectCode : AnalyzeResult, NBFObject, NBFViewState
  • objectCount : AnalyzeResult
  • objectDataID : NBFObject
  • objectLinks : NBFScene
  • objectName : NBFObject
  • ObjectType : Handle< T, Handle< U, V > >, Handle< T, NullType >
  • observer : NBFLink
  • offset : plane_t
  • onDegenerateGeometry() : PlugInCallback
  • onDestroyed() : Observer
  • onEmptyToken() : PlugInCallback
  • onError() : PlugInCallback
  • onFileAccessFailed() : PlugInCallback
  • onFileEmpty() : PlugInCallback
  • onFileMappingFailed() : PlugInCallback
  • onFileNotFound() : PlugInCallback
  • onFilesNotFound() : PlugInCallback
  • onIncompatibleFile() : PlugInCallback
  • onIncompatibleValues() : PlugInCallback
  • onInvalidate() : Animation, AnimationState
  • onInvalidFile() : PlugInCallback
  • onInvalidValue() : PlugInCallback
  • onLoad() : TextureLoader, ILTexLoader
  • onPostAddChild() : Observer
  • onPostAddClipPlane() : Observer
  • onPostAddLightSource() : Observer
  • onPostGroupExchanged() : Observer
  • onPreRemoveChild() : Observer
  • onPreRemoveClipPlane() : Observer
  • onPreRemoveLightSource() : Observer
  • onReleaseDAL() : DALDataCreator
  • onUndefinedToken() : PlugInCallback
  • onUnexpectedEndOfFile() : PlugInCallback
  • onUnexpectedToken() : PlugInCallback
  • onUnknownToken() : PlugInCallback
  • onUnLocalizedMessage() : PlugInCallback
  • onUnsupportedToken() : PlugInCallback
  • onUpdate() : Observer, BackLinkObserver
  • onWarning() : PlugInCallback
  • operator *() : SmartPtr, SceniXIterator, GeoNode::StateSetConstIterator, GeoNode::StateSetIterator
  • operator *=() : Vecnt, Quatt, Matnnt
  • operator _Safe_bool() : SmartPtr
  • operator CGMcontext() : CgFxContext
  • operator const T &() : RegVal
  • operator delete() : IAllocator
  • operator delete[]() : IAllocator
  • operator new() : IAllocator
  • operator new[]() : IAllocator
  • operator SmartPtr() : SmartPtr
  • operator!=() : SmartPtr, SceniXIterator, UPIID, UPITID, Incarnation, Chunk, Path
  • operator()() : LinkTransformToSpotLightAsPositionCallback, LinkGroupToSpotLightAsTargetCallback, LinkGroupToLightSourceCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToCameraAsTargetCallback, LinkGroupToCameraCallback, TraceFunctor, traceFileConsoleOutput, traceFileDebugOutput, traceFileOutput, traceConsoleDebugOutput, traceConsoleOutput, traceDebugOutput, FunctorGetInvalid, FunctorGetEnum, FunctorGetMember, FunctorGet, FunctorSetInvalid, FunctorSetEnum, FunctorSetMember, FunctorSet, LogListCompare, CloneObject, Spherent, Planent, Lanczos3Filter, BSplineFilter, BellFilter, TriangleFilter, BoxFilter, ScaleFilter, LODLessThan, Callback
  • operator+() : Incarnation
  • operator++() : SceniXIterator, Incarnation
  • operator+=() : Incarnation, Vecnt, Matnnt
  • operator--() : SceniXIterator
  • operator-=() : Vecnt, Matnnt
  • operator->() : SmartPtr, SceniXIterator, GeoNode::StateSetConstIterator, GeoNode::StateSetIterator
  • operator/=() : Vecnt, Quatt, Matnnt
  • operator<() : SmartPtr, UPIID, UPITID, Path
  • operator=() : Intersection, SmartPtr, RegVal, RCObject, UPIID, Vecnt, Trafo, Quatt, ViewState, VertexAttributeSet, VertexAttribute, TriStrips, TriPatches4, TriPatches, TriFans, Triangles, Transform, TextureHost, TextureAttribute, TextureAttributeItem, Switch, StrippedPrimitiveSet, StateVariant, StateSet, StatePass, StateAttribute, SpotLight, Skin, Shape, SceneAttribute, RTFxBase, RTBufferAttribute, RectPatches, QuadStrips, Quads, QuadPatches4x4, QuadPatches, QuadMeshes, PrimitiveSet, PrimitiveAttribute, Primitive, Points, PointLight, PointAttribute, PerspectiveCamera, PatchesBase, ParallelCamera, OwnedObject, Object, Node, MeshedPrimitiveSet, MatrixCamera, Material, LOD, LineStrips, Lines, LineAttribute, LinearInterpolatedAnimationDescription, LightSource, LightingAttribute, KeyFramedAnimationDescription, IndexSet, IndependentPrimitiveSet, Group, GeoNode, FrustumCamera, FramedAnimationDescription, FlipbookAnimation, FaceAttribute, Drawable, DirectedLight, DepthAttribute, CgFx, Camera, BlendAttribute, Billboard, AnimationDescription, Animation, AnimationState, AnimatedVertexAttributeSet, AnimatedTransform, AlphaTestAttribute
  • operator==() : SmartPtr, SceniXIterator, UPIID, UPITID, Incarnation, Chunk, Trafo, Path
  • operator[]() : MemFunTbl, Vecnt, Quatt, Matnnt, BezierCurve, Face
  • optimizationAllowed() : TriangulateTraverser, StrippingTraverser, SmoothTraverser, OptimizeTraverser, DestrippingTraverser, BezierInterpolationTraverser
  • OptimizeTraverser() : OptimizeTraverser
  • orbit() : Camera
  • orbitX() : Camera
  • orbitY() : Camera
  • orbitZ() : Camera
  • orientation : trafo_t
  • orthonormalize() : Vecnt
  • OwnedObject() : OwnedObject

- p -

  • PADDING() : NBFTriPatches, NBFQuadPatches, NBFStencilAttribute, NBFPointAttribute, NBFLineAttribute, NBFLightingAttribute, NBFFaceAttribute, NBFDepthAttribute, NBFRTFxProgram, NBFRTFx, NBFRTFxParameter, NBFCgFx, NBFBlendAttribute, NBFAlphaTestAttribute, NBFStateSet, NBFSpotLight, NBFDirectedLight, NBFLightSource, NBFAnimatedTransform, NBFFlipbookAnimation, NBFTransform, NBFBillboard, NBFSwitch, NBFLOD, NBFNode, NBFAnimatedVertexAttributeSet, NBFFrustumCamera, NBFFramedAnimationDescription, NBFAnimation, NBFAnimationState, NBFVertexAttributeAnimation, NBFTrafoAnimation, NBFIndexAnimation, NBFObject, NBFViewState, NBFHeader, domain_t, texImage_t
  • ParallelCamera() : ParallelCamera
  • param : parameter_t
  • parameter_type : TypeTraits< ValueType, const_reference >, TypeTraits< ValueType, value >
  • ParameterConstIterator : RTFxBase
  • ParameterContainer : RTFxBase
  • ParameterIterator : RTFxBase
  • parameters : NBFRTFxBase
  • PassConstIterator : StateVariant
  • PassContainer : StateVariant
  • PassIterator : StateVariant
  • PatchesBase() : PatchesBase
  • Path() : Path
  • PerspectiveCamera() : PerspectiveCamera
  • PIC_ERROR : PlugInCallback
  • PIC_TYPE_ID : PlugInCallback
  • PIC_WARNING : PlugInCallback
  • pickMap() : MapObject, MapMatrix, MapList, MapElement, MapArray
  • PixelDataType : Image
  • pixelFormat : texImage_t
  • PixelFormat : Image
  • pixels : texImage_t
  • Planent() : Planent
  • PlugInCallback() : PlugInCallback
  • PointAttribute() : PointAttribute
  • PointLight() : PointLight
  • Points() : Points
  • polygonOffsetEnabled : NBFFaceAttribute
  • polygonOffsetFactor : NBFFaceAttribute
  • polygonOffsetUnits : NBFFaceAttribute
  • pop() : Path
  • popAllocations() : Allocator
  • popModelToWorld() : TransformStack
  • position : NVSGLight, PlugInCallback::DegenerateGeometryInfo, PlugInCallback::UnsupportedTokenInfo, PlugInCallback::UnknownTokenInfo, PlugInCallback::UnexpectedTokenInfo, PlugInCallback::UndefinedTokenInfo, PlugInCallback::InvalidValueInfo, PlugInCallback::IncompatibleValueInfo, PlugInCallback::EmptyTokenInfo, NBFSpotLight, NBFPointLight, NBFCamera
  • postAddChild() : Observer, Switch, Group
  • postAddClipPlane() : Observer
  • postAddLightSource() : Observer
  • postApply() : Traverser, StrippingTraverser, IdentityToGroupTraverser, ConvertPrimitivesTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser
  • PostBuildTraverser() : PostBuildTraverser
  • postDraw() : DrawCallback
  • postGroupExchanged() : Observer
  • postRemoveChild() : Switch, Group
  • postTraverseDrawable() : Traverser
  • postTraverseDrawables() : Traverser
  • postTraverseGroup() : Traverser, RayIntersectTraverser
  • postTraverseObject() : Traverser, AppTraverser, PostBuildTraverser
  • postTraverseTransform() : RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, AppTraverser, ExtractGeometryTraverser
  • preAddChild() : Group
  • preApply() : Traverser
  • preCalculateFileSize() : NBFSaveTraverser
  • preDraw() : DrawCallback
  • preRemoveChild() : Observer, Group
  • preRemoveClipPlane() : Observer
  • preRemoveLightSource() : Observer
  • presentTextureGL2D() : RendererGLFSQ
  • presentTextureGLRectangle() : RendererGLFSQ
  • preTraverseDrawable() : Traverser
  • preTraverseDrawables() : Traverser, CombineTraverser
  • preTraverseGroup() : Traverser, RayIntersectTraverser
  • preTraverseTransform() : RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, AppTraverser, ExtractGeometryTraverser
  • Primitive() : Primitive
  • PrimitiveAttribute() : PrimitiveAttribute
  • PrimitiveConstIterator : Shape
  • PrimitiveContainer : Shape
  • PrimitiveIterator : Shape
  • primitiveRestartIndex : indexSet_t
  • PrimitiveSet() : PrimitiveSet
  • primitiveType : NBFPrimitive
  • ProblemInfo() : ProblemInfo
  • process() : GPUSkinningProcessor, CPUSkinningProcessor
  • Profile() : Profile
  • program : NBFRTFx
  • PROGRAM_IO_FRAGMENT : CgFxEffect
  • PROGRAM_IO_LINE : CgFxEffect
  • PROGRAM_IO_LINE_ADJ : CgFxEffect
  • PROGRAM_IO_POINT : CgFxEffect
  • PROGRAM_IO_TRIANGLE : CgFxEffect
  • PROGRAM_IO_TRIANGLE_ADJ : CgFxEffect
  • PROGRAM_IO_VERTEX : CgFxEffect
  • ProgramIOType : CgFxEffect
  • projection : NBFMatrixCamera
  • projectOntoTBSphere() : Trackball
  • PropertyList() : PropertyList
  • PropertyListChain() : PropertyListChain
  • PropertyListConstIterator : PropertyListChain
  • PropertyListContainer : PropertyListChain
  • PropertyListImpl() : PropertyListImpl
  • PropertyListIterator : PropertyListChain
  • PropertyMap : PropertyListImpl
  • PropertyVector : PropertyListImpl
  • pseudoAlloc() : NBFSaveTraverser
  • push() : Path
  • pushAllocations() : Allocator
  • pushModelToWorld() : TransformStack

- q -

  • QuadMeshes() : QuadMeshes
  • QuadPatches() : QuadPatches
  • QuadPatches4x4() : QuadPatches4x4
  • quadraticAttenuation : NVSGLight
  • Quads() : Quads
  • QuadStrips() : QuadStrips
  • Quatt() : Quatt
  • queryInterfaceType : PlugInServer

- r -

  • ranges : NBFLOD
  • RayIntersectTraverser() : RayIntersectTraverser
  • raytype : domain_t
  • RCObject() : RCObject
  • RCVector() : RCVector
  • ReadMapping() : ReadMapping
  • RectPatches() : RectPatches
  • reducedCount : EquivalenceResult, CombinableResult
  • redundantIndexSetCount : RedundantIndexSetResult
  • redundantLODRanges : RedundantLODRangesResult
  • redundantLODs : RedundantLODRangesResult
  • Reflection() : Reflection
  • refValueBack : NBFStencilAttribute
  • refValueFront : NBFStencilAttribute
  • RegVal() : RegVal
  • release() : RayIntersectTraverser
  • releaseCachedData() : VertexAttributeSet
  • releaseDeviceAbstractionLinkData() : DALDataCreator, DALHost
  • releaseImagePixels() : TextureHost
  • releaseInterface : PlugInServer
  • reload() : TextureLoader
  • reloadImagePixels() : TextureHost
  • removeAppTraverserCallback() : Object
  • removeAttribute() : StateVariant, StateSet, StatePass, Scene
  • removeAttributeByObjectCode() : StateVariant, StateSet, StatePass
  • removeCamera() : Scene
  • removeCameraAnimation() : Scene
  • removeChild() : Group
  • removeClipPlane() : Group
  • removeColumn() : MapMatrix
  • removeData() : VertexAttribute
  • removeDrawable() : GeoNode
  • removeHeadLight() : Camera
  • removeJoint() : Skin
  • removeKey() : KeyFramedAnimationDescription
  • removeKeys() : KeyFramedAnimationDescription
  • removeLightSource() : Group
  • removeMap() : MapMatrix, MapArray
  • removeMapObject() : MapList
  • removeMask() : Switch
  • removeOnDestroyCallback() : RCObject
  • removeParameter() : RTFxBase
  • removePass() : StateVariant, StateSet
  • removePrimitive() : Shape
  • removePropertyList() : PropertyListChain
  • removeRef() : RCObject
  • removeStateSet() : GeoNode
  • removeStep() : KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription
  • removeSteps() : FramedAnimationDescription
  • removeVariant() : StateSet
  • removeVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • render() : SceneRenderer, Renderer
  • renderFlags : NBFPrimitive
  • replaceAllStateSets() : GeoNode
  • replaceChild() : Group
  • replaceDrawable() : GeoNode
  • replaceHeadLight() : Camera
  • replaceKey() : KeyFramedAnimationDescription
  • replaceKeys() : KeyFramedAnimationDescription
  • replaceMap() : MapMatrix, MapArray
  • replaceMapObject() : MapList
  • replacePass() : StateVariant, StateSet
  • replaceStateSet() : GeoNode
  • replaceStep() : KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription
  • replaceSteps() : FramedAnimationDescription
  • reserved : NBFHeader
  • reserveData() : VertexAttribute
  • reserveKeys() : KeyFramedAnimationDescription
  • reserveSteps() : FramedAnimationDescription
  • reserveVertexData() : VertexAttributeSet
  • reset() : Timer, SmartPtr
  • resetLightValues() : CgFxEffect
  • resetMaterialValues() : CgFxEffect
  • resetPass() : CgFxEffect
  • resetSceneValues() : CgFxEffect
  • resize() : Buffer, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, RenderTargetGLFBO::AttachmentRenderbuffer, RenderTargetGLFBO::AttachmentTexture, RenderTargetGLFBO::Attachment, RenderbufferGL
  • resizeTexture1D() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture1DArray() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2D() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2DArray() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2DMultisample() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2DMultisampleArray() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture3D() : RenderTargetGLFBO::AttachmentTexture
  • resizeTextureCubemap() : RenderTargetGLFBO::AttachmentTexture
  • restart() : Timer
  • restartAccumulation() : Renderer
  • RIGHT : RenderTarget
  • root : NBFScene
  • rotate() : Camera
  • rotateX() : Camera
  • rotateY() : Camera
  • rotateZ() : Camera
  • rotationAxis : NBFBillboard
  • RTBufferAttribute() : RTBufferAttribute
  • RTFxBase() : RTFxBase

- s -

  • samplers : NBFCgFx
  • save() : TextureSaver, SceneSaver, OBJSaver, NVSGSaver, NBFSaver
  • scale() : TextureHost
  • scaleOrientation : trafo_t
  • scaleToPowerOfTwo() : TextureHost
  • scaling : trafo_t
  • Scene() : Scene
  • scene : NBFHeader
  • SceneAttribute() : SceneAttribute
  • SceneRenderer() : SceneRenderer
  • SceniXIterator() : SceniXIterator
  • search() : SearchTraverser
  • SearchTraverser() : SearchTraverser
  • secondLastModified : NBFHeader
  • Semantic : Property
  • SEMANTIC_COLOR : Property
  • SEMANTIC_DIMENSION : Property
  • SEMANTIC_DIRECTION : Property
  • SEMANTIC_OBJECT : Property
  • SEMANTIC_ORIENTATION : Property
  • SEMANTIC_POSITION : Property
  • SEMANTIC_SCALING : Property
  • SEMANTIC_VALUE : Property
  • separate : NBFStencilAttribute
  • set() : Validated
  • setActive() : Switch
  • setActiveMaskKey() : Switch
  • setActiveVariantKey() : StateSet
  • setAlignment() : MapMatrix, MapArray, Billboard
  • setAlphaFunction() : AlphaTestAttribute
  • setAmbientColor() : Scene, Material, LightSource
  • setAnimating() : ViewState
  • setAnimation() : LightSource, FlipbookAnimation, AnimatedVertexAttributeSet, AnimatedTransform
  • setAnnotation() : Object
  • setAntiAliasing() : PointAttribute, LineAttribute
  • setAspectRatio() : FrustumCamera
  • setAttachment() : RenderTargetGLFBO
  • setAttenuation() : SpotLight, PointLight
  • setAutoClipPlanes() : ViewState
  • setBackColor() : Scene
  • setBackImage() : Scene
  • setBackLink() : BackLinkObserver
  • setBaseClassSearch() : SearchTraverser
  • setBindPose() : Skin
  • setBindShapeMatrix() : Skin
  • setBlendFunctions() : BlendAttribute
  • setBoolParameterValue() : CgFxEffect
  • setBoolSamplerStateValue() : CgFxEffect
  • setBorderColor() : TextureAttributeItem
  • setBuffer() : IndexSet, TextureGLBuffer
  • setBufferData() : CgFxContext
  • setBufferSubData() : CgFxContext
  • setCallback() : PlugIn
  • setCamClipping() : RayIntersectTraverser
  • setCamera() : ViewState
  • setCenter() : Trafo, Spherent, LOD
  • setCgFx() : RendererGLFSQ
  • setClassName() : SearchTraverser
  • setClearColor() : RenderTargetGL
  • setClearDepth() : RenderTargetGL
  • setClearMask() : RenderTargetGL
  • setClearStencil() : RenderTargetGL
  • setColor() : UnlitColorAttribute
  • setColors() : VertexAttributeSet
  • setCombineTargets() : CombineTraverser
  • setCreaseAngle() : SmoothTraverser
  • setCreationFlags() : TextureHost
  • setCullMode() : FaceAttribute
  • setCurrentFrame() : AnimationState
  • setCurrentStep() : AnimationState
  • setCurrentTechnique() : CgFxEffect
  • setCutoffAngle() : SpotLight
  • setData() : VertexAttribute, RTBufferAttribute, IndexSet, Buffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, BufferGL
  • setDepthClampingEnabled() : DepthAttribute
  • setDepthFunction() : DepthAttribute
  • setDepthTestingEnabled() : DepthAttribute
  • setDepthWritingEnabled() : DepthAttribute
  • setDescription() : Animation
  • setDiffuseColor() : Material, LightSource
  • setDirection() : SpotLight, DirectedLight, Camera
  • setDrawBuffers() : RenderTargetGLFBO
  • setDrawCallback() : Shape, Drawable
  • setDynamicNumberOfLights() : CgFxEffect
  • setElementRange() : Primitive
  • setEliminateTargets() : EliminateTraverser
  • setEmissiveColor() : Material
  • setEnabled() : VertexAttributeSet, LightSource, LightingAttribute, ClipPlane
  • setEnabledDuringMultiSampleAlpha() : AlphaTestAttribute
  • setEnvColor() : TextureAttributeItem
  • setEnvMode() : TextureAttributeItem
  • setEnvScale() : TextureAttributeItem
  • setEpsilon() : UnifyTraverser
  • setFaceMode() : FaceAttribute
  • setFaces() : Triangles, Quads
  • setFaceWindingCCW() : FaceAttribute
  • setFalloffExponent() : SpotLight
  • setFarDistance() : FrustumCamera
  • setFieldOfView() : PerspectiveCamera
  • setFILE() : NVSGSaveTraverser
  • setFileName() : NBFSaveTraverser
  • setFloatParameterValue() : CgFxEffect
  • setFloatSamplerStateValue() : CgFxEffect
  • setFocusDistance() : PerspectiveCamera, Camera
  • setFogCoords() : VertexAttributeSet
  • setFormat() : RTBufferAttribute
  • setForwardAnimation() : AnimationState
  • setFrameNumber() : Scene
  • setId() : PropertyList
  • setIdentity() : Trafo
  • setIgnoreAccelerationBuilderHints() : CombineTraverser
  • setIgnoreNames() : OptimizeTraverser
  • setImageData() : TextureHost
  • setInactive() : Switch
  • setIndexOfRefraction() : Material
  • setIndexSet() : Primitive
  • setIndices() : IndependentPrimitiveSet
  • setInfluenceData() : Skin
  • setInput() : StrTokenizer
  • setInstanceCount() : Primitive
  • setIntensity() : LightSource
  • setIntParameterValue() : CgFxEffect
  • setIntSamplerStateValue() : CgFxEffect
  • setLightAmbientValue() : CgFxEffect
  • setLightConstantAttenuationValue() : CgFxEffect
  • setLightDiffuseValue() : CgFxEffect
  • setLightDirectionValue() : CgFxEffect
  • setLightLinearAttenuationValue() : CgFxEffect
  • setLightPositionValue() : CgFxEffect
  • setLightQuadraticAttenuationValue() : CgFxEffect
  • setLightSpecularValue() : CgFxEffect
  • setLightSpotCutoffValue() : CgFxEffect
  • setLightSpotExponentValue() : CgFxEffect
  • setLODRangeScale() : ViewState
  • setLoopCount() : AnimationState
  • setMagFilterMode() : TextureAttributeItem
  • setMap() : MapElement
  • setMapData() : Map
  • setMapList() : ViewState
  • setMaterialAmbientValue() : CgFxEffect
  • setMaterialDiffuseValue() : CgFxEffect
  • setMaterialEmissionValue() : CgFxEffect
  • setMaterialShininessValue() : CgFxEffect
  • setMaterialSpecularValue() : CgFxEffect
  • setMatrix() : Trafo
  • setMaxAnisotropy() : TextureAttributeItem
  • setMeshes() : MeshedPrimitiveSet
  • setMinFilterMode() : TextureAttributeItem
  • setMslLightDirectionValue() : CgFxEffect
  • setMslLightPositionValue() : CgFxEffect
  • setMslLightTypeValue() : CgFxEffect
  • setName() : Object
  • setNearDistance() : FrustumCamera
  • setNormal() : Planent, ClipPlane
  • setNormalize() : AnimatedVertexAttributeSet
  • setNormalizeEnabled() : VertexAttributeSet
  • setNormals() : VertexAttributeSet
  • setNumberOfVerticesPerPatch() : Primitive, PatchesBase
  • setObjectName() : SearchTraverser
  • setObjectPointer() : SearchTraverser
  • setOffset() : Planent, ClipPlane
  • setOpacity() : Material
  • setOpacityColor() : Material
  • setOrientation() : Trafo, TextureAttributeItem, SpotLight, MapArray, DirectedLight, Camera
  • setParameterValue() : RTFxBase
  • setParameterValueAsFloat() : CgFxEffect
  • setPlugInCallback() : NBFSaveTraverser
  • setPlugInFileFilter : PlugInServer
  • setPolygonOffset() : FaceAttribute
  • setPosition() : SpotLight, PointLight, MapObject, Camera, RenderTargetGL
  • setPrimitiveRestartIndex() : IndexSet
  • setPrimitiveType() : Primitive
  • setProgramBuffer() : CgFxEffect
  • setProgramProfile() : CgFxEffect
  • setRadius() : Spherent
  • setRangeLock() : LOD
  • setRanges() : LOD
  • setRay() : RayIntersectTraverser
  • setReadBuffer() : RenderTargetGLFBO
  • setReflectivity() : Material
  • setReflectivityColor() : Material
  • setRelation() : MapObject
  • setRendererOptions() : RendererOptionsProvider, ViewState
  • setRenderTarget() : Renderer
  • setRootNode() : Scene
  • setRotationAxis() : Billboard
  • setSamplerTexture() : CgFxEffect
  • setSamplerTextureByName() : RendererGLFSQ
  • setSamplerTextureBySemantic() : RendererGLFSQ
  • setSamplerTextureGPUFormat() : CgFxEffect
  • setSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • setScaleOrientation() : Trafo
  • setScaling() : Trafo, TextureAttributeItem
  • setScene() : ViewState
  • setSceneAmbientValue() : CgFxEffect
  • setSceneFrameNumberValue() : CgFxEffect
  • setSecondaryColors() : VertexAttributeSet
  • setSegments() : Lines
  • setShadowCasting() : LightSource
  • setSize() : Trackball, RenderTarget, TriPatches, RTBufferAttribute, RectPatches, QuadPatches, PointAttribute, BufferHost, Buffer, RenderTargetGL, BufferGL
  • setSkin() : PrimitiveSet, Primitive
  • setSkinningProcessor() : AppTraverser
  • setSkinningType() : Skin
  • setSpacing() : MapMatrix, MapArray
  • setSpecularColor() : Material, LightSource
  • setSpecularExponent() : Material
  • setSpeed() : AnimationState
  • setStencilFunction() : StencilAttribute
  • setStencilOperation() : StencilAttribute
  • setStencilSeparateEnabled() : StencilAttribute
  • setStencilTestingEnabled() : StencilAttribute
  • setStencilWriteMask() : StencilAttribute
  • setStepsPerUnit() : WRLLoader
  • setStereoAutomaticEyeDistanceAdjustment() : ViewState
  • setStereoAutomaticEyeDistanceFactor() : ViewState
  • setStereoEnabled() : RenderTargetGLFBO
  • setStereoEyeDistance() : ViewState
  • setStereoReversedEyes() : ViewState
  • setStereoTarget() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB
  • setStereoViewStateProvider() : SceneRenderer
  • setStippleFactor() : LineAttribute
  • setStipplePattern() : LineAttribute
  • setStringParameterValue() : CgFxEffect
  • setStrips() : StrippedPrimitiveSet
  • setSubData() : RTBufferAttribute
  • setSubImagePixels() : TextureHost
  • setSwingingAnimation() : AnimationState
  • setTarget() : BufferGL
  • setTargetDistance() : ViewState
  • setTessellationCgFxs() : BezierInterpolationTraverser, BezierExtrapolationTraverser
  • setTexCoords() : VertexAttributeSet, RendererGLFSQ
  • setTexGenLinearPlane() : TextureAttributeItem
  • setTexGenMode() : TextureAttributeItem
  • setTexture() : TextureAttributeItem
  • setTextureGPUFormat() : TextureHost
  • setTextureTarget() : TextureHost
  • setThreshold() : AlphaTestAttribute
  • setThrowExceptionOnError() : PlugInCallback
  • setTrafo() : Transform, AnimatedTransform
  • setTransformValue() : CgFxEffect
  • setTranslation() : Trafo, TextureAttributeItem
  • setTraversalDirection() : MapMatrix, MapArray
  • setTraversalMask() : Traverser, ViewState, Object
  • setTraversalMaskOverride() : Traverser, SceneRenderer
  • setTwoSidedLighting() : FaceAttribute
  • setUnifyTargets() : UnifyTraverser
  • setUpVector() : Camera
  • setUsage() : BufferGL
  • setUserData() : Object
  • setUserID() : DALData
  • setValue() : Reflection, TypedPropertyImplEnum, TypedPropertyValue, TypedPropertyImpl, TypedProperty, RendererOptions
  • setVariableName() : RTBufferAttribute
  • setVariant() : StateSet
  • setVertexAttribute() : VertexAttributeSet
  • setVertexAttributeIndex() : NormalizeTraverser
  • setVertexAttributeSet() : PrimitiveSet, Primitive
  • setVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • setVertices() : VertexAttributeSet
  • setViewportSize() : RayIntersectTraverser
  • setViewState() : Traverser, SceneRenderer
  • setViewToClip() : TransformStack
  • setViewToWorldMatrix() : Camera
  • setWidth() : LineAttribute
  • setWindowOffset() : FrustumCamera
  • setWindowRegion() : FrustumCamera
  • setWindowSize() : FrustumCamera
  • setWorldToView() : TransformStack
  • setWorldToViewMatrix() : Camera
  • setWrapMode() : TextureAttributeItem
  • Shape() : Shape
  • SharedModelViewTraverser() : SharedModelViewTraverser
  • SharedTraverser() : SharedTraverser
  • shininess : NVSGMaterial
  • shortStrippedCount : ShortStrippedResult
  • shortStrippedNumber : ShortStrippedResult
  • signature : NBFHeader
  • singleChildCount : SingleChildResult
  • size : NBFTriPatches, NBFQuadPatches, NBFPointAttribute, vertexAttrib_t
  • sizeValid() : TextureGL
  • skin : NBFPrimitive, NBFPrimitiveSet
  • Skin() : Skin
  • skinningType : NBFSkin
  • skins : NBFSkinnedTriangles
  • SmartPtr() : SmartPtr
  • SmoothTraverser() : SmoothTraverser
  • source : NBFCgFx
  • sourceFunction : NBFBlendAttribute
  • sourceObject : NBFObject
  • specular : NVSGMaterial, NVSGLight
  • specularColor : NBFLightSource
  • speed : NBFAnimationState
  • Spherent() : Spherent
  • spotCutoff : NVSGLight
  • spotExponent : NVSGLight
  • SpotLight() : SpotLight
  • start() : Timer, AnimationState
  • statAnimationState() : StatisticsTraverser
  • statCamera() : StatisticsTraverser
  • statDrawable() : StatisticsTraverser
  • stateAttribs : NBFStatePass
  • StateAttribute() : StateAttribute
  • StatePass() : StatePass
  • statePasses : NBFStateVariant
  • stateSet : geometrySet_t
  • StateSet() : StateSet
  • StateSetContainer : GeoNode
  • StateVariant() : StateVariant
  • statFrustumCamera() : StatisticsTraverser
  • statGroup() : StatisticsTraverser
  • statIndexAnimationDescription() : StatisticsTraverser
  • StatisticsTraverser() : StatisticsTraverser
  • statLightSource() : StatisticsTraverser
  • statMapObject() : StatisticsTraverser
  • statMeshedPrimitiveSet() : StatisticsTraverser
  • statNode() : StatisticsTraverser
  • statObject() : StatisticsTraverser
  • statPatchesBase() : StatisticsTraverser
  • statPrimitive() : StatisticsTraverser
  • statPrimitiveSet() : StatisticsTraverser
  • statQuads() : StatisticsTraverser
  • statSkin() : StatisticsTraverser
  • statStateAttribute() : StatisticsTraverser
  • statStrippedPrimitiveSet() : StatisticsTraverser
  • statTrafoAnimationDescription() : StatisticsTraverser
  • statTransform() : StatisticsTraverser
  • statTriangles() : StatisticsTraverser
  • statVertexAttributeAnimationDescription() : StatisticsTraverser
  • statVertexAttributeSet() : StatisticsTraverser
  • StencilAttribute() : StencilAttribute
  • stereoAutomaticFactor : NBFViewState
  • stereoEyeDistance : NBFViewState
  • StereoTarget : RenderTarget
  • stippleFactor : NBFLineAttribute
  • stipplePattern : NBFLineAttribute
  • stop() : Timer, Profile, AnimationState
  • storeDeviceAbstractionLinkData() : DALHost
  • storeIntersection() : RayIntersectTraverser
  • str : tweak_t
  • StrippedPrimitiveSet() : StrippedPrimitiveSet
  • StrippingTraverser() : StrippingTraverser
  • strips : NBFStrippedPrimitiveSet
  • StrTokenizer() : StrTokenizer
  • subject : NBFLink
  • swapData() : VertexAttribute
  • swapVertexData() : VertexAttributeSet
  • swinging : NBFAnimationState
  • Switch() : Switch
  • SwitchMask : Switch
  • SWMRSync() : SWMRSync
  • systemSpecificErrorCode : PlugInCallback::FileMappingFailedInfo, PlugInCallback::FileAccessFailedInfo

- t -

  • target : texImage_t
  • targetDistance : NBFViewState
  • TempLocale() : TempLocale
  • testEntry() : MemFunTbl
  • testing : NBFStencilAttribute
  • texAttribItem : texBinding_t
  • texBorderColor : NBFTextureAttributeItem
  • texCoords : texCoordSet_t
  • texEnvColor : NBFTextureAttributeItem
  • texEnvMode : NBFTextureAttributeItem
  • texEnvScale : NBFTextureAttributeItem
  • texGenMode : NBFTextureAttributeItem
  • texGenPlane : NBFTextureAttributeItem
  • texImg : NBFTextureAttributeItem, texture_t, sampler_t
  • text() : Profile
  • texture : NBFRTFxParameter
  • TextureAttribute() : TextureAttribute
  • TextureAttributeItem() : TextureAttributeItem
  • TextureAttributeItemData() : TextureAttributeItemData
  • TextureGL() : TextureGL
  • TextureGPUFormat : TextureHost
  • TextureHost() : TextureHost
  • texUnit : texBinding_t
  • texWrapR : NBFTextureAttributeItem
  • texWrapS : NBFTextureAttributeItem
  • texWrapT : NBFTextureAttributeItem
  • theAllocator : IAllocator
  • threshold : NBFAlphaTestAttribute
  • Timer() : Timer
  • token : PlugInCallback::UnsupportedTokenInfo, PlugInCallback::UnknownTokenInfo, PlugInCallback::UndefinedTokenInfo, PlugInCallback::EmptyTokenInfo
  • Trace() : Trace
  • Trackball() : Trackball
  • trafo : NBFTextureAttributeItem, NBFTransform
  • Trafo() : Trafo
  • TRAFO_MODEL : CgFxEffect
  • TRAFO_MODELI : CgFxEffect
  • TRAFO_MODELINVERSE : CgFxEffect
  • TRAFO_MODELINVERSETRANSPOSE : CgFxEffect
  • TRAFO_MODELIT : CgFxEffect
  • TRAFO_MODELT : CgFxEffect
  • TRAFO_MODELTRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEW : CgFxEffect
  • TRAFO_MODELVIEWI : CgFxEffect
  • TRAFO_MODELVIEWINVERSE : CgFxEffect
  • TRAFO_MODELVIEWINVERSETRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEWIT : CgFxEffect
  • TRAFO_MODELVIEWPROJECTION : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONI : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONINVERSE : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONIT : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONT : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEWT : CgFxEffect
  • TRAFO_MODELVIEWTRANSPOSE : CgFxEffect
  • TRAFO_PROJECTION : CgFxEffect
  • TRAFO_PROJECTIONI : CgFxEffect
  • TRAFO_PROJECTIONINVERSE : CgFxEffect
  • TRAFO_PROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_PROJECTIONIT : CgFxEffect
  • TRAFO_PROJECTIONT : CgFxEffect
  • TRAFO_PROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_UNKNOWN : CgFxEffect
  • TRAFO_VIEW : CgFxEffect
  • TRAFO_VIEWI : CgFxEffect
  • TRAFO_VIEWINVERSE : CgFxEffect
  • TRAFO_VIEWINVERSETRANSPOSE : CgFxEffect
  • TRAFO_VIEWIT : CgFxEffect
  • TRAFO_VIEWPROJECTION : CgFxEffect
  • TRAFO_VIEWPROJECTIONI : CgFxEffect
  • TRAFO_VIEWPROJECTIONINVERSE : CgFxEffect
  • TRAFO_VIEWPROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_VIEWPROJECTIONIT : CgFxEffect
  • TRAFO_VIEWPROJECTIONT : CgFxEffect
  • TRAFO_VIEWPROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_VIEWT : CgFxEffect
  • TRAFO_VIEWTRANSPOSE : CgFxEffect
  • TRAFO_WORLD : CgFxEffect
  • TRAFO_WORLDI : CgFxEffect
  • TRAFO_WORLDINVERSE : CgFxEffect
  • TRAFO_WORLDINVERSETRANSPOSE : CgFxEffect
  • TRAFO_WORLDIT : CgFxEffect
  • TRAFO_WORLDT : CgFxEffect
  • TRAFO_WORLDTRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEW : CgFxEffect
  • TRAFO_WORLDVIEWI : CgFxEffect
  • TRAFO_WORLDVIEWINVERSE : CgFxEffect
  • TRAFO_WORLDVIEWINVERSETRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEWIT : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTION : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONI : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONINVERSE : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONIT : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONT : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEWT : CgFxEffect
  • TRAFO_WORLDVIEWTRANSPOSE : CgFxEffect
  • trafos : NBFTrafoAnimation
  • Transform() : Transform
  • TransformStack() : TransformStack
  • TransformType : CgFxEffect
  • translation : trafo_t
  • traverseCamera() : ExclusiveTraverser, SharedTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser
  • traverseFrustumCamera() : ExclusiveTraverser, SharedTraverser
  • traverseGeoNode() : Traverser
  • traverseGroup() : Traverser
  • traverseLight() : ExclusiveTraverser, SharedTraverser
  • traverseMapList() : Traverser
  • traverseObject() : Traverser
  • traversePrimitive() : ExclusiveTraverser, SharedTraverser, Traverser, AppTraverser, AnalyzeTraverser, ExtractGeometryTraverser
  • traversePrimitiveSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, AppTraverser
  • Traverser() : Traverser
  • traverseSceneAttribute() : Traverser
  • traverseShape() : Traverser
  • traverseStateAttribute() : Traverser
  • traverseStatePass() : Traverser
  • traverseStateVariant() : Traverser
  • traverseTextureAttribute() : Traverser
  • Triangles() : Triangles
  • TriangulateTraverser() : TriangulateTraverser
  • TriFans() : TriFans
  • TriPatches() : TriPatches
  • TriPatches4() : TriPatches4
  • TriStrips() : TriStrips
  • truncate() : Path
  • tweaks : NBFCgFx, tweak_t
  • twoSidedLighting : NBFFaceAttribute
  • type : NBFRTFxParameter, parameter_t, tweak_t, vertexAttrib_t, NVSGTexImageFmt, GLTexImageFmt
  • Type : Property
  • TYPE_OBJECT : Property
  • TYPE_SET_UINT : Property
  • TYPE_STRING : Property
  • TypedPropertyValue() : TypedPropertyValue

- u -

  • unbind() : TextureGL, RenderTargetGLFBO::AttachmentRenderbuffer, RenderTargetGLFBO::AttachmentTexture, RenderTargetGLFBO::Attachment, BufferGL
  • unbindTextureAttributeItem() : TextureAttribute
  • UnifyTarget : UnifyTraverser
  • UnifyTraverser() : UnifyTraverser
  • uninitialize() : CgFxContext
  • UnlitColorAttribute() : UnlitColorAttribute
  • unloadPrograms() : CgFx
  • unlock() : CgFxContext
  • unlockExclusive() : SWMRSync, SWMRSyncImpl
  • unlockShared() : SWMRSync, SWMRSyncImpl
  • unlockViewState() : ExclusiveTraverser, SharedTraverser, Traverser
  • unmap() : RTBufferAttribute, BufferHost, Buffer, BufferGL
  • unmapOffset() : PLYLoader, NBFLoader
  • unusedVerticesCount : UnusedVerticesResult
  • update() : Observer, HashGeneratorMD5, HashGenerator, Boxnt
  • updateLightingState() : CgFxEffect
  • updateMaterialState() : CgFxEffect
  • updateSceneState() : CgFxEffect
  • updateTransformState() : CgFxEffect
  • UPIID() : UPIID
  • UPITID() : UPITID
  • uploadHint : NVSGTexImageFmt, GLTexImageFmt
  • upperBound() : Chunk
  • upVector : NBFCamera
  • usrFmt : NVSGTexImageFmt, GLTexImageFmt
  • UT_GEONODE : UnifyTraverser
  • UT_GROUP : UnifyTraverser
  • UT_LOD : UnifyTraverser
  • UT_PRIMITIVE_SET : UnifyTraverser
  • UT_STATE_ATTRIBUTE : UnifyTraverser
  • UT_STATE_PASS : UnifyTraverser
  • UT_STATE_SET : UnifyTraverser
  • UT_STATE_VARIANT : UnifyTraverser
  • UT_TEXTURE : UnifyTraverser
  • UT_TEXTURE_ATTRIBUTE_ITEM : UnifyTraverser
  • UT_TRAFO_ANIMATION : UnifyTraverser
  • UT_VERTEX_ATTRIBUTE_SET : UnifyTraverser
  • UT_VERTICES : UnifyTraverser

- v -

  • validate() : Validated
  • validateCurrentTechnique() : CgFxEffect
  • Validated() : Validated
  • valMaskBack : NBFStencilAttribute
  • valMaskFront : NBFStencilAttribute
  • value : PlugInCallback::InvalidValueInfo
  • value0 : PlugInCallback::IncompatibleValueInfo
  • value0Name : PlugInCallback::IncompatibleValueInfo
  • value1 : PlugInCallback::IncompatibleValueInfo
  • value1Name : PlugInCallback::IncompatibleValueInfo
  • value_type : TypeTraits< ValueType, const_reference >, TypeTraits< ValueType, value >
  • valueName : PlugInCallback::InvalidValueInfo
  • valueType : PlugInCallback::InvalidValueInfo, PlugInCallback::IncompatibleValueInfo
  • variableName : NBFRTBufferAttribute
  • variant : keyVariant_t
  • VariantConstIterator : StateSet
  • VariantContainer : StateSet
  • VariantIterator : StateSet
  • vattribs : NBFVertexAttributeSet
  • vdata : vertexAttrib_t
  • Vecnt() : Vecnt
  • verifyCreator() : DALData
  • vertex : skin_t
  • VertexAttribute() : VertexAttribute
  • VertexAttributeSet() : VertexAttributeSet
  • vertexAttributeSet : NBFPrimitive, NBFPrimitiveSet
  • verticesPerPatch : NBFPrimitive
  • ViewState() : ViewState
  • viewState : NBFHeader

- w -

  • wasTraversalInterrupted() : Traverser
  • weight : bone_t
  • weights : NBFSkin
  • WGLBindSwapBarrierNV : GLContext
  • WGLBindTexImage : GLContext
  • WGLBindVideoDeviceNV : GLContext
  • WGLChoosePixelFormat : GLContext
  • WGLCreateAffinityDC : GLContext
  • WGLCreateContext : GLContext
  • WGLCreatePbuffer : GLContext
  • WGLDeleteContext : GLContext
  • WGLDeleteDC : GLContext
  • WGLDestroyPbuffer : GLContext
  • WGLEnumerateVideoDevicesNV : GLContext
  • WGLEnumGpuDevices : GLContext
  • WGLEnumGpus : GLContext
  • WGLEnumGpusFromAffinityDC : GLContext
  • WGLGetCurrentContext : GLContext
  • WGLGetCurrentDC : GLContext
  • WGLGetPbufferDC : GLContext
  • WGLGetPixelFormatAttribfv : GLContext
  • WGLGetSwapInterval : GLContext
  • WGLJoinSwapGroupNV : GLContext
  • WGLQueryCurrentContextNV : GLContext
  • WGLQueryFrameCountNV : GLContext
  • WGLQueryMaxSwapGroupsNV : GLContext
  • WGLQueryPbuffer : GLContext
  • WGLQuerySwapGroupNV : GLContext
  • WGLReleasePbufferDC : GLContext
  • WGLReleaseTexImage : GLContext
  • WGLResetFrameCountNV : GLContext
  • WGLSwapInterval : GLContext
  • width : NBFRectPatches, NBFRTBufferAttribute, NBFLineAttribute, texImage_t, meshSet_t
  • windowOffset : NBFFrustumCamera
  • windowSize : NBFFrustumCamera
  • WriteMapping() : WriteMapping
  • writeMaskBack : NBFStencilAttribute
  • writeMaskFront : NBFStencilAttribute
  • WRLLoadTraverser() : WRLLoadTraverser

- y -

  • yearLastModified : NBFHeader

- z -

  • zfailBack : NBFStencilAttribute
  • zfailFront : NBFStencilAttribute
  • zoom() : MatrixCamera, FrustumCamera, Camera
  • zpassBack : NBFStencilAttribute
  • zpassFront : NBFStencilAttribute

- ~ -

  • ~Allocator() : Allocator
  • ~AlphaTestAttribute() : AlphaTestAttribute
  • ~AnalyzeResult() : AnalyzeResult
  • ~AnalyzeTraverser() : AnalyzeTraverser
  • ~AnimatedTransform() : AnimatedTransform
  • ~AnimatedVertexAttributeSet() : AnimatedVertexAttributeSet
  • ~Animation() : Animation
  • ~AppTraverser() : AppTraverser
  • ~AutoLock() : AutoLock
  • ~BezierExtrapolationTraverser() : BezierExtrapolationTraverser
  • ~BezierInterpolationTraverser() : BezierInterpolationTraverser
  • ~Billboard() : Billboard
  • ~BlendAttribute() : BlendAttribute
  • ~BufferGL() : BufferGL
  • ~Callback() : Callback
  • ~Camera() : Camera
  • ~CgFx() : CgFx
  • ~CgFxContext() : CgFxContext
  • ~CgFxEffect() : CgFxEffect
  • ~CombineTraverser() : CombineTraverser
  • ~ConvertPrimitivesTraverser() : ConvertPrimitivesTraverser
  • ~DeindexTraverser() : DeindexTraverser
  • ~DepthAttribute() : DepthAttribute
  • ~DestrippingTraverser() : DestrippingTraverser
  • ~DirectedLight() : DirectedLight
  • ~Drawable() : Drawable
  • ~EliminateTraverser() : EliminateTraverser
  • ~EmptyResult() : EmptyResult
  • ~EquivalenceResult() : EquivalenceResult
  • ~ExclusiveModelViewTraverser() : ExclusiveModelViewTraverser
  • ~ExclusiveTraverser() : ExclusiveTraverser
  • ~ExtractGeometryTraverser() : ExtractGeometryTraverser
  • ~FaceAttribute() : FaceAttribute
  • ~FileMapping() : FileMapping
  • ~FixedAllocator() : FixedAllocator
  • ~FlipbookAnimation() : FlipbookAnimation
  • ~FramedAnimationDescription() : FramedAnimationDescription
  • ~FrustumCamera() : FrustumCamera
  • ~GeoNode() : GeoNode
  • ~GLFunctions() : GLFunctions
  • ~GLObjects() : GLObjects
  • ~GLUploadTraverser() : GLUploadTraverser
  • ~GPUSkinningProcessor() : GPUSkinningProcessor
  • ~Group() : Group
  • ~IAllocator() : IAllocator
  • ~IdentityResult() : IdentityResult
  • ~IdentityToGroupTraverser() : IdentityToGroupTraverser
  • ~ILTexLoader() : ILTexLoader
  • ~IndependentPrimitiveSet() : IndependentPrimitiveSet
  • ~IndexSet() : IndexSet
  • ~Intersection() : Intersection
  • ~KeyFramedAnimationDescription() : KeyFramedAnimationDescription
  • ~LightingAttribute() : LightingAttribute
  • ~LightSource() : LightSource
  • ~LinearInterpolatedAnimationDescription() : LinearInterpolatedAnimationDescription
  • ~LineAttribute() : LineAttribute
  • ~Lines() : Lines
  • ~LineStrips() : LineStrips
  • ~LOD() : LOD
  • ~Map() : Map
  • ~MapArray() : MapArray
  • ~MapElement() : MapElement
  • ~MapList() : MapList
  • ~MapMatrix() : MapMatrix
  • ~MapObject() : MapObject
  • ~Material() : Material
  • ~MatrixCamera() : MatrixCamera
  • ~MeshedPrimitiveSet() : MeshedPrimitiveSet
  • ~MissingResult() : MissingResult
  • ~NBFLoader() : NBFLoader
  • ~Node() : Node
  • ~NormalizeTraverser() : NormalizeTraverser
  • ~NullNormalsResult() : NullNormalsResult
  • ~Object() : Object
  • ~OptimizeTraverser() : OptimizeTraverser
  • ~OwnedObject() : OwnedObject
  • ~ParallelCamera() : ParallelCamera
  • ~PatchesBase() : PatchesBase
  • ~Path() : Path
  • ~PerspectiveCamera() : PerspectiveCamera
  • ~PlugInCallback() : PlugInCallback
  • ~PointAttribute() : PointAttribute
  • ~PointLight() : PointLight
  • ~Points() : Points
  • ~PostBuildTraverser() : PostBuildTraverser
  • ~Primitive() : Primitive
  • ~PrimitiveAttribute() : PrimitiveAttribute
  • ~PrimitiveSet() : PrimitiveSet
  • ~PropertyList() : PropertyList
  • ~PropertyListChain() : PropertyListChain
  • ~PropertyListImpl() : PropertyListImpl
  • ~QuadMeshes() : QuadMeshes
  • ~QuadPatches() : QuadPatches
  • ~QuadPatches4x4() : QuadPatches4x4
  • ~Quads() : Quads
  • ~QuadStrips() : QuadStrips
  • ~RayIntersectTraverser() : RayIntersectTraverser
  • ~RCObject() : RCObject
  • ~ReadMapping() : ReadMapping
  • ~RectPatches() : RectPatches
  • ~RedundantIndexSetResult() : RedundantIndexSetResult
  • ~RedundantLODRangesResult() : RedundantLODRangesResult
  • ~Reflection() : Reflection
  • ~RegVal() : RegVal
  • ~RTBufferAttribute() : RTBufferAttribute
  • ~RTFxBase() : RTFxBase
  • ~Scene() : Scene
  • ~SceneAttribute() : SceneAttribute
  • ~SceneLoader() : SceneLoader
  • ~SceneSaver() : SceneSaver
  • ~SearchTraverser() : SearchTraverser
  • ~ShaderLoader() : ShaderLoader
  • ~Shape() : Shape
  • ~SharedModelViewTraverser() : SharedModelViewTraverser
  • ~SharedTraverser() : SharedTraverser
  • ~SingleChildResult() : SingleChildResult
  • ~Skin() : Skin
  • ~SmartPtr() : SmartPtr
  • ~SmoothTraverser() : SmoothTraverser
  • ~SpotLight() : SpotLight
  • ~StateAttribute() : StateAttribute
  • ~StatePass() : StatePass
  • ~StateSet() : StateSet
  • ~StateVariant() : StateVariant
  • ~StatisticsTraverser() : StatisticsTraverser
  • ~StrippedPrimitiveSet() : StrippedPrimitiveSet
  • ~StrippingTraverser() : StrippingTraverser
  • ~StrTokenizer() : StrTokenizer
  • ~Switch() : Switch
  • ~SWMRSync() : SWMRSync
  • ~TempLocale() : TempLocale
  • ~TextureAttribute() : TextureAttribute
  • ~TextureAttributeItem() : TextureAttributeItem
  • ~TextureHost() : TextureHost
  • ~TextureLoader() : TextureLoader
  • ~TextureSaver() : TextureSaver
  • ~Timer() : Timer
  • ~Trace() : Trace
  • ~Trackball() : Trackball
  • ~Transform() : Transform
  • ~Traverser() : Traverser
  • ~Triangles() : Triangles
  • ~TriangulateTraverser() : TriangulateTraverser
  • ~TriFans() : TriFans
  • ~TriPatches() : TriPatches
  • ~TriPatches4() : TriPatches4
  • ~TriStrips() : TriStrips
  • ~UnifyTraverser() : UnifyTraverser
  • ~UnlitColorAttribute() : UnlitColorAttribute
  • ~VertexAttribute() : VertexAttribute
  • ~VertexAttributeSet() : VertexAttributeSet
  • ~ViewState() : ViewState
  • ~WriteMapping() : WriteMapping
  • ~WRLLoadTraverser() : WRLLoadTraverser
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members - Enumerations

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions

  • Alignment : Billboard
  • CgFxStateMachineEnum : CgFxContext
  • ISType : RayIntersectTraverser
  • PIC_ERROR : PlugInCallback
  • PIC_TYPE_ID : PlugInCallback
  • PIC_WARNING : PlugInCallback
  • PixelDataType : Image
  • PixelFormat : Image
  • ProgramIOType : CgFxEffect
  • Semantic : Property
  • StereoTarget : RenderTarget
  • TextureGPUFormat : TextureHost
  • TransformType : CgFxEffect
  • Type : Property
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members - Enumeration values

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
_ | b | c | d | e | f | i | l | m | n | p | r | s | t | u

- _ -

  • _BSFAR : RayIntersectTraverser
  • _BSNEAR : RayIntersectTraverser
  • _BSNEARFAR : RayIntersectTraverser
  • _BSTANGENT : RayIntersectTraverser
  • _NONE : RayIntersectTraverser

- b -

  • BA_AXIS : Billboard
  • BA_SCREEN : Billboard
  • BA_VIEWER : Billboard

- c -

  • CGFX_STATE_MACHINE_GL : CgFxContext
  • CGFX_STATE_MACHINE_INVALID : CgFxContext
  • CT_GEONODE : CombineTraverser
  • CT_LOD : CombineTraverser
  • CT_LOD_RANGES : CombineTraverser
  • CT_PRIMITIVE_SET : CombineTraverser
  • CT_TRANSFORM : CombineTraverser

- d -

  • DT_CUSTOMDALDATA : DALData
  • DT_DALDATA : DALData
  • DT_GLARRAYBUFFERCACHE : DALData
  • DT_GLDALDATA : DALData
  • DT_GLDISPLAYLISTCACHE : DALData
  • DT_GLELEMENTARRAYBUFFERCACHE : DALData
  • DT_GLPIXELBUFFERCACHE : DALData
  • DT_GLTEXTURECACHE : DALData
  • DT_INVALID : DALData
  • DT_RTDALDATA : DALData

- e -

  • ET_GROUP : EliminateTraverser
  • ET_INDEX_SET : EliminateTraverser
  • ET_LOD : EliminateTraverser
  • ET_STATE_PASS : EliminateTraverser
  • ET_STATE_SET : EliminateTraverser
  • ET_STATE_VARIANT : EliminateTraverser
  • ET_TEXTURE_ATTRIBUTE : EliminateTraverser
  • ET_TEXTURE_ATTRIBUTE_ITEM : EliminateTraverser

- f -

  • F_IMAGE_STREAM : TextureHost
  • F_NO_IMAGE_CREATION : TextureHost
  • F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD : TextureHost
  • F_SCALE_FILTER_BELL : TextureHost
  • F_SCALE_FILTER_BOX : TextureHost
  • F_SCALE_FILTER_BSPLINE : TextureHost
  • F_SCALE_FILTER_LANCZOS3 : TextureHost
  • F_SCALE_FILTER_TRIANGLE : TextureHost
  • F_SCALE_POT_ABOVE : TextureHost
  • F_SCALE_POT_BELOW : TextureHost
  • F_SCALE_POT_NEAREST : TextureHost

- i -

  • IMG_ALPHA : Image
  • IMG_BGR : Image
  • IMG_BGRA : Image
  • IMG_BYTE : Image
  • IMG_COLOR_INDEX : Image
  • IMG_DEPTH_COMPONENT : Image
  • IMG_DEPTH_STENCIL : Image
  • IMG_FLOAT16 : Image
  • IMG_FLOAT32 : Image
  • IMG_INT : Image
  • IMG_LUMINANCE : Image
  • IMG_LUMINANCE_ALPHA : Image
  • IMG_NUM_FORMATS : Image
  • IMG_NUM_TYPES : Image
  • IMG_RGB : Image
  • IMG_RGBA : Image
  • IMG_SHORT : Image
  • IMG_UNKNOWN_FORMAT : Image
  • IMG_UNKNOWN_TYPE : Image
  • IMG_UNSIGNED_BYTE : Image
  • IMG_UNSIGNED_INT : Image
  • IMG_UNSIGNED_INT_10F_11F_11F : Image
  • IMG_UNSIGNED_INT_24_8 : Image
  • IMG_UNSIGNED_INT_2_10_10_10 : Image
  • IMG_UNSIGNED_INT_5_9_9_9 : Image
  • IMG_UNSIGNED_SHORT : Image

- l -

  • LEFT : RenderTarget
  • LEFT_AND_RIGHT : RenderTarget

- m -

  • MAP_WRITE : RTBufferAttribute
  • MSL_LIGHT_INFINITE : CgFxEffect
  • MSL_LIGHT_POSITION : CgFxEffect
  • MSL_LIGHT_SPOT : CgFxEffect
  • MSL_MAX_LIGHTS : CgFxEffect

- n -

  • NVSG_HINT_ALL_HINTS : Object
  • NVSG_HINT_ALWAYS_INVISIBLE : Object
  • NVSG_HINT_ALWAYS_VISIBLE : Object
  • NVSG_HINT_DONT_CLIP : Object
  • NVSG_HINT_DYNAMIC : Object
  • NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER : Object
  • NVSG_HINT_INVISIBLE_TO_REFLECTIONS : Object
  • NVSG_HINT_INVISIBLE_TO_REFRACTIONS : Object
  • NVSG_HINT_NO_SHADOW_CASTER : Object
  • NVSG_HINT_NO_SHADOW_RECEIVER : Object
  • NVSG_HINT_OVERLAY : Object

- p -

  • PROGRAM_IO_FRAGMENT : CgFxEffect
  • PROGRAM_IO_LINE : CgFxEffect
  • PROGRAM_IO_LINE_ADJ : CgFxEffect
  • PROGRAM_IO_POINT : CgFxEffect
  • PROGRAM_IO_TRIANGLE : CgFxEffect
  • PROGRAM_IO_TRIANGLE_ADJ : CgFxEffect
  • PROGRAM_IO_VERTEX : CgFxEffect

- r -

  • RIGHT : RenderTarget

- s -

  • SEMANTIC_COLOR : Property
  • SEMANTIC_DIMENSION : Property
  • SEMANTIC_DIRECTION : Property
  • SEMANTIC_OBJECT : Property
  • SEMANTIC_ORIENTATION : Property
  • SEMANTIC_POSITION : Property
  • SEMANTIC_SCALING : Property
  • SEMANTIC_VALUE : Property

- t -

  • TRAFO_MODEL : CgFxEffect
  • TRAFO_MODELI : CgFxEffect
  • TRAFO_MODELINVERSE : CgFxEffect
  • TRAFO_MODELINVERSETRANSPOSE : CgFxEffect
  • TRAFO_MODELIT : CgFxEffect
  • TRAFO_MODELT : CgFxEffect
  • TRAFO_MODELTRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEW : CgFxEffect
  • TRAFO_MODELVIEWI : CgFxEffect
  • TRAFO_MODELVIEWINVERSE : CgFxEffect
  • TRAFO_MODELVIEWINVERSETRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEWIT : CgFxEffect
  • TRAFO_MODELVIEWPROJECTION : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONI : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONINVERSE : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONIT : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONT : CgFxEffect
  • TRAFO_MODELVIEWPROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_MODELVIEWT : CgFxEffect
  • TRAFO_MODELVIEWTRANSPOSE : CgFxEffect
  • TRAFO_PROJECTION : CgFxEffect
  • TRAFO_PROJECTIONI : CgFxEffect
  • TRAFO_PROJECTIONINVERSE : CgFxEffect
  • TRAFO_PROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_PROJECTIONIT : CgFxEffect
  • TRAFO_PROJECTIONT : CgFxEffect
  • TRAFO_PROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_UNKNOWN : CgFxEffect
  • TRAFO_VIEW : CgFxEffect
  • TRAFO_VIEWI : CgFxEffect
  • TRAFO_VIEWINVERSE : CgFxEffect
  • TRAFO_VIEWINVERSETRANSPOSE : CgFxEffect
  • TRAFO_VIEWIT : CgFxEffect
  • TRAFO_VIEWPROJECTION : CgFxEffect
  • TRAFO_VIEWPROJECTIONI : CgFxEffect
  • TRAFO_VIEWPROJECTIONINVERSE : CgFxEffect
  • TRAFO_VIEWPROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_VIEWPROJECTIONIT : CgFxEffect
  • TRAFO_VIEWPROJECTIONT : CgFxEffect
  • TRAFO_VIEWPROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_VIEWT : CgFxEffect
  • TRAFO_VIEWTRANSPOSE : CgFxEffect
  • TRAFO_WORLD : CgFxEffect
  • TRAFO_WORLDI : CgFxEffect
  • TRAFO_WORLDINVERSE : CgFxEffect
  • TRAFO_WORLDINVERSETRANSPOSE : CgFxEffect
  • TRAFO_WORLDIT : CgFxEffect
  • TRAFO_WORLDT : CgFxEffect
  • TRAFO_WORLDTRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEW : CgFxEffect
  • TRAFO_WORLDVIEWI : CgFxEffect
  • TRAFO_WORLDVIEWINVERSE : CgFxEffect
  • TRAFO_WORLDVIEWINVERSETRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEWIT : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTION : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONI : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONINVERSE : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONINVERSETRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONIT : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONT : CgFxEffect
  • TRAFO_WORLDVIEWPROJECTIONTRANSPOSE : CgFxEffect
  • TRAFO_WORLDVIEWT : CgFxEffect
  • TRAFO_WORLDVIEWTRANSPOSE : CgFxEffect
  • TYPE_OBJECT : Property
  • TYPE_SET_UINT : Property
  • TYPE_STRING : Property

- u -

  • UT_GEONODE : UnifyTraverser
  • UT_GROUP : UnifyTraverser
  • UT_LOD : UnifyTraverser
  • UT_PRIMITIVE_SET : UnifyTraverser
  • UT_STATE_ATTRIBUTE : UnifyTraverser
  • UT_STATE_PASS : UnifyTraverser
  • UT_STATE_SET : UnifyTraverser
  • UT_STATE_VARIANT : UnifyTraverser
  • UT_TEXTURE : UnifyTraverser
  • UT_TEXTURE_ATTRIBUTE_ITEM : UnifyTraverser
  • UT_TRAFO_ANIMATION : UnifyTraverser
  • UT_VERTEX_ATTRIBUTE_SET : UnifyTraverser
  • UT_VERTICES : UnifyTraverser
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members - Functions

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | z | ~

- a -

  • addAppTraverserCallback() : Object
  • addAttribute() : StateVariant, StateSet, StatePass, Scene
  • addCamera() : Scene
  • addCameraAnimation() : Scene
  • addChild() : Group
  • addClipPlane() : Group
  • addDrawable() : GeoNode
  • addEmptyColumn() : MapMatrix
  • addEntry() : MemFunTbl
  • addHeadLight() : Camera
  • addImage() : TextureHost
  • addItem() : SearchTraverser
  • addJoint() : Skin
  • addKey() : KeyFramedAnimationDescription
  • addKeys() : KeyFramedAnimationDescription
  • addLightSource() : Group
  • addMap() : MapMatrix, MapArray
  • addMapObject() : MapList
  • addMask() : Switch
  • addObjectHandler() : ExclusiveTraverser, SharedTraverser
  • addOnDestroyCallback() : RCObject
  • addParameter() : RTFxBase
  • addPass() : StateVariant, StateSet
  • addPrimitive() : Shape
  • addProblem() : ProblemLog
  • addProperty() : Reflection, PropertyListImpl, RendererOptions
  • addPropertyList() : PropertyListChain
  • addRef() : TypedPropertyValue, TypedPropertyImpl, Property, RCObject
  • addRendererOptions() : SceneRenderer, RendererOptionsProvider, SceneRendererGL2
  • addStep() : FramedAnimationDescription
  • addSteps() : FramedAnimationDescription
  • advance() : AnimationState
  • advanceAnimation() : ViewState
  • alloc() : Allocator, FixedAllocator, Chunk, NBFSaveTraverser
  • Allocator() : Allocator
  • AlphaTestAttribute() : AlphaTestAttribute
  • AnalyzeTraverser() : AnalyzeTraverser
  • AnimatedTransform() : AnimatedTransform
  • AnimatedVertexAttributeSet() : AnimatedVertexAttributeSet
  • Animation() : Animation
  • AnimationDescription() : AnimationDescription
  • AnimationState() : AnimationState
  • apply() : Traverser, Trackball
  • applyPass() : CgFxEffect
  • AppTraverser() : AppTraverser
  • attach() : Subject
  • AttachmentRenderbuffer() : RenderTargetGLFBO::AttachmentRenderbuffer
  • AttachmentTexture() : RenderTargetGLFBO::AttachmentTexture
  • AutoLock() : AutoLock

- b -

  • begin() : VertexAttribute
  • beginAppTraverserCallbacks() : Object
  • beginAttributes() : StateVariant, StateSet, StatePass, Scene
  • beginCameraAnimations() : Scene
  • beginCameras() : Scene
  • beginChildren() : Group
  • beginClipPlanes() : Group
  • beginDrawables() : GeoNode
  • beginHeadLights() : Camera
  • beginLightSources() : Group
  • beginParameters() : RTFxBase
  • beginPasses() : StateVariant, StateSet
  • beginPrimitives() : Shape
  • beginPropertyLists() : PropertyListChain
  • beginRead() : VertexAttribute
  • beginRendering() : RenderTarget, Renderer, RenderTargetGL
  • beginStateSets() : GeoNode
  • beginVariants() : StateSet
  • BezierCurve() : BezierCurve
  • BezierExtrapolationTraverser() : BezierExtrapolationTraverser
  • BezierInterpolationTraverser() : BezierInterpolationTraverser
  • BezierRect() : BezierRect
  • BezierTriangle() : BezierTriangle
  • Billboard() : Billboard
  • bind() : TextureGL, RenderTargetGLFBO::AttachmentRenderbuffer, RenderTargetGLFBO::AttachmentTexture, RenderTargetGLFBO::Attachment, BufferGL
  • bind1D() : RenderTargetGLFBO::AttachmentTexture
  • bind2D() : RenderTargetGLFBO::AttachmentTexture
  • bind3D() : RenderTargetGLFBO::AttachmentTexture
  • bindLayer() : RenderTargetGLFBO::AttachmentTexture
  • bindTextureAttributeItem() : TextureAttribute
  • BlendAttribute() : BlendAttribute
  • blocksAvailable() : Chunk
  • Boxnt() : Boxnt
  • BufferGL() : BufferGL

- c -

  • calcNearFarDistances() : FrustumCamera
  • calculateBoundingBox() : Transform, Switch, StrippedPrimitiveSet, Shape, Primitive, MeshedPrimitiveSet, IndependentPrimitiveSet, Group, GeoNode, AnimatedTransform
  • calculateBoundingSphere() : Transform, Switch, StrippedPrimitiveSet, Shape, Primitive, MeshedPrimitiveSet, IndependentPrimitiveSet, Group, GeoNode, AnimatedTransform
  • calculateNormals() : TriStrips, TriPatches4, TriPatches, TriFans, Triangles, Shape, RectPatches, QuadStrips, Quads, QuadPatches4x4, QuadPatches, QuadMeshes, Primitive, Drawable
  • calculateTangentSpace() : TriStrips, TriPatches4, TriPatches, TriFans, Triangles, Shape, RectPatches, QuadStrips, Quads, QuadPatches4x4, QuadPatches, QuadMeshes, Primitive, Drawable
  • calculateTexCoords() : Shape, PrimitiveSet, Primitive, Drawable
  • calculateViewState() : SceneRenderer::StereoViewStateProvider
  • calculatingStorageRequirements() : NBFSaveTraverser
  • Callback() : Callback
  • callback() : PlugIn
  • Camera() : Camera
  • CgFx() : CgFx
  • CgFxContext() : CgFxContext
  • CgFxEffect() : CgFxEffect
  • checkClipPlanes() : RayIntersectTraverser
  • checkIntersection() : RayIntersectTraverser
  • Chunk() : Chunk
  • clear() : Observer, RTBufferAttribute, MapList, MapArray
  • clearAppTraverserCallbacks() : Object
  • clearAttachments() : RenderTargetGLFBO
  • clearAttributes() : StateVariant, StateSet, StatePass, Scene
  • clearCameraAnimations() : Scene
  • clearCameras() : Scene
  • clearChildren() : Group
  • clearClipPlanes() : Group
  • clearHeadLights() : Camera
  • clearLightSources() : Group
  • clearParameters() : RTFxBase
  • clearPasses() : StateVariant, StateSet
  • clearPrimitives() : Shape
  • clearStateSets() : GeoNode
  • clearTexCoords() : GeoNode
  • clearVariants() : StateSet
  • ClipPlane() : ClipPlane
  • ClipPlanesElement() : ClipPlanesElement
  • clone() : Intersection, PropertyListChain, PropertyListImpl, PropertyList, TypedPropertyValue, Property, Handle< T, Handle< U, V > >, Handle< T, NullType >
  • cloneProgramParameter() : RTFxBase
  • CombineTraverser() : CombineTraverser
  • compileProgram() : CgFxEffect
  • computeSize() : TextureGLBuffer
  • containsAnimation() : Scene
  • containsLight() : Scene
  • containsNode() : Scene
  • containsShader() : Scene
  • containsTessellationProgram() : CgFxEffect
  • containsTransparency() : Scene
  • convert2DToCubeMap() : TextureHost
  • convertPixelFormat() : TextureHost
  • ConvertPrimitivesTraverser() : ConvertPrimitivesTraverser
  • convertToTextureTarget() : TextureHost
  • copyToBuffer() : RenderTargetGL
  • CPUSkinningProcessor() : CPUSkinningProcessor
  • create() : BackLinkObserver, IndexSet, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLBuffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, TextureGL, SceneRendererGL2, RenderTargetGLFBO, RenderbufferGL, BufferGL
  • createBoolSamplerStateValue() : CgFxEffect
  • createBuffer() : CgFxContext
  • createFloatSamplerStateValue() : CgFxEffect
  • createFromFile() : TextureHost, CgFx, CgFxEffect
  • createFromLump() : CgFx, CgFxEffect
  • createImage() : TextureHost
  • createIntSamplerStateValue() : CgFxEffect
  • createMipmaps() : TextureHost
  • createStereoTextureHost() : RenderTargetGL
  • createTextureHost() : TextureLoader

- d -

  • DALData() : DALData
  • DataReadLock() : Buffer::DataReadLock
  • DataWriteLock() : Buffer::DataWriteLock
  • dealloc() : Allocator, FixedAllocator, Chunk, NBFSaveTraverser
  • decrementJointCount() : Transform
  • decrementMipmapUseCount() : TextureHost
  • degree() : BezierCurve
  • DeindexTraverser() : DeindexTraverser
  • deletePrimitiveCaches() : SceneRendererGL2
  • deleteThis() : PlugIn, DALData, OBJSaver, NVSGSaver, NBFSaver, ILTexSaver, WRLLoader, PLYLoader, NVSGLoader, NBFLoader, ILTexLoader
  • demandUpload() : TextureHost
  • DepthAttribute() : DepthAttribute
  • derivative() : BezierCurve
  • DestrippingTraverser() : DestrippingTraverser
  • destroy() : PropertyList, TypedPropertyValue, TypedPropertyImpl, Property
  • destroyBuffer() : CgFxContext
  • destroyed() : Observer
  • detach() : Subject
  • determineAnimationContainment() : GeoNode, FlipbookAnimation, AnimatedTransform
  • determineCullCode() : PerspectiveCamera, ParallelCamera, MatrixCamera, Camera
  • determineHintsContainment() : StateVariant, StateSet, StatePass, Group
  • determineLODContainment() : LOD
  • determineMetaSLLightParameterSpace() : LightSource
  • determineShaderContainment() : GeoNode
  • determineTransparencyContainment() : GeoNode, CgFx, BlendAttribute
  • DirectedLight() : DirectedLight
  • disableAvailability() : GLFunctions
  • disconnectFace() : FaceConnections
  • disconnectFaces() : FaceConnections
  • doAddRendererOptions() : RendererOptionsProvider
  • doApply() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, Traverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, OptimizeTraverser, NormalizeTraverser, EliminateTraverser, DestrippingTraverser, DeindexTraverser, ConvertPrimitivesTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • doRender() : GLUploadTraverser, SceneRenderer, Renderer
  • doSetRendererOptions() : RendererOptionsProvider
  • doTraverseDrawable() : ExclusiveTraverser, SharedTraverser, Traverser
  • doTraverseObject() : ExclusiveTraverser, SharedTraverser, Traverser
  • draw() : DrawCallback
  • Drawable() : Drawable
  • dumpAllocations() : Allocator
  • dumpDiffAllocations() : Allocator
  • dumpIntersectionList() : RayIntersectTraverser

- e -

  • EliminateTraverser() : EliminateTraverser
  • end() : VertexAttribute
  • endAppTraverserCallbacks() : Object
  • endAttributes() : StateVariant, StateSet, StatePass, Scene
  • endCameraAnimations() : Scene
  • endCameras() : Scene
  • endChildren() : Group
  • endClipPlanes() : Group
  • endDrawables() : GeoNode
  • endHeadLights() : Camera
  • endLightSources() : Group
  • endParameters() : RTFxBase
  • endPasses() : StateVariant, StateSet
  • endPrimitives() : Shape
  • endPropertyLists() : PropertyListChain
  • endRead() : VertexAttribute
  • endRendering() : RenderTarget, Renderer, RenderTargetGL
  • endStateSets() : GeoNode
  • endVariants() : StateSet
  • evaluate() : BezierTriangle, BezierRect, BezierCurve
  • evaluateMesh() : BezierTriangle, BezierRect
  • evaluateStrip() : BezierCurve
  • ExclusiveModelViewTraverser() : ExclusiveModelViewTraverser
  • ExclusiveTraverser() : ExclusiveTraverser
  • execute() : ShareGroupGLTask
  • ExtractGeometryTraverser() : ExtractGeometryTraverser

- f -

  • FaceAttribute() : FaceAttribute
  • FaceConnections() : FaceConnections
  • feedHashGenerator() : VertexAttributeSet, VertexAttribute, UnlitColorAttribute, TriPatches, Transform, TextureHost, TextureAttribute, TextureAttributeItem, Texture, Switch, StrippedPrimitiveSet, StencilAttribute, StateVariant, StateSet, StatePass, SpotLight, Skin, Shape, RTFx, RTFxBase, RTBufferAttribute, RectPatches, QuadPatches, PrimitiveSet, Primitive, PointLight, PointAttribute, PatchesBase, Object, MeshedPrimitiveSet, MatrixCamera, Material, MapObject, MapMatrix, MapList, MapElement, MapArray, Map, LOD, LineAttribute, LightSource, LightingAttribute, KeyFramedAnimationDescription, IndexSet, IndependentPrimitiveSet, Group, GeoNode, FrustumCamera, FramedAnimationDescription, FlipbookAnimation, FaceAttribute, DepthAttribute, ClipPlane, CgFx, CgFxEffect, Camera, BlendAttribute, Billboard, Animation, AnimationState, AnimatedVertexAttributeSet, AnimatedTransform, AlphaTestAttribute, TextureGL
  • FileMapping() : FileMapping
  • finalize() : HashGeneratorMD5, HashGenerator
  • findChild() : Group
  • findDelimiter() : StrTokenizer
  • findLongestQuadStrip() : FaceConnections
  • findLongestTriStrip() : FaceConnections
  • findQuadPatch4x4() : FaceConnections
  • findStateSet() : GeoNode
  • findTriPatch4() : FaceConnections
  • finishUpload() : TextureHost
  • firstEncounter() : StatisticsBase
  • FixedAllocator() : FixedAllocator
  • FlipbookAnimation() : FlipbookAnimation
  • flushBoolParameterValue() : CgFxEffect
  • flushFloatParameterValue() : CgFxEffect
  • flushIntParameterValue() : CgFxEffect
  • forceTraversal() : AppTraverser
  • format() : TraceFunctor, Log, NBFRTBufferAttribute, texture_t
  • FramedAnimationDescription() : FramedAnimationDescription
  • frameToStep() : Animation, AnimationState
  • freeMemory() : Chunk
  • FrustumCamera() : FrustumCamera

- g -

  • generateMipMap() : TextureGL
  • generateNormals() : GeoNode, Drawable
  • generateTangentSpace() : GeoNode, Drawable
  • generateTexCoords() : VertexAttributeSet, GeoNode, Drawable
  • GeoNode() : GeoNode
  • get() : Validated, SmartPtr
  • getActive() : Switch
  • getActiveMaskKey() : Switch
  • getActiveSwitchMask() : Switch
  • getActiveVariantKey() : StateSet
  • getAlignment() : MapMatrix, MapArray, Billboard
  • getAlphaFunction() : AlphaTestAttribute
  • getAmbientColor() : Scene, Material, LightSource
  • getAnalysis() : AnalyzeTraverser
  • getAndClearZeroConnectionIndices() : FaceConnections
  • getAnimation() : LightSource, FlipbookAnimation, AnimatedVertexAttributeSet, AnimatedTransform
  • getAnnotation() : TypedPropertyValue, TypedPropertyImpl, Property, RendererOptions, Object
  • getAnnotationName() : CgFxEffect
  • getAnnotationTypeString() : CgFxEffect
  • getAnnotationValueSize() : CgFxEffect
  • getArrayParameterElement() : CgFxEffect
  • getAspectRatio() : RenderTarget, FrustumCamera
  • getAttachment() : RenderTargetGLFBO
  • getAttenuation() : SpotLight, PointLight
  • getAutoClipPlanes() : ViewState
  • getAvailableCSAAModes() : RenderbufferGL
  • getBackColor() : Scene
  • getBackFaceMode() : FaceAttribute
  • getBackImage() : Scene
  • getBaseClassSearch() : SearchTraverser
  • getBindingTarget() : TextureGL
  • getBindPose() : Skin
  • getBindShapeMatrix() : Skin
  • getBoolAnnotationValue() : CgFxEffect
  • getBoolParameterValue() : CgFxEffect
  • getBoolPassStateValue() : CgFxEffect
  • getBoolSamplerStateValue() : CgFxEffect
  • getBorder() : TextureGL
  • getBorderColor() : TextureAttributeItem
  • getBuffer() : VertexAttribute, IndexSet, TextureGLBuffer
  • getBufferMaxIndex() : CgFxContext
  • getBufferMaxSize() : CgFxContext
  • getBufferSize() : RTBufferAttribute, CgFxContext
  • getBytesPerPixel() : TextureHost
  • getBytesPerPlane() : TextureHost
  • getBytesPerScanLine() : TextureHost
  • getCamera() : ViewState
  • getCenter() : Trafo, Spherent, Boxnt, LOD
  • getCgFx() : RendererGLFSQ
  • getClassID() : LinkTransformToSpotLightAsPositionCallback, LinkGroupToSpotLightAsTargetCallback, LinkGroupToLightSourceCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToCameraAsTargetCallback, LinkGroupToCameraCallback, Callback
  • getClassName() : SearchTraverser, LinkTransformToSpotLightAsPositionCallback, LinkGroupToSpotLightAsTargetCallback, LinkGroupToLightSourceCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToCameraAsTargetCallback, LinkGroupToCameraCallback, Reflection, ReflectionInfo, Callback
  • getClearMask() : RenderTargetGL
  • getClientDataFormat() : TextureGL
  • getClientDataType() : TextureGL
  • getClipPlane() : ClipPlanesElement
  • getClipToModel() : TransformStack
  • getClipToView() : TransformStack
  • getColor() : UnlitColorAttribute
  • getColors() : VertexAttributeSet
  • getCombineTargets() : CombineTraverser
  • getCompressedSize() : TextureGL
  • getConstIterator() : Buffer
  • getContext() : CgFxEffect
  • getCounts() : Skin
  • getCreaseAngle() : SmoothTraverser
  • getCreationFlags() : TextureHost
  • getCurrentChild() : FlipbookAnimation
  • getCurrentDelta() : ViewState
  • getCurrentFrame() : AnimationState
  • getCurrentMaskIterator() : Switch
  • getCurrentStep() : AnimationState
  • getCurrentTechnique() : CgFxEffect
  • getCurrentTextureUnit() : Traverser
  • getCurrentTick() : ViewState
  • getCurrentValue() : Animation
  • getCutoffAngle() : SpotLight
  • getData() : VertexAttribute, Map, IndexSet, Buffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, BufferGL
  • getDataID() : VertexAttributeSet, TextureAttributeItem, StrippedPrimitiveSet, RTFxSceneAttribute, RTFx, Object, MeshedPrimitiveSet, Material, IndependentPrimitiveSet, CgFx
  • getDataSize() : TextureGL
  • getDepth() : TextureHost, RTBufferAttribute, TextureGL3D
  • getDepthFunction() : DepthAttribute
  • getDescription() : Animation
  • getDestinationFunction() : BlendAttribute
  • getDeviceAbstractionLinkData() : DALHost
  • getDiffuseColor() : Material, LightSource
  • getDimensionality() : RTBufferAttribute
  • getDirection() : SpotLight, DirectedLight, Camera
  • getDisplay() : GLContext
  • getDist() : Intersection
  • getDistance() : ClipPlane
  • getDrawable() : Intersection
  • getDrawCallback() : Drawable
  • getDynamicNumberOfLights() : CgFxEffect
  • getEffect() : CgFx
  • getElementCount() : Primitive
  • getElementOffset() : Primitive
  • getElementRange() : Primitive
  • getElementSize() : RTBufferAttribute
  • getEliminateTargets() : EliminateTraverser
  • getEmissiveColor() : Material
  • getEnabled() : LightingAttribute
  • getEnabledDuringMultiSampleAlpha() : AlphaTestAttribute
  • getEntrySize() : MapMatrix, MapArray
  • getEnvColor() : TextureAttributeItem
  • getEnvMode() : TextureAttributeItem
  • getEnvScale() : TextureAttributeItem
  • getEpsilon() : UnifyTraverser
  • getErrorMessage() : NVSGException, NBFSaveTraverser
  • getErrors() : ShaderLoader
  • getFaces() : Triangles, Quads
  • getFalloffExponent() : SpotLight
  • getFarDistance() : FrustumCamera
  • getFieldOfView() : PerspectiveCamera
  • getFileName() : TextureHost, CgFxEffect
  • getFirstItem() : TextureAttribute
  • getFirstMaskIterator() : Switch
  • getFixedLocations() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getFloatAnnotationValue() : CgFxEffect
  • getFloatParameterValue() : CgFxEffect
  • getFloatPassStateValue() : CgFxEffect
  • getFloatSamplerStateValue() : CgFxEffect
  • getFocusDistance() : Camera
  • getFogCoords() : VertexAttributeSet
  • getFormat() : TextureHost, RTBufferAttribute
  • getFragmentProgram() : CgFxEffect
  • getFramebufferId() : RenderTargetGLFBO
  • getFrameNumber() : Scene
  • getFrameValue() : Animation
  • getFromHead() : Path
  • getFromTail() : Path
  • getFrontFaceMode() : FaceAttribute
  • getGeometryProgram() : CgFxEffect
  • getGLId() : TextureGL, BufferGL
  • getGroup() : ClipPlanesElement
  • getHashKey() : Texture, Object
  • getHead() : Path
  • getHeight() : RenderTarget, TextureHost, RTBufferAttribute, RectPatches, Map, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, RenderTargetGL
  • getHigherLevelObjectCode() : PatchesBase, Object
  • getId() : PropertyList
  • getIgnoreAccelerationBuilderHints() : CombineTraverser
  • getIgnoreNames() : OptimizeTraverser
  • getIncarnation() : ViewState, BufferHost, Buffer, BufferGL
  • getIndexOfMap() : MapMatrix, MapArray
  • getIndexOfRefraction() : Material
  • getIndexSet() : Primitive
  • getIndices() : Skin, IndependentPrimitiveSet
  • getIntAnnotationValue() : CgFxEffect
  • getIntensity() : LightSource
  • getInternalFormat() : TextureGL
  • getIntersections() : RayIntersectTraverser
  • getIntParameterValue() : CgFxEffect
  • getIntPassStateValue() : CgFxEffect
  • getIntSamplerStateValue() : CgFxEffect
  • getInverse() : Trafo, LightSource
  • getInverseBindMatrix() : Skin
  • getInverseProjection() : PerspectiveCamera, ParallelCamera, MatrixCamera, Camera
  • getIsp() : Intersection
  • getIterator() : Buffer
  • getJoint() : Skin
  • getKey() : KeyFramedAnimationDescription
  • getKeyStep() : KeyFramedAnimationDescription
  • getKeySteps() : KeyFramedAnimationDescription
  • getKeyValue() : KeyFramedAnimationDescription
  • getKeyValues() : KeyFramedAnimationDescription
  • getLastError() : FileMapping
  • getLastMaskIterator() : Switch
  • getLastRecentlyUsedDeviceAbstractionLinkData() : DALHost
  • getLayers() : TextureGL2DMultisampleArray, TextureGLCubemapArray, TextureGL2DArray, TextureGL1DArray
  • getLength() : Path
  • getLight() : CgFxEffect
  • getLightAmbientValue() : CgFxEffect
  • getLightByName() : CgFxEffect
  • getLightBySemantic() : CgFxEffect
  • getLightConstantAttenuationValue() : CgFxEffect
  • getLightDiffuseValue() : CgFxEffect
  • getLightDirectionValue() : CgFxEffect
  • getLightLinearAttenuationValue() : CgFxEffect
  • getLightPositionValue() : CgFxEffect
  • getLightQuadraticAttenuationValue() : CgFxEffect
  • getLightSpecularValue() : CgFxEffect
  • getLightSpotCutoffValue() : CgFxEffect
  • getLightSpotExponentValue() : CgFxEffect
  • getLODRangeScale() : ViewState
  • getLODToUse() : LOD
  • getLogList() : ProblemLog
  • getLoopCount() : AnimationState
  • getLower() : Boxnt
  • getLowerLeft() : MapObject
  • getMagFilterMode() : TextureAttributeItem
  • getMap() : MapMatrix, MapElement, MapArray
  • getMapList() : ViewState
  • getMapObject() : MapList
  • getMaskKey() : Switch
  • getMaterial() : CgFxEffect
  • getMaterialAmbientValue() : CgFxEffect
  • getMaterialDiffuseValue() : CgFxEffect
  • getMaterialEmissionValue() : CgFxEffect
  • getMaterialShininessValue() : CgFxEffect
  • getMaterialSpecularValue() : CgFxEffect
  • getMatrix() : Trafo, TextureAttributeItem
  • getMaxAnisotropy() : TextureAttributeItem
  • getMaxElementCount() : Primitive
  • getMaximumColorSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumDepthSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumIntegerSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumLayers() : TextureGL2DMultisampleArray, TextureGLCubemapArray, TextureGL2DArray, TextureGL1DArray
  • getMaximumSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getMaximumSize() : TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLBuffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, TextureGL
  • getMaxLevel() : TextureGL
  • getMaxMSAASamples() : RenderbufferGL
  • getMeshes() : MeshedPrimitiveSet
  • getMinFilterMode() : TextureAttributeItem
  • getMipMapSize() : TextureGL
  • getMipmapUseCount() : TextureHost
  • getModelIntersection() : RayIntersectTraverser
  • getModelToClip() : TransformStack
  • getModelToView() : TransformStack
  • getModelToWorld() : ClipPlanesElement, TransformStack
  • getModelToWorldMatrix() : Path
  • getMslLightDirection() : CgFxEffect
  • getMslLightDirectionValue() : CgFxEffect
  • getMslLightPosition() : CgFxEffect
  • getMslLightPositionValue() : CgFxEffect
  • getMslLightType() : CgFxEffect
  • getMslLightTypeValue() : CgFxEffect
  • getName() : Object
  • getNearDistance() : FrustumCamera
  • getNearest() : RayIntersectTraverser
  • getNeighbours() : FaceConnections
  • getNextFaceIndex() : FaceConnections
  • getNextItem() : TextureAttribute
  • getNextMaskIterator() : Switch
  • getNextToken() : StrTokenizer
  • getNormal() : Planent, ClipPlane
  • getNormalize() : AnimatedVertexAttributeSet
  • getNormalizeFlags() : AnimatedVertexAttributeSet
  • getNormals() : VertexAttributeSet
  • getNumberOfActive() : Switch
  • getNumberOfActiveClipPlanes() : Group
  • getNumberOfAnnotationValueComponents() : CgFxEffect
  • getNumberOfArrayParameterElements() : CgFxEffect
  • getNumberOfAttributes() : StateVariant, StateSet, StatePass, Scene
  • getNumberOfBytes() : TextureHost
  • getNumberOfCameraAnimations() : Scene
  • getNumberOfCameras() : Scene
  • getNumberOfChildren() : Group
  • getNumberOfClipPlanes() : ClipPlanesElement, Group
  • getNumberOfColors() : VertexAttributeSet
  • getNumberOfColumns() : MapMatrix
  • getNumberOfDrawables() : GeoNode
  • getNumberOfFaces() : Triangles, Quads, Primitive
  • getNumberOfFogCoords() : VertexAttributeSet
  • getNumberOfFrames() : Animation, AnimationState
  • getNumberOfHeadLights() : Camera
  • getNumberOfImages() : TextureHost
  • getNumberOfIndices() : IndexSet, IndependentPrimitiveSet
  • getNumberOfInfluences() : Skin
  • getNumberOfIntersections() : RayIntersectTraverser
  • getNumberOfItems() : TextureAttribute
  • getNumberOfJoints() : Skin
  • getNumberOfKeys() : KeyFramedAnimationDescription
  • getNumberOfLights() : CgFxEffect
  • getNumberOfLightSources() : Group
  • getNumberOfMapObjects() : MapList
  • getNumberOfMaps() : MapMatrix, MapArray
  • getNumberOfMasks() : Switch
  • getNumberOfMeshes() : MeshedPrimitiveSet
  • getNumberOfMipmaps() : TextureHost
  • getNumberOfNormals() : VertexAttributeSet
  • getNumberOfOwners() : OwnedObject
  • getNumberOfParameterAnnotations() : CgFxEffect
  • getNumberOfParameterValueComponents() : CgFxEffect
  • getNumberOfParents() : Node
  • getNumberOfPassAnnotations() : CgFxEffect
  • getNumberOfPasses() : StateVariant, StateSet, CgFxEffect
  • getNumberOfPassStateValueComponents() : CgFxEffect
  • getNumberOfPatches() : PatchesBase
  • getNumberOfPrimitiveRestarts() : Primitive
  • getNumberOfPrimitives() : Shape, Primitive
  • getNumberOfProgramParameters() : CgFxEffect
  • getNumberOfProgramSamplers() : CgFxEffect
  • getNumberOfRanges() : LOD
  • getNumberOfSamplers() : CgFxEffect
  • getNumberOfSamplerStateValueComponents() : CgFxEffect
  • getNumberOfSecondaryColors() : VertexAttributeSet
  • getNumberOfSegments() : Lines
  • getNumberOfStateSets() : GeoNode
  • getNumberOfSteps() : KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription, Animation, AnimationState
  • getNumberOfStrips() : StrippedPrimitiveSet
  • getNumberOfStructParameterMembers() : CgFxEffect
  • getNumberOfTechniqueAnnotations() : CgFxEffect
  • getNumberOfTechniques() : CgFxEffect
  • getNumberOfTexCoords() : VertexAttributeSet
  • getNumberOfTransforms() : CgFxEffect
  • getNumberOfTweakables() : CgFxEffect
  • getNumberOfVariants() : StateSet
  • getNumberOfVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getNumberOfVertices() : VertexAttributeSet
  • getNumberOfVerticesPerPrimitive() : Primitive
  • getObjectCode() : Object
  • getObjectName() : SearchTraverser
  • getObjectPointer() : SearchTraverser
  • getObserver() : Callback
  • getOffset() : Planent, ClipPlane
  • getOffsetOfVertexData() : VertexAttributeSet
  • getOffsets() : Skin
  • getOpacity() : Material
  • getOpacityColor() : Material
  • getOptionStringCacheMode() : SceneRendererGL2
  • getOptionStringFaceCullMode() : SceneRendererGL2
  • getOptionStringFrustumCulling() : SceneRendererGL2
  • getOptionStringLightModelLocalViewer() : SceneRendererGL2
  • getOptionStringLightModelTwoSide() : SceneRendererGL2
  • getOptionStringPolygonMode() : SceneRendererGL2
  • getOptionStringPreserveTexturesAfterUpload() : SceneRendererGL2
  • getOptionStringRenderModeGroup() : SceneRendererGL2
  • getOptionStringRenderTechnique() : SceneRendererGL2
  • getOptionStringSeparateSpecularColor() : SceneRendererGL2
  • getOptionStringSizeCulling() : SceneRendererGL2
  • getOptionStringSizeCullingFactor() : SceneRendererGL2
  • getOptionStringTessellationEnabled() : SceneRendererGL2
  • getOptionStringTransparencyDepthMask() : SceneRendererGL2
  • getOptionStringTraversalMaskOverride() : SceneRendererGL2
  • getOrientation() : Trafo, TextureAttributeItem, SpotLight, MapArray, DirectedLight, Camera
  • getOwner() : OwnedObject
  • getParameterAnnotation() : CgFxEffect
  • getParameterAnnotationByName() : CgFxEffect
  • getParameterBufferIndex() : CgFxEffect
  • getParameterBufferOffset() : CgFxEffect
  • getParameterByName() : CgFxEffect
  • getParameterBySemantic() : CgFxEffect
  • getParameterName() : CgFxEffect
  • getParameterResourceSize() : CgFxEffect
  • getParameterResourceType() : CgFxEffect
  • getParameterSemantic() : CgFxEffect
  • getParameterTypeString() : CgFxEffect
  • getParameterValueAsFloat() : CgFxEffect
  • getParameterValueSize() : CgFxEffect
  • getPass() : CgFxEffect
  • getPassAnnotation() : CgFxEffect
  • getPassAnnotationByName() : CgFxEffect
  • getPassByName() : CgFxEffect
  • getPassName() : CgFxEffect
  • getPath() : Intersection
  • getPaths() : SearchTraverser
  • getPerVertexBytes() : VertexAttributeSet
  • getPickRay() : PerspectiveCamera, ParallelCamera, FrustumCamera
  • getPixels() : TextureHost
  • getPlugInterfaceType() : UPIID
  • getPlugSpecificIDString() : UPIID
  • getPolygonOffsetFactor() : FaceAttribute
  • getPolygonOffsetUnits() : FaceAttribute
  • getPosition() : SpotLight, PointLight, MapObject, Camera, RenderTargetGL
  • getPrimitiveIndex() : Intersection
  • getProgram() : RTFxSceneAttribute, RTFx, RTFxBase
  • getProgramBuffer() : CgFxEffect
  • getProgramInputType() : CgFxEffect
  • getProgramOutputType() : CgFxEffect
  • getProgramParameter() : CgFxEffect
  • getProgramProfile() : CgFxEffect
  • getProgramSampler() : CgFxEffect
  • getProjection() : PerspectiveCamera, ParallelCamera, MatrixCamera, Camera
  • getProperty() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • getPropertyCount() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • getPropertyName() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • getPropertyType() : Reflection
  • getPtr() : Vecnt, Matnnt, Buffer::DataWriteLock, Buffer::DataReadLock
  • getRadius() : Spherent
  • getRangeLock() : LOD
  • getRanges() : LOD
  • getReflectionInfo() : ReflectionStorage
  • getReflectivity() : Material
  • getReflectivityColor() : Material
  • getRelation() : MapObject
  • getRenderbufferGL() : RenderTargetGLFBO::AttachmentRenderbuffer
  • getRenderbufferId() : RenderbufferGL
  • getRenderContextGL() : RenderTargetGL
  • getRendererOptions() : ViewState
  • getRenderFlags() : Primitive
  • getRenderTarget() : Renderer
  • getResults() : SearchTraverser
  • getRootNode() : Scene
  • getRotationAxis() : Billboard
  • getSampler() : CgFxEffect
  • getSamplerByName() : CgFxEffect
  • getSamplerByTextureParameterName() : CgFxEffect
  • getSamplerTexture() : CgFxEffect
  • getSamplerTextureFileName() : CgFxEffect
  • getSamplerTextureGPUFormat() : CgFxEffect
  • getSamplerTextureParameter() : CgFxEffect
  • getSamplerTextureTarget() : CgFxEffect
  • getSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • getScaleOrientation() : Trafo
  • getScaling() : Trafo, TextureAttributeItem
  • getScene() : ViewState, CgFxEffect
  • getSceneAmbientValue() : CgFxEffect
  • getSceneFrameNumberValue() : CgFxEffect
  • getSecondaryColors() : VertexAttributeSet
  • getSegments() : Lines
  • getSemantic() : TypedPropertyValue, TypedPropertyImpl, Property
  • getSize() : Trackball, RenderTarget, Boxnt, TriPatches, QuadPatches, PointAttribute, MapObject, MapMatrix, MapElement, MapArray, BufferHost, Buffer, TextureGLBuffer, RenderTargetGL, BufferGL
  • getSizeOfColors() : VertexAttributeSet
  • getSizeOfHash() : HashGeneratorMD5, HashGenerator
  • getSizeOfTexCoords() : VertexAttributeSet
  • getSizeOfVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getSkin() : PrimitiveSet, Primitive
  • getSkinningProcessor() : AppTraverser
  • getSkinningType() : Skin
  • getSourceCode() : CgFxEffect
  • getSourceFunction() : BlendAttribute
  • getSpacing() : MapMatrix, MapArray
  • getSpecularColor() : Material, LightSource
  • getSpecularExponent() : Material
  • getSpeed() : AnimationState
  • getStackDepth() : TransformStack
  • getStateMachine() : CgFxContext
  • getStatistics() : StatisticsTraverser
  • getStencilFailOperation() : StencilAttribute
  • getStencilFunction() : StencilAttribute
  • getStencilRefenceValue() : StencilAttribute
  • getStencilValueMask() : StencilAttribute
  • getStencilWriteMask() : StencilAttribute
  • getStencilZFailOperation() : StencilAttribute
  • getStencilZPassOperation() : StencilAttribute
  • getStepsPerUnit() : WRLLoader
  • getStepValue() : LinearInterpolatedAnimationDescription, KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription
  • getStepValues() : FramedAnimationDescription
  • getStereoAutomaticEyeDistanceFactor() : ViewState
  • getStereoEyeDistance() : ViewState
  • getStereoTarget() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB
  • getStippleFactor() : LineAttribute
  • getStipplePattern() : LineAttribute
  • getStrideOfVertexData() : VertexAttributeSet
  • getStringAnnotationValue() : CgFxEffect
  • getStringParameterValue() : CgFxEffect
  • getStrips() : StrippedPrimitiveSet
  • getStructParameterMember() : CgFxEffect
  • getStructParameterMemberByName() : CgFxEffect
  • getSubImagePixels() : TextureHost
  • getSuccess() : NBFSaveTraverser
  • getSupportWidth() : Lanczos3Filter, BSplineFilter, BellFilter, TriangleFilter, BoxFilter, ScaleFilter
  • getSwitchMask() : Switch
  • getTail() : Path
  • getTarget() : TextureGL, BufferGL
  • getTargetAsTextureHost() : RenderTargetGL
  • getTargetDistance() : ViewState
  • getTechnique() : CgFxEffect
  • getTechniqueAnnotation() : CgFxEffect
  • getTechniqueAnnotationByName() : CgFxEffect
  • getTechniqueByName() : CgFxEffect
  • getTechniqueIndex() : CgFxEffect
  • getTechniqueName() : CgFxEffect
  • getTessellationControlProgram() : CgFxEffect
  • getTessellationEvaluationProgram() : CgFxEffect
  • getTexCoords() : VertexAttributeSet
  • getTexGenLinearPlane() : TextureAttributeItem
  • getTexGenMode() : TextureAttributeItem
  • getTexture() : TextureAttributeItem
  • getTextureAttributeItem() : TextureAttribute
  • getTextureFileName() : TextureAttributeItem
  • getTextureGL() : RenderTargetGLFBO::AttachmentTexture
  • getTextureGPUFormat() : TextureHost
  • getTextureHost() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB, RenderTargetGL
  • getThreshold() : AlphaTestAttribute
  • getTime() : Timer, Profile
  • getTotalNumberOfBytes() : TextureHost
  • getTotalNumberOfIndices() : Skin
  • getTrafo() : Transform, Billboard, AnimatedTransform
  • getTransform() : CgFxEffect
  • getTransformationMatrix() : LightSource
  • getTransformType() : CgFxEffect
  • getTranslation() : Trafo, TextureAttributeItem
  • getTraversalDirection() : MapMatrix, MapArray
  • getTraversalMask() : ExclusiveTraverser, SharedTraverser, Traverser, ViewState
  • getTraversalMaskOverride() : Traverser, SceneRenderer
  • getTreeModified() : ExclusiveTraverser
  • getTweakable() : CgFxEffect
  • getTweakableByName() : CgFxEffect
  • getTweakableBySemantic() : CgFxEffect
  • getType() : TypedPropertyValue, TypedProperty, Property, TextureHost
  • getTypeOfColors() : VertexAttributeSet
  • getTypeOfFogCoords() : VertexAttributeSet
  • getTypeOfSecondaryColors() : VertexAttributeSet
  • getTypeOfTexCoords() : VertexAttributeSet
  • getTypeOfVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getUnifyTargets() : UnifyTraverser
  • getUnpackAlignment() : TextureHost
  • getUpper() : Boxnt
  • getUpVector() : Camera
  • getUsage() : BufferGL
  • getUserData() : Object
  • getUserID() : DALData
  • getValue() : Reflection, TypedPropertyImplEnum, TypedPropertyValue, TypedPropertyImpl, TypedProperty
  • getVariableName() : RTBufferAttribute
  • getVersion() : GLFunctions
  • getVertexAttribute() : VertexAttributeSet
  • getVertexAttributeIndex() : NormalizeTraverser
  • getVertexAttributeSet() : PrimitiveSet, Primitive
  • getVertexBuffer() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • getVertexDataBytes() : VertexAttribute
  • getVertexDataCount() : VertexAttribute
  • getVertexDataOffsetInBytes() : VertexAttribute
  • getVertexDataSize() : VertexAttribute
  • getVertexDataStrideInBytes() : VertexAttribute
  • getVertexDataType() : VertexAttribute
  • getVertexIndices() : Intersection
  • getVertexProgram() : CgFxEffect
  • getVertices() : VertexAttributeSet
  • getViewState() : SceneRenderer, SceneRenderer::StereoViewStateProvider
  • getViewToClip() : TransformStack
  • getViewToModel() : TransformStack
  • getViewToWorld() : TransformStack
  • getViewToWorldMatrix() : Camera
  • getWeights() : Skin
  • getWidth() : RenderTarget, TextureHost, RTBufferAttribute, RectPatches, Map, LineAttribute, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, RenderTargetGL
  • getWindowOffset() : FrustumCamera
  • getWindowRegion() : FrustumCamera
  • getWindowSize() : FrustumCamera
  • getWorldIntersection() : RayIntersectTraverser
  • getWorldToModel() : TransformStack
  • getWorldToView() : TransformStack
  • getWorldToViewMatrix() : Camera
  • getWrapMode() : TextureAttributeItem
  • GLFunctions() : GLFunctions
  • GLObjects() : GLObjects
  • GLUploadTraverser() : GLUploadTraverser
  • GPUSkinningProcessor() : GPUSkinningProcessor
  • Group() : Group

- h -

  • handleAlphaTestAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleAnimatedTransform() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AppTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleAnimatedVertexAttributeSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StrippingTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleBillboard() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleBlendAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleCgFx() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleDepthAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleDirectedLight() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFaceAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFlipbookAnimation() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, EliminateTraverser, ConvertPrimitivesTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser, PostBuildTraverser
  • handleFramedIndexAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedTrafoAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleFramedVertexAttributeAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleGeoNode() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleGroup() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleIndexAnimation() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLightingAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLinearInterpolatedTrafoAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLinearInterpolatedVertexAttributeAnimationDescription() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLineAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLines() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLineStrips() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleLOD() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, IdentityToGroupTraverser, EliminateTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleMapArray() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMapElement() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMapList() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMapMatrix() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser
  • handleMaterial() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleMatrixCamera() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleParallelCamera() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePerspectiveCamera() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePointAttribute() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePointLight() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePoints() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handlePrimitive() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StrippingTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, DestrippingTraverser, DeindexTraverser, CombineTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadMeshes() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadPatches() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadPatches4x4() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuads() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleQuadStrips() : UnifyTraverser, TriangulateTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRectPatches() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRTBufferAttribute() : ExclusiveTraverser, SharedTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRTFx() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleRTFxProgram() : StatisticsTraverser, SearchTraverser, NBFSaveTraverser
  • handleRTFxSceneAttribute() : ExclusiveTraverser, SharedTraverser, NBFSaveTraverser
  • handleShape() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser
  • handleSkin() : ExclusiveTraverser, SharedTraverser, StrippingTraverser, StatisticsTraverser, SearchTraverser, ConvertPrimitivesTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSpotLight() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStatePass() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, EliminateTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStateSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, BezierInterpolationTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStateVariant() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, EliminateTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleStencilAttribute() : ExclusiveTraverser, SharedTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleSwitch() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, IdentityToGroupTraverser, EliminateTraverser, ConvertPrimitivesTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser, PostBuildTraverser
  • handleTextureAttribute() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, EliminateTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTextureAttributeItem() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTrafoAnimation() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTransform() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, IdentityToGroupTraverser, EliminateTraverser, CombineTraverser, AppTraverser, AnalyzeTraverser, ExtractGeometryTraverser, NVSGSaveTraverser, NBFSaveTraverser, WRLLoadTraverser
  • handleTriangles() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, ConvertPrimitivesTraverser, CombineTraverser, BezierExtrapolationTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriFans() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriPatches() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriPatches4() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, CombineTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleTriStrips() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SmoothTraverser, SearchTraverser, RayIntersectTraverser, DestrippingTraverser, ConvertPrimitivesTraverser, CombineTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleUnlitColorAttribute() : ExclusiveTraverser, SharedTraverser, SearchTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleVertexAttributeAnimation() : ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, AppTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • handleVertexAttributeSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, StatisticsTraverser, SearchTraverser, NormalizeTraverser, AnalyzeTraverser, NVSGSaveTraverser, NBFSaveTraverser
  • hasDynamicNumberOfLights() : CgFxEffect
  • hasFaces() : Triangles, Quads
  • hasIndices() : IndependentPrimitiveSet
  • hasLayers() : TextureGL
  • hasMeshes() : MeshedPrimitiveSet
  • hasMoreTokens() : StrTokenizer
  • hasPatches() : PatchesBase
  • hasProperty() : Reflection, PropertyListChain, PropertyListImpl, PropertyList
  • hasSamplerTextureHost() : CgFxEffect
  • hasSegments() : Lines
  • hasStrips() : StrippedPrimitiveSet
  • hasTextureHost() : TextureAttributeItem

- i -

  • IAllocator() : IAllocator
  • IdentityToGroupTraverser() : IdentityToGroupTraverser
  • Image() : Image
  • Incarnation() : Incarnation
  • incrementJointCount() : Transform
  • incrementMipmapUseCount() : TextureHost
  • IndependentPrimitiveSet() : IndependentPrimitiveSet
  • IndexSet() : IndexSet
  • init() : Log, FixedAllocator, Switch, TextureGL
  • initialize() : CgFxContext
  • initReflection() : Reflection
  • insertChild() : Group
  • insertEmptyColumn() : MapMatrix
  • insertKey() : KeyFramedAnimationDescription
  • insertMap() : MapMatrix, MapArray
  • insertMapObject() : MapList
  • insertPass() : StateVariant, StateSet
  • instance() : Singleton
  • interruptTraversal() : Traverser
  • intersectBox() : RayIntersectTraverser
  • Intersection() : Intersection
  • intersectLine() : RayIntersectTraverser
  • intersectPoint() : RayIntersectTraverser
  • intersectTriangle() : RayIntersectTraverser
  • invalidate() : Validated, Spherent, AnimationState
  • invalidateHashKey() : Texture
  • invert() : Matnnt
  • is1D() : TextureHost
  • is1DArray() : TextureHost
  • is2D() : TextureHost
  • is2DArray() : TextureHost
  • is3D() : TextureHost
  • isActive() : Switch
  • isAnimating() : ViewState
  • isAntiAliased() : PointAttribute, LineAttribute
  • isArrayParameter() : CgFxEffect
  • isAttached() : Subject
  • isAttenuated() : SpotLight, PointLight
  • isAvailable() : GLFunctions
  • isBackFaceCulling() : FaceAttribute
  • isBlitSupported() : RenderTargetGLFBO
  • isBoolAnnotation() : CgFxEffect
  • isBoolParameter() : CgFxEffect
  • isBoolPassState() : CgFxEffect
  • isBoolSamplerState() : CgFxEffect
  • isBufferedParameter() : CgFxEffect
  • isClipped() : RayIntersectTraverser
  • isCompressed() : TextureHost
  • isCompressedFormat() : TextureGL
  • isCompressedSizeKnown() : TextureGL
  • isContiguous() : VertexAttribute
  • isContiguousVertexData() : VertexAttributeSet
  • isCritical() : NVSGException
  • isCSAAAvailable() : RenderbufferGL
  • isCubeMap() : TextureHost
  • isCubeMapArray() : TextureHost
  • isCurrent() : RenderTargetGL
  • isDataShared() : VertexAttributeSet, TextureAttributeItem, StrippedPrimitiveSet, RTFxSceneAttribute, RTFx, Object, MeshedPrimitiveSet, Material, IndependentPrimitiveSet, CgFx
  • isDepthClampingEnabled() : DepthAttribute
  • isDepthClampingSupported() : DepthAttribute
  • isDepthTestingEnabled() : DepthAttribute
  • isDepthWritingEnabled() : DepthAttribute
  • isDynamicLightArrayParameter() : CgFxEffect
  • isEachPassTransparent() : StateVariant
  • isEmpty() : Path
  • isEnabled() : Log, VertexAttributeSet, LightSource, ClipPlane
  • isEquivalent() : VertexAttributeSet, UnlitColorAttribute, Transform, TextureHost, TextureAttribute, TextureAttributeItem, Texture, Switch, StrippedPrimitiveSet, StencilAttribute, StateVariant, StateSet, StatePass, SpotLight, Skin, Shape, RTFxSceneAttribute, RTFx, RTBufferAttribute, PrimitiveSet, Primitive, PointLight, PointAttribute, PatchesBase, Object, MeshedPrimitiveSet, Material, LOD, LineAttribute, LightSource, LightingAttribute, KeyFramedAnimationDescription, IndexSet, IndependentPrimitiveSet, Group, GeoNode, FramedAnimationDescription, FlipbookAnimation, FaceAttribute, DepthAttribute, ClipPlane, CgFx, BlendAttribute, Billboard, AnimationDescription, Animation, AnimationState, AnimatedVertexAttributeSet, AnimatedTransform, AlphaTestAttribute, TextureGL
  • isExported() : GLFunctions
  • isFaceWindingCCW() : FaceAttribute
  • isFixedPoint() : TextureHost
  • isFloatAnnotation() : CgFxEffect
  • isFloatingPoint() : TextureHost
  • isFloatParameter() : CgFxEffect
  • isFloatPassState() : CgFxEffect
  • isFloatSamplerState() : CgFxEffect
  • isFormatValid() : TextureGLBuffer
  • isForwardAnimation() : AnimationState
  • isFromFile() : CgFxEffect
  • isFromLump() : CgFxEffect
  • isFrontFaceCulling() : FaceAttribute
  • isImageStream() : TextureHost
  • isIndexed() : Primitive
  • isInputProgramParameter() : CgFxEffect
  • isInside() : ClipPlane
  • isInsideBounds() : Chunk
  • isIntAnnotation() : CgFxEffect
  • isIntegerInternalFormat() : TextureGL
  • isIntParameter() : CgFxEffect
  • isIntPassState() : CgFxEffect
  • isIntSamplerState() : CgFxEffect
  • isJoint() : Transform
  • isLightArrayParameter() : CgFxEffect
  • isLightDirectionParameter() : CgFxEffect
  • isLightParameter() : CgFxEffect
  • isLightPositionParameter() : CgFxEffect
  • isLightTypeParameter() : CgFxEffect
  • isManagedBySystem() : Buffer
  • isMaterialParameter() : CgFxEffect
  • isMatrix22Parameter() : CgFxEffect
  • isMatrix23Parameter() : CgFxEffect
  • isMatrix24Parameter() : CgFxEffect
  • isMatrix32Parameter() : CgFxEffect
  • isMatrix33Parameter() : CgFxEffect
  • isMatrix34Parameter() : CgFxEffect
  • isMatrix42Parameter() : CgFxEffect
  • isMatrix43Parameter() : CgFxEffect
  • isMatrix44Parameter() : CgFxEffect
  • isMipMapComplete() : TextureGL
  • isMipMapLevelDefined() : TextureGL
  • isMipMapLevelValid() : TextureGL
  • isMipmapped() : TextureAttributeItem
  • isMipmapSamplerState() : CgFxEffect
  • isMSAAAvailable() : RenderbufferGL
  • isMultiTargetSupported() : RenderTargetGLFBO
  • isNormalizeEnabled() : VertexAttributeSet
  • isNotifyAllowed() : Handle< T, NullType >
  • isOutputProgramParameter() : CgFxEffect
  • isPolygonOffset() : FaceAttribute
  • isProgramCompiled() : CgFxEffect
  • isRangeLockEnabled() : LOD
  • isRunning() : Timer, AnimationState
  • isSameAs() : RTFxBase
  • isSampler1DParameter() : CgFxEffect
  • isSampler2DParameter() : CgFxEffect
  • isSampler3DParameter() : CgFxEffect
  • isSamplerArrayParameter() : CgFxEffect
  • isSamplerBufParameter() : CgFxEffect
  • isSamplerCubeParameter() : CgFxEffect
  • isSamplerParameter() : CgFxEffect
  • isSamplerRectParameter() : CgFxEffect
  • isScalarParameter() : CgFxEffect
  • isSceneParameter() : CgFxEffect
  • isShadowCasting() : LightSource
  • isShareable() : RCObject
  • isShared() : RCObject, NBFObject
  • isSkinningProcessorSupported() : AppTraverser
  • isStatic() : PropertyListChain, PropertyListImpl, PropertyList
  • isStencilSeparateEnabled() : StencilAttribute
  • isStencilTestingEnabled() : StencilAttribute
  • isStereoAutomaticEyeDistanceAdjustment() : ViewState
  • isStereoEnabled() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB
  • isStereoReversedEyes() : ViewState
  • isStringAnnotation() : CgFxEffect
  • isStringParameter() : CgFxEffect
  • isStructParameter() : CgFxEffect
  • isSupported() : GPUSkinningProcessor, CPUSkinningProcessor, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLBuffer, TextureGLCubemapArray, TextureGL2DArray, TextureGL1DArray, RenderTargetGLFBO
  • isSwingingAnimation() : AnimationState
  • isTextureSamplerCompliant() : CgFxEffect
  • isTransformParameter() : CgFxEffect
  • isTransparentPass() : CgFxEffect
  • isTwoSidedLighting() : FaceAttribute
  • isUnused() : Chunk
  • isUploadDemanded() : TextureHost
  • isValid() : Validated, FileMapping, RenderTarget, CgFxEffect, RenderTargetGLFBO, RenderTargetGLFB, RenderTargetGL
  • isVector2Parameter() : CgFxEffect
  • isVector3Parameter() : CgFxEffect
  • isVector4Parameter() : CgFxEffect

- k -

  • KeyFramedAnimationDescription() : KeyFramedAnimationDescription

- l -

  • lerp() : Trafo
  • LightingAttribute() : LightingAttribute
  • LightSource() : LightSource
  • LinearInterpolatedAnimationDescription() : LinearInterpolatedAnimationDescription
  • LineAttribute() : LineAttribute
  • Lines() : Lines
  • LineStrips() : LineStrips
  • LinkGroupToCameraAsTargetCallback() : LinkGroupToCameraAsTargetCallback
  • LinkGroupToCameraCallback() : LinkGroupToCameraCallback
  • LinkGroupToLightSourceCallback() : LinkGroupToLightSourceCallback
  • LinkGroupToSpotLightAsTargetCallback() : LinkGroupToSpotLightAsTargetCallback
  • LinkTransformToCameraAsPositionAndRollCallback() : LinkTransformToCameraAsPositionAndRollCallback
  • LinkTransformToSpotLightAsPositionCallback() : LinkTransformToSpotLightAsPositionCallback
  • load() : ShaderLoader, TextureLoader, SceneLoader, WRLLoader, PLYLoader, NVSGLoader, NBFLoader
  • loadCustomObject() : NBFLoader
  • lock() : CgFxContext
  • lockExclusive() : SWMRSync, SWMRSyncImpl
  • lockShared() : SWMRSync, SWMRSyncImpl
  • lockViewState() : ExclusiveTraverser, SharedTraverser, Traverser
  • LOD() : LOD
  • Log() : Log
  • lowerBound() : Chunk

- m -

  • makeEnumProperty() : Reflection
  • makeIndexed() : Primitive
  • makeProperty() : Reflection
  • makePropertyMember() : Reflection
  • Map() : Map
  • map() : RTBufferAttribute, Buffer
  • MapArray() : MapArray
  • MapElement() : MapElement
  • mapIn() : WriteMapping, ReadMapping, FileMapping
  • MapList() : MapList
  • MapMatrix() : MapMatrix
  • MapObject() : MapObject
  • mapOffset() : PLYLoader, NBFLoader
  • mapOut() : FileMapping
  • markUnshareable() : RCObject
  • Material() : Material
  • Matnnt() : Matnnt
  • MatrixCamera() : MatrixCamera
  • MemFunTbl() : MemFunTbl
  • MeshedPrimitiveSet() : MeshedPrimitiveSet
  • mirrorX() : TextureHost
  • mirrorY() : TextureHost
  • move() : Camera
  • moveX() : Camera
  • moveY() : Camera
  • moveZ() : Camera

- n -

  • NBFSaver() : NBFSaver
  • NBFSaveTraverser() : NBFSaveTraverser
  • needsTraversal() : AppTraverser
  • Node() : Node
  • normalize() : Vecnt, Quatt
  • NormalizeTraverser() : NormalizeTraverser
  • notify() : Subject
  • notifyPostAddChild() : Subject
  • notifyPostAddClipPlane() : Subject
  • notifyPostAddLightSource() : Subject
  • notifyPostGroupExchanged() : Subject
  • notifyPreRemoveChild() : Subject
  • notifyPreRemoveClipPlane() : Subject
  • notifyPreRemoveLightSource() : Subject
  • NVSGException() : NVSGException
  • NVSGSaveTraverser() : NVSGSaveTraverser

- o -

  • Object() : Object
  • onDegenerateGeometry() : PlugInCallback
  • onDestroyed() : Observer
  • onEmptyToken() : PlugInCallback
  • onError() : PlugInCallback
  • onFileAccessFailed() : PlugInCallback
  • onFileEmpty() : PlugInCallback
  • onFileMappingFailed() : PlugInCallback
  • onFileNotFound() : PlugInCallback
  • onFilesNotFound() : PlugInCallback
  • onIncompatibleFile() : PlugInCallback
  • onIncompatibleValues() : PlugInCallback
  • onInvalidate() : Animation, AnimationState
  • onInvalidFile() : PlugInCallback
  • onInvalidValue() : PlugInCallback
  • onLoad() : TextureLoader, ILTexLoader
  • onPostAddChild() : Observer
  • onPostAddClipPlane() : Observer
  • onPostAddLightSource() : Observer
  • onPostGroupExchanged() : Observer
  • onPreRemoveChild() : Observer
  • onPreRemoveClipPlane() : Observer
  • onPreRemoveLightSource() : Observer
  • onReleaseDAL() : DALDataCreator
  • onUndefinedToken() : PlugInCallback
  • onUnexpectedEndOfFile() : PlugInCallback
  • onUnexpectedToken() : PlugInCallback
  • onUnknownToken() : PlugInCallback
  • onUnLocalizedMessage() : PlugInCallback
  • onUnsupportedToken() : PlugInCallback
  • onUpdate() : Observer, BackLinkObserver
  • onWarning() : PlugInCallback
  • operator *() : SmartPtr, SceniXIterator, GeoNode::StateSetConstIterator, GeoNode::StateSetIterator
  • operator *=() : Vecnt, Quatt, Matnnt
  • operator _Safe_bool() : SmartPtr
  • operator CGMcontext() : CgFxContext
  • operator const T &() : RegVal
  • operator delete() : IAllocator
  • operator delete[]() : IAllocator
  • operator new() : IAllocator
  • operator new[]() : IAllocator
  • operator SmartPtr() : SmartPtr
  • operator!=() : SmartPtr, SceniXIterator, UPIID, UPITID, Incarnation, Chunk, Path
  • operator()() : LinkTransformToSpotLightAsPositionCallback, LinkGroupToSpotLightAsTargetCallback, LinkGroupToLightSourceCallback, LinkTransformToCameraAsPositionAndRollCallback, LinkGroupToCameraAsTargetCallback, LinkGroupToCameraCallback, TraceFunctor, traceFileConsoleOutput, traceFileDebugOutput, traceFileOutput, traceConsoleDebugOutput, traceConsoleOutput, traceDebugOutput, FunctorGetInvalid, FunctorGetEnum, FunctorGetMember, FunctorGet, FunctorSetInvalid, FunctorSetEnum, FunctorSetMember, FunctorSet, LogListCompare, CloneObject, Spherent, Planent, Lanczos3Filter, BSplineFilter, BellFilter, TriangleFilter, BoxFilter, ScaleFilter, LODLessThan, Callback
  • operator+() : Incarnation
  • operator++() : SceniXIterator, Incarnation
  • operator+=() : Incarnation, Vecnt, Matnnt
  • operator--() : SceniXIterator
  • operator-=() : Vecnt, Matnnt
  • operator->() : SmartPtr, SceniXIterator, GeoNode::StateSetConstIterator, GeoNode::StateSetIterator
  • operator/=() : Vecnt, Quatt, Matnnt
  • operator<() : SmartPtr, UPIID, UPITID, Path
  • operator=() : Intersection, SmartPtr, RegVal, RCObject, UPIID, Vecnt, Trafo, Quatt, ViewState, VertexAttributeSet, VertexAttribute, TriStrips, TriPatches4, TriPatches, TriFans, Triangles, Transform, TextureHost, TextureAttribute, TextureAttributeItem, Switch, StrippedPrimitiveSet, StateVariant, StateSet, StatePass, StateAttribute, SpotLight, Skin, Shape, SceneAttribute, RTFxBase, RTBufferAttribute, RectPatches, QuadStrips, Quads, QuadPatches4x4, QuadPatches, QuadMeshes, PrimitiveSet, PrimitiveAttribute, Primitive, Points, PointLight, PointAttribute, PerspectiveCamera, PatchesBase, ParallelCamera, OwnedObject, Object, Node, MeshedPrimitiveSet, MatrixCamera, Material, LOD, LineStrips, Lines, LineAttribute, LinearInterpolatedAnimationDescription, LightSource, LightingAttribute, KeyFramedAnimationDescription, IndexSet, IndependentPrimitiveSet, Group, GeoNode, FrustumCamera, FramedAnimationDescription, FlipbookAnimation, FaceAttribute, Drawable, DirectedLight, DepthAttribute, CgFx, Camera, BlendAttribute, Billboard, AnimationDescription, Animation, AnimationState, AnimatedVertexAttributeSet, AnimatedTransform, AlphaTestAttribute
  • operator==() : SmartPtr, SceniXIterator, UPIID, UPITID, Incarnation, Chunk, Trafo, Path
  • operator[]() : MemFunTbl, Vecnt, Quatt, Matnnt, BezierCurve, Face
  • optimizationAllowed() : TriangulateTraverser, StrippingTraverser, SmoothTraverser, OptimizeTraverser, DestrippingTraverser, BezierInterpolationTraverser
  • OptimizeTraverser() : OptimizeTraverser
  • orbit() : Camera
  • orbitX() : Camera
  • orbitY() : Camera
  • orbitZ() : Camera
  • orthonormalize() : Vecnt
  • OwnedObject() : OwnedObject

- p -

  • PADDING() : NBFTriPatches, NBFQuadPatches, NBFStencilAttribute, NBFPointAttribute, NBFLineAttribute, NBFLightingAttribute, NBFFaceAttribute, NBFDepthAttribute, NBFRTFxProgram, NBFRTFx, NBFRTFxParameter, NBFCgFx, NBFBlendAttribute, NBFAlphaTestAttribute, NBFStateSet, NBFSpotLight, NBFDirectedLight, NBFLightSource, NBFAnimatedTransform, NBFFlipbookAnimation, NBFTransform, NBFBillboard, NBFSwitch, NBFLOD, NBFNode, NBFAnimatedVertexAttributeSet, NBFFrustumCamera, NBFFramedAnimationDescription, NBFAnimation, NBFAnimationState, NBFVertexAttributeAnimation, NBFTrafoAnimation, NBFIndexAnimation, NBFObject, NBFViewState, NBFHeader, domain_t, texImage_t
  • ParallelCamera() : ParallelCamera
  • PatchesBase() : PatchesBase
  • Path() : Path
  • PerspectiveCamera() : PerspectiveCamera
  • pickMap() : MapObject, MapMatrix, MapList, MapElement, MapArray
  • Planent() : Planent
  • PlugInCallback() : PlugInCallback
  • PointAttribute() : PointAttribute
  • PointLight() : PointLight
  • Points() : Points
  • pop() : Path
  • popAllocations() : Allocator
  • popModelToWorld() : TransformStack
  • postAddChild() : Observer, Switch, Group
  • postAddClipPlane() : Observer
  • postAddLightSource() : Observer
  • postApply() : Traverser, StrippingTraverser, IdentityToGroupTraverser, ConvertPrimitivesTraverser, BezierInterpolationTraverser, BezierExtrapolationTraverser
  • PostBuildTraverser() : PostBuildTraverser
  • postDraw() : DrawCallback
  • postGroupExchanged() : Observer
  • postRemoveChild() : Switch, Group
  • postTraverseDrawable() : Traverser
  • postTraverseDrawables() : Traverser
  • postTraverseGroup() : Traverser, RayIntersectTraverser
  • postTraverseObject() : Traverser, AppTraverser, PostBuildTraverser
  • postTraverseTransform() : RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, AppTraverser, ExtractGeometryTraverser
  • preAddChild() : Group
  • preApply() : Traverser
  • preCalculateFileSize() : NBFSaveTraverser
  • preDraw() : DrawCallback
  • preRemoveChild() : Observer, Group
  • preRemoveClipPlane() : Observer
  • preRemoveLightSource() : Observer
  • presentTextureGL2D() : RendererGLFSQ
  • presentTextureGLRectangle() : RendererGLFSQ
  • preTraverseDrawable() : Traverser
  • preTraverseDrawables() : Traverser, CombineTraverser
  • preTraverseGroup() : Traverser, RayIntersectTraverser
  • preTraverseTransform() : RayIntersectTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser, AppTraverser, ExtractGeometryTraverser
  • Primitive() : Primitive
  • PrimitiveAttribute() : PrimitiveAttribute
  • PrimitiveSet() : PrimitiveSet
  • ProblemInfo() : ProblemInfo
  • process() : GPUSkinningProcessor, CPUSkinningProcessor
  • Profile() : Profile
  • projectOntoTBSphere() : Trackball
  • PropertyList() : PropertyList
  • PropertyListChain() : PropertyListChain
  • PropertyListImpl() : PropertyListImpl
  • pseudoAlloc() : NBFSaveTraverser
  • push() : Path
  • pushAllocations() : Allocator
  • pushModelToWorld() : TransformStack

- q -

  • QuadMeshes() : QuadMeshes
  • QuadPatches() : QuadPatches
  • QuadPatches4x4() : QuadPatches4x4
  • Quads() : Quads
  • QuadStrips() : QuadStrips
  • Quatt() : Quatt

- r -

  • RayIntersectTraverser() : RayIntersectTraverser
  • RCObject() : RCObject
  • RCVector() : RCVector
  • ReadMapping() : ReadMapping
  • RectPatches() : RectPatches
  • Reflection() : Reflection
  • RegVal() : RegVal
  • release() : RayIntersectTraverser
  • releaseCachedData() : VertexAttributeSet
  • releaseDeviceAbstractionLinkData() : DALDataCreator, DALHost
  • releaseImagePixels() : TextureHost
  • reload() : TextureLoader
  • reloadImagePixels() : TextureHost
  • removeAppTraverserCallback() : Object
  • removeAttribute() : StateVariant, StateSet, StatePass, Scene
  • removeAttributeByObjectCode() : StateVariant, StateSet, StatePass
  • removeCamera() : Scene
  • removeCameraAnimation() : Scene
  • removeChild() : Group
  • removeClipPlane() : Group
  • removeColumn() : MapMatrix
  • removeData() : VertexAttribute
  • removeDrawable() : GeoNode
  • removeHeadLight() : Camera
  • removeJoint() : Skin
  • removeKey() : KeyFramedAnimationDescription
  • removeKeys() : KeyFramedAnimationDescription
  • removeLightSource() : Group
  • removeMap() : MapMatrix, MapArray
  • removeMapObject() : MapList
  • removeMask() : Switch
  • removeOnDestroyCallback() : RCObject
  • removeParameter() : RTFxBase
  • removePass() : StateVariant, StateSet
  • removePrimitive() : Shape
  • removePropertyList() : PropertyListChain
  • removeRef() : RCObject
  • removeStateSet() : GeoNode
  • removeStep() : KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription
  • removeSteps() : FramedAnimationDescription
  • removeVariant() : StateSet
  • removeVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • render() : SceneRenderer, Renderer
  • replaceAllStateSets() : GeoNode
  • replaceChild() : Group
  • replaceDrawable() : GeoNode
  • replaceHeadLight() : Camera
  • replaceKey() : KeyFramedAnimationDescription
  • replaceKeys() : KeyFramedAnimationDescription
  • replaceMap() : MapMatrix, MapArray
  • replaceMapObject() : MapList
  • replacePass() : StateVariant, StateSet
  • replaceStateSet() : GeoNode
  • replaceStep() : KeyFramedAnimationDescription, FramedAnimationDescription, AnimationDescription
  • replaceSteps() : FramedAnimationDescription
  • reserveData() : VertexAttribute
  • reserveKeys() : KeyFramedAnimationDescription
  • reserveSteps() : FramedAnimationDescription
  • reserveVertexData() : VertexAttributeSet
  • reset() : Timer, SmartPtr
  • resetLightValues() : CgFxEffect
  • resetMaterialValues() : CgFxEffect
  • resetPass() : CgFxEffect
  • resetSceneValues() : CgFxEffect
  • resize() : Buffer, TextureGL2DMultisampleArray, TextureGL2DMultisample, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, RenderTargetGLFBO::AttachmentRenderbuffer, RenderTargetGLFBO::AttachmentTexture, RenderTargetGLFBO::Attachment, RenderbufferGL
  • resizeTexture1D() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture1DArray() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2D() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2DArray() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2DMultisample() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture2DMultisampleArray() : RenderTargetGLFBO::AttachmentTexture
  • resizeTexture3D() : RenderTargetGLFBO::AttachmentTexture
  • resizeTextureCubemap() : RenderTargetGLFBO::AttachmentTexture
  • restart() : Timer
  • restartAccumulation() : Renderer
  • rotate() : Camera
  • rotateX() : Camera
  • rotateY() : Camera
  • rotateZ() : Camera
  • RTBufferAttribute() : RTBufferAttribute
  • RTFxBase() : RTFxBase

- s -

  • save() : TextureSaver, SceneSaver, OBJSaver, NVSGSaver, NBFSaver
  • scale() : TextureHost
  • scaleToPowerOfTwo() : TextureHost
  • Scene() : Scene
  • SceneAttribute() : SceneAttribute
  • SceneRenderer() : SceneRenderer
  • SceniXIterator() : SceniXIterator
  • search() : SearchTraverser
  • SearchTraverser() : SearchTraverser
  • set() : Validated
  • setActive() : Switch
  • setActiveMaskKey() : Switch
  • setActiveVariantKey() : StateSet
  • setAlignment() : MapMatrix, MapArray, Billboard
  • setAlphaFunction() : AlphaTestAttribute
  • setAmbientColor() : Scene, Material, LightSource
  • setAnimating() : ViewState
  • setAnimation() : LightSource, FlipbookAnimation, AnimatedVertexAttributeSet, AnimatedTransform
  • setAnnotation() : Object
  • setAntiAliasing() : PointAttribute, LineAttribute
  • setAspectRatio() : FrustumCamera
  • setAttachment() : RenderTargetGLFBO
  • setAttenuation() : SpotLight, PointLight
  • setAutoClipPlanes() : ViewState
  • setBackColor() : Scene
  • setBackImage() : Scene
  • setBackLink() : BackLinkObserver
  • setBaseClassSearch() : SearchTraverser
  • setBindPose() : Skin
  • setBindShapeMatrix() : Skin
  • setBlendFunctions() : BlendAttribute
  • setBoolParameterValue() : CgFxEffect
  • setBoolSamplerStateValue() : CgFxEffect
  • setBorderColor() : TextureAttributeItem
  • setBuffer() : IndexSet, TextureGLBuffer
  • setBufferData() : CgFxContext
  • setBufferSubData() : CgFxContext
  • setCallback() : PlugIn
  • setCamClipping() : RayIntersectTraverser
  • setCamera() : ViewState
  • setCenter() : Trafo, Spherent, LOD
  • setCgFx() : RendererGLFSQ
  • setClassName() : SearchTraverser
  • setClearColor() : RenderTargetGL
  • setClearDepth() : RenderTargetGL
  • setClearMask() : RenderTargetGL
  • setClearStencil() : RenderTargetGL
  • setColor() : UnlitColorAttribute
  • setColors() : VertexAttributeSet
  • setCombineTargets() : CombineTraverser
  • setCreaseAngle() : SmoothTraverser
  • setCreationFlags() : TextureHost
  • setCullMode() : FaceAttribute
  • setCurrentFrame() : AnimationState
  • setCurrentStep() : AnimationState
  • setCurrentTechnique() : CgFxEffect
  • setCutoffAngle() : SpotLight
  • setData() : VertexAttribute, RTBufferAttribute, IndexSet, Buffer, TextureGLCubemapArray, TextureGLCubemap, TextureGL3D, TextureGL2DArray, TextureGLRectangle, TextureGL2D, TextureGL1DArray, TextureGL1D, BufferGL
  • setDepthClampingEnabled() : DepthAttribute
  • setDepthFunction() : DepthAttribute
  • setDepthTestingEnabled() : DepthAttribute
  • setDepthWritingEnabled() : DepthAttribute
  • setDescription() : Animation
  • setDiffuseColor() : Material, LightSource
  • setDirection() : SpotLight, DirectedLight, Camera
  • setDrawBuffers() : RenderTargetGLFBO
  • setDrawCallback() : Shape, Drawable
  • setDynamicNumberOfLights() : CgFxEffect
  • setElementRange() : Primitive
  • setEliminateTargets() : EliminateTraverser
  • setEmissiveColor() : Material
  • setEnabled() : VertexAttributeSet, LightSource, LightingAttribute, ClipPlane
  • setEnabledDuringMultiSampleAlpha() : AlphaTestAttribute
  • setEnvColor() : TextureAttributeItem
  • setEnvMode() : TextureAttributeItem
  • setEnvScale() : TextureAttributeItem
  • setEpsilon() : UnifyTraverser
  • setFaceMode() : FaceAttribute
  • setFaces() : Triangles, Quads
  • setFaceWindingCCW() : FaceAttribute
  • setFalloffExponent() : SpotLight
  • setFarDistance() : FrustumCamera
  • setFieldOfView() : PerspectiveCamera
  • setFILE() : NVSGSaveTraverser
  • setFileName() : NBFSaveTraverser
  • setFloatParameterValue() : CgFxEffect
  • setFloatSamplerStateValue() : CgFxEffect
  • setFocusDistance() : PerspectiveCamera, Camera
  • setFogCoords() : VertexAttributeSet
  • setFormat() : RTBufferAttribute
  • setForwardAnimation() : AnimationState
  • setFrameNumber() : Scene
  • setId() : PropertyList
  • setIdentity() : Trafo
  • setIgnoreAccelerationBuilderHints() : CombineTraverser
  • setIgnoreNames() : OptimizeTraverser
  • setImageData() : TextureHost
  • setInactive() : Switch
  • setIndexOfRefraction() : Material
  • setIndexSet() : Primitive
  • setIndices() : IndependentPrimitiveSet
  • setInfluenceData() : Skin
  • setInput() : StrTokenizer
  • setInstanceCount() : Primitive
  • setIntensity() : LightSource
  • setIntParameterValue() : CgFxEffect
  • setIntSamplerStateValue() : CgFxEffect
  • setLightAmbientValue() : CgFxEffect
  • setLightConstantAttenuationValue() : CgFxEffect
  • setLightDiffuseValue() : CgFxEffect
  • setLightDirectionValue() : CgFxEffect
  • setLightLinearAttenuationValue() : CgFxEffect
  • setLightPositionValue() : CgFxEffect
  • setLightQuadraticAttenuationValue() : CgFxEffect
  • setLightSpecularValue() : CgFxEffect
  • setLightSpotCutoffValue() : CgFxEffect
  • setLightSpotExponentValue() : CgFxEffect
  • setLODRangeScale() : ViewState
  • setLoopCount() : AnimationState
  • setMagFilterMode() : TextureAttributeItem
  • setMap() : MapElement
  • setMapData() : Map
  • setMapList() : ViewState
  • setMaterialAmbientValue() : CgFxEffect
  • setMaterialDiffuseValue() : CgFxEffect
  • setMaterialEmissionValue() : CgFxEffect
  • setMaterialShininessValue() : CgFxEffect
  • setMaterialSpecularValue() : CgFxEffect
  • setMatrix() : Trafo
  • setMaxAnisotropy() : TextureAttributeItem
  • setMeshes() : MeshedPrimitiveSet
  • setMinFilterMode() : TextureAttributeItem
  • setMslLightDirectionValue() : CgFxEffect
  • setMslLightPositionValue() : CgFxEffect
  • setMslLightTypeValue() : CgFxEffect
  • setName() : Object
  • setNearDistance() : FrustumCamera
  • setNormal() : Planent, ClipPlane
  • setNormalize() : AnimatedVertexAttributeSet
  • setNormalizeEnabled() : VertexAttributeSet
  • setNormals() : VertexAttributeSet
  • setNumberOfVerticesPerPatch() : Primitive, PatchesBase
  • setObjectName() : SearchTraverser
  • setObjectPointer() : SearchTraverser
  • setOffset() : Planent, ClipPlane
  • setOpacity() : Material
  • setOpacityColor() : Material
  • setOrientation() : Trafo, TextureAttributeItem, SpotLight, MapArray, DirectedLight, Camera
  • setParameterValue() : RTFxBase
  • setParameterValueAsFloat() : CgFxEffect
  • setPlugInCallback() : NBFSaveTraverser
  • setPolygonOffset() : FaceAttribute
  • setPosition() : SpotLight, PointLight, MapObject, Camera, RenderTargetGL
  • setPrimitiveRestartIndex() : IndexSet
  • setPrimitiveType() : Primitive
  • setProgramBuffer() : CgFxEffect
  • setProgramProfile() : CgFxEffect
  • setRadius() : Spherent
  • setRangeLock() : LOD
  • setRanges() : LOD
  • setRay() : RayIntersectTraverser
  • setReadBuffer() : RenderTargetGLFBO
  • setReflectivity() : Material
  • setReflectivityColor() : Material
  • setRelation() : MapObject
  • setRendererOptions() : RendererOptionsProvider, ViewState
  • setRenderTarget() : Renderer
  • setRootNode() : Scene
  • setRotationAxis() : Billboard
  • setSamplerTexture() : CgFxEffect
  • setSamplerTextureByName() : RendererGLFSQ
  • setSamplerTextureBySemantic() : RendererGLFSQ
  • setSamplerTextureGPUFormat() : CgFxEffect
  • setSamples() : TextureGL2DMultisampleArray, TextureGL2DMultisample
  • setScaleOrientation() : Trafo
  • setScaling() : Trafo, TextureAttributeItem
  • setScene() : ViewState
  • setSceneAmbientValue() : CgFxEffect
  • setSceneFrameNumberValue() : CgFxEffect
  • setSecondaryColors() : VertexAttributeSet
  • setSegments() : Lines
  • setShadowCasting() : LightSource
  • setSize() : Trackball, RenderTarget, TriPatches, RTBufferAttribute, RectPatches, QuadPatches, PointAttribute, BufferHost, Buffer, RenderTargetGL, BufferGL
  • setSkin() : PrimitiveSet, Primitive
  • setSkinningProcessor() : AppTraverser
  • setSkinningType() : Skin
  • setSpacing() : MapMatrix, MapArray
  • setSpecularColor() : Material, LightSource
  • setSpecularExponent() : Material
  • setSpeed() : AnimationState
  • setStencilFunction() : StencilAttribute
  • setStencilOperation() : StencilAttribute
  • setStencilSeparateEnabled() : StencilAttribute
  • setStencilTestingEnabled() : StencilAttribute
  • setStencilWriteMask() : StencilAttribute
  • setStepsPerUnit() : WRLLoader
  • setStereoAutomaticEyeDistanceAdjustment() : ViewState
  • setStereoAutomaticEyeDistanceFactor() : ViewState
  • setStereoEnabled() : RenderTargetGLFBO
  • setStereoEyeDistance() : ViewState
  • setStereoReversedEyes() : ViewState
  • setStereoTarget() : RenderTarget, RenderTargetGLFBO, RenderTargetGLFB
  • setStereoViewStateProvider() : SceneRenderer
  • setStippleFactor() : LineAttribute
  • setStipplePattern() : LineAttribute
  • setStringParameterValue() : CgFxEffect
  • setStrips() : StrippedPrimitiveSet
  • setSubData() : RTBufferAttribute
  • setSubImagePixels() : TextureHost
  • setSwingingAnimation() : AnimationState
  • setTarget() : BufferGL
  • setTargetDistance() : ViewState
  • setTessellationCgFxs() : BezierInterpolationTraverser, BezierExtrapolationTraverser
  • setTexCoords() : VertexAttributeSet, RendererGLFSQ
  • setTexGenLinearPlane() : TextureAttributeItem
  • setTexGenMode() : TextureAttributeItem
  • setTexture() : TextureAttributeItem
  • setTextureGPUFormat() : TextureHost
  • setTextureTarget() : TextureHost
  • setThreshold() : AlphaTestAttribute
  • setThrowExceptionOnError() : PlugInCallback
  • setTrafo() : Transform, AnimatedTransform
  • setTransformValue() : CgFxEffect
  • setTranslation() : Trafo, TextureAttributeItem
  • setTraversalDirection() : MapMatrix, MapArray
  • setTraversalMask() : Traverser, ViewState, Object
  • setTraversalMaskOverride() : Traverser, SceneRenderer
  • setTwoSidedLighting() : FaceAttribute
  • setUnifyTargets() : UnifyTraverser
  • setUpVector() : Camera
  • setUsage() : BufferGL
  • setUserData() : Object
  • setUserID() : DALData
  • setValue() : Reflection, TypedPropertyImplEnum, TypedPropertyValue, TypedPropertyImpl, TypedProperty, RendererOptions
  • setVariableName() : RTBufferAttribute
  • setVariant() : StateSet
  • setVertexAttribute() : VertexAttributeSet
  • setVertexAttributeIndex() : NormalizeTraverser
  • setVertexAttributeSet() : PrimitiveSet, Primitive
  • setVertexData() : VertexAttributeSet, AnimatedVertexAttributeSet
  • setVertices() : VertexAttributeSet
  • setViewportSize() : RayIntersectTraverser
  • setViewState() : Traverser, SceneRenderer
  • setViewToClip() : TransformStack
  • setViewToWorldMatrix() : Camera
  • setWidth() : LineAttribute
  • setWindowOffset() : FrustumCamera
  • setWindowRegion() : FrustumCamera
  • setWindowSize() : FrustumCamera
  • setWorldToView() : TransformStack
  • setWorldToViewMatrix() : Camera
  • setWrapMode() : TextureAttributeItem
  • Shape() : Shape
  • SharedModelViewTraverser() : SharedModelViewTraverser
  • SharedTraverser() : SharedTraverser
  • sizeValid() : TextureGL
  • Skin() : Skin
  • SmartPtr() : SmartPtr
  • SmoothTraverser() : SmoothTraverser
  • Spherent() : Spherent
  • SpotLight() : SpotLight
  • start() : Timer, AnimationState
  • statAnimationState() : StatisticsTraverser
  • statCamera() : StatisticsTraverser
  • statDrawable() : StatisticsTraverser
  • StateAttribute() : StateAttribute
  • StatePass() : StatePass
  • StateSet() : StateSet
  • StateVariant() : StateVariant
  • statFrustumCamera() : StatisticsTraverser
  • statGroup() : StatisticsTraverser
  • statIndexAnimationDescription() : StatisticsTraverser
  • StatisticsTraverser() : StatisticsTraverser
  • statLightSource() : StatisticsTraverser
  • statMapObject() : StatisticsTraverser
  • statMeshedPrimitiveSet() : StatisticsTraverser
  • statNode() : StatisticsTraverser
  • statObject() : StatisticsTraverser
  • statPatchesBase() : StatisticsTraverser
  • statPrimitive() : StatisticsTraverser
  • statPrimitiveSet() : StatisticsTraverser
  • statQuads() : StatisticsTraverser
  • statSkin() : StatisticsTraverser
  • statStateAttribute() : StatisticsTraverser
  • statStrippedPrimitiveSet() : StatisticsTraverser
  • statTrafoAnimationDescription() : StatisticsTraverser
  • statTransform() : StatisticsTraverser
  • statTriangles() : StatisticsTraverser
  • statVertexAttributeAnimationDescription() : StatisticsTraverser
  • statVertexAttributeSet() : StatisticsTraverser
  • StencilAttribute() : StencilAttribute
  • stop() : Timer, Profile, AnimationState
  • storeDeviceAbstractionLinkData() : DALHost
  • storeIntersection() : RayIntersectTraverser
  • StrippedPrimitiveSet() : StrippedPrimitiveSet
  • StrippingTraverser() : StrippingTraverser
  • StrTokenizer() : StrTokenizer
  • swapData() : VertexAttribute
  • swapVertexData() : VertexAttributeSet
  • Switch() : Switch
  • SWMRSync() : SWMRSync

- t -

  • TempLocale() : TempLocale
  • testEntry() : MemFunTbl
  • text() : Profile
  • TextureAttribute() : TextureAttribute
  • TextureAttributeItem() : TextureAttributeItem
  • TextureAttributeItemData() : TextureAttributeItemData
  • TextureGL() : TextureGL
  • TextureHost() : TextureHost
  • Timer() : Timer
  • Trace() : Trace
  • Trackball() : Trackball
  • Trafo() : Trafo
  • Transform() : Transform
  • TransformStack() : TransformStack
  • traverseCamera() : ExclusiveTraverser, SharedTraverser, ExclusiveModelViewTraverser, SharedModelViewTraverser
  • traverseFrustumCamera() : ExclusiveTraverser, SharedTraverser
  • traverseGeoNode() : Traverser
  • traverseGroup() : Traverser
  • traverseLight() : ExclusiveTraverser, SharedTraverser
  • traverseMapList() : Traverser
  • traverseObject() : Traverser
  • traversePrimitive() : ExclusiveTraverser, SharedTraverser, Traverser, AppTraverser, AnalyzeTraverser, ExtractGeometryTraverser
  • traversePrimitiveSet() : UnifyTraverser, ExclusiveTraverser, SharedTraverser, AppTraverser
  • Traverser() : Traverser
  • traverseSceneAttribute() : Traverser
  • traverseShape() : Traverser
  • traverseStateAttribute() : Traverser
  • traverseStatePass() : Traverser
  • traverseStateVariant() : Traverser
  • traverseTextureAttribute() : Traverser
  • Triangles() : Triangles
  • TriangulateTraverser() : TriangulateTraverser
  • TriFans() : TriFans
  • TriPatches() : TriPatches
  • TriPatches4() : TriPatches4
  • TriStrips() : TriStrips
  • truncate() : Path
  • TypedPropertyValue() : TypedPropertyValue

- u -

  • unbind() : TextureGL, RenderTargetGLFBO::AttachmentRenderbuffer, RenderTargetGLFBO::AttachmentTexture, RenderTargetGLFBO::Attachment, BufferGL
  • unbindTextureAttributeItem() : TextureAttribute
  • UnifyTraverser() : UnifyTraverser
  • uninitialize() : CgFxContext
  • UnlitColorAttribute() : UnlitColorAttribute
  • unloadPrograms() : CgFx
  • unlock() : CgFxContext
  • unlockExclusive() : SWMRSync, SWMRSyncImpl
  • unlockShared() : SWMRSync, SWMRSyncImpl
  • unlockViewState() : ExclusiveTraverser, SharedTraverser, Traverser
  • unmap() : RTBufferAttribute, BufferHost, Buffer, BufferGL
  • unmapOffset() : PLYLoader, NBFLoader
  • update() : Observer, HashGeneratorMD5, HashGenerator, Boxnt
  • updateLightingState() : CgFxEffect
  • updateMaterialState() : CgFxEffect
  • updateSceneState() : CgFxEffect
  • updateTransformState() : CgFxEffect
  • UPIID() : UPIID
  • UPITID() : UPITID
  • upperBound() : Chunk

- v -

  • validate() : Validated
  • validateCurrentTechnique() : CgFxEffect
  • Validated() : Validated
  • Vecnt() : Vecnt
  • verifyCreator() : DALData
  • VertexAttribute() : VertexAttribute
  • VertexAttributeSet() : VertexAttributeSet
  • ViewState() : ViewState

- w -

  • wasTraversalInterrupted() : Traverser
  • WriteMapping() : WriteMapping
  • WRLLoadTraverser() : WRLLoadTraverser

- z -

  • zoom() : MatrixCamera, FrustumCamera, Camera

- ~ -

  • ~Allocator() : Allocator
  • ~AlphaTestAttribute() : AlphaTestAttribute
  • ~AnalyzeResult() : AnalyzeResult
  • ~AnalyzeTraverser() : AnalyzeTraverser
  • ~AnimatedTransform() : AnimatedTransform
  • ~AnimatedVertexAttributeSet() : AnimatedVertexAttributeSet
  • ~Animation() : Animation
  • ~AppTraverser() : AppTraverser
  • ~AutoLock() : AutoLock
  • ~BezierExtrapolationTraverser() : BezierExtrapolationTraverser
  • ~BezierInterpolationTraverser() : BezierInterpolationTraverser
  • ~Billboard() : Billboard
  • ~BlendAttribute() : BlendAttribute
  • ~BufferGL() : BufferGL
  • ~Callback() : Callback
  • ~Camera() : Camera
  • ~CgFx() : CgFx
  • ~CgFxContext() : CgFxContext
  • ~CgFxEffect() : CgFxEffect
  • ~CombineTraverser() : CombineTraverser
  • ~ConvertPrimitivesTraverser() : ConvertPrimitivesTraverser
  • ~DeindexTraverser() : DeindexTraverser
  • ~DepthAttribute() : DepthAttribute
  • ~DestrippingTraverser() : DestrippingTraverser
  • ~DirectedLight() : DirectedLight
  • ~Drawable() : Drawable
  • ~EliminateTraverser() : EliminateTraverser
  • ~EmptyResult() : EmptyResult
  • ~EquivalenceResult() : EquivalenceResult
  • ~ExclusiveModelViewTraverser() : ExclusiveModelViewTraverser
  • ~ExclusiveTraverser() : ExclusiveTraverser
  • ~ExtractGeometryTraverser() : ExtractGeometryTraverser
  • ~FaceAttribute() : FaceAttribute
  • ~FileMapping() : FileMapping
  • ~FixedAllocator() : FixedAllocator
  • ~FlipbookAnimation() : FlipbookAnimation
  • ~FramedAnimationDescription() : FramedAnimationDescription
  • ~FrustumCamera() : FrustumCamera
  • ~GeoNode() : GeoNode
  • ~GLFunctions() : GLFunctions
  • ~GLObjects() : GLObjects
  • ~GLUploadTraverser() : GLUploadTraverser
  • ~GPUSkinningProcessor() : GPUSkinningProcessor
  • ~Group() : Group
  • ~IAllocator() : IAllocator
  • ~IdentityResult() : IdentityResult
  • ~IdentityToGroupTraverser() : IdentityToGroupTraverser
  • ~ILTexLoader() : ILTexLoader
  • ~IndependentPrimitiveSet() : IndependentPrimitiveSet
  • ~IndexSet() : IndexSet
  • ~Intersection() : Intersection
  • ~KeyFramedAnimationDescription() : KeyFramedAnimationDescription
  • ~LightingAttribute() : LightingAttribute
  • ~LightSource() : LightSource
  • ~LinearInterpolatedAnimationDescription() : LinearInterpolatedAnimationDescription
  • ~LineAttribute() : LineAttribute
  • ~Lines() : Lines
  • ~LineStrips() : LineStrips
  • ~LOD() : LOD
  • ~Map() : Map
  • ~MapArray() : MapArray
  • ~MapElement() : MapElement
  • ~MapList() : MapList
  • ~MapMatrix() : MapMatrix
  • ~MapObject() : MapObject
  • ~Material() : Material
  • ~MatrixCamera() : MatrixCamera
  • ~MeshedPrimitiveSet() : MeshedPrimitiveSet
  • ~MissingResult() : MissingResult
  • ~NBFLoader() : NBFLoader
  • ~Node() : Node
  • ~NormalizeTraverser() : NormalizeTraverser
  • ~NullNormalsResult() : NullNormalsResult
  • ~Object() : Object
  • ~OptimizeTraverser() : OptimizeTraverser
  • ~OwnedObject() : OwnedObject
  • ~ParallelCamera() : ParallelCamera
  • ~PatchesBase() : PatchesBase
  • ~Path() : Path
  • ~PerspectiveCamera() : PerspectiveCamera
  • ~PlugInCallback() : PlugInCallback
  • ~PointAttribute() : PointAttribute
  • ~PointLight() : PointLight
  • ~Points() : Points
  • ~PostBuildTraverser() : PostBuildTraverser
  • ~Primitive() : Primitive
  • ~PrimitiveAttribute() : PrimitiveAttribute
  • ~PrimitiveSet() : PrimitiveSet
  • ~PropertyList() : PropertyList
  • ~PropertyListChain() : PropertyListChain
  • ~PropertyListImpl() : PropertyListImpl
  • ~QuadMeshes() : QuadMeshes
  • ~QuadPatches() : QuadPatches
  • ~QuadPatches4x4() : QuadPatches4x4
  • ~Quads() : Quads
  • ~QuadStrips() : QuadStrips
  • ~RayIntersectTraverser() : RayIntersectTraverser
  • ~RCObject() : RCObject
  • ~ReadMapping() : ReadMapping
  • ~RectPatches() : RectPatches
  • ~RedundantIndexSetResult() : RedundantIndexSetResult
  • ~RedundantLODRangesResult() : RedundantLODRangesResult
  • ~Reflection() : Reflection
  • ~RegVal() : RegVal
  • ~RTBufferAttribute() : RTBufferAttribute
  • ~RTFxBase() : RTFxBase
  • ~Scene() : Scene
  • ~SceneAttribute() : SceneAttribute
  • ~SceneLoader() : SceneLoader
  • ~SceneSaver() : SceneSaver
  • ~SearchTraverser() : SearchTraverser
  • ~ShaderLoader() : ShaderLoader
  • ~Shape() : Shape
  • ~SharedModelViewTraverser() : SharedModelViewTraverser
  • ~SharedTraverser() : SharedTraverser
  • ~SingleChildResult() : SingleChildResult
  • ~Skin() : Skin
  • ~SmartPtr() : SmartPtr
  • ~SmoothTraverser() : SmoothTraverser
  • ~SpotLight() : SpotLight
  • ~StateAttribute() : StateAttribute
  • ~StatePass() : StatePass
  • ~StateSet() : StateSet
  • ~StateVariant() : StateVariant
  • ~StatisticsTraverser() : StatisticsTraverser
  • ~StrippedPrimitiveSet() : StrippedPrimitiveSet
  • ~StrippingTraverser() : StrippingTraverser
  • ~StrTokenizer() : StrTokenizer
  • ~Switch() : Switch
  • ~SWMRSync() : SWMRSync
  • ~TempLocale() : TempLocale
  • ~TextureAttribute() : TextureAttribute
  • ~TextureAttributeItem() : TextureAttributeItem
  • ~TextureHost() : TextureHost
  • ~TextureLoader() : TextureLoader
  • ~TextureSaver() : TextureSaver
  • ~Timer() : Timer
  • ~Trace() : Trace
  • ~Trackball() : Trackball
  • ~Transform() : Transform
  • ~Traverser() : Traverser
  • ~Triangles() : Triangles
  • ~TriangulateTraverser() : TriangulateTraverser
  • ~TriFans() : TriFans
  • ~TriPatches() : TriPatches
  • ~TriPatches4() : TriPatches4
  • ~TriStrips() : TriStrips
  • ~UnifyTraverser() : UnifyTraverser
  • ~UnlitColorAttribute() : UnlitColorAttribute
  • ~VertexAttribute() : VertexAttribute
  • ~VertexAttributeSet() : VertexAttributeSet
  • ~ViewState() : ViewState
  • ~WriteMapping() : WriteMapping
  • ~WRLLoadTraverser() : WRLLoadTraverser
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members - Related Functions

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
a | c | g | l | o | q | r | s | w

- a -

  • addPlugInSearchPath : PlugInServer

- c -

  • cgfxGetLastError : CgFxContext

- g -

  • generateNormals() : GeoNode, Drawable
  • generateTangentSpace() : GeoNode, Drawable
  • generateTexCoords() : VertexAttributeSet, GeoNode, Drawable
  • getInterface : PlugInServer
  • getPlugInSearchPath : PlugInServer
  • getPlugInterface : ILTexSaver, ILTexLoader
  • GLAccum : GLContext
  • GLActiveStencilFace : GLContext
  • GLActiveTexture : GLContext
  • GLActiveVarying : GLContext
  • GLAlphaFunc : GLContext
  • GLAreProgramsResident : GLContext
  • GLAreTexturesResident : GLContext
  • GLArrayElement : GLContext
  • GLAttachObject : GLContext
  • GLAttachShader : GLContext
  • GLBegin : GLContext
  • GLBeginConditionalRenderNV : GLContext
  • GLBeginQuery : GLContext
  • GLBeginTransformFeedback : GLContext
  • GLBeginTransformFeedbackNV : GLContext
  • GLBindAttribLocation : GLContext
  • GLBindBuffer : GLContext
  • GLBindBufferBase : GLContext
  • GLBindBufferBaseNV : GLContext
  • GLBindBufferOffsetNV : GLContext
  • GLBindBufferRange : GLContext
  • GLBindBufferRangeNV : GLContext
  • GLBindFragDataLocation : GLContext
  • GLBindFramebuffer : GLContext
  • GLBindProgram : GLContext
  • GLBindRenderbuffer : GLContext
  • GLBindTexture : GLContext
  • GLBitmap : GLContext
  • GLBlendColor : GLContext
  • GLBlendEquation : GLContext
  • GLBlendEquationSeparate : GLContext
  • GLBlendFunc : GLContext
  • GLBlendFuncSeparate : GLContext
  • GLBlitFramebuffer : GLContext
  • GLBufferData : GLContext
  • GLBufferSubData : GLContext
  • GLCallList : GLContext
  • GLCallLists : GLContext
  • GLCheckFramebufferStatus : GLContext
  • GLClampColor : GLContext
  • GLClear : GLContext
  • GLClearAccum : GLContext
  • GLClearColor : GLContext
  • GLClearColorIi : GLContext
  • GLClearColorIui : GLContext
  • GLClearDepth : GLContext
  • GLClearDepthd : GLContext
  • GLClearIndex : GLContext
  • GLClearStencil : GLContext
  • GLClientActiveTexture : GLContext
  • GLClipPlane : GLContext
  • GLColor3b : GLContext
  • GLColor3bv : GLContext
  • GLColor3d : GLContext
  • GLColor3dv : GLContext
  • GLColor3f : GLContext
  • GLColor3fv : GLContext
  • GLColor3h : GLContext
  • GLColor3hv : GLContext
  • GLColor3i : GLContext
  • GLColor3iv : GLContext
  • GLColor3s : GLContext
  • GLColor3sv : GLContext
  • GLColor3ub : GLContext
  • GLColor3ubv : GLContext
  • GLColor3ui : GLContext
  • GLColor3uiv : GLContext
  • GLColor3us : GLContext
  • GLColor3usv : GLContext
  • GLColor4b : GLContext
  • GLColor4bv : GLContext
  • GLColor4d : GLContext
  • GLColor4dv : GLContext
  • GLColor4f : GLContext
  • GLColor4fv : GLContext
  • GLColor4h : GLContext
  • GLColor4hv : GLContext
  • GLColor4i : GLContext
  • GLColor4iv : GLContext
  • GLColor4s : GLContext
  • GLColor4sv : GLContext
  • GLColor4ub : GLContext
  • GLColor4ubv : GLContext
  • GLColor4ui : GLContext
  • GLColor4uiv : GLContext
  • GLColor4us : GLContext
  • GLColor4usv : GLContext
  • GLColorMask : GLContext
  • GLColorMaskIndexed : GLContext
  • GLColorMaterial : GLContext
  • GLColorPointer : GLContext
  • GLColorSubTable : GLContext
  • GLColorTable : GLContext
  • GLColorTableParameterfv : GLContext
  • GLColorTableParameteriv : GLContext
  • GLCombinerInput : GLContext
  • GLCombinerOutput : GLContext
  • GLCombinerParameterf : GLContext
  • GLCombinerParameterfv : GLContext
  • GLCombinerParameteri : GLContext
  • GLCombinerParameteriv : GLContext
  • GLCombinerStageParameterfv : GLContext
  • GLCompileShader : GLContext
  • GLCompressedTexImage1D : GLContext
  • GLCompressedTexImage2D : GLContext
  • GLCompressedTexImage3D : GLContext
  • GLCompressedTexSubImage1D : GLContext
  • GLCompressedTexSubImage2D : GLContext
  • GLCompressedTexSubImage3D : GLContext
  • GLConvolutionFilter1D : GLContext
  • GLConvolutionFilter2D : GLContext
  • GLConvolutionParameterf : GLContext
  • GLConvolutionParameterfv : GLContext
  • GLConvolutionParameteri : GLContext
  • GLConvolutionParameteriv : GLContext
  • GLCopyBufferSubData : GLContext
  • GLCopyColorSubTable : GLContext
  • GLCopyColorTable : GLContext
  • GLCopyConvolutionFilter1D : GLContext
  • GLCopyConvolutionFilter2D : GLContext
  • GLCopyPixels : GLContext
  • GLCopyTexImage1D : GLContext
  • GLCopyTexImage2D : GLContext
  • GLCopyTexSubImage1D : GLContext
  • GLCopyTexSubImage2D : GLContext
  • GLCopyTexSubImage3D : GLContext
  • GLCreateProgram : GLContext
  • GLCreateProgramObject : GLContext
  • GLCreateShader : GLContext
  • GLCreateShaderObject : GLContext
  • GLCullFace : GLContext
  • GLCullFaceLock : GLContext
  • GLCullFaceUnlock : GLContext
  • GLDeleteBuffers : GLContext
  • GLDeleteFences : GLContext
  • GLDeleteFramebuffers : GLContext
  • GLDeleteLists : GLContext
  • GLDeleteObject : GLContext
  • GLDeleteProgram : GLContext
  • GLDeletePrograms : GLContext
  • GLDeleteQueries : GLContext
  • GLDeleteRenderbuffers : GLContext
  • GLDeleteShader : GLContext
  • GLDeleteTextures : GLContext
  • GLDepthBounds : GLContext
  • GLDepthBoundsd : GLContext
  • GLDepthFunc : GLContext
  • GLDepthMask : GLContext
  • GLDepthRange : GLContext
  • GLDepthRanged : GLContext
  • GLDetachObject : GLContext
  • GLDetachShader : GLContext
  • GLDisable : GLContext
  • GLDisableAlphaTest : GLContext
  • GLDisableAutoNormal : GLContext
  • GLDisableBlend : GLContext
  • GLDisableClientState : GLContext
  • GLDisableClipPlane : GLContext
  • GLDisableColorArray : GLContext
  • GLDisableColorLogicOp : GLContext
  • GLDisableColorMaterial : GLContext
  • GLDisableCullFace : GLContext
  • GLDisableCullFaceLock : GLContext
  • GLDisableCullFaceUnlock : GLContext
  • GLDisableDepthTest : GLContext
  • GLDisableDither : GLContext
  • GLDisableExtensionAvailability : GLContext
  • GLDisableFog : GLContext
  • GLDisableFogCoordinateArray : GLContext
  • GLDisableIndexed : GLContext
  • GLDisableLight : GLContext
  • GLDisableLighting : GLContext
  • GLDisableLightingLock : GLContext
  • GLDisableLightingUnlock : GLContext
  • GLDisableLineSmooth : GLContext
  • GLDisableLineStipple : GLContext
  • GLDisableLogicOp : GLContext
  • GLDisableNormalArray : GLContext
  • GLDisableNormalize : GLContext
  • GLDisablePointSmooth : GLContext
  • GLDisablePolygonOffsetFill : GLContext
  • GLDisablePolygonOffsetLine : GLContext
  • GLDisablePolygonOffsetPoint : GLContext
  • GLDisablePolygonSmooth : GLContext
  • GLDisablePolygonStipple : GLContext
  • GLDisablePrimitiveRestart : GLContext
  • GLDisableRescaleNormal : GLContext
  • GLDisableScissorTest : GLContext
  • GLDisableSecondaryColorArray : GLContext
  • GLDisableStencilTest : GLContext
  • GLDisableTexture : GLContext
  • GLDisableTextureCoordArray : GLContext
  • GLDisableTextureGen : GLContext
  • GLDisableVertexArray : GLContext
  • GLDisableVertexAttribArray : GLContext
  • GLDrawArrays : GLContext
  • GLDrawArraysInstanced : GLContext
  • GLDrawBuffer : GLContext
  • GLDrawBuffers : GLContext
  • GLDrawElements : GLContext
  • GLDrawElementsInstanced : GLContext
  • GLDrawPixels : GLContext
  • GLDrawRangeElements : GLContext
  • GLEdgeFlag : GLContext
  • GLEdgeFlagPointer : GLContext
  • GLEdgeFlagv : GLContext
  • GLEnable : GLContext
  • GLEnableAlphaTest : GLContext
  • GLEnableAutoNormal : GLContext
  • GLEnableBlend : GLContext
  • GLEnableClientState : GLContext
  • GLEnableClipPlane : GLContext
  • GLEnableColorArray : GLContext
  • GLEnableColorLogicOp : GLContext
  • GLEnableColorMaterial : GLContext
  • GLEnableCullFace : GLContext
  • GLEnableCullFaceLock : GLContext
  • GLEnableCullFaceUnlock : GLContext
  • GLEnableDepthTest : GLContext
  • GLEnableDither : GLContext
  • GLEnableFog : GLContext
  • GLEnableFogCoordinateArray : GLContext
  • GLEnableIndexed : GLContext
  • GLEnableLight : GLContext
  • GLEnableLighting : GLContext
  • GLEnableLineSmooth : GLContext
  • GLEnableLineStipple : GLContext
  • GLEnableLogicOp : GLContext
  • GLEnableNormalArray : GLContext
  • GLEnableNormalize : GLContext
  • GLEnablePointSmooth : GLContext
  • GLEnablePolygonOffsetFill : GLContext
  • GLEnablePolygonOffsetLine : GLContext
  • GLEnablePolygonOffsetPoint : GLContext
  • GLEnablePolygonSmooth : GLContext
  • GLEnablePolygonStipple : GLContext
  • GLEnablePrimitiveRestart : GLContext
  • GLEnableRescaleNormal : GLContext
  • GLEnableScissorTest : GLContext
  • GLEnableSecondaryColorArray : GLContext
  • GLEnableStencilTest : GLContext
  • GLEnableTexture : GLContext
  • GLEnableTextureCoordArray : GLContext
  • GLEnableTextureGen : GLContext
  • GLEnableVertexArray : GLContext
  • GLEnableVertexAttribArray : GLContext
  • GLEnd : GLContext
  • GLEndConditionalRenderNV : GLContext
  • GLEndList : GLContext
  • GLEndQuery : GLContext
  • GLEndTransformFeedback : GLContext
  • GLEndTransformFeedbackNV : GLContext
  • GLEvalCoord1d : GLContext
  • GLEvalCoord1f : GLContext
  • GLEvalCoord2d : GLContext
  • GLEvalCoord2f : GLContext
  • GLEvalMesh1 : GLContext
  • GLEvalMesh2 : GLContext
  • GLEvalPoint1 : GLContext
  • GLEvalPoint2 : GLContext
  • GLExecuteProgram : GLContext
  • GLFeedbackBuffer : GLContext
  • GLFinalCombinerInput : GLContext
  • GLFinish : GLContext
  • GLFinishFence : GLContext
  • GLFlush : GLContext
  • GLFlushMappedBufferRange : GLContext
  • GLFlushPixelDataRange : GLContext
  • GLFlushVertexArrayRange : GLContext
  • GLFogColor : GLContext
  • GLFogCoordd : GLContext
  • GLFogCoorddv : GLContext
  • GLFogCoordf : GLContext
  • GLFogCoordfv : GLContext
  • GLFogCoordh : GLContext
  • GLFogCoordhv : GLContext
  • GLFogCoordPointer : GLContext
  • GLFogDensity : GLContext
  • GLFogEnd : GLContext
  • GLFogf : GLContext
  • GLFogfv : GLContext
  • GLFogi : GLContext
  • GLFogiv : GLContext
  • GLFogMode : GLContext
  • GLFogStart : GLContext
  • GLFramebufferRenderbuffer : GLContext
  • GLFramebufferTexture : GLContext
  • GLFramebufferTexture1D : GLContext
  • GLFramebufferTexture2D : GLContext
  • GLFramebufferTexture3D : GLContext
  • GLFramebufferTextureFace : GLContext
  • GLFramebufferTextureLayer : GLContext
  • GLFrameTerminator : GLContext
  • GLFrontFace : GLContext
  • GLFrustum : GLContext
  • GLGenBuffers : GLContext
  • GLGenerateMipmap : GLContext
  • GLGenFences : GLContext
  • GLGenFramebuffers : GLContext
  • GLGenLists : GLContext
  • GLGenPrograms : GLContext
  • GLGenQueries : GLContext
  • GLGenRenderbuffers : GLContext
  • GLGenTextures : GLContext
  • GLGetActiveAttrib : GLContext
  • GLGetActiveUniform : GLContext
  • GLGetActiveVaryingNV : GLContext
  • GLGetAttachedObjects : GLContext
  • GLGetAttachedShaders : GLContext
  • GLGetAttribLocation : GLContext
  • GLGetBooleanIndexedv : GLContext
  • GLGetBooleanv : GLContext
  • GLGetBufferParameteriv : GLContext
  • GLGetBufferPointerv : GLContext
  • GLGetBufferSubData : GLContext
  • GLGetClipPlane : GLContext
  • GLGetColorTable : GLContext
  • GLGetColorTableParameterfv : GLContext
  • GLGetColorTableParameteriv : GLContext
  • GLGetCombinerInputParameterfv : GLContext
  • GLGetCombinerInputParameteriv : GLContext
  • GLGetCombinerOutputParameterfv : GLContext
  • GLGetCombinerOutputParameteriv : GLContext
  • GLGetCombinerStageParameterfv : GLContext
  • GLGetCompressedTexImage : GLContext
  • GLGetConvolutionFilter : GLContext
  • GLGetConvolutionParameterfv : GLContext
  • GLGetConvolutionParameteriv : GLContext
  • GLGetDoublev : GLContext
  • GLGetFenceiv : GLContext
  • GLGetFinalCombinerInputParameterfv : GLContext
  • GLGetFinalCombinerInputParameteriv : GLContext
  • GLGetFloatv : GLContext
  • GLGetFragDataLocation : GLContext
  • GLGetFramebufferAttachmentParameteriv : GLContext
  • GLGetHandle : GLContext
  • GLGetHistogram : GLContext
  • GLGetHistogramParameterfv : GLContext
  • GLGetHistogramParameteriv : GLContext
  • GLGetInfoLog : GLContext
  • GLGetIntegerIndexedv : GLContext
  • GLGetIntegerv : GLContext
  • GLGetLightfv : GLContext
  • GLGetLightiv : GLContext
  • GLGetMapdv : GLContext
  • GLGetMapfv : GLContext
  • GLGetMapiv : GLContext
  • GLGetMaterialfv : GLContext
  • GLGetMaterialiv : GLContext
  • GLGetMaxTexCoords : GLContext
  • GLGetMaxTexImageUnits : GLContext
  • GLGetMaxTexUnits : GLContext
  • GLGetMinmax : GLContext
  • GLGetMinmaxParameterfv : GLContext
  • GLGetMinmaxParameteriv : GLContext
  • GLGetMultisamplefv : GLContext
  • GLGetObjectParameterfv : GLContext
  • GLGetObjectParameteriv : GLContext
  • GLGetPixelMapfv : GLContext
  • GLGetPixelMapuiv : GLContext
  • GLGetPixelMapusv : GLContext
  • GLGetPointerv : GLContext
  • GLGetPolygonStipple : GLContext
  • GLGetProgramEnvParameterdv : GLContext
  • GLGetProgramEnvParameterfv : GLContext
  • GLGetProgramEnvParameterIiv : GLContext
  • GLGetProgramEnvParameterIuiv : GLContext
  • GLGetProgramInfoLog : GLContext
  • GLGetProgramiv : GLContext
  • GLGetProgramLocalParameterdv : GLContext
  • GLGetProgramLocalParameterfv : GLContext
  • GLGetProgramLocalParameterIiv : GLContext
  • GLGetProgramLocalParameterIuiv : GLContext
  • GLGetProgramNamedParameterdv : GLContext
  • GLGetProgramNamedParameterfv : GLContext
  • GLGetProgramParameterdv : GLContext
  • GLGetProgramParameterfv : GLContext
  • GLGetProgramString : GLContext
  • GLGetQueryiv : GLContext
  • GLGetQueryObjecti64v : GLContext
  • GLGetQueryObjectiv : GLContext
  • GLGetQueryObjectui64v : GLContext
  • GLGetQueryObjectuiv : GLContext
  • GLGetRenderbufferParameteriv : GLContext
  • GLGetSeparableFilter : GLContext
  • GLGetShaderInfoLog : GLContext
  • GLGetShaderiv : GLContext
  • GLGetShaderSource : GLContext
  • GLGetString : GLContext
  • GLGetTexEnvfv : GLContext
  • GLGetTexEnviv : GLContext
  • GLGetTexGendv : GLContext
  • GLGetTexGenfv : GLContext
  • GLGetTexGeniv : GLContext
  • GLGetTexImage : GLContext
  • GLGetTexImageFmt : GLContext
  • GLGetTexLevelParameterfv : GLContext
  • GLGetTexLevelParameteriv : GLContext
  • GLGetTexParameterfv : GLContext
  • GLGetTexParameterIiv : GLContext
  • GLGetTexParameterIuiv : GLContext
  • GLGetTexParameteriv : GLContext
  • GLGetTexWrapMode : GLContext
  • GLGetTrackMatrixiv : GLContext
  • GLGetTransformFeedbackVarying : GLContext
  • GLGetTransformFeedbackVaryingNV : GLContext
  • GLGetUniformBufferSize : GLContext
  • GLGetUniformfv : GLContext
  • GLGetUniformiv : GLContext
  • GLGetUniformLocation : GLContext
  • GLGetUniformOffset : GLContext
  • GLGetUniformuiv : GLContext
  • GLGetVaryingLocationNV : GLContext
  • GLGetVersion : GLContext
  • GLGetVertexAttribdv : GLContext
  • GLGetVertexAttribfv : GLContext
  • GLGetVertexAttribIiv : GLContext
  • GLGetVertexAttribIuiv : GLContext
  • GLGetVertexAttribiv : GLContext
  • GLGetVertexAttribPointerv : GLContext
  • GLHint : GLContext
  • GLHistogram : GLContext
  • GLIndexd : GLContext
  • GLIndexf : GLContext
  • GLIndexi : GLContext
  • GLIndexMask : GLContext
  • GLIndexPointer : GLContext
  • GLIndexs : GLContext
  • GLIndexub : GLContext
  • GLInitNames : GLContext
  • GLInterleavedArrays : GLContext
  • GLIsBuffer : GLContext
  • GLIsEnabled : GLContext
  • GLIsEnabledAlphaTest : GLContext
  • GLIsEnabledAutoNormal : GLContext
  • GLIsEnabledBlend : GLContext
  • GLIsEnabledClipPlane : GLContext
  • GLIsEnabledColorLogicOp : GLContext
  • GLIsEnabledColorMaterial : GLContext
  • GLIsEnabledCullFace : GLContext
  • GLIsEnabledDepthTest : GLContext
  • GLIsEnabledDither : GLContext
  • GLIsEnabledFog : GLContext
  • GLIsEnabledIndexed : GLContext
  • GLIsEnabledLight : GLContext
  • GLIsEnabledLighting : GLContext
  • GLIsEnabledLineSmooth : GLContext
  • GLIsEnabledLineStipple : GLContext
  • GLIsEnabledLogicOp : GLContext
  • GLIsEnabledNormalize : GLContext
  • GLIsEnabledPointSmooth : GLContext
  • GLIsEnabledPolygonOffsetFill : GLContext
  • GLIsEnabledPolygonOffsetLine : GLContext
  • GLIsEnabledPolygonOffsetPoint : GLContext
  • GLIsEnabledPolygonSmooth : GLContext
  • GLIsEnabledPolygonStipple : GLContext
  • GLIsEnabledRescaleNormal : GLContext
  • GLIsEnabledScissorTest : GLContext
  • GLIsEnabledStencilTest : GLContext
  • GLIsEnabledTexture : GLContext
  • GLIsEnabledTextureGen : GLContext
  • GLIsExtensionAvailable : GLContext
  • GLIsExtensionExported : GLContext
  • GLIsFence : GLContext
  • GLIsFramebuffer : GLContext
  • GLIsList : GLContext
  • GLIsProgram : GLContext
  • GLIsQuery : GLContext
  • GLIsRenderbuffer : GLContext
  • GLIsShader : GLContext
  • GLIsTexture : GLContext
  • GLLightAmbient : GLContext
  • GLLightConstantAttenuation : GLContext
  • GLLightDiffuse : GLContext
  • GLLightf : GLContext
  • GLLightfv : GLContext
  • GLLighti : GLContext
  • GLLightiv : GLContext
  • GLLightLinearAttenuation : GLContext
  • GLLightModelAmbient : GLContext
  • GLLightModelf : GLContext
  • GLLightModelfv : GLContext
  • GLLightModeli : GLContext
  • GLLightModeliv : GLContext
  • GLLightModelLocalViewer : GLContext
  • GLLightModelTwoSide : GLContext
  • GLLightModelTwoSideLock : GLContext
  • GLLightModelTwoSideUnlock : GLContext
  • GLLightPosition : GLContext
  • GLLightQuadraticAttenuation : GLContext
  • GLLightSpecular : GLContext
  • GLLightSpotCutoff : GLContext
  • GLLightSpotDirection : GLContext
  • GLLightSpotExponent : GLContext
  • GLLineStipple : GLContext
  • GLLineWidth : GLContext
  • GLLinkProgram : GLContext
  • GLListBase : GLContext
  • GLLoadIdentity : GLContext
  • GLLoadMatrixd : GLContext
  • GLLoadMatrixf : GLContext
  • GLLoadName : GLContext
  • GLLoadProgram : GLContext
  • GLLoadTransposedMatrixd : GLContext
  • GLLoadTransposeMatrixf : GLContext
  • GLLockArrays : GLContext
  • GLLogicOp : GLContext
  • GLMap1d : GLContext
  • GLMap1f : GLContext
  • GLMap2d : GLContext
  • GLMap2f : GLContext
  • GLMapBuffer : GLContext
  • GLMapBufferRange : GLContext
  • GLMapGrid1d : GLContext
  • GLMapGrid1f : GLContext
  • GLMapGrid2d : GLContext
  • GLMapGrid2f : GLContext
  • GLMaterialAmbient : GLContext
  • GLMaterialAmbientBack : GLContext
  • GLMaterialAmbientFront : GLContext
  • GLMaterialAmbientFrontAndBack : GLContext
  • GLMaterialDiffuse : GLContext
  • GLMaterialDiffuseBack : GLContext
  • GLMaterialDiffuseFront : GLContext
  • GLMaterialDiffuseFrontAndBack : GLContext
  • GLMaterialEmission : GLContext
  • GLMaterialEmissionBack : GLContext
  • GLMaterialEmissionFront : GLContext
  • GLMaterialEmissionFrontAndBack : GLContext
  • GLMaterialf : GLContext
  • GLMaterialfv : GLContext
  • GLMateriali : GLContext
  • GLMaterialiv : GLContext
  • GLMaterialShininess : GLContext
  • GLMaterialShininessBack : GLContext
  • GLMaterialShininessFront : GLContext
  • GLMaterialShininessFrontAndBack : GLContext
  • GLMaterialSpecular : GLContext
  • GLMaterialSpecularBack : GLContext
  • GLMaterialSpecularFront : GLContext
  • GLMaterialSpecularFrontAndBack : GLContext
  • GLMatrixMode : GLContext
  • GLMinmax : GLContext
  • GLMultiDrawArrays : GLContext
  • GLMultiDrawElements : GLContext
  • GLMultiTexCoord1d : GLContext
  • GLMultiTexCoord1dv : GLContext
  • GLMultiTexCoord1f : GLContext
  • GLMultiTexCoord1fv : GLContext
  • GLMultiTexCoord1h : GLContext
  • GLMultiTexCoord1hv : GLContext
  • GLMultiTexCoord1i : GLContext
  • GLMultiTexCoord1iv : GLContext
  • GLMultiTexCoord1s : GLContext
  • GLMultiTexCoord1sv : GLContext
  • GLMultiTexCoord2d : GLContext
  • GLMultiTexCoord2dv : GLContext
  • GLMultiTexCoord2f : GLContext
  • GLMultiTexCoord2fv : GLContext
  • GLMultiTexCoord2h : GLContext
  • GLMultiTexCoord2hv : GLContext
  • GLMultiTexCoord2i : GLContext
  • GLMultiTexCoord2iv : GLContext
  • GLMultiTexCoord2s : GLContext
  • GLMultiTexCoord2sv : GLContext
  • GLMultiTexCoord3d : GLContext
  • GLMultiTexCoord3dv : GLContext
  • GLMultiTexCoord3f : GLContext
  • GLMultiTexCoord3fv : GLContext
  • GLMultiTexCoord3h : GLContext
  • GLMultiTexCoord3hv : GLContext
  • GLMultiTexCoord3i : GLContext
  • GLMultiTexCoord3iv : GLContext
  • GLMultiTexCoord3s : GLContext
  • GLMultiTexCoord3sv : GLContext
  • GLMultiTexCoord4d : GLContext
  • GLMultiTexCoord4dv : GLContext
  • GLMultiTexCoord4f : GLContext
  • GLMultiTexCoord4fv : GLContext
  • GLMultiTexCoord4h : GLContext
  • GLMultiTexCoord4hv : GLContext
  • GLMultiTexCoord4i : GLContext
  • GLMultiTexCoord4iv : GLContext
  • GLMultiTexCoord4s : GLContext
  • GLMultiTexCoord4sv : GLContext
  • GLMultMatrixd : GLContext
  • GLMultMatrixf : GLContext
  • GLMultTransposeMatrixd : GLContext
  • GLMultTransposeMatrixf : GLContext
  • GLNewList : GLContext
  • GLNormal3b : GLContext
  • GLNormal3bv : GLContext
  • GLNormal3d : GLContext
  • GLNormal3dv : GLContext
  • GLNormal3f : GLContext
  • GLNormal3fv : GLContext
  • GLNormal3h : GLContext
  • GLNormal3hv : GLContext
  • GLNormal3i : GLContext
  • GLNormal3iv : GLContext
  • GLNormal3s : GLContext
  • GLNormal3sv : GLContext
  • GLNormalPointer : GLContext
  • GLOrtho : GLContext
  • GLPassThrough : GLContext
  • GLPatchParameterfv : GLContext
  • GLPatchParameteri : GLContext
  • GLPixelDataRange : GLContext
  • GLPixelMapfv : GLContext
  • GLPixelMapuiv : GLContext
  • GLPixelMapusv : GLContext
  • GLPixelStoref : GLContext
  • GLPixelStorei : GLContext
  • GLPixelTransferf : GLContext
  • GLPixelTransferi : GLContext
  • GLPixelZoom : GLContext
  • GLPointParameterf : GLContext
  • GLPointParameterfv : GLContext
  • GLPointParameteri : GLContext
  • GLPointParameteriv : GLContext
  • GLPointSize : GLContext
  • GLPolygonMode : GLContext
  • GLPolygonModeBack : GLContext
  • GLPolygonModeFront : GLContext
  • GLPolygonModeFrontAndBack : GLContext
  • GLPolygonModeLock : GLContext
  • GLPolygonModeUnlock : GLContext
  • GLPolygonOffset : GLContext
  • GLPolygonStipple : GLContext
  • GLPopAttrib : GLContext
  • GLPopClientAttrib : GLContext
  • GLPopMatrix : GLContext
  • GLPopName : GLContext
  • GLPrimitiveRestart : GLContext
  • GLPrimitiveRestartIndex : GLContext
  • GLPrioritizeTextures : GLContext
  • GLProgramBufferParametersfv : GLContext
  • GLProgramBufferParametersIiv : GLContext
  • GLProgramBufferParametersIuiv : GLContext
  • GLProgramEnvParameter4d : GLContext
  • GLProgramEnvParameter4dv : GLContext
  • GLProgramEnvParameter4f : GLContext
  • GLProgramEnvParameter4fv : GLContext
  • GLProgramEnvParameterI4i : GLContext
  • GLProgramEnvParameterI4iv : GLContext
  • GLProgramEnvParameterI4ui : GLContext
  • GLProgramEnvParameterI4uiv : GLContext
  • GLProgramEnvParameters4fv : GLContext
  • GLProgramEnvParametersI4iv : GLContext
  • GLProgramEnvParametersI4uiv : GLContext
  • GLProgramLocalParameter4d : GLContext
  • GLProgramLocalParameter4dv : GLContext
  • GLProgramLocalParameter4f : GLContext
  • GLProgramLocalParameter4fv : GLContext
  • GLProgramLocalParameterI4i : GLContext
  • GLProgramLocalParameterI4iv : GLContext
  • GLProgramLocalParameterI4ui : GLContext
  • GLProgramLocalParameterI4uiv : GLContext
  • GLProgramLocalParameters4fv : GLContext
  • GLProgramLocalParametersI4iv : GLContext
  • GLProgramLocalParametersI4uiv : GLContext
  • GLProgramNamedParameter4d : GLContext
  • GLProgramNamedParameter4dv : GLContext
  • GLProgramNamedParameter4f : GLContext
  • GLProgramNamedParameter4fv : GLContext
  • GLProgramParameter4d : GLContext
  • GLProgramParameter4dv : GLContext
  • GLProgramParameter4f : GLContext
  • GLProgramParameter4fv : GLContext
  • GLProgramParameteri : GLContext
  • GLProgramParameters4dv : GLContext
  • GLProgramParameters4fv : GLContext
  • GLProgramString : GLContext
  • GLProgramVertexLimit : GLContext
  • GLPushAttrib : GLContext
  • GLPushClientAttrib : GLContext
  • GLPushMatrix : GLContext
  • GLPushName : GLContext
  • GLRasterPos2d : GLContext
  • GLRasterPos2dv : GLContext
  • GLRasterPos2f : GLContext
  • GLRasterPos2fv : GLContext
  • GLRasterPos2i : GLContext
  • GLRasterPos2iv : GLContext
  • GLRasterPos2s : GLContext
  • GLRasterPos2sv : GLContext
  • GLRasterPos3d : GLContext
  • GLRasterPos3dv : GLContext
  • GLRasterPos3f : GLContext
  • GLRasterPos3fv : GLContext
  • GLRasterPos3i : GLContext
  • GLRasterPos3iv : GLContext
  • GLRasterPos3s : GLContext
  • GLRasterPos3sv : GLContext
  • GLRasterPos4d : GLContext
  • GLRasterPos4dv : GLContext
  • GLRasterPos4f : GLContext
  • GLRasterPos4fv : GLContext
  • GLRasterPos4i : GLContext
  • GLRasterPos4iv : GLContext
  • GLRasterPos4s : GLContext
  • GLRasterPos4sv : GLContext
  • GLReadBuffer : GLContext
  • GLReadPixels : GLContext
  • GLRectd : GLContext
  • GLRectf : GLContext
  • GLRecti : GLContext
  • GLRects : GLContext
  • GLRenderbufferStorage : GLContext
  • GLRenderbufferStorageMultisample : GLContext
  • GLRenderbufferStorageMultisampleCoverage : GLContext
  • GLRenderMode : GLContext
  • GLRequestResidentPrograms : GLContext
  • GLResetAlphaFunc : GLContext
  • GLResetAlphaTest : GLContext
  • GLResetAutoNormal : GLContext
  • GLResetBlend : GLContext
  • GLResetBlendFunc : GLContext
  • GLResetBlendFuncSeparate : GLContext
  • GLResetClearColor : GLContext
  • GLResetClearDepth : GLContext
  • GLResetClearStencil : GLContext
  • GLResetClipPlane : GLContext
  • GLResetClipPlaneEquation : GLContext
  • GLResetColorLogicOp : GLContext
  • GLResetColorMask : GLContext
  • GLResetColorMaterial : GLContext
  • GLResetColorMaterialMode : GLContext
  • GLResetCullFace : GLContext
  • GLResetCullFaceMode : GLContext
  • GLResetDepthFunc : GLContext
  • GLResetDepthMask : GLContext
  • GLResetDepthRange : GLContext
  • GLResetDepthTest : GLContext
  • GLResetDither : GLContext
  • GLResetFog : GLContext
  • GLResetFogColor : GLContext
  • GLResetFogDensity : GLContext
  • GLResetFogEnd : GLContext
  • GLResetFogMode : GLContext
  • GLResetFogStart : GLContext
  • GLResetFrontFace : GLContext
  • GLResetHistogram : GLContext
  • GLResetLight : GLContext
  • GLResetLightAmbient : GLContext
  • GLResetLightConstantAttenuation : GLContext
  • GLResetLightDiffuse : GLContext
  • GLResetLighting : GLContext
  • GLResetLightLinearAttenuation : GLContext
  • GLResetLightModelAmbient : GLContext
  • GLResetLightModelLocalViewer : GLContext
  • GLResetLightModelTwoSide : GLContext
  • GLResetLightPosition : GLContext
  • GLResetLightQuadraticAttenuation : GLContext
  • GLResetLightSpecular : GLContext
  • GLResetLightSpotCutoff : GLContext
  • GLResetLightSpotDirection : GLContext
  • GLResetLightSpotExponent : GLContext
  • GLResetLineSmooth : GLContext
  • GLResetLineStipple : GLContext
  • GLResetLineStippleDefinition : GLContext
  • GLResetLineWidth : GLContext
  • GLResetLogicOp : GLContext
  • GLResetMaterialAmbientBack : GLContext
  • GLResetMaterialAmbientFront : GLContext
  • GLResetMaterialAmbientFrontAndBack : GLContext
  • GLResetMaterialDiffuseBack : GLContext
  • GLResetMaterialDiffuseFront : GLContext
  • GLResetMaterialDiffuseFrontAndBack : GLContext
  • GLResetMaterialEmissionBack : GLContext
  • GLResetMaterialEmissionFront : GLContext
  • GLResetMaterialEmissionFrontAndBack : GLContext
  • GLResetMaterialShininessBack : GLContext
  • GLResetMaterialShininessFront : GLContext
  • GLResetMaterialShininessFrontAndBack : GLContext
  • GLResetMaterialSpecularBack : GLContext
  • GLResetMaterialSpecularFront : GLContext
  • GLResetMaterialSpecularFrontAndBack : GLContext
  • GLResetMinmax : GLContext
  • GLResetNormalize : GLContext
  • GLResetPointSize : GLContext
  • GLResetPointSmooth : GLContext
  • GLResetPolygonModeBack : GLContext
  • GLResetPolygonModeFront : GLContext
  • GLResetPolygonModeFrontAndBack : GLContext
  • GLResetPolygonOffset : GLContext
  • GLResetPolygonOffsetFill : GLContext
  • GLResetPolygonOffsetLine : GLContext
  • GLResetPolygonOffsetPoint : GLContext
  • GLResetPolygonSmooth : GLContext
  • GLResetPolygonStipple : GLContext
  • GLResetRescaleNormal : GLContext
  • GLResetScissor : GLContext
  • GLResetScissorTest : GLContext
  • GLResetShadeModel : GLContext
  • GLResetStencilFunc : GLContext
  • GLResetStencilMask : GLContext
  • GLResetStencilOp : GLContext
  • GLResetStencilTest : GLContext
  • GLResetTexture : GLContext
  • GLRotated : GLContext
  • GLRotatef : GLContext
  • GLSampleCoverage : GLContext
  • GLSampleMaski : GLContext
  • GLScaled : GLContext
  • GLScalef : GLContext
  • GLScissor : GLContext
  • GLSecondaryColor3b : GLContext
  • GLSecondaryColor3bv : GLContext
  • GLSecondaryColor3d : GLContext
  • GLSecondaryColor3dv : GLContext
  • GLSecondaryColor3f : GLContext
  • GLSecondaryColor3fv : GLContext
  • GLSecondaryColor3h : GLContext
  • GLSecondaryColor3hv : GLContext
  • GLSecondaryColor3i : GLContext
  • GLSecondaryColor3iv : GLContext
  • GLSecondaryColor3s : GLContext
  • GLSecondaryColor3sv : GLContext
  • GLSecondaryColor3ub : GLContext
  • GLSecondaryColor3ubv : GLContext
  • GLSecondaryColor3ui : GLContext
  • GLSecondaryColor3uiv : GLContext
  • GLSecondaryColor3us : GLContext
  • GLSecondaryColor3usv : GLContext
  • GLSecondaryColorPointer : GLContext
  • GLSelectBuffer : GLContext
  • GLSelectTexture : GLContext
  • GLSelectTextureCoordSet : GLContext
  • GLSeparableFilter2D : GLContext
  • GLSetFence : GLContext
  • GLShadeModel : GLContext
  • GLShaderSource : GLContext
  • GLStencilClearTag : GLContext
  • GLStencilFunc : GLContext
  • GLStencilFuncSeparate : GLContext
  • GLStencilMask : GLContext
  • GLStencilMaskSeparate : GLContext
  • GLStencilOp : GLContext
  • GLStencilOpSeparate : GLContext
  • GLStringMarker : GLContext
  • GLTestFence : GLContext
  • GLTexBuffer : GLContext
  • GLTexCoord1d : GLContext
  • GLTexCoord1dv : GLContext
  • GLTexCoord1f : GLContext
  • GLTexCoord1fv : GLContext
  • GLTexCoord1h : GLContext
  • GLTexCoord1hv : GLContext
  • GLTexCoord1i : GLContext
  • GLTexCoord1iv : GLContext
  • GLTexCoord1s : GLContext
  • GLTexCoord1sv : GLContext
  • GLTexCoord2d : GLContext
  • GLTexCoord2dv : GLContext
  • GLTexCoord2f : GLContext
  • GLTexCoord2fv : GLContext
  • GLTexCoord2h : GLContext
  • GLTexCoord2hv : GLContext
  • GLTexCoord2i : GLContext
  • GLTexCoord2iv : GLContext
  • GLTexCoord2s : GLContext
  • GLTexCoord2sv : GLContext
  • GLTexCoord3d : GLContext
  • GLTexCoord3dv : GLContext
  • GLTexCoord3f : GLContext
  • GLTexCoord3fv : GLContext
  • GLTexCoord3h : GLContext
  • GLTexCoord3hv : GLContext
  • GLTexCoord3i : GLContext
  • GLTexCoord3iv : GLContext
  • GLTexCoord3s : GLContext
  • GLTexCoord3sv : GLContext
  • GLTexCoord4d : GLContext
  • GLTexCoord4dv : GLContext
  • GLTexCoord4f : GLContext
  • GLTexCoord4fv : GLContext
  • GLTexCoord4h : GLContext
  • GLTexCoord4hv : GLContext
  • GLTexCoord4i : GLContext
  • GLTexCoord4iv : GLContext
  • GLTexCoord4s : GLContext
  • GLTexCoord4sv : GLContext
  • GLTexCoordPointer : GLContext
  • GLTexEnvf : GLContext
  • GLTexEnvfv : GLContext
  • GLTexEnvi : GLContext
  • GLTexEnviv : GLContext
  • GLTexGend : GLContext
  • GLTexGenf : GLContext
  • GLTexGenfv : GLContext
  • GLTexGeni : GLContext
  • GLTexImage1D : GLContext
  • GLTexImage2D : GLContext
  • GLTexImage2DMultisample : GLContext
  • GLTexImage3D : GLContext
  • GLTexImage3DMultisample : GLContext
  • GLTexParameterf : GLContext
  • GLTexParameterfv : GLContext
  • GLTexParameteri : GLContext
  • GLTexParameterIiv : GLContext
  • GLTexParameterIuiv : GLContext
  • GLTexParameteriv : GLContext
  • GLTexSubImage1D : GLContext
  • GLTexSubImage2D : GLContext
  • GLTexSubImage3D : GLContext
  • GLTextureBorderColor : GLContext
  • GLTextureEnvColor : GLContext
  • GLTextureEnvMode : GLContext
  • GLTextureMagFilter : GLContext
  • GLTextureMinFilter : GLContext
  • GLTextureWrapR : GLContext
  • GLTextureWrapS : GLContext
  • GLTextureWrapT : GLContext
  • GLTrackMatrix : GLContext
  • GLTransformFeedbackAttribsNV : GLContext
  • GLTransformFeedbackVaryings : GLContext
  • GLTransformFeedbackVaryingsNV : GLContext
  • GLTranslated : GLContext
  • GLTranslatef : GLContext
  • GLUniform1f : GLContext
  • GLUniform1fv : GLContext
  • GLUniform1i : GLContext
  • GLUniform1iv : GLContext
  • GLUniform1ui : GLContext
  • GLUniform1uiv : GLContext
  • GLUniform2f : GLContext
  • GLUniform2fv : GLContext
  • GLUniform2i : GLContext
  • GLUniform2iv : GLContext
  • GLUniform2ui : GLContext
  • GLUniform2uiv : GLContext
  • GLUniform3f : GLContext
  • GLUniform3fv : GLContext
  • GLUniform3i : GLContext
  • GLUniform3iv : GLContext
  • GLUniform3ui : GLContext
  • GLUniform3uiv : GLContext
  • GLUniform4f : GLContext
  • GLUniform4fv : GLContext
  • GLUniform4i : GLContext
  • GLUniform4iv : GLContext
  • GLUniform4ui : GLContext
  • GLUniform4uiv : GLContext
  • GLUniformBuffer : GLContext
  • GLUniformMatrix2fv : GLContext
  • GLUniformMatrix2x3fv : GLContext
  • GLUniformMatrix2x4fv : GLContext
  • GLUniformMatrix3fv : GLContext
  • GLUniformMatrix3x2fv : GLContext
  • GLUniformMatrix3x4fv : GLContext
  • GLUniformMatrix4fv : GLContext
  • GLUniformMatrix4x2fv : GLContext
  • GLUniformMatrix4x3fv : GLContext
  • GLUnlockArrays : GLContext
  • GLUnmapBuffer : GLContext
  • GLUploadBuffers : GLContext
  • GLUseProgram : GLContext
  • GLUseProgramObject : GLContext
  • GLValidateProgram : GLContext
  • GLVertex2d : GLContext
  • GLVertex2dv : GLContext
  • GLVertex2f : GLContext
  • GLVertex2fv : GLContext
  • GLVertex2h : GLContext
  • GLVertex2hv : GLContext
  • GLVertex2i : GLContext
  • GLVertex2iv : GLContext
  • GLVertex2s : GLContext
  • GLVertex2sv : GLContext
  • GLVertex3d : GLContext
  • GLVertex3dv : GLContext
  • GLVertex3f : GLContext
  • GLVertex3fv : GLContext
  • GLVertex3h : GLContext
  • GLVertex3hv : GLContext
  • GLVertex3i : GLContext
  • GLVertex3iv : GLContext
  • GLVertex3s : GLContext
  • GLVertex3sv : GLContext
  • GLVertex4d : GLContext
  • GLVertex4dv : GLContext
  • GLVertex4f : GLContext
  • GLVertex4fv : GLContext
  • GLVertex4h : GLContext
  • GLVertex4hv : GLContext
  • GLVertex4i : GLContext
  • GLVertex4iv : GLContext
  • GLVertex4s : GLContext
  • GLVertex4sv : GLContext
  • GLVertexArrayRange : GLContext
  • GLVertexAttrib1d : GLContext
  • GLVertexAttrib1dv : GLContext
  • GLVertexAttrib1f : GLContext
  • GLVertexAttrib1fv : GLContext
  • GLVertexAttrib1h : GLContext
  • GLVertexAttrib1hv : GLContext
  • GLVertexAttrib1s : GLContext
  • GLVertexAttrib1sv : GLContext
  • GLVertexAttrib2d : GLContext
  • GLVertexAttrib2dv : GLContext
  • GLVertexAttrib2f : GLContext
  • GLVertexAttrib2fv : GLContext
  • GLVertexAttrib2h : GLContext
  • GLVertexAttrib2hv : GLContext
  • GLVertexAttrib2s : GLContext
  • GLVertexAttrib2sv : GLContext
  • GLVertexAttrib3d : GLContext
  • GLVertexAttrib3dv : GLContext
  • GLVertexAttrib3f : GLContext
  • GLVertexAttrib3fv : GLContext
  • GLVertexAttrib3h : GLContext
  • GLVertexAttrib3hv : GLContext
  • GLVertexAttrib3s : GLContext
  • GLVertexAttrib3sv : GLContext
  • GLVertexAttrib4bv : GLContext
  • GLVertexAttrib4d : GLContext
  • GLVertexAttrib4dv : GLContext
  • GLVertexAttrib4f : GLContext
  • GLVertexAttrib4fv : GLContext
  • GLVertexAttrib4h : GLContext
  • GLVertexAttrib4hv : GLContext
  • GLVertexAttrib4iv : GLContext
  • GLVertexAttrib4Nbv : GLContext
  • GLVertexAttrib4Niv : GLContext
  • GLVertexAttrib4Nsv : GLContext
  • GLVertexAttrib4Nub : GLContext
  • GLVertexAttrib4Nubv : GLContext
  • GLVertexAttrib4Nuiv : GLContext
  • GLVertexAttrib4Nusv : GLContext
  • GLVertexAttrib4s : GLContext
  • GLVertexAttrib4sv : GLContext
  • GLVertexAttrib4ub : GLContext
  • GLVertexAttrib4ubv : GLContext
  • GLVertexAttrib4uiv : GLContext
  • GLVertexAttrib4usv : GLContext
  • GLVertexAttribI1i : GLContext
  • GLVertexAttribI1iv : GLContext
  • GLVertexAttribI1ui : GLContext
  • GLVertexAttribI1uiv : GLContext
  • GLVertexAttribI2i : GLContext
  • GLVertexAttribI2iv : GLContext
  • GLVertexAttribI2ui : GLContext
  • GLVertexAttribI2uiv : GLContext
  • GLVertexAttribI3i : GLContext
  • GLVertexAttribI3iv : GLContext
  • GLVertexAttribI3ui : GLContext
  • GLVertexAttribI3uiv : GLContext
  • GLVertexAttribI4bv : GLContext
  • GLVertexAttribI4i : GLContext
  • GLVertexAttribI4iv : GLContext
  • GLVertexAttribI4sv : GLContext
  • GLVertexAttribI4ubv : GLContext
  • GLVertexAttribI4ui : GLContext
  • GLVertexAttribI4uiv : GLContext
  • GLVertexAttribI4usv : GLContext
  • GLVertexAttribIPointer : GLContext
  • GLVertexAttribPointer : GLContext
  • GLVertexAttribPointerNV : GLContext
  • GLVertexAttribs1dvNV : GLContext
  • GLVertexAttribs1fvNV : GLContext
  • GLVertexAttribs1hv : GLContext
  • GLVertexAttribs1svNV : GLContext
  • GLVertexAttribs2dvNV : GLContext
  • GLVertexAttribs2fvNV : GLContext
  • GLVertexAttribs2hv : GLContext
  • GLVertexAttribs2svNV : GLContext
  • GLVertexAttribs3dvNV : GLContext
  • GLVertexAttribs3fvNV : GLContext
  • GLVertexAttribs3hv : GLContext
  • GLVertexAttribs3svNV : GLContext
  • GLVertexAttribs4dvNV : GLContext
  • GLVertexAttribs4fvNV : GLContext
  • GLVertexAttribs4hv : GLContext
  • GLVertexAttribs4svNV : GLContext
  • GLVertexAttribs4ubvNV : GLContext
  • GLVertexPointer : GLContext
  • GLViewport : GLContext
  • GLWindowPos2d : GLContext
  • GLWindowPos2dv : GLContext
  • GLWindowPos2f : GLContext
  • GLWindowPos2fv : GLContext
  • GLWindowPos2i : GLContext
  • GLWindowPos2iv : GLContext
  • GLWindowPos2s : GLContext
  • GLWindowPos2sv : GLContext
  • GLWindowPos3d : GLContext
  • GLWindowPos3dv : GLContext
  • GLWindowPos3f : GLContext
  • GLWindowPos3fv : GLContext
  • GLWindowPos3i : GLContext
  • GLWindowPos3iv : GLContext
  • GLWindowPos3s : GLContext
  • GLWindowPos3sv : GLContext
  • GLXCreateContext : GLContext
  • GLXDestroyContext : GLContext
  • GLXGetCurrentContext : GLContext
  • GLXGetCurrentDrawable : GLContext

- l -

  • lerp() : Trafo

- o -

  • operator!= : SmartPtr, SceniXIterator, UPIID, UPITID, Incarnation, Chunk, Path
  • operator< : SmartPtr, UPIID, UPITID, Path
  • operator== : SmartPtr, SceniXIterator, UPIID, UPITID, Incarnation, Chunk, Trafo, Path

- q -

  • queryInterfaceType : PlugInServer

- r -

  • releaseInterface : PlugInServer

- s -

  • setPlugInFileFilter : PlugInServer

- w -

  • WGLBindSwapBarrierNV : GLContext
  • WGLBindTexImage : GLContext
  • WGLBindVideoDeviceNV : GLContext
  • WGLChoosePixelFormat : GLContext
  • WGLCreateAffinityDC : GLContext
  • WGLCreateContext : GLContext
  • WGLCreatePbuffer : GLContext
  • WGLDeleteContext : GLContext
  • WGLDeleteDC : GLContext
  • WGLDestroyPbuffer : GLContext
  • WGLEnumerateVideoDevicesNV : GLContext
  • WGLEnumGpuDevices : GLContext
  • WGLEnumGpus : GLContext
  • WGLEnumGpusFromAffinityDC : GLContext
  • WGLGetCurrentContext : GLContext
  • WGLGetCurrentDC : GLContext
  • WGLGetPbufferDC : GLContext
  • WGLGetPixelFormatAttribfv : GLContext
  • WGLGetSwapInterval : GLContext
  • WGLJoinSwapGroupNV : GLContext
  • WGLQueryCurrentContextNV : GLContext
  • WGLQueryFrameCountNV : GLContext
  • WGLQueryMaxSwapGroupsNV : GLContext
  • WGLQueryPbuffer : GLContext
  • WGLQuerySwapGroupNV : GLContext
  • WGLReleasePbufferDC : GLContext
  • WGLReleaseTexImage : GLContext
  • WGLResetFrameCountNV : GLContext
  • WGLSwapInterval : GLContext
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members - Typedefs

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
a | c | d | h | l | m | n | o | p | s | t | v

- a -

  • AttributeConstIterator : StatePass, Scene
  • AttributeContainer : StatePass, Scene
  • AttributeIterator : StatePass, Scene

- c -

  • CallbackConstIterator : Object
  • CallbackContainer : Object
  • CallbackIterator : Object
  • CameraAnimationConstIterator : Scene
  • CameraAnimationContainer : Scene
  • CameraAnimationIterator : Scene
  • CameraConstIterator : Scene
  • CameraContainer : Scene
  • CameraIterator : Scene
  • ChildrenConstIterator : Group
  • ChildrenContainer : Group
  • ChildrenIterator : Group
  • ClipPlaneConstIterator : Group
  • ClipPlaneContainer : Group
  • ClipPlaneIterator : Group

- d -

  • DrawableConstIterator : GeoNode
  • DrawableContainer : GeoNode
  • DrawableIterator : GeoNode

- h -

  • HeadLightConstIterator : Camera
  • HeadLightContainer : Camera
  • HeadLightIterator : Camera

- l -

  • LightSourceConstIterator : Group
  • LightSourceContainer : Group
  • LightSourceIterator : Group

- m -

  • MaskIterator : Switch
  • MaskKey : Switch

- n -

  • NonConstMaskIterator : Switch

- o -

  • ObjectType : Handle< T, Handle< U, V > >, Handle< T, NullType >

- p -

  • parameter_type : TypeTraits< ValueType, const_reference >, TypeTraits< ValueType, value >
  • ParameterConstIterator : RTFxBase
  • ParameterContainer : RTFxBase
  • ParameterIterator : RTFxBase
  • PassConstIterator : StateVariant
  • PassContainer : StateVariant
  • PassIterator : StateVariant
  • PrimitiveConstIterator : Shape
  • PrimitiveContainer : Shape
  • PrimitiveIterator : Shape
  • PropertyListConstIterator : PropertyListChain
  • PropertyListContainer : PropertyListChain
  • PropertyListIterator : PropertyListChain
  • PropertyMap : PropertyListImpl
  • PropertyVector : PropertyListImpl

- s -

  • StateSetContainer : GeoNode
  • SwitchMask : Switch

- t -

  • theAllocator : IAllocator

- v -

  • value_type : TypeTraits< ValueType, const_reference >, TypeTraits< ValueType, value >
  • VariantConstIterator : StateSet
  • VariantContainer : StateSet
  • VariantIterator : StateSet
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Class Members - Variables

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Related Functions
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | y | z

- a -

  • active : plane_t
  • activeKey : NBFStateSet
  • activeMaskKey : NBFSwitch
  • alignment : NBFBillboard
  • alphaFunction : NBFAlphaTestAttribute
  • ambient : NVSGScene, NVSGMaterial, NVSGLight
  • ambientColor : NBFLightSource, NBFScene
  • animation : NBFLightSource, NBFAnimatedTransform, NBFFlipbookAnimation, bone_t
  • animations : NBFAnimatedVertexAttributeSet
  • annotation : NBFNode
  • antiAliasing : NBFPointAttribute, NBFLineAttribute
  • attenuation : NBFSpotLight, NBFPointLight
  • attribs : NBFVertexAttributeAnimation
  • attributes : NBFScene

- b -

  • backAmbientColor : NBFMaterial
  • backColor : NBFScene
  • backDiffuseColor : NBFMaterial
  • backEmissiveColor : NBFMaterial
  • backFaceMode : NBFFaceAttribute
  • backImg : NBFScene
  • backIndexOfRefraction : NBFMaterial
  • backOpacityColor : NBFMaterial
  • backReflectivityColor : NBFMaterial
  • backSpecularColor : NBFMaterial
  • backSpecularExponent : NBFMaterial
  • bindings : NBFTextureAttribute
  • bindPose : NBFSkin
  • bindShapeMatrix : NBFSkin
  • bones : skin_t
  • buffer : NBFRTBufferAttribute, NBFRTFxParameter
  • bufferName : texture_t
  • byteOrder : NBFHeader
  • bytes : byteArray_t

- c -

  • camera : NBFViewState
  • cameraAnimations : NBFScene
  • cameras : NBFScene
  • castShadow : NBFLightSource
  • center : NBFLOD, trafo_t
  • chars : sstr_t, str_t
  • children : NBFGroup, switchMask_t
  • clipPlanes : NBFGroup
  • color : NBFUnlitColorAttribute
  • combinableCount : CombinableResult
  • compressedFmt : NVSGTexImageFmt
  • constantAttenuation : NVSGLight
  • context : PlugInCallback::InvalidFileInfo, PlugInCallback::IncompatibleFileInfo, PlugInCallback::UnsupportedTokenInfo, PlugInCallback::UnknownTokenInfo, PlugInCallback::UndefinedTokenInfo, PlugInCallback::InvalidValueInfo, PlugInCallback::IncompatibleValueInfo, PlugInCallback::EmptyTokenInfo
  • coordDim : texCoordSet_t
  • count : NBFRTFxParameter
  • counts : NBFSkin
  • cullMode : NBFFaceAttribute
  • currTech : NBFCgFx
  • cutoffAngle : NBFSpotLight

- d -

  • data : NBFRTFxParameter
  • dataType : texImage_t, indexSet_t
  • dayLastModified : NBFHeader
  • denormalizedNormalsCount : DenormalizedNormalsResult
  • denormalizedNormalsNumber : DenormalizedNormalsResult
  • depth : NBFRTBufferAttribute, texImage_t
  • depthClampingEnabled : NBFDepthAttribute
  • depthFunction : NBFDepthAttribute
  • depthTestingEnabled : NBFDepthAttribute
  • depthWritingEnabled : NBFDepthAttribute
  • description : NBFAnimation
  • destinationFunction : NBFBlendAttribute
  • detectedVersion : PlugInCallback::IncompatibleFileInfo
  • diffuse : NVSGMaterial, NVSGLight
  • diffuseColor : NBFLightSource
  • direction : NVSGLight, NBFSpotLight, NBFDirectedLight, NBFCamera
  • drawables : geometrySet_t

- e -

  • effect : NBFRTFxProgram
  • elementCount : NBFPrimitive
  • elementOffset : NBFPrimitive
  • elementSize : NBFRTBufferAttribute
  • emission : NVSGMaterial
  • emptyCount : EmptyResult
  • enabled : NBFLightingAttribute, NBFLightSource
  • enabledMSAlpha : NBFAlphaTestAttribute
  • enableFlags : NBFVertexAttributeSet
  • encountered : PlugInCallback::UnexpectedTokenInfo
  • entryPoint : domain_t
  • equivalentCount : EquivalenceResult
  • expected : PlugInCallback::UnexpectedTokenInfo
  • expectedVersion : PlugInCallback::IncompatibleFileInfo

- f -

  • faceWindingCCW : NBFFaceAttribute
  • failBack : NBFStencilAttribute
  • failFront : NBFStencilAttribute
  • falloffExponent : NBFSpotLight
  • farDist : NBFFrustumCamera
  • file : PlugInCallback::InvalidFileInfo, PlugInCallback::IncompatibleFileInfo, PlugInCallback::FileAccessFailedInfo, texture_t, texImage_t
  • fixedPtFmt : NVSGTexImageFmt
  • flags : texImage_t
  • floatFmt : NVSGTexImageFmt
  • floats : tweak_t
  • focusDist : NBFCamera
  • format : TraceFunctor, Log, NBFRTBufferAttribute, texture_t
  • forward : NBFAnimationState
  • frameNumber : NVSGScene
  • fromFile : NBFRTFxProgram, NBFCgFx
  • frontAmbientColor : NBFMaterial
  • frontDiffuseColor : NBFMaterial
  • frontEmissiveColor : NBFMaterial
  • frontFaceMode : NBFFaceAttribute
  • frontIndexOfRefraction : NBFMaterial
  • frontOpacityColor : NBFMaterial
  • frontReflectivityColor : NBFMaterial
  • frontSpecularColor : NBFMaterial
  • frontSpecularExponent : NBFMaterial
  • funcBack : NBFStencilAttribute
  • funcFront : NBFStencilAttribute

- g -

  • geometrySets : NBFGeoNode

- h -

  • headLights : NBFCamera
  • height : NBFRectPatches, NBFRTBufferAttribute, texImage_t, meshSet_t
  • hints : NBFObject
  • hourLastModified : NBFHeader

- i -

  • idata : indexSet_t
  • identityCount : IdentityResult
  • indexSet : NBFPrimitive
  • indices : NBFIndependentPrimitiveSet, NBFSkin, NBFIndexAnimation, meshSet_t, indexList_t
  • instanceCount : NBFPrimitive
  • integerFmt : NVSGTexImageFmt
  • intensity : NBFLightSource
  • intFmt : GLTexImageFmt
  • inverseBindMatrices : NBFSkin
  • inverseProjection : NBFMatrixCamera
  • isAutoClipPlanes : NBFViewState
  • isShared : RCObject, NBFObject
  • isStereo : NBFViewState
  • isStereoAutomatic : NBFViewState

- j -

  • joints : NBFSkin

- k -

  • key : keyVariant_t
  • keys : NBFKeyFramedAnimationDescription
  • keyStateVariantPairs : NBFStateSet

- l -

  • lightSources : NBFGroup
  • linearAttenuation : NVSGLight
  • linkID : NBFLink
  • lodRanges : RedundantLODRangesResult
  • loopCount : NBFAnimationState

- m -

  • m_accessType : FileMapping
  • m_animationFrame : AppTraverser
  • m_animationsHistogram : StatAnimatedVertexAttributeSet
  • m_arrays : StatPrimitive
  • m_bApplyingCgFx : AppTraverser
  • m_bindingStack : TextureGL, RenderTargetGLFBO
  • m_bindingTarget : TextureGL
  • m_border : TextureGL
  • m_bpl : Image
  • m_bpp : Image
  • m_bps : Image
  • m_childrenHistogram : StatGroup
  • m_className : ReflectionInfo
  • m_clientDataFormat : TextureGL
  • m_clientDataType : TextureGL
  • m_count : StatisticsBase
  • m_definedLevels : TextureGL
  • m_depth : Image
  • m_depths : StatTexture
  • m_dist : Intersection
  • m_drawBuffers : RenderTargetGLFBO
  • m_faces : StatPrimitive
  • m_file : FileMapping
  • m_fileMapping : FileMapping
  • m_format : Image
  • m_height : Image
  • m_heights : StatTexture
  • m_id : TextureGL
  • m_indexed : StatPrimitive
  • m_indices : Face
  • m_instance : ILTexLoader
  • m_internalFormat : TextureGL
  • m_interrupt : Traverser
  • m_isCritical : ProblemInfo
  • m_isp : Intersection
  • m_isStatic : PropertyListChain, PropertyListImpl
  • m_isValid : FileMapping
  • m_iter : SceniXIterator
  • m_lineLoops : StatPrimitive
  • m_lines : StatPrimitive
  • m_linesAdj : StatPrimitive
  • m_lineStripAdj : StatPrimitive
  • m_lineStrips : StatPrimitive
  • m_mappingSize : FileMapping
  • m_maxLevel : TextureGL
  • m_mftbl : Traverser
  • m_missingFeatures : ProblemInfo
  • m_nob : Image
  • m_numberOfAnimations : StatAnimatedVertexAttributeSet
  • m_numberOfAttenuated : StatSpotLight, StatPointLight
  • m_numberOfAttributes : StatStatePass
  • m_numberOfCgFxed : StatStatePass
  • m_numberOfChildren : StatGroup
  • m_numberOfColored : StatVertexAttributeSet
  • m_numberOfColors : StatVertexAttributeSet
  • m_numberOfCUDAFormats : StatRTFxProgram
  • m_numberOfDefinedParameters : StatRTFxProgram
  • m_numberOfEntryPoints : StatRTFxProgram
  • m_numberOfFaces : StatTriStrips, StatTriFans, StatTriangles, StatQuadStrips, StatQuads, StatQuadMeshes
  • m_numberOfFileDefined : StatRTFxProgram
  • m_numberOfFogCoords : StatVertexAttributeSet
  • m_numberOfFogged : StatVertexAttributeSet
  • m_numberOfIndices : StatSkin
  • m_numberOfInfluences : StatSkin
  • m_numberOfJoints : StatSkin
  • m_numberOfLumpDefined : StatRTFxProgram
  • m_numberOfMaterialed : StatStatePass
  • m_numberOfMeshes : StatMeshedPrimitiveSet
  • m_numberOfNormaled : StatVertexAttributeSet
  • m_numberOfNormals : StatVertexAttributeSet
  • m_numberOfParameters : StatRTFxProgram, StatRTFx
  • m_numberOfPasses : StatStateVariant, StatCgFx
  • m_numberOfPatches : StatPatchesBase
  • m_numberOfPTXFormats : StatRTFxProgram
  • m_numberOfRayTypes : StatRTFxProgram
  • m_numberOfSecondaryColored : StatVertexAttributeSet
  • m_numberOfSecondaryColors : StatVertexAttributeSet
  • m_numberOfSegments : StatLineStrips, StatLines
  • m_numberOfStateSets : StatGeoNode
  • m_numberOfStrips : StatStrippedPrimitiveSet
  • m_numberOfTechniques : StatCgFx
  • m_numberOfTextured : StatStatePass, StatVertexAttributeSet
  • m_numberOfTextureDimensions : StatVertexAttributeSet
  • m_numberOfTextures : StatRTFxProgram, StatRTFx, StatVertexAttributeSet
  • m_numberOfTextureUnits : StatVertexAttributeSet
  • m_numberOfTransparent : StatMaterial
  • m_numberOfTwoSidedLighting : StatFaceAttribute
  • m_numberOfVariants : StatStateSet
  • m_numberOfVertices : StatVertexAttributeSet
  • m_numImages : StatTexture
  • m_objectCode : Object
  • m_objects : StatisticsBase
  • m_oldDrawBuffer : RenderTargetGLFB
  • m_patches : StatPrimitive
  • m_pDrawable : Intersection
  • m_pixels : Image
  • m_points : StatPrimitive
  • m_polygons : StatPrimitive
  • m_pPath : Intersection
  • m_primitiveIndex : Intersection
  • m_problem : ProblemInfo
  • m_problemLog : Traverser
  • m_propertyLists : Reflection, PropertyListChain
  • m_propertyMap : PropertyListImpl
  • m_propertyVector : PropertyListImpl
  • m_quads : StatPrimitive
  • m_quadStrips : StatPrimitive
  • m_readBuffer : RenderTargetGLFBO
  • m_refCount : ILTexLoader
  • m_referenced : StatisticsBase
  • m_root : Traverser
  • m_scene : Traverser
  • m_shareGroupGL : TextureGL
  • m_sizes : StatTexture
  • m_statAlphaTestAttribute : Statistics
  • m_statAnimatedTransform : Statistics
  • m_statAnimatedVertexAttributeSet : Statistics
  • m_statBillboard : Statistics
  • m_statBlendAttribute : Statistics
  • m_statCgFx : Statistics
  • m_statDepthAttribute : Statistics
  • m_statDirectedLight : Statistics
  • m_statFaceAttribute : Statistics
  • m_statFlipbookAnimation : Statistics
  • m_statFramedIndexAnimationDescription : Statistics
  • m_statFramedTrafoAnimationDescription : Statistics
  • m_statFramedVertexAttributeAnimationDescription : Statistics
  • m_statGeoNode : Statistics
  • m_statGroup : Statistics
  • m_statIndexAnimation : Statistics
  • m_statLightingAttribute : Statistics
  • m_statLinearInterpolatedTrafoAnimationDescription : Statistics
  • m_statLinearInterpolatedVertexAttributeAnimationDescription : Statistics
  • m_statLineAttribute : Statistics
  • m_statLines : Statistics
  • m_statLineStrips : Statistics
  • m_statLOD : Statistics
  • m_statMapArray : Statistics
  • m_statMapElement : Statistics
  • m_statMapList : Statistics
  • m_statMapMatrix : Statistics
  • m_statMaterial : Statistics
  • m_statMatrixCamera : Statistics
  • m_statParallelCamera : Statistics
  • m_statPatches : Statistics
  • m_statPerspectiveCamera : Statistics
  • m_statPointAttribute : Statistics
  • m_statPointLight : Statistics
  • m_statPoints : Statistics
  • m_statPrimitives : Statistics
  • m_statQuadMeshes : Statistics
  • m_statQuadPatches : Statistics
  • m_statQuadPatches4x4 : Statistics
  • m_statQuads : Statistics
  • m_statQuadStrips : Statistics
  • m_statRectPatches : Statistics
  • m_statRTFx : Statistics
  • m_statRTFxProgram : Statistics
  • m_statShape : Statistics
  • m_statSkin : Statistics
  • m_statSpotLight : Statistics
  • m_statStatePass : Statistics
  • m_statStateSet : Statistics
  • m_statStateVariant : Statistics
  • m_statSwitch : Statistics
  • m_statTexture : Statistics
  • m_statTextureAttribute : Statistics
  • m_statTextureAttributeItem : Statistics
  • m_statTrafoAnimation : Statistics
  • m_statTransform : Statistics
  • m_statTriangles : Statistics
  • m_statTriFans : Statistics
  • m_statTriPatches : Statistics
  • m_statTriPatches4 : Statistics
  • m_statTriStrips : Statistics
  • m_statVertexAttributeAnimation : Statistics
  • m_statVertexAttributeSet : Statistics
  • m_stereoEnabled : RenderTargetGLFB
  • m_stereoTarget : RenderTargetGLFB
  • m_sumOfSizes : StatTexture
  • m_target : TextureGL
  • m_tbsize : Trackball
  • m_trafo : LightSource
  • m_transformStack : ExclusiveModelViewTraverser, SharedModelViewTraverser, ExtractGeometryTraverser
  • m_traverserBits : Traverser
  • m_triFans : StatPrimitive
  • m_tris : StatPrimitive
  • m_trisAdj : StatPrimitive
  • m_triStripAdj : StatPrimitive
  • m_triStrips : StatPrimitive
  • m_type : Image
  • m_vertexIndices : Intersection
  • m_viewState : Traverser
  • m_width : Image
  • m_widths : StatTexture
  • magFilter : NBFTextureAttributeItem
  • maskKey : switchMask_t
  • masks : NBFSwitch
  • maxAnisotropy : NBFTextureAttributeItem
  • meshes : NBFMeshedPrimitiveSet
  • minFilter : NBFTextureAttributeItem
  • minuteLastModified : NBFHeader
  • missingCount : MissingResult
  • monthLastModified : NBFHeader

- n -

  • name : PlugInCallback::DegenerateGeometryInfo, NBFRTFxParameter, parameter_t, domain_t, sampler_t, tweak_t
  • nbfBugfixLevel : NBFHeader
  • nbfMajorVersion : NBFHeader
  • nbfMinorVersion : NBFHeader
  • nearDist : NBFFrustumCamera
  • nonLinearFmt : NVSGTexImageFmt
  • normal : plane_t, skin_t
  • normalizeEnableFlags : NBFVertexAttributeSet
  • normalizeFlags : NBFAnimatedVertexAttributeSet
  • nullNormalsCount : NullNormalsResult
  • nullNormalsNumber : NullNormalsResult
  • numAttributes : NBFScene
  • numberOfAnimationFrames : NBFScene
  • numberOfIndices : indexSet_t
  • numBindings : NBFTextureAttribute
  • numBones : skin_t
  • numBytes : byteArray_t
  • numCameraAnimations : NBFScene
  • numCameras : NBFScene
  • numChars : sstr_t, str_t
  • numChildren : NBFGroup, switchMask_t
  • numClipPlanes : NBFGroup
  • numComponents : parameter_t
  • numCounts : NBFSkin
  • numDrawables : geometrySet_t
  • numHeadLights : NBFCamera
  • numIndices : NBFIndependentPrimitiveSet, indexList_t
  • numJoints : NBFSkin
  • numKeys : NBFKeyFramedAnimationDescription
  • numLightSource : NBFGroup
  • numMasks : NBFSwitch
  • numMeshes : NBFMeshedPrimitiveSet
  • numObjectLinks : NBFScene
  • numParameters : NBFRTFxBase
  • numRanges : NBFLOD
  • numSamplers : NBFCgFx
  • numSkins : NBFSkinnedTriangles
  • numStateAttribs : NBFStatePass
  • numStatePasses : NBFStateVariant
  • numStateSets : NBFGeoNode
  • numStateVariants : NBFStateSet
  • numSteps : NBFFramedAnimationDescription
  • numStrips : NBFStrippedPrimitiveSet
  • numTexCoords : texCoordSet_t
  • numTweaks : NBFCgFx, tweak_t
  • numValues : tweak_t
  • numVData : vertexAttrib_t
  • nvsgBugfixLevel : NBFHeader
  • nvsgMajorVersion : NBFHeader
  • nvsgMinorVersion : NBFHeader

- o -

  • objectAnno : NBFObject
  • objectCode : AnalyzeResult, NBFObject, NBFViewState
  • objectCount : AnalyzeResult
  • objectDataID : NBFObject
  • objectLinks : NBFScene
  • objectName : NBFObject
  • observer : NBFLink
  • offset : plane_t
  • orientation : trafo_t

- p -

  • param : parameter_t
  • parameters : NBFRTFxBase
  • pixelFormat : texImage_t
  • pixels : texImage_t
  • polygonOffsetEnabled : NBFFaceAttribute
  • polygonOffsetFactor : NBFFaceAttribute
  • polygonOffsetUnits : NBFFaceAttribute
  • position : NVSGLight, PlugInCallback::DegenerateGeometryInfo, PlugInCallback::UnsupportedTokenInfo, PlugInCallback::UnknownTokenInfo, PlugInCallback::UnexpectedTokenInfo, PlugInCallback::UndefinedTokenInfo, PlugInCallback::InvalidValueInfo, PlugInCallback::IncompatibleValueInfo, PlugInCallback::EmptyTokenInfo, NBFSpotLight, NBFPointLight, NBFCamera
  • primitiveRestartIndex : indexSet_t
  • primitiveType : NBFPrimitive
  • program : NBFRTFx
  • projection : NBFMatrixCamera

- q -

  • quadraticAttenuation : NVSGLight

- r -

  • ranges : NBFLOD
  • raytype : domain_t
  • reducedCount : EquivalenceResult, CombinableResult
  • redundantIndexSetCount : RedundantIndexSetResult
  • redundantLODRanges : RedundantLODRangesResult
  • redundantLODs : RedundantLODRangesResult
  • refValueBack : NBFStencilAttribute
  • refValueFront : NBFStencilAttribute
  • renderFlags : NBFPrimitive
  • reserved : NBFHeader
  • root : NBFScene
  • rotationAxis : NBFBillboard

- s -

  • samplers : NBFCgFx
  • scaleOrientation : trafo_t
  • scaling : trafo_t
  • scene : NBFHeader
  • secondLastModified : NBFHeader
  • separate : NBFStencilAttribute
  • shininess : NVSGMaterial
  • shortStrippedCount : ShortStrippedResult
  • shortStrippedNumber : ShortStrippedResult
  • signature : NBFHeader
  • singleChildCount : SingleChildResult
  • size : NBFTriPatches, NBFQuadPatches, NBFPointAttribute, vertexAttrib_t
  • skin : NBFPrimitive, NBFPrimitiveSet
  • skinningType : NBFSkin
  • skins : NBFSkinnedTriangles
  • source : NBFCgFx
  • sourceFunction : NBFBlendAttribute
  • sourceObject : NBFObject
  • specular : NVSGMaterial, NVSGLight
  • specularColor : NBFLightSource
  • speed : NBFAnimationState
  • spotCutoff : NVSGLight
  • spotExponent : NVSGLight
  • stateAttribs : NBFStatePass
  • statePasses : NBFStateVariant
  • stateSet : geometrySet_t
  • stereoAutomaticFactor : NBFViewState
  • stereoEyeDistance : NBFViewState
  • stippleFactor : NBFLineAttribute
  • stipplePattern : NBFLineAttribute
  • str : tweak_t
  • strips : NBFStrippedPrimitiveSet
  • subject : NBFLink
  • swinging : NBFAnimationState
  • systemSpecificErrorCode : PlugInCallback::FileMappingFailedInfo, PlugInCallback::FileAccessFailedInfo

- t -

  • target : texImage_t
  • targetDistance : NBFViewState
  • testing : NBFStencilAttribute
  • texAttribItem : texBinding_t
  • texBorderColor : NBFTextureAttributeItem
  • texCoords : texCoordSet_t
  • texEnvColor : NBFTextureAttributeItem
  • texEnvMode : NBFTextureAttributeItem
  • texEnvScale : NBFTextureAttributeItem
  • texGenMode : NBFTextureAttributeItem
  • texGenPlane : NBFTextureAttributeItem
  • texImg : NBFTextureAttributeItem, texture_t, sampler_t
  • texture : NBFRTFxParameter
  • texUnit : texBinding_t
  • texWrapR : NBFTextureAttributeItem
  • texWrapS : NBFTextureAttributeItem
  • texWrapT : NBFTextureAttributeItem
  • threshold : NBFAlphaTestAttribute
  • token : PlugInCallback::UnsupportedTokenInfo, PlugInCallback::UnknownTokenInfo, PlugInCallback::UndefinedTokenInfo, PlugInCallback::EmptyTokenInfo
  • trafo : NBFTextureAttributeItem, NBFTransform
  • trafos : NBFTrafoAnimation
  • translation : trafo_t
  • tweaks : NBFCgFx, tweak_t
  • twoSidedLighting : NBFFaceAttribute
  • type : NBFRTFxParameter, parameter_t, tweak_t, vertexAttrib_t, NVSGTexImageFmt, GLTexImageFmt

- u -

  • UnifyTarget : UnifyTraverser
  • unusedVerticesCount : UnusedVerticesResult
  • uploadHint : NVSGTexImageFmt, GLTexImageFmt
  • upVector : NBFCamera
  • usrFmt : NVSGTexImageFmt, GLTexImageFmt

- v -

  • valMaskBack : NBFStencilAttribute
  • valMaskFront : NBFStencilAttribute
  • value : PlugInCallback::InvalidValueInfo
  • value0 : PlugInCallback::IncompatibleValueInfo
  • value0Name : PlugInCallback::IncompatibleValueInfo
  • value1 : PlugInCallback::IncompatibleValueInfo
  • value1Name : PlugInCallback::IncompatibleValueInfo
  • valueName : PlugInCallback::InvalidValueInfo
  • valueType : PlugInCallback::InvalidValueInfo, PlugInCallback::IncompatibleValueInfo
  • variableName : NBFRTBufferAttribute
  • variant : keyVariant_t
  • vattribs : NBFVertexAttributeSet
  • vdata : vertexAttrib_t
  • vertex : skin_t
  • vertexAttributeSet : NBFPrimitive, NBFPrimitiveSet
  • verticesPerPatch : NBFPrimitive
  • viewState : NBFHeader

- w -

  • weight : bone_t
  • weights : NBFSkin
  • width : NBFRectPatches, NBFRTBufferAttribute, NBFLineAttribute, texImage_t, meshSet_t
  • windowOffset : NBFFrustumCamera
  • windowSize : NBFFrustumCamera
  • writeMaskBack : NBFStencilAttribute
  • writeMaskFront : NBFStencilAttribute

- y -

  • yearLastModified : NBFHeader

- z -

  • zfailBack : NBFStencilAttribute
  • zfailFront : NBFStencilAttribute
  • zpassBack : NBFStencilAttribute
  • zpassFront : NBFStencilAttribute
Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Namespace Index

SceniX Namespace List

Here is a list of all documented namespaces with brief descriptions:
nvgl | Namespace for OpenGL
nvmath | Namespace for mathematical helper functions and classes
nvsg | Scene graph classes - core SceniX
nvtraverser | Scenegraph traverser classes
nvui | Namespace for user interface and interaction classes
nvutil | Nvutil namespace
nvutil::IO | IO namespace
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: nvgl Namespace Reference

nvgl Namespace Reference

Namespace for OpenGL. More...

Classes

class | BufferGL
This class uses an OpenGL buffer object as storage for the data of an nvsg::Buffer. For all operations on an nvgl::BufferGL object it is necessary to have a valid OpenGL context current. More...
class | DisplayListGL
struct | GLTexImageFmt
GLTexImageFmt specifies the format and data type of a texture image. More...
struct | NVSGTexImageFmt
Internal data structure used to describe formats. More...
class | GLContext
Wrapper for OpenGL functions to provide caching, extension handling, and, in debug mode, error handling per context. More...
class | GLResourceDeleter
class | GLDALDataCreator
struct | GLDALData
struct | GLTextureCache
struct | GLDisplayListCache
struct | GLArrayBufferCache
struct | GLElementArrayBufferCache
struct | GLPixelBufferCache
struct | GLEvalVertexAttrib
struct | GLEvalVertexAttribUnifiedMemory
struct | GLEvalVertexAttrib2
struct | GLEvalVertexAttrib3
class | GLFunctions
The GLFunctions class holds the OpenGL extension function pointers. More...
class | WGLFunctions
class | GLXFunctions
class | GLObjectRendererGLStateCache
class | GLObjectRendererTextureCache
class | RLResource
class | RMGResource
class | TextureInfo
class | MGResource
class | TGResource
struct | VertexAttributeFormat
class | VertexDeclaration
class | VertexBufferInfo
class | IndexBufferInfo
class | DisplayListInfo
class | DIResource
class | GLObjectRenderer
class | GLObjects
The GLObjects class is a container of OpenGL objects. More...
class | GLRenderListProcessor
class | RenderbufferGL
RenderbufferGL is a wrapper around OpenGL renderbuffers. It can be used as attachment by nvgl::RenderTargetGLFBO or as standalone object. If the buffer is used as attachment the size is managed by the RenderTarget. More...
class | RenderContextGL
RenderContextGL wraps an OpenGL context. More...
class | RenderContextGLStack
class | ShareGroupGLTask
A ShareGroupTask is a small task which can be executed in the GL thread of a ShareGroup. More...
class | ShareGroupGL
class | ShareGroupGLResourceHolder
A ShareGroupGLResourceHolder holds a reference to a Resource in a ShareGroupGL. It'll keep the used count of the resource always up to date. More...
class | RenderContextGLFormat
class | RendererGLFSQ
Renderer to draw a "Full Screen" (ie: viewport-filling) quad, using a supplied CgFX. More...
class | RenderTargetGL
RenderTargetGL is the base class for OpenGL based RenderTargets like nvgl::RenderTargetGLFB and nvgl::RenderTargetGLFBO. It contains basic OpenGL functionality like OpenGL context managment, framebuffer grabbing and clearing the background. More...
class | RenderTargetGLFB
RenderTarget for the OpenGL framebuffer. If the attached OpenGL context has a stereo pixelformat stereo will be enabled automatically. More...
class | RenderTargetGLFBO
This RenderTarget supports OpenGL offscreen rendering with FBOs. It is possible to render to nvgl::TextureGL objects for streaming textures and nvgl::RenderbufferGL objects. Stereo is also supported by attaching separate objects to the left and right eye targets. More...
class | SceneRendererGL2
SceneRendererGL2 is an OpenGL 2.1 based renderer. The OpenGL context used during the first render call must not be changed for successive calls. It is necessary to remove all references to this object before the attached OpenGL context gets destroyed. Deleting this object after destroying the corresponding OpenGL context will result in a crash during resource cleanup. OpenGL resources like VBOs, display lists and textures will be shared between multiple SceneRendererGL2 objects if the corresponding OpenGL contexts are being shared. More...
class | TextureGL
Base class to represent an OpenGL texture. More...
class | TextureGL1D
Class for 1D OpenGL textures. More...
class | TextureGL1DArray
Class for 1D array OpenGL textures. More...
class | TextureGL2D
Class for 2D OpenGL textures. More...
class | TextureGLRectangle
Class for rectangle OpenGL textures. More...
class | TextureGL2DArray
Class for 2D array OpenGL textures. More...
class | TextureGL3D
Class for 3D OpenGL textures. More...
class | TextureGLCubemap
Class for cubemap OpenGL textures. More...
class | TextureGLCubemapArray
Class for cubemap array OpenGL textures. More...
class | TextureGLBuffer
Class for buffer OpenGL textures. More...
class | TextureGL2DMultisample
Class for 2D multisample OpenGL textures. More...
class | TextureGL2DMultisampleArray
Class for 2D multisample array OpenGL textures. More...

Typedefs

typedef nvutil::Singleton<
WGLFunctions > 		theWGLFunctions
typedef nvutil::Singleton<
GLXFunctions > 		theGLXFunctions
typedef DIResource * | DIResourceWeakPtr
typedef GLhalfARB | GLhalf
typedef nvutil::STLSet< GLuint > | NameSet
typedef NameSet::const_iterator | ConstNameSetIter
typedef nvutil::SmartPtr<
RenderbufferGL > 		SmartRenderbufferGL
typedef nvutil::SmartPtr<
ShareGroupGLTask > 		SmartShareGroupGLTask
typedef nvutil::SmartPtr<
RendererGLFSQ > 		SmartRendererGLFSQ
typedef nvutil::SmartPtr<
RenderTargetGL > 		SmartRenderTargetGL
typedef nvutil::SmartPtr<
RenderTargetGLFB > 		SmartRenderTargetGLFB
typedef nvutil::SmartPtr<
SceneRendererGL2 > 		SmartSceneRendererGL2

Enumerations

enum {
NVSG_ARRAY_BUFFER = 0, NVSG_FIRST_VERTEX_BUFFER = NVSG_ARRAY_BUFFER, NVSG_ELEMENT_ARRAY_BUFFER, NVSG_LAST_VERTEX_BUFFER = NVSG_ELEMENT_ARRAY_BUFFER,
NVSG_PIXEL_PACK_BUFFER, NVSG_FIRST_PIXEL_BUFFER = NVSG_PIXEL_PACK_BUFFER, NVSG_PIXEL_UNPACK_BUFFER, NVSG_LAST_PIXEL_BUFFER = NVSG_PIXEL_UNPACK_BUFFER,
NVSG_COPY_READ_BUFFER, NVSG_FIRST_COPY_BUFFER = NVSG_COPY_READ_BUFFER, NVSG_COPY_WRITE_BUFFER, NVSG_LAST_COPY_BUFFER = NVSG_COPY_WRITE_BUFFER,
NVSG_TEXTURE_BUFFER, NVSG_NUM_VERTEX_BUFFERS = NVSG_LAST_VERTEX_BUFFER - NVSG_FIRST_VERTEX_BUFFER + 1, NVSG_NUM_PIXEL_BUFFERS = NVSG_LAST_PIXEL_BUFFER - NVSG_FIRST_PIXEL_BUFFER + 1, NVSG_NUM_COPY_BUFFERS = NVSG_LAST_COPY_BUFFER - NVSG_FIRST_COPY_BUFFER + 1,
NVSG_NUM_TEXTURE_BUFFERS = 1, NVSG_NUM_BUFFERS = NVSG_NUM_VERTEX_BUFFERS + NVSG_NUM_PIXEL_BUFFERS + NVSG_NUM_COPY_BUFFERS + NVSG_NUM_TEXTURE_BUFFERS
}
enum {
GL_INVALID_BUFFER_TARGET = -1, GL_VERTEX_BUFFER_INTERLEAVED_GENERIC = 0, GL_FEEDBACK_BUFFER_INTERLEAVED_GENERIC = 1, GL_VERTEX_BUFFER_FIRST = GL_VERTEX_BUFFER_INTERLEAVED_GENERIC,
GL_VERTEX_BUFFER_LAST = GL_FEEDBACK_BUFFER_INTERLEAVED_GENERIC, GL_INDEX_BUFFER_UNSIGNED_BYTE, GL_INDEX_BUFFER_FIRST = GL_INDEX_BUFFER_UNSIGNED_BYTE, GL_INDEX_BUFFER_UNSIGNED_SHORT,
GL_INDEX_BUFFER_UNSIGNED_INT, GL_INDEX_BUFFER_LAST = GL_INDEX_BUFFER_UNSIGNED_INT, GL_NUM_BUFFER_TARGETS
}
enum | { GL_BUFFER = 0x00000001, GL_DL = 0x00000002, GL_TEX = 0x00000004 }
enum | { RES_VERTEX_BUFFER, RES_INDEX_BUFFER, RES_DISPLAY_LIST, RES_TEXTURE }
enum | { NVSG_MAX_TEXTURE_IMAGES = 32 }

Functions

GLContext * glContext ()
Get the GLContext of the current thread.
bool | equalf (GLfloat a, GLfloat b)
Fast float compare helper.
bool | equal3f (GLfloat a1, GLfloat a2, GLfloat a3, const GLfloat *b)
Fast float compare helper.
bool | equal3fv (const GLfloat *a, const GLfloat *b)
Fast float compare helper.
bool | equal4f (GLfloat a1, GLfloat a2, GLfloat a3, GLfloat a4, const GLfloat *b)
Fast float compare helper.
bool | equal4fv (const GLfloat *a, const GLfloat *b)
Fast float compare helper.
void | GLAccum (GLenum op, GLfloat value)
Replacement of glAccum.
void | GLActiveStencilFace (GLenum face)
Replacement of glActiveStencilFaceEXT.
void | GLActiveTexture (GLenum texture)
Replacement of glActiveTexture.
void | GLPatchParameterfv (GLenum pname, const GLfloat *values)
Replacement of glPatchParameterfvNV.
void | GLPatchParameteri (GLenum pname, GLint value)
Replacement of glPatchParameteriNV.
void | GLActiveVarying (GLuint program, const GLchar *name)
Replacement of glActiveVaryingNV.
void | GLAlphaFunc (GLenum func, GLclampf ref)
Replacement of glAlphaFunc.
void | GLResetAlphaFunc ()
Helper function to reset alpha function and alpha reference value.
GLboolean | GLAreProgramsResident (GLsizei n, const GLuint *programs, GLboolean *residences)
Replacement of glAreProgramsResidentNV.
GLboolean | GLAreTexturesResident (GLsizei n, const GLuint *textures, GLboolean *residences)
Replacement of glAreTexturesResident.
void | GLArrayElement (GLint i)
Replacement of glArrayElement.
void | GLAttachObject (GLhandleARB containerObj, GLhandleARB attachedObj)
Replacement of glAttachObjectARB.
void | GLAttachShader (GLuint program, GLuint shader)
Replacement of glAttachShader.
void | GLBegin (GLenum mode)
Replacement of glBegin.
void | GLBeginQuery (GLenum target, GLuint id)
Replacement of glBeginQuery.
void | GLBeginTransformFeedbackNV (GLenum primitiveMode)
Replacement of glBeginTransformFeedbackNV.
void | GLBeginTransformFeedback (GLenum primitiveMode)
Replacement of glBeginTransformFeedback.
void | GLBeginConditionalRenderNV (GLuint id, GLenum mode)
Replacement of glBeginConditionalRenderNV.
void | GLBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glBlendColor.
void | GLBindAttribLocation (GLuint program, GLuint index, const GLchar *name)
Replacement of glBindAttribLocation.
void | GLBindBuffer (GLenum target, GLuint id)
Replacement of glBindBuffer.
void | GLBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer)
Replacement of glBindBufferBaseNV.
void | GLBindBufferBase (GLenum target, GLuint index, GLuint buffer)
Replacement of glBindBufferBase.
void | GLBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset)
Replacement of glBindBufferOffsetNV.
void | GLBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Replacement of glBindBufferRangeNV.
void | GLBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
Replacement of glBindBufferRange.
void | GLBufferData (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage)
Replacement of glBufferData.
void | GLBufferSubData (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data)
Replacement of glBufferSubData.
void | GLDeleteBuffers (GLsizei n, const GLuint *buffers)
Replacement of glDeleteBuffers.
void | GLDeleteFences (GLsizei n, const GLuint *fences)
Replacement of glDeleteFencesNV.
void | GLGenBuffers (GLsizei n, GLuint *buffers)
Replacement of glGenBuffers.
void | GLGenFences (GLsizei n, GLuint *fences)
Replacement of glGenFencesNV.
GLvoid * | GLMapBuffer (GLenum target, GLenum access)
Replacement of glMapBuffer.
void | GLUnlockArrays ()
Replacement of glUnlockArrays.
void | GLUniform1f (GLint location, GLfloat v0)
Replacement of glUniform1f.
void | GLUniform1fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform1fv.
void | GLUniform1i (GLint location, GLint v0)
Replacement of glUniform1i.
void | GLUniform1iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform1iv.
void | GLUniform1ui (GLint location, GLuint v0)
Replacement of glUniform1uiEXT.
void | GLUniform1uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform1uivEXT.
void | GLUniform2f (GLint location, GLfloat v0, GLfloat v1)
Replacement of glUniform2f.
void | GLUniform2fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform2fv.
void | GLUniform2i (GLint location, GLint v0, GLint v1)
Replacement of glUniform2i.
void | GLUniform2iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform2iv.
void | GLUniform2ui (GLint location, GLuint v0, GLuint v1)
Replacement of glUniform2ui.
void | GLUniform2uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform2uiv.
void | GLUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
Replacement of glUniform3f.
void | GLUniform3fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform3fv.
void | GLUniform3i (GLint location, GLint v0, GLint v1, GLint v2)
Replacement of glUniform3i.
void | GLUniform3iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform3iv.
void | GLUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2)
Replacement of glUniform3ui.
void | GLUniform3uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform3uiv.
void | GLUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
Replacement of glUniform4f.
void | GLUniform4fv (GLint location, GLsizei count, const GLfloat *value)
Replacement of glUniform4fv.
void | GLUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
Replacement of glUniform4i.
void | GLUniform4iv (GLint location, GLsizei count, const GLint *value)
Replacement of glUniform4iv.
void | GLUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
Replacement of glUniform4ui.
void | GLUniform4uiv (GLint location, GLsizei count, const GLuint *value)
Replacement of glUniform4uiv.
void | GLUniformBuffer (GLuint program, GLint location, GLuint buffer)
Replacement of glUniformBufferEXT.
void | GLUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2fv.
void | GLUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2x3fv.
void | GLUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix2x4fv.
void | GLUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3fv.
void | GLUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3x2fv.
void | GLUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix3x4fv.
void | GLUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4fv.
void | GLUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4x2fv.
void | GLUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
Replacement of glUniformMatrix4x3fv.
GLboolean | GLUnmapBuffer (GLenum target)
Replacement of glUnmapBuffer.
void | GLUseProgram (GLuint program)
Replacement of glUseProgram.
void | GLUseProgramObject (GLhandleARB programObj)
Replacement of glUseProgramObjectARB.
void | GLValidateProgram (GLuint program)
Replacement of glValidateProgram.
GLboolean | GLIsBuffer (GLuint name)
Replacement of glIsBuffer.
void | GLBindFragDataLocation (GLuint program, GLuint color, const GLchar *name)
Replacement of glBindFragDataLocationEXT.
void | GLBindProgram (GLenum target, GLuint id)
Replacement of glBindProgramARB.
void | GLBitmap (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)
Replacement of glBitmap.
void | GLBlendEquation (GLenum mode)
Replacement of glBlendEquation.
void | GLBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
Replacement of glBlendEquationSeparate.
void | GLBlendFunc (GLenum sfactor, GLenum dfactor)
Replacement of glBlendFunc.
void | GLResetBlendFunc ()
Helper function to reset the blend function.
void | GLBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
Replacement of glBlendFunc.
void | GLResetBlendFuncSeparate ()
Helper function to reset the blend function, using the GL_EXT_blend_func_separate extention.
void | GLBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
Replacement of glBlitFramebufferEXT.
void | GLBindTexture (GLenum target, GLuint texture)
Replacement of glBindTexture.
void | GLCallList (GLuint list)
Replacement of glCallList.
void | GLCallLists (GLsizei n, GLenum type, const GLvoid *lists)
Replacement of glCallLists.
void | GLClampColor (GLenum target, GLenum clamp)
Replacement of glClampColorARB.
void | GLClear (GLbitfield mask)
Replacement of glClear.
void | GLClearAccum (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glClearAccum.
void | GLClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
Replacement of glClearColor.
void | GLClearColorIi (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glClearColorIiEXT.
void | GLClearColorIui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glClearColorIuiEXT.
void | GLResetClearColor ()
Helper function to reset the clear color.
void | GLClearDepth (GLclampd depth)
Replacement of glClearDepth.
void | GLClearDepthd (GLdouble depth)
Replacement of glClearDepthd.
void | GLResetClearDepth ()
Helper function to reset the clear depth.
void | GLClearIndex (GLfloat c)
Replacement of glClearIndex.
void | GLClearStencil (GLint s)
Replacement of glClearStencil.
void | GLResetClearStencil ()
Helper function to reset the stencil clear value.
void | GLClientActiveTexture (GLenum texture)
Replacement of glClientActiveTexture.
void | GLClipPlane (GLenum plane, const GLdouble *equation)
Replacement of glClipPlane.
void | GLResetClipPlaneEquation (GLenum plane)
Helper function to reset a clip plane equation.
void | GLColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glColor3b.
void | GLColor3bv (const GLbyte *v)
Replacement of glColor3bv.
void | GLColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glColor3d.
void | GLColor3dv (const GLdouble *v)
Replacement of glColor3dv.
void | GLColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glColor3f.
void | GLColor3fv (const GLfloat *v)
Replacement of glColor3fv.
void | GLColor3h (GLhalf red, GLhalf green, GLhalf blue)
Replacement of glColor3hNV.
void | GLColor3hv (const GLhalf *v)
Replacement of glColor3hv.
void | GLColor3i (GLint red, GLint green, GLint blue)
Replacement of glColor3i.
void | GLColor3iv (const GLint *v)
Replacement of glColor3iv.
void | GLColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glColor3s.
void | GLColor3sv (const GLshort *v)
Replacement of glColor3sv.
void | GLColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glColor3ub.
void | GLColor3ubv (const GLubyte *v)
Replacement of glColor3ubv.
void | GLColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glColor3ui.
void | GLColor3uiv (const GLuint *v)
Replacement of glColor3uiv.
void | GLColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glColor3us.
void | GLColor3usv (const GLushort *v)
Replacement of glColor3usv.
void | GLColor4b (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)
Replacement of glColor4b.
void | GLColor4bv (const GLbyte *v)
Replacement of glColor4bv.
void | GLColor4d (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)
Replacement of glColor4d.
void | GLColor4dv (const GLdouble *v)
Replacement of glColor4dv.
void | GLColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
Replacement of glColor4f.
void | GLColor4fv (const GLfloat *v)
Replacement of glColor4fv.
void | GLColor4h (GLhalf red, GLhalf green, GLhalf blue, GLhalf alpha)
Replacement of glColor4hNV.
void | GLColor4hv (const GLhalf *v)
Replacement of glColor4hv.
void | GLColor4i (GLint red, GLint green, GLint blue, GLint alpha)
Replacement of glColor4i.
void | GLColor4iv (const GLint *v)
Replacement of glColor4iv.
void | GLColor4s (GLshort red, GLshort green, GLshort blue, GLshort alpha)
Replacement of glColor4s.
void | GLColor4sv (const GLshort *v)
Replacement of glColor4sv.
void | GLColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
Replacement of glColor4ub.
void | GLColor4ubv (const GLubyte *v)
Replacement of glColor4ubv.
void | GLColor4ui (GLuint red, GLuint green, GLuint blue, GLuint alpha)
Replacement of glColor4ui.
void | GLColor4uiv (const GLuint *v)
Replacement of glColor4uiv.
void | GLColor4us (GLushort red, GLushort green, GLushort blue, GLushort alpha)
Replacement of glColor4us.
void | GLColor4usv (const GLushort *v)
Replacement of glColor4usv.
void | GLColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
Replacement of glColorMask.
void | GLColorMaskIndexed (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
Replacement of glColorMaskIndexedEXT.
void | GLResetColorMask ()
Helper function to reset the color mask.
void | GLColorMaterial (GLenum face, GLenum mode)
Replacement of glColorMaterial.
void | GLResetColorMaterialMode ()
Helper function to reset the color material mode.
void | GLColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glColorPointer.
void | GLColorSubTable (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)
Replacement of glColorSubTable.
void | GLColorTable (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)
Replacement of glColorTable.
void | GLColorTableParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glColorTableParameterfv.
void | GLColorTableParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glColorTableParameteriv.
void | GLCombinerInput (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
Replacement of glCombinerInput.
void | GLCombinerOutput (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum)
Replacement of glCombinerOutput.
void | GLCombinerParameterf (GLenum pname, GLfloat param)
Replacement of glCombinerParameterf.
void | GLCombinerParameterfv (GLenum pname, const GLfloat *params)
Replacement of glCombinerParameterfv.
void | GLCombinerParameteri (GLenum pname, GLint param)
Replacement of glCombinerParameteri.
void | GLCombinerParameteriv (GLenum pname, const GLint *params)
Replacement of glCombinerParameteriv.
void | GLCombinerStageParameterfv (GLenum stage, GLenum pname, const GLfloat *params)
Replacement of glCombinerStageParameterfv.
void | GLCompileShader (GLuint shader)
Replacement of glCompileShader.
void | GLCompressedTexImage1D (GLenum target, int level, GLenum internalformat, GLsizei width, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage1D.
void | GLCompressedTexImage2D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage2D.
void | GLCompressedTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLsizei imageSize, const void *data)
Replacement of glCompressedTexImage3D.
void | GLCompressedTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage1D.
void | GLCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage2D.
void | GLCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
Replacement of glCompressedTexSubImage3D.
void | GLConvolutionFilter1D (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)
Replacement of glConvolutionFilter1D.
void | GLConvolutionFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)
Replacement of glConvolutionFilter2D.
void | GLConvolutionParameterf (GLenum target, GLenum pname, GLfloat params)
Replacement of glConvolutionParameterf.
void | GLConvolutionParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Replacement of glConvolutionParameterfv.
void | GLConvolutionParameteri (GLenum target, GLenum pname, GLint params)
Replacement of glConvolutionParameteri.
void | GLConvolutionParameteriv (GLenum target, GLenum pname, const GLint *params)
Replacement of glConvolutionParameteriv.
void | GLCopyColorSubTable (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)
Replacement of glCopyColorSubTable.
void | GLCopyColorTable (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
Replacement of glCopyColorTable.
void | GLCopyConvolutionFilter1D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)
Replacement of glCopyConvolutionFilter1D.
void | GLCopyConvolutionFilter2D (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyConvolutionFilter2D.
void | GLCopyPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)
Replacement of glCopyPixels.
void | GLCopyTexImage1D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
Replacement of glCopyTexImage1D.
void | GLCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
Replacement of glCopyTexImage2D.
void | GLCopyTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
Replacement of glCopyTexSubImage1D.
void | GLCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.
void | GLCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glCopyTexSubImage2D.
GLuint | GLCreateProgram ()
Replacement of glCreateProgram.
GLhandleARB | GLCreateProgramObject ()
Replacement of glCreateProgramObjectARB.
GLuint | GLCreateShader (GLenum type)
Replacement of glCreateShader.
GLhandleARB | GLCreateShaderObject (GLenum shaderType)
Replacement of glCreateShaderObjectARB.
void | GLCullFace (GLenum mode)
Replacement of glCullFace.
void | GLResetCullFaceMode ()
Helper function to reset the cull face mode.
void | GLCullFaceLock (GLenum mode)
Helper function to set the cull face mode and lock it.
void | GLCullFaceUnlock (GLenum mode)
Helper function to unlock the cull face and set it.
void | GLDeleteLists (GLuint list, GLsizei range)
Replacement of glDeleteLists.
void | GLDeleteObject (GLhandleARB obj)
Replacement of glDeleteObjectARB.
void | GLDeleteProgram (GLuint program)
Replacement of glDeleteProgram.
void | GLDeletePrograms (GLsizei n, const GLuint *ids)
Replacement of glDeleteProgramsARB.
void | GLDeleteQueries (GLsizei n, const GLuint *ids)
Replacement of glDeleteQueries.
void | GLDeleteShader (GLuint shader)
Replacement of glDeleteShader.
void | GLDeleteTextures (GLsizei n, const GLuint *textures)
Replacement of glDeleteTextures.
void | GLDepthBounds (GLclampd zmin, GLclampd zmax)
Replacement of glDepthBounds.
void | GLDepthBoundsd (GLdouble zmin, GLdouble zmax)
Replacement of glDepthBoundsd.
void | GLDepthFunc (GLenum func)
Replacement of glDepthFunc.
void | GLResetDepthFunc ()
Helper function to reset the depth func.
void | GLDepthMask (GLboolean flag)
Replacement of glDepthMask.
void | GLResetDepthMask ()
Helper function to reset the depth mask.
void | GLDepthRange (GLclampd znear, GLclampd zfar)
Replacement of glDepthRange.
void | GLDepthRanged (GLdouble zNear, GLdouble zFar)
Replacement of glDepthRandedNV.
void | GLResetDepthRange ()
Helper function to reset the depth range.
void | GLDetachObject (GLhandleARB containerObj, GLhandleARB attachedObj)
Replacement of glDetachObjectARB.
void | GLDetachShader (GLuint program, GLuint shader)
Replacement of glDetachShader.
void | GLDisableAlphaTest (void)
Cached version of GLDisable( GL_ALPHA_TEST ).
void | GLDisableAutoNormal (void)
Cached version of GLDisable( GL_AUTO_NORMAL ).
void | GLDisableBlend (void)
Cached version of GLDisable( GL_BLEND ).
void | GLDisableClipPlane (GLenum plane)
Cached version of GLDisable( GL_CLIP_PLANEi ).
void | GLDisableColorLogicOp (void)
Cached version of GLDisable( GL_COLOR_LOGIC_OP ).
void | GLDisableColorMaterial (void)
Cached version of GLDisable( GL_COLOR_MATERIAL ).
void | GLDisableCullFace (void)
Cached version of GLDisable( GL_CULL_FACE ).
void | GLDisableCullFaceLock (void)
Helper function to disable the cull face and lock it.
void | GLDisableCullFaceUnlock (void)
Helper function to unlock the cull face and set it.
void | GLDisableDepthTest (void)
Cached version of GLDisable( GL_DEPTH_TEST ).
void | GLDisableDither (void)
Cached version of GLDisable( GL_DITHER ).
void | GLDisableFog (void)
Cached version of GLDisable( GL_FOG ).
void | GLDisableIndexed (GLenum target, GLuint index)
Replacement of glDiableIndexed.
void | GLDisableLight (GLenum light)
Cached version of GLDisable( GL_LIGHTi ).
void | GLDisableLighting (void)
Cached version of GLDisable( GL_LIGHTING ).
void | GLDisableLightingLock (void)
Helper function to disable lighting and lock it.
void | GLDisableLightingUnlock (void)
Helper function to unlock the lighting and disable it.
void | GLDisableLineSmooth (void)
Cached version of GLDisable( GL_LINE_SMOOTH ).
void | GLDisableLineStipple (void)
Cached version of GLDisable( GL_LINE_STIPPLE ).
void | GLDisableLogicOp (void)
Cached version of GLDisable( GL_LOGIC_OP ).
void | GLDisableNormalize (void)
Cached version of GLDisable( GL_NORMALIZE ).
void | GLDisableRescaleNormal (void)
Cached version of GLDisable( GL_RESCALE_NORMAL ).
void | GLDisablePointSmooth (void)
Cached version of GLDisable( GL_POINT_SMOOTH ).
void | GLDisablePolygonOffsetFill (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_FILL ).
void | GLDisablePolygonOffsetLine (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_LINE ).
void | GLDisablePolygonOffsetPoint (void)
Cached version of GLDisable( GL_POLYGON_OFFSET_POINT ).
void | GLDisablePolygonSmooth (void)
Cached version of GLDisable( GL_POLYGON_SMOOTH ).
void | GLDisablePolygonStipple (void)
Cached version of GLDisable( GL_POLYGON_STIPPLE ).
void | GLDisableScissorTest (void)
Cached version of GLDisable( GL_SCISSOR_TEST ).
void | GLDisableStencilTest (void)
Cached version of GLDisable( GL_STENCIL_TEST ).
void | GLDisableTexture (GLenum target)
void | GLDisableTextureGen (GLenum target)
Cached version of GLDisable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
void | GLDisable (GLenum cap)
Replacement of glDisable.
void | GLDisableColorArray (void)
Cached version of GLDisableClientState( GL_COLOR_ARRAY ).
void | GLDisableFogCoordinateArray (void)
Cached version of GLDisableClientState( GL_FOG_COORDINATE_ARRAY ).
void | GLDisableNormalArray (void)
Cached version of GLDisableClientState( GL_NORMAL_ARRAY ).
void | GLDisableSecondaryColorArray (void)
Cached version of GLDisableClientState( GL_SECONDARY_COLOR_ARRAY ).
void | GLDisableTextureCoordArray (void)
Cached version of GLDisableClientState( GL_TEXTURE_COORD_ARRAY ).
void | GLDisableVertexArray (void)
Cached version of GLDisableClientState( GL_VERTEX_ARRAY ).
void | GLDisablePrimitiveRestart ()
Cached version of GLDisableClientState( GL_PRIMITIVE_RESTART_NV ).
void | GLDisableClientState (GLenum array)
Replacement of glDisableClientState.
void | GLDisableVertexAttribArray (GLuint index)
Replacement of glDisableVertexAttribArray.
void | GLDrawArrays (GLenum mode, GLint first, GLsizei count)
Replacement of glDrawArrays.
void | GLDrawArraysInstanced (GLenum mode, GLint start, GLsizei count, GLsizei primcount)
Replacement of glDrawArraysInstancedEXT.
void | GLDrawBuffer (GLenum mode)
Replacement of glDrawBuffer.
void | GLDrawBuffers (GLsizei n, const GLenum *bufs)
Replacement of glDrawBuffersARB.
void | GLDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawElements.
void | GLDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount)
Replacement of glDrawElementsInstancedEXT.
void | GLMultiDrawArrays (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount)
Replacement of glMultiDrawArrays.
void | GLMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
Replacement of glMultiDrawElements.
void | GLDrawPixels (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glDrawPixels.
void | GLDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
Replacement of glDrawRangeElements.
void | GLEdgeFlagPointer (GLsizei stride, const GLboolean *pointer)
Replacement of glEdgeFlagPointer.
void | GLEdgeFlag (GLboolean flag)
Replacement of glEdgeFlag.
void | GLEdgeFlagv (const GLboolean *flag)
Replacement of glEdgeFlagv.
void | GLEnableAlphaTest (void)
Cached version of GLEnable( GL_ALPHA_TEST ).
void | GLResetAlphaTest ()
Helper function to reset the enable state of the alpha test.
void | GLEnableAutoNormal (void)
Cached version of GLEnable( GL_AUTO_NORMAL ).
void | GLResetAutoNormal ()
Helper function to reset the enable state of the auto normal calculation.
void | GLEnableBlend (void)
Cached version of GLEnable( GL_BLEND ).
void | GLResetBlend ()
Helper function to reset the enable state of the blending.
void | GLEnableClipPlane (GLenum plane)
Cached version of GLEnable( GL_CLIP_PLANEi ).
void | GLResetClipPlane (GLenum plane)
Helper function to reset the enable state of the clip plane plane.
void | GLEnableColorLogicOp (void)
Cached version of GLEnable( GL_COLOR_LOGIC_OP ).
void | GLResetColorLogicOp ()
Helper function to reset the enable state of the color logic operation.
void | GLEnableColorMaterial (void)
Cached version of GLEnable( GL_COLOR_MATERIAL ).
void | GLResetColorMaterial ()
Helper function to reset the enable state of the color material.
void | GLEnableCullFace (void)
Cached version of GLEnable( GL_CULL_FACE ).
void | GLResetCullFace ()
Helper function to reset the enable state of face culling.
void | GLEnableCullFaceLock (void)
Helper function to enable face culling and lock it.
void | GLEnableCullFaceUnlock (void)
Helper function to unlock the face culling and enable it.
void | GLEnableDepthTest (void)
Cached version of GLEnable( GL_DEPTH_TEST ).
void | GLResetDepthTest ()
Helper function to reset the enable state of depth testing.
void | GLEnableDither (void)
Cached version of GLEnable( GL_DITHER ).
void | GLResetDither ()
Helper function to reset the enable state of dithering.
void | GLEnableFog (void)
Cached version of GLEnable( GL_FOG ).
void | GLResetFog ()
Helper function to reset the the enable state of fogging.
void | GLEnableIndexed (GLenum target, GLuint index)
Replacement of glEnabledIndexed.
void | GLEnableLight (GLenum light)
Cached version of GLEnable( GL_LIGHTi ).
void | GLResetLight (GLenum light)
Helper function to reset the enable state of the light light.
void | GLEnableLighting (void)
Cached version of GLEnable( GL_LIGHTING ).
void | GLResetLighting ()
Helper function to reset the enable state of lighting.
void | GLEnableLineSmooth (void)
Cached version of GLEnable( GL_LINE_SMOOTH ).
void | GLResetLineSmooth ()
Helper function to reset the enable state of line smoothing.
void | GLEnableLineStipple (void)
Cached version of GLEnable( GL_LINE_STIPPLE ).
void | GLResetLineStipple ()
Helper function to reset the enable state of line stippling.
void | GLEnableLogicOp (void)
Cached version of GLEnable( GL_LOGIC_OP ).
void | GLResetLogicOp ()
Helper function to reset the enable state of logic operation.
void | GLEnableNormalize (void)
Cached version of GLEnable( GL_NORMALIZE ).
void | GLEnableRescaleNormal (void)
Cached version of GLEnable( GL_RESCALE_NORMAL ).
void | GLResetNormalize ()
Helper function to reset the enable state of GL_NORMALIZE.
void | GLResetRescaleNormal ()
Helper function to reset the enable state of GL_RESCALE_NORMAL.
void | GLEnablePointSmooth (void)
Cached version of GLEnable( GL_POINT_SMOOTH ).
void | GLResetPointSmooth ()
Helper function to reset the enable state of point smoothing.
void | GLEnablePolygonOffsetFill (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_FILL ).
void | GLResetPolygonOffsetFill ()
Helper function to reset the enable state of filled polygon offset.
void | GLEnablePolygonOffsetLine (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_LINE ).
void | GLResetPolygonOffsetLine ()
Helper function to reset the enable state of lined polygon offset.
void | GLEnablePolygonOffsetPoint (void)
Cached version of GLEnable( GL_POLYGON_OFFSET_POINT ).
void | GLResetPolygonOffsetPoint ()
Helper function to reset the enable state of pointed polygon offset.
void | GLEnablePolygonSmooth (void)
Cached version of GLEnable( GL_POLYGON_SMOOTH ).
void | GLResetPolygonSmooth ()
Helper function to reset the enable state of polygon smoothing.
void | GLEnablePolygonStipple (void)
Cached version of GLEnable( GL_POLYGON_STIPPLE ).
void | GLResetPolygonStipple ()
Helper function to reset the enable state of polygon stippling.
void | GLEnableScissorTest (void)
Cached version of GLEnable( GL_SCISSOR_TEST ).
void | GLResetScissorTest ()
Helper function to reset the enable state of scissor testing.
void | GLEnableStencilTest (void)
Cached version of GLEnable( GL_STENCIL_TEST ).
void | GLResetStencilTest ()
Helper function to reset the enable state of stencil testing.
void | GLEnableTexture (GLenum target)
void | GLResetTexture (GLenum target)
Helper function to reset the enable state of texture target target.
void | GLEnableTextureGen (GLenum target)
Cached version of GLEnable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
void | GLEnable (GLenum cap)
Replacement of glEnable.
void | GLEnableColorArray (void)
Cached version of GLEnableClientState( GL_COLOR_ARRAY ).
void | GLEnableFogCoordinateArray (void)
Cached version of GLEnableClientState( GL_FOG_COORDINATE_ARRAY ).
void | GLEnableNormalArray (void)
Cached version of GLEnableClientState( GL_NORMAL_ARRAY ).
void | GLEnableSecondaryColorArray (void)
Cached version of GLEnableClientState( GL_SECONDARY_COLOR_ARRAY ).
void | GLEnableTextureCoordArray (void)
Cached version of GLEnableClientState( GL_TEXTURE_COORD_ARRAY ).
void | GLEnableVertexArray (void)
Cached version of GLEnableClientState( GL_VERTEX_ARRAY ).
void | GLEnablePrimitiveRestart ()
Cached version of GLEnableClientState( GL_PRIMITIVE_RESTART_NV ).
void | GLEnableVertexAttribArrayUnified ()
void | GLDisableVertexAttribArrayUnified ()
void | GLEnableElementArrayUnified ()
void | GLDisableElementArrayUnified ()
void | GLEnableClientState (GLenum array)
Replacement of glEnableClientState.
void | GLEnableVertexAttribArray (GLuint index)
Replacement of glEnableVertexAttribArray.
void | GLEnd (void)
Replacement of glEnd.
void | GLEndList (void)
Replacement of glEndList.
void | GLEndConditionalRenderNV ()
Replacement of glEndConditionalRenderNV.
void | GLEndQuery (GLenum target)
Replacement of glEndQuery.
void | GLEndTransformFeedbackNV ()
Replacement of glEndTransformFeedbackNV.
void | GLEndTransformFeedback ()
Replacement of glEndTransformFeedback.
void | GLEvalCoord1d (GLdouble u)
Replacement of glEvalCoord1d.
void | GLEvalCoord1f (GLfloat u)
Replacement of glEvalCoord1f.
void | GLEvalCoord2d (GLdouble u, GLdouble v)
Replacement of glEvalCoord2d.
void | GLEvalCoord2f (GLfloat u, GLfloat v)
Replacement of glEvalCoord2f.
void | GLEvalMesh1 (GLenum mode, GLint i1, GLint i2)
Replacement of glEvalMesh1.
void | GLEvalMesh2 (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)
Replacement of glEvalMesh2.
void | GLEvalPoint1 (GLint i)
Replacement of glEvalPoint1.
void | GLEvalPoint2 (GLint i, GLint j)
Replacement of glEvalPoint2.
void | GLExecuteProgram (GLenum target, GLuint id, const GLfloat *params)
Replacement of glExecuteProgramNV.
void | GLFeedbackBuffer (GLsizei size, GLenum type, GLfloat *buffer)
Replacement of glFeedbackBuffer.
void | GLFinalCombinerInput (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)
Replacement of glFinalCombinerInput.
void | GLFinish (void)
Replacement of glFinish.
void | GLFinishFence (GLuint fence)
Replacement of glFinishFenceNV.
void | GLFlush (void)
Replacement of glFlush.
void | GLFlushPixelDataRange (GLenum target)
Replacement of glFlushPixelDataRangeNV.
void | GLFlushVertexArrayRange ()
Replacement of glFlushVertexArrayRange.
void | GLFogColor (const GLfloat *color)
Cached version of GLFog[fv|iv]( GL_FOG_COLOR, params ).
void | GLResetFogColor ()
Helper function to reset the fog color.
void | GLFogCoordd (GLdouble fog)
Replacement of glFogCoordd.
void | GLFogCoorddv (const GLdouble *fog)
Replacement of glFogCoorddv.
void | GLFogCoordf (GLfloat fog)
Replacement of glFogCoordf.
void | GLFogCoordfv (const GLfloat *fog)
Replacement of glFogCoordfv.
void | GLFogCoordh (GLhalf fog)
Replacement of glFogCoordh.
void | GLFogCoordhv (const GLhalf *fog)
Replacement of glFogCoordhv.
void | GLFogCoordPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glFogCoordPointer.
void | GLFogDensity (GLfloat density)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_DENSITY, param[s] ).
void | GLResetFogDensity ()
Helper function to reset the fog density.
void | GLFogEnd (GLfloat end)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ).
void | GLResetFogEnd ()
Helper function to reset the fog end value.
void | GLFogf (GLenum pname, GLfloat param)
Replacement of glFogf.
void | GLFogfv (GLenum pname, const GLfloat *params)
Replacement of glFogfv.
void | GLFogi (GLenum pname, GLint param)
Replacement of glFogi.
void | GLFogiv (GLenum pname, const GLint *params)
Replacement of glFogiv.
void | GLFogMode (GLenum mode)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ).
void | GLResetFogMode ()
Helper function to reset the fog mode.
void | GLFogStart (GLfloat start)
Cached version of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ).
void | GLResetFogStart ()
Helper function to reset the fog start value.
void | GLFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level)
Replacement of glFramebufferTextureEXT.
void | GLFramebufferTextureFace (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)
Replacement of glFramebufferTextureFaceEXT.
void | GLFrontFace (GLenum mode)
Replacement of glFrontFace.
void | GLResetFrontFace ()
Helper function to reset the front face state.
void | GLFrustum (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glFrustum.
GLuint | GLGenLists (GLsizei range)
Replacement of glGenLists.
void | GLGenPrograms (GLsizei n, GLuint *ids)
Replacement of glGenProgramsARB.
void | GLGenQueries (GLsizei n, GLuint *ids)
Replacement of glGenQueries.
void | GLGenTextures (GLsizei n, GLuint *textures)
Replacement of glGenTextures.
void | GLGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetActiveAttrib.
void | GLGetActiveUniform (GLuint program, GLuint index, GLsizei maxLength, GLsizei *length, GLsizei *size, GLenum *type, GLcharARB *name)
Replacement of glGetActiveUniform.
void | GLGetActiveVaryingNV (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetActiveVaryingNV.
void | GLGetAttachedObjects (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj)
Replacement of glGetAttachedObjectsARB.
void | GLGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)
Replacement of glGetAttachedShaders.
GLint | GLGetAttribLocation (GLuint program, const GLchar *name)
Replacement of glGetAttribLocation.
void | GLGetBooleanv (GLenum pname, GLboolean *params)
Replacement of glGetBooleanv.
void | GLGetBooleanIndexedv (GLenum target, GLuint index, GLboolean *data)
Replacement of glGetBooleanIndexedvEXT.
void | GLGetColorTable (GLenum target, GLenum format, GLenum type, GLvoid *table)
Replacement of glGetColorTable.
void | GLGetColorTableParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetColorTableParameterfv.
void | GLGetColorTableParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetColorTableParameteriv.
void | GLGetCombinerInputParameterfv (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)
Replacement of glGetCombinerInputParameterfv.
void | GLGetCombinerInputParameteriv (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)
Replacement of glGetCombinerInputParameteriv.
void | GLGetCombinerOutputParameterfv (GLenum stage, GLenum portion, GLenum pname, GLfloat *params)
Replacement of glGetCombinerOutputParameterfv.
void | GLGetCombinerOutputParameteriv (GLenum stage, GLenum portion, GLenum pname, GLint *params)
Replacement of glGetCombinerOutputParameteriv.
void | GLGetCombinerStageParameterfv (GLenum stage, GLenum pname, GLfloat *params)
Replacement of glGetCombinerStageParameterfv.
void | GLGetCompressedTexImage (GLenum target, GLint lod, GLvoid *img)
Replacement of glGetCompressedTexImage.
void | GLGetConvolutionFilter (GLenum target, GLenum format, GLenum type, GLvoid *image)
Replacement of glGetConvolutionFilter.
void | GLGetConvolutionParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetConvolutionParameterfv.
void | GLGetConvolutionParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetConvolutionParameteriv.
void | GLGetDoublev (GLenum pname, GLdouble *params)
Replacement of glGetDoublev.
void | GLGetFenceiv (GLuint fence, GLenum pname, GLint *params)
Replacement of glGetFenceivNV.
void | GLGetFinalCombinerInputParameterfv (GLenum variable, GLenum pname, GLfloat *params)
Replacement of glGetFinalCombinerInputParamterfv.
void | GLGetFinalCombinerInputParameteriv (GLenum variable, GLenum pname, GLint *params)
Replacement of glGetFinalCombinerInputParamteriv.
void | GLGetFloatv (GLenum pname, GLfloat *params)
Replacement of glGetFloatv.
void | GLGetFogColor (GLfloat *fogColor)
GLint | GLGetFragDataLocation (GLuint program, const GLchar *name)
Replacement of glGetFragDataLocationEXT.
GLhandleARB | GLGetHandle (GLenum pname)
Replacement of glGetHandleARB.
void | GLGetHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
Replacement of glGetHistogram.
void | GLGetHistogramParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetHistogramParameterfv.
void | GLGetHistogramParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetHistogramParameteriv.
void | GLGetInfoLog (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)
Replacement of glGetInfoLogARB.
void | GLGetIntegerv (GLenum pname, GLint *params)
Replacement of glGetIntegerv.
void | GLGetIntegerIndexedv (GLenum target, GLuint index, GLint *data)
Replacement of glGetIntegerIndexedvEXT.
void | GLGetBufferParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetBufferParameteriv.
void | GLGetBufferPointerv (GLenum target, GLenum pname, GLvoid **params)
Replacement of glGetBufferPointerv.
void | GLGetBufferSubData (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data)
Replacement of glGetBufferSubData.
void | GLGetClipPlane (GLenum plane, GLdouble *equation)
Replacement of glGetClipPlane.
void | GLGetLightfv (GLenum light, GLenum pname, GLfloat *params)
Replacement of glGetLightfv.
void | GLGetLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glGetLightiv.
void | GLGetMapdv (GLenum target, GLenum query, GLdouble *v)
Replacement of glGetMapdv.
void | GLGetMapfv (GLenum target, GLenum query, GLfloat *v)
Replacement of glGetMapfv.
void | GLGetMapiv (GLenum target, GLenum query, GLint *v)
Replacement of glGetMapiv.
void | GLGetMaterialfv (GLenum face, GLenum pname, GLfloat *params)
Replacement of glGetMaterialfv.
void | GLGetMaterialiv (GLenum face, GLenum pname, GLint *params)
Replacement of glGetMaterialiv.
GLint | GLGetMaxTexCoords (void)
Get the maximal number of texture coordinate slots.
GLint | GLGetMaxTexUnits (void)
Get the maximal number of texture units.
GLint | GLGetMaxTexImageUnits (void)
Get the maximal number of texture image units.
void | GLGetMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
Replacement of glGetMinmax.
void | GLGetMinmaxParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetMinmaxParameterfv.
void | GLGetMinmaxParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetMinmaxParameteriv.
void | GLGetObjectParameterfv (GLhandleARB obj, GLenum pname, GLfloat *params)
Replacement of glGetObjectParameterfvARB.
void | GLGetObjectParameteriv (GLhandleARB obj, GLenum pname, GLint *params)
Replacement of glGetObjectParameterivARB.
void | GLGetPixelMapfv (GLenum map, GLfloat *values)
Replacement of glGetPixelMapfv.
void | GLGetPixelMapuiv (GLenum map, GLuint *values)
Replacement of glGetPixelMapuiv.
void | GLGetPixelMapusv (GLenum map, GLushort *values)
Replacement of glGetPixelMapusv.
void | GLGetPointerv (GLenum pname, GLvoid **params)
Replacement of glGetPointerv.
void | GLGetPolygonStipple (GLubyte *mask)
Replacement of glGetPolygonStipple.
void | GLGetProgramEnvParameterdv (GLenum target, GLuint index, GLdouble *params)
Replacement of glGetProgramEnvParameterdvARB.
void | GLGetProgramEnvParameterfv (GLenum target, GLuint index, GLfloat *params)
Replacement of glGetProgramEnvParameterfvARB.
void | GLGetProgramiv (GLuint program, GLenum pname, GLint *params)
Replacement of glGetProgramiv.
void | GLGetProgramLocalParameterdv (GLenum target, GLuint index, GLdouble *params)
Replacement of glGetProgramLocalParameterdvARB.
void | GLGetProgramLocalParameterfv (GLenum target, GLuint index, GLfloat *params)
Replacement of glGetProgramLocalParameterfvARB.
void | GLGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Replacement of glGetProgramInfoLog.
void | GLGetProgramEnvParameterIiv (GLenum target, GLuint index, GLint *params)
Replacement of glGetProgramEnvParameterIivNV.
void | GLGetProgramEnvParameterIuiv (GLenum target, GLuint index, GLuint *params)
Replacement of glGetProgramEnvParameterIuivNV.
void | GLGetProgramLocalParameterIiv (GLenum target, GLuint index, GLint *params)
Replacement of glGetProgramLocalParameterIivNV.
void | GLGetProgramLocalParameterIuiv (GLenum target, GLuint index, GLuint *params)
Replacement of glGetProgramLocalParameterIuivNV.
void | GLGetProgramNamedParameterdv (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)
Replacement of glGetProgramNamedParameterdvNV.
void | GLGetProgramNamedParameterfv (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)
Replacement of glGetProgramNamedParameterfvNV.
void | GLGetProgramParameterdv (GLenum target, GLuint index, GLenum pname, GLdouble *params)
Replacement of glGetProgramParameterdvNV.
void | GLGetProgramParameterfv (GLenum target, GLuint index, GLenum pname, GLfloat *params)
Replacement of glGetProgramParameterfvNV.
void | GLGetProgramString (GLuint id, GLenum pname, GLubyte *program)
Replacement of glGetProgramStringNV.
void | GLGetQueryiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetQueryiv.
void | GLGetQueryObjecti64v (GLuint id, GLenum pname, GLint64EXT *params)
Replacement of glGetQueryObjecti64vEXT.
void | GLGetQueryObjectiv (GLuint id, GLenum pname, GLint *params)
Replacement of glGetQueryObjectiv.
void | GLGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64EXT *params)
Replacement of glGetQueryObjectui64vEXT.
void | GLGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params)
Replacement of glGetQueryObjectuiv.
void | GLGetSeparableFilter (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)
Replacement of glGetSeparableFilter.
void | GLGetShaderiv (GLuint shader, GLenum pname, GLint *params)
Replacement of glGetShaderiv.
void | GLGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)
Replacement of glGetShaderInfoLog.
void | GLGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLcharARB *source)
Replacement of glGetShaderSource.
const GLubyte * | GLGetString (GLenum name)
Replacement of glGetString.
void | GLGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexEnvfv.
void | GLGetTexEnviv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexEnviv.
void | GLGetTexGendv (GLenum coord, GLenum pname, GLdouble *params)
Replacement of glGetTexGendv.
void | GLGetTexGenfv (GLenum coord, GLenum pname, GLfloat *params)
Replacement of glGetTexGenfv.
void | GLGetTexGeniv (GLenum coord, GLenum pname, GLint *params)
Replacement of glGetTexGeniv.
void | GLGetTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glGetTexImage.
void | GLGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
Replacement of glGetTexLevelParameterfv.
void | GLGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
Replacement of glGetTexLevelParameteriv.
void | GLGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
Replacement of glGetTexParameterfv.
void | GLGetTexParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameteriv.
void | GLGetTexParameterIiv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetTexParameterIivEXT.
void | GLGetTexParameterIuiv (GLenum target, GLenum pname, GLuint *params)
Replacement of glGetTexParameterIuivEXT.
void | GLGetTrackMatrixiv (GLenum target, GLuint address, GLenum pname, GLint *params)
Replacement of glGetTrackMatrixivNV.
void | GLGetTransformFeedbackVaryingNV (GLuint program, GLuint index, GLint *location)
Replacement of glGetTransformFeedbackVaryingNV.
void | GLGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)
Replacement of glGetTransformFeedbackVarying.
void | GLGetUniformfv (GLuint program, GLint location, GLfloat *params)
Replacement of glGetUniformfv.
void | GLGetUniformiv (GLuint program, GLint location, GLint *params)
Replacement of glGetUniformiv.
void | GLGetUniformuiv (GLuint program, GLint location, GLuint *params)
Replacement of glGetUniformuiv.
GLint | GLGetUniformBufferSize (GLuint program, GLint location)
Replacement of glGetUniformBufferSizeEXT.
GLint | GLGetUniformLocation (GLuint program, const GLcharARB *name)
Replacement of glGetUniformLocation.
GLintptr | GLGetUniformOffset (GLuint program, GLint location)
Replacement of glGetUniformOffsetEXT.
GLint | GLGetVaryingLocationNV (GLuint program, const GLchar *name)
Replacement of glGetVaryingLocationNV.
void | GLGetVertexAttribdv (GLuint index, GLenum pname, GLdouble *params)
Replacement of glGetVertexAttribdv.
void | GLGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params)
Replacement of glGetVertexAttribfv.
void | GLGetVertexAttribiv (GLuint index, GLenum pname, GLint *params)
Replacement of glGetVertexAttribiv.
void | GLGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params)
Replacement of glGetVertexAttribIivEXT.
void | GLGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params)
Replacement of glGetVertexAttribIuivEXT.
void | GLGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid **pointer)
Replacement of glGetVertexAttribPointer.
void | GLHint (GLenum target, GLenum mode)
Replacement of glHint.
void | GLHistogram (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)
Replacement of glHistogram.
void | GLIndexd (GLdouble c)
Replacement of glIndexd.
void | GLIndexf (GLfloat c)
Replacement of glIndexf.
void | GLIndexi (GLint c)
Replacement of glIndexi.
void | GLIndexMask (GLuint mask)
Replacement of glIndexMask.
void | GLIndexPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glIndexPointer.
void | GLIndexs (GLshort c)
Replacement of glIndexs.
void | GLIndexub (GLubyte c)
Replacement of glIndexub.
void | GLInitNames (void)
Replacement of glInitNames.
void | GLInterleavedArrays (GLenum format, GLsizei stride, const GLvoid *pointer)
Replacement of glInterleavedArrays.
GLboolean | GLIsEnabled (GLenum cap)
Replacement of glIsEnabled.
GLboolean | GLIsEnabledAlphaTest ()
Replacement of glIsEnabled( GL_ALPHA_TEST ).
GLboolean | GLIsEnabledAutoNormal ()
Replacement of glIsEnabled( GL_AUTO_NORMAL ).
GLboolean | GLIsEnabledBlend ()
Replacement of glIsEnabled( GL_BLEND ).
GLboolean | GLIsEnabledClipPlane (GLenum plane)
Replacement of glIsEnabled( GL_CLIP_PLANEi ).
GLboolean | GLIsEnabledColorLogicOp ()
Replacement of glIsEnabled( GL_COLOR_LOGIC_OP ).
GLboolean | GLIsEnabledColorMaterial ()
Replacement of glIsEnabled( GL_COLOR_MATERIAL ).
GLboolean | GLIsEnabledCullFace ()
Replacement of glIsEnabled( GL_CULL_FACE ).
GLboolean | GLIsEnabledDepthTest ()
Replacement of glIsEnabled( GL_DEPTH_TEST ).
GLboolean | GLIsEnabledDither ()
Replacement of glIsEnabled( GL_DITHER ).
GLboolean | GLIsEnabledFog ()
Replacement of glIsEnabled( GL_FOG ).
GLboolean | GLIsEnabledIndexed (GLenum target, GLuint index)
Replacement of glIsEnabledIndexed.
GLboolean | GLIsEnabledLight (GLenum light)
Replacement of glIsEnabled( GL_LIGHTi ).
GLboolean | GLIsEnabledLighting ()
Replacement of glIsEnabled( GL_LIGHTING ).
GLboolean | GLIsEnabledLineSmooth ()
Replacement of glIsEnabled( GL_LINE_SMOOTH ).
GLboolean | GLIsEnabledLineStipple ()
Replacement of glIsEnabled( GL_LINE_STIPPLE ).
GLboolean | GLIsEnabledLogicOp ()
Replacement of glIsEnabled( GL_LOGIC_OP ).
GLboolean | GLIsEnabledNormalize ()
Replacement of glIsEnabled( GL_NORMALIZE ).
GLboolean | GLIsEnabledRescaleNormal ()
Replacement of glIsEnabled( GL_RESCALE_NORMAL ).
GLboolean | GLIsEnabledPointSmooth ()
Replacement of glIsEnabled( GL_POINT_SMOOTH ).
GLboolean | GLIsEnabledPolygonOffsetFill ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_FILL ).
GLboolean | GLIsEnabledPolygonOffsetLine ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_LINE ).
GLboolean | GLIsEnabledPolygonOffsetPoint ()
Replacement of glIsEnabled( GL_POLYGON_OFFSET_POINT ).
GLboolean | GLIsEnabledPolygonSmooth ()
Replacement of glIsEnabled( GL_POLYGON_SMOOTH ).
GLboolean | GLIsEnabledPolygonStipple ()
Replacement of glIsEnabled( GL_POLYGON_STIPPLE ).
GLboolean | GLIsEnabledScissorTest ()
Replacement of glIsEnabled( GL_SCISSOR_TEST ).
GLboolean | GLIsEnabledStencilTest ()
Replacement of glIsEnabled( GL_STENCIL_TEST ).
GLboolean | GLIsEnabledTexture (GLenum target)
Replacement of glIsEnabled( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ).
GLboolean | GLIsEnabledTextureGen (GLenum target)
Replacement of glIsEnabled( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).
GLint | GLGetVersion ()
Returns the version of the OpenGL available on the target system.
GLboolean | GLIsExtensionAvailable (const std::string &extension)
Test if a given extension is available on the current context.
GLboolean | GLIsExtensionExported (const std::string &extension)
Test if a given extension is exported on the current context.
void | GLDisableExtensionAvailability (const std::string &extension)
Allows manual disabling of extension available state.
GLboolean | GLIsFence (GLuint fence)
Replacement of glIsFenceNV.
GLboolean | GLIsList (GLuint list)
Replacement of glIsList.
GLboolean | GLIsProgram (GLuint program)
Replacement of glIsProgram.
GLboolean | GLIsQuery (GLuint id)
Replacement of glIsQuery.
GLboolean | GLIsShader (GLuint shader)
Replacement of glIsShader.
GLboolean | GLIsTexture (GLuint texture)
Replacement of glIsTexture.
void | GLLightAmbient (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_AMBIENT, param ).
void | GLResetLightAmbient (GLenum light)
Helper function to reset the ambient light color.
void | GLLightConstantAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_CONSTANT_ATTENUATION, param ).
void | GLResetLightConstantAttenuation (GLenum light)
Helper function to reset the constant attenuation of the light light.
void | GLLightDiffuse (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_DIFFUSE, param ).
void | GLResetLightDiffuse (GLenum light)
Helper function to reset the diffuse color of the light light.
void | GLLightLinearAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_LINEAR_ATTENUATION, param ).
void | GLResetLightLinearAttenuation (GLenum light)
Helper function to reset the linear attenuation of the light light.
void | GLLightPosition (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_POSITION, param ).
void | GLResetLightPosition (GLenum light)
Helper function to reset the position of the light light.
void | GLLightQuadraticAttenuation (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ).
void | GLResetLightQuadraticAttenuation (GLenum light)
Helper function to reset the quadratic attenuation of the light light.
void | GLLightSpecular (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_SPECULAR, param ).
void | GLResetLightSpecular (GLenum light)
Helper function to reset the specular color of the light light.
void | GLLightSpotCutoff (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_SPOT_CUTOFF, param ).
void | GLResetLightSpotCutoff (GLenum light)
Helper function to reset the spot cutoff of the light light.
void | GLLightSpotDirection (GLenum light, const GLfloat *params)
Cached version of GLLightfv( light, GL_SPOT_DIRECTION, param ).
void | GLResetLightSpotDirection (GLenum light)
Helper function to reset the spot cutoff of the light light.
void | GLLightSpotExponent (GLenum light, GLfloat param)
Cached version of GLLightf( light, GL_SPOT_EXPONENT, param ).
void | GLResetLightSpotExponent (GLenum light)
Helper function to reset the spot exponent of the light light.
void | GLLightf (GLenum light, GLenum pname, GLfloat param)
Replacement of glLightf.
void | GLLightfv (GLenum light, GLenum pname, const GLfloat *params)
Replacement of glLightfv.
void | GLLighti (GLenum light, GLenum pname, GLint param)
Replacement of glLighti.
void | GLintToGLfloat (const GLint *params, GLfloat *fParams)
Convert GLInt to GLFloat.
void | GLLightiv (GLenum light, GLenum pname, GLint *params)
Replacement of glLightiv.
void | GLLightModelAmbient (const GLfloat *params)
Replacement of glLightModelfv( GL_LIGHT_MODEL_AMBIENT, params ).
void | GLResetLightModelAmbient ()
Helper function to reset the ambient light color.
void | GLLightModelLocalViewer (GLint param)
Replacement of GLLightModelLocalViewer.
void | GLResetLightModelLocalViewer ()
Helper function to reset the local viewer setting.
void | GLLightModelTwoSide (GLint param)
Replacement of GLLightModelTwoSide.
void | GLResetLightModelTwoSide ()
Helper function to reset the two sided lighting state.
void | GLLightModelTwoSideLock (GLint param)
Helper function to set two sided lighting and lock it.
void | GLLightModelTwoSideUnlock (GLint param)
Helper function to unlock the two sided lighting and set it.
void | GLLightModelf (GLenum pname, GLfloat param)
Replacement of glLightModelf.
void | GLLightModelfv (GLenum pname, const GLfloat *params)
Replacement of glLightModelfv.
void | GLLightModeli (GLenum pname, GLint param)
Replacement of glLightModeli.
void | GLLightModeliv (GLenum pname, const GLint *params)
Replacement of glLightModeliv.
void | GLLineStipple (GLint factor, GLushort pattern)
Replacement of glLineStipple.
void | GLResetLineStippleDefinition ()
Helper function to reset line stipple repeat and pattern.
void | GLLineWidth (GLfloat width)
Replacement of glLineWidth.
void | GLResetLineWidth ()
Helper function to reset the line width.
void | GLLinkProgram (GLuint program)
Replacement of glLinkProgram.
void | GLListBase (GLuint base)
Replacement of glListBase.
void | GLLoadIdentity (void)
Replacement of glLoadItentity.
void | GLLoadMatrixd (const GLdouble *m)
Replacement of glLoadMatrixd.
void | GLLoadMatrixf (const GLfloat *m)
Replacement of glLoadMatrixf.
void | GLLoadTransposedMatrixd (const GLdouble *m)
Replacement of glLoadTransposeMatrixd.
void | GLLoadTransposeMatrixf (const GLfloat *m)
Replacement of glLoadTransposMatrixf.
void | GLLoadName (GLuint name)
Replacement of glLoadName.
void | GLLoadProgram (GLenum target, GLuint id, GLsizei len, const GLubyte *program)
Replacement of glLoadProgramNV.
void | GLLockArrays (GLint first, GLsizei count)
Replacement of glLockArrays.
void | GLLogicOp (GLenum opcode)
Replacement of glLogicOp.
void | GLMap1d (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)
Replacement of glMap1d.
void | GLMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)
Replacement of glMap1f.
void | GLMap2d (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)
Replacement of glMap2d.
void | GLMap2f (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)
Replacement of glMap2f.
void | GLMapGrid1d (GLint un, GLdouble u1, GLdouble u2)
Replacement of glMapGrid1d.
void | GLMapGrid1f (GLint un, GLfloat u1, GLfloat u2)
Replacement of glMapGrid1f.
void | GLMapGrid2d (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)
Replacement of glMapGrid2d.
void | GLMapGrid2f (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)
Replacement of glMapGrid2f.
void | GLMaterialShininessBack (GLfloat param)
Cached version of GLMaterialf( GL_BACK, GL_SHININESS, param ).
void | GLResetMaterialShininessBack ()
Helper function to reset the material back face shininess.
void | GLMaterialShininessFront (GLfloat param)
Cached version of GLMaterialf( GL_FRONT, GL_SHININESS, param ).
void | GLResetMaterialShininessFront ()
Helper function to reset the material front face shininess.
void | GLMaterialShininessFrontAndBack (GLfloat param)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ).
void | GLResetMaterialShininessFrontAndBack ()
Helper function to reset the material back and front face shininess.
void | GLMaterialShininess (GLenum face, GLfloat param)
Cached version of GLMaterialf( face, GL_SHININESS, param ).
void | GLMaterialAmbientBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_AMBIENT, param ).
void | GLResetMaterialAmbientBack ()
Helper function to reset the material back face ambient color.
void | GLMaterialAmbientFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_AMBIENT, param ).
void | GLResetMaterialAmbientFront ()
Helper function to reset the material front face ambient color.
void | GLMaterialAmbientFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ).
void | GLResetMaterialAmbientFrontAndBack ()
Helper function to reset the material back and front face ambient color.
void | GLMaterialAmbient (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_AMBIENT, params ).
void | GLMaterialDiffuseBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_DIFFUSE, param ).
void | GLResetMaterialDiffuseBack ()
Helper function to reset the material back face diffuse color.
void | GLMaterialDiffuseFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ).
void | GLResetMaterialDiffuseFront ()
Helper function to reset the material front face diffuse color.
void | GLMaterialDiffuseFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ).
void | GLResetMaterialDiffuseFrontAndBack ()
Helper function to reset the material back and front face diffuse color.
void | GLMaterialDiffuse (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_DIFFUSE, params ).
void | GLMaterialEmissionBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_EMISSION, param ).
void | GLResetMaterialEmissionBack ()
Helper function to reset the material back face emission color.
void | GLMaterialEmissionFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_EMISSION, param ).
void | GLResetMaterialEmissionFront ()
Helper function to reset the material front face emission color.
void | GLMaterialEmissionFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ).
void | GLResetMaterialEmissionFrontAndBack ()
Helper function to reset the material back and front face emission color.
void | GLMaterialEmission (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_EMISSION, params ).
void | GLMaterialSpecularBack (const GLfloat *params)
Cached version of GLMaterialf( GL_BACK, GL_SPECULAR, param ).
void | GLResetMaterialSpecularBack ()
Helper function to reset the material back face specular color.
void | GLMaterialSpecularFront (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT, GL_SPECULAR, param ).
void | GLResetMaterialSpecularFront ()
Helper function to reset the material front face specular color.
void | GLMaterialSpecularFrontAndBack (const GLfloat *params)
Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ).
void | GLResetMaterialSpecularFrontAndBack ()
Helper function to reset the material back and front face specular color.
void | GLMaterialSpecular (GLenum face, const GLfloat *params)
Cached version of GLMaterialfv( face, GL_SPECULAR, params ).
void | GLMaterialf (GLenum face, GLenum pname, GLfloat param)
Replacement of glMaterialf.
void | GLMaterialfv (GLenum face, GLenum pname, const GLfloat *params)
Replacement of glMaterialfv.
void | GLMateriali (GLenum face, GLenum pname, GLint param)
Replacement of glMateriali.
void | GLMaterialiv (GLenum face, GLenum pname, const GLint *params)
Replacement of glMaterialiv.
void | GLMatrixMode (GLenum mode)
Replacement of glMatrixMode.
void | GLMinmax (GLenum target, GLenum internalformat, GLboolean sink)
Replacement of glMinmax.
void | GLMultiTexCoord1d (GLenum target, GLdouble s)
Replacement of glMultiTexCoord1d.
void | GLMultiTexCoord1dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord1dv.
void | GLMultiTexCoord1f (GLenum target, GLfloat s)
Replacement of glMultiTexCoord1f.
void | GLMultiTexCoord1fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord1fv.
void | GLMultiTexCoord1h (GLenum target, GLhalf s)
Replacement of glMultiTexCoord1hNV.
void | GLMultiTexCoord1hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord1hv.
void | GLMultiTexCoord1i (GLenum target, GLint s)
Replacement of glMultiTexCoord1i.
void | GLMultiTexCoord1iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord1iv.
void | GLMultiTexCoord1s (GLenum target, GLshort s)
Replacement of glMultiTexCoord1s.
void | GLMultiTexCoord1sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord1sv.
void | GLMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t)
Replacement of glMultiTexCoord2d.
void | GLMultiTexCoord2dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord2dv.
void | GLMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t)
Replacement of glMultiTexCoord2f.
void | GLMultiTexCoord2fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord2fv.
void | GLMultiTexCoord2h (GLenum target, GLhalf s, GLhalf t)
Replacement of glMultiTexCoord2hNV.
void | GLMultiTexCoord2hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord2hv.
void | GLMultiTexCoord2i (GLenum target, GLint s, GLint t)
Replacement of glMultiTexCoord2i.
void | GLMultiTexCoord2iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord2iv.
void | GLMultiTexCoord2s (GLenum target, GLshort s, GLshort t)
Replacement of glMultiTexCoord2s.
void | GLMultiTexCoord2sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord2sv.
void | GLMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r)
Replacement of glMultiTexCoord3d.
void | GLMultiTexCoord3dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord3dv.
void | GLMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r)
Replacement of glMultiTexCoord3f.
void | GLMultiTexCoord3fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord3fv.
void | GLMultiTexCoord3h (GLenum target, GLhalf s, GLhalf t, GLhalf r)
Replacement of glMultiTexCoord3hNV.
void | GLMultiTexCoord3hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord3hv.
void | GLMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r)
Replacement of glMultiTexCoord3i.
void | GLMultiTexCoord3iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord3iv.
void | GLMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r)
Replacement of glMultiTexCoord3s.
void | GLMultiTexCoord3sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord3sv.
void | GLMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glMultiTexCoord4d.
void | GLMultiTexCoord4dv (GLenum target, const GLdouble *v)
Replacement of glMultiTexCoord4dv.
void | GLMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glMultiTexCoord4f.
void | GLMultiTexCoord4fv (GLenum target, const GLfloat *v)
Replacement of glMultiTexCoord4fv.
void | GLMultiTexCoord4h (GLenum target, GLhalf s, GLhalf t, GLhalf r, GLhalf q)
Replacement of glMultiTexCoord4hNV.
void | GLMultiTexCoord4hv (GLenum target, const GLhalf *v)
Replacement of glMultiTexCoord4hv.
void | GLMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q)
Replacement of glMultiTexCoord4i.
void | GLMultiTexCoord4iv (GLenum target, const GLint *v)
Replacement of glMultiTexCoord4iv.
void | GLMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glMultiTexCoord4s.
void | GLMultiTexCoord4sv (GLenum target, const GLshort *v)
Replacement of glMultiTexCoord4sv.
void | GLMultMatrixd (const GLdouble *m)
Replacement of glMultMatrixd.
void | GLMultMatrixf (const GLfloat *m)
Replacement of glMultMatrixf.
void | GLMultTransposeMatrixd (const GLdouble *m)
Replacement of glMultTransposeMatrixd.
void | GLMultTransposeMatrixf (const GLfloat *m)
Replacement of glMultTransposeMatrixf.
void | GLNewList (GLuint list, GLenum mode)
Replacement of glNewList.
void | GLNormal3b (GLbyte nx, GLbyte ny, GLbyte nz)
Replacement of glNormal3b.
void | GLNormal3bv (const GLbyte *v)
Replacement of glNormal3bv.
void | GLNormal3d (GLdouble nx, GLdouble ny, GLdouble nz)
Replacement of glNormal3d.
void | GLNormal3dv (const GLdouble *v)
Replacement of glNormal3dv.
void | GLNormal3f (GLfloat nx, GLfloat ny, GLfloat nz)
Replacement of glNormal3f.
void | GLNormal3fv (const GLfloat *v)
Replacement of glNormal3fv.
void | GLNormal3h (GLhalf nx, GLhalf ny, GLhalf nz)
Replacement of glNormal3hNV.
void | GLNormal3hv (const GLhalf *v)
Replacement of glNormal3hv.
void | GLNormal3i (GLint nx, GLint ny, GLint nz)
! Replacement of glNormal3i
void | GLNormal3iv (const GLint *v)
Replacement of glNormal3iv.
void | GLNormal3s (GLshort nx, GLshort ny, GLshort nz)
Replacement of glNormal3s.
void | GLNormal3sv (const GLshort *v)
Replacement of glNormal3sv.
void | GLNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glNormalPointer.
void | GLOrtho (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
Replacement of glOrtho.
void | GLPassThrough (GLfloat token)
Replacement of glPassThrough.
void | GLPixelDataRange (GLenum target, GLsizei size, GLvoid *pointer)
Replacement of glPixelDataRangeNV.
void | GLPixelMapfv (GLenum map, GLsizei mapsize, const GLfloat *values)
Replacement of glPixelMapfv.
void | GLPixelMapuiv (GLenum map, GLsizei mapsize, const GLuint *values)
Replacement of glPixelMapuiv.
void | GLPixelMapusv (GLenum map, GLsizei mapsize, const GLushort *values)
Replacement of glPixelMapusv.
void | GLPixelStoref (GLenum pname, GLfloat param)
Replacement of glPixelStoref.
void | GLPixelStorei (GLenum pname, GLint param)
Replacement of glPixelStorei.
void | GLPixelTransferf (GLenum pname, GLfloat param)
Replacement of glPixelTransferf.
void | GLPixelTransferi (GLenum pname, GLint param)
Replacement of glPixelTransferi.
void | GLPixelZoom (GLfloat xfactor, GLfloat yfactor)
Replacement of glPixelZoom.
void | GLPointParameterf (GLenum pname, GLfloat param)
Replacement of glPointParameterf.
void | GLPointParameterfv (GLenum pname, const GLfloat *params)
Replacement of glPointParameterfv.
void | GLPointParameteri (GLenum pname, GLint param)
Replacement of glPointParameteri.
void | GLPointParameteriv (GLenum pname, const GLint *params)
Replacement of glPointParameteriv.
void | GLPointSize (GLfloat size)
Replacement of glPointSize.
void | GLResetPointSize ()
Helper function to reset the point size.
void | GLPolygonModeBack (GLenum mode)
Cached version of GLPolygonMode( GL_BACK, mode ).
void | GLResetPolygonModeBack ()
Helper function to reset back face polygon mode.
void | GLPolygonModeFront (GLenum mode)
Cached version of GLPolygonMode( GL_FRONT, mode ).
void | GLResetPolygonModeFront ()
Helper function to reset front face polygon mode.
void | GLPolygonModeFrontAndBack (GLenum mode)
Cached version of GLPolygonMode( GL_FRONT_AND_BACK, mode ).
void | GLResetPolygonModeFrontAndBack ()
Helper function to reset back and front face polygon mode.
void | GLPolygonMode (GLenum face, GLenum mode)
Cached version of GLPolygonMode( face, mode ).
void | GLPolygonModeLock (GLenum face, GLenum mode)
Helper function to set the polygon mode and lock it.
void | GLPolygonModeUnlock (GLenum face, GLenum mode)
Helper function to unlock the polygon mode and set it.
void | GLPolygonOffset (GLfloat factor, GLfloat units)
Replacement of glPolygonOffset.
void | GLResetPolygonOffset ()
Helper function to reset the polygon offset.
void | GLPolygonStipple (const GLubyte *mask)
Replacement of glPolygonStipple.
void | GLPopAttrib (void)
Replacement of glPopAttrib.
void | GLPopClientAttrib (void)
Replacement of glPopClientAttrib.
void | GLPopMatrix (void)
Replacement of glPopMatrix.
void | GLPopName (void)
Replacement of glPopName.
void | GLPrimitiveRestart ()
Replacement of glPrimitiveRestart.
void | GLPrimitiveRestartIndex (GLuint index)
Replacement of glPrimitiveRestartIndex.
void | GLPrioritizeTextures (GLsizei n, const GLuint *textures, const GLclampf *priorities)
Replacement of glPrioritizeTextures.
void | GLProgramBufferParametersfv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramBufferParametersfvNV.
void | GLProgramBufferParametersIiv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramBufferParametersIivNV.
void | GLProgramBufferParametersIuiv (GLenum target, GLuint buffer, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramBufferParametersIuivNV.
void | GLProgramEnvParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramEnvParameter4dARB.
void | GLProgramEnvParameter4dv (GLenum target, GLuint index, const GLdouble *params)
Replacement of glProgramEnvParameter4dvARB.
void | GLProgramEnvParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramEnvParameter4fARB.
void | GLProgramEnvParameter4fv (GLenum target, GLuint index, const GLfloat *params)
Replacement of glProgramEnvParameter4fvARB.
void | GLProgramEnvParametersI4iv (GLenum target, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramEnvParametersI4ivNV.
void | GLProgramEnvParametersI4uiv (GLenum target, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramEnvParametersI4uivNV.
void | GLProgramEnvParameterI4i (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glProgramEnvParameterI4iNV.
void | GLProgramEnvParameterI4iv (GLenum target, GLuint index, const GLint *params)
Replacement of glProgramEnvParameterI4ivNV.
void | GLProgramEnvParameterI4ui (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glProgramEnvParameterI4uiNV.
void | GLProgramEnvParameterI4uiv (GLenum target, GLuint index, const GLuint *params)
Replacement of glProgramEnvParameterI4uivNV.
void | GLProgramEnvParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramEnvParameters4fvEXT.
void | GLProgramLocalParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramLocalParameter4dARB.
void | GLProgramLocalParameter4dv (GLenum target, GLuint index, const GLdouble *params)
Replacement of glProgramLocalParameter4dvARB.
void | GLProgramLocalParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramLocalParameter4fARB.
void | GLProgramLocalParameter4fv (GLenum target, GLuint index, const GLfloat *params)
Replacement of glProgramLocalParameter4fvARB.
void | GLProgramLocalParametersI4iv (GLenum target, GLuint index, GLsizei count, const GLint *params)
Replacement of glProgramLocalParametersI4ivNV.
void | GLProgramLocalParametersI4uiv (GLenum target, GLuint index, GLsizei count, const GLuint *params)
Replacement of glProgramLocalParametersI4uivNV.
void | GLProgramLocalParameterI4i (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glProgramLocalParameterI4iNV.
void | GLProgramLocalParameterI4iv (GLenum target, GLuint index, const GLint *params)
Replacement of glProgramLocalParameterI4ivNV.
void | GLProgramLocalParameterI4ui (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glProgramLocalParameterI4uiNV.
void | GLProgramLocalParameterI4uiv (GLenum target, GLuint index, const GLuint *params)
Replacement of glProgramLocalParameterI4uivNV.
void | GLProgramLocalParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *params)
Replacement of glProgramLocalParameters4fvEXT.
void | GLProgramNamedParameter4d (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramNamedParameter4dNV.
void | GLProgramNamedParameter4dv (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)
Replacement of glProgramNamedParameter4dvNV.
void | GLProgramNamedParameter4f (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramNamedParameter4fNV.
void | GLProgramNamedParameter4fv (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)
Replacement of glProgramNamedParameter4fvNV.
void | GLProgramParameter4d (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glProgramParameter4dNV.
void | GLProgramParameter4dv (GLenum target, GLuint index, const GLdouble *v)
Replacement of glProgramParameter4dvNV.
void | GLProgramParameter4f (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glProgramParameter4fNV.
void | GLProgramParameter4fv (GLenum target, GLuint index, const GLfloat *v)
Replacement of glProgramParameter4fvNV.
void | GLProgramParameteri (GLuint program, GLenum pname, GLint value)
Replacement of glProgramParameteriEXT.
void | GLProgramParameters4dv (GLenum target, GLuint index, GLsizei count, const GLdouble *v)
Replacement of glProgramParameters4dvNV.
void | GLProgramParameters4fv (GLenum target, GLuint index, GLsizei count, const GLfloat *v)
Replacement of glProgramParameters4fvNV.
void | GLProgramString (GLenum target, GLenum format, GLsizei len, const GLvoid *string)
Replacement of glProgramStringARB.
void | GLProgramVertexLimit (GLenum target, GLint limit)
Replacement of glProgramVertexLimitNV.
void | GLPushAttrib (GLbitfield mask)
Replacement of glPushAttrib.
void | GLPushClientAttrib (GLbitfield mask)
Replacement of glPushClientAttrib.
void | GLPushMatrix (void)
Replacement of glPushMatrix.
void | GLPushName (GLuint name)
Replacement of glPushName.
void | GLRasterPos2d (GLdouble x, GLdouble y)
Replacement of glRasterPos2d.
void | GLRasterPos2f (GLfloat x, GLfloat y)
Replacement of glRasterPos2f.
void | GLRasterPos2i (GLint x, GLint y)
Replacement of glRasterPos2i.
void | GLRasterPos2s (GLshort x, GLshort y)
Replacement of glRasterPos2s.
void | GLRasterPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glRasterPos3d.
void | GLRasterPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glRasterPos3f.
void | GLRasterPos3i (GLint x, GLint y, GLint z)
Replacement of glRasterPos3i.
void | GLRasterPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glRasterPos3s.
void | GLRasterPos4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glRasterPos4d.
void | GLRasterPos4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glRasterPos4f.
void | GLRasterPos4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glRasterPos4i.
void | GLRasterPos4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glRasterPos4s.
void | GLRasterPos2dv (const GLdouble *v)
Replacement of glRasterPos2dv.
void | GLRasterPos2fv (const GLfloat *v)
Replacement of glRasterPos2fv.
void | GLRasterPos2iv (const GLint *v)
Replacement of glRasterPos2iv.
void | GLRasterPos2sv (const GLshort *v)
Replacement of glRasterPos2sv.
void | GLRasterPos3dv (const GLdouble *v)
Replacement of glRasterPos3dv.
void | GLRasterPos3fv (const GLfloat *v)
Replacement of glRasterPos3fv.
void | GLRasterPos3iv (const GLint *v)
Replacement of glRasterPos3iv.
void | GLRasterPos3sv (const GLshort *v)
Replacement of glRasterPos3sv.
void | GLRasterPos4dv (const GLdouble *v)
Replacement of glRasterPos4dv.
void | GLRasterPos4fv (const GLfloat *v)
Replacement of glRasterPos4fv.
void | GLRasterPos4iv (const GLint *v)
Replacement of glRasterPos4iv.
void | GLRasterPos4sv (const GLshort *v)
Replacement of glRasterPos4sv.
void | GLReadBuffer (GLenum mode)
Replacement of glReadBuffer.
void | GLReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)
Replacement of glReadPixels.
void | GLRectd (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)
Replacement of glRectd.
void | GLRectf (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)
Replacement of glRectf.
void | GLRecti (GLint x1, GLint y1, GLint x2, GLint y2)
Replacement of glRecti.
void | GLRects (GLshort x1, GLshort y1, GLshort x2, GLshort y2)
Replacement of glRects.
void | GLRenderMode (GLenum mode)
Replacement of glRenderMode.
void | GLRequestResidentPrograms (GLsizei n, const GLuint *programs)
Replacement of glRequestResidentProgramsNV.
void | GLResetHistogram (GLenum target)
Replacement of glResetHistogram.
void | GLResetMinmax (GLenum target)
Replacement of glResetMinmax.
void | GLRotated (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
Replacement of glRotated.
void | GLRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
Replacement of glRotatef.
void | GLScaled (GLdouble x, GLdouble y, GLdouble z)
Replacement of glScaled.
void | GLScalef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glScalef.
void | GLSampleCoverage (GLclampf value, GLboolean invert)
Replacement of glSampleCoverage.
void | GLScissor (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glScissor.
void | GLResetScissor ()
Helper function to reset the scissor rectangle.
void | GLSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue)
Replacement of glSecondaryColor3b.
void | GLSecondaryColor3bv (const GLbyte *v)
Replacement of glSecondaryColor3bv.
void | GLSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue)
Replacement of glSecondaryColor3d.
void | GLSecondaryColor3dv (const GLdouble *v)
Replacement of glSecondaryColor3dv.
void | GLSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue)
Replacement of glSecondaryColor3f.
void | GLSecondaryColor3fv (const GLfloat *v)
Replacement of glSecondaryColor3fv.
void | GLSecondaryColor3h (GLhalf red, GLhalf green, GLhalf blue)
Replacement of glSecondaryColor3h.
void | GLSecondaryColor3hv (const GLhalf *v)
Replacement of glSecondaryColor3hv.
void | GLSecondaryColor3i (GLint red, GLint green, GLint blue)
Replacement of glSecondaryColor3i.
void | GLSecondaryColor3iv (const GLint *v)
Replacement of glSecondaryColor3iv.
void | GLSecondaryColor3s (GLshort red, GLshort green, GLshort blue)
Replacement of glSecondaryColor3s.
void | GLSecondaryColor3sv (const GLshort *v)
Replacement of glSecondaryColor3sv.
void | GLSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue)
Replacement of glSecondaryColor3ub.
void | GLSecondaryColor3ubv (const GLubyte *v)
Replacement of glSecondaryColor3ubv.
void | GLSecondaryColor3ui (GLuint red, GLuint green, GLuint blue)
Replacement of glSecondaryColor3ui.
void | GLSecondaryColor3uiv (const GLuint *v)
Replacement of glSecondaryColor3uiv.
void | GLSecondaryColor3us (GLushort red, GLushort green, GLushort blue)
Replacement of glSecondaryColor3us.
void | GLSecondaryColor3usv (const GLushort *v)
Replacement of glSecondaryColor3usv.
void | GLSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glSecondaryColorPointer.
void | GLSelectBuffer (GLsizei size, GLuint *buffer)
Replacement of glSelectBuffer.
void | GLSelectTexture (GLenum target)
Replacement of glSelectTexture.
void | GLSelectTextureCoordSet (GLenum target)
Replacement of GLSelectTextureCoordSet.
void | GLSeparableFilter2D (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)
Replacement of glSeparableFilter2D.
void | GLSetFence (GLuint fence, GLenum condition)
Replacement of glSetFenceNV.
void | GLShadeModel (GLenum mode)
Replacement of glShadeModel.
void | GLResetShadeModel ()
Helper function to reset the shade model.
void | GLShaderSource (GLuint shader, GLsizei count, const GLcharARB **string, const GLint *length)
Replacement of glShaderSource.
void | GLStencilClearTag (GLsizei tagBits, GLuint clearTag)
Replacement of glStencilClearTag.
void | GLStencilFunc (GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFunc.
void | GLStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
Replacement of glStencilFuncSeparate.
void | GLStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOpSeparate.
void | GLStencilMaskSeparate (GLenum face, GLuint mask)
Replacement of glStencilMaskSeparate.
void | GLResetStencilFunc ()
Helper function to reset the stencil function values.
void | GLStencilMask (GLuint mask)
Replacement of glStencilMask.
void | GLResetStencilMask ()
Helper function to reset the stencil mask.
void | GLStencilOp (GLenum fail, GLenum zfail, GLenum zpass)
Replacement of glStencilOp.
void | GLResetStencilOp ()
Helper function to reset the stencil operation values.
void | GLStringMarker (GLsizei len, const GLvoid *string)
Replacement of glStringMarkerGREMEDY.
void | GLFrameTerminator (void)
Replacement of glFrameTerminatorGREMEDY.
GLboolean | GLTestFence (GLuint fence)
Replacement of glTestFenceNV.
void | GLTexBuffer (GLenum target, GLenum internalformat, GLuint buffer)
Replacement of glTexBufferEXT.
void | GLTexCoord1d (GLdouble s)
Replacement of glTexCoord1d.
void | GLTexCoord1dv (const GLdouble *v)
Replacement of glTexCoord1dv.
void | GLTexCoord1f (GLfloat s)
Replacement of glTexCoord1f.
void | GLTexCoord1fv (const GLfloat *v)
Replacement of glTexCoord1fv.
void | GLTexCoord1h (GLhalf s)
Replacement of glTexCoord1hNV.
void | GLTexCoord1hv (const GLhalf *v)
Replacement of glTexCoord1hv.
void | GLTexCoord1i (GLint s)
Replacement of glTexCoord1i.
void | GLTexCoord1iv (const GLint *v)
Replacement of glTexCoord1iv.
void | GLTexCoord1s (GLshort s)
Replacement of glTexCoord1s.
void | GLTexCoord1sv (const GLshort *v)
Replacement of glTexCoord1sv.
void | GLTexCoord2d (GLdouble s, GLdouble t)
Replacement of glTexCoord2d.
void | GLTexCoord2dv (const GLdouble *v)
Replacement of glTexCoord2dv.
void | GLTexCoord2f (GLfloat s, GLfloat t)
Replacement of glTexCoord2f.
void | GLTexCoord2fv (const GLfloat *v)
Replacement of glTexCoord2fv.
void | GLTexCoord2h (GLhalf s, GLhalf t)
Replacement of glTexCoord2hNV.
void | GLTexCoord2hv (const GLhalf *v)
Replacement of glTexCoord2hv.
void | GLTexCoord2i (GLint s, GLint t)
Replacement of glTexCoord2i.
void | GLTexCoord2iv (const GLint *v)
Replacement of glTexCoord2iv.
void | GLTexCoord2s (GLshort s, GLshort t)
Replacement of glTexCoord2s.
void | GLTexCoord2sv (const GLshort *v)
Replacement of glTexCoord2sv.
void | GLTexCoord3d (GLdouble s, GLdouble t, GLdouble r)
Replacement of glTexCoord3d.
void | GLTexCoord3dv (const GLdouble *v)
Replacement of glTexCoord3dv.
void | GLTexCoord3f (GLfloat s, GLfloat t, GLfloat r)
Replacement of glTexCoord3f.
void | GLTexCoord3fv (const GLfloat *v)
Replacement of glTexCoord3fv.
void | GLTexCoord3h (GLhalf s, GLhalf t, GLhalf r)
Replacement of glTexCoord3hNV.
void | GLTexCoord3hv (const GLhalf *v)
Replacement of glTexCoord3hv.
void | GLTexCoord3i (GLint s, GLint t, GLint r)
Replacement of glTexCoord3i.
void | GLTexCoord3iv (const GLint *v)
Replacement of glTexCoord3iv.
void | GLTexCoord3s (GLshort s, GLshort t, GLshort r)
Replacement of glTexCoord3s.
void | GLTexCoord3sv (const GLshort *v)
Replacement of glTexCoord3sv.
void | GLTexCoord4d (GLdouble s, GLdouble t, GLdouble r, GLdouble q)
Replacement of glTexCoord4d.
void | GLTexCoord4dv (const GLdouble *v)
Replacement of glTexCoord4dv.
void | GLTexCoord4f (GLfloat s, GLfloat t, GLfloat r, GLfloat q)
Replacement of glTexCoord4f.
void | GLTexCoord4fv (const GLfloat *v)
Replacement of glTexCoord4fv.
void | GLTexCoord4h (GLhalf s, GLhalf t, GLhalf r, GLhalf q)
Replacement of glTexCoord4hNV.
void | GLTexCoord4hv (const GLhalf *v)
Replacement of glTexCoord4hv.
void | GLTexCoord4i (GLint s, GLint t, GLint r, GLint q)
Replacement of glTexCoord4i.
void | GLTexCoord4iv (const GLint *v)
Replacement of glTexCoord4iv.
void | GLTexCoord4s (GLshort s, GLshort t, GLshort r, GLshort q)
Replacement of glTexCoord4s.
void | GLTexCoord4sv (const GLshort *v)
Replacement of glTexCoord4sv.
void | GLTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glTexCoordPointer.
void | GLTextureEnvColor (const GLfloat *params)
Cached version of GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params ).
void | GLTextureEnvMode (GLint param)
Cached version of GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param ).
void | GLTexEnvf (GLenum target, GLenum pname, GLfloat param)
Cached version of glTexEnvf( target, pname, param ).
void | GLTexEnvfv (GLenum target, GLenum pname, const GLfloat *params)
Cached version of glTexEnvf( target, pname, param ).
void | GLTexEnvi (GLenum target, GLenum pname, GLint param)
Cached version of glTexEnvi( target, pname, param ).
void | GLTexEnviv (GLenum target, GLenum pname, const GLint *params)
Cached version of glTexEnviv( target, pname, param ).
void | GLTexGend (GLenum coord, GLenum pname, GLdouble param)
Replacement of glTexGend.
void | GLTexGenf (GLenum coord, GLenum pname, GLfloat param)
Replacement of glTexGenf.
void | GLTexGenfv (GLenum coord, GLenum pname, const GLfloat *param)
Replacement of glTexGenfv.
void | GLTexGeni (GLenum coord, GLenum pname, GLint param)
Replacement of glTexGeni.
void | GLTexImage1D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage1D.
void | GLTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexImage2D.
void | GLTexImage3D (GLenum target, int level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, int border, GLenum format, GLenum type, const void *pixels)
Replacement of glTexImage3D.
void | GLTextureBorderColor (GLenum target, const GLfloat *params)
Cached version of GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params ).
void | GLTextureMagFilter (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param ).
void | GLTextureMinFilter (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param ).
void | GLTextureWrapR (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_R, param ).
void | GLTextureWrapS (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_S, param ).
void | GLTextureWrapT (GLenum target, GLint param)
Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_T, param ).
void | GLTrackMatrix (GLenum target, GLuint address, GLenum matrix, GLenum transform)
Cached version of glTrackMatrixNV.
void | GLTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode)
Cached version of glTransformFeedbackAttribsNV.
void | GLTransformFeedbackVaryingsNV (GLuint program, GLsizei count, const GLint *varyings, GLenum bufferMode)
Cached version of glTransformFeedbackVaryingsNV.
void | GLTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar **varyings, GLenum bufferMode)
Cached version of glTransformFeedbackVaryings.
void | GLTexParameterf (GLenum target, GLenum pname, GLfloat param)
Cached version of glTexParameterf( target, pname, param ).
void | GLTexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
Cached version of glTexParameterfv( target, pname, params ).
void | GLTexParameteri (GLenum target, GLenum pname, GLint param)
Cached version of glTexParameteri( target, pname, param ).
void | GLTexParameterIiv (GLenum target, GLenum pname, const GLint *params)
Replacement of glTexParameterIivEXT.
void | GLTexParameterIuiv (GLenum target, GLenum pname, const GLuint *params)
Replacement of glTexParameterIuivEXT.
void | GLTexParameteriv (GLenum target, GLenum pname, const GLint *params)
Cached version of glTexParameteriv( target, pname, params ).
void | GLTexSubImage1D (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage1D.
void | GLTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage2D.
void | GLTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
Replacement of glTexSubImage3D.
void | GLTranslated (GLdouble x, GLdouble y, GLdouble z)
Replacement of glTranslated.
void | GLTranslatef (GLfloat x, GLfloat y, GLfloat z)
Replacement of glTranslatef.
void | GLVertex2d (GLdouble x, GLdouble y)
Replacement of glVertex2d.
void | GLVertex2dv (const GLdouble *v)
Replacement of glVertex2dv.
void | GLVertex2f (GLfloat x, GLfloat y)
Replacement of glVertex2f.
void | GLVertex2fv (const GLfloat *v)
Replacement of glVertex2fv.
void | GLVertex2h (GLhalf x, GLhalf y)
Replacement of glVertex2hNV.
void | GLVertex2hv (const GLhalf *v)
Replacement of glVertex2hv.
void | GLVertex2i (GLint x, GLint y)
Replacement of glVertex2i.
void | GLVertex2iv (const GLint *v)
Replacement of glVertex2iv.
void | GLVertex2s (GLshort x, GLshort y)
Replacement of glVertex2s.
void | GLVertex2sv (const GLshort *v)
Replacement of glVertex2sv.
void | GLVertex3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertex3d.
void | GLVertex3dv (const GLdouble *v)
Replacement of glVertex3dv.
void | GLVertex3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertex3f.
void | GLVertex3fv (const GLfloat *v)
Replacement of glVertex3fv.
void | GLVertex3h (GLhalf x, GLhalf y, GLhalf z)
Replacement of glVertex3hNV.
void | GLVertex3hv (const GLhalf *v)
Replacement of glVertex3hv.
void | GLVertex3i (GLint x, GLint y, GLint z)
Replacement of glVertex3i.
void | GLVertex3iv (const GLint *v)
Replacement of glVertex3iv.
void | GLVertex3s (GLshort x, GLshort y, GLshort z)
Replacement of glVertex3s.
void | GLVertex3sv (const GLshort *v)
Replacement of glVertex3sv.
void | GLVertex4d (GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertex4d.
void | GLVertex4dv (const GLdouble *v)
Replacement of glVertex4dv.
void | GLVertex4f (GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertex4f.
void | GLVertex4fv (const GLfloat *v)
Replacement of glVertex4fv.
void | GLVertex4h (GLhalf x, GLhalf y, GLhalf z, GLhalf w)
Replacement of glVertex4hNV.
void | GLVertex4hv (const GLhalf *v)
Replacement of glVertex4hv.
void | GLVertex4i (GLint x, GLint y, GLint z, GLint w)
Replacement of glVertex4i.
void | GLVertex4iv (const GLint *v)
Replacement of glVertex4iv.
void | GLVertex4s (GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertex4s.
void | GLVertex4sv (const GLshort *v)
Replacement of glVertex4sv.
void | GLVertexArrayRange (GLsizei size, const GLvoid *pointer)
Replacement of glVertexArrayRange.
void | GLVertexAttrib1d (GLuint index, GLdouble x)
Replacement of glVertexAttrib1d.
void | GLVertexAttrib1dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib1dv.
void | GLVertexAttrib1f (GLuint index, GLfloat x)
Replacement of glVertexAttrib1f.
void | GLVertexAttrib1fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib1fv.
void | GLVertexAttrib1h (GLuint index, GLhalf x)
Replacement of glVertexAttrib1h.
void | GLVertexAttrib1hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib1nv.
void | GLVertexAttrib1s (GLuint index, GLshort x)
Replacement of glVertexAttrib1s.
void | GLVertexAttrib1sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib1sv.
void | GLVertexAttrib2d (GLuint index, GLdouble x, GLdouble y)
Replacement of glVertexAttrib2d.
void | GLVertexAttrib2dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib2dv.
void | GLVertexAttrib2f (GLuint index, GLfloat x, GLfloat y)
Replacement of glVertexAttrib2f.
void | GLVertexAttrib2fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib2fv.
void | GLVertexAttrib2h (GLuint index, GLhalf x, GLhalf y)
Replacement of glVertexAttrib2h.
void | GLVertexAttrib2hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib2hv.
void | GLVertexAttrib2s (GLuint index, GLshort x, GLshort y)
Replacement of glVertexAttrib2s.
void | GLVertexAttrib2sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib2sv.
void | GLVertexAttrib3d (GLuint index, GLdouble x, GLdouble y, GLdouble z)
Replacement of glVertexAttrib3d.
void | GLVertexAttrib3dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib3dv.
void | GLVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z)
Replacement of glVertexAttrib3f.
void | GLVertexAttrib3fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib3fv.
void | GLVertexAttrib3h (GLuint index, GLhalf x, GLhalf y, GLhalf z)
Replacement of glVertexAttrib3h.
void | GLVertexAttrib3hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib3hv.
void | GLVertexAttrib3s (GLuint index, GLshort x, GLshort y, GLshort z)
Replacement of glVertexAttrib3s.
void | GLVertexAttrib3sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib3sv.
void | GLVertexAttrib4bv (GLuint index, const GLbyte *v)
Replacement of glVertexAttrib3bv.
void | GLVertexAttrib4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
Replacement of glVertexAttrib4d.
void | GLVertexAttrib4dv (GLuint index, const GLdouble *v)
Replacement of glVertexAttrib4dv.
void | GLVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
Replacement of glVertexAttrib4f.
void | GLVertexAttrib4fv (GLuint index, const GLfloat *v)
Replacement of glVertexAttrib4fv.
void | GLVertexAttrib4h (GLuint index, GLhalf x, GLhalf y, GLhalf z, GLhalf w)
Replacement of glVertexAttrib4h.
void | GLVertexAttrib4hv (GLuint index, const GLhalf *v)
Replacement of glVertexAttrib4hv.
void | GLVertexAttrib4iv (GLuint index, const GLint *v)
Replacement of glVertexAttrib4iv.
void | GLVertexAttrib4s (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)
Replacement of glVertexAttrib4s.
void | GLVertexAttrib4sv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib4sv.
void | GLVertexAttrib4ub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
Replacement of glVertexAttrib4ub.
void | GLVertexAttrib4ubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttrib4ubv.
void | GLVertexAttrib4uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttrib4uiv.
void | GLVertexAttrib4usv (GLuint index, const GLushort *v)
Replacement of glVertexAttrib4usv.
void | GLVertexAttrib4Nbv (GLuint index, const GLbyte *v)
Replacement of glVertexAttrib4Nbv.
void | GLVertexAttrib4Niv (GLuint index, const GLint *v)
Replacement of glVertexAttrib4Niv.
void | GLVertexAttrib4Nsv (GLuint index, const GLshort *v)
Replacement of glVertexAttrib4Nsv.
void | GLVertexAttrib4Nub (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)
Replacement of glVertexAttrib4Nub.
void | GLVertexAttrib4Nubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttrib4Nubv.
void | GLVertexAttrib4Nuiv (GLuint index, const GLuint *v)
Replacement of glVertexAttrib4Nuiv.
void | GLVertexAttrib4Nusv (GLuint index, const GLushort *v)
Replacement of glVertexAttrib4Nusv.
void | GLVertexAttribI1i (GLuint index, GLint x)
Replacement of glVertexAttribI1iEXT.
void | GLVertexAttribI2i (GLuint index, GLint x, GLint y)
Replacement of glVertexAttribI2iEXT.
void | GLVertexAttribI3i (GLuint index, GLint x, GLint y, GLint z)
Replacement of glVertexAttribI3iEXT.
void | GLVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w)
Replacement of glVertexAttribI4iEXT.
void | GLVertexAttribI1ui (GLuint index, GLuint x)
Replacement of glVertexAttribI1uiExt.
void | GLVertexAttribI2ui (GLuint index, GLuint x, GLuint y)
Replacement of glVertexAttribI2uiExt.
void | GLVertexAttribI3ui (GLuint index, GLuint x, GLuint y, GLuint z)
Replacement of glVertexAttribI3uiExt.
void | GLVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
Replacement of glVertexAttribI4uiExt.
void | GLVertexAttribI1iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI1ivEXT.
void | GLVertexAttribI2iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI2ivEXT.
void | GLVertexAttribI3iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI3ivEXT.
void | GLVertexAttribI4iv (GLuint index, const GLint *v)
Replacement of glVertexAttribI4ivEXT.
void | GLVertexAttribI1uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI1iuvEXT.
void | GLVertexAttribI2uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI2uivEXT.
void | GLVertexAttribI3uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI3uivEXT.
void | GLVertexAttribI4uiv (GLuint index, const GLuint *v)
Replacement of glVertexAttribI4uivEXT.
void | GLVertexAttribI4bv (GLuint index, const GLbyte *v)
Replacement of glVertexAttribI4bvEXT.
void | GLVertexAttribI4ubv (GLuint index, const GLubyte *v)
Replacement of glVertexAttribI4ubvEXT.
void | GLVertexAttribI4sv (GLuint index, const GLshort *v)
Replacement of glVertexAttribI4svEXT.
void | GLVertexAttribI4usv (GLuint index, const GLushort *v)
Replacement of glVertexAttribI4usvEXT.
void | GLVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribIPointerEXT.
void | GLVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribPointer.
void | GLVertexAttribPointerNV (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexAttribPointerNV.
void | GLVertexAttribs1dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs1dvNV.
void | GLVertexAttribs1fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs1fvNV.
void | GLVertexAttribs1hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs1hv.
void | GLVertexAttribs1svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs1svNV.
void | GLVertexAttribs2dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs2dvNV.
void | GLVertexAttribs2fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs2fvNV.
void | GLVertexAttribs2hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs2hv.
void | GLVertexAttribs2svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs2svNV.
void | GLVertexAttribs3dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs3dvNV.
void | GLVertexAttribs3fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs3fvNV.
void | GLVertexAttribs3hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs3hv.
void | GLVertexAttribs3svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs3svNV.
void | GLVertexAttribs4dvNV (GLuint index, GLsizei count, const GLdouble *v)
Replacement of glVertexAttribs4dvNV.
void | GLVertexAttribs4fvNV (GLuint index, GLsizei count, const GLfloat *v)
Replacement of glVertexAttribs4fvNV.
void | GLVertexAttribs4hv (GLuint index, GLsizei count, const GLhalf *v)
Replacement of glVertexAttribs4hv.
void | GLVertexAttribs4svNV (GLuint index, GLsizei count, const GLshort *v)
Replacement of glVertexAttribs4svNV.
void | GLVertexAttribs4ubvNV (GLuint index, GLsizei count, const GLubyte *v)
Replacement of glVertexAttribs4svNV.
void | GLVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
Replacement of glVertexPointer.
void | GLViewport (GLint x, GLint y, GLsizei width, GLsizei height)
Replacement of glViewport.
void | GLWindowPos2d (GLdouble x, GLdouble y)
Replacement of glWindowPos2d.
void | GLWindowPos2dv (const GLdouble *p)
Replacement of glWindowPos2dv.
void | GLWindowPos2f (GLfloat x, GLfloat y)
Replacement of glWindowPos2f.
void | GLWindowPos2fv (const GLfloat *p)
Replacement of glWindowPos2fv.
void | GLWindowPos2i (GLint x, GLint y)
Replacement of glWindowPos2i.
void | GLWindowPos2iv (const GLint *p)
Replacement of glWindowPos2iv.
void | GLWindowPos2s (GLshort x, GLshort y)
Replacement of glWindowPos2s.
void | GLWindowPos2sv (const GLshort *p)
Replacement of glWindowPos2sv.
void | GLWindowPos3d (GLdouble x, GLdouble y, GLdouble z)
Replacement of glWindowPos3d.
void | GLWindowPos3dv (const GLdouble *p)
Replacement of glWindowPos3dv.
void | GLWindowPos3f (GLfloat x, GLfloat y, GLfloat z)
Replacement of glWindowPos3f.
void | GLWindowPos3fv (const GLfloat *p)
Replacement of glWindowPos3fv.
void | GLWindowPos3i (GLint x, GLint y, GLint z)
Replacement of glWindowPos3i.
void | GLWindowPos3iv (const GLint *p)
Replacement of glWindowPos3iv.
void | GLWindowPos3s (GLshort x, GLshort y, GLshort z)
Replacement of glWindowPos3s.
void | GLWindowPos3sv (const GLshort *p)
Replacement of glWindowPos3sv.
GLvoid * | GLMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
Maps a range within the buffer to client space.
void | GLFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length)
Marks the range of the mapped buffer as ready to use by GL. When a buffer was mapped with GLMapBufferRange and the manual flush bit was set, this function allows to mark the range valid. Once valid, other GL operations depending on the specified memory range can proceed.
void | GLCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
Allows direct memory copy between buffer objects.
void | GLTexImage2DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
Establishes data storage for multi-sampled textures.
void | GLTexImage3DMultisample (GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
Establishes data storage for multi-sampled textures.
void | GLGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val)
Allows to retrieve the sample location.
void | GLBindVertexArray (GLuint array)
void | GLDeleteVertexArrays (GLsizei n, const GLuint *arrays)
void | GLGenVertexArrays (GLsizei n, GLuint *arrays)
void | GLIsVertexArray (GLuint array)
void | GLDebugMessageControlARB (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
void | GLDebugMessageInsertARB (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
void | GLDebugMessageCallbackARB (GLDEBUGPROCARB callback, const GLvoid *userParam)
GLuint | GLGetDebugMessageLogARB (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
void | GLSampleMaski (GLuint maskNumber, GLbitfield maskBits)
When GL_SAMPLE_MASK is enabled this function allows to specify the mask the fragment coverage is ANDed with.
GLboolean | GLIsRenderbuffer (GLuint renderbuffer)
Replacement of glIsRenderbufferEXT.
void | GLBindRenderbuffer (GLenum target, GLuint renderbuffer)
Replacement of glBindRenderbufferEXT.
void | GLDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers)
Replacement of glDeleteRenderbuffersEXT.
void | GLGenRenderbuffers (GLsizei n, GLuint *renderbuffers)
Replacement of glGenRenderbuffersEXT.
void | GLRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageEXT.
void | GLRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageMultisampleEXT.
void | GLRenderbufferStorageMultisampleCoverage (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
Replacement of glRenderbufferStorageMultisampleCoverageNV.
void | GLGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params)
Replacement of glGetRenderbufferParameterivEXT.
GLboolean | GLIsFramebuffer (GLuint framebuffer)
Replacement of glIsFramebufferEXT.
void | GLBindFramebuffer (GLenum target, GLuint framebuffer)
Replacement of glBindFramebufferEXT.
void | GLDeleteFramebuffers (GLsizei n, const GLuint *framebuffers)
Replacement of glDeleteFramebuffersEXT.
void | GLGenFramebuffers (GLsizei n, GLuint *framebuffers)
Replacement of glGenFramebuffersEXT.
GLenum | GLCheckFramebufferStatus (GLenum target)
Replacement of glCheckFramebufferStatusEXT.
void | GLFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Replacement of glFramebufferTexture1DEXT.
void | GLFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
Replacement of glFramebufferTexture2DEXT.
void | GLFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
Replacement of glFramebufferTexture3DEXT.
void | GLFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
Replacement of glFramebufferTextureLayerEXT.
void | GLFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
Replacement of glFramebufferRenderbufferEXT.
void | GLGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params)
Replacement of glGetFramebufferAttachmentParameterivEXT.
void | GLGenerateMipmap (GLenum target)
Replacement of glGenerateMipmapEXT.
void | GLPresentFrameKeyedNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1)
void | GLPresentFrameDualFillNV (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3)
void | GLGetVideoivNV (GLuint video_slot, GLenum pname, GLint *params)
void | GLGetVideouivNV (GLuint video_slot, GLenum pname, GLuint *params)
void | GLGetVideoi64vNV (GLuint video_slot, GLenum pname, GLint64EXT *params)
void | GLGetVideoui64vNV (GLuint video_slot, GLenum pname, GLuint64EXT *params)
void | GLBufferAddressRangeNV (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length)
void | GLVertexFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLNormalFormatNV (GLenum type, GLsizei stride)
void | GLColorFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLIndexFormatNV (GLenum type, GLsizei stride)
void | GLTexCoordFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLEdgeFlagFormatNV (GLsizei stride)
void | GLSecondaryColorFormatNV (GLint size, GLenum type, GLsizei stride)
void | GLFogCoordFormatNV (GLenum type, GLsizei stride)
void | GLVertexAttribFormatNV (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride)
void | GLVertexAttribIFormatNV (GLuint index, GLint size, GLenum type, GLsizei stride)
void | GLGetIntegerui64i_vNV (GLenum target, GLuint index, GLuint64EXT *data)
void | GLGetBufferParameterui64vNV (GLenum target, GLenum pname, GLuint64EXT *params)
GLboolean | GLIsBufferResidentNV (GLenum target)
void | GLMakeBufferNonResidentNV (GLenum target)
void | GLMakeBufferResidentNV (GLenum target, GLenum access)
void | GLGetNamedBufferParameterui64vNV (GLuint buffer, GLenum pname, GLuint64EXT *params)
GLboolean | GLIsNamedBufferResidentNV (GLuint buffer)
void | GLMakeNamedBufferNonResidentNV (GLuint buffer)
void | GLMakeNamedBufferResidentNV (GLuint buffer, GLenum access)
void | GLGetIntegerui64vNV (GLenum target, GLuint64EXT *data)
void | GLUniformui64NV (GLint location, GLuint64EXT v0)
void | GLUniformui64vNV (GLint location, GLsizei count, const GLuint64EXT *value)
void | GLGetUniformui64vNV (GLuint program, GLint location, GLuint64EXT *params)
void | GLProgramUniformui64NV (GLuint program, GLint location, GLuint64EXT v0)
void | GLProgramUniformui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)
void | GLBeginVideoCaptureNV (GLuint video_capture_slot)
void | GLBindVideoCaptureStreamBufferNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset)
void | GLBindVideoCaptureStreamTextureNV (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture)
void | GLEndVideoCaptureNV (GLuint video_capture_slot)
void | GLGetVideoCaptureivNV (GLuint video_capture_slot, GLenum pname, GLint *params)
void | GLGetVideoCaptureStreamivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params)
void | GLGetVideoCaptureStreamfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params)
void | GLGetVideoCaptureStreamdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params)
GLenum | GLVideoCaptureNV (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time)
void | GLVideoCaptureStreamParameterivNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params)
void | GLVideoCaptureStreamParameterfvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params)
void | GLVideoCaptureStreamParameterdvNV (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params)
void | GLPushClientAttribDefaultEXT (GLbitfield mask)
void | GLClientAttribDefaultEXT (GLbitfield mask)
void | GLMatrixLoadfEXT (GLenum mode, const GLfloat *m)
void | GLMatrixLoaddEXT (GLenum mode, const GLdouble *m)
void | GLMatrixMultfEXT (GLenum mode, const GLfloat *m)
void | GLMatrixMultdEXT (GLenum mode, const GLdouble *m)
void | GLMatrixLoadIdentityEXT (GLenum mode)
void | GLMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
void | GLMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z)
void | GLMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z)
void | GLMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z)
void | GLMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z)
void | GLMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z)
void | GLMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
void | GLMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)
void | GLMatrixPopEXT (GLenum mode)
void | GLMatrixPushEXT (GLenum mode)
void | GLMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m)
void | GLMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m)
void | GLMatrixMultTransposefEXT (GLenum mode, const GLfloat *m)
void | GLMatrixMultTransposedEXT (GLenum mode, const GLdouble *m)
void | GLTextureParameterfEXT (GLuint texture, GLenum target, GLenum pname, GLfloat param)
void | GLTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, const GLfloat *params)
void | GLTextureParameteriEXT (GLuint texture, GLenum target, GLenum pname, GLint param)
void | GLTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
void | GLTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
void | GLCopyTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void | GLCopyTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
void | GLCopyTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLGetTextureImageEXT (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
void | GLGetTextureParameterfvEXT (GLuint texture, GLenum target, GLenum pname, GLfloat *params)
void | GLGetTextureParameterivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
void | GLGetTextureLevelParameterfvEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)
void | GLGetTextureLevelParameterivEXT (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)
void | GLTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLMultiTexParameterfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param)
void | GLMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
void | GLMultiTexParameteriEXT (GLenum texunit, GLenum target, GLenum pname, GLint param)
void | GLMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
void | GLMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)
void | GLCopyMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void | GLCopyMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
void | GLCopyMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLGetMultiTexImageEXT (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)
void | GLGetMultiTexParameterfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
void | GLGetMultiTexParameterivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
void | GLGetMultiTexLevelParameterfvEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params)
void | GLGetMultiTexLevelParameterivEXT (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params)
void | GLMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
void | GLMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
void | GLCopyMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void | GLBindMultiTextureEXT (GLenum texunit, GLenum target, GLuint texture)
void | GLEnableClientStateIndexedEXT (GLenum array, GLuint index)
void | GLDisableClientStateIndexedEXT (GLenum array, GLuint index)
void | GLMultiTexCoordPointerEXT (GLenum texunit, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
void | GLMultiTexEnvfEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat param)
void | GLMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)
void | GLMultiTexEnviEXT (GLenum texunit, GLenum target, GLenum pname, GLint param)
void | GLMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
void | GLMultiTexGendEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble param)
void | GLMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params)
void | GLMultiTexGenfEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat param)
void | GLMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params)
void | GLMultiTexGeniEXT (GLenum texunit, GLenum coord, GLenum pname, GLint param)
void | GLMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, const GLint *params)
void | GLGetMultiTexEnvfvEXT (GLenum texunit, GLenum target, GLenum pname, GLfloat *params)
void | GLGetMultiTexEnvivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
void | GLGetMultiTexGendvEXT (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params)
void | GLGetMultiTexGenfvEXT (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params)
void | GLGetMultiTexGenivEXT (GLenum texunit, GLenum coord, GLenum pname, GLint *params)
void | GLGetFloatIndexedvEXT (GLenum target, GLuint index, GLfloat *data)
void | GLGetDoubleIndexedvEXT (GLenum target, GLuint index, GLdouble *data)
void | GLGetPointerIndexedvEXT (GLenum target, GLuint index, GLvoid **data)
void | GLCompressedTextureImage3DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureImage2DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureImage1DEXT (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureSubImage3DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureSubImage2DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedTextureSubImage1DEXT (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLGetCompressedTextureImageEXT (GLuint texture, GLenum target, GLint lod, GLvoid *img)
void | GLCompressedMultiTexImage3DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexImage2DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexImage1DEXT (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexSubImage3DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexSubImage2DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLCompressedMultiTexSubImage1DEXT (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits)
void | GLGetCompressedMultiTexImageEXT (GLenum texunit, GLenum target, GLint lod, GLvoid *img)
void | GLNamedProgramStringEXT (GLuint program, GLenum target, GLenum format, GLsizei len, const GLvoid *string)
void | GLNamedProgramLocalParameter4dEXT (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
void | GLNamedProgramLocalParameter4dvEXT (GLuint program, GLenum target, GLuint index, const GLdouble *params)
void | GLNamedProgramLocalParameter4fEXT (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void | GLNamedProgramLocalParameter4fvEXT (GLuint program, GLenum target, GLuint index, const GLfloat *params)
void | GLGetNamedProgramLocalParameterdvEXT (GLuint program, GLenum target, GLuint index, GLdouble *params)
void | GLGetNamedProgramLocalParameterfvEXT (GLuint program, GLenum target, GLuint index, GLfloat *params)
void | GLGetNamedProgramivEXT (GLuint program, GLenum target, GLenum pname, GLint *params)
void | GLGetNamedProgramStringEXT (GLuint program, GLenum target, GLenum pname, GLvoid *string)
void | GLNamedProgramLocalParameters4fvEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params)
void | GLNamedProgramLocalParameterI4iEXT (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)
void | GLNamedProgramLocalParameterI4ivEXT (GLuint program, GLenum target, GLuint index, const GLint *params)
void | GLNamedProgramLocalParametersI4ivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params)
void | GLNamedProgramLocalParameterI4uiEXT (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
void | GLNamedProgramLocalParameterI4uivEXT (GLuint program, GLenum target, GLuint index, const GLuint *params)
void | GLNamedProgramLocalParametersI4uivEXT (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params)
void | GLGetNamedProgramLocalParameterIivEXT (GLuint program, GLenum target, GLuint index, GLint *params)
void | GLGetNamedProgramLocalParameterIuivEXT (GLuint program, GLenum target, GLuint index, GLuint *params)
void | GLTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, const GLint *params)
void | GLTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, const GLuint *params)
void | GLGetTextureParameterIivEXT (GLuint texture, GLenum target, GLenum pname, GLint *params)
void | GLGetTextureParameterIuivEXT (GLuint texture, GLenum target, GLenum pname, GLuint *params)
void | GLMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, const GLint *params)
void | GLMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, const GLuint *params)
void | GLGetMultiTexParameterIivEXT (GLenum texunit, GLenum target, GLenum pname, GLint *params)
void | GLGetMultiTexParameterIuivEXT (GLenum texunit, GLenum target, GLenum pname, GLuint *params)
void | GLProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0)
void | GLProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1)
void | GLProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
void | GLProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
void | GLProgramUniform1iEXT (GLuint program, GLint location, GLint v0)
void | GLProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1)
void | GLProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)
void | GLProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
void | GLProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value)
void | GLProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value)
void | GLProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void | GLProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0)
void | GLProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1)
void | GLProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)
void | GLProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
void | GLProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value)
void | GLNamedBufferDataEXT (GLuint buffer, GLsizeiptr size, const GLvoid *data, GLenum usage)
void | GLNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, const GLvoid *data)
GLvoid * | GLMapNamedBufferEXT (GLuint buffer, GLenum access)
GLboolean | GLUnmapNamedBufferEXT (GLuint buffer)
void | GLGetNamedBufferParameterivEXT (GLuint buffer, GLenum pname, GLint *params)
void | GLGetNamedBufferPointervEXT (GLuint buffer, GLenum pname, GLvoid **params)
void | GLGetNamedBufferSubDataEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLvoid *data)
void | GLTextureBufferEXT (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)
void | GLMultiTexBufferEXT (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer)
void | GLNamedRenderbufferStorageEXT (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
void | GLGetNamedRenderbufferParameterivEXT (GLuint renderbuffer, GLenum pname, GLint *params)
GLenum | GLCheckNamedFramebufferStatusEXT (GLuint framebuffer, GLenum target)
void | GLNamedFramebufferTexture1DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void | GLNamedFramebufferTexture2DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void | GLNamedFramebufferTexture3DEXT (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
void | GLNamedFramebufferRenderbufferEXT (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
void | GLGetNamedFramebufferAttachmentParameterivEXT (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)
void | GLGenerateTextureMipmapEXT (GLuint texture, GLenum target)
void | GLGenerateMultiTexMipmapEXT (GLenum texunit, GLenum target)
void | GLFramebufferDrawBufferEXT (GLuint framebuffer, GLenum mode)
void | GLFramebufferDrawBuffersEXT (GLuint framebuffer, GLsizei n, const GLenum *bufs)
void | GLFramebufferReadBufferEXT (GLuint framebuffer, GLenum mode)
void | GLGetFramebufferParameterivEXT (GLuint framebuffer, GLenum pname, GLint *params)
void | GLNamedRenderbufferStorageMultisampleEXT (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
void | GLNamedRenderbufferStorageMultisampleCoverageEXT (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)
void | GLNamedFramebufferTextureEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
void | GLNamedFramebufferTextureLayerEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
void | GLNamedFramebufferTextureFaceEXT (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)
void | GLTextureRenderbufferEXT (GLuint texture, GLenum target, GLuint renderbuffer)
void | GLMultiTexRenderbufferEXT (GLenum texunit, GLenum target, GLuint renderbuffer)
GLenum | GLGetTexWrapMode (nvsg::TextureWrapMode twm)
Translate an nvsg::TextureWrapMode into a GL-specific texture wrap mode as a GLenum.
bool | WGLInitializeExtensions (void)
Initialize the wgl-extension functions inside the WGLFunctions class.
bool | WGLIsExtensionAvailable (const std::string &extstr)
Returns whether the specified wgl-extension is available.
bool | WGLIsExtensionExported (const std::string &extstr)
Returns whether the specified wgl-extension is exported.
BOOL | WGLBindTexImage (HPBUFFERARB hPbuffer, int iBuffer)
Replacement of wglBindTexImageARB.
BOOL | WGLChoosePixelFormat (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats)
Replacement of wglChoosePixelFormatARB.
BOOL | WGLGetPixelFormatAttribivARB (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues)
Replacement of wglGetPixelFormatAttribivARB.
BOOL | WGLGetPixelFormatAttribfv (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues)
Replacement of wglGetPixelFormatAttribfvARB.
HGLRC | WGLCreateContext (HDC hdc)
Replacement of wglCreateContext.
HPBUFFERARB | WGLCreatePbuffer (HDC hdc, int pixelFormat, int width, int height, const int *attribList)
Replacement of wglCreatePbufferARB.
BOOL | WGLDeleteContext (HGLRC hglrc)
Replacement of wglDeleteContext.
BOOL | WGLDestroyPbuffer (HPBUFFERARB hPbuffer)
Replacement of wglDestroyPbufferARB.
HGLRC | WGLGetCurrentContext (void)
Replacement for wglGetCurrenContext.
HDC | WGLGetCurrentDC (void)
Replacement for wglGetCurrentDC.
HDC | WGLGetPbufferDC (HPBUFFERARB hPbuffer)
Replacement of wglGetPbufferDCARB.
BOOL | WGLQueryPbuffer (HPBUFFERARB hPbuffer, int attribute, int *value)
Replacement of wglQueryPbufferARB.
int | WGLReleasePbufferDC (HPBUFFERARB hPbuffer, HDC hdc)
Replacement of wglReleasePbufferDCARB.
BOOL | WGLReleaseTexImage (HPBUFFERARB hPbuffer, int iBuffer)
Replacement of wglReleaseTexImageARB.
BOOL | WGLJoinSwapGroupNV (HDC hDC, GLuint group)
Replacement of wglJointSwapGroupNV.
BOOL | WGLBindSwapBarrierNV (GLuint group, GLuint barrier)
Replacement of wglBindSwapBarrierNV.
BOOL | WGLQuerySwapGroupNV (HDC hDC, GLuint *group, GLuint *barrier)
Replacement of wglQuerySwapGroupNV.
BOOL | WGLQueryMaxSwapGroupsNV (HDC hDC, GLuint *maxGroups, GLuint *maxBarriers)
Replacement of wglQueryMaxSwapGroupsNV.
BOOL | WGLQueryFrameCountNV (HDC hDC, GLuint *count)
Replacement of wglQueryFrameCountNV.
BOOL | WGLResetFrameCountNV (HDC hDC)
Replacement of wglResetFrameCountNV.
BOOL | WGLEnumGpus (UINT iIndex, HGPUNV *hGpu)
Replacement of wglEnumGpusNV.
BOOL | WGLEnumGpuDevices (HGPUNV hGpu, UINT iIndex, PGPU_DEVICE pGpuDevice)
Replacement of wglEnumGpuDevicesNV.
HDC | WGLCreateAffinityDC (const HGPUNV *pGpuList)
Replacement for wglCreateAffinityDVNV.
BOOL | WGLEnumGpusFromAffinityDC (HDC hAffinityDC, UINT iIndex, HGPUNV *hGpu)
Replacement for wglEnumGpusFromAffinityDCNV.
BOOL | WGLDeleteDC (HDC hAffinityDC)
Replacement for wglDeleteDCNV.
BOOL | WGLSwapInterval (int interval)
Replacement for wglSwapIntervalEXT.
int | WGLGetSwapInterval (void)
Replacement for wglGetSwapIntervalEXT.
BOOL | WGLGetVideoDevice (HDC hDC, INT iVideoStreams, HPVIDEODEVICE *phpVideoDevice)
Replacement for wglGetVideoDeviceNV.
BOOL | WGLReleaseVideoDevice (HPVIDEODEVICE hpVideoDevice)
Replacement for wglReleaseVideoDeviceNV.
BOOL | WGLBindVideoImage (HPVIDEODEVICE hpVideoDevice, HPBUFFERARB hPbuffer, INT iVideoBuffer)
Replacement for wglBindVideoImageNV.
BOOL | WGLReleaseVideoImage (HPBUFFERARB hPbuffer, INT iVideoBuffer)
Replacement for wglReleaseVideoImageNV.
BOOL | WGLSendPbufferToVideo (HPBUFFERARB hPbuffer, INT iBufferType, unsigned long *pulCounterPbuffer, BOOL bBlock)
Replacement for wglSendPbufferToVideoNV.
BOOL | WGLGetVideoInfo (HPVIDEODEVICE hpVideoDevice, unsigned long *pulCounterOutputVideo, unsigned long *pulCounterOutputPbuffer)
Replacement for wglGetVideoInfoNV.
int | WGLEnumerateVideoDevicesNV (HDC hDC, HVIDEOOUTPUTDEVICENV *phDeviceList)
Replacement for wglEnumerateVideoDevicesNV.
BOOL | WGLBindVideoDeviceNV (HDC hDC, unsigned int uVideoSlot, HVIDEOOUTPUTDEVICENV hVideoDevice, const int *piAttribList)
Replacement for wglBindVideoDeviceNV.
BOOL | WGLQueryCurrentContextNV (int iAttribute, int *piValue)
Replacement for wglQueryCurrentContextNV.
BOOL | WGLBindVideoCaptureDeviceNV (UINT uVideoSlot, HVIDEOINPUTDEVICENV hDevice)
UINT | WGLEnumerateVideoCaptureDevicesNV (HDC hDc, HVIDEOINPUTDEVICENV *phDeviceList)
BOOL | WGLLockVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice)
BOOL | WGLQueryVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice, int iAttribute, int *piValue)
BOOL | WGLReleaseVideoCaptureDeviceNV (HDC hDc, HVIDEOINPUTDEVICENV hDevice)
bool | GLXInitializeExtensions (Display *dpy)
Initialize the glx-extension functions inside the GLXFunctions class.
bool | GLXIsExtensionAvailable (const std::string &extstr)
Returns whether the specified glx-extension is available.
bool | GLXIsExtensionExported (const std::string &extstr)
Returns whether the specified glx-extension is exported.
GLXContext | GLXCreateContext (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
Replacement of glXCreateContext.
void | GLXDestroyContext (Display *dpy, GLXContext ctx)
Replacement of glXDestroyContext.
GLXContext | GLXGetCurrentContext ()
Replacement of glXGetCurrentContext.
GLXDrawable | GLXGetCurrentDrawable ()
Replacement of glXGetCurrentDrawable.
NVSG_API int | GLXSwapInterval (int value)
int | GLXGetVideoSync (unsigned int *value)
int | GLXWaitVideoSync (int divisor, int remainder, unsigned int *cnt)
Bool | GLXJoinSwapGroup (Display *dpy, GLXDrawable drawable, GLuint group)
Bool | GLXBindSwapBarrier (Display *dpy, GLuint group, GLuint barrier)
Bool | GLXQuerySwapGroup (Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier)
Bool | GLXQueryMaxSwapGroups (Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers)
Bool | GLXQueryFrameCount (Display *dpy, int screen, GLuint *count)
Bool | GLXResetFrameCount (Display *dpy, int screen)
int | GLXGetVideoDevice (Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice)
int | GLXReleaseVideoDevice (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice)
int | GLXBindVideoImage (Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer)
int | GLXReleaseVideoImage (Display *dpy, GLXPbuffer pbuf)
int | GLXSendPbufferToVideo (Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock)
int | GLXGetVideoInfo (Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputVideo, unsigned long *pulCounterOutputPbuffer)
void | GLXBindTexImage (Display *dpy, GLXDrawable d, int buffer, const int *attrList)
void | GLXReleaseTexImage (Display *dpy, GLXDrawable d, int buffer)
unsigned int * | GLXEnumerateVideoDevicesNV (Display *dpy, int screen, int *nelements)
int | GLXBindVideoDeviceNV (Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list)
int | GLXBindVideoCaptureDeviceNV (Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device)
GLXVideoCaptureDeviceNV * | GLXEnumerateVideoCaptureDevicesNV (Display *dpy, int screen, int *nelements)
void | GLXLockVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
int | GLXQueryVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value)
void | GLXReleaseVideoCaptureDeviceNV (Display *dpy, GLXVideoCaptureDeviceNV device)
NVSG_API void | GLGenVertexBuffer (GLenum target, GLsizeiptr size, GLuint *buffer)
Generates a vertex buffer of requested size.
NVSG_API void | GLGenIndexBuffer (GLenum target, GLsizeiptr size, GLuint *buffer)
Generates an index buffer of requested size.
NVSG_API void | GLDeleteVertexBuffer (GLuint buffer)
Deletes a vertex buffer.
NVSG_API void | GLDeleteIndexBuffer (GLuint buffer)
Deletes an index buffer.
NVSG_API void | GLBindVertexBuffer (GLuint buffer)
Binds the buffer name associated with the identifier buffer to the GL_ARRAY_ELEMENT target.
NVSG_API void | GLBindTransformFeedbackBuffer (GLuint index, GLuint buffer, GLuint offset)
Binds the buffer name associated with the identifier buffer to the GL_TRANSFORM_FEEDBACK_BUFFER_NV target.
NVSG_API void | GLBindIndexBuffer (GLuint buffer)
Binds the buffer name associated with the identifier buffer to the GL_ELEMENT_ARRAY_ELEMENT target.
NVSG_API void | GLUploadBuffers ()
Uploads all pending buffers.
NVSG_API GLvoid * | GLMapVertexBuffer (GLuint buffer)
Maps the vertex buffer identified by buffer into process memory for write-only access.
NVSG_API GLvoid * | GLMapIndexBuffer (GLuint buffer)
Maps the index buffer identified by buffer into process memory for write-only access.
NVSG_API GLboolean | GLUnmapVertexBuffer (GLuint buffer)
Relinquishes a vertex buffer mapping.
NVSG_API GLboolean | GLUnmapIndexBuffer (GLuint buffer)
Relinquishes an index buffer mapping.
NVSG_API GLuint64EXT | GLGetBufferAddress (GLuint buffer)
Returns the 64-bit video memory address for the specified buffer.
NVSG_API GLsizeiptr | GLGetBufferSize (GLuint buffer)
Returns the size of the specified buffer.
NVSG_API GLsizeiptr | GLGetVertexBufferOffset (GLuint buffer)
Returns the start offset for the specified buffer.
NVSG_API void | GLBuildVertexBufferCache (nvgl::GLArrayBufferCache *vi, GLuint whichBuffer, const nvsg::VertexAttributeSet *vas)
VBO / Cache Filling Methods.
NVSG_API void | GLFillVertexBufferCache (nvgl::GLArrayBufferCache *vi, GLuint whichBuffer, const nvsg::VertexAttributeSet *vas)
NVSG_API void | GLBuildIndexBufferCache (nvgl::GLElementArrayBufferCache *vi, unsigned int numStrips, const nvsg::IndexList *strips, bool primitiveRestartSupport)
NVSG_API void | GLBuildIndexBufferCache (nvgl::GLElementArrayBufferCache *vi, unsigned int numIndices, const unsigned int *indices)
NVSG_API void | GLBuildIndexBufferCache (nvgl::GLElementArrayBufferCache *vi, unsigned int numIndices, const void *indices)
NVSG_API GLsizeiptr | GLGetIndexBufferOffset (GLuint buffer)
Returns the start offset for the specified buffer.
NVSG_API GLboolean | GLIsVertexBuffer (GLuint buffer)
Returns whether buffer identifies a valid vertex buffer for the current context.
NVSG_API GLboolean | GLIsIndexBuffer (GLuint buffer)
Returns whether buffer identifies a valid index buffer for the current context.
class | CORE_TYPES (GLObjectRendererTextureCache, nvutil::Observer)
class | CORE_TYPES (ShareGroupGL, nvutil::HandledObject)
class class | CORE_TYPES (BufferGL, nvsg::Buffer)
CORE_TYPES (TextureGL, nvsg::Texture)
CORE_TYPES (DisplayListGL, nvutil::HandledObject)

Variables

const unsigned int | MAX_CACHED_TEXTUREATTRIBUTE_ITEMS = 4
typedef nvutil::SmartPtr<
GLObjectRenderer > 		GLObjectRendererSharedPtr
typedef nvutil::SmartPtr<
RLResource > 		RLResourceSharedPtr
typedef nvutil::SmartPtr<
RMGResource > 		RMGResourceSharedPtr
typedef nvutil::SmartPtr<
TextureInfo > 		TextureInfoSharedPtr
typedef nvutil::SmartPtr<
MGResource > 		MGResourceSharedPtr
typedef nvutil::SmartPtr<
TGResource > 		TGResourceSharedPtr
typedef nvutil::SmartPtr<
VertexDeclaration > 		VertexDeclarationSharedPtr
typedef nvutil::SmartPtr<
VertexBufferInfo > 		VertexBufferInfoSharedPtr
typedef nvutil::SmartPtr<
IndexBufferInfo > 		IndexBufferInfoSharedPtr
typedef nvutil::SmartPtr<
DisplayListInfo > 		DisplayListInfoSharedPtr
typedef nvutil::SmartPtr<
DIResource > 		DIResourceSharedPtr
typedef nvutil::SmartPtr<
GLRenderListProcessor > 		GLRenderListProcessorSharedPtr
NVSG_API DWORD | glContextTlsIdx
NVSG_API GLenum | glError
holds the current OpenGL error code to ease debugging
typedef nvutil::SmartPtr<
RenderContextGL > 		SmartRenderContextGL
typedef nvutil::SmartPtr<
ShareGroupGLResourceHolder > 		ShareGroupGLResource
typedef nvutil::SmartPtr<
ShareGroupGLResourceHolder > 		SmartShareGroupGLResource
typedef nvutil::SmartPtr<
RenderTargetGLFBO > 		SmartRenderTargetGLFBO

Detailed Description

Namespace for OpenGL.

This namespace wraps around the native OpenGL implementation. It organizes caching, attribute handling, etc....

Note:
Do not use native OpenGL calls when extending SceniX or SceniX-based viewers. Instead, use the implementation of the OpenGL commands contained in this namespace so you do not break caching, etc.

Do not include other OpenGL headers. nvgl.h should be the only OpenGL header you need.

Function Documentation

GLContext* glContext ( ) [inline]

Get the GLContext of the current thread.

Returns:
The GLContext of the current thread.
Remarks:
When using WGLMakeCurrent (or GLXMakeCurrent on Linux), to make a HGLRC current, the corresponding GLContext is assigned. As there can be only one HGLRC current per thread, the same holds for the GLContext. Using this function returns the GLContext of the current thread.
See also:
WGLMakeCurrent, GLXMakeCurrent, GLContext

bool equalf | ( | GLfloat | a,
 |  | GLfloat | b
 | ) | [inline]

Fast float compare helper.

bool equal3f | ( | GLfloat | a1,
 |  | GLfloat | a2,
 |  | GLfloat | a3,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

bool equal3fv | ( | const GLfloat * | a,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

bool equal4f | ( | GLfloat | a1,
 |  | GLfloat | a2,
 |  | GLfloat | a3,
 |  | GLfloat | a4,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

bool equal4fv | ( | const GLfloat * | a,
 |  | const GLfloat * | b
 | ) | [inline]

Fast float compare helper.

void GLAccum | ( | GLenum | op,
 |  | GLfloat | value
 | ) | [inline]

Replacement of glAccum.

This function asserts on the result before returning.

void GLActiveStencilFace ( GLenum face ) [inline]

Replacement of glActiveStencilFaceEXT.

This function asserts on the result before returning.

void GLActiveTexture ( GLenum texture ) [inline]

Replacement of glActiveTexture.

This function stores the texture to activate for subsequent texture operations.

void GLPatchParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | values
 | ) | [inline]

Replacement of glPatchParameterfvNV.

This function asserts on the result before returning.

void GLPatchParameteri | ( | GLenum | pname,
 |  | GLint | value
 | ) | [inline]

Replacement of glPatchParameteriNV.

This function asserts on the result before returning.

void GLActiveVarying | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glActiveVaryingNV.

This function asserts on the result before returning.

void GLAlphaFunc | ( | GLenum | func,
 |  | GLclampf | ref
 | ) | [inline]

Replacement of glAlphaFunc.

This function caches the alpha func and ref and asserts on the result before returning.

void GLResetAlphaFunc ( ) [inline]

Helper function to reset alpha function and alpha reference value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the alpha function and alpha reference value to the previous function and value. Otherwise, the alpha function is set to GL_ALWAYS, and the alpha reference value is set to zero.
See also:
GLAlphaFunc

GLboolean GLAreProgramsResident | ( | GLsizei | n,
 |  | const GLuint * | programs,
 |  | GLboolean * | residences
 | ) | [inline]

Replacement of glAreProgramsResidentNV.

This function asserts on the result before returning.

GLboolean GLAreTexturesResident | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | GLboolean * | residences
 | ) | [inline]

Replacement of glAreTexturesResident.

This function asserts on the result before returning.

void GLArrayElement ( GLint i ) [inline]

Replacement of glArrayElement.

This function asserts on the result before returning.

void GLAttachObject | ( | GLhandleARB | containerObj,
 |  | GLhandleARB | attachedObj
 | ) | [inline]

Replacement of glAttachObjectARB.

This function asserts on the result before returning.

void GLAttachShader | ( | GLuint | program,
 |  | GLuint | shader
 | ) | [inline]

Replacement of glAttachShader.

This function asserts on the result before returning.

void GLBegin ( GLenum mode ) [inline]

Replacement of glBegin.

This function asserts on the result before returning.

void GLBeginQuery | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBeginQuery.

This function asserts on the result before returning.

void GLBeginTransformFeedbackNV ( GLenum primitiveMode ) [inline]

Replacement of glBeginTransformFeedbackNV.

void GLBeginTransformFeedback ( GLenum primitiveMode ) [inline]

Replacement of glBeginTransformFeedback.

void GLBeginConditionalRenderNV | ( | GLuint | id,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glBeginConditionalRenderNV.

void GLBlendColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [inline]

Replacement of glBlendColor.

void GLBindAttribLocation | ( | GLuint | program,
 |  | GLuint | index,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glBindAttribLocation.

void GLBindBuffer | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBindBuffer.

This function asserts on the result before returning.

void GLBindBufferBaseNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glBindBufferBaseNV.

This function asserts on the result before returning.

void GLBindBufferBase | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glBindBufferBase.

This function asserts on the result before returning.

void GLBindBufferOffsetNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset
 | ) | [inline]

Replacement of glBindBufferOffsetNV.

This function asserts on the result before returning.

void GLBindBufferRangeNV | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset,
 |  | GLsizeiptr | size
 | ) | [inline]

Replacement of glBindBufferRangeNV.

This function asserts on the result before returning.

void GLBindBufferRange | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | buffer,
 |  | GLintptr | offset,
 |  | GLsizeiptr | size
 | ) | [inline]

Replacement of glBindBufferRange.

This function asserts on the result before returning.

void GLBufferData | ( | GLenum | target,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data,
 |  | GLenum | usage
 | ) | [inline]

Replacement of glBufferData.

This function asserts on the result before returning.

void GLBufferSubData | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glBufferSubData.

This function and asserts on the result before returning.

void GLDeleteBuffers | ( | GLsizei | n,
 |  | const GLuint * | buffers
 | ) | [inline]

Replacement of glDeleteBuffers.

This function updates some caches, and asserts on the result before returning.

void GLDeleteFences | ( | GLsizei | n,
 |  | const GLuint * | fences
 | ) | [inline]

Replacement of glDeleteFencesNV.

void GLGenBuffers | ( | GLsizei | n,
 |  | GLuint * | buffers
 | ) | [inline]

Replacement of glGenBuffers.

This function asserts on the result, and updates some caches.

void GLGenFences | ( | GLsizei | n,
 |  | GLuint * | fences
 | ) | [inline]

Replacement of glGenFencesNV.

GLvoid* GLMapBuffer | ( | GLenum | target,
 |  | GLenum | access
 | ) | [inline]

Replacement of glMapBuffer.

This function hides the extension character of glMapBufferARB and asserts on the result before returning.

void GLUnlockArrays ( ) [inline]

Replacement of glUnlockArrays.

This function asserts on the result before returning.

void GLUniform1f | ( | GLint | location,
 |  | GLfloat | v0
 | ) | [inline]

Replacement of glUniform1f.

This function asserts on the result before returning.

void GLUniform1fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform1fv.

This function asserts on the result before returning.

void GLUniform1i | ( | GLint | location,
 |  | GLint | v0
 | ) | [inline]

Replacement of glUniform1i.

This function asserts on the result before returning.

void GLUniform1iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform1iv.

This function asserts on the result before returning.

void GLUniform1ui | ( | GLint | location,
 |  | GLuint | v0
 | ) | [inline]

Replacement of glUniform1uiEXT.

This function asserts on the result before returning.

void GLUniform1uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform1uivEXT.

This function asserts on the result before returning.

void GLUniform2f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1
 | ) | [inline]

Replacement of glUniform2f.

This function asserts on the result before returning.

void GLUniform2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform2fv.

This function asserts on the result before returning.

void GLUniform2i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1
 | ) | [inline]

Replacement of glUniform2i.

This function asserts on the result before returning.

void GLUniform2iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform2iv.

This function asserts on the result before returning.

void GLUniform2ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1
 | ) | [inline]

Replacement of glUniform2ui.

This function asserts on the result before returning.

void GLUniform2uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform2uiv.

This function asserts on the result before returning.

void GLUniform3f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [inline]

Replacement of glUniform3f.

This function asserts on the result before returning.

void GLUniform3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform3fv.

This function asserts on the result before returning.

void GLUniform3i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1,
 |  | GLint | v2
 | ) | [inline]

Replacement of glUniform3i.

This function asserts on the result before returning.

void GLUniform3iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform3iv.

This function asserts on the result before returning.

void GLUniform3ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1,
 |  | GLuint | v2
 | ) | [inline]

Replacement of glUniform3ui.

This function asserts on the result before returning.

void GLUniform3uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform3uiv.

This function asserts on the result before returning.

void GLUniform4f | ( | GLint | location,
 |  | GLfloat | v0,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLfloat | v3
 | ) | [inline]

Replacement of glUniform4f.

This function asserts on the result before returning.

void GLUniform4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniform4fv.

This function asserts on the result before returning.

void GLUniform4i | ( | GLint | location,
 |  | GLint | v0,
 |  | GLint | v1,
 |  | GLint | v2,
 |  | GLint | v3
 | ) | [inline]

Replacement of glUniform4i.

This function asserts on the result before returning.

void GLUniform4iv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLint * | value
 | ) | [inline]

Replacement of glUniform4iv.

This function asserts on the result before returning.

void GLUniform4ui | ( | GLint | location,
 |  | GLuint | v0,
 |  | GLuint | v1,
 |  | GLuint | v2,
 |  | GLuint | v3
 | ) | [inline]

Replacement of glUniform4ui.

This function asserts on the result before returning.

void GLUniform4uiv | ( | GLint | location,
 |  | GLsizei | count,
 |  | const GLuint * | value
 | ) | [inline]

Replacement of glUniform4uiv.

This function asserts on the result before returning.

void GLUniformBuffer | ( | GLuint | program,
 |  | GLint | location,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glUniformBufferEXT.

This function asserts on the result before returning.

void GLUniformMatrix2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix2fv.

This function asserts on the result before returning.

void GLUniformMatrix2x3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix2x3fv.

This function asserts on the result before returning.

void GLUniformMatrix2x4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix2x4fv.

This function asserts on the result before returning.

void GLUniformMatrix3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix3fv.

This function asserts on the result before returning.

void GLUniformMatrix3x2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix3x2fv.

This function asserts on the result before returning.

void GLUniformMatrix3x4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix3x4fv.

This function asserts on the result before returning.

void GLUniformMatrix4fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix4fv.

This function asserts on the result before returning.

void GLUniformMatrix4x2fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix4x2fv.

This function asserts on the result before returning.

void GLUniformMatrix4x3fv | ( | GLint | location,
 |  | GLsizei | count,
 |  | GLboolean | transpose,
 |  | const GLfloat * | value
 | ) | [inline]

Replacement of glUniformMatrix4x3fv.

This function asserts on the result before returning.

GLboolean GLUnmapBuffer ( GLenum target ) [inline]

Replacement of glUnmapBuffer.

This function asserts on the result before returning.

void GLUseProgram ( GLuint program ) [inline]

Replacement of glUseProgram.

This function asserts on the result before returning.

void GLUseProgramObject ( GLhandleARB programObj ) [inline]

Replacement of glUseProgramObjectARB.

This function asserts on the result before returning.

void GLValidateProgram ( GLuint program ) [inline]

Replacement of glValidateProgram.

This function asserts on the result before returning.

GLboolean GLIsBuffer ( GLuint name ) [inline]

Replacement of glIsBuffer.

This function tests if for the current render context, name denotes a valid vertex buffer object.

void GLBindFragDataLocation | ( | GLuint | program,
 |  | GLuint | color,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glBindFragDataLocationEXT.

This function asserts on the result before returning.

void GLBindProgram | ( | GLenum | target,
 |  | GLuint | id
 | ) | [inline]

Replacement of glBindProgramARB.

This function hides the extension character of glBindProgramARB and asserts on the result before returning.

void GLBitmap | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLfloat | xorig,
 |  | GLfloat | yorig,
 |  | GLfloat | xmove,
 |  | GLfloat | ymove,
 |  | const GLubyte * | bitmap
 | ) | [inline]

Replacement of glBitmap.

This function asserts on the result before returning.

void GLBlendEquation ( GLenum mode ) [inline]

Replacement of glBlendEquation.

This function asserts on the result before returning.

void GLBlendEquationSeparate | ( | GLenum | modeRGB,
 |  | GLenum | modeAlpha
 | ) | [inline]

Replacement of glBlendEquationSeparate.

This function asserts on the result before returning.

void GLBlendFunc | ( | GLenum | sfactor,
 |  | GLenum | dfactor
 | ) | [inline]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

void GLResetBlendFunc ( ) [inline]

Helper function to reset the blend function.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the blend function to the previous function. Otherwise, the blend function is set to GL_ONE for the source factor and GL_ZERO for the destination factor.
See also:
GLBlendFunc, GLBlendFuncSeparate

void GLBlendFuncSeparate | ( | GLenum | sfactorRGB,
 |  | GLenum | dfactorRGB,
 |  | GLenum | sfactorAlpha,
 |  | GLenum | dfactorAlpha
 | ) | [inline]

Replacement of glBlendFunc.

This function caches the blend func settings and asserts on the result before returning.

void GLResetBlendFuncSeparate ( ) [inline]

Helper function to reset the blend function, using the GL_EXT_blend_func_separate extention.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this functions sets the four factors of the extended blend function the previous values. Otherwise, the blend function factors are set to GL_ONE, GL_ZERO, GL_ONE, and GL_ZERO, in this order.
See also:
GLBlendFuncSeparate

void GLBlitFramebuffer | ( | GLint | srcX0,
 |  | GLint | srcY0,
 |  | GLint | srcX1,
 |  | GLint | srcY1,
 |  | GLint | dstX0,
 |  | GLint | dstY0,
 |  | GLint | dstX1,
 |  | GLint | dstY1,
 |  | GLbitfield | mask,
 |  | GLenum | filter
 | ) | [inline]

Replacement of glBlitFramebufferEXT.

Parameters:
srcX0 | source lower left X pos
srcY0 | source lower left Y pos
srcX1 | source upper right X pos
srcY1 | source upper right Y pos
dstX0 | destination lower left X pos
dstY0 | destination lower left Y pos
dstX1 | destination upper right X pos
dstY1 | destination uppoer right Y pos
mask | mask containing bits for COLOR, DEPTH, or STENCIL to blit.
filter | filter to use if src and dst are not the same size. Must be GL_NEAREST or GL_LINEAR. Must be GL_NEAREST if mask contains anything but the color buffer.
Note:
It is assumed that the extension GL_EXT_framebuffer_blit is supported.

This function asserts on no GL error.

void GLBindTexture | ( | GLenum | target,
 |  | GLuint | texture
 | ) | [inline]

Replacement of glBindTexture.

This function updates the active texture and asserts on the result before returning.

void GLCallList ( GLuint list ) [inline]

Replacement of glCallList.

This function asserts on the result before returning.

void GLCallLists | ( | GLsizei | n,
 |  | GLenum | type,
 |  | const GLvoid * | lists
 | ) | [inline]

Replacement of glCallLists.

This function asserts on the result before returning.

void GLClampColor | ( | GLenum | target,
 |  | GLenum | clamp
 | ) | [inline]

Replacement of glClampColorARB.

This function asserts on the result before returning.

void GLClear ( GLbitfield mask ) [inline]

Replacement of glClear.

This function asserts on the result before returning.

void GLClearAccum | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [inline]

Replacement of glClearAccum.

This function asserts on the result before returning.

void GLClearColor | ( | GLclampf | red,
 |  | GLclampf | green,
 |  | GLclampf | blue,
 |  | GLclampf | alpha
 | ) | [inline]

Replacement of glClearColor.

This function caches the clear color settings and asserts on the result before returning.

void GLClearColorIi | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [inline]

Replacement of glClearColorIiEXT.

This function asserts on the result before returning.

void GLClearColorIui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [inline]

Replacement of glClearColorIuiEXT.

This function asserts on the result before returning.

void GLResetClearColor ( ) [inline]

Helper function to reset the clear color.

Remarks:
if GL_SUPPORT_RESET is defined (per default, it is), this function sets the four values of the clear color to the previous value. Otherwise, they are all set to 0.0f.
See also:
GLClearColor

void GLClearDepth ( GLclampd depth ) [inline]

Replacement of glClearDepth.

This function caches the depth clear setting and asserts on the result before returning.

void GLClearDepthd ( GLdouble depth ) [inline]

Replacement of glClearDepthd.

This functions asserts on the result before returning.

void GLResetClearDepth ( ) [inline]

Helper function to reset the clear depth.

Remarks:
if ( GL_SUPPORT_RESET is defined (per default, it is), this function sets the clear depth to the previous value. Otherwise, it is set to 1.0f.
See also:
GLClearDepth

void GLClearIndex ( GLfloat c ) [inline]

Replacement of glClearIndex.

This function asserts on the result before returning.

void GLClearStencil ( GLint s ) [inline]

Replacement of glClearStencil.

This function caches the stencil clear setting and asserts on the result before returning.

void GLResetClearStencil ( ) [inline]

Helper function to reset the stencil clear value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil clear value to the previous value. Otherwise, it is set to zero.
See also:
GLClearStencil

void GLClientActiveTexture ( GLenum texture ) [inline]

Replacement of glClientActiveTexture.

This functions caches the next active texture unit and asserts on the result before returning.

void GLClipPlane | ( | GLenum | plane,
 |  | const GLdouble * | equation
 | ) | [inline]

Replacement of glClipPlane.

This function asserts on the result before returning.

void GLResetClipPlaneEquation ( GLenum plane ) [inline]

Helper function to reset a clip plane equation.

Parameters:
plane The id of the clip plane for which the plane equation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the clip plane equation of plane to the previous equations. Otherwise, it is set to the default plane (0,0,0,0).
See also:
GLClipPlane

void GLColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [inline]

Replacement of glColor3b.

This function caches the color values and asserts on the result before returning.

void GLColor3bv ( const GLbyte * v ) [inline]

Replacement of glColor3bv.

This function caches the color values and asserts on the result before returning.

void GLColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [inline]

Replacement of glColor3d.

This function caches the color values and asserts on the result before returning.

void GLColor3dv ( const GLdouble * v ) [inline]

Replacement of glColor3dv.

This function caches the color values and asserts on the result before returning.

void GLColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [inline]

Replacement of glColor3f.

This function caches the color values and asserts on the result before returning.

void GLColor3fv ( const GLfloat * v ) [inline]

Replacement of glColor3fv.

This function caches the color values and asserts on the result before returning.

void GLColor3h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue
 | ) | [inline]

Replacement of glColor3hNV.

This function asserts on the result before returning.

void GLColor3hv ( const GLhalf * v ) [inline]

Replacement of glColor3hv.

This function asserts on the result before returning.

void GLColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [inline]

Replacement of glColor3i.

This function caches the color values and asserts on the result before returning.

void GLColor3iv ( const GLint * v ) [inline]

Replacement of glColor3iv.

This function caches the color values and asserts on the result before returning.

void GLColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [inline]

Replacement of glColor3s.

This function caches the color values and asserts on the result before returning.

void GLColor3sv ( const GLshort * v ) [inline]

Replacement of glColor3sv.

This function caches the color values and asserts on the result before returning.

void GLColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [inline]

Replacement of glColor3ub.

This function caches the color values and asserts on the result before returning.

void GLColor3ubv ( const GLubyte * v ) [inline]

Replacement of glColor3ubv.

This function caches the color values and asserts on the result before returning.

void GLColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [inline]

Replacement of glColor3ui.

This function caches the color values and asserts on the result before returning.

void GLColor3uiv ( const GLuint * v ) [inline]

Replacement of glColor3uiv.

This function caches the color values and asserts on the result before returning.

void GLColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [inline]

Replacement of glColor3us.

This function caches the color values and asserts on the result before returning.

void GLColor3usv ( const GLushort * v ) [inline]

Replacement of glColor3usv.

This function caches the color values and asserts on the result before returning.

void GLColor4b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue,
 |  | GLbyte | alpha
 | ) | [inline]

Replacement of glColor4b.

This function caches the color values and asserts on the result before returning.

void GLColor4bv ( const GLbyte * v ) [inline]

Replacement of glColor4bv.

This function caches the color values and asserts on the result before returning.

void GLColor4d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue,
 |  | GLdouble | alpha
 | ) | [inline]

Replacement of glColor4d.

This function caches the color values and asserts on the result before returning.

void GLColor4dv ( const GLdouble * v ) [inline]

Replacement of glColor4dv.

This function caches the color values and asserts on the result before returning.

void GLColor4f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue,
 |  | GLfloat | alpha
 | ) | [inline]

Replacement of glColor4f.

This function caches the color values and asserts on the result before returning.

void GLColor4fv ( const GLfloat * v ) [inline]

Replacement of glColor4fv.

This function caches the color values and asserts on the result before returning.

void GLColor4h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue,
 |  | GLhalf | alpha
 | ) | [inline]

Replacement of glColor4hNV.

This function asserts on the result before returning.

void GLColor4hv ( const GLhalf * v ) [inline]

Replacement of glColor4hv.

This function asserts on the result before returning.

void GLColor4i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue,
 |  | GLint | alpha
 | ) | [inline]

Replacement of glColor4i.

This function caches the color values and asserts on the result before returning.

void GLColor4iv ( const GLint * v ) [inline]

Replacement of glColor4iv.

This function caches the color values and asserts on the result before returning.

void GLColor4s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue,
 |  | GLshort | alpha
 | ) | [inline]

Replacement of glColor4s.

This function caches the color values and asserts on the result before returning.

void GLColor4sv ( const GLshort * v ) [inline]

Replacement of glColor4sv.

This function caches the color values and asserts on the result before returning.

void GLColor4ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue,
 |  | GLubyte | alpha
 | ) | [inline]

Replacement of glColor4ub.

This function caches the color values and asserts on the result before returning.

void GLColor4ubv ( const GLubyte * v ) [inline]

Replacement of glColor4ubv.

This function caches the color values and asserts on the result before returning.

void GLColor4ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue,
 |  | GLuint | alpha
 | ) | [inline]

Replacement of glColor4ui.

This function caches the color values and asserts on the result before returning.

void GLColor4uiv ( const GLuint * v ) [inline]

Replacement of glColor4uiv.

This function caches the color values and asserts on the result before returning.

void GLColor4us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue,
 |  | GLushort | alpha
 | ) | [inline]

Replacement of glColor4us.

This function caches the color values and asserts on the result before returning.

void GLColor4usv ( const GLushort * v ) [inline]

Replacement of glColor4usv.

This function caches the color values and asserts on the result before returning.

void GLColorMask | ( | GLboolean | red,
 |  | GLboolean | green,
 |  | GLboolean | blue,
 |  | GLboolean | alpha
 | ) | [inline]

Replacement of glColorMask.

This function asserts on the result before returning.

void GLColorMaskIndexed | ( | GLuint | index,
 |  | GLboolean | r,
 |  | GLboolean | g,
 |  | GLboolean | b,
 |  | GLboolean | a
 | ) | [inline]

Replacement of glColorMaskIndexedEXT.

This functions asserts on the result before returning.

void GLResetColorMask ( ) [inline]

Helper function to reset the color mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color mask to the previous mask. Otherwise, all four mask components are set to GL_TRUE.
See also:
GLColorMask

void GLColorMaterial | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glColorMaterial.

This function asserts on the result before returning.

void GLResetColorMaterialMode ( ) [inline]

Helper function to reset the color material mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color material mode to the previous mode. Otherwise, it is set to GL_AMBIENT_AND_DIFFUSE for GL_FRONT_AND_BACK faces.
See also:
GLColorMaterial

void GLColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glColorPointer.

This function caches the color pointer settings and asserts on the result before returning.

void GLColorSubTable | ( | GLenum | target,
 |  | GLsizei | start,
 |  | GLsizei | count,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glColorSubTable.

This function asserts on the result before returning.

void GLColorTable | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | table
 | ) | [inline]

Replacement of glColorTable.

This function asserts on the result before returning.

void GLColorTableParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glColorTableParameterfv.

This function asserts on the result before returning.

void GLColorTableParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glColorTableParameteriv.

This function asserts on the result before returning.

void GLCombinerInput | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | input,
 |  | GLenum | mapping,
 |  | GLenum | componentUsage
 | ) | [inline]

Replacement of glCombinerInput.

This function asserts on the result before returning.

void GLCombinerOutput | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | abOutput,
 |  | GLenum | cdOutput,
 |  | GLenum | sumOutput,
 |  | GLenum | scale,
 |  | GLenum | bias,
 |  | GLboolean | abDotProduct,
 |  | GLboolean | cdDotProduct,
 |  | GLboolean | muxSum
 | ) | [inline]

Replacement of glCombinerOutput.

This function asserts on the result before returning.

void GLCombinerParameterf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glCombinerParameterf.

This function asserts on the result before returning.

void GLCombinerParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glCombinerParameterfv.

This function asserts on the result before returning.

void GLCombinerParameteri | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glCombinerParameteri.

This function asserts on the result before returning.

void GLCombinerParameteriv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glCombinerParameteriv.

This function asserts on the result before returning.

void GLCombinerStageParameterfv | ( | GLenum | stage,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glCombinerStageParameterfv.

This function asserts on the result before returning.

void GLCompileShader ( GLuint shader ) [inline]

Replacement of glCompileShader.

This function asserts on the result before returning.

void GLCompressedTexImage1D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage1D.

This function hides the extension character of glCompressedTexImage1D, updates the active texture, and asserts on the result before returning.

void GLCompressedTexImage2D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage2D.

This function hides the extension character of glCompressedTexImage2D, updates the active texture, and asserts on the result before returning.

void GLCompressedTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLsizei | imageSize,
 |  | const void * | data
 | ) | [inline]

Replacement of glCompressedTexImage3D.

This function hides the extension character of glCompressedTexImage3D, updates the active texture, and asserts on the result before returning.

void GLCompressedTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glCompressedTexSubImage1D.

This updates the active texture and asserts on the result before returning.

void GLCompressedTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glCompressedTexSubImage2D.

This updates the active texture and asserts on the result before returning.

void GLCompressedTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLenum | format,
 |  | GLsizei | imageSize,
 |  | const GLvoid * | data
 | ) | [inline]

Replacement of glCompressedTexSubImage3D.

This updates the active texture and asserts on the result before returning.

void GLConvolutionFilter1D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | image
 | ) | [inline]

Replacement of glConvolutionFilter1D.

This function asserts on the result before returning.

void GLConvolutionFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | image
 | ) | [inline]

Replacement of glConvolutionFilter2D.

This function asserts on the result before returning.

void GLConvolutionParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | params
 | ) | [inline]

Replacement of glConvolutionParameterf.

This function asserts on the result before returning.

void GLConvolutionParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glConvolutionParameterfv.

This function asserts on the result before returning.

void GLConvolutionParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | params
 | ) | [inline]

Replacement of glConvolutionParameteri.

This function asserts on the result before returning.

void GLConvolutionParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glConvolutionParameteriv.

This function asserts on the result before returning.

void GLCopyColorSubTable | ( | GLenum | target,
 |  | GLsizei | start,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyColorSubTable.

This function asserts on the result before returning.

void GLCopyColorTable | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyColorTable.

This function asserts on the result before returning.

void GLCopyConvolutionFilter1D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyConvolutionFilter1D.

This function asserts on the result before returning.

void GLCopyConvolutionFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyConvolutionFilter2D.

This function asserts on the result before returning.

void GLCopyPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | type
 | ) | [inline]

Replacement of glCopyPixels.

This function asserts on the result before returning.

void GLCopyTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLint | border
 | ) | [inline]

Replacement of glCopyTexImage1D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | internalformat,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border
 | ) | [inline]

Replacement of glCopyTexImage2D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width
 | ) | [inline]

Replacement of glCopyTexSubImage1D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

void GLCopyTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glCopyTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

GLuint GLCreateProgram ( ) [inline]

Replacement of glCreateProgram.

This function asserts on the result before returning.

GLhandleARB GLCreateProgramObject ( ) [inline]

Replacement of glCreateProgramObjectARB.

This function asserts on the result before returning.

GLuint GLCreateShader ( GLenum type ) [inline]

Replacement of glCreateShader.

This function asserts on the result before returning.

GLhandleARB GLCreateShaderObject ( GLenum shaderType ) [inline]

Replacement of glCreateShaderObjectARB.

This function asserts on the result before returning.

void GLCullFace ( GLenum mode ) [inline]

Replacement of glCullFace.

This function caches the cull face setting and asserts on the result before returning.

void GLResetCullFaceMode ( ) [inline]

Helper function to reset the cull face mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the cull face mode to the previous mode. Otherwise, it is set to GL_BACK.
See also:
GLCullFace

void GLCullFaceLock ( GLenum mode ) [inline]

Helper function to set the cull face mode and lock it.

Parameters:
mode The cull face mode to set and lock.
Remarks:
This function sets the cull face mode and locks this state. Any subsequent calls to GLCullFace will not change that value, until the next call to GLCullFaceUnlock.
See also:
GLCullFace, GLCullFaceUnlock

void GLCullFaceUnlock ( GLenum mode ) [inline]

Helper function to unlock the cull face and set it.

Parameters:
mode The cull face mode to set, after unlocking.
Remarks:
This function unlocks the cull face mode and sets it to mode. After a call to GLCullFaceLock, this function is needed to unlock the cull face mode again.
See also:
GLCullFace, GLCullFaceLock

void GLDeleteLists | ( | GLuint | list,
 |  | GLsizei | range
 | ) | [inline]

Replacement of glDeleteLists.

This function updates some caches and asserts on the result before returning.

void GLDeleteObject ( GLhandleARB obj ) [inline]

Replacement of glDeleteObjectARB.

This function asserts on the result before returning.

void GLDeleteProgram ( GLuint program ) [inline]

Replacement of glDeleteProgram.

This function updates some caches and asserts on the result before returning.

void GLDeletePrograms | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteProgramsARB.

This function hides the extension character of glDeleteProgramsARB, updates some caches, and asserts on the result before returning.

void GLDeleteQueries | ( | GLsizei | n,
 |  | const GLuint * | ids
 | ) | [inline]

Replacement of glDeleteQueries.

This function updates some caches, and asserts on the result before returning.

void GLDeleteShader ( GLuint shader ) [inline]

Replacement of glDeleteShader.

This function asserts on the result before returning.

void GLDeleteTextures | ( | GLsizei | n,
 |  | const GLuint * | textures
 | ) | [inline]

Replacement of glDeleteTextures.

This function updates some caches and asserts on the result before returning.

void GLDepthBounds | ( | GLclampd | zmin,
 |  | GLclampd | zmax
 | ) | [inline]

Replacement of glDepthBounds.

This function asserts on the result before returning.

void GLDepthBoundsd | ( | GLdouble | zmin,
 |  | GLdouble | zmax
 | ) | [inline]

Replacement of glDepthBoundsd.

This function asserts on the result before returning.

void GLDepthFunc ( GLenum func ) [inline]

Replacement of glDepthFunc.

This function asserts on the result before returning.

void GLResetDepthFunc ( ) [inline]

Helper function to reset the depth func.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth func to the previous value. Otherwise, it is set to GL_LESS.
See also:
GLDepthFunc

void GLDepthMask ( GLboolean flag ) [inline]

Replacement of glDepthMask.

This function asserts on the result before returning.

void GLResetDepthMask ( ) [inline]

Helper function to reset the depth mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth mask to the previous value. Otherwise, it is set to GL_TRUE.
See also:
GLDepthMask

void GLDepthRange | ( | GLclampd | znear,
 |  | GLclampd | zfar
 | ) | [inline]

Replacement of glDepthRange.

This function asserts on the result before returning.

void GLDepthRanged | ( | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glDepthRandedNV.

This function asserts on the result before returning.

void GLResetDepthRange ( ) [inline]

Helper function to reset the depth range.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth range to the previous values. Otherwise, it sets znear to 0.0 and zfar to 1.0.
See also:
GLDepthRange

void GLDetachObject | ( | GLhandleARB | containerObj,
 |  | GLhandleARB | attachedObj
 | ) | [inline]

Replacement of glDetachObjectARB.

void GLDetachShader | ( | GLuint | program,
 |  | GLuint | shader
 | ) | [inline]

Replacement of glDetachShader.

void GLDisableAlphaTest ( void ) [inline]

Cached version of GLDisable( GL_ALPHA_TEST ).

This function caches the GL_ALPHA_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_ALPHA_TEST) directly.

void GLDisableAutoNormal ( void ) [inline]

Cached version of GLDisable( GL_AUTO_NORMAL ).

This function caches the GL_AUTO_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_AUTO_NORMAL) directly.

void GLDisableBlend ( void ) [inline]

Cached version of GLDisable( GL_BLEND ).

This function caches the GL_BLEND state. It is faster to call this method instead of calling GL[Disable|Enable](GL_BLEND) directly.

void GLDisableClipPlane ( GLenum plane ) [inline]

Cached version of GLDisable( GL_CLIP_PLANEi ).

This function caches the GL_CLIP_PLANEi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CLIP_PLANEi) directly.

void GLDisableColorLogicOp ( void ) [inline]

Cached version of GLDisable( GL_COLOR_LOGIC_OP ).

This function caches the GL_COLOR_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_LOGIC_OP) directly.

void GLDisableColorMaterial ( void ) [inline]

Cached version of GLDisable( GL_COLOR_MATERIAL ).

This function caches the GL_COLOR_MATERIAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_MATERIAL) directly.

void GLDisableCullFace ( void ) [inline]

Cached version of GLDisable( GL_CULL_FACE ).

This function is caches the GL_CULL_FACE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CULL_FACE) directly.

void GLDisableCullFaceLock ( void ) [inline]

Helper function to disable the cull face and lock it.

Remarks:
This function disables face culling and locks it. Any subsequent calls to GLEnableCullFace, GLDisableCullFace, GLEnable(GL_CULL_FACE), or GLDisable(GL_CULL_FACE) will not change that setting, until the next call to GLDisableCullFaceUnlock or GLEnableCullFaceUnlock.
See also:
GLDisableCullFace, GLDisableCullFaceUnlock, GLEnableCullFaceLock

void GLDisableCullFaceUnlock ( void ) [inline]

Helper function to unlock the cull face and set it.

Remarks:
This function unlocks face culling and disables it.
See also:
GLDisableCullFace, GLDisableCullFaceLock, GLEnableCullFaceUnlock

void GLDisableDepthTest ( void ) [inline]

Cached version of GLDisable( GL_DEPTH_TEST ).

This function caches the GL_DEPTH_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DEPTH_TEST) directly.

void GLDisableDither ( void ) [inline]

Cached version of GLDisable( GL_DITHER ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DITHER) directly.

void GLDisableFog ( void ) [inline]

Cached version of GLDisable( GL_FOG ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_FOG) directly.

void GLDisableIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [inline]

Replacement of glDiableIndexed.

This functions asserts on the result before returning.

void GLDisableLight ( GLenum light ) [inline]

Cached version of GLDisable( GL_LIGHTi ).

This function caches the GL_LIGHTi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTi) directly.

void GLDisableLighting ( void ) [inline]

Cached version of GLDisable( GL_LIGHTING ).

This function is caches the GL_LIGHTING state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTING) directly.

void GLDisableLightingLock ( void ) [inline]

Helper function to disable lighting and lock it.

Remarks:
This function disables lighting and locks it. Any subsequent calls to GLEnableLighting, GLDisableLighting, GLEnable(GL_LIGHTING), or GLDisable(GL_LIGHTING) will not change that setting, until the next call to GLDisableLightingUnlock or GLEnableLightingUnlock.
See also:
GLDisableLighting, GLDisableLightingUnlock, GLEnableLightingLock

void GLDisableLightingUnlock ( void ) [inline]

Helper function to unlock the lighting and disable it.

Remarks:
This function unlocks lighting and disables it.
See also:
GLDisableLighting, GLDisableLightingLock, GLEnableLightingUnlock

void GLDisableLineSmooth ( void ) [inline]

Cached version of GLDisable( GL_LINE_SMOOTH ).

This function is caches the GL_LINE_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_SMOOTH) directly.

void GLDisableLineStipple ( void ) [inline]

Cached version of GLDisable( GL_LINE_STIPPLE ).

This function is caches the GL_LINE_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_STIPPLE) directly.

void GLDisableLogicOp ( void ) [inline]

Cached version of GLDisable( GL_LOGIC_OP ).

This function caches the GL_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LOGIC_OP) directly.

void GLDisableNormalize ( void ) [inline]

Cached version of GLDisable( GL_NORMALIZE ).

This function is caches the GL_NORMALIZE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_NORMALIZE) directly.

void GLDisableRescaleNormal ( void ) [inline]

Cached version of GLDisable( GL_RESCALE_NORMAL ).

This function is caches the GL_RESCALE_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_RESCALE_NORMAL) directly.

void GLDisablePointSmooth ( void ) [inline]

Cached version of GLDisable( GL_POINT_SMOOTH ).

This function is caches the GL_POINT_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POINT_SMOOTH) directly.

void GLDisablePolygonOffsetFill ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_OFFSET_FILL ).

This function is caches the GL_POLYGON_OFFSET_FILL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_FILL) directly.

void GLDisablePolygonOffsetLine ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_OFFSET_LINE ).

This function is caches the GL_POLYGON_OFFSET_LINE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_LINE) directly.

void GLDisablePolygonOffsetPoint ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_OFFSET_POINT ).

This function is caches the GL_POLYGON_OFFSET_POINT state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_POINT) directly.

void GLDisablePolygonSmooth ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_SMOOTH ).

This function caches the GL_POLYGON_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_SMOOTH) directly.

void GLDisablePolygonStipple ( void ) [inline]

Cached version of GLDisable( GL_POLYGON_STIPPLE ).

This function is caches the GL_POLYGON_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_STIPPLE) directly.

void GLDisableScissorTest ( void ) [inline]

Cached version of GLDisable( GL_SCISSOR_TEST ).

This function caches the GL_SCISSOR_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_SCISSOR_TEST) directly.

void GLDisableStencilTest ( void ) [inline]

Cached version of GLDisable( GL_STENCIL_TEST ).

This function caches the GL_STENCIL_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_STENCIL_TEST) directly.

void GLDisableTexture ( GLenum target ) [inline]

This function caches the texture target type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ) directly.

void GLDisableTextureGen ( GLenum target ) [inline]

Cached version of GLDisable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function caches the texture generation type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ) directly.

void GLDisable ( GLenum cap ) [inline]

Replacement of glDisable.

This function caches on some cap values and asserts on the result before returning.

void GLDisableColorArray ( void ) [inline]

Cached version of GLDisableClientState( GL_COLOR_ARRAY ).

This function caches the GL_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_COLOR_ARRAY ) directly.

void GLDisableFogCoordinateArray ( void ) [inline]

Cached version of GLDisableClientState( GL_FOG_COORDINATE_ARRAY ).

This function caches the GL_FOG_COORDINATE_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_FOG_COORDINATE_ARRAY ) directly.

void GLDisableNormalArray ( void ) [inline]

Cached version of GLDisableClientState( GL_NORMAL_ARRAY ).

This function caches the GL_NORMAL_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_NORMAL_ARRAY ) directly.

void GLDisableSecondaryColorArray ( void ) [inline]

Cached version of GLDisableClientState( GL_SECONDARY_COLOR_ARRAY ).

This function caches the GL_SECONDARY_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_SECONDARY_COLOR_ARRAY ) directly.

void GLDisableTextureCoordArray ( void ) [inline]

Cached version of GLDisableClientState( GL_TEXTURE_COORD_ARRAY ).

This function caches the GL_TEXTURE_COORD_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_TEXTURE_COORD_ARRAY ) directly.

void GLDisableVertexArray ( void ) [inline]

Cached version of GLDisableClientState( GL_VERTEX_ARRAY ).

This function caches the GL_VERTEX_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_VERTEX_ARRAY ) directly.

void GLDisablePrimitiveRestart ( void ) [inline]

Cached version of GLDisableClientState( GL_PRIMITIVE_RESTART_NV ).

This function caches the GL_PRIMITIVE_RESTART_NV client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_PRIMITIVE_RESTART_NV ) directly.

void GLDisableClientState ( GLenum array ) [inline]

Replacement of glDisableClientState.

This function caches on some cap values and asserts on the result before returning.

void GLDisableVertexAttribArray ( GLuint index ) [inline]

Replacement of glDisableVertexAttribArray.

void GLDrawArrays | ( | GLenum | mode,
 |  | GLint | first,
 |  | GLsizei | count
 | ) | [inline]

Replacement of glDrawArrays.

This function asserts on the result before returning.

void GLDrawArraysInstanced | ( | GLenum | mode,
 |  | GLint | start,
 |  | GLsizei | count,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glDrawArraysInstancedEXT.

This function asserts on the result before returning.

void GLDrawBuffer ( GLenum mode ) [inline]

Replacement of glDrawBuffer.

This function asserts on the result before returning.

void GLDrawBuffers | ( | GLsizei | n,
 |  | const GLenum * | bufs
 | ) | [inline]

Replacement of glDrawBuffersARB.

This function asserts on the result before returning.

void GLDrawElements | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [inline]

Replacement of glDrawElements.

This function asserts on the result before returning.

void GLDrawElementsInstanced | ( | GLenum | mode,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glDrawElementsInstancedEXT.

This function asserts on the result before returning.

void GLMultiDrawArrays | ( | GLenum | mode,
 |  | GLint * | first,
 |  | GLsizei * | count,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glMultiDrawArrays.

This function asserts on the result before returning.

void GLMultiDrawElements | ( | GLenum | mode,
 |  | const GLsizei * | count,
 |  | GLenum | type,
 |  | const GLvoid ** | indices,
 |  | GLsizei | primcount
 | ) | [inline]

Replacement of glMultiDrawElements.

This function asserts on the result before returning.

void GLDrawPixels | ( | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glDrawPixels.

This function asserts on the result before returning.

void GLDrawRangeElements | ( | GLenum | mode,
 |  | GLuint | start,
 |  | GLuint | end,
 |  | GLsizei | count,
 |  | GLenum | type,
 |  | const GLvoid * | indices
 | ) | [inline]

Replacement of glDrawRangeElements.

This function asserts on the result before returning.

void GLEdgeFlagPointer | ( | GLsizei | stride,
 |  | const GLboolean * | pointer
 | ) | [inline]

Replacement of glEdgeFlagPointer.

This function asserts on the result before returning.

void GLEdgeFlag ( GLboolean flag ) [inline]

Replacement of glEdgeFlag.

This function asserts on the result before returning.

void GLEdgeFlagv ( const GLboolean * flag ) [inline]

Replacement of glEdgeFlagv.

This function asserts on the result before returning.

void GLEnableAlphaTest ( void ) [inline]

Cached version of GLEnable( GL_ALPHA_TEST ).

This function caches the GL_ALPHA_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_ALPHA_TEST) directly.

void GLResetAlphaTest ( ) [inline]

Helper function to reset the enable state of the alpha test.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the alpha test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableAlphaTest, GLEnableAlphaTest, GLDisable, GLEnable

void GLEnableAutoNormal ( void ) [inline]

Cached version of GLEnable( GL_AUTO_NORMAL ).

This function caches the GL_AUTO_NORMAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_AUTO_NORMAL) directly.

void GLResetAutoNormal ( ) [inline]

Helper function to reset the enable state of the auto normal calculation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the auto normal state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableAutoNormal, GLEnableAutoNormal, GLDisable, GLEnable

void GLEnableBlend ( void ) [inline]

Cached version of GLEnable( GL_BLEND ).

This function caches the GL_BLEND state. It is faster to call this method instead of calling GL[Disable|Enable](GL_BLEND) directly.

void GLResetBlend ( ) [inline]

Helper function to reset the enable state of the blending.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the blending state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableBlend, GLEnableBlend, GLDisable, GLEnable

void GLEnableClipPlane ( GLenum plane ) [inline]

Cached version of GLEnable( GL_CLIP_PLANEi ).

This function caches the GL_CLIP_PLANEi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CLIP_PLANEi) directly.

void GLResetClipPlane ( GLenum plane ) [inline]

Helper function to reset the enable state of the clip plane plane.

Parameters:
plane The id of the plane for which the the enable state is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the clip plane state for plane to it's previous state. Otherwise, it is disabled.
See also:
GLDisableClipPlane, GLEnableClipPlane, GLDisable, GLEnable

void GLEnableColorLogicOp ( void ) [inline]

Cached version of GLEnable( GL_COLOR_LOGIC_OP ).

This function caches the GL_COLOR_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_LOGIC_OP) directly.

void GLResetColorLogicOp ( ) [inline]

Helper function to reset the enable state of the color logic operation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color logic operation state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableColorLogicOp, GLEnableColorLogicOp, GLDisable, GLEnable

void GLEnableColorMaterial ( void ) [inline]

Cached version of GLEnable( GL_COLOR_MATERIAL ).

This function caches the GL_COLOR_MATERIAL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_COLOR_MATERIAL) directly.

void GLResetColorMaterial ( ) [inline]

Helper function to reset the enable state of the color material.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the color material state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableColorMaterial, GLEnableColorMaterial, GLDisable, GLEnable

void GLEnableCullFace ( void ) [inline]

Cached version of GLEnable( GL_CULL_FACE ).

This function caches the GL_CULL_FACE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_CULL_FACE) directly.

void GLResetCullFace ( ) [inline]

Helper function to reset the enable state of face culling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the face culling state to it's previous state. Otherwise, it is enabled. Note, that this enabling face culling by default is SceniX specific and not like in OpenGL.
See also:
GLDisableCullFace, GLEnableCullFace, GLDisable, GLEnable

void GLEnableCullFaceLock ( void ) [inline]

Helper function to enable face culling and lock it.

Remarks:
This function enables face culling and locks it. Any subsequent calls to GLEnableCullFace, GLDisableCullFace, GLEnable(GL_CULL_FACE), or GLDisable(GL_CULL_FACE) will not change that setting, until the next call to GLEnableCullFaceUnlock or GLDisableCullFaceUnlock.
See also:
GLEnableCullFace, GLDisableCullFaceUnlock, GLEnableCullFaceUnlock

void GLEnableCullFaceUnlock ( void ) [inline]

Helper function to unlock the face culling and enable it.

Remarks:
This function unlocks face culling and enables it.
See also:
GLEnableCullFace, GLEnableCullFaceLock, GLDisableCullFaceUnlock

void GLEnableDepthTest ( void ) [inline]

Cached version of GLEnable( GL_DEPTH_TEST ).

This function caches the GL_DEPTH_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DEPTH_TEST) directly.

void GLResetDepthTest ( ) [inline]

Helper function to reset the enable state of depth testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the depth test state to it's previous state. Otherwise, it is enabled. Note, that this enabling depth test by default is SceniX specific and not like in OpenGL.
See also:
GLDisableDepthTest, GLEnableDepthTest, GLDisable, GLEnable

void GLEnableDither ( void ) [inline]

Cached version of GLEnable( GL_DITHER ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_DITHER) directly.

void GLResetDither ( ) [inline]

Helper function to reset the enable state of dithering.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the dither state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableDither, GLEnableDither, GLDisable, GLEnable

void GLEnableFog ( void ) [inline]

Cached version of GLEnable( GL_FOG ).

This function caches the GL_DITHER state. It is faster to call this method instead of calling GL[Disable|Enable](GL_FOG) directly.

void GLResetFog ( ) [inline]

Helper function to reset the the enable state of fogging.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableFog, GLEnableFog, GLDisable, GLEnable

void GLEnableIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [inline]

Replacement of glEnabledIndexed.

This functions asserts on the result before returning.

void GLEnableLight ( GLenum light ) [inline]

Cached version of GLEnable( GL_LIGHTi ).

This function caches the GL_LIGHTi state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTi) directly.

void GLResetLight ( GLenum light ) [inline]

Helper function to reset the enable state of the light light.

Parameters:
light The id of the light for which the enable state is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the light state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLight, GLEnableLight, GLDisable, GLEnable

void GLEnableLighting ( void ) [inline]

Cached version of GLEnable( GL_LIGHTING ).

This function caches the GL_LIGHTING state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LIGHTING) directly.

void GLResetLighting ( ) [inline]

Helper function to reset the enable state of lighting.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the lighting state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLighting, GLEnableLighting, GLDisable, GLEnable

void GLEnableLineSmooth ( void ) [inline]

Cached version of GLEnable( GL_LINE_SMOOTH ).

This function caches the GL_LINE_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_SMOOTH) directly.

void GLResetLineSmooth ( ) [inline]

Helper function to reset the enable state of line smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line smoothing state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLineSmooth, GLEnableLineSmooth, GLDisable, GLEnable

void GLEnableLineStipple ( void ) [inline]

Cached version of GLEnable( GL_LINE_STIPPLE ).

This function caches the GL_LINE_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LINE_STIPPLE) directly.

void GLResetLineStipple ( ) [inline]

Helper function to reset the enable state of line stippling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line stippling state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLineStipple, GLEnableLineStipple, GLDisable, GLEnable

void GLEnableLogicOp ( void ) [inline]

Cached version of GLEnable( GL_LOGIC_OP ).

This function caches the GL_LOGIC_OP state. It is faster to call this method instead of calling GL[Disable|Enable](GL_LOGIC_OP) directly.

void GLResetLogicOp ( ) [inline]

Helper function to reset the enable state of logic operation.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the logic operation state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableLogicOp, GLEnableLogicOp, GLDisable, GLEnable

void GLEnableNormalize ( void ) [inline]

Cached version of GLEnable( GL_NORMALIZE ).

This function caches the GL_NORMALIZE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_NORMALIZE) directly.

void GLEnableRescaleNormal ( void ) [inline]

Cached version of GLEnable( GL_RESCALE_NORMAL ).

This function caches the GL_RESCALE_NORMAL enable state. It is faster to call this method instead of calling GL[Disable|Enable](GL_RESCALE_NORMAL) directly.

void GLResetNormalize ( ) [inline]

Helper function to reset the enable state of GL_NORMALIZE.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the normalize state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableNormalize, GLEnableNormalize, GLDisable, GLEnable

void GLResetRescaleNormal ( ) [inline]

Helper function to reset the enable state of GL_RESCALE_NORMAL.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the GL_RESCALE_NORMAL state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableRescaleNormal, GLEnableRescaleNormal, GLDisable, GLEnable

void GLEnablePointSmooth ( void ) [inline]

Cached version of GLEnable( GL_POINT_SMOOTH ).

This function caches the GL_POINT_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POINT_SMOOTH) directly.

void GLResetPointSmooth ( ) [inline]

Helper function to reset the enable state of point smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the point smoothing state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePointSmooth, GLEnablePointSmooth, GLDisable, GLEnable

void GLEnablePolygonOffsetFill ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_OFFSET_FILL ).

This function caches the GL_POLYGON_OFFSET_FILL state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_FILL) directly.

void GLResetPolygonOffsetFill ( ) [inline]

Helper function to reset the enable state of filled polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset fill state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetFill, GLEnablePolygonOffsetFill, GLDisable, GLEnable

void GLEnablePolygonOffsetLine ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_OFFSET_LINE ).

This function caches the GL_POLYGON_OFFSET_LINE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_LINE) directly.

void GLResetPolygonOffsetLine ( ) [inline]

Helper function to reset the enable state of lined polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset line state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetLine, GLEnablePolygonOffsetLine, GLDisable, GLEnable

void GLEnablePolygonOffsetPoint ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_OFFSET_POINT ).

This function caches the GL_POLYGON_OFFSET_POINT state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_OFFSET_POINT) directly.

void GLResetPolygonOffsetPoint ( ) [inline]

Helper function to reset the enable state of pointed polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset point state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonOffsetPoint, GLEnablePolygonOffsetPoint, GLDisable, GLEnable

void GLEnablePolygonSmooth ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_SMOOTH ).

This function caches the GL_POLYGON_SMOOTH state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_SMOOTH) directly.

void GLResetPolygonSmooth ( ) [inline]

Helper function to reset the enable state of polygon smoothing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon smooth state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonSmooth, GLEnablePolygonSmooth, GLDisable, GLEnable

void GLEnablePolygonStipple ( void ) [inline]

Cached version of GLEnable( GL_POLYGON_STIPPLE ).

This function caches the GL_POLYGON_STIPPLE state. It is faster to call this method instead of calling GL[Disable|Enable](GL_POLYGON_STIPPLE) directly.

void GLResetPolygonStipple ( ) [inline]

Helper function to reset the enable state of polygon stippling.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon stippling state to it's previous state. Otherwise, it is disabled.
See also:
GLDisablePolygonStipple, GLEnablePolygonStipple, GLDisable, GLEnable

void GLEnableScissorTest ( void ) [inline]

Cached version of GLEnable( GL_SCISSOR_TEST ).

This function caches the GL_SCISSOR_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_SCISSOR_TEST) directly.

void GLResetScissorTest ( ) [inline]

Helper function to reset the enable state of scissor testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the scissor test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableScissorTest, GLEnableScissorTest, GLDisable, GLEnable

void GLEnableStencilTest ( void ) [inline]

Cached version of GLEnable( GL_STENCIL_TEST ).

This function caches the GL_STENCIL_TEST state. It is faster to call this method instead of calling GL[Disable|Enable](GL_STENCIL_TEST) directly.

void GLResetStencilTest ( ) [inline]

Helper function to reset the enable state of stencil testing.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil test state to it's previous state. Otherwise, it is disabled.
See also:
GLDisableStencilTest, GLEnableStencilTest, GLDisable, GLEnable

void GLEnableTexture ( GLenum target ) [inline]

This function caches the texture target type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ) directly.

void GLResetTexture ( GLenum target ) [inline]

Helper function to reset the enable state of texture target target.

Parameters:
target The texture target for which the enable state has to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the texture target target to it's previous state. Otherwise, it is disabled.
See also:
GLDisableTexture, GLEnableTexture, GLDisable, GLEnable

void GLEnableTextureGen ( GLenum target ) [inline]

Cached version of GLEnable( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function caches the texture generation type per texture unit. It is faster to call this method instead of calling GL[Disable|Enable]( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ) directly.

void GLEnable ( GLenum cap ) [inline]

Replacement of glEnable.

This function caches on some cap values and asserts on the result before returning.

void GLEnableColorArray ( void ) [inline]

Cached version of GLEnableClientState( GL_COLOR_ARRAY ).

This function caches the GL_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_COLOR_ARRAY ) directly.

void GLEnableFogCoordinateArray ( void ) [inline]

Cached version of GLEnableClientState( GL_FOG_COORDINATE_ARRAY ).

This function caches the GL_FOG_COORDINATE_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_FOG_COORDINATE_ARRAY ) directly.

void GLEnableNormalArray ( void ) [inline]

Cached version of GLEnableClientState( GL_NORMAL_ARRAY ).

This function caches the GL_NORMAL_ARRAY client state. PIt is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_NORMAL_ARRAY ) directly.

void GLEnableSecondaryColorArray ( void ) [inline]

Cached version of GLEnableClientState( GL_SECONDARY_COLOR_ARRAY ).

This function caches the GL_SECONDARY_COLOR_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_SECONDARY_COLOR_ARRAY ) directly.

void GLEnableTextureCoordArray ( void ) [inline]

Cached version of GLEnableClientState( GL_TEXTURE_COORD_ARRAY ).

This function caches the GL_TEXTURE_COORD_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_TEXTURE_COORD_ARRAY ) directly.

void GLEnableVertexArray ( void ) [inline]

Cached version of GLEnableClientState( GL_VERTEX_ARRAY ).

This function caches the GL_VERTEX_ARRAY client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_VERTEX_ARRAY ) directly.

void GLEnablePrimitiveRestart ( void ) [inline]

Cached version of GLEnableClientState( GL_PRIMITIVE_RESTART_NV ).

This function caches the GL_PRIMITIVE_RESTART_NV client state. It is faster to call this method instead of calling GL[Disable|Enable]ClientState( GL_PRIMITIVE_RESTART_NV ) directly.

void GLEnableClientState ( GLenum array ) [inline]

Replacement of glEnableClientState.

This function caches on some cap values and asserts on the result before returning.

void GLEnableVertexAttribArray ( GLuint index ) [inline]

Replacement of glEnableVertexAttribArray.

void GLEnd ( void ) [inline]

Replacement of glEnd.

This function asserts on the result before returning.

void GLEndList ( void ) [inline]

Replacement of glEndList.

This function does not assert on the result before returning, because on glEndList the GL_OUT_OF_MEMORY is to be tested.

void GLEndConditionalRenderNV ( void ) [inline]

Replacement of glEndConditionalRenderNV.

void GLEndQuery ( GLenum target ) [inline]

Replacement of glEndQuery.

This function asserts on the result before returning.

void GLEndTransformFeedbackNV ( ) [inline]

Replacement of glEndTransformFeedbackNV.

This function asserts on the result before returning.

void GLEndTransformFeedback ( ) [inline]

Replacement of glEndTransformFeedback.

This function asserts on the result before returning.

void GLEvalCoord1d ( GLdouble u ) [inline]

Replacement of glEvalCoord1d.

This function asserts on the result before returning.

void GLEvalCoord1f ( GLfloat u ) [inline]

Replacement of glEvalCoord1f.

This function asserts on the result before returning.

void GLEvalCoord2d | ( | GLdouble | u,
 |  | GLdouble | v
 | ) | [inline]

Replacement of glEvalCoord2d.

This function asserts on the result before returning.

void GLEvalCoord2f | ( | GLfloat | u,
 |  | GLfloat | v
 | ) | [inline]

Replacement of glEvalCoord2f.

This function asserts on the result before returning.

void GLEvalMesh1 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2
 | ) | [inline]

Replacement of glEvalMesh1.

This function asserts on the result before returning.

void GLEvalMesh2 | ( | GLenum | mode,
 |  | GLint | i1,
 |  | GLint | i2,
 |  | GLint | j1,
 |  | GLint | j2
 | ) | [inline]

Replacement of glEvalMesh2.

This function asserts on the result before returning.

void GLEvalPoint1 ( GLint i ) [inline]

Replacement of glEvalPoint1.

This function asserts on the result before returning.

void GLEvalPoint2 | ( | GLint | i,
 |  | GLint | j
 | ) | [inline]

Replacement of glEvalPoint2.

This function asserts on the result before returning.

void GLExecuteProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glExecuteProgramNV.

This function asserts on the result before returning.

void GLFeedbackBuffer | ( | GLsizei | size,
 |  | GLenum | type,
 |  | GLfloat * | buffer
 | ) | [inline]

Replacement of glFeedbackBuffer.

This function asserts on the result before returning.

void GLFinalCombinerInput | ( | GLenum | variable,
 |  | GLenum | input,
 |  | GLenum | mapping,
 |  | GLenum | componentUsage
 | ) | [inline]

Replacement of glFinalCombinerInput.

This function asserts on the result before returning.

void GLFinish ( void ) [inline]

Replacement of glFinish.

This function asserts on the result before returning.

void GLFinishFence ( GLuint fence ) [inline]

Replacement of glFinishFenceNV.

void GLFlush ( void ) [inline]

Replacement of glFlush.

This function asserts on the result before returning.

void GLFlushPixelDataRange ( GLenum target ) [inline]

Replacement of glFlushPixelDataRangeNV.

This functions asserts on the result before returning.

void GLFlushVertexArrayRange ( ) [inline]

Replacement of glFlushVertexArrayRange.

This functions asserts on the result before returning.

void GLFogColor ( const GLfloat * color ) [inline]

Cached version of GLFog[fv|iv]( GL_FOG_COLOR, params ).

This function caches the GL_FOG_COLOR value. It is faster to call this method instead of GLFog[fv|iv]( GL_FOG_COLOR, params ) directly.

void GLResetFogColor ( ) [inline]

Helper function to reset the fog color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog color to it's previous state. Otherwise, it is set to (0,0,0,0).
See also:
GLFogColor

void GLFogCoordd ( GLdouble fog ) [inline]

Replacement of glFogCoordd.

This function asserts on the result before returning.

void GLFogCoorddv ( const GLdouble * fog ) [inline]

Replacement of glFogCoorddv.

This function asserts on the result before returning.

void GLFogCoordf ( GLfloat fog ) [inline]

Replacement of glFogCoordf.

This function asserts on the result before returning.

void GLFogCoordfv ( const GLfloat * fog ) [inline]

Replacement of glFogCoordfv.

This function asserts on the result before returning.

void GLFogCoordh ( GLhalf fog ) [inline]

Replacement of glFogCoordh.

This function asserts on the result before returning.

void GLFogCoordhv ( const GLhalf * fog ) [inline]

Replacement of glFogCoordhv.

This function asserts on the result before returning.

void GLFogCoordPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glFogCoordPointer.

This function caches the fog coordinate pointer setting and asserts on the result before returning.

void GLFogDensity ( GLfloat density ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_DENSITY, param[s] ).

This function caches the GL_FOG_DENSITY value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ) directly.

void GLResetFogDensity ( ) [inline]

Helper function to reset the fog density.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog density to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLFogDensity

void GLFogEnd ( GLfloat end ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ).

This function caches the GL_FOG_END value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_END, param[s] ) directly.

void GLResetFogEnd ( ) [inline]

Helper function to reset the fog end value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog end value to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLFogDensity

void GLFogf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glFogf.

This function asserts on the result before returning.

void GLFogfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glFogfv.

This function asserts on the result before returning.

void GLFogi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glFogi.

This function asserts on the result before returning.

void GLFogiv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glFogiv.

This function asserts on the result before returning.

void GLFogMode ( GLenum mode ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ).

This function caches the GL_FOG_MODE value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_MODE, param[s] ) directly.

void GLResetFogMode ( ) [inline]

Helper function to reset the fog mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog mode to it's previous state. Otherwise, it is set to GL_EXP.
See also:
GLFogMode

void GLFogStart ( GLfloat start ) [inline]

Cached version of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ).

This function caches the GL_FOG_START value. It is faster to call this method instead of GLFog[f|fv|i|iv]( GL_FOG_START, param[s] ) directly.

void GLResetFogStart ( ) [inline]

Helper function to reset the fog start value.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the fog start value to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLFogStart

void GLFramebufferTexture | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [inline]

Replacement of glFramebufferTextureEXT.

This function asserts on the result before returning.

void GLFramebufferTextureFace | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLenum | face
 | ) | [inline]

Replacement of glFramebufferTextureFaceEXT.

This function asserts on the result before returning.

void GLFrontFace ( GLenum mode ) [inline]

Replacement of glFrontFace.

This function caches the front face setting and asserts on the result before returning.

void GLResetFrontFace ( ) [inline]

Helper function to reset the front face state.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the front face state to it's previous state. Otherwise, it is set to GL_CCW.
See also:
GLFrontFace

void GLFrustum | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glFrustum.

This function asserts on the result before returning.

GLuint GLGenLists ( GLsizei range ) [inline]

Replacement of glGenLists.

This function asserts on the result and updates some caches.

void GLGenPrograms | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenProgramsARB.

This function hides the extension character of glGenProgramsARB and asserts on the result, and updates some caches.

void GLGenQueries | ( | GLsizei | n,
 |  | GLuint * | ids
 | ) | [inline]

Replacement of glGenQueries.

This function asserts on the result, and updates some caches.

void GLGenTextures | ( | GLsizei | n,
 |  | GLuint * | textures
 | ) | [inline]

Replacement of glGenTextures.

This function asserts on the result and updates some caches.

void GLGetActiveAttrib | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [inline]

Replacement of glGetActiveAttrib.

This function asserts on the result before returning.

void GLGetActiveUniform | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | maxLength,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLcharARB * | name
 | ) | [inline]

Replacement of glGetActiveUniform.

This function asserts on the result before returning.

void GLGetActiveVaryingNV | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [inline]

Replacement of glGetActiveVaryingNV.

This function asserts on the result before returning.

void GLGetAttachedObjects | ( | GLhandleARB | containerObj,
 |  | GLsizei | maxCount,
 |  | GLsizei * | count,
 |  | GLhandleARB * | obj
 | ) | [inline]

Replacement of glGetAttachedObjectsARB.

This function asserts on the result before returning.

void GLGetAttachedShaders | ( | GLuint | program,
 |  | GLsizei | maxCount,
 |  | GLsizei * | count,
 |  | GLuint * | shaders
 | ) | [inline]

Replacement of glGetAttachedShaders.

This function asserts on the result before returning.

GLint GLGetAttribLocation | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glGetAttribLocation.

This function asserts on the result before returning.

void GLGetBooleanv | ( | GLenum | pname,
 |  | GLboolean * | params
 | ) | [inline]

Replacement of glGetBooleanv.

This function asserts on the result before returning.

void GLGetBooleanIndexedv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLboolean * | data
 | ) | [inline]

Replacement of glGetBooleanIndexedvEXT.

This function asserts on the result before returning.

void GLGetColorTable | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | table
 | ) | [inline]

Replacement of glGetColorTable.

This function asserts on the result before returning.

void GLGetColorTableParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetColorTableParameterfv.

This function asserts on the result before returning.

void GLGetColorTableParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetColorTableParameteriv.

This function asserts on the result before returning.

void GLGetCombinerInputParameterfv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetCombinerInputParameterfv.

This function asserts on the result before returning.

void GLGetCombinerInputParameteriv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | variable,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetCombinerInputParameteriv.

This function asserts on the result before returning.

void GLGetCombinerOutputParameterfv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetCombinerOutputParameterfv.

This function asserts on the result before returning.

void GLGetCombinerOutputParameteriv | ( | GLenum | stage,
 |  | GLenum | portion,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetCombinerOutputParameteriv.

This function asserts on the result before returning.

void GLGetCombinerStageParameterfv | ( | GLenum | stage,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetCombinerStageParameterfv.

This function asserts on the result before returning.

void GLGetCompressedTexImage | ( | GLenum | target,
 |  | GLint | lod,
 |  | GLvoid * | img
 | ) | [inline]

Replacement of glGetCompressedTexImage.

This function asserts on the result before returning.

void GLGetConvolutionFilter | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | image
 | ) | [inline]

Replacement of glGetConvolutionFilter.

This function asserts on the result before returning.

void GLGetConvolutionParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetConvolutionParameterfv.

This function asserts on the result before returning.

void GLGetConvolutionParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetConvolutionParameteriv.

This function asserts on the result before returning.

void GLGetDoublev | ( | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetDoublev.

This function asserts on the result before returning.

void GLGetFenceiv | ( | GLuint | fence,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetFenceivNV.

This function asserts on the result before returning.

void GLGetFinalCombinerInputParameterfv | ( | GLenum | variable,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetFinalCombinerInputParamterfv.

This function asserts on the result before returning.

void GLGetFinalCombinerInputParameteriv | ( | GLenum | variable,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetFinalCombinerInputParamteriv.

This function asserts on the result before returning.

void GLGetFloatv | ( | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetFloatv.

This function asserts on the result before returning.

GLint GLGetFragDataLocation | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glGetFragDataLocationEXT.

This function asserts on the result before returning.

GLhandleARB GLGetHandle ( GLenum pname ) [inline]

Replacement of glGetHandleARB.

This function asserts on the result before returning.

void GLGetHistogram | ( | GLenum | target,
 |  | GLboolean | reset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | values
 | ) | [inline]

Replacement of glGetHistogram.

This function asserts on the result before returning.

void GLGetHistogramParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetHistogramParameterfv.

This function asserts on the result before returning.

void GLGetHistogramParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetHistogramParameteriv.

This function asserts on the result before returning.

void GLGetInfoLog | ( | GLhandleARB | obj,
 |  | GLsizei | maxLength,
 |  | GLsizei * | length,
 |  | GLcharARB * | infoLog
 | ) | [inline]

Replacement of glGetInfoLogARB.

This function asserts on the result before returning.

void GLGetIntegerv | ( | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetIntegerv.

This function asserts on the result before returning.

void GLGetIntegerIndexedv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | data
 | ) | [inline]

Replacement of glGetIntegerIndexedvEXT.

This function asserts on the result before returning.

void GLGetBufferParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetBufferParameteriv.

This function asserts on the result before returning.

void GLGetBufferPointerv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [inline]

Replacement of glGetBufferPointerv.

This function asserts on the result before returning.

void GLGetBufferSubData | ( | GLenum | target,
 |  | GLintptrARB | offset,
 |  | GLsizeiptrARB | size,
 |  | GLvoid * | data
 | ) | [inline]

Replacement of glGetBufferSubData.

This function asserts on the result before returning.

void GLGetClipPlane | ( | GLenum | plane,
 |  | GLdouble * | equation
 | ) | [inline]

Replacement of glGetClipPlane.

This function asserts on the result before returning.

void GLGetLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetLightfv.

This function asserts on the result before returning.

void GLGetLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetLightiv.

This function asserts on the result before returning.

void GLGetMapdv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLdouble * | v
 | ) | [inline]

Replacement of glGetMapdv.

This function asserts on the result before returning.

void GLGetMapfv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLfloat * | v
 | ) | [inline]

Replacement of glGetMapfv.

This function asserts on the result before returning.

void GLGetMapiv | ( | GLenum | target,
 |  | GLenum | query,
 |  | GLint * | v
 | ) | [inline]

Replacement of glGetMapiv.

This function asserts on the result before returning.

void GLGetMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetMaterialfv.

This function asserts on the result before returning.

void GLGetMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetMaterialiv.

This function asserts on the result before returning.

GLint GLGetMaxTexCoords ( void ) [inline]

Get the maximal number of texture coordinate slots.

GLint GLGetMaxTexUnits ( void ) [inline]

Get the maximal number of texture units.

GLint GLGetMaxTexImageUnits ( void ) [inline]

Get the maximal number of texture image units.

void GLGetMinmax | ( | GLenum | target,
 |  | GLboolean | reset,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | values
 | ) | [inline]

Replacement of glGetMinmax.

This function asserts on the result before returning.

void GLGetMinmaxParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetMinmaxParameterfv.

This function asserts on the result before returning.

void GLGetMinmaxParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetMinmaxParameteriv.

This function asserts on the result before returning.

void GLGetObjectParameterfv | ( | GLhandleARB | obj,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetObjectParameterfvARB.

This function asserts on the result before returning.

void GLGetObjectParameteriv | ( | GLhandleARB | obj,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetObjectParameterivARB.

This function asserts on the result before returning.

void GLGetPixelMapfv | ( | GLenum | map,
 |  | GLfloat * | values
 | ) | [inline]

Replacement of glGetPixelMapfv.

This function asserts on the result before returning.

void GLGetPixelMapuiv | ( | GLenum | map,
 |  | GLuint * | values
 | ) | [inline]

Replacement of glGetPixelMapuiv.

This function asserts on the result before returning.

void GLGetPixelMapusv | ( | GLenum | map,
 |  | GLushort * | values
 | ) | [inline]

Replacement of glGetPixelMapusv.

This function asserts on the result before returning.

void GLGetPointerv | ( | GLenum | pname,
 |  | GLvoid ** | params
 | ) | [inline]

Replacement of glGetPointerv.

This function asserts on the result before returning.

void GLGetPolygonStipple ( GLubyte * mask ) [inline]

Replacement of glGetPolygonStipple.

This function asserts on the result before returning.

void GLGetProgramEnvParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterdvARB.

This function asserts on the result before returning.

void GLGetProgramEnvParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterfvARB.

This function asserts on the result before returning.

void GLGetProgramiv | ( | GLuint | program,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetProgramiv.

This function asserts on the result before returning.

void GLGetProgramLocalParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterdvARB.

This function asserts on the result before returning.

void GLGetProgramLocalParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterfvARB.

This function asserts on the result before returning.

void GLGetProgramInfoLog | ( | GLuint | program,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLchar * | infoLog
 | ) | [inline]

Replacement of glGetProgramInfoLog.

This function asserts on the result before returning.

void GLGetProgramEnvParameterIiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterIivNV.

This function asserts on the result before returning.

void GLGetProgramEnvParameterIuiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetProgramEnvParameterIuivNV.

This function asserts on the result before returning.

void GLGetProgramLocalParameterIiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterIivNV.

This function asserts on the result before returning.

void GLGetProgramLocalParameterIuiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetProgramLocalParameterIuivNV.

This function asserts on the result before returning.

void GLGetProgramNamedParameterdv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramNamedParameterdvNV.

This function asserts on the result before returning.

void GLGetProgramNamedParameterfv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramNamedParameterfvNV.

This function asserts on the result before returning.

void GLGetProgramParameterdv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetProgramParameterdvNV.

This function asserts on the result before returning.

void GLGetProgramParameterfv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetProgramParameterfvNV.

This function asserts on the result before returning.

void GLGetProgramString | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLubyte * | program
 | ) | [inline]

Replacement of glGetProgramStringNV.

This function asserts on the result before returning.

void GLGetQueryiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetQueryiv.

This function asserts on the result before returning.

void GLGetQueryObjecti64v | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint64EXT * | params
 | ) | [inline]

Replacement of glGetQueryObjecti64vEXT.

This function asserts on the result before returning.

void GLGetQueryObjectiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetQueryObjectiv.

This function asserts on the result before returning.

void GLGetQueryObjectui64v | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint64EXT * | params
 | ) | [inline]

Replacement of glGetQueryObjectui64vEXT.

This function asserts on the result before returning.

void GLGetQueryObjectuiv | ( | GLuint | id,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetQueryObjectuiv.

This function asserts on the result before returning.

void GLGetSeparableFilter | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | row,
 |  | GLvoid * | column,
 |  | GLvoid * | span
 | ) | [inline]

Replacement of glGetSeparableFilter.

This asserts on the result before returning.

void GLGetShaderiv | ( | GLuint | shader,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetShaderiv.

This asserts on the result before returning.

void GLGetShaderInfoLog | ( | GLuint | shader,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLchar * | infoLog
 | ) | [inline]

Replacement of glGetShaderInfoLog.

This asserts on the result before returning.

void GLGetShaderSource | ( | GLuint | shader,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLcharARB * | source
 | ) | [inline]

Replacement of glGetShaderSource.

This asserts on the result before returning.

const GLubyte* GLGetString ( GLenum name ) [inline]

Replacement of glGetString.

This function asserts on the result before returning.

void GLGetTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexEnvfv.

This function asserts on the result before returning.

void GLGetTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexEnviv.

This function asserts on the result before returning.

void GLGetTexGendv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetTexGendv.

This function asserts on the result before returning.

void GLGetTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexGenfv.

This function asserts on the result before returning.

void GLGetTexGeniv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexGeniv.

This function asserts on the result before returning.

void GLGetTexImage | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [inline]

Replacement of glGetTexImage.

This function updates the active texture and asserts on the result before returning.

void GLGetTexLevelParameterfv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexLevelParameterfv.

This function asserts on the result before returning.

void GLGetTexLevelParameteriv | ( | GLenum | target,
 |  | GLint | level,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexLevelParameteriv.

This function asserts on the result before returning.

void GLGetTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetTexParameterfv.

This function asserts on the result before returning.

void GLGetTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexParameteriv.

This function asserts on the result before returning.

void GLGetTexParameterIiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTexParameterIivEXT.

This function asserts on the result before returning.

void GLGetTexParameterIuiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetTexParameterIuivEXT.

This function asserts on the result before returning.

void GLGetTrackMatrixiv | ( | GLenum | target,
 |  | GLuint | address,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetTrackMatrixivNV.

This function asserts on the result before returning.

void GLGetTransformFeedbackVaryingNV | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLint * | location
 | ) | [inline]

Replacement of glGetTransformFeedbackVaryingNV.

This function asserts on the result before returning.

void GLGetTransformFeedbackVarying | ( | GLuint | program,
 |  | GLuint | index,
 |  | GLsizei | bufSize,
 |  | GLsizei * | length,
 |  | GLsizei * | size,
 |  | GLenum * | type,
 |  | GLchar * | name
 | ) | [inline]

Replacement of glGetTransformFeedbackVarying.

This function asserts on the result before returning.

void GLGetUniformfv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetUniformfv.

This function asserts on the result before returning.

void GLGetUniformiv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetUniformiv.

This function asserts on the result before returning.

void GLGetUniformuiv | ( | GLuint | program,
 |  | GLint | location,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetUniformuiv.

This function asserts on the result before returning.

GLint GLGetUniformBufferSize | ( | GLuint | program,
 |  | GLint | location
 | ) | [inline]

Replacement of glGetUniformBufferSizeEXT.

This function asserts on the result before returning.

GLint GLGetUniformLocation | ( | GLuint | program,
 |  | const GLcharARB * | name
 | ) | [inline]

Replacement of glGetUniformLocation.

This function asserts on the result before returning.

GLintptr GLGetUniformOffset | ( | GLuint | program,
 |  | GLint | location
 | ) | [inline]

Replacement of glGetUniformOffsetEXT.

This function asserts on the result before returning.

GLint GLGetVaryingLocationNV | ( | GLuint | program,
 |  | const GLchar * | name
 | ) | [inline]

Replacement of glGetVaryingLocationNV.

This function asserts on the result before returning.

void GLGetVertexAttribdv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLdouble * | params
 | ) | [inline]

Replacement of glGetVertexAttribdv.

This function asserts on the result before returning.

void GLGetVertexAttribfv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLfloat * | params
 | ) | [inline]

Replacement of glGetVertexAttribfv.

This function asserts on the result before returning.

void GLGetVertexAttribiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetVertexAttribiv.

This function asserts on the result before returning.

void GLGetVertexAttribIiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetVertexAttribIivEXT.

This function asserts on the result before returning.

void GLGetVertexAttribIuiv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLuint * | params
 | ) | [inline]

Replacement of glGetVertexAttribIuivEXT.

This function asserts on the result before returning.

void GLGetVertexAttribPointerv | ( | GLuint | index,
 |  | GLenum | pname,
 |  | GLvoid ** | pointer
 | ) | [inline]

Replacement of glGetVertexAttribPointer.

This function asserts on the result before returning.

void GLHint | ( | GLenum | target,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glHint.

This function asserts on the result before returning.

void GLHistogram | ( | GLenum | target,
 |  | GLsizei | width,
 |  | GLenum | internalformat,
 |  | GLboolean | sink
 | ) | [inline]

Replacement of glHistogram.

This function asserts on the result before returning.

void GLIndexd ( GLdouble c ) [inline]

Replacement of glIndexd.

This function asserts on the result before returning.

void GLIndexf ( GLfloat c ) [inline]

Replacement of glIndexf.

This function asserts on the result before returning.

void GLIndexi ( GLint c ) [inline]

Replacement of glIndexi.

This function asserts on the result before returning.

void GLIndexMask ( GLuint mask ) [inline]

Replacement of glIndexMask.

This function asserts on the result before returning.

void GLIndexPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glIndexPointer.

This function asserts on the result before returning.

void GLIndexs ( GLshort c ) [inline]

Replacement of glIndexs.

This function asserts on the result before returning.

void GLIndexub ( GLubyte c ) [inline]

Replacement of glIndexub.

This function asserts on the result before returning.

void GLInitNames ( void ) [inline]

Replacement of glInitNames.

This function asserts on the result before returning.

void GLInterleavedArrays | ( | GLenum | format,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glInterleavedArrays.

This function asserts on the result before returning.

GLboolean GLIsEnabled ( GLenum cap ) [inline]

Replacement of glIsEnabled.

This function returns the state of the queried capability.

GLboolean GLIsEnabledAlphaTest ( ) [inline]

Replacement of glIsEnabled( GL_ALPHA_TEST ).

This function returns the state of the GL_ALPHA_TEST capability.

GLboolean GLIsEnabledAutoNormal ( ) [inline]

Replacement of glIsEnabled( GL_AUTO_NORMAL ).

This function returns the state of the GL_AUTO_NORMAL capability.

GLboolean GLIsEnabledBlend ( ) [inline]

Replacement of glIsEnabled( GL_BLEND ).

This function returns the state of the GL_BLEND capability.

GLboolean GLIsEnabledClipPlane ( GLenum plane ) [inline]

Replacement of glIsEnabled( GL_CLIP_PLANEi ).

This function returns the state of the GL_CLIP_PLANEi capability.

GLboolean GLIsEnabledColorLogicOp ( ) [inline]

Replacement of glIsEnabled( GL_COLOR_LOGIC_OP ).

This function returns the state of the GL_COLOR_LOGIC_OP capability.

GLboolean GLIsEnabledColorMaterial ( ) [inline]

Replacement of glIsEnabled( GL_COLOR_MATERIAL ).

This function returns the state of the GL_COLOR_MATERIAL capability.

GLboolean GLIsEnabledCullFace ( ) [inline]

Replacement of glIsEnabled( GL_CULL_FACE ).

This function returns the state of the GL_CULL_FACE capability.

GLboolean GLIsEnabledDepthTest ( ) [inline]

Replacement of glIsEnabled( GL_DEPTH_TEST ).

This function returns the state of the GL_DEPTH_TEST capability.

GLboolean GLIsEnabledDither ( ) [inline]

Replacement of glIsEnabled( GL_DITHER ).

This function returns the state of the GL_DITHER capability.

GLboolean GLIsEnabledFog ( ) [inline]

Replacement of glIsEnabled( GL_FOG ).

This function returns the state of the GL_FOG capability.

GLboolean GLIsEnabledIndexed | ( | GLenum | target,
 |  | GLuint | index
 | ) | [inline]

Replacement of glIsEnabledIndexed.

This functions asserts on the result before returning.

GLboolean GLIsEnabledLight ( GLenum light ) [inline]

Replacement of glIsEnabled( GL_LIGHTi ).

This function returns the state of the GL_LIGHTi capability.

GLboolean GLIsEnabledLighting ( ) [inline]

Replacement of glIsEnabled( GL_LIGHTING ).

This function returns the state of the GL_LIGHTING capability.

GLboolean GLIsEnabledLineSmooth ( ) [inline]

Replacement of glIsEnabled( GL_LINE_SMOOTH ).

This function returns the state of the GL_LINE_SMOOTH capability.

GLboolean GLIsEnabledLineStipple ( ) [inline]

Replacement of glIsEnabled( GL_LINE_STIPPLE ).

This function returns the state of the GL_LINE_STIPPLE capability.

GLboolean GLIsEnabledLogicOp ( ) [inline]

Replacement of glIsEnabled( GL_LOGIC_OP ).

This function returns the state of the GL_LOGIC_OP capability.

GLboolean GLIsEnabledNormalize ( ) [inline]

Replacement of glIsEnabled( GL_NORMALIZE ).

This function returns the state of the GL_NORMALIZE capability.

GLboolean GLIsEnabledRescaleNormal ( ) [inline]

Replacement of glIsEnabled( GL_RESCALE_NORMAL ).

This function returns the state of the GL_RESCALE_NORMAL capability.

GLboolean GLIsEnabledPointSmooth ( ) [inline]

Replacement of glIsEnabled( GL_POINT_SMOOTH ).

This function returns the state of the GL_POINT_SMOOTH capability.

GLboolean GLIsEnabledPolygonOffsetFill ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_FILL ).

This function returns the state of the GL_POLYGON_OFFSET_FILL capability.

GLboolean GLIsEnabledPolygonOffsetLine ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_LINE ).

This function returns the state of the GL_POLYGON_OFFSET_LINE capability.

GLboolean GLIsEnabledPolygonOffsetPoint ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_OFFSET_POINT ).

This function returns the state of the GL_POLYGON_OFFSET_POINT capability.

GLboolean GLIsEnabledPolygonSmooth ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_SMOOTH ).

This function returns the state of the GL_POLYGON_SMOOTH capability.

GLboolean GLIsEnabledPolygonStipple ( ) [inline]

Replacement of glIsEnabled( GL_POLYGON_STIPPLE ).

This function returns the state of the GL_POLYGON_STIPPLE capability.

GLboolean GLIsEnabledScissorTest ( ) [inline]

Replacement of glIsEnabled( GL_SCISSOR_TEST ).

This function returns the state of the GL_SCISSOR_TEST capability.

GLboolean GLIsEnabledStencilTest ( ) [inline]

Replacement of glIsEnabled( GL_STENCIL_TEST ).

This function returns the state of the GL_STENCIL_TEST capability.

GLboolean GLIsEnabledTexture ( GLenum target ) [inline]

Replacement of glIsEnabled( [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] ).

This function returns the state of the [GL_TEXTURE_1D|GL_TEXTURE_2D|GL_TEXTURE_3D|GL_TEXTURE_CUBE_MAP|GL_TEXTURE_RECTANGLE_NV] capability.

GLboolean GLIsEnabledTextureGen ( GLenum target ) [inline]

Replacement of glIsEnabled( [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] ).

This function returns the state of the [GL_TEXTURE_GEN_S|GL_TEXTURE_GEN_T|GL_TEXTURE_GEN_R|GL_TEXTURE_GEN_Q] capability.

GLint GLGetVersion ( ) [inline]

Returns the version of the OpenGL available on the target system.

Returns:
The floating point version of the OpenGL with the representation major.minor is returned as an integer calculated as 10*major+minor.

The OpenGL version 1.4, for example, will be reported as 14.

GLboolean GLIsExtensionAvailable ( const std::string & extension ) [inline]

Test if a given extension is available on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if all functions of extension are available, otherwise false

GLboolean GLIsExtensionExported ( const std::string & extension ) [inline]

Test if a given extension is exported on the current context.

Note:
Not all exported extensions might be available.
Returns:
true, if extension is exported, otherwise false

void GLDisableExtensionAvailability ( const std::string & extension ) [inline]

Allows manual disabling of extension available state.

This function is meant for debugging purposes and can have negative effects on stability. It should only be called after the GLContext has been initialized.

GLboolean GLIsFence ( GLuint fence ) [inline]

Replacement of glIsFenceNV.

This function asserts on the result before returning.

GLboolean GLIsList ( GLuint list ) [inline]

Replacement of glIsList.

This function tests if for the current context, list denotes a valid display list and asserts on the result before returning.

GLboolean GLIsProgram ( GLuint program ) [inline]

Replacement of glIsProgram.

This function tests if for the current context, id denotes a valid program and asserts on the result before returning.

GLboolean GLIsQuery ( GLuint id ) [inline]

Replacement of glIsQuery.

This function tests if for the current context, id denotes a valid query and asserts on the result before returning.

GLboolean GLIsShader ( GLuint shader ) [inline]

Replacement of glIsShader.

This function asserts on the result before returning.

GLboolean GLIsTexture ( GLuint texture ) [inline]

Replacement of glIsTexture.

This function tests if for the current context, texture denotes a valid texture and asserts on the result before returning.

void GLLightAmbient | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the light. It is faster to call this method instead of GLLightfv( light, GL_AMBIENT, param ) directly.

void GLResetLightAmbient ( GLenum light ) [inline]

Helper function to reset the ambient light color.

Parameters:
light The id of the light for which the ambient color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the ambient light to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLLightAmbient

void GLLightConstantAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_CONSTANT_ATTENUATION, param ).

This function caches the GL_CONSTANT_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_CONSTANT_ATTENUATION, param ) directly.

void GLResetLightConstantAttenuation ( GLenum light ) [inline]

Helper function to reset the constant attenuation of the light light.

Parameters:
light The id of the light for which the constant attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the constant attenuation of the light light to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLLightConstantAttenuation

void GLLightDiffuse | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the light. It is faster to call this method instead of GLLightfv( light, GL_DIFFUSE, param ) directly.

void GLResetLightDiffuse ( GLenum light ) [inline]

Helper function to reset the diffuse color of the light light.

Parameters:
light The id of the light for which the diffuse color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the diffuse lighting to it's previous state. Otherwise, it is set to (1,1,1,1) if light is GL_LIGHT0, or (0,0,0,1) otherwise.
See also:
GLLightDiffuse

void GLLightLinearAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_LINEAR_ATTENUATION, param ).

This function caches the GL_LINEAR_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_LINEAR_ATTENUATION, param ) directly.

void GLResetLightLinearAttenuation ( GLenum light ) [inline]

Helper function to reset the linear attenuation of the light light.

Parameters:
light The id of the light for which the linear attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the linear attenuation of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightLinearAttenuation

void GLLightPosition | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_POSITION, param ).

The light position is not cached, and it should not be. This function just exists for completeness.

void GLResetLightPosition ( GLenum light ) [inline]

Helper function to reset the position of the light light.

Parameters:
light The id of the light for which the position is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the position of the light light to it's previous state. Otherwise, it is set to (0,0,1,0).
See also:
GLLightPosition

void GLLightQuadraticAttenuation | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ).

This function caches the GL_QUADRATIC_ATTENUATION value on the light. It is faster to call this method instead of GLLightf( light, GL_QUADRATIC_ATTENUATION, param ) directly.

void GLResetLightQuadraticAttenuation ( GLenum light ) [inline]

Helper function to reset the quadratic attenuation of the light light.

Parameters:
light The id of the light for which the quadratic attenuation is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the quadratic attenuation of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightQuadraticAttenuation

void GLLightSpecular | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the light. It is faster to call this method instead of GLLightfv( light, GL_SPECULAR, param ) directly.

void GLResetLightSpecular ( GLenum light ) [inline]

Helper function to reset the specular color of the light light.

Parameters:
light The id of the light for which the specular color is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the specular color of the light light to it's previous state. Otherwise, it is set to (1,1,1,1) if light is GL_LIGHT0, or (0,0,0,1) otherwise.
See also:
GLLightSpecular

void GLLightSpotCutoff | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_SPOT_CUTOFF, param ).

This function caches the GL_SPOT_CUTOFF value on the light. It is faster to call this method instead of GLLightf( light, GL_SPOT_CUTOFF, param ) directly.

void GLResetLightSpotCutoff ( GLenum light ) [inline]

Helper function to reset the spot cutoff of the light light.

Parameters:
light The id of the light for which the spot cutoff is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot cutoff of the light light to it's previous state. Otherwise, it is set to 180.0f.
See also:
GLLightSpotCutoff

void GLLightSpotDirection | ( | GLenum | light,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLLightfv( light, GL_SPOT_DIRECTION, param ).

The light spot direction is not cached, and it should not be. This function just exists for completeness.

void GLResetLightSpotDirection ( GLenum light ) [inline]

Helper function to reset the spot cutoff of the light light.

Parameters:
light The id of the light for which the spot cutoff is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot cutoff of the light light to it's previous state. Otherwise, it is set to 180.0f.
See also:
GLLightSpotCutoff

void GLLightSpotExponent | ( | GLenum | light,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLLightf( light, GL_SPOT_EXPONENT, param ).

This function caches the GL_SPOT_EXPONENT value on the light. It is faster to call this method instead of GLLightf( light, GL_SPOT_EXPONENT, param ) directly.

void GLResetLightSpotExponent ( GLenum light ) [inline]

Helper function to reset the spot exponent of the light light.

Parameters:
light The id of the light for which the spot exponent is to be reset.
Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the spot exponent of the light light to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLLightSpotExponent

void GLLightf | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glLightf.

This function caches on some pname values and asserts on the result.

void GLLightfv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glLightfv.

This function caches on some pname values and asserts on the result.

void GLLighti | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glLighti.

This function caches on some pname values and asserts on the result.

void GLintToGLfloat | ( | const GLint * | params,
 |  | GLfloat * | fParams
 | ) | [inline]

Convert GLInt to GLFloat.

void GLLightiv | ( | GLenum | light,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glLightiv.

This function caches on some pname values and asserts on the result.

void GLLightModelAmbient ( const GLfloat * params ) [inline]

Replacement of glLightModelfv( GL_LIGHT_MODEL_AMBIENT, params ).

This function caches the light model settings and asserts on the result before returning.

void GLResetLightModelAmbient ( ) [inline]

Helper function to reset the ambient light color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the ambient light color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLLightSpotExponent

void GLLightModelLocalViewer ( GLint param ) [inline]

Replacement of GLLightModelLocalViewer.

This function caches the light model settings and asserts on the result before returning.

void GLResetLightModelLocalViewer ( ) [inline]

Helper function to reset the local viewer setting.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the local viewer to it's previous state. Otherwise, it is set to GL_FALSE.
See also:
GLLightModelLocalViewer

void GLLightModelTwoSide ( GLint param ) [inline]

Replacement of GLLightModelTwoSide.

This function caches the light model settings and asserts on the result before returning.

void GLResetLightModelTwoSide ( ) [inline]

Helper function to reset the two sided lighting state.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the two sided lighting to it's previous state. Otherwise, it is set to GL_FALSE.
See also:
GLLightModelTwoSide

void GLLightModelTwoSideLock ( GLint param ) [inline]

Helper function to set two sided lighting and lock it.

Parameters:
param The value to set and lock two sided lighting to.
Remarks:
This function sets two sided lighting to param and locks it. Any subsequent calls to GLLightModelTwoSide or GLLightModel{if}(GL_LIGHT_MODEL_TWO_SIDE,) will not change that setting, until the next call to GLLightModelTwoSideUnlock.
See also:
GLLightModelTwoSide, GLLightModelTwoSideUnlock

void GLLightModelTwoSideUnlock ( GLint param ) [inline]

Helper function to unlock the two sided lighting and set it.

Parameters:
param The value to set the unlocked two sided lighting to.
Remarks:
This function unlocks two sided lighting and sets it to param.
See also:
GLLightModelTwoSide, GLLightModelTwoSideLock

void GLLightModelf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glLightModelf.

This function caches some of the light model settings and asserts on the result before returning.

void GLLightModelfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glLightModelfv.

This function caches some the light model settings and asserts on the result before returning.

void GLLightModeli | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glLightModeli.

This function caches some of the light model settings and asserts on the result before returning.

void GLLightModeliv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glLightModeliv.

This function caches some of the light model settings and asserts on the result before returning.

void GLLineStipple | ( | GLint | factor,
 |  | GLushort | pattern
 | ) | [inline]

Replacement of glLineStipple.

This function caches the line stipple settings and asserts on the result before returning.

void GLResetLineStippleDefinition ( ) [inline]

Helper function to reset line stipple repeat and pattern.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line stipple repeat and pattern to it's previous state. Otherwise, it is set to 1 and 0xFFFF, respectively.
See also:
GLLineStipple

void GLLineWidth ( GLfloat width ) [inline]

Replacement of glLineWidth.

This function caches the line width setting and asserts on the result before returning.

void GLResetLineWidth ( ) [inline]

Helper function to reset the line width.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the line width to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLLineWidth

void GLLinkProgram ( GLuint program ) [inline]

Replacement of glLinkProgram.

This function asserts on the result before returning.

void GLListBase ( GLuint base ) [inline]

Replacement of glListBase.

This function asserts on the result before returning.

void GLLoadIdentity ( void ) [inline]

Replacement of glLoadItentity.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadMatrixd ( const GLdouble * m ) [inline]

Replacement of glLoadMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadMatrixf ( const GLfloat * m ) [inline]

Replacement of glLoadMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadTransposedMatrixd ( const GLdouble * m ) [inline]

Replacement of glLoadTransposeMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadTransposeMatrixf ( const GLfloat * m ) [inline]

Replacement of glLoadTransposMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLLoadName ( GLuint name ) [inline]

Replacement of glLoadName.

This function asserts on the result before returning.

void GLLoadProgram | ( | GLenum | target,
 |  | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | program
 | ) | [inline]

Replacement of glLoadProgramNV.

This function hides the extension character of glLoadProgramNV and asserts on the result before returning.

void GLLockArrays | ( | GLint | first,
 |  | GLsizei | count
 | ) | [inline]

Replacement of glLockArrays.

This function asserts on the result before returning.

void GLLogicOp ( GLenum opcode ) [inline]

Replacement of glLogicOp.

This function asserts on the result before returning.

void GLMap1d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLdouble * | points
 | ) | [inline]

Replacement of glMap1d.

This function asserts on the result before returning.

void GLMap1f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | stride,
 |  | GLint | order,
 |  | const GLfloat * | points
 | ) | [inline]

Replacement of glMap1f.

This function asserts on the result before returning.

void GLMap2d | ( | GLenum | target,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLdouble | v1,
 |  | GLdouble | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLdouble * | points
 | ) | [inline]

Replacement of glMap2d.

This function asserts on the result before returning.

void GLMap2f | ( | GLenum | target,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | ustride,
 |  | GLint | uorder,
 |  | GLfloat | v1,
 |  | GLfloat | v2,
 |  | GLint | vstride,
 |  | GLint | vorder,
 |  | const GLfloat * | points
 | ) | [inline]

Replacement of glMap2f.

This function asserts on the result before returning.

void GLMapGrid1d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2
 | ) | [inline]

Replacement of glMapGrid1d.

This function asserts on the result before returning.

void GLMapGrid1f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2
 | ) | [inline]

Replacement of glMapGrid1f.

This function asserts on the result before returning.

void GLMapGrid2d | ( | GLint | un,
 |  | GLdouble | u1,
 |  | GLdouble | u2,
 |  | GLint | vn,
 |  | GLdouble | v1,
 |  | GLdouble | v2
 | ) | [inline]

Replacement of glMapGrid2d.

This function asserts on the result before returning.

void GLMapGrid2f | ( | GLint | un,
 |  | GLfloat | u1,
 |  | GLfloat | u2,
 |  | GLint | vn,
 |  | GLfloat | v1,
 |  | GLfloat | v2
 | ) | [inline]

Replacement of glMapGrid2f.

This function asserts on the result before returning.

void GLMaterialShininessBack ( GLfloat param ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_SHININESS, param ).

This function caches the GL_SHININESS value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_SHININESS, param ) directly.

void GLResetMaterialShininessBack ( ) [inline]

Helper function to reset the material back face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessBack

void GLMaterialShininessFront ( GLfloat param ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_SHININESS, param ).

This function caches the GL_SHININESS value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_SHININESS, param ) directly.

void GLResetMaterialShininessFront ( ) [inline]

Helper function to reset the material front face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessFront

void GLMaterialShininessFrontAndBack ( GLfloat param ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ).

This function caches the GL_SHININESS value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_SHININESS, param ) directly.

void GLResetMaterialShininessFrontAndBack ( ) [inline]

Helper function to reset the material back and front face shininess.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face shininess to it's previous state. Otherwise, it is set to 0.0f.
See also:
GLMaterialShininessFrontAndBack

void GLMaterialShininess | ( | GLenum | face,
 |  | GLfloat | param
 | ) | [inline]

Cached version of GLMaterialf( face, GL_SHININESS, param ).

This function caches the GL_SHININESS value of the material. It is faster to call this method instead of GLMaterialf(face,GL_SHININESS,param) directly.

void GLMaterialAmbientBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_AMBIENT, param ) directly.

void GLResetMaterialAmbientBack ( ) [inline]

Helper function to reset the material back face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientBack

void GLMaterialAmbientFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_AMBIENT, param ) directly.

void GLResetMaterialAmbientFront ( ) [inline]

Helper function to reset the material front face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientFront

void GLMaterialAmbientFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ).

This function caches the GL_AMBIENT value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_AMBIENT, param ) directly.

void GLResetMaterialAmbientFrontAndBack ( ) [inline]

Helper function to reset the material back and front face ambient color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face ambient color to it's previous state. Otherwise, it is set to (0.2,0.2,0.2,1.0).
See also:
GLMaterialAmbientFrontAndBack

void GLMaterialAmbient | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_AMBIENT, params ).

This function caches the GL_AMBIENT value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_AMBIENT,params) directly.

void GLMaterialDiffuseBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_DIFFUSE, param ) directly.

void GLResetMaterialDiffuseBack ( ) [inline]

Helper function to reset the material back face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseBack

void GLMaterialDiffuseFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_DIFFUSE, param ) directly.

void GLResetMaterialDiffuseFront ( ) [inline]

Helper function to reset the material front face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseFront

void GLMaterialDiffuseFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ).

This function caches the GL_DIFFUSE value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_DIFFUSE, param ) directly.

void GLResetMaterialDiffuseFrontAndBack ( ) [inline]

Helper function to reset the material back and front face diffuse color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face diffuse color to it's previous state. Otherwise, it is set to (0.8,0.8,0.8,1.0).
See also:
GLMaterialDiffuseFrontAndBack

void GLMaterialDiffuse | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_DIFFUSE, params ).

This function caches the GL_DIFFUSE value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_DIFFUSE,params) directly.

void GLMaterialEmissionBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_EMISSION, param ).

This function caches the GL_EMISSION value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_EMISSION, param ) directly.

void GLResetMaterialEmissionBack ( ) [inline]

Helper function to reset the material back face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionBack

void GLMaterialEmissionFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_EMISSION, param ).

This function caches the GL_EMISSION value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_EMISSION, param ) directly.

void GLResetMaterialEmissionFront ( ) [inline]

Helper function to reset the material front face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionFront

void GLMaterialEmissionFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ).

This function caches the GL_EMISSION value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_EMISSION, param ) directly.

void GLResetMaterialEmissionFrontAndBack ( ) [inline]

Helper function to reset the material back and front face emission color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face emission color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialEmissionFrontAndBack

void GLMaterialEmission | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_EMISSION, params ).

This function caches the GL_EMISSION value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_EMISSION,params) directly.

void GLMaterialSpecularBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_BACK, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_BACK, GL_SPECULAR, param ) directly.

void GLResetMaterialSpecularBack ( ) [inline]

Helper function to reset the material back face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularBack

void GLMaterialSpecularFront ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on the GL_FRONT face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT, GL_SPECULAR, param ) directly.

void GLResetMaterialSpecularFront ( ) [inline]

Helper function to reset the material front face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material front face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularFront

void GLMaterialSpecularFrontAndBack ( const GLfloat * params ) [inline]

Cached version of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ).

This function caches the GL_SPECULAR value on both the GL_FRONT and GL_BACK face of the material. It is faster to call this method instead of GLMaterialf( GL_FRONT_AND_BACK, GL_SPECULAR, param ) directly.

void GLResetMaterialSpecularFrontAndBack ( ) [inline]

Helper function to reset the material back and front face specular color.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the material back and front face specular color to it's previous state. Otherwise, it is set to (0,0,0,1).
See also:
GLMaterialSpecularFrontAndBack

void GLMaterialSpecular | ( | GLenum | face,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLMaterialfv( face, GL_SPECULAR, params ).

This function caches the GL_SPECULAR value of the material. It is faster to call this method instead of GLMaterialfv(face,GL_SPECULAR,params) directly.

void GLMaterialf | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glMaterialf.

This function caches on some face and pname values and asserts on the result before returning.

void GLMaterialfv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glMaterialfv.

This function caches on some face and pname values and asserts on the result before returning.

void GLMateriali | ( | GLenum | face,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glMateriali.

This function caches on some face and pname values and asserts on the result before returning.

void GLMaterialiv | ( | GLenum | face,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glMaterialiv.

This function caches on some face and pname values and asserts on the result before returning.

void GLMatrixMode ( GLenum mode ) [inline]

Replacement of glMatrixMode.

This function caches the matrix mode setting and asserts on the result before returning.

void GLMinmax | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLboolean | sink
 | ) | [inline]

Replacement of glMinmax.

This function asserts on the result before returning.

void GLMultiTexCoord1d | ( | GLenum | target,
 |  | GLdouble | s
 | ) | [inline]

Replacement of glMultiTexCoord1d.

This function asserts on the result before returning.

void GLMultiTexCoord1dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord1dv.

This function asserts on the result before returning.

void GLMultiTexCoord1f | ( | GLenum | target,
 |  | GLfloat | s
 | ) | [inline]

Replacement of glMultiTexCoord1f.

This function asserts on the result before returning.

void GLMultiTexCoord1fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord1fv.

This function asserts on the result before returning.

void GLMultiTexCoord1h | ( | GLenum | target,
 |  | GLhalf | s
 | ) | [inline]

Replacement of glMultiTexCoord1hNV.

This function asserts on the result before returning.

void GLMultiTexCoord1hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord1hv.

This function asserts on the result before returning.

void GLMultiTexCoord1i | ( | GLenum | target,
 |  | GLint | s
 | ) | [inline]

Replacement of glMultiTexCoord1i.

This function asserts on the result before returning.

void GLMultiTexCoord1iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord1iv.

This function asserts on the result before returning.

void GLMultiTexCoord1s | ( | GLenum | target,
 |  | GLshort | s
 | ) | [inline]

Replacement of glMultiTexCoord1s.

This function asserts on the result before returning.

void GLMultiTexCoord1sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord1sv.

This function asserts on the result before returning.

void GLMultiTexCoord2d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t
 | ) | [inline]

Replacement of glMultiTexCoord2d.

This function asserts on the result before returning.

void GLMultiTexCoord2dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord2dv.

This function asserts on the result before returning.

void GLMultiTexCoord2f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t
 | ) | [inline]

Replacement of glMultiTexCoord2f.

This function asserts on the result before returning.

void GLMultiTexCoord2fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord2fv.

This function asserts on the result before returning.

void GLMultiTexCoord2h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t
 | ) | [inline]

Replacement of glMultiTexCoord2hNV.

This function asserts on the result before returning.

void GLMultiTexCoord2hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord2hv.

This function asserts on the result before returning.

void GLMultiTexCoord2i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t
 | ) | [inline]

Replacement of glMultiTexCoord2i.

This function asserts on the result before returning.

void GLMultiTexCoord2iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord2iv.

This function asserts on the result before returning.

void GLMultiTexCoord2s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t
 | ) | [inline]

Replacement of glMultiTexCoord2s.

This function asserts on the result before returning.

void GLMultiTexCoord2sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord2sv.

This function asserts on the result before returning.

void GLMultiTexCoord3d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [inline]

Replacement of glMultiTexCoord3d.

This function asserts on the result before returning.

void GLMultiTexCoord3dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord3dv.

This function asserts on the result before returning.

void GLMultiTexCoord3f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [inline]

Replacement of glMultiTexCoord3f.

This function asserts on the result before returning.

void GLMultiTexCoord3fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord3fv.

This function asserts on the result before returning.

void GLMultiTexCoord3h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r
 | ) | [inline]

Replacement of glMultiTexCoord3hNV.

This function asserts on the result before returning.

void GLMultiTexCoord3hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord3hv.

This function asserts on the result before returning.

void GLMultiTexCoord3i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [inline]

Replacement of glMultiTexCoord3i.

This function asserts on the result before returning.

void GLMultiTexCoord3iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord3iv.

This function asserts on the result before returning.

void GLMultiTexCoord3s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [inline]

Replacement of glMultiTexCoord3s.

This function asserts on the result before returning.

void GLMultiTexCoord3sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord3sv.

This function asserts on the result before returning.

void GLMultiTexCoord4d | ( | GLenum | target,
 |  | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [inline]

Replacement of glMultiTexCoord4d.

This function asserts on the result before returning.

void GLMultiTexCoord4dv | ( | GLenum | target,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glMultiTexCoord4dv.

This function asserts on the result before returning.

void GLMultiTexCoord4f | ( | GLenum | target,
 |  | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [inline]

Replacement of glMultiTexCoord4f.

This function asserts on the result before returning.

void GLMultiTexCoord4fv | ( | GLenum | target,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glMultiTexCoord4fv.

This function asserts on the result before returning.

void GLMultiTexCoord4h | ( | GLenum | target,
 |  | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r,
 |  | GLhalf | q
 | ) | [inline]

Replacement of glMultiTexCoord4hNV.

This function asserts on the result before returning.

void GLMultiTexCoord4hv | ( | GLenum | target,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glMultiTexCoord4hv.

This function asserts on the result before returning.

void GLMultiTexCoord4i | ( | GLenum | target,
 |  | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [inline]

Replacement of glMultiTexCoord4i.

This function asserts on the result before returning.

void GLMultiTexCoord4iv | ( | GLenum | target,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glMultiTexCoord4iv.

This function asserts on the result before returning.

void GLMultiTexCoord4s | ( | GLenum | target,
 |  | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [inline]

Replacement of glMultiTexCoord4s.

This function asserts on the result before returning.

void GLMultiTexCoord4sv | ( | GLenum | target,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glMultiTexCoord4sv.

This function asserts on the result before returning.

void GLMultMatrixd ( const GLdouble * m ) [inline]

Replacement of glMultMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLMultMatrixf ( const GLfloat * m ) [inline]

Replacement of glMultMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLMultTransposeMatrixd ( const GLdouble * m ) [inline]

Replacement of glMultTransposeMatrixd.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLMultTransposeMatrixf ( const GLfloat * m ) [inline]

Replacement of glMultTransposeMatrixf.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLNewList | ( | GLuint | list,
 |  | GLenum | mode
 | ) | [inline]

Replacement of glNewList.

This function asserts on the result before returning.

void GLNormal3b | ( | GLbyte | nx,
 |  | GLbyte | ny,
 |  | GLbyte | nz
 | ) | [inline]

Replacement of glNormal3b.

This function asserts on the result before returning.

void GLNormal3bv ( const GLbyte * v ) [inline]

Replacement of glNormal3bv.

This function asserts on the result before returning.

void GLNormal3d | ( | GLdouble | nx,
 |  | GLdouble | ny,
 |  | GLdouble | nz
 | ) | [inline]

Replacement of glNormal3d.

This function asserts on the result before returning.

void GLNormal3dv ( const GLdouble * v ) [inline]

Replacement of glNormal3dv.

This function asserts on the result before returning.

void GLNormal3f | ( | GLfloat | nx,
 |  | GLfloat | ny,
 |  | GLfloat | nz
 | ) | [inline]

Replacement of glNormal3f.

This function asserts on the result before returning.

void GLNormal3fv ( const GLfloat * v ) [inline]

Replacement of glNormal3fv.

This function asserts on the result before returning.

void GLNormal3h | ( | GLhalf | nx,
 |  | GLhalf | ny,
 |  | GLhalf | nz
 | ) | [inline]

Replacement of glNormal3hNV.

This function asserts on the result before returning.

void GLNormal3hv ( const GLhalf * v ) [inline]

Replacement of glNormal3hv.

This function asserts on the result before returning.

void GLNormal3i | ( | GLint | nx,
 |  | GLint | ny,
 |  | GLint | nz
 | ) | [inline]

! Replacement of glNormal3i

This function asserts on the result before returning.

void GLNormal3iv ( const GLint * v ) [inline]

Replacement of glNormal3iv.

This function asserts on the result before returning.

void GLNormal3s | ( | GLshort | nx,
 |  | GLshort | ny,
 |  | GLshort | nz
 | ) | [inline]

Replacement of glNormal3s.

This function asserts on the result before returning.

void GLNormal3sv ( const GLshort * v ) [inline]

Replacement of glNormal3sv.

This function asserts on the result before returning.

void GLNormalPointer | ( | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glNormalPointer.

This function caches the normal pointer and asserts on the result before returning.

void GLOrtho | ( | GLdouble | left,
 |  | GLdouble | right,
 |  | GLdouble | bottom,
 |  | GLdouble | top,
 |  | GLdouble | zNear,
 |  | GLdouble | zFar
 | ) | [inline]

Replacement of glOrtho.

This function asserts on the result before returning.

void GLPassThrough ( GLfloat token ) [inline]

Replacement of glPassThrough.

This function asserts on the result before returning.

void GLPixelDataRange | ( | GLenum | target,
 |  | GLsizei | size,
 |  | GLvoid * | pointer
 | ) | [inline]

Replacement of glPixelDataRangeNV.

This function asserts on the result before returning.

void GLPixelMapfv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLfloat * | values
 | ) | [inline]

Replacement of glPixelMapfv.

This function asserts on the result before returning.

void GLPixelMapuiv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLuint * | values
 | ) | [inline]

Replacement of glPixelMapuiv.

This function asserts on the result before returning.

void GLPixelMapusv | ( | GLenum | map,
 |  | GLsizei | mapsize,
 |  | const GLushort * | values
 | ) | [inline]

Replacement of glPixelMapusv.

This function asserts on the result before returning.

void GLPixelStoref | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPixelStoref.

This function asserts on the result before returning.

void GLPixelStorei | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPixelStorei.

This function asserts on the result before returning.

void GLPixelTransferf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPixelTransferf.

This function asserts on the result before returning.

void GLPixelTransferi | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPixelTransferi.

This function asserts on the result before returning.

void GLPixelZoom | ( | GLfloat | xfactor,
 |  | GLfloat | yfactor
 | ) | [inline]

Replacement of glPixelZoom.

This function asserts on the result before returning.

void GLPointParameterf | ( | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glPointParameterf.

This function asserts on the result before returning.

void GLPointParameterfv | ( | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glPointParameterfv.

This function asserts on the result before returning.

void GLPointParameteri | ( | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glPointParameteri.

This function asserts on the result before returning.

void GLPointParameteriv | ( | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glPointParameteriv.

This function asserts on the result before returning.

void GLPointSize ( GLfloat size ) [inline]

Replacement of glPointSize.

This function caches the point size setting and asserts on the result before returning.

void GLResetPointSize ( ) [inline]

Helper function to reset the point size.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the point size to it's previous state. Otherwise, it is set to 1.0f.
See also:
GLPointSize

void GLPolygonModeBack ( GLenum mode ) [inline]

Cached version of GLPolygonMode( GL_BACK, mode ).

This function caches the polygon mode on the GL_BACK face of polygon. It is faster to call this method instead of GLPolygonMode( GL_BACK, mode ) directly.

void GLResetPolygonModeBack ( ) [inline]

Helper function to reset back face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the back face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeBack

void GLPolygonModeFront ( GLenum mode ) [inline]

Cached version of GLPolygonMode( GL_FRONT, mode ).

This function caches the polygon mode on the GL_FRONT face of polygon. It is faster to call this method instead of GLPolygonMode( GL_FRONT, mode ) directly.

void GLResetPolygonModeFront ( ) [inline]

Helper function to reset front face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the front face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeFront

void GLPolygonModeFrontAndBack ( GLenum mode ) [inline]

Cached version of GLPolygonMode( GL_FRONT_AND_BACK, mode ).

This function caches the polygon mode on both the GL_FRONT and GL_BACK face of polygon. It is faster to call this method instead of GLPolygonMode( GL_FRONT_AND_BACK, mode ) directly.

void GLResetPolygonModeFrontAndBack ( ) [inline]

Helper function to reset back and front face polygon mode.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the back and front face polygon mode to it's previous state. Otherwise, it is set to GL_FILL.
See also:
GLPolygonModeFrontAndBack, GLPolygonModeFront, GLPolygonMode Back

void GLPolygonMode | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Cached version of GLPolygonMode( face, mode ).

This function caches the polygon mode and assert on the result.

void GLPolygonModeLock | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Helper function to set the polygon mode and lock it.

Parameters:
face | The face for which the polygon mode is to set and lock.
mode | The polygon mode to set and lock.
Remarks:
This function sets the polygon mode for face to mode and locks it. Any subsequent calls to GLPolygonMode, GLPolygonModeBack, or GLPolygonModeFront on the same face will not change that setting, until the next call to GLPolygonModeUnlock.
See also:
GLPolygonMode, GLPolygonModeUnlock

void GLPolygonModeUnlock | ( | GLenum | face,
 |  | GLenum | mode
 | ) | [inline]

Helper function to unlock the polygon mode and set it.

Parameters:
face | The face for which the polygon mode is to be unlocked and set.
mode | The polygon mode to set.
Remarks:
This function unlocks the polygon mode for face and sets it to mode.
See also:
GLPolygonMode, GLPolygonModeLock

void GLPolygonOffset | ( | GLfloat | factor,
 |  | GLfloat | units
 | ) | [inline]

Replacement of glPolygonOffset.

This function caches the polygon offset settings and asserts on the result before returning.

void GLResetPolygonOffset ( ) [inline]

Helper function to reset the polygon offset.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the polygon offset to it's previous state. Otherwise, it is set to (0,0).
See also:
GLPolygonOffset

void GLPolygonStipple ( const GLubyte * mask ) [inline]

Replacement of glPolygonStipple.

This function asserts on the result before returning.

void GLPopAttrib ( void ) [inline]

Replacement of glPopAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushAttrib/GLPopAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPopClientAttrib ( void ) [inline]

Replacement of glPopClientAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushClientAttrib/GLPopClientAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPopMatrix ( void ) [inline]

Replacement of glPopMatrix.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLPopName ( void ) [inline]

Replacement of glPopName.

This function asserts on the result before returning.

void GLPrimitiveRestart ( ) [inline]

Replacement of glPrimitiveRestart.

This function asserts on the result before returning.

void GLPrimitiveRestartIndex ( GLuint index ) [inline]

Replacement of glPrimitiveRestartIndex.

This function caches the primitive restart index and asserts on the result before returning.

void GLPrioritizeTextures | ( | GLsizei | n,
 |  | const GLuint * | textures,
 |  | const GLclampf * | priorities
 | ) | [inline]

Replacement of glPrioritizeTextures.

This function asserts on the result before returning.

void GLProgramBufferParametersfv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramBufferParametersfvNV.

This function asserts on the result before returning.

void GLProgramBufferParametersIiv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramBufferParametersIivNV.

This function asserts on the result before returning.

void GLProgramBufferParametersIuiv | ( | GLenum | target,
 |  | GLuint | buffer,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramBufferParametersIuivNV.

This function asserts on the result before returning.

void GLProgramEnvParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramEnvParameter4dARB.

This function asserts on the result before returning.

void GLProgramEnvParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | params
 | ) | [inline]

Replacement of glProgramEnvParameter4dvARB.

This function asserts on the result before returning.

void GLProgramEnvParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramEnvParameter4fARB.

This function asserts on the result before returning.

void GLProgramEnvParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramEnvParameter4fvARB.

This function asserts on the result before returning.

void GLProgramEnvParametersI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramEnvParametersI4ivNV.

This function asserts on the result before returning.

void GLProgramEnvParametersI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramEnvParametersI4uivNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4i | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glProgramEnvParameterI4iNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramEnvParameterI4ivNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4ui | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [inline]

Replacement of glProgramEnvParameterI4uiNV.

This function asserts on the result before returning.

void GLProgramEnvParameterI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramEnvParameterI4uivNV.

This function asserts on the result before returning.

void GLProgramEnvParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramEnvParameters4fvEXT.

This function asserts on the result before returning.

void GLProgramLocalParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramLocalParameter4dARB.

This function asserts on the result before returning.

void GLProgramLocalParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | params
 | ) | [inline]

Replacement of glProgramLocalParameter4dvARB.

This function asserts on the result before returning.

void GLProgramLocalParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramLocalParameter4fARB.

This function asserts on the result before returning.

void GLProgramLocalParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramLocalParameter4fvARB.

This function asserts on the result before returning.

void GLProgramLocalParametersI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramLocalParametersI4ivNV.

This function asserts on the result before returning.

void GLProgramLocalParametersI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramLocalParametersI4uivNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4i | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glProgramLocalParameterI4iNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4iv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glProgramLocalParameterI4ivNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4ui | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [inline]

Replacement of glProgramLocalParameterI4uiNV.

This function asserts on the result before returning.

void GLProgramLocalParameterI4uiv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glProgramLocalParameterI4uivNV.

This function asserts on the result before returning.

void GLProgramLocalParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | params
 | ) | [inline]

Replacement of glProgramLocalParameters4fvEXT.

This function asserts on the result before returning.

void GLProgramNamedParameter4d | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramNamedParameter4dNV.

This function asserts on the result before returning.

void GLProgramNamedParameter4dv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glProgramNamedParameter4dvNV.

This function asserts on the result before returning.

void GLProgramNamedParameter4f | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramNamedParameter4fNV.

This function asserts on the result before returning.

void GLProgramNamedParameter4fv | ( | GLuint | id,
 |  | GLsizei | len,
 |  | const GLubyte * | name,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glProgramNamedParameter4fvNV.

This function asserts on the result before returning.

void GLProgramParameter4d | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glProgramParameter4dNV.

This function asserts on the result before returning.

void GLProgramParameter4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glProgramParameter4dvNV.

This function asserts on the result before returning.

void GLProgramParameter4f | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glProgramParameter4fNV.

This function asserts on the result before returning.

void GLProgramParameter4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glProgramParameter4fvNV.

This function asserts on the result before returning.

void GLProgramParameteri | ( | GLuint | program,
 |  | GLenum | pname,
 |  | GLint | value
 | ) | [inline]

Replacement of glProgramParameteriEXT.

This function asserts on the result before returning.

void GLProgramParameters4dv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glProgramParameters4dvNV.

This function asserts on the result before returning.

void GLProgramParameters4fv | ( | GLenum | target,
 |  | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glProgramParameters4fvNV.

This function asserts on the result before returning.

void GLProgramString | ( | GLenum | target,
 |  | GLenum | format,
 |  | GLsizei | len,
 |  | const GLvoid * | string
 | ) | [inline]

Replacement of glProgramStringARB.

This function asserts on the result before returning.

void GLProgramVertexLimit | ( | GLenum | target,
 |  | GLint | limit
 | ) | [inline]

Replacement of glProgramVertexLimitNV.

This function asserts on the result before returning.

void GLPushAttrib ( GLbitfield mask ) [inline]

Replacement of glPushAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushAttrib/GLPopAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPushClientAttrib ( GLbitfield mask ) [inline]

Replacement of glPushClientAttrib.

This function asserts on the result before returning.

Note:
Currently we don't hold a stack of cached GL states, so GLPushClientAttrib/GLPopClientAttrib doesn't affect our cached values. It is therefore recommended to used GLPushAttrib/GLPopAttrib very local and to not use other potentially caching GL* functions (with uppercase GL), inbetween such a pair.

void GLPushMatrix ( void ) [inline]

Replacement of glPushMatrix.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLPushName ( GLuint name ) [inline]

Replacement of glPushName.

This function asserts on the result before returning.

void GLRasterPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glRasterPos2d.

This function asserts on the result before returning.

void GLRasterPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glRasterPos2f.

This function asserts on the result before returning.

void GLRasterPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glRasterPos2i.

This function asserts on the result before returning.

void GLRasterPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glRasterPos2s.

This function asserts on the result before returning.

void GLRasterPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glRasterPos3d.

This function asserts on the result before returning.

void GLRasterPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glRasterPos3f.

This function asserts on the result before returning.

void GLRasterPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glRasterPos3i.

This function asserts on the result before returning.

void GLRasterPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glRasterPos3s.

This function asserts on the result before returning.

void GLRasterPos4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glRasterPos4d.

This function asserts on the result before returning.

void GLRasterPos4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glRasterPos4f.

This function asserts on the result before returning.

void GLRasterPos4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glRasterPos4i.

This function asserts on the result before returning.

void GLRasterPos4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glRasterPos4s.

This function asserts on the result before returning.

void GLRasterPos2dv ( const GLdouble * v ) [inline]

Replacement of glRasterPos2dv.

This function asserts on the result before returning.

void GLRasterPos2fv ( const GLfloat * v ) [inline]

Replacement of glRasterPos2fv.

This function asserts on the result before returning.

void GLRasterPos2iv ( const GLint * v ) [inline]

Replacement of glRasterPos2iv.

This function asserts on the result before returning.

void GLRasterPos2sv ( const GLshort * v ) [inline]

Replacement of glRasterPos2sv.

This function asserts on the result before returning.

void GLRasterPos3dv ( const GLdouble * v ) [inline]

Replacement of glRasterPos3dv.

This function asserts on the result before returning.

void GLRasterPos3fv ( const GLfloat * v ) [inline]

Replacement of glRasterPos3fv.

This function asserts on the result before returning.

void GLRasterPos3iv ( const GLint * v ) [inline]

Replacement of glRasterPos3iv.

This function asserts on the result before returning.

void GLRasterPos3sv ( const GLshort * v ) [inline]

Replacement of glRasterPos3sv.

This function asserts on the result before returning.

void GLRasterPos4dv ( const GLdouble * v ) [inline]

Replacement of glRasterPos4dv.

This function asserts on the result before returning.

void GLRasterPos4fv ( const GLfloat * v ) [inline]

Replacement of glRasterPos4fv.

This function asserts on the result before returning.

void GLRasterPos4iv ( const GLint * v ) [inline]

Replacement of glRasterPos4iv.

This function asserts on the result before returning.

void GLRasterPos4sv ( const GLshort * v ) [inline]

Replacement of glRasterPos4sv.

This function asserts on the result before returning.

void GLReadBuffer ( GLenum mode ) [inline]

Replacement of glReadBuffer.

This function asserts on the result before returning.

void GLReadPixels | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | GLvoid * | pixels
 | ) | [inline]

Replacement of glReadPixels.

This function asserts on the result before returning.

void GLRectd | ( | GLdouble | x1,
 |  | GLdouble | y1,
 |  | GLdouble | x2,
 |  | GLdouble | y2
 | ) | [inline]

Replacement of glRectd.

This function asserts on the result before returning.

void GLRectf | ( | GLfloat | x1,
 |  | GLfloat | y1,
 |  | GLfloat | x2,
 |  | GLfloat | y2
 | ) | [inline]

Replacement of glRectf.

This function asserts on the result before returning.

void GLRecti | ( | GLint | x1,
 |  | GLint | y1,
 |  | GLint | x2,
 |  | GLint | y2
 | ) | [inline]

Replacement of glRecti.

This function asserts on the result before returning.

void GLRects | ( | GLshort | x1,
 |  | GLshort | y1,
 |  | GLshort | x2,
 |  | GLshort | y2
 | ) | [inline]

Replacement of glRects.

This function asserts on the result before returning.

void GLRenderMode ( GLenum mode ) [inline]

Replacement of glRenderMode.

This function asserts on the result before returning.

void GLRequestResidentPrograms | ( | GLsizei | n,
 |  | const GLuint * | programs
 | ) | [inline]

Replacement of glRequestResidentProgramsNV.

This function asserts on the result before returning.

void GLResetHistogram ( GLenum target ) [inline]

Replacement of glResetHistogram.

This function asserts on the result before returning.

void GLResetMinmax ( GLenum target ) [inline]

Replacement of glResetMinmax.

This function asserts on the result before returning.

void GLRotated | ( | GLdouble | angle,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glRotated.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLRotatef | ( | GLfloat | angle,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glRotatef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLScaled | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glScaled.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLScalef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glScalef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLSampleCoverage | ( | GLclampf | value,
 |  | GLboolean | invert
 | ) | [inline]

Replacement of glSampleCoverage.

This function asserts on the result before returning.

void GLScissor | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glScissor.

This function caches the scissor settings and asserts on the result before returning.

void GLResetScissor ( ) [inline]

Helper function to reset the scissor rectangle.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the scissor rectangle to it's previous state. Otherwise, it does nothing.
See also:
GLScissor

void GLSecondaryColor3b | ( | GLbyte | red,
 |  | GLbyte | green,
 |  | GLbyte | blue
 | ) | [inline]

Replacement of glSecondaryColor3b.

This function asserts on the result before returning.

void GLSecondaryColor3bv ( const GLbyte * v ) [inline]

Replacement of glSecondaryColor3bv.

This function asserts on the result before returning.

void GLSecondaryColor3d | ( | GLdouble | red,
 |  | GLdouble | green,
 |  | GLdouble | blue
 | ) | [inline]

Replacement of glSecondaryColor3d.

This function asserts on the result before returning.

void GLSecondaryColor3dv ( const GLdouble * v ) [inline]

Replacement of glSecondaryColor3dv.

This function asserts on the result before returning.

void GLSecondaryColor3f | ( | GLfloat | red,
 |  | GLfloat | green,
 |  | GLfloat | blue
 | ) | [inline]

Replacement of glSecondaryColor3f.

This function asserts on the result before returning.

void GLSecondaryColor3fv ( const GLfloat * v ) [inline]

Replacement of glSecondaryColor3fv.

This function asserts on the result before returning.

void GLSecondaryColor3h | ( | GLhalf | red,
 |  | GLhalf | green,
 |  | GLhalf | blue
 | ) | [inline]

Replacement of glSecondaryColor3h.

This function asserts on the result before returning.

void GLSecondaryColor3hv ( const GLhalf * v ) [inline]

Replacement of glSecondaryColor3hv.

This function asserts on the result before returning.

void GLSecondaryColor3i | ( | GLint | red,
 |  | GLint | green,
 |  | GLint | blue
 | ) | [inline]

Replacement of glSecondaryColor3i.

This function asserts on the result before returning.

void GLSecondaryColor3iv ( const GLint * v ) [inline]

Replacement of glSecondaryColor3iv.

This function asserts on the result before returning.

void GLSecondaryColor3s | ( | GLshort | red,
 |  | GLshort | green,
 |  | GLshort | blue
 | ) | [inline]

Replacement of glSecondaryColor3s.

This function asserts on the result before returning.

void GLSecondaryColor3sv ( const GLshort * v ) [inline]

Replacement of glSecondaryColor3sv.

This function asserts on the result before returning.

void GLSecondaryColor3ub | ( | GLubyte | red,
 |  | GLubyte | green,
 |  | GLubyte | blue
 | ) | [inline]

Replacement of glSecondaryColor3ub.

This function asserts on the result before returning.

void GLSecondaryColor3ubv ( const GLubyte * v ) [inline]

Replacement of glSecondaryColor3ubv.

This function asserts on the result before returning.

void GLSecondaryColor3ui | ( | GLuint | red,
 |  | GLuint | green,
 |  | GLuint | blue
 | ) | [inline]

Replacement of glSecondaryColor3ui.

This function asserts on the result before returning.

void GLSecondaryColor3uiv ( const GLuint * v ) [inline]

Replacement of glSecondaryColor3uiv.

This function asserts on the result before returning.

void GLSecondaryColor3us | ( | GLushort | red,
 |  | GLushort | green,
 |  | GLushort | blue
 | ) | [inline]

Replacement of glSecondaryColor3us.

This function asserts on the result before returning.

void GLSecondaryColor3usv ( const GLushort * v ) [inline]

Replacement of glSecondaryColor3usv.

This function asserts on the result before returning.

void GLSecondaryColorPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glSecondaryColorPointer.

This function caches the secondary color pointer setting and asserts on the result before returning.

void GLSelectBuffer | ( | GLsizei | size,
 |  | GLuint * | buffer
 | ) | [inline]

Replacement of glSelectBuffer.

This function asserts on the result before returning.

void GLSelectTexture ( GLenum target ) [inline]

Replacement of glSelectTexture.

This function simply maps to GLActiveTexture.

void GLSelectTextureCoordSet ( GLenum target ) [inline]

Replacement of GLSelectTextureCoordSet.

This function simply maps to GLClientActiveTexture.

void GLSeparableFilter2D | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | row,
 |  | const GLvoid * | column
 | ) | [inline]

Replacement of glSeparableFilter2D.

This function asserts on the result before returning.

void GLSetFence | ( | GLuint | fence,
 |  | GLenum | condition
 | ) | [inline]

Replacement of glSetFenceNV.

void GLShadeModel ( GLenum mode ) [inline]

Replacement of glShadeModel.

This function caches the shade model setting and asserts on the result before returning.

void GLResetShadeModel ( ) [inline]

Helper function to reset the shade model.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the shade model to it's previous state. Otherwise, it is set to GL_SMOOTH.
See also:
GLShadeModel

void GLShaderSource | ( | GLuint | shader,
 |  | GLsizei | count,
 |  | const GLcharARB ** | string,
 |  | const GLint * | length
 | ) | [inline]

Replacement of glShaderSource.

void GLStencilClearTag | ( | GLsizei | tagBits,
 |  | GLuint | clearTag
 | ) | [inline]

Replacement of glStencilClearTag.

void GLStencilFunc | ( | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilFunc.

This function caches the stencil function setting and asserts on the result before returning.

void GLStencilFuncSeparate | ( | GLenum | face,
 |  | GLenum | func,
 |  | GLint | ref,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilFuncSeparate.

void GLStencilOpSeparate | ( | GLenum | face,
 |  | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [inline]

Replacement of glStencilOpSeparate.

void GLStencilMaskSeparate | ( | GLenum | face,
 |  | GLuint | mask
 | ) | [inline]

Replacement of glStencilMaskSeparate.

void GLResetStencilFunc ( ) [inline]

Helper function to reset the stencil function values.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil function values to it's previous state. Otherwise, it sets the function, reference value, and mask to GL_ALWAYS, 0, and ~0, respectively.
See also:
GLStencilFunc

void GLStencilMask ( GLuint mask ) [inline]

Replacement of glStencilMask.

This function caches the stencil mask setting and asserts on the result before returning.

void GLResetStencilMask ( ) [inline]

Helper function to reset the stencil mask.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil mask to it's previous state. Otherwise, it is set to ~0.
See also:
GLStencilMask

void GLStencilOp | ( | GLenum | fail,
 |  | GLenum | zfail,
 |  | GLenum | zpass
 | ) | [inline]

Replacement of glStencilOp.

This function caches the stencil operation setting and asserts on the result before returning.

void GLResetStencilOp ( ) [inline]

Helper function to reset the stencil operation values.

Remarks:
If GL_SUPPORT_RESET is defined (per default, it is), this function sets the stencil operation values to it's previous state. Otherwise, it sets each value (fail, zfail, zpass) to GL_KEEP.
See also:
GLStencilMask

void GLStringMarker | ( | GLsizei | len,
 |  | const GLvoid * | string
 | ) | [inline]

Replacement of glStringMarkerGREMEDY.

This function simply does nothing if the extension is not available

void GLFrameTerminator ( void ) [inline]

Replacement of glFrameTerminatorGREMEDY.

This function simply does nothing if the extension is not available

GLboolean GLTestFence ( GLuint fence ) [inline]

Replacement of glTestFenceNV.

This function asserts on the result before returning.

void GLTexBuffer | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLuint | buffer
 | ) | [inline]

Replacement of glTexBufferEXT.

This function asserts on the result before returning.

void GLTexCoord1d ( GLdouble s ) [inline]

Replacement of glTexCoord1d.

This function asserts on the result before returning.

void GLTexCoord1dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord1dv.

This function asserts on the result before returning.

void GLTexCoord1f ( GLfloat s ) [inline]

Replacement of glTexCoord1f.

This function asserts on the result before returning.

void GLTexCoord1fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord1fv.

This function asserts on the result before returning.

void GLTexCoord1h ( GLhalf s ) [inline]

Replacement of glTexCoord1hNV.

This function asserts on the result before returning.

void GLTexCoord1hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord1hv.

This function asserts on the result before returning.

void GLTexCoord1i ( GLint s ) [inline]

Replacement of glTexCoord1i.

This function asserts on the result before returning.

void GLTexCoord1iv ( const GLint * v ) [inline]

Replacement of glTexCoord1iv.

This function asserts on the result before returning.

void GLTexCoord1s ( GLshort s ) [inline]

Replacement of glTexCoord1s.

This function asserts on the result before returning.

void GLTexCoord1sv ( const GLshort * v ) [inline]

Replacement of glTexCoord1sv.

This function asserts on the result before returning.

void GLTexCoord2d | ( | GLdouble | s,
 |  | GLdouble | t
 | ) | [inline]

Replacement of glTexCoord2d.

This function asserts on the result before returning.

void GLTexCoord2dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord2dv.

This function asserts on the result before returning.

void GLTexCoord2f | ( | GLfloat | s,
 |  | GLfloat | t
 | ) | [inline]

Replacement of glTexCoord2f.

This function asserts on the result before returning.

void GLTexCoord2fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord2fv.

This function asserts on the result before returning.

void GLTexCoord2h | ( | GLhalf | s,
 |  | GLhalf | t
 | ) | [inline]

Replacement of glTexCoord2hNV.

This function asserts on the result before returning.

void GLTexCoord2hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord2hv.

This function asserts on the result before returning.

void GLTexCoord2i | ( | GLint | s,
 |  | GLint | t
 | ) | [inline]

Replacement of glTexCoord2i.

This function asserts on the result before returning.

void GLTexCoord2iv ( const GLint * v ) [inline]

Replacement of glTexCoord2iv.

This function asserts on the result before returning.

void GLTexCoord2s | ( | GLshort | s,
 |  | GLshort | t
 | ) | [inline]

Replacement of glTexCoord2s.

This function asserts on the result before returning.

void GLTexCoord2sv ( const GLshort * v ) [inline]

Replacement of glTexCoord2sv.

This function asserts on the result before returning.

void GLTexCoord3d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r
 | ) | [inline]

Replacement of glTexCoord3d.

This function asserts on the result before returning.

void GLTexCoord3dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord3dv.

This function asserts on the result before returning.

void GLTexCoord3f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r
 | ) | [inline]

Replacement of glTexCoord3f.

This function asserts on the result before returning.

void GLTexCoord3fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord3fv.

This function asserts on the result before returning.

void GLTexCoord3h | ( | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r
 | ) | [inline]

Replacement of glTexCoord3hNV.

This function asserts on the result before returning.

void GLTexCoord3hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord3hv.

This function asserts on the result before returning.

void GLTexCoord3i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r
 | ) | [inline]

Replacement of glTexCoord3i.

This function asserts on the result before returning.

void GLTexCoord3iv ( const GLint * v ) [inline]

Replacement of glTexCoord3iv.

This function asserts on the result before returning.

void GLTexCoord3s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r
 | ) | [inline]

Replacement of glTexCoord3s.

This function asserts on the result before returning.

void GLTexCoord3sv ( const GLshort * v ) [inline]

Replacement of glTexCoord3sv.

This function asserts on the result before returning.

void GLTexCoord4d | ( | GLdouble | s,
 |  | GLdouble | t,
 |  | GLdouble | r,
 |  | GLdouble | q
 | ) | [inline]

Replacement of glTexCoord4d.

This function asserts on the result before returning.

void GLTexCoord4dv ( const GLdouble * v ) [inline]

Replacement of glTexCoord4dv.

This function asserts on the result before returning.

void GLTexCoord4f | ( | GLfloat | s,
 |  | GLfloat | t,
 |  | GLfloat | r,
 |  | GLfloat | q
 | ) | [inline]

Replacement of glTexCoord4f.

This function asserts on the result before returning.

void GLTexCoord4fv ( const GLfloat * v ) [inline]

Replacement of glTexCoord4fv.

This function asserts on the result before returning.

void GLTexCoord4h | ( | GLhalf | s,
 |  | GLhalf | t,
 |  | GLhalf | r,
 |  | GLhalf | q
 | ) | [inline]

Replacement of glTexCoord4hNV.

This function asserts on the result before returning.

void GLTexCoord4hv ( const GLhalf * v ) [inline]

Replacement of glTexCoord4hv.

This function asserts on the result before returning.

void GLTexCoord4i | ( | GLint | s,
 |  | GLint | t,
 |  | GLint | r,
 |  | GLint | q
 | ) | [inline]

Replacement of glTexCoord4i.

This function asserts on the result before returning.

void GLTexCoord4iv ( const GLint * v ) [inline]

Replacement of glTexCoord4iv.

This function asserts on the result before returning.

void GLTexCoord4s | ( | GLshort | s,
 |  | GLshort | t,
 |  | GLshort | r,
 |  | GLshort | q
 | ) | [inline]

Replacement of glTexCoord4s.

This function asserts on the result before returning.

void GLTexCoord4sv ( const GLshort * v ) [inline]

Replacement of glTexCoord4sv.

This function asserts on the result before returning.

void GLTexCoordPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glTexCoordPointer.

This function caches the tex coord pointer setting and asserts on the result before returning.

void GLTextureEnvColor ( const GLfloat * params ) [inline]

Cached version of GLTexEnvfv( GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params ).

This function caches the GL_TEXTURE_ENV_COLOR value of the active texture unit. It is faster to call this method instead of GLTexEnvfv(GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR, params) directly.

void GLTextureEnvMode ( GLint param ) [inline]

Cached version of GLTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param ).

This function caches the GL_TEXTURE_ENV_MODE value of the active texture unit. It is faster to call this method instead of GLTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, param) directly.

void GLTexEnvf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Cached version of glTexEnvf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexEnvfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of glTexEnvf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexEnvi | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Cached version of glTexEnvi( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexEnviv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Cached version of glTexEnviv( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexGend | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLdouble | param
 | ) | [inline]

Replacement of glTexGend.

This function updates the active texture and asserts on the result before returning.

void GLTexGenf | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Replacement of glTexGenf.

This function updates the active texture and asserts on the result before returning.

void GLTexGenfv | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | const GLfloat * | param
 | ) | [inline]

Replacement of glTexGenfv.

This function updates the active texture and asserts on the result before returning.

void GLTexGeni | ( | GLenum | coord,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Replacement of glTexGeni.

This function updates the active texture and asserts on the result before returning.

void GLTexImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexImage1D.

This function updates the active texture and asserts on the result before returning.

void GLTexImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLint | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexImage2D.

This function updates the active texture and asserts on the result before returning.

void GLTexImage3D | ( | GLenum | target,
 |  | int | level,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | int | border,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const void * | pixels
 | ) | [inline]

Replacement of glTexImage3D.

This function hides the extension character of glTexImage3D, updates the active texture, and asserts on the result before returning.

void GLTextureBorderColor | ( | GLenum | target,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of GLTexParameterfv( target, GL_TEXTURE_BORDER_COLOR, params ).

This function caches the GL_TEXTURE_BORDER_COLOR values of the texture currently bound to target. It is faster to call this method instead of GLTexParameterfv(target, GL_TEXTURE_BORDER_COLOR, params) directly.

void GLTextureMagFilter | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_MAG_FILTER, param ).

This function caches the GL_TEXTURE_MAG_FILTER values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_MAG_FILTER, param) directly.

void GLTextureMinFilter | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_MIN_FILTER, param ).

This function caches the GL_TEXTURE_MIN_FILTER values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_MIN_FILTER, param) directly.

void GLTextureWrapR | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_R, param ).

This function caches the GL_TEXTURE_WRAP_R values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_R, param) directly.

void GLTextureWrapS | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_S, param ).

This function caches the GL_TEXTURE_WRAP_S values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_S, param) directly.

void GLTextureWrapT | ( | GLenum | target,
 |  | GLint | param
 | ) | [inline]

Cached version of GLTexParameteri( target, GL_TEXTURE_WRAP_T, param ).

This function caches the GL_TEXTURE_WRAP_T values of the texture currently bound to target. It is faster to call this method instead of GLTexParameteri(target, GL_TEXTURE_WRAP_T, param) directly.

void GLTrackMatrix | ( | GLenum | target,
 |  | GLuint | address,
 |  | GLenum | matrix,
 |  | GLenum | transform
 | ) | [inline]

Cached version of glTrackMatrixNV.

This function asserts on the result before returning.

void GLTransformFeedbackAttribsNV | ( | GLuint | count,
 |  | const GLint * | attribs,
 |  | GLenum | bufferMode
 | ) | [inline]

Cached version of glTransformFeedbackAttribsNV.

This function asserts on the result before returning.

void GLTransformFeedbackVaryingsNV | ( | GLuint | program,
 |  | GLsizei | count,
 |  | const GLint * | varyings,
 |  | GLenum | bufferMode
 | ) | [inline]

Cached version of glTransformFeedbackVaryingsNV.

This function asserts on the result before returning.

void GLTransformFeedbackVaryings | ( | GLuint | program,
 |  | GLsizei | count,
 |  | const GLchar ** | varyings,
 |  | GLenum | bufferMode
 | ) | [inline]

Cached version of glTransformFeedbackVaryings.

This function asserts on the result before returning.

void GLTexParameterf | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLfloat | param
 | ) | [inline]

Cached version of glTexParameterf( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexParameterfv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLfloat * | params
 | ) | [inline]

Cached version of glTexParameterfv( target, pname, params ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexParameteri | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint | param
 | ) | [inline]

Cached version of glTexParameteri( target, pname, param ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexParameterIiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Replacement of glTexParameterIivEXT.

This function asserts on the result before returning.

void GLTexParameterIuiv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLuint * | params
 | ) | [inline]

Replacement of glTexParameterIuivEXT.

This function asserts on the result before returning.

void GLTexParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | const GLint * | params
 | ) | [inline]

Cached version of glTexParameteriv( target, pname, params ).

This function caches some of the texture environment parameters and asserts on the result before returning.

void GLTexSubImage1D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLsizei | width,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImage1D.

This function updates the active texture and asserts on the result before returning.

void GLTexSubImage2D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImage2D.

This function updates the active texture and asserts on the result before returning.

void GLTexSubImage3D | ( | GLenum | target,
 |  | GLint | level,
 |  | GLint | xoffset,
 |  | GLint | yoffset,
 |  | GLint | zoffset,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLenum | format,
 |  | GLenum | type,
 |  | const GLvoid * | pixels
 | ) | [inline]

Replacement of glTexSubImage3D.

This function updates the active texture and asserts on the result before returning.

void GLTranslated | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glTranslated.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLTranslatef | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glTranslatef.

This function updates the active texture if the matrix mode is GL_TEXTURE and asserts on the result before returning.

void GLVertex2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glVertex2d.

This function asserts on the result before returning.

void GLVertex2dv ( const GLdouble * v ) [inline]

Replacement of glVertex2dv.

This function asserts on the result before returning.

void GLVertex2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glVertex2f.

This function asserts on the result before returning.

void GLVertex2fv ( const GLfloat * v ) [inline]

Replacement of glVertex2fv.

This function asserts on the result before returning.

void GLVertex2h | ( | GLhalf | x,
 |  | GLhalf | y
 | ) | [inline]

Replacement of glVertex2hNV.

This function asserts on the result before returning.

void GLVertex2hv ( const GLhalf * v ) [inline]

Replacement of glVertex2hv.

This function asserts on the result before returning.

void GLVertex2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glVertex2i.

This function asserts on the result before returning.

void GLVertex2iv ( const GLint * v ) [inline]

Replacement of glVertex2iv.

This function asserts on the result before returning.

void GLVertex2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glVertex2s.

This function asserts on the result before returning.

void GLVertex2sv ( const GLshort * v ) [inline]

Replacement of glVertex2sv.

This function asserts on the result before returning.

void GLVertex3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glVertex3d.

This function asserts on the result before returning.

void GLVertex3dv ( const GLdouble * v ) [inline]

Replacement of glVertex3dv.

This function asserts on the result before returning.

void GLVertex3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glVertex3f.

This function asserts on the result before returning.

void GLVertex3fv ( const GLfloat * v ) [inline]

Replacement of glVertex3fv.

This function asserts on the result before returning.

void GLVertex3h | ( | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z
 | ) | [inline]

Replacement of glVertex3hNV.

This function asserts on the result before returning.

void GLVertex3hv ( const GLhalf * v ) [inline]

Replacement of glVertex3hv.

This function asserts on the result before returning.

void GLVertex3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glVertex3i.

This function asserts on the result before returning.

void GLVertex3iv ( const GLint * v ) [inline]

Replacement of glVertex3iv.

This function asserts on the result before returning.

void GLVertex3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glVertex3s.

This function asserts on the result before returning.

void GLVertex3sv ( const GLshort * v ) [inline]

Replacement of glVertex3sv.

This function asserts on the result before returning.

void GLVertex4d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glVertex4d.

This function asserts on the result before returning.

void GLVertex4dv ( const GLdouble * v ) [inline]

Replacement of glVertex4dv.

This function asserts on the result before returning.

void GLVertex4f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glVertex4f.

This function asserts on the result before returning.

void GLVertex4fv ( const GLfloat * v ) [inline]

Replacement of glVertex4fv.

This function asserts on the result before returning.

void GLVertex4h | ( | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z,
 |  | GLhalf | w
 | ) | [inline]

Replacement of glVertex4hNV.

This function asserts on the result before returning.

void GLVertex4hv ( const GLhalf * v ) [inline]

Replacement of glVertex4hv.

This function asserts on the result before returning.

void GLVertex4i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glVertex4i.

This function asserts on the result before returning.

void GLVertex4iv ( const GLint * v ) [inline]

Replacement of glVertex4iv.

This function asserts on the result before returning.

void GLVertex4s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glVertex4s.

This function asserts on the result before returning.

void GLVertex4sv ( const GLshort * v ) [inline]

Replacement of glVertex4sv.

This function asserts on the result before returning.

void GLVertexArrayRange | ( | GLsizei | size,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexArrayRange.

This function asserts on the result before returning.

void GLVertexAttrib1d | ( | GLuint | index,
 |  | GLdouble | x
 | ) | [inline]

Replacement of glVertexAttrib1d.

void GLVertexAttrib1dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib1dv.

void GLVertexAttrib1f | ( | GLuint | index,
 |  | GLfloat | x
 | ) | [inline]

Replacement of glVertexAttrib1f.

void GLVertexAttrib1fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib1fv.

void GLVertexAttrib1h | ( | GLuint | index,
 |  | GLhalf | x
 | ) | [inline]

Replacement of glVertexAttrib1h.

void GLVertexAttrib1hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib1nv.

void GLVertexAttrib1s | ( | GLuint | index,
 |  | GLshort | x
 | ) | [inline]

Replacement of glVertexAttrib1s.

void GLVertexAttrib1sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib1sv.

void GLVertexAttrib2d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glVertexAttrib2d.

void GLVertexAttrib2dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib2dv.

void GLVertexAttrib2f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glVertexAttrib2f.

void GLVertexAttrib2fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib2fv.

void GLVertexAttrib2h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y
 | ) | [inline]

Replacement of glVertexAttrib2h.

void GLVertexAttrib2hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib2hv.

void GLVertexAttrib2s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glVertexAttrib2s.

void GLVertexAttrib2sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib2sv.

void GLVertexAttrib3d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glVertexAttrib3d.

void GLVertexAttrib3dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib3dv.

void GLVertexAttrib3f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glVertexAttrib3f.

void GLVertexAttrib3fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib3fv.

void GLVertexAttrib3h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z
 | ) | [inline]

Replacement of glVertexAttrib3h.

void GLVertexAttrib3hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib3hv.

void GLVertexAttrib3s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glVertexAttrib3s.

void GLVertexAttrib3sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib3sv.

void GLVertexAttrib4bv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [inline]

Replacement of glVertexAttrib3bv.

void GLVertexAttrib4d | ( | GLuint | index,
 |  | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z,
 |  | GLdouble | w
 | ) | [inline]

Replacement of glVertexAttrib4d.

void GLVertexAttrib4dv | ( | GLuint | index,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttrib4dv.

void GLVertexAttrib4f | ( | GLuint | index,
 |  | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z,
 |  | GLfloat | w
 | ) | [inline]

Replacement of glVertexAttrib4f.

void GLVertexAttrib4fv | ( | GLuint | index,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttrib4fv.

void GLVertexAttrib4h | ( | GLuint | index,
 |  | GLhalf | x,
 |  | GLhalf | y,
 |  | GLhalf | z,
 |  | GLhalf | w
 | ) | [inline]

Replacement of glVertexAttrib4h.

void GLVertexAttrib4hv | ( | GLuint | index,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttrib4hv.

void GLVertexAttrib4iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttrib4iv.

void GLVertexAttrib4s | ( | GLuint | index,
 |  | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z,
 |  | GLshort | w
 | ) | [inline]

Replacement of glVertexAttrib4s.

void GLVertexAttrib4sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib4sv.

void GLVertexAttrib4ub | ( | GLuint | index,
 |  | GLubyte | x,
 |  | GLubyte | y,
 |  | GLubyte | z,
 |  | GLubyte | w
 | ) | [inline]

Replacement of glVertexAttrib4ub.

void GLVertexAttrib4ubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttrib4ubv.

void GLVertexAttrib4uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttrib4uiv.

void GLVertexAttrib4usv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [inline]

Replacement of glVertexAttrib4usv.

void GLVertexAttrib4Nbv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nbv.

void GLVertexAttrib4Niv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttrib4Niv.

void GLVertexAttrib4Nsv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nsv.

void GLVertexAttrib4Nub | ( | GLuint | index,
 |  | GLubyte | x,
 |  | GLubyte | y,
 |  | GLubyte | z,
 |  | GLubyte | w
 | ) | [inline]

Replacement of glVertexAttrib4Nub.

void GLVertexAttrib4Nubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nubv.

void GLVertexAttrib4Nuiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nuiv.

void GLVertexAttrib4Nusv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [inline]

Replacement of glVertexAttrib4Nusv.

void GLVertexAttribI1i | ( | GLuint | index,
 |  | GLint | x
 | ) | [inline]

Replacement of glVertexAttribI1iEXT.

void GLVertexAttribI2i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glVertexAttribI2iEXT.

void GLVertexAttribI3i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glVertexAttribI3iEXT.

void GLVertexAttribI4i | ( | GLuint | index,
 |  | GLint | x,
 |  | GLint | y,
 |  | GLint | z,
 |  | GLint | w
 | ) | [inline]

Replacement of glVertexAttribI4iEXT.

void GLVertexAttribI1ui | ( | GLuint | index,
 |  | GLuint | x
 | ) | [inline]

Replacement of glVertexAttribI1uiExt.

void GLVertexAttribI2ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y
 | ) | [inline]

Replacement of glVertexAttribI2uiExt.

void GLVertexAttribI3ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z
 | ) | [inline]

Replacement of glVertexAttribI3uiExt.

void GLVertexAttribI4ui | ( | GLuint | index,
 |  | GLuint | x,
 |  | GLuint | y,
 |  | GLuint | z,
 |  | GLuint | w
 | ) | [inline]

Replacement of glVertexAttribI4uiExt.

void GLVertexAttribI1iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI1ivEXT.

void GLVertexAttribI2iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI2ivEXT.

void GLVertexAttribI3iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI3ivEXT.

void GLVertexAttribI4iv | ( | GLuint | index,
 |  | const GLint * | v
 | ) | [inline]

Replacement of glVertexAttribI4ivEXT.

void GLVertexAttribI1uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI1iuvEXT.

void GLVertexAttribI2uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI2uivEXT.

void GLVertexAttribI3uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI3uivEXT.

void GLVertexAttribI4uiv | ( | GLuint | index,
 |  | const GLuint * | v
 | ) | [inline]

Replacement of glVertexAttribI4uivEXT.

void GLVertexAttribI4bv | ( | GLuint | index,
 |  | const GLbyte * | v
 | ) | [inline]

Replacement of glVertexAttribI4bvEXT.

void GLVertexAttribI4ubv | ( | GLuint | index,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttribI4ubvEXT.

void GLVertexAttribI4sv | ( | GLuint | index,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribI4svEXT.

void GLVertexAttribI4usv | ( | GLuint | index,
 |  | const GLushort * | v
 | ) | [inline]

Replacement of glVertexAttribI4usvEXT.

void GLVertexAttribIPointer | ( | GLuint | index,
 |  | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexAttribIPointerEXT.

void GLVertexAttribPointer | ( | GLuint | index,
 |  | GLint | size,
 |  | GLenum | type,
 |  | GLboolean | normalize,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexAttribPointer.

void GLVertexAttribPointerNV | ( | GLuint | index,
 |  | GLint | fsize,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexAttribPointerNV.

void GLVertexAttribs1dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs1dvNV.

void GLVertexAttribs1fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs1fvNV.

void GLVertexAttribs1hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs1hv.

void GLVertexAttribs1svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs1svNV.

void GLVertexAttribs2dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs2dvNV.

void GLVertexAttribs2fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs2fvNV.

void GLVertexAttribs2hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs2hv.

void GLVertexAttribs2svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs2svNV.

void GLVertexAttribs3dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs3dvNV.

void GLVertexAttribs3fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs3fvNV.

void GLVertexAttribs3hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs3hv.

void GLVertexAttribs3svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs3svNV.

void GLVertexAttribs4dvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLdouble * | v
 | ) | [inline]

Replacement of glVertexAttribs4dvNV.

void GLVertexAttribs4fvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLfloat * | v
 | ) | [inline]

Replacement of glVertexAttribs4fvNV.

void GLVertexAttribs4hv | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLhalf * | v
 | ) | [inline]

Replacement of glVertexAttribs4hv.

void GLVertexAttribs4svNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLshort * | v
 | ) | [inline]

Replacement of glVertexAttribs4svNV.

void GLVertexAttribs4ubvNV | ( | GLuint | index,
 |  | GLsizei | count,
 |  | const GLubyte * | v
 | ) | [inline]

Replacement of glVertexAttribs4svNV.

void GLVertexPointer | ( | GLint | size,
 |  | GLenum | type,
 |  | GLsizei | stride,
 |  | const GLvoid * | pointer
 | ) | [inline]

Replacement of glVertexPointer.

This function caches the vertex pointer setting and asserts on the result before returning.

void GLViewport | ( | GLint | x,
 |  | GLint | y,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glViewport.

This function asserts on the result before returning.

void GLWindowPos2d | ( | GLdouble | x,
 |  | GLdouble | y
 | ) | [inline]

Replacement of glWindowPos2d.

This function asserts on the result before returning.

void GLWindowPos2dv ( const GLdouble * p ) [inline]

Replacement of glWindowPos2dv.

This function asserts on the result before returning.

void GLWindowPos2f | ( | GLfloat | x,
 |  | GLfloat | y
 | ) | [inline]

Replacement of glWindowPos2f.

This function asserts on the result before returning.

void GLWindowPos2fv ( const GLfloat * p ) [inline]

Replacement of glWindowPos2fv.

This function asserts on the result before returning.

void GLWindowPos2i | ( | GLint | x,
 |  | GLint | y
 | ) | [inline]

Replacement of glWindowPos2i.

This function asserts on the result before returning.

void GLWindowPos2iv ( const GLint * p ) [inline]

Replacement of glWindowPos2iv.

This function asserts on the result before returning.

void GLWindowPos2s | ( | GLshort | x,
 |  | GLshort | y
 | ) | [inline]

Replacement of glWindowPos2s.

This function asserts on the result before returning.

void GLWindowPos2sv ( const GLshort * p ) [inline]

Replacement of glWindowPos2sv.

This function asserts on the result before returning.

void GLWindowPos3d | ( | GLdouble | x,
 |  | GLdouble | y,
 |  | GLdouble | z
 | ) | [inline]

Replacement of glWindowPos3d.

This function asserts on the result before returning.

void GLWindowPos3dv ( const GLdouble * p ) [inline]

Replacement of glWindowPos3dv.

This function asserts on the result before returning.

void GLWindowPos3f | ( | GLfloat | x,
 |  | GLfloat | y,
 |  | GLfloat | z
 | ) | [inline]

Replacement of glWindowPos3f.

This function asserts on the result before returning.

void GLWindowPos3fv ( const GLfloat * p ) [inline]

Replacement of glWindowPos3fv.

This function asserts on the result before returning.

void GLWindowPos3i | ( | GLint | x,
 |  | GLint | y,
 |  | GLint | z
 | ) | [inline]

Replacement of glWindowPos3i.

This function asserts on the result before returning.

void GLWindowPos3iv ( const GLint * p ) [inline]

Replacement of glWindowPos3iv.

This function asserts on the result before returning.

void GLWindowPos3s | ( | GLshort | x,
 |  | GLshort | y,
 |  | GLshort | z
 | ) | [inline]

Replacement of glWindowPos3s.

This function asserts on the result before returning.

void GLWindowPos3sv ( const GLshort * p ) [inline]

Replacement of glWindowPos3sv.

This function asserts on the result before returning.

GLvoid* GLMapBufferRange | ( | GLenum | target,
 |  | GLintptr | offset,
 |  | GLsizeiptr | length,
 |  | GLbitfield | access
 | ) | [inline]

Maps a range within the buffer to client space.

Parameters:
target | The target buffer to map.
offset | Memory offset into the buffer in bytes.
length | Mapped memory range in bytes.
access | Bitfield that encodes the type of map (read/write).
Returns:
pointer to mapped memory range.
Note:
It is assumed that the extension GL_ARB_map_buffer_range is supported.

This function asserts on no GL error.

See also:
GLBindBuffer, GLUnmapBuffer, GLFlushMappedBufferRange

void GLFlushMappedBufferRange | ( | GLenum | target,
 |  | GLintptr | offset,
 |  | GLsizeiptr | length
 | ) | [inline]

Marks the range of the mapped buffer as ready to use by GL. When a buffer was mapped with GLMapBufferRange and the manual flush bit was set, this function allows to mark the range valid. Once valid, other GL operations depending on the specified memory range can proceed.

Parameters:
target | The target buffer to map.
offset | Memory offset into the buffer in bytes.
length | Memory size in bytes.
Note:
It is assumed that the extension GL_ARB_map_buffer_range is supported.

This function asserts on no GL error.

See also:
GLBindBuffer, GLMapBufferRange

void GLCopyBufferSubData | ( | GLenum | readTarget,
 |  | GLenum | writeTarget,
 |  | GLintptr | readOffset,
 |  | GLintptr | writeOffset,
 |  | GLsizeiptr | size
 | ) | [inline]

Allows direct memory copy between buffer objects.

Parameters:
readTarget | The target buffer to read from.
writeTarget | The target buffer to write to.
readOffset | Memory offset into the read buffer in bytes.
writeOffset | Memory offset into the write buffer in bytes.
size | The memory size in bytes.
Note:
It is assumed that the extension GL_ARB_copy_buffer is supported.

This function asserts on no GL error.

See also:
GLBindBuffer

void GLTexImage2DMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLboolean | fixedsamplelocations
 | ) | [inline]

Establishes data storage for multi-sampled textures.

Parameters:
target | The texture target
samples | The number of samples per pixel.
internalformat | The internal format for the texture must be color-renderable, depth-renderable, or stencil-renderable.
width.
height.
fixedsamplelocations | If true the sample locations will be fixed and independent of the internal format.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage3DMultisample, GLGetMultisamplefv, GLSampleMaski

void GLTexImage3DMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLint | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height,
 |  | GLsizei | depth,
 |  | GLboolean | fixedsamplelocations
 | ) | [inline]

Establishes data storage for multi-sampled textures.

Parameters:
target | The texture target
samples | The number of samples per pixel.
internalformat | The internal format for the texture must be color-renderable, depth-renderable, or stencil-renderable.
width.
height.
depth.
fixedsamplelocations | If true the sample locations will be fixed and independent of the internal format.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLGetMultisamplefv, GLSampleMaski

void GLGetMultisamplefv | ( | GLenum | pname,
 |  | GLuint | index,
 |  | GLfloat * | val
 | ) | [inline]

Allows to retrieve the sample location.

Parameters:
pname | must be GL_SAMPLE_POSITION
index | The sample for which the location should be retrieved.
val | must point to a float[2] which will hold the x and y location of the sample, (0.5,0.5) being a pixel center.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLTexImage3DMultisample, GLSampleMaski

void GLSampleMaski | ( | GLuint | maskNumber,
 |  | GLbitfield | maskBits
 | ) | [inline]

When GL_SAMPLE_MASK is enabled this function allows to specify the mask the fragment coverage is ANDed with.

Parameters:
maskNumber | The mask number M.
maskBits | Bit B of mask M corresponds to sample 32*M+B.
Note:
It is assumed that the extension GL_ARB_texture_multisample is supported.

This function asserts on no GL error.

See also:
GLTexImage2DMultisample, GLTexImage3DMultisample, GLGetMultisamplefv

GLboolean GLIsRenderbuffer ( GLuint renderbuffer ) [inline]

Replacement of glIsRenderbufferEXT.

Parameters:
renderbuffer The id to test.
Returns:
TRUE, if renderbuffer is the id of a render buffer, otherwise FALSE.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLBindRenderbuffer | ( | GLenum | target,
 |  | GLuint | renderbuffer
 | ) | [inline]

Replacement of glBindRenderbufferEXT.

Parameters:
target | The id of the target to bind the render buffer to. Must be GL_RENDERBUFFER_EXT.
renderbuffer | The id of the unused render buffer to bind.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLDeleteRenderbuffers | ( | GLsizei | n,
 |  | const GLuint * | renderbuffers
 | ) | [inline]

Replacement of glDeleteRenderbuffersEXT.

Parameters:
n | The number of render buffer ids to delete.
renderbuffers | A pointer to the render buffer ids to delete.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLGenRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLGenRenderbuffers | ( | GLsizei | n,
 |  | GLuint * | renderbuffers
 | ) | [inline]

Replacement of glGenRenderbuffersEXT.

Parameters:
n | The number of render buffer ids to generate.
renderbuffers | A pointer to the memory to fill with the generated render buffer ids.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLRenderbufferStorage, GLGetRenderbufferParameteriv

void GLRenderbufferStorage | ( | GLenum | target,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glRenderbufferStorageEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv

void GLRenderbufferStorageMultisample | ( | GLenum | target,
 |  | GLsizei | samples,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glRenderbufferStorageMultisampleEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
samples | Is the number of multisample buffers you wish to allocate.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_EXT_framebuffer_multisample is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv, GLRenderbufferStorage, GLRenderbufferStorageMultisampleCoverage

void GLRenderbufferStorageMultisampleCoverage | ( | GLenum | target,
 |  | GLsizei | coverageSamples,
 |  | GLsizei | colorSamples,
 |  | GLenum | internalformat,
 |  | GLsizei | width,
 |  | GLsizei | height
 | ) | [inline]

Replacement of glRenderbufferStorageMultisampleCoverageNV.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
coverageSamples | Is the number of pseudo multisample buffers to allocate.
colorSamples | Is the number of multisample buffers to allocate.
internalformat | Must be color-renderable, depth-renderable, or stencil-renderable.
width | The width of the render buffer in pixels.
height | The height of the render buffer in pixels.
Note:
It is assumed that the extension GL_NV_framebuffer_multisample_coverage is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLGetRenderbufferParameteriv, GLRenderbufferStorage, GLRenderbufferStorageMultisampleCoverage

void GLGetRenderbufferParameteriv | ( | GLenum | target,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetRenderbufferParameterivEXT.

Parameters:
target | Must be GL_RENDERBUFFER_EXT.
pname | The id of the value to get.
params | Pointer to the memory to write the queried value to.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsRenderbuffer, GLBindRenderbuffer, GLDeleteRenderbuffers, GLGenRenderbuffers, GLRenderbufferStorage

GLboolean GLIsFramebuffer ( GLuint framebuffer ) [inline]

Replacement of glIsFramebufferEXT.

Parameters:
framebuffer The id to test.
Returns:
TRUE, if framebuffer is the id of a frame buffer, otherwise FALSE.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLBindFramebuffer | ( | GLenum | target,
 |  | GLuint | framebuffer
 | ) | [inline]

Replacement of glBindFramebufferEXT.

Parameters:
target | The id of the target to bind the frame buffer to. Must be GL_FRAMEBUFFER_EXT.
framebuffer | The id of the unused frame buffer to bind.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLDeleteFramebuffers | ( | GLsizei | n,
 |  | const GLuint * | framebuffers
 | ) | [inline]

Replacement of glDeleteFramebuffersEXT.

Parameters:
n | The number of frame buffer ids to delete.
framebuffers | A pointer to the frame buffer ids to delete.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLGenFramebuffers | ( | GLsizei | n,
 |  | GLuint * | framebuffers
 | ) | [inline]

Replacement of glGenFramebuffersEXT.

Parameters:
n | The number of frame buffer ids to generate.
framebuffers | A pointer to the memory to fill with the generated frame buffer ids.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

GLenum GLCheckFramebufferStatus ( GLenum target ) [inline]

Replacement of glCheckFramebufferStatusEXT.

Parameters:
target Must be GL_FRAMEBUFFER_EXT.
Returns:
A symbolic value describing the frame buffer status.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTexture1D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [inline]

Replacement of glFramebufferTexture1DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTexture2D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level
 | ) | [inline]

Replacement of glFramebufferTexture2DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture3D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTexture3D | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | textarget,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLint | zoffset
 | ) | [inline]

Replacement of glFramebufferTexture3DEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
textarget | The texture target.
texture | The id of an existing texture with an target of textarget.
level | The mipmap level of the texture image to be attached.
zoffset | Specifies the z-offset of a 2-dimensional image within a 3-dimensional texture.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTextureLayer GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferTextureLayer | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLuint | texture,
 |  | GLint | level,
 |  | GLint | layer
 | ) | [inline]

Replacement of glFramebufferTextureLayerEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
texture | The id of an existing texture.
level | The mipmap level of the texture image to be attached.
layer | Specifies the layer/slice of the texture array - or slice of 3D texture.
Note:
It is assumed that the extension GL_EXT_texture_array is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferRenderbuffer, GLGetFramebufferAttachmentParameteriv

void GLFramebufferRenderbuffer | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | renderbuffertarget,
 |  | GLuint | renderbuffer
 | ) | [inline]

Replacement of glFramebufferRenderbufferEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
renderbuffertarget | Must be GL_RENDERBUFFER_EXT.
renderbuffer | The id of the render buffer to be attached to the frame buffer.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLGetFramebufferAttachmentParameteriv

void GLGetFramebufferAttachmentParameteriv | ( | GLenum | target,
 |  | GLenum | attachment,
 |  | GLenum | pname,
 |  | GLint * | params
 | ) | [inline]

Replacement of glGetFramebufferAttachmentParameterivEXT.

Parameters:
target | Must be GL_FRAMEBUFFER_EXT.
attachment | One of the attachment points of the frame buffer.
pname | The symbolic values of the attachment parameters to query.
params | A pointer to the memory where result of the query is written to.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

See also:
GLIsFramebuffer, GLBindFramebuffer, GLDeleteFramebuffers, GLGenFramebuffers, GLCheckFramebufferStatus, GLFramebufferTexture1D, GLFramebufferTexture2D, GLFramebufferTexture3D, GLFramebufferRenderbuffer

void GLGenerateMipmap ( GLenum target ) [inline]

Replacement of glGenerateMipmapEXT.

Parameters:
target The symbolic value of the texture target to generate mipmaps for.
Note:
It is assumed that the extension GL_EXT_framebuffer_object is supported.

This function asserts on no GL error.

GLenum GLGetTexWrapMode ( nvsg::TextureWrapMode twm ) [inline]

Translate an nvsg::TextureWrapMode into a GL-specific texture wrap mode as a GLenum.

Parameters:
twm The TextureWrapMode to translate.
Returns:
The OpenGL-specific GLenum being a 'best match' of the nvsg::TextureWrapMode.

bool WGLInitializeExtensions ( void ) [inline]

Initialize the wgl-extension functions inside the WGLFunctions class.

Remarks:
This doesn't need to be called more than once from a hardware OpenGL context to make the extended wgl-interface functions available globally to the process (but it can handle being called more than once). The WGL-wrapper functions below don't depend on any GLContext. This returns false if the wglGetExtensionsStringEXT function pointer is not found.

bool WGLIsExtensionAvailable ( const std::string & extstr ) [inline]

Returns whether the specified wgl-extension is available.

Parameters:
extstr Designates the requested wgl-extension.
Returns:
The function returns true if the requested wgl-extension is available and if the corresponding function pointer are initialized properly. Otherwise the function returns false. The function always returns false if called prior to WGLInitializeExtensions.
Remarks:
WGLIsExtensionAvailable should not be called prior to WGLInitializeExtension. Doing so would be entirely meaningless and the function would always return false. It is recommended to test whether a requested wgl-extension is available on the current configuration prior to exploit the specified wgl-extension. Using a not available wgl-extension through the 'WGL' wrapper function provided by SceniX results in unexpected behavior.
See also:
WGLInitializeExtensions

bool WGLIsExtensionExported ( const std::string & extstr ) [inline]

Returns whether the specified wgl-extension is exported.

Parameters:
extstr Designates the requested wgl-extension.
Returns:
The function returns true if the requested wgl-extension is exported by the current configuration. Otherwise the function returns false. The function always returns false if called prior to WGLInitializeExtensions.
Remarks:
WGLIsExtensionExported should not be called prior to WGLInitializeExtension. Doing so would be entirely meaningless and the function would always return false. If a wgl-extension defines new functions, WGLIsExtensionAvailable should be called instead of WGLIsExtensionExported to ensure that all required function pointers are properly initialized.
See also:
WGLInitializeExtensions, WGLIsExtensionAvailable

BOOL WGLBindTexImage | ( | HPBUFFERARB | hPbuffer,
 |  | int | iBuffer
 | ) | [inline]

Replacement of wglBindTexImageARB.

This function hides the extension character of wglBindTexImageARB and asserts on its result before returning.

BOOL WGLChoosePixelFormat | ( | HDC | hdc,
 |  | const int * | piAttribIList,
 |  | const FLOAT * | pfAttribFList,
 |  | UINT | nMaxFormats,
 |  | int * | piFormats,
 |  | UINT * | nNumFormats
 | ) | [inline]

Replacement of wglChoosePixelFormatARB.

This function hides the extension character of wglChoosePixelFormatARB and asserts on its result before returning.

BOOL WGLGetPixelFormatAttribivARB | ( | HDC | hdc,
 |  | int | iPixelFormat,
 |  | int | iLayerPlane,
 |  | UINT | nAttributes,
 |  | const int * | piAttributes,
 |  | int * | piValues
 | ) | [inline]

Replacement of wglGetPixelFormatAttribivARB.

This function hides the extension character of wglGetPixelFormatAttribivARB and asserts on its result before returning.

BOOL WGLGetPixelFormatAttribfv | ( | HDC | hdc,
 |  | int | iPixelFormat,
 |  | int | iLayerPlane,
 |  | UINT | nAttributes,
 |  | const int * | piAttributes,
 |  | FLOAT * | pfValues
 | ) | [inline]

Replacement of wglGetPixelFormatAttribfvARB.

This function hides the extension character of wglGetPixelFormatAttribfvARB and asserts on its result before returning.

HGLRC WGLCreateContext ( HDC hdc ) [inline]

Replacement of wglCreateContext.

If this function is used in conjunction with WGLCreateContext, WGLMakeCurrent, and the functions with uppercase GL prefix, then the states and attributes are cached per context. Moreover, the extension functions of OpenGL are used per context (as they really should!).

HPBUFFERARB WGLCreatePbuffer | ( | HDC | hdc,
 |  | int | pixelFormat,
 |  | int | width,
 |  | int | height,
 |  | const int * | attribList
 | ) | [inline]

Replacement of wglCreatePbufferARB.

This function hides the extension character of wglCreatePbufferARB.

Note:
The creation of a PBuffer might fail dependent on available hardware resources. In this case a NULL handle will be returned.

BOOL WGLDeleteContext ( HGLRC hglrc ) [inline]

Replacement of wglDeleteContext.

If this function is used in conjunction with WGLDeleteContext, WGLMakeCurrent, and functions with uppercase 'GL' prefix, the states and attributes are cached per context. Moreover, OpenGL extension functions are used per context (as they really should!).

BOOL WGLDestroyPbuffer ( HPBUFFERARB hPbuffer ) [inline]

Replacement of wglDestroyPbufferARB.

This function hides the extension character of wglDestroyPbufferARB and asserts on its result before returning.

HGLRC WGLGetCurrentContext ( void ) [inline]

Replacement for wglGetCurrenContext.

The function obtains a handle to the current OpenGL rendering context of the calling thread.

Returns:
A handle to the current OpenGL context of the calling thread, or NULL if the calling thread has no current OpenGL context.

HDC WGLGetCurrentDC ( void ) [inline]

Replacement for wglGetCurrentDC.

The function obtains a handle to the device context that is associated with the current OpenGL rendering context of the calling thread.

Returns:
A handle to the device context which is currently associated with the current OpenGL context of the calling thread by means of WGLMakeCurrent, or NULL if the calling thread has no current OpenGL context.

HDC WGLGetPbufferDC ( HPBUFFERARB hPbuffer ) [inline]

Replacement of wglGetPbufferDCARB.

This function hides the extension character of wglGetPbufferDCARB and asserts on its result before returning.

BOOL WGLQueryPbuffer | ( | HPBUFFERARB | hPbuffer,
 |  | int | attribute,
 |  | int * | value
 | ) | [inline]

Replacement of wglQueryPbufferARB.

This function hides the extension character of wglQueryPbufferARB and asserts on its result before returning.

int WGLReleasePbufferDC | ( | HPBUFFERARB | hPbuffer,
 |  | HDC | hdc
 | ) | [inline]

Replacement of wglReleasePbufferDCARB.

This function hides the extension character of wglReleasePbufferDCARB and asserts on its result before returning.

BOOL WGLReleaseTexImage | ( | HPBUFFERARB | hPbuffer,
 |  | int | iBuffer
 | ) | [inline]

Replacement of wglReleaseTexImageARB.

This function hides the extension character of wglReleaseTexImageARB and asserts on its result before returning.

BOOL WGLJoinSwapGroupNV | ( | HDC | hDC,
 |  | GLuint | group
 | ) | [inline]

Replacement of wglJointSwapGroupNV.

BOOL WGLBindSwapBarrierNV | ( | GLuint | group,
 |  | GLuint | barrier
 | ) | [inline]

Replacement of wglBindSwapBarrierNV.

BOOL WGLQuerySwapGroupNV | ( | HDC | hDC,
 |  | GLuint * | group,
 |  | GLuint * | barrier
 | ) | [inline]

Replacement of wglQuerySwapGroupNV.

BOOL WGLQueryMaxSwapGroupsNV | ( | HDC | hDC,
 |  | GLuint * | maxGroups,
 |  | GLuint * | maxBarriers
 | ) | [inline]

Replacement of wglQueryMaxSwapGroupsNV.

BOOL WGLQueryFrameCountNV | ( | HDC | hDC,
 |  | GLuint * | count
 | ) | [inline]

Replacement of wglQueryFrameCountNV.

BOOL WGLResetFrameCountNV ( HDC hDC ) [inline]

Replacement of wglResetFrameCountNV.

BOOL WGLEnumGpus | ( | UINT | iIndex,
 |  | HGPUNV * | hGpu
 | ) | [inline]

Replacement of wglEnumGpusNV.

BOOL WGLEnumGpuDevices | ( | HGPUNV | hGpu,
 |  | UINT | iIndex,
 |  | PGPU_DEVICE | pGpuDevice
 | ) | [inline]

Replacement of wglEnumGpuDevicesNV.

HDC WGLCreateAffinityDC ( const HGPUNV * pGpuList ) [inline]

Replacement for wglCreateAffinityDVNV.

BOOL WGLEnumGpusFromAffinityDC | ( | HDC | hAffinityDC,
 |  | UINT | iIndex,
 |  | HGPUNV * | hGpu
 | ) | [inline]

Replacement for wglEnumGpusFromAffinityDCNV.

BOOL WGLDeleteDC ( HDC hAffinityDC ) [inline]

Replacement for wglDeleteDCNV.

BOOL WGLSwapInterval ( int interval ) [inline]

Replacement for wglSwapIntervalEXT.

int WGLGetSwapInterval ( void ) [inline]

Replacement for wglGetSwapIntervalEXT.

BOOL WGLGetVideoDevice | ( | HDC | hDC,
 |  | INT | iVideoStreams,
 |  | HPVIDEODEVICE * | phpVideoDevice
 | ) | [inline]

Replacement for wglGetVideoDeviceNV.

BOOL WGLReleaseVideoDevice ( HPVIDEODEVICE hpVideoDevice ) [inline]

Replacement for wglReleaseVideoDeviceNV.

BOOL WGLBindVideoImage | ( | HPVIDEODEVICE | hpVideoDevice,
 |  | HPBUFFERARB | hPbuffer,
 |  | INT | iVideoBuffer
 | ) | [inline]

Replacement for wglBindVideoImageNV.

BOOL WGLReleaseVideoImage | ( | HPBUFFERARB | hPbuffer,
 |  | INT | iVideoBuffer
 | ) | [inline]

Replacement for wglReleaseVideoImageNV.

BOOL WGLSendPbufferToVideo | ( | HPBUFFERARB | hPbuffer,
 |  | INT | iBufferType,
 |  | unsigned long * | pulCounterPbuffer,
 |  | BOOL | bBlock
 | ) | [inline]

Replacement for wglSendPbufferToVideoNV.

BOOL WGLGetVideoInfo | ( | HPVIDEODEVICE | hpVideoDevice,
 |  | unsigned long * | pulCounterOutputVideo,
 |  | unsigned long * | pulCounterOutputPbuffer
 | ) | [inline]

Replacement for wglGetVideoInfoNV.

int WGLEnumerateVideoDevicesNV | ( | HDC | hDC,
 |  | HVIDEOOUTPUTDEVICENV * | phDeviceList
 | ) | [inline]

Replacement for wglEnumerateVideoDevicesNV.

BOOL WGLBindVideoDeviceNV | ( | HDC | hDC,
 |  | unsigned int | uVideoSlot,
 |  | HVIDEOOUTPUTDEVICENV | hVideoDevice,
 |  | const int * | piAttribList
 | ) | [inline]

Replacement for wglBindVideoDeviceNV.

BOOL WGLQueryCurrentContextNV | ( | int | iAttribute,
 |  | int * | piValue
 | ) | [inline]

Replacement for wglQueryCurrentContextNV.

bool GLXInitializeExtensions ( Display * dpy ) [inline]

Initialize the glx-extension functions inside the GLXFunctions class.

Remarks:
This doesn't need to be called more than once from a hardware OpenGL context to make the extended glx-interface functions available globally to the process (but it can handle being called more than once). The GLX-wrapper functions below don't depend on any GLContext. This function returns false if dpy is NULL.

bool GLXIsExtensionAvailable ( const std::string & extstr ) [inline]

Returns whether the specified glx-extension is available.

Parameters:
extstr Designates the requested glx-extension.
Returns:
The function returns true if the requested glx-extension is available and if the corresponding function pointer are initialized properly. Otherwise the function returns false. The function always returns false if called prior to GLXInitializeExtensions.
Remarks:
GLXIsExtensionAvailable should not be called prior to GLXInitializeExtension. Doing so would be entirely meaningless and the function would always return false. It is recommended to test whether a requested glx-extension is available on the current configuration prior to exploit the specified glx-extension. Using a not available glx-extension through the 'GLX' wrapper function provided by SceniX results in unexpected behavior.
See also:
GLXInitializeExtensions

bool GLXIsExtensionExported ( const std::string & extstr ) [inline]

Returns whether the specified glx-extension is exported.

Parameters:
extstr Designates the requested glx-extension.
Returns:
The function returns true if the requested glx-extension is exported by the current configuration. Otherwise the function returns false. The function always returns false if called prior to GLXInitializeExtensions.
Remarks:
GLXIsExtensionExported should not be called prior to GLXInitializeExtension. Doing so would be entirely meaningless and the function would always return false. If a glx-extension defines new functions, GLXIsExtensionAvailable should be called instead of GLXIsExtensionExported to ensure that all required function pointers are properly initialized.
See also:
GLXInitializeExtensions, GLXIsExtensionAvailable

GLXContext GLXCreateContext | ( | Display * | dpy,
 |  | XVisualInfo * | vis,
 |  | GLXContext | shareList,
 |  | Bool | direct
 | ) | [inline]

Replacement of glXCreateContext.

void GLXDestroyContext | ( | Display * | dpy,
 |  | GLXContext | ctx
 | ) | [inline]

Replacement of glXDestroyContext.

GLXContext GLXGetCurrentContext ( ) [inline]

Replacement of glXGetCurrentContext.

GLXDrawable GLXGetCurrentDrawable ( ) [inline]

Replacement of glXGetCurrentDrawable.

NVSG_API void GLGenVertexBuffer | ( | GLenum | target,
 |  | GLsizeiptr | size,
 |  | GLuint * | buffer
 | ) |

Generates a vertex buffer of requested size.

The function creates a buffer object for vertex data and returns the buffer identifier in the buffer pointed to by buffer.

NVSG_API void GLGenIndexBuffer | ( | GLenum | target,
 |  | GLsizeiptr | size,
 |  | GLuint * | buffer
 | ) |

Generates an index buffer of requested size.

The function creates a buffer object for index data and returns the buffer identifier in the buffer pointed to by buffer.

NVSG_API void GLDeleteVertexBuffer ( GLuint buffer )

Deletes a vertex buffer.

The function deletes the buffer object identified by buffer. The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

NVSG_API void GLDeleteIndexBuffer ( GLuint buffer )

Deletes an index buffer.

The function deletes the buffer object identified by buffer. The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenIndexBuffer.

NVSG_API void GLBindVertexBuffer ( GLuint buffer )

Binds the buffer name associated with the identifier buffer to the GL_ARRAY_ELEMENT target.

The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

NVSG_API void GLBindTransformFeedbackBuffer | ( | GLuint | index,
 |  | GLuint | buffer,
 |  | GLuint | offset
 | ) |

Binds the buffer name associated with the identifier buffer to the GL_TRANSFORM_FEEDBACK_BUFFER_NV target.

The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

Note:
This method actually calls GLBindBufferOffset()

NVSG_API void GLBindIndexBuffer ( GLuint buffer )

Binds the buffer name associated with the identifier buffer to the GL_ELEMENT_ARRAY_ELEMENT target.

The behavior is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenIndexBuffer.

NVSG_API void GLUploadBuffers ( )

Uploads all pending buffers.

The function uploads the data copied to not yet uploaded vertex or index buffers to Vertex Buffer Objects (VBO) for fast rendering.

Note:
This function must be called immediately before rendering if vertex or index buffers are used for caching strategies. Omitting this call certainly results in undefined runtime behavior!

NVSG_API GLvoid* GLMapVertexBuffer ( GLuint buffer )

Maps the vertex buffer identified by buffer into process memory for write-only access.

The returned pointer can be used to write vertex data to the vertex buffer.

Attempts to read back data from the mapped buffer might result in undefined behavior. Writing more bytes to the buffer than it was specified at buffer creation, results in undefined behavior. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

After data has been written to the buffer, and before the data will be dereferenced by any GL commands, the mapping must be relinquished by calling GLUnmapVertexData.

Returns:
A pointer to the vertex buffer if the memory could be mapped into process memory. Otherwise a null pointer is returned.

NVSG_API GLvoid* GLMapIndexBuffer ( GLuint buffer )

Maps the index buffer identified by buffer into process memory for write-only access.

The returned pointer can be used to write index data to the vertex buffer.

Attempts to read back data from the mapped buffer might result in undefined behavior. Writing more bytes to the buffer than it was specified at buffer creation, results in undefined behavior. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

After data has been written to the buffer, and before the data will be dereferenced by any GL commands, the mapping must be relinquished by calling GLUnmapIndexData.

Returns:
A pointer to the index buffer if the memory could be mapped into process memory. Otherwise a null pointer is returned.

NVSG_API GLboolean GLUnmapVertexBuffer ( GLuint buffer )

Relinquishes a vertex buffer mapping.

The function relinquishes the mapping for the buffer identified by buffer. The behavior is undefined if a mapping for the specified buffer was not initiated before by a call to GLMapVertexBuffer. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenVertexBuffer.

Returns:
The function returns GL_TRUE unless data values in the data store of the buffer have become corrupted during the period that the buffer was mapped.

NVSG_API GLboolean GLUnmapIndexBuffer ( GLuint buffer )

Relinquishes an index buffer mapping.

The function relinquishes the mapping for the buffer identified by buffer. The behavior is undefined if a mapping for the specified buffer was not initiated before by a call to GLMapIndexBuffer. The behavior also is undefined if an invalid identifier is passed through buffer, that is - an identifier that was not returned by GLGenIndexBuffer.

Returns:
The function returns GL_TRUE unless data values in the data store of the buffer have become corrupted during the period that the buffer was mapped.

NVSG_API GLuint64EXT GLGetBufferAddress ( GLuint buffer )

Returns the 64-bit video memory address for the specified buffer.

Vertex and index buffers might be collected in a higher-level buffer object. This function returns the 64-bit video memory address of the higher-level buffer object.

Note:
This funtion requires the GL_NV_vertex_buffer_unified_memory extension.
Returns:
The 64-bit video memory address for the specified buffer.

NVSG_API GLsizeiptr GLGetBufferSize ( GLuint buffer )

Returns the size of the specified buffer.

Vertex and index buffers might be collected in a higher-level buffer object. This function returns the size of the higher-level buffer object.

Note:
This funtion requires the GL_NV_vertex_buffer_unified_memory extension.
Returns:
The size of the higher-level buffer object.

NVSG_API GLsizeiptr GLGetVertexBufferOffset ( GLuint buffer )

Returns the start offset for the specified buffer.

Vertex buffers might be collected in a higher-level buffer object. This function returns the start offset inside the higher-level buffer object.

Returns:
The start offset inside the higher-level vertex buffer object.

NVSG_API void GLBuildVertexBufferCache | ( | nvgl::GLArrayBufferCache * | vi,
 |  | GLuint | whichBuffer,
 |  | const nvsg::VertexAttributeSet * | vas
 | ) |

VBO / Cache Filling Methods.

Build the caches from the attributes sent.

Returns:
A buffer cache.

NVSG_API GLsizeiptr GLGetIndexBufferOffset ( GLuint buffer )

Returns the start offset for the specified buffer.

Index buffers might be collected in a higher-level buffer object. This function returns the start offset inside the higher-level buffer object.

Returns:
The start offset inside the higher-level vertex buffer object.

NVSG_API GLboolean GLIsVertexBuffer ( GLuint buffer )

Returns whether buffer identifies a valid vertex buffer for the current context.

Returns:
GL_TRUE if buffer identifies a valid vertex buffer for the current context. GL_FALSE otherwise.

NVSG_API GLboolean GLIsIndexBuffer ( GLuint buffer )

Returns whether buffer identifies a valid index buffer for the current context.

Returns:
GL_TRUE if buffer identifies a valid index buffer for the current context. GL_FALSE otherwise.

Variable Documentation

NVSG_API GLenum glError

holds the current OpenGL error code to ease debugging

Generated on Fri Jul 13 13:29:23 2012 for SceniX


SceniX: nvmath Namespace Reference

nvmath Namespace Reference

Namespace for mathematical helper functions and classes. More...

Classes

class | BezierCurve
A class to manage a bezier curve. More...
class | BezierRect
Class to manage a rectangular bezier patch. More...
class | BezierTriangle
Class to manage a triangular bezier patch. More...
class | Boxnt
Represents an axis-aligned box. More...
class | Matnnt
Matrix class of fixed size and type. More...
class | Planent
Plane class. More...
class | Quatt
Quaternion class. More...
class | Spherent
Sphere class. More...
class | Trafo
Transformation class. More...
class | Vecnt
Vector class of fixed size and type. More...

Typedefs

typedef Vecnt< 2, double > | Vec2d
typedef Vecnt< 3, float > | Vec3f
typedef Vecnt< 3, double > | Vec3d
typedef Vecnt< 4, float > | Vec4f
typedef Vecnt< 4, double > | Vec4d
typedef Vecnt< 2, int > | Vec2i
typedef Vecnt< 3, int > | Vec3i
typedef Vecnt< 4, int > | Vec4i
typedef Vecnt< 2, unsigned
int > 		Vec2ui
typedef Vecnt< 3, unsigned
int > 		Vec3ui
typedef Vecnt< 4, unsigned
int > 		Vec4ui
typedef Matnnt< 3, double > | Mat33d
typedef Matnnt< 4, float > | Mat44f
typedef Matnnt< 4, double > | Mat44d
typedef Quatt< double > | Quatd
typedef Boxnt< 2, float > | Box2f
typedef Boxnt< 3, float > | Box3f
typedef Boxnt< 4, float > | Box4f
typedef Boxnt< 2, double > | Box2d
typedef Boxnt< 3, double > | Box3d
typedef Boxnt< 4, double > | Box4d
typedef Planent< 3, float > | Plane3f
typedef Planent< 3, double > | Plane3d
typedef Spherent< 3, float > | Sphere3f
typedef Spherent< 3, double > | Sphere3d
typedef Vecnt< 1, float > | Vec1f
typedef Vecnt< 1, double > | Vec1d
typedef Vecnt< 1, int > | Vec1i
typedef Vecnt< 1, unsigned
int > 		Vec1ui

Functions

NVSG_API void | lerp (float alpha, const nvsg::VertexAttribute &va0, const nvsg::VertexAttribute &va1, nvsg::VertexAttribute &var)
Linear interpolation between two VertexAttributes.
template<typename T>
T | bezier (float alpha, unsigned int degree, const T *vertices)
Evaluate a bezier curve at parameter alpha.
template<typename T>
T | bezier (float alpha, const T &v0, const T &v1, const T &v2, const T &v3)
Evaluate a cubic bezier curve at parameter alpha.
template<typename T>
T | bezier (float alpha, const T &v0, const T &v1, const T &v2, const T &v3, T &d)
Cubic bezier interpolation with tangent. Evaluate a cubic bezier curve at parameter alpha, and also determine the tangent at that point.
template<typename T>
void | frenetFrame (float alpha, unsigned int degree, const T *vertices, T &tangent, T &normal, T &binormal)
Determine the frenet frame at a bezier curve at parameter alpha.
template<typename T>
void | subdivide (float alpha, unsigned int degree, const T *vertices, T *leftVertices, T *rightVertices)
Subdivide a bezier curve at a parameter alpha.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Vecnt< n, T > *points, unsigned int numberOfPoints)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Boxnt< n, T > | boundingBox (RandomAccessIterator points, unsigned int numberOfPoints)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Vecnt< n, T > *points, const unsigned int *indices, unsigned int numberOfIndices)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Boxnt< n, T > | boundingBox (RandomAccessIterator points, const unsigned int *indices, unsigned int numberOfIndices)
Instantiates an axis-aligned bounding box from a set of points.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Vecnt< n, T > *points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Instantiates an axis-aligned bounding box from a set indexed triangle strips.
template<unsigned int n, typename T, typename RandomAccessIterator>
Boxnt< n, T > | boundingBox (RandomAccessIterator points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Instantiates an axis-aligned bounding box from a set indexed triangle strips.
template<unsigned int n, typename T>
Boxnt< n, T > | boundingBox (const Boxnt< n, T > &b0, const Boxnt< n, T > &b1)
Instantiates an axis-aligned bounding box as the union of two boxes.
template<unsigned int n, typename T>
bool | isValid (const Boxnt< n, T > &b)
Determine if a box is valid.
template<unsigned int n, typename T>
bool | isPositive (const Boxnt< n, T > &b)
Determine if a box is positive.
template<unsigned int n, typename T>
bool | operator== (const Boxnt< n, T > &lhs, const Boxnt< n, T > &rhs)
Compares two bounding boxes.
template<unsigned int n, typename T>
bool | operator!= (const Boxnt< n, T > &lhs, const Boxnt< n, T > &rhs)
Compares two bounding boxes.
template<unsigned int n, typename T>
T | determinant (const Matnnt< n, T > &m)
Determine the determinant of a matrix.
template<unsigned int n, typename T>
bool | invert (const Matnnt< n, T > &mIn, Matnnt< n, T > &mOut)
Invert a matrix.
template<unsigned int n, typename T>
bool | isIdentity (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is the identity.
template<unsigned int n, typename T>
bool | isNormalized (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is normalized.
template<unsigned int n, typename T>
bool | isNull (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is null.
template<unsigned int n, typename T>
bool | isOrthogonal (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is orthogonal.
template<unsigned int n, typename T>
bool | isSingular (const Matnnt< n, T > &m, T eps=std::numeric_limits< T >::epsilon())
Test if a matrix is singular.
template<unsigned int n, typename T>
T | maxElement (const Matnnt< n, T > &m)
Get the value of the maximal absolute element of a matrix.
template<unsigned int n, typename T>
T | minElement (const Matnnt< n, T > &m)
Get the value of the minimal absolute element of a matrix.
template<unsigned int n, typename T>
bool | operator== (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix equality operator.
template<unsigned int n, typename T>
bool | operator!= (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix inequality operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator~ (const Matnnt< n, T > &m)
Matrix transpose operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator+ (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix addition operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator- (const Matnnt< n, T > &m)
Matrix negation operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator- (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix subtraction operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator * (const Matnnt< n, T > &m, T s)
Scalar multiplication operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator * (T s, const Matnnt< n, T > &m)
Scalar multiplication operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator * (const Matnnt< n, T > &m, const Vecnt< n, T > &v)
Vector multiplication operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator * (const Vecnt< n, T > &v, const Matnnt< n, T > &m)
Vector multiplication operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator * (const Matnnt< n, T > &m0, const Matnnt< n, T > &m1)
Matrix multiplication operator.
template<unsigned int n, typename T>
Matnnt< n, T > | operator/ (const Matnnt< n, T > &m, T s)
Scalar division operator.
template<unsigned int n, typename T>
void | setIdentity (Matnnt< n, T > &m)
Set a matrix to be the identity.
template<typename T>
bool | isRotation (const Matnnt< 3, T > &m, T eps=9 *std::numeric_limits< T >::epsilon())
Test if a 3 by 3 matrix represents a rotation.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)
Set the values of a 3 by 3 matrix by nine scalars.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1, const Vecnt< 3, T > &v2)
Set the values of a 3 by 3 matrix by three vectors.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, const Quatt< T > &q)
Set the values of a 3 by 3 matrix using a normalized quaternion.
template<typename T>
Matnnt< 3, T > & | setMat (Matnnt< 3, T > &m, const Vecnt< 3, T > &axis, T angle)
Set the values of a 3 by 3 matrix using a normalized rotation axis and an angle.
NVSG_API void | decompose (const Matnnt< 3, float > &m, Quatt< float > &orientation, Vecnt< 3, float > &scaling, Quatt< float > &scaleOrientation)
Decompose a 3 by 3 matrix.
template<typename T>
Matnnt< 4, T > & | setMat (Matnnt< 4, T > &m, T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33)
Set the values of a 4 by 4 matrix by sixteen scalars.
template<typename T>
Matnnt< 4, T > & | setMat (Matnnt< 4, T > &m, const Vecnt< 4, T > &v0, const Vecnt< 4, T > &v1, const Vecnt< 4, T > &v2, const Vecnt< 4, T > &v3)
Set the values of a 4 by 4 matrix by four vectors.
template<typename T>
Matnnt< 4, T > & | setMat (Matnnt< 4, T > &m, const Quatt< T > &ori, const Vecnt< 3, T > &trans=Vecnt< 3, T >(0, 0, 0), const Vecnt< 3, T > &scale=Vecnt< 3, T >(1, 1, 1))
Set the values of a 4 by 4 matrix by the constituents of a transformation.
NVSG_API void | decompose (const Matnnt< 4, float > &m, Vecnt< 3, float > &translation, Quatt< float > &orientation, Vecnt< 3, float > &scaling, Quatt< float > &scaleOrientation)
Decompose a 4 by 4 matrix of floats.
template<unsigned int n, typename T, unsigned int k>
T | calculateDeterminant (const Matnnt< n, T > &m, const Vecnt< k, unsigned int > &first, const Vecnt< k, unsigned int > &second)
template<unsigned int n, typename T>
T | calculateDeterminant (const Matnnt< n, T > &m, const Vecnt< 1, unsigned int > &first, const Vecnt< 1, unsigned int > &second)
template<typename T>
T | determinant (const Matnnt< 3, T > &m)
template<typename T>
bool | invert (const Matnnt< 3, T > &mIn, Matnnt< 3, T > &mOut)
template<typename T>
T | determinant (const Matnnt< 4, T > &m)
template<typename T>
bool | invert (const Matnnt< 4, T > &mIn, Matnnt< 4, T > &mOut)
template<typename T>
Matnnt< 4, T > | makeLookAt (const Vecnt< 3, T > &eye, const Vecnt< 3, T > &center, const Vecnt< 3, T > &up)
makeLookAt defines a viewing transformation.
template<typename T>
Matnnt< 4, T > | makeOrtho (T left, T right, T bottom, T top, T znear, T zfar)
makeOrtho defines an orthographic projection matrix.
template<typename T>
Matnnt< 4, T > | makeFrustum (T left, T right, T bottom, T top, T znear, T zfar)
makeFrustum defines a perspective projection matrix.
template<typename T>
Matnnt< 4, T > | makePerspective (T fovy, T aspect, T znear, T zfar)
makePerspective builds a perspective projection matrix.
template<typename T>
Vecnt< 4, T > | operator * (const Vecnt< 4, T > &v, const Matnnt< 4, T > &m)
template<typename T>
Matnnt< 4, T > | operator * (const Matnnt< 4, T > &m0, const Matnnt< 4, T > &m1)
template<class T>
T | clamp (T v, T l, T u)
Template to clamp an object of type T to a lower and an upper limit.
template<typename T>
T | cube (const T &t)
Template to cube an object of Type T.
template<typename T>
T | degToRad (T angle)
Transform an angle in degrees to radians.
template<typename T>
int | highestBit (T i)
Returns the highest bit set for the specified positive input value.
template<typename T>
T | highestBitValue (T i)
Returns the highest bit value for the specified positive input value.
float | horizontalToVerticalFieldOfView (float hFoV, float aspectRatio)
Calculate the vertical field of view out of the horizontal field of view.
template<typename T>
bool | isPowerOfTwo (T n)
Determine if an integer is a power of two.
template<typename T>
T | lerp (float alpha, const T &v0, const T &v1)
Linear interpolation between two values v0 and v1.
template<typename T>
void | lerp (float alpha, const T &v0, const T &v1, T &vr)
template<typename T>
const T & | max (const T &a, const T &b, const T &c)
Determine the maximal value out of three.
template<typename T>
const T & | min (const T &a, const T &b, const T &c)
Determine the minimal value out of three.
template<typename T>
T | powerOfTwoAbove (T n)
Determine the smallest power of two equal to or larger than n.
template<typename T>
T | powerOfTwoBelow (T n)
Determine the largest power of two equal to or smaller than n.
template<typename T>
T | powerOfTwoNearest (T n)
Calculates the nearest power of two for the specified integer.
float | radToDeg (float angle)
Transform an angle in radian to degree.
template<typename T>
int | sign (const T &t)
Determine the sign of a scalar.
template<typename T>
unsigned int | solveQuadraticEquation (T a, T b, T c, T &x0, T &x1)
Solve the quadratic equation a*x^2 + b*x + c = 0.
template<typename T>
unsigned int | solveCubicEquation (T a, T b, T c, T d, T &x0, T &x1, T &x2)
Solve the cubic equation a*x^3 + b*x^2 + c*x + d = 0.
template<typename T>
T | square (const T &t)
Template to square an object of Type T.
float | verticalToHorizontalFieldOfView (float vFoV, float aspectRatio)
Calculate the horizontal field of view out of the vertical field of view.
template<typename T>
int | compare (T lhs, T rhs)
Compares two numerical values.
template<>
int | compare (float lhs, float rhs)
Compares two float values.
template<>
int | compare (double lhs, double rhs)
Compares two double values.
template<unsigned int n, typename T>
bool | areOnOppositeSides (const Planent< n, T > &pl, const Vecnt< n, T > &p0, const Vecnt< n, T > &p1)
Test if two points are on opposite sides of a plane.
template<unsigned int n, typename T>
bool | areOnSameSide (const Planent< n, T > &pl, const Vecnt< n, T > &p0, const Vecnt< n, T > &p1)
Test if two points are on the same side of a plane.
template<unsigned int n, typename T>
T | distance (const Planent< n, T > &pl, const Vecnt< n, T > &p)
Calculate the distance of a point to a plane.
template<unsigned int n, typename T>
Vecnt< n, T > | nearestPoint (const Planent< n, T > &pl, const Vecnt< n, T > &p)
Calculate the point on a plane nearest to a give point.
template<unsigned int n, typename T>
bool | operator== (const Planent< n, T > &pl0, const Planent< n, T > &pl1)
Test for equality of two planes.
template<unsigned int n, typename T>
bool | operator!= (const Planent< n, T > &pl0, const Planent< n, T > &pl1)
Test for inequality of two planes.
template<unsigned int n, typename T>
T | signedDistance (const Planent< n, T > &pl, const Vecnt< n, T > &p)
Calculate the signed distance of a point to a plane.
template<typename T>
void | decompose (const Quatt< T > &q, Vecnt< 3, T > &axis, T &angle)
Decompose a quaternion into an axis and an angle.
template<typename T>
T | distance (const Quatt< T > &q0, const Quatt< T > &q1)
Determine the distance between two quaternions.
template<typename T>
bool | isNormalized (const Quatt< T > &q, T eps=std::numeric_limits< T >::epsilon()*8)
Test if a quaternion is normalized.
template<typename T>
bool | isNull (const Quatt< T > &q, T eps=std::numeric_limits< T >::epsilon())
Test if a quaternion is null.
template<typename T>
T | magnitude (const Quatt< T > &q)
Determine the magnitude of a quaternion.
template<typename T>
bool | operator== (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion equality operator.
template<typename T>
bool | operator!= (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion inequality operator.
template<typename T>
Quatt< T > | operator~ (const Quatt< T > &q)
Quaternion conjugation operator.
template<typename T>
Quatt< T > | operator- (const Quatt< T > &q)
Negation operator.
template<typename T>
Quatt< T > | operator * (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion multiplication operator.
template<typename T>
Vecnt< 3, T > | operator * (const Quatt< T > &q, const Vecnt< 3, T > &v)
Quaternion multiplication operator with a vector.
template<typename T>
Vecnt< 3, T > | operator * (const Vecnt< 3, T > &v, const Quatt< T > &q)
Vector multiplication operator with a quaternion.
template<typename T>
Quatt< T > | operator/ (const Quatt< T > &q0, const Quatt< T > &q1)
Quaternion division operator.
NVSG_API Quatt< float > | lerp (float alpha, const Quatt< float > &q0, const Quatt< float > &q1)
Spherical linear interpolation between two quaternions q0 and q1.
NVSG_API void | lerp (float alpha, const Quatt< float > &q0, const Quatt< float > &q1, Quatt< float > &qr)
Spherical linear interpolation between two quaternions q0 and q1.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Vecnt< n, T > *points, unsigned int numberOfPoints)
Determine the bounding sphere of a number of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Spherent< n, T > | boundingSphere (RandomAccessIterator points, unsigned int numberOfPoints)
Determine the bounding sphere of a number of points.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Vecnt< n, T > *points, const unsigned int *indices, unsigned int numberOfIndices)
Determine the bounding sphere of a number of indexed points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Spherent< n, T > | boundingSphere (RandomAccessIterator points, const unsigned int *indices, unsigned int numberOfIndices)
Determine the bounding sphere of a number of indexed points.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Vecnt< n, T > *points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Determine the bounding sphere of a number of strip-indexed points.
template<unsigned int n, typename T, typename RandomAccessIterator>
Spherent< n, T > | boundingSphere (RandomAccessIterator points, const std::vector< unsigned int > *strips, unsigned int numberOfStrips)
Determine the bounding sphere of a number of strip-indexed points.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Spherent< n, T > &s, const Vecnt< n, T > &p)
Determine the bounding sphere of a sphere and a point.
template<unsigned int n, typename T>
Spherent< n, T > | boundingSphere (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Determine the bounding sphere around two spheres.
template<unsigned int n, typename T>
Spherent< n, T > | intersectingSphere (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Determine the bounding sphere of the intersection of two spheres.
template<unsigned int n, typename T>
bool | isValid (const Spherent< n, T > &s)
Determine if a sphere is valid.
template<unsigned int n, typename T>
bool | isPositive (const Spherent< n, T > &s)
Determine if a sphere is positive.
template<unsigned int n, typename T>
bool | operator== (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Test for equality of two spheres.
template<unsigned int n, typename T>
bool | operator!= (const Spherent< n, T > &s0, const Spherent< n, T > &s1)
Test for inequality of two spheres.
NVSG_API void | lerp (float alpha, const Trafo &t0, const Trafo &t1, Trafo &tr)
template<unsigned int n, typename T>
void | boundingBox (const Vecnt< n, T > *points, size_t numberOfPoints, Vecnt< n, T > &min, Vecnt< n, T > &max)
Determine the bounding box of a number of points.
template<unsigned int n, typename T, typename RandomAccessIterator>
void | boundingBox (RandomAccessIterator points, size_t numberOfPoints, Vecnt< n, T > &min, Vecnt< n, T > &max)
Determine the bounding box of a number of points.
template<unsigned int n, typename T>
bool | areOpposite (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps=std::numeric_limits< T >::epsilon())
Determine if two vectors point in opposite directions.
template<unsigned int n, typename T>
bool | areOrthogonal (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps=2 *std::numeric_limits< T >::epsilon())
Determine if two vectors are orthogonal.
template<unsigned int n, typename T>
bool | areOrthonormal (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps=2 *std::numeric_limits< T >::epsilon())
Determine if two vectors are orthonormal.
template<unsigned int n, typename T>
bool | areSimilar (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1, T eps)
Determine if two vectors differ less than a given epsilon in each component.
template<unsigned int n, typename T>
T | distance (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Determine the distance between vectors.
template<unsigned int n, typename T>
T | intensity (const Vecnt< n, T > &v)
template<unsigned int n, typename T>
bool | isNormalized (const Vecnt< n, T > &v, T eps=2 *std::numeric_limits< T >::epsilon())
Determine if a vector is normalized.
template<unsigned int n, typename T>
bool | isNull (const Vecnt< n, T > &v, T eps=std::numeric_limits< T >::epsilon())
Determine if a vector is the null vector.
template<unsigned int n, typename T>
bool | isUniform (const Vecnt< n, T > &v, T eps=std::numeric_limits< T >::epsilon())
Determine if a vector is uniform, that is, all its components are equal.
template<unsigned int n, typename T>
T | length (const Vecnt< n, T > &v)
Determine the length of a vector.
template<unsigned int n, typename T>
T | lengthSquared (const Vecnt< n, T > &v)
Determine the squared length of a vector.
template<unsigned int n, typename T>
T | maxElement (const Vecnt< n, T > &v)
Determine the maximal element of a vector.
template<unsigned int n, typename T>
T | minElement (const Vecnt< n, T > &v)
Determine the minimal element of a vector.
template<unsigned int n, typename T>
T | normalize (Vecnt< n, T > &v)
Normalize a vector.
template<unsigned int n, typename T>
bool | operator== (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Test for equality of two vectors.
template<unsigned int n, typename T>
bool | operator!= (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Test for inequality of two vectors.
template<unsigned int n, typename T>
Vecnt< n, T > | operator+ (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Vector addition operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator- (const Vecnt< n, T > &v)
Unary vector negation operator.
template<unsigned int n, typename T>
Vecnt< n, T > | operator- (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Vector subtraction operator.
template<unsigned int n, typename T, typename S>
Vecnt< n, T > | operator * (const Vecnt< n, T > &v, S s)
Scalar multiplication of a vector.
template<unsigned int n, typename T, typename S>
Vecnt< n, T > | operator * (S s, const Vecnt< n, T > &v)
Scalar multiplication of a vector.
template<unsigned int n, typename T>
T | operator * (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Vector multiplication.
template<unsigned int n, typename T, typename S>
Vecnt< n, T > | operator/ (const Vecnt< n, T > &v, S s)
Scalar division of a vector.
template<unsigned int n, typename T>
Vecnt< n, T > | orthonormal (const Vecnt< n, T > &v)
Determine a vector that's orthonormal to v.
template<unsigned int n, typename T>
Vecnt< n, T > | orthonormalize (const Vecnt< n, T > &v0, const Vecnt< n, T > &v1)
Determine the orthonormal vector of v1 with respect to v0.
template<typename T>
Vecnt< 1, T > & | setVec (Vecnt< 1, T > &v, T x)
Set the values of a two-component vector.
template<typename T>
Vecnt< 2, T > & | setVec (Vecnt< 2, T > &v, T x, T y)
Set the values of a two-component vector.
template<typename T>
bool | areCollinear (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1, T eps=std::numeric_limits< T >::epsilon())
Determine if two vectors are collinear.
template<typename T>
Vecnt< 3, T > | operator^ (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1)
Cross product operator.
template<typename T>
Vecnt< 3, T > & | setVec (Vecnt< 3, T > &v, T x, T y, T z)
Set the values of a three-component vector.
template<typename T>
void | smoothNormals (const std::vector< Vecnt< 3, T > > &vertices, const Spherent< 3, T > &sphere, T creaseAngle, std::vector< Vecnt< 3, T > > &normals)
Determine smoothed normals for a set of vertices.
template<typename T>
Vecnt< 4, T > & | setVec (Vecnt< 4, T > &v, T x, T y, T z, T w)
Set the values of a four-component vector.
template<unsigned int n>
float | normalize (Vecnt< n, float > &v)
template<unsigned int n, typename T>
bool | operator< (const Vecnt< n, T > &lhs, const Vecnt< n, T > &rhs)
template<unsigned int n, typename T>
bool | operator> (const Vecnt< n, T > &lhs, const Vecnt< n, T > &rhs)
template<>
bool | operator< (const Vecnt< 3, float > &lhs, const Vecnt< 3, float > &rhs)
template<>
bool | operator> (const Vecnt< 3, float > &lhs, const Vecnt< 3, float > &rhs)
template<>
bool | operator< (const Vecnt< 4, float > &lhs, const Vecnt< 4, float > &rhs)
template<>
bool | operator> (const Vecnt< 4, float > &lhs, const Vecnt< 4, float > &rhs)
template<typename T>
Vecnt< 3, T > | orthonormalize (const Vecnt< 3, T > &v0, const Vecnt< 3, T > &v1)
template<typename T>
size_t | _hash (const Vecnt< 3, T > &vertex, const Vecnt< 3, T > &base, const Vecnt< 3, T > &scale, size_t numVertices)

Variables

class typedef Vecnt< 2, float > | Vec2f
typedef Matnnt< 3, float > | Mat33f
typedef Quatt< float > | Quatf
NVSG_API const Mat44f | cIdentity44f
global identity matrix.
const float | PI = 3.14159265358979323846f
constant PI
const float | PI_HALF = 1.57079632679489661923f
constant PI half
const float | PI_QUARTER = 0.78539816339744830962f
constant PI quarter
const float | SQRT_TWO = 1.41421356237309504880f
constant square root two
const float | SQRT_TWO_HALF = 0.70710678118654752440f
constant square root two half
const float | SQRT_THREE = 1.73205080756887729353f
constant square root three
const float | SQRT_THREE_HALF = 0.86602540378443864676f
constant square root three

Detailed Description

Namespace for mathematical helper functions and classes.

Function Documentation

NVSG_API void lerp | ( | float | alpha,
 |  | const nvsg::VertexAttribute & | va0,
 |  | const nvsg::VertexAttribute & | va1,
 |  | nvsg::VertexAttribute & | var
 | ) |

Linear interpolation between two VertexAttributes.

Parameters:
alpha | The interpolation parameter.
va0 | The starting value for the interpolation.
va1 | The ending value for the interpolation.
var | The resulting value of the interpolation.
Remarks:
Two VertexAttributes are linearly interpolated by linearly interpolating each of the corresponding vertex data elements.

T bezier | ( | float | alpha,
 |  | unsigned int | degree,
 |  | const T * | vertices
 | ) | [inline]

Evaluate a bezier curve at parameter alpha.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a point on the curve between the end points.
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the degree + 1 control points of the bezier curve.
Returns:
The value of the bezier curve at parameter alpha.
See also:
frenetFrame, subdivide, BezierCurve

T bezier | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1,
 |  | const T & | v2,
 |  | const T & | v3
 | ) | [inline]

Evaluate a cubic bezier curve at parameter alpha.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a point on the curve between the end points.
v0 | The first of the four control points of a cubic bezier curve.
v1 | The second of the four control points of a cubic bezier curve.
v2 | The third of the four control points of a cubic bezier curve.
v3 | The fourth of the four control points of a cubic bezier curve.
Returns:
The value of the cubic bezier curve at parameter alpha.

T bezier | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1,
 |  | const T & | v2,
 |  | const T & | v3,
 |  | T & | d
 | ) | [inline]

Cubic bezier interpolation with tangent. Evaluate a cubic bezier curve at parameter alpha, and also determine the tangent at that point.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a point on the curve between the end points.
v0 | The first of the four control points of a cubic bezier curve.
v1 | The second of the four control points of a cubic bezier curve.
v2 | The third of the four control points of a cubic bezier curve.
v3 | The fourth of the four control points of a cubic bezier curve.
d | A reference to the point to get the tangent at the evaluated point.
Returns:
The value of the cubic bezier curve at parameter alpha.

void frenetFrame | ( | float | alpha,
 |  | unsigned int | degree,
 |  | const T * | vertices,
 |  | T & | tangent,
 |  | T & | normal,
 |  | T & | binormal
 | ) |

Determine the frenet frame at a bezier curve at parameter alpha.

Parameters:
alpha | The parameter to evaluate at. With alpha in the interval [0,1], you get a frenet frame on the curve between the end points.
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the degree + 1 control points of the bezier curve.
tangent | A reference to the value to get the tangent at the specified point of the curve.
normal | A reference to the value to get the normal at the specified point of the curve.
binormal | A reference to the value to get the binormal at the specified point of the curve.
Note:
The triple tangent/normal/binormal at a point of a curve is called Frenet frame. The tangent in the vector pointing along the first derivation of the curve. The binormal is orthogonal to the first and second derivative. That is, the normal is in the plane of the osculating circle to the curve at that point (the circle that has second-order contact with the curve at alpha).
See also:
bezier, subdivide, BezierCurve

void subdivide | ( | float | alpha,
 |  | unsigned int | degree,
 |  | const T * | vertices,
 |  | T * | leftVertices,
 |  | T * | rightVertices
 | ) | [inline]

Subdivide a bezier curve at a parameter alpha.

Parameters:
alpha | The parameter to subdivide at. It has to be in the interval [0,1].
degree | The degree of the bezier curve. For a cubic curve, it would be three.
vertices | A pointer to the degree + 1 control points of the input bezier curve.
leftVertices | A pointer space to hold degree + 1 control points of the left sub-curve.
rightVertices | A pointer to space to hold degree + 1 control points of the right sub-curve.
See also:
bezier, subdivide, BezierCurve

Boxnt< n, T > boundingBox | ( | const Vecnt< n, T > * | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Start address of input points.
numberOfPoints | Number of input points.
Returns:
Returns the bounding box calculated from the input points.

Boxnt< n, T > boundingBox | ( | RandomAccessIterator | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Random access iterator of input points.
numberOfPoints | Number of input points.
Returns:
Returns the bounding box calculated from the input points.

Boxnt< n, T > boundingBox | ( | const Vecnt< n, T > * | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Start address of input points.
indices | Start address of indices referencing the input points.
numberOfIndices | Number of indices.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | RandomAccessIterator | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set of points.

Parameters:
points | Random access iterator of input points.
indices | Start address of indices referencing the input points.
numberOfIndices | Number of indices.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | const Vecnt< n, T > * | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set indexed triangle strips.

Parameters:
points | Start address of input points.
indices | Pointer to array of vectors of indices. Each vector contains one strip.
numberOfStrips | Number of strips.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | RandomAccessIterator | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) | [inline]

Instantiates an axis-aligned bounding box from a set indexed triangle strips.

Parameters:
points | Random access iterator of input points.
indices | Pointer to array of vectors of indices. Each vector contains one strip.
numberOfStrips | Number of strips.
Returns:
Returns the bounding box calculated from the input points referenced by the specified indices.

Boxnt< n, T > boundingBox | ( | const Boxnt< n, T > & | b0,
 |  | const Boxnt< n, T > & | b1
 | ) | [inline]

Instantiates an axis-aligned bounding box as the union of two boxes.

Parameters:
b0 | Specifies the first bounding box.
b1 | Specifies the second bounding box.
Returns:
Returns the bounding box calculated as the union of b0 and b1.

bool isValid ( const Boxnt< n, T > & b ) [inline]

Determine if a box is valid.

Parameters:
s b reference to a constant box.
Returns:
true, if b is valid, otherwise false.
Remarks:
A box is considered to be valid, if none of its dimensions is negative.

bool isPositive ( const Boxnt< n, T > & b ) [inline]

Determine if a box is positive.

Parameters:
s A reference to a constant box.
Returns:
true, if b is positive, otherwise false.
Remarks:
A box is considered to be positive, if all its dimensions are positive.

bool operator== | ( | const Boxnt< n, T > & | lhs,
 |  | const Boxnt< n, T > & | rhs
 | ) | [inline]

Compares two bounding boxes.

Parameters:
lhs | Specifies the left-hand bounding box.
rhs | Specifies the right-hand bounding box.
Returns:
The function returns true if both bounding boxes are equal.

bool operator!= | ( | const Boxnt< n, T > & | lhs,
 |  | const Boxnt< n, T > & | rhs
 | ) | [inline]

Compares two bounding boxes.

Parameters:
lhs | Specifies the left-hand bounding box.
rhs | Specifies the right-hand bounding box.
Returns:
The function returns true if both bounding boxes differ.

T determinant ( const Matnnt< n, T > & m ) [inline]

Determine the determinant of a matrix.

Parameters:
m A constant reference to the matrix to determine the determinant from.
Returns:
The determinant of m.

bool invert | ( | const Matnnt< n, T > & | mIn,
 |  | Matnnt< n, T > & | mOut
 | ) | [inline]

Invert a matrix.

Parameters:
mIn | A constant reference to the matrix to invert.
mOut | A reference to the matrix to hold the inverse.
Returns:
true, if the matrix m was successfully inverted, otherwise false.
Note:
If the mIn was not successfully inverted, the values in mOut are undefined.

bool isIdentity | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is the identity.

Parameters:
m | A constant reference to the matrix to test for identity.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix is the identity, otherwise false.
Remarks:
A matrix is considered to be the identity, if each of the diagonal elements differ less than eps from one, and each of the other matrix elements differ less than eps from zero.
See also:
isNormalized, isNull, isOrthogonal, isSingular

bool isNormalized | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is normalized.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the matrix is normalized, otherwise false.
Remarks:
A matrix is considered to be normalized, if each row and each column is normalized.
See also:
isIdentity, isNull, isOrthogonal, isSingular

bool isNull | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is null.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the matrix is null, otherwise false.
Remarks:
A matrix is considered to be null, if each row is null.
See also:
isIdentity, isNormalized, isOrthogonal, isSingular

bool isOrthogonal | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is orthogonal.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix is orthogonal, otherwise false.
Remarks:
A matrix is considered to be orthogonal, if each pair of rows and each pair of columns are orthogonal to each other.
See also:
isIdentity, isNormalized, isNull, isSingular

bool isSingular | ( | const Matnnt< n, T > & | m,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a matrix is singular.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix is singular, otherwise false.
Remarks:
A matrix is considered to be singular, if its determinant is zero.
See also:
isIdentity, isNormalized, isNull, isOrthogonal

T maxElement ( const Matnnt< n, T > & m ) [inline]

Get the value of the maximal absolute element of a matrix.

Parameters:
m A constant reference to a matrix to get the maximal element from.
Returns:
The value of the maximal absolute element of m.
See also:
minElement

T minElement ( const Matnnt< n, T > & m ) [inline]

Get the value of the minimal absolute element of a matrix.

Parameters:
m A constant reference to a matrix to get the minimal element from.
Returns:
The value of the minimal absolute element of m.
See also:
maxElement

bool operator== | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix equality operator.

Parameters:
m0 | A constant reference to the first matrix to compare.
m1 | A constant reference to the second matrix to compare.
Returns:
true, if m0 and m1 are equal, otherwise false.
Remarks:
Two matrices are considered to be equal, if each element of m0 differs less than the type dependent epsilon from the the corresponding element of m1.

bool operator!= | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix inequality operator.

Parameters:
m0 | A constant reference to the first matrix to compare.
m1 | A constant reference to the second matrix to compare.
Returns:
true, if m0 and m1 are not equal, otherwise false.
Remarks:
Two matrices are considered to be not equal, if at least one element of m0 differs more than the type dependent epsilon from the the corresponding element of m1.

Matnnt< n, T > operator~ ( const Matnnt< n, T > & m ) [inline]

Matrix transpose operator.

Parameters:
m A constant reference to the matrix to transpose.
Returns:
The transposed version of m.

Matnnt< n, T > operator+ | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix addition operator.

Parameters:
m0 | A constant reference to the first matrix to add.
m1 | A constant reference to the second matrix to add.
Returns:
A matrix representing the sum of
 m0 + m1

Matnnt< n, T > operator- ( const Matnnt< n, T > & m ) [inline]

Matrix negation operator.

Parameters:
m A constant reference to the matrix to negate.
Returns:
A matrix representing the negation of m.

Matnnt< n, T > operator- | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix subtraction operator.

Parameters:
m0 | A constant reference to the first argument of the subtraction.
m1 | A constant reference to the second argument of the subtraction.
Returns:
A matrix representing the difference
 m0 - m1

Matnnt< n, T > operator * | ( | const Matnnt< n, T > & | m,
 |  | T | s
 | ) | [inline]

Scalar multiplication operator.

Parameters:
m | A constant reference to the matrix to multiply.
s | The scalar value to multiply with.
Returns:
A matrix representing the product
 m * s

Matnnt< n, T > operator * | ( | T | s,
 |  | const Matnnt< n, T > & | m
 | ) | [inline]

Scalar multiplication operator.

Parameters:
s | The scalar value to multiply with.
m | A constant reference to the matrix to multiply.
Returns:
A matrix representing the product
 s * m

Vecnt< n, T > operator * | ( | const Matnnt< n, T > & | m,
 |  | const Vecnt< n, T > & | v
 | ) | [inline]

Vector multiplication operator.

Parameters:
m | A constant reference to the matrix to multiply.
v | A constant reference to the vector to multiply with.
Returns:
A vector representing the product
 m * v

Vecnt< n, T > operator * | ( | const Vecnt< n, T > & | v,
 |  | const Matnnt< n, T > & | m
 | ) | [inline]

Vector multiplication operator.

Parameters:
v | A constant reference to the vector to multiply with.
m | A constant reference to the matrix to multiply.
Returns:
A vector representing the product
 v * m

Matnnt< n, T > operator * | ( | const Matnnt< n, T > & | m0,
 |  | const Matnnt< n, T > & | m1
 | ) | [inline]

Matrix multiplication operator.

Parameters:
m0 | A constant reference to the first operand of the multiplication.
m1 | A constant reference to the second operand of the multiplication.
Returns:
A matrix representing the product
 m0 * m1

Matnnt< n, T > operator/ | ( | const Matnnt< n, T > & | m,
 |  | T | s
 | ) | [inline]

Scalar division operator.

Parameters:
m | A constant reference to the matrix to divide.
s | The scalar value to divide by.
Returns:
A matrix representing the matrix m divided by s.

void setIdentity ( Matnnt< n, T > & m )

Set a matrix to be the identity.

Parameters:
m The matrix to set to identity.
Remarks:
Each diagonal element of m is set to one, each other element is set to zero.

bool isRotation | ( | const Matnnt< 3, T > & | m,
 |  | T | eps = 9 * std::numeric_limits<T>::epsilon()
 | ) |

Test if a 3 by 3 matrix represents a rotation.

Parameters:
m | A constant reference to the matrix to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true, if the matrix represents a rotation, otherwise false.
Remarks:
A 3 by 3 matrix is considered to be a rotation, if it is normalized, orthogonal, and its determinant is one.
See also:
isIdentity, isNull, isNormalized, isOrthogonal

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | T | m00,
 |  | T | m01,
 |  | T | m02,
 |  | T | m10,
 |  | T | m11,
 |  | T | m12,
 |  | T | m20,
 |  | T | m21,
 |  | T | m22
 | ) | [inline]

Set the values of a 3 by 3 matrix by nine scalars.

Parameters:
m | A reference to the matrix to set with the nine values.
m00 | The scalar for the first value in the first row.
m01 | The scalar for the second value in the first row.
m02 | The scalar for the third value in the first row.
m10 | The scalar for the first value in the second row.
m11 | The scalar for the second value in the second row.
m12 | The scalar for the third value in the second row.
m20 | The scalar for the first value in the third row.
m21 | The scalar for the second value in the third row.
m22 | The scalar for the third value in the third row.
Returns:
A reference to m.

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1,
 |  | const Vecnt< 3, T > & | v2
 | ) | [inline]

Set the values of a 3 by 3 matrix by three vectors.

Parameters:
m | A reference to the matrix to set with the three vectors.
v0 | A constant reference to the vector to set as the first row of m.
v1 | A constant reference to the vector to set as the second row of m.
v2 | A constant reference to the vector to set as the third row of m.
Returns:
A reference to m.

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | const Quatt< T > & | q
 | ) | [inline]

Set the values of a 3 by 3 matrix using a normalized quaternion.

Parameters:
m | A reference to the matrix to set.
q | A constant reference to the normalized quaternion to use.
Returns:
A reference to m.
Remarks:
The matrix is set to represent the same rotation as the normalized quaternion q.
Note:
The behavior is undefined if q is not normalized.

Matnnt< 3, T > & setMat | ( | Matnnt< 3, T > & | m,
 |  | const Vecnt< 3, T > & | axis,
 |  | T | angle
 | ) |

Set the values of a 3 by 3 matrix using a normalized rotation axis and an angle.

Parameters:
m | A reference to the matrix to set.
axis | A constant reference to the normalized rotation axis.
angle | The angle in radians to rotate around axis.
Returns:
A reference to m.
Remarks:
The matrix is set to represent the rotation by angle around axis.
Note:
The behavior is undefined if axis is not normalized.

NVSG_API void decompose | ( | const Matnnt< 3, float > & | m,
 |  | Quatt< float > & | orientation,
 |  | Vecnt< 3, float > & | scaling,
 |  | Quatt< float > & | scaleOrientation
 | ) |

Decompose a 3 by 3 matrix.

Parameters:
m | A constant reference to the matrix to decompose.
orientation | A reference to the quaternion getting the rotational part of the matrix.
scaling | A reference to the vector getting the scaling part of the matrix.
scaleOrientation | A reference to the quaternion getting the orientation of the scaling.
Note:
The behavior is undefined, if the determinant of m is too small, or the rank of m is less than three.

Matnnt< 4, T > & setMat | ( | Matnnt< 4, T > & | m,
 |  | T | m00,
 |  | T | m01,
 |  | T | m02,
 |  | T | m03,
 |  | T | m10,
 |  | T | m11,
 |  | T | m12,
 |  | T | m13,
 |  | T | m20,
 |  | T | m21,
 |  | T | m22,
 |  | T | m23,
 |  | T | m30,
 |  | T | m31,
 |  | T | m32,
 |  | T | m33
 | ) | [inline]

Set the values of a 4 by 4 matrix by sixteen scalars.

Parameters:
m | A reference to the matrix to set with the sixteen values.
m00 | The scalar for the first value in the first row.
m01 | The scalar for the second value in the first row.
m02 | The scalar for the third value in the first row.
m03 | The scalar for the fourth value in the first row.
m10 | The scalar for the first value in the second row.
m11 | The scalar for the second value in the second row.
m12 | The scalar for the third value in the second row.
m13 | The scalar for the fourth value in the second row.
m20 | The scalar for the first value in the third row.
m21 | The scalar for the second value in the third row.
m22 | The scalar for the third value in the third row.
m23 | The scalar for the fourth value in the third row.
m30 | The scalar for the first value in the fourth row.
m31 | The scalar for the second value in the fourth row.
m32 | The scalar for the third value in the fourth row.
m33 | The scalar for the fourth value in the fourth row.
Returns:
A reference to m.

Matnnt< 4, T > & setMat | ( | Matnnt< 4, T > & | m,
 |  | const Vecnt< 4, T > & | v0,
 |  | const Vecnt< 4, T > & | v1,
 |  | const Vecnt< 4, T > & | v2,
 |  | const Vecnt< 4, T > & | v3
 | ) | [inline]

Set the values of a 4 by 4 matrix by four vectors.

Parameters:
m | A reference to the matrix to set with the four vectors.
v0 | A constant reference to the vector to set as the first row of m.
v1 | A constant reference to the vector to set as the second row of m.
v2 | A constant reference to the vector to set as the third row of m.
v3 | A constant reference to the vector to set as the fourth row of m.
Returns:
A reference to m.

Matnnt<4,T>& setMat | ( | Matnnt< 4, T > & | m,
 |  | const Quatt< T > & | ori,
 |  | const Vecnt< 3, T > & | trans = Vecnt<3,T>(0,0,0),
 |  | const Vecnt< 3, T > & | scale = Vecnt<3,T>(1,1,1)
 | ) |

Set the values of a 4 by 4 matrix by the constituents of a transformation.

Parameters:
m | A reference to the matrix to set.
ori | A constant reference of the rotation part of the transformation.
trans | An optional constant reference to the translational part of the transformation. The default is a null vector.
scale | An optional constant reference to the scaling part of the transformation. The default is the identity scaling.
Returns:
A reference to m.

void decompose | ( | const Matnnt< 4, float > & | m,
 |  | Vecnt< 3, float > & | translation,
 |  | Quatt< float > & | orientation,
 |  | Vecnt< 3, float > & | scaling,
 |  | Quatt< float > & | scaleOrientation
 | ) | [inline]

Decompose a 4 by 4 matrix of floats.

Parameters:
m | A constant reference to the matrix to decompose.
translation | A reference to the vector getting the translational part of the matrix.
orientation | A reference to the quaternion getting the rotational part of the matrix.
scaling | A reference to the vector getting the scaling part of the matrix.
scaleOrientation | A reference to the quaternion getting the orientation of the scaling.
Note:
The behavior is undefined, if the determinant of m is too small.

Currently, the behavior is undefined, if the rank of m is less than three.

Matnnt<4,T> makeLookAt | ( | const Vecnt< 3, T > & | eye,
 |  | const Vecnt< 3, T > & | center,
 |  | const Vecnt< 3, T > & | up
 | ) | [inline]

makeLookAt defines a viewing transformation.

Parameters:
eye | The position of the eye point.
center | The position of the reference point.
up | The direction of the up vector.
Remarks:
The makeLookAt function creates a viewing matrix derived from an eye point, a reference point indicating the center of the scene, and an up vector. The matrix maps the reference point to the negative z-axis and the eye point to the origin, so that when you use a typical projection matrix, the center of the scene maps to the center of the viewport. Similarly, the direction described by the up vector projected onto the viewing plane is mapped to the positive y-axis so that it points upward in the viewport. The up vector must not be parallel to the line of sight from the eye to the reference point.
Note:
This documentation is adapted from gluLookAt, and is courtesy of SGI.

Matnnt<4,T> makeOrtho | ( | T | left,
 |  | T | right,
 |  | T | bottom,
 |  | T | top,
 |  | T | znear,
 |  | T | zfar
 | ) | [inline]

makeOrtho defines an orthographic projection matrix.

Parameters:
left | Coordinate for the left vertical clipping plane.
right | Coordinate for the right vertical clipping plane.
bottom | Coordinate for the bottom horizontal clipping plane.
top | Coordinate for the top horizontal clipping plane.
znear | The distance to the near clipping plane. This distance is negative if the plane is behind the viewer.
zfar | The distance to the far clipping plane. This distance is negative if the plane is behind the viewer.
Remarks:
The makeOrtho function describes a perspective matrix that produces a parallel projection. Assuming this function will be used to build a camera's Projection matrix, the (left, bottom, znear) and (right, top, znear) parameters specify the points on the near clipping plane that are mapped to the lower-left and upper-right corners of the window, respectively, assuming that the eye is located at (0, 0, 0). The far parameter specifies the location of the far clipping plane. Both znear and zfar can be either positive or negative.
Note:
This documentation is adapted from glOrtho, and is courtesy of SGI.

Matnnt<4,T> makeFrustum | ( | T | left,
 |  | T | right,
 |  | T | bottom,
 |  | T | top,
 |  | T | znear,
 |  | T | zfar
 | ) | [inline]

makeFrustum defines a perspective projection matrix.

Parameters:
left | Coordinate for the left vertical clipping plane.
right | Coordinate for the right vertical clipping plane.
bottom | Coordinate for the bottom horizontal clipping plane.
top | Coordinate for the top horizontal clipping plane.
znear | The distance to the near clipping plane. The value must be greater than zero.
zfar | The distance to the far clipping plane. The value must be greater than znear.
Remarks:
The makeFrustum function describes a perspective matrix that produces a perspective projection. Assuming this function will be used to build a camera's Projection matrix, the (left, bottom, znear) and (right, top, znear) parameters specify the points on the near clipping plane that are mapped to the lower-left and upper-right corners of the window, respectively, assuming that the eye is located at (0,0,0). The zfar parameter specifies the location of the far clipping plane. Both znear and zfar must be positive.
Note:
This documentation is adapted from glFrustum, and is courtesy of SGI.

Matnnt<4,T> makePerspective | ( | T | fovy,
 |  | T | aspect,
 |  | T | znear,
 |  | T | zfar
 | ) | [inline]

makePerspective builds a perspective projection matrix.

Parameters:
fovy | The vertical field of view, in degrees.
aspect | The ratio of the viewport width / height.
znear | The distance to the near clipping plane. The value must be greater than zero.
zfar | The distance to the far clipping plane. The value must be greater than znear.
Remarks:
Assuming makePerspective will be used to build a camera's Projection matrix, it specifies a viewing frustum into the world coordinate system. In general, the aspect ratio in makePerspective should match the aspect ratio of the associated viewport. For example, aspect = 2.0 means the viewer's angle of view is twice as wide in x as it is in y. If the viewport is twice as wide as it is tall, it displays the image without distortion.
Note:
This documentation is adapted from gluPerspective, and is courtesy of SGI.

T clamp | ( | T | v,
 |  | T | l,
 |  | T | u
 | ) |

Template to clamp an object of type T to a lower and an upper limit.

Returns:
clamped value of v between l and u
Parameters:
v | value to clamp
l | lower limit
u | upper limit

T cube ( const T & t ) [inline]

Template to cube an object of Type T.

Parameters:
t value to cube
Returns:
triple product of t with itself

T degToRad ( T angle ) [inline]

Transform an angle in degrees to radians.

Returns:
angle in radians

int highestBit ( T i ) [inline]

Returns the highest bit set for the specified positive input value.

T highestBitValue ( T i ) [inline]

Returns the highest bit value for the specified positive input value.

float horizontalToVerticalFieldOfView | ( | float | hFoV,
 |  | float | aspectRatio
 | ) | [inline]

Calculate the vertical field of view out of the horizontal field of view.

bool isPowerOfTwo ( T n ) [inline]

Determine if an integer is a power of two.

Returns:
true if n is a power of two, otherwise false

T lerp | ( | float | alpha,
 |  | const T & | v0,
 |  | const T & | v1
 | ) | [inline]

Linear interpolation between two values v0 and v1.

v = ( 1 - alpha ) * v0 + alpha * v1

Parameters:
alpha | interpolation parameter
v0 | starting value
v1 | ending value

const T& max | ( | const T & | a,
 |  | const T & | b,
 |  | const T & | c
 | ) | [inline]

Determine the maximal value out of three.

Parameters:
a | A constant reference of the first value to consider.
b | A constant reference of the second value to consider.
c | A constant reference of the third value to consider.
Returns:
A constant reference to the maximal value out of a, b, and c.
See also:
min

const T& min | ( | const T & | a,
 |  | const T & | b,
 |  | const T & | c
 | ) | [inline]

Determine the minimal value out of three.

Parameters:
a | A constant reference of the first value to consider.
b | A constant reference of the second value to consider.
c | A constant reference of the third value to consider.
Returns:
A constant reference to the minimal value out of a, b, and c.
See also:
max

T powerOfTwoAbove ( T n ) [inline]

Determine the smallest power of two equal to or larger than n.

Parameters:
n The value to determine the nearest power of two above.
Returns:
n, if n is a power of two, otherwise the smallest power of two above n.
See also:
powerOfTowBelow

T powerOfTwoBelow ( T n ) [inline]

Determine the largest power of two equal to or smaller than n.

Parameters:
n The value to determine the nearest power of two below.
Returns:
n, if n is a power of two, otherwise the largest power of two below n.
See also:
powerOfTowAbove

T powerOfTwoNearest ( T n ) [inline]

Calculates the nearest power of two for the specified integer.

Parameters:
n Integer for which to calculate the nearest power of two.
Returns:
nearest power of two for integer n.

float radToDeg ( float angle ) [inline]

Transform an angle in radian to degree.

Parameters:
angle angle in radians
Returns:
angle in degrees

int sign ( const T & t ) [inline]

Determine the sign of a scalar.

Parameters:
t scalar value
Returns:
sign of t

unsigned int solveQuadraticEquation | ( | T | a,
 |  | T | b,
 |  | T | c,
 |  | T & | x0,
 |  | T & | x1
 | ) | [inline]

Solve the quadratic equation a*x^2 + b*x + c = 0.

Parameters:
a | Coefficient of the quadratic term.
b | Coefficient of the linear term.
c | Coefficient of the constant term.
x0 | Reference to hold the first of up to two solutions.
x1 | Reference to hold the second of up to two solutions.
Returns:
The number of real solutions (0, 1, or 2)
Remarks:
If 2 is returned, x0 and x1 hold those two solutions. If 1 is returned, it is a double solution (turning point), returned in x0. If 0 is returned, there are only two complex conjugated solution, that are not calculated here.

unsigned int solveCubicEquation | ( | T | a,
 |  | T | b,
 |  | T | c,
 |  | T | d,
 |  | T & | x0,
 |  | T & | x1,
 |  | T & | x2
 | ) | [inline]

Solve the cubic equation a*x^3 + b*x^2 + c*x + d = 0.

Parameters:
a | Coefficient of the cubic term.
b | Coefficient of the quadratic term.
c | Coefficient of the linear term.
d | Coefficient of the constant term.
x0 | Reference to hold the first of up to three solutions.
x1 | Reference to hold the second of up to three solutions.
x2 | Reference to hold the second of up to three solutions.
Returns:
The number of real solutions (0, 1, 2, or 3)
Remarks:
If the absolute value of a is less than the type specific epsilon, the cubic equation is handled as a quadratic only. If 3 is returned, x0, x1, and x2 hold those three solutions. If 2 is returned, the cubic equation in fact was a quadratic one, and x0 and x1 hold those two solutions. If 1 is returned, the cubic equation has two conjugate complex, and one real solution; as complex numbers are not treated by this function, it is just the real solution returned in x0. If 0 is returned, the cubic equationn again war in fact a quadratic one, and there are only two complex conjugated solution, that are not calculated here.

T square ( const T & t ) [inline]

Template to square an object of Type T.

Parameters:
t value to square
Returns:
product of t with itself

float verticalToHorizontalFieldOfView | ( | float | vFoV,
 |  | float | aspectRatio
 | ) | [inline]

Calculate the horizontal field of view out of the vertical field of view.

int compare | ( | T | lhs,
 |  | T | rhs
 | ) | [inline]

Compares two numerical values.

Returns:
-1 if lhs < rhs, 1 if lhs > rhs, and 0 if lhs == rhs.

int compare | ( | float | lhs,
 |  | float | rhs
 | ) | [inline]

Compares two float values.

Returns:
-1 if lhs < rhs, 1 if lhs > rhs, and 0 if lhs == rhs.

int compare | ( | double | lhs,
 |  | double | rhs
 | ) | [inline]

Compares two double values.

Returns:
-1 if lhs < rhs, 1 if lhs > rhs, and 0 if lhs == rhs.

bool areOnOppositeSides | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p0,
 |  | const Vecnt< n, T > & | p1
 | ) |

Test if two points are on opposite sides of a plane.

Parameters:
pl | A reference to a constant plane.
p0 | A reference to the constant first point.
p1 | A reference to the constant second point.
Returns:
true, if p0 and p1 are on opposite sides of pl.
See also:
areOnSameSide

bool areOnSameSide | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p0,
 |  | const Vecnt< n, T > & | p1
 | ) |

Test if two points are on the same side of a plane.

Parameters:
pl | A reference to a constant plane.
p0 | A reference to the constant first point.
p1 | A reference to the constant second point.
Returns:
true, if p0 and p1 are on the same side of pl.
See also:
areOnOppositeSide

T distance | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p
 | ) |

Calculate the distance of a point to a plane.

Parameters:
pl | A reference to the constant plane.
p | A reference to the constant point.
Returns:
The distance of the point p to the plane pl.
See also:
signedDistance

Vecnt< n, T > nearestPoint | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p
 | ) |

Calculate the point on a plane nearest to a give point.

Parameters:
pl | A reference to the constant plane.
p | A reference to the constant point.
Returns:
The point on the plane pl nearest to the point p.
See also:
distance, signedDistance

bool operator== | ( | const Planent< n, T > & | pl0,
 |  | const Planent< n, T > & | pl1
 | ) |

Test for equality of two planes.

Parameters:
pl0 | A reference to the constant first plane.
pl1 | A reference to the constant second plane.
Returns:
true, if the normals of the two planes are equal and the offsets differ less than the type specific epsilon. Otherwise false.
See also:
operator!=()

bool operator!= | ( | const Planent< n, T > & | pl0,
 |  | const Planent< n, T > & | pl1
 | ) |

Test for inequality of two planes.

Parameters:
pl0 | A reference to the constant first plane.
pl1 | A reference to the constant second plane.
Returns:
true, if the normals of the two planes are not equal or the offsets differ more than the type specific epsilon. Otherwise false.
See also:
operator==()

T signedDistance | ( | const Planent< n, T > & | pl,
 |  | const Vecnt< n, T > & | p
 | ) |

Calculate the signed distance of a point to a plane.

Parameters:
pl | A reference to the constant plane.
p | A reference to the constant point.
Returns:
The signed distance of the point p to the plane pl.
Remarks:
The signed distance of a point p to a plane pl is positive, if p is in the half space the normal a pl points to. If p is in the other half space, the signed distance is negative.
See also:
distance

void decompose | ( | const Quatt< T > & | q,
 |  | Vecnt< 3, T > & | axis,
 |  | T & | angle
 | ) | [inline]

Decompose a quaternion into an axis and an angle.

Parameters:
q | A reference to the constant quaternion to decompose.
axis | A reference to the resulting axis.
angle | A reference to the resulting angle.

T distance | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Determine the distance between two quaternions.

Parameters:
q0 | A reference to the left constant quaternion.
q1 | A reference to the right constant quaternion.
Returns:
The euclidean distance between q0 and q1, interpreted as Vecnt<4,T>.

bool isNormalized | ( | const Quatt< T > & | q,
 |  | T | eps = std::numeric_limits<T>::epsilon() * 8
 | ) |

Test if a quaternion is normalized.

Parameters:
q | A reference to the constant quaternion to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the quaternion is normalized, otherwise false.
Remarks:
A quaternion q is considered to be normalized, when it's magnitude differs less than some small value eps from one.

bool isNull | ( | const Quatt< T > & | q,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Test if a quaternion is null.

Parameters:
q | A reference to the constant quaternion to test.
eps | An optional value giving the allowed epsilon. The default is a type dependent value.
Returns:
true if the quaternion is null, otherwise false.
Remarks:
A quaternion q is considered to be null, if it's magnitude is less than some small value eps.

T magnitude ( const Quatt< T > & q ) [inline]

Determine the magnitude of a quaternion.

Parameters:
q A reference to the quaternion to determine the magnitude of.
Returns:
The magnitude of the quaternion q.
Remarks:
The magnitude of a normalized quaternion is one.

bool operator== | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion equality operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
true if the quaternions q0 and q are equal, otherwise false.
Remarks:
Two quaternions are considered to be equal, if each component of the one quaternion deviates less than epsilon from the corresponding element of the other quaternion.

bool operator!= | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion inequality operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
true if q0 is not equal to q1, otherwise false
Remarks:
Two quaternions are considered to be equal, if each component of the one quaternion deviates less than epsilon from the corresponding element of the other quaternion.

Quatt< T > operator~ ( const Quatt< T > & q ) [inline]

Quaternion conjugation operator.

Parameters:
q A reference to the constant quaternion to conjugate.
Returns:
The conjugation of q.
Remarks:
The conjugation of a quaternion is a rotation of the same angle around the negated axis.

Quatt< T > operator- ( const Quatt< T > & q ) [inline]

Negation operator.

Parameters:
q A reference to the constant quaternion to get the negation from.
Returns:
The negation of q.
Remarks:
The negation of a quaternion is a rotation around the same axis by the negated angle.

Quatt< T > operator * | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion multiplication operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
The product of q0 with a1.
Remarks:
Multiplying two quaternions gives a quaternion that represents the concatenation of the rotation represented by the two quaternions. Besides rounding errors, the following equation holds:
    Matnnt<3,T>( q0 * q1 ) == Matnnt<3,T>( q0 ) * Matnnt<3,T>( q1 )

Vecnt< 3, T > operator * | ( | const Quatt< T > & | q,
 |  | const Vecnt< 3, T > & | v
 | ) | [inline]

Quaternion multiplication operator with a vector.

Parameters:
q | A reference to the constant left operand.
v | A reference to the constant right operand.
Returns:
The vector v rotated by the inverse of q.
Remarks:
Multiplying a quaternion q with a vector v applies the inverse rotation represented by q to v.

Vecnt< 3, T > operator * | ( | const Vecnt< 3, T > & | v,
 |  | const Quatt< T > & | q
 | ) | [inline]

Vector multiplication operator with a quaternion.

Parameters:
v | A reference to the constant left operand.
q | A reference to the constant right operand.
Returns:
The vector v rotated by q.
Remarks:
Multiplying a vector v by a quaternion q applies the rotation represented by q to v.

Quatt< T > operator/ | ( | const Quatt< T > & | q0,
 |  | const Quatt< T > & | q1
 | ) | [inline]

Quaternion division operator.

Parameters:
q0 | A reference to the constant left operand.
q1 | A reference to the constant right operand.
Returns:
A quaternion representing the quotient of q0 and q1.
Remarks:
Dividing a quaternion by an other gives a quaternion that represents the concatenation of the rotation represented by the numerator quaternion and the rotation represented by the conjugated denumerator quaternion.

NVSG_API Quatt<float> lerp | ( | float | alpha,
 |  | const Quatt< float > & | q0,
 |  | const Quatt< float > & | q1
 | ) |

Spherical linear interpolation between two quaternions q0 and q1.

Parameters:
alpha | The interpolation parameter.
q0 | The starting value.
q1 | The ending value.
Returns:
The quaternion that represents the spherical linear interpolation between q0 and q1.

NVSG_API void lerp | ( | float | alpha,
 |  | const Quatt< float > & | q0,
 |  | const Quatt< float > & | q1,
 |  | Quatt< float > & | qr
 | ) |

Spherical linear interpolation between two quaternions q0 and q1.

Parameters:
alpha | The interpolation parameter.
q0 | The starting value.
q1 | The ending value.
qr | The quaternion that represents the spherical linear interpolation between q0 and q1.

Spherent< n, T > boundingSphere | ( | const Vecnt< n, T > * | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Determine the bounding sphere of a number of points.

Parameters:
points | A pointer to the points to include.
numberOfPoints | The number of points used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | RandomAccessIterator | points,
 |  | unsigned int | numberOfPoints
 | ) | [inline]

Determine the bounding sphere of a number of points.

Parameters:
points | A random access iterator to the points to use.
numberOfPoints | The number of points used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | const Vecnt< n, T > * | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) |

Determine the bounding sphere of a number of indexed points.

Parameters:
points | A pointer to the points to use.
indices | A pointer to the indices to use.
numberOfIndices | The number of indices used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | RandomAccessIterator | points,
 |  | const unsigned int * | indices,
 |  | unsigned int | numberOfIndices
 | ) |

Determine the bounding sphere of a number of indexed points.

Parameters:
points | A random access iterator to the points to use.
indices | A pointer to the indices to use.
numberOfIndices | The number of indices used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | const Vecnt< n, T > * | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) |

Determine the bounding sphere of a number of strip-indexed points.

Parameters:
points | A pointer to the points to use.
strips | A pointer to the strips of indices used.
numberOfStrips | The number of strips used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | RandomAccessIterator | points,
 |  | const std::vector< unsigned int > * | strips,
 |  | unsigned int | numberOfStrips
 | ) |

Determine the bounding sphere of a number of strip-indexed points.

Parameters:
points | A random access iterator to the points to use.
strips | A pointer to the strips of indices used.
numberOfStrips | The number of strips used.
Returns:
A small sphere around the given points.
Remarks:
The sphere is not necessarily the smallest possible bounding sphere.

Spherent< n, T > boundingSphere | ( | const Spherent< n, T > & | s,
 |  | const Vecnt< n, T > & | p
 | ) |

Determine the bounding sphere of a sphere and a point.

Parameters:
s | A reference to the constant sphere to use.
p | A reference to the constant point to use.
Returns:
The bounding sphere around s and p.
Remarks:
If p is inside of s, a sphere of the same size and position as s is returned. Otherwise, the smallest sphere enclosing both s and p is returned.

Spherent< n, T > boundingSphere | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Determine the bounding sphere around two spheres.

Parameters:
s0 | A reference to the constant first sphere to enclose.
s1 | A reference to the constant second sphere to enclose.
Returns:
A bounding sphere around s0 and s1.
Remarks:
If the one sphere is completely contained in the other, a sphere equaling that other sphere is returned. Otherwise, the smallest sphere enclosing both s0 and s1 is returned.

Spherent< n, T > intersectingSphere | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Determine the bounding sphere of the intersection of two spheres.

Parameters:
s0 | A reference to the constant first sphere.
s1 | A reference to the constant second sphere.
Returns:
A sphere around the intersection of s0 and s1.

bool isValid ( const Spherent< n, T > & s ) [inline]

Determine if a sphere is valid.

Parameters:
s A reference to a constant sphere.
Returns:
true, if s is valid, otherwise false.
Remarks:
A sphere is considered to be valid, if it's radius is not negative.

bool isPositive ( const Spherent< n, T > & s ) [inline]

Determine if a sphere is positive.

Parameters:
s A reference to a constant sphere.
Returns:
true, if s is positive, otherwise false.
Remarks:
A sphere is considered to be positive, if it's radius is positive.

bool operator== | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Test for equality of two spheres.

Parameters:
s0 | A constant reference to the first sphere to test.
s1 | A constant reference to the second sphere to test.
Returns:
true, if the centers of the spheres are equal and the radii differ less than the type specific epsilon. Otherwise false.
See also:
operator!=()

bool operator!= | ( | const Spherent< n, T > & | s0,
 |  | const Spherent< n, T > & | s1
 | ) |

Test for inequality of two spheres.

Parameters:
s0 | A constant reference to the first sphere to test.
s1 | A constant reference to the second sphere to test.
Returns:
true, if the centers of the spheres are different or the radii differ more than the type specific epsilon. Otherwise false.
See also:
operator==()

void boundingBox | ( | const Vecnt< n, T > * | points,
 |  | size_t | numberOfPoints,
 |  | Vecnt< n, T > & | min,
 |  | Vecnt< n, T > & | max
 | ) | [inline]

Determine the bounding box of a number of points.

Parameters:
points | A vector to the points.
numberOfPoints | The number of points in points.
min | Reference to the calculated lower left front vertex of the bounding box.
max | Reference to the calculated upper right back vertex of the bounding box.

void boundingBox | ( | RandomAccessIterator | points,
 |  | size_t | numberOfPoints,
 |  | Vecnt< n, T > & | min,
 |  | Vecnt< n, T > & | max
 | ) | [inline]

Determine the bounding box of a number of points.

Parameters:
points | A random access iterator to the points.
numberOfPoints | The number of points in points.
min | Reference to the calculated lower left front vertex of the bounding box.
max | Reference to the calculated upper right back vertex of the bounding box.

bool areOpposite | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors point in opposite directions.

Parameters:
v0 | A constant reference to the first normalized vector to use.
v1 | A constant reference to the second normalized vector to use.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v0 and v1 are anti-parallel, otherwise false.
Note:
The behavior is undefined if v0 or v1 are not normalized.
See also:
areCollinear, isNormalized

bool areOrthogonal | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps = 2 * std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors are orthogonal.

Parameters:
v0 | A constant reference to the first vector to use.
v1 | A constant reference to the second vector to use.
eps | An optional deviation from orthonormality. The default is the type dependent epsilon.
Returns:
true, if v0 and v1 are orthogonal, otherwise false.
See also:
areOrthonormal

bool areOrthonormal | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps = 2 * std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors are orthonormal.

Parameters:
v0 | A constant reference to the first normalized vector to use.
v1 | A constant reference to the second normalized vector to use.
eps | An optional deviation from orthonormality. The default is the type dependent epsilon.
Returns:
true, if v0 and v1 are orthonormal, otherwise false.
Note:
The behavior is undefined if v0 or v1 are not normalized.
See also:
areOrthogonal

bool areSimilar | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1,
 |  | T | eps
 | ) | [inline]

Determine if two vectors differ less than a given epsilon in each component.

Parameters:
v0 | A constant reference to the first vector to use.
v1 | A constant reference to the second vector to use.
eps | The acceptable deviation for each component.
Returns:
true, if \ v0 and v1 differ less than or equal to eps in each component, otherwise false.
See also:
distance, operator==()

T distance | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Determine the distance between vectors.

Parameters:
v0 | A constant reference to the first vector.
v1 | A constant reference to the second vector.
Returns:
The euclidean distance between v0 and v1.
See also:
length, lengthSquared

bool isNormalized | ( | const Vecnt< n, T > & | v,
 |  | T | eps = 2 * std::numeric_limits<T>::epsilon()
 | ) |

Determine if a vector is normalized.

Parameters:
v | A constant reference to the vector to test.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v is normalized, otherwise false.
See also:
isNull, length, lengthSquared, normalize

bool isNull | ( | const Vecnt< n, T > & | v,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if a vector is the null vector.

Parameters:
v | A constant reference to the vector to test.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v is the null vector, otherwise false.
See also:
isNormalized, length, lengthSquared

bool isUniform | ( | const Vecnt< n, T > & | v,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if a vector is uniform, that is, all its components are equal.

Parameters:
v | A constant reference to the vector to test.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if all components of v are equal, otherwise false.

T length ( const Vecnt< n, T > & v ) [inline]

Determine the length of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The length of the vector v.
See also:
lengthSquared

T lengthSquared ( const Vecnt< n, T > & v ) [inline]

Determine the squared length of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The squared length of the vector v.
See also:
length

T maxElement ( const Vecnt< n, T > & v ) [inline]

Determine the maximal element of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The largest absolute value of v.
See also:
minElement

T minElement ( const Vecnt< n, T > & v ) [inline]

Determine the minimal element of a vector.

Parameters:
v A constant reference to the vector to use.
Returns:
The smallest absolute value of v.
See also:
maxElement

T normalize ( Vecnt< n, T > & v ) [inline]

Normalize a vector.

Parameters:
v A reference to the vector to normalize.
Returns:
The length of the unnormalized vector.
See also:
isNormalized, length

bool operator== | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Test for equality of two vectors.

Parameters:
v0 | A constant reference to the first vector to test.
v1 | A constant reference to the second vector to test.
Returns:
true, if the two vectors component-wise differ less than the type dependent epsilon, otherwise false.
See also:
operator!=()

bool operator!= | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Test for inequality of two vectors.

Parameters:
v0 | A constant reference to the first vector to test.
v1 | A constant reference to the second vector to test.
Returns:
true, if the two vectors component-wise differ more than the type dependent epsilon in at least one component, otherwise false.
See also:
operator==()

Vecnt< n, T > operator+ | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Vector addition operator.

Parameters:
v0 | A constant reference to the left operand.
v1 | A second reference to the right operand.
Returns:
A vector holding the component-wise sum of v0 and v1.
See also:
operator-()

Vecnt< n, T > operator- ( const Vecnt< n, T > & v ) [inline]

Unary vector negation operator.

Parameters:
v A constant reference to a vector.
Returns:
A vector holding the component-wise negation of v.
See also:
operator-()

Vecnt< n, T > operator- | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Vector subtraction operator.

Parameters:
v0 | A constant reference to the left operand.
v1 | A second reference to the right operand.
Returns:
A vector holding the component-wise difference of v0 and v1.
See also:
operator+()

Vecnt< n, T > operator * | ( | const Vecnt< n, T > & | v,
 |  | S | s
 | ) | [inline]

Scalar multiplication of a vector.

Parameters:
v | A constant reference to the left operand.
s | A scalar as the right operand.
Returns:
A vector holding the component-wise product with s.
See also:
operator/()

Vecnt< n, T > operator * | ( | S | s,
 |  | const Vecnt< n, T > & | v
 | ) | [inline]

Scalar multiplication of a vector.

Parameters:
s | A scalar as the left operand.
v | A constant reference to the right operand.
Returns:
A vector holding the component-wise product with s.
See also:
operator/()

T operator * | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Vector multiplication.

Parameters:
v0 | A constant reference to the left operand.
v1 | A constant reference to the right operand.
Returns:
The dot product of v0 and v1.
See also:
operator^()

Vecnt< n, T > operator/ | ( | const Vecnt< n, T > & | v,
 |  | S | s
 | ) | [inline]

Scalar division of a vector.

Parameters:
v | A constant reference to the left operand.
s | A scalar as the right operand.
Returns:
A vector holding the component-wise division by s.
See also:
operator*()

Vecnt< n, T > orthonormal ( const Vecnt< n, T > & v ) [inline]

Determine a vector that's orthonormal to v.

Parameters:
v A vector to determine an orthonormal vector to.
Returns:
A vector that's orthonormal to v.
Note:
The result of this function is not uniquely defined. In two dimensions, the orthonormal to a vector can be one of two anti-parallel vectors. In higher dimensions, there are infinitely many possible results. This function just select one of them.
See also:
orthonormalize

Vecnt< n, T > orthonormalize | ( | const Vecnt< n, T > & | v0,
 |  | const Vecnt< n, T > & | v1
 | ) | [inline]

Determine the orthonormal vector of v1 with respect to v0.

Parameters:
v0 | A constant reference to the normalized vector to orthonormalize against.
v1 | A constant reference to the normalized vector to orthonormalize.
Returns:
A normalized vector representing the orthonormalized version of v1 with respect to v0.
Note:
The behavior is undefined if v0 or v1 are not normalized.
Example:
    Vec3f newYAxis = orthonormalize( newZAxis, oldYAxis );
See also:
normalize

Vecnt< 1, T > & setVec | ( | Vecnt< 1, T > & | v,
 |  | T | x
 | ) | [inline]

Set the values of a two-component vector.

Parameters:
v | A reference to the vector to set with x.
x | The first component to set.

Vecnt< 2, T > & setVec | ( | Vecnt< 2, T > & | v,
 |  | T | x,
 |  | T | y
 | ) | [inline]

Set the values of a two-component vector.

Parameters:
v | A reference to the vector to set with x and y.
x | The first component to set.
y | The second component to set.

bool areCollinear | ( | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1,
 |  | T | eps = std::numeric_limits<T>::epsilon()
 | ) |

Determine if two vectors are collinear.

Parameters:
v0 | A constant reference to the first vector.
v1 | A constant reference to the second vector.
eps | An optional type dependent epsilon, defining the acceptable deviation.
Returns:
true, if v0 and v1 are collinear, otherwise false.
See also:
areOpposite

Vecnt< 3, T > operator^ | ( | const Vecnt< 3, T > & | v0,
 |  | const Vecnt< 3, T > & | v1
 | ) | [inline]

Cross product operator.

Parameters:
v0 | A constant reference to the left operand.
v1 | A constant reference to the right operand.
Returns:
A vector that is the cross product of v0 and v1.
See also:
operator*()

Vecnt< 3, T > & setVec | ( | Vecnt< 3, T > & | v,
 |  | T | x,
 |  | T | y,
 |  | T | z
 | ) | [inline]

Set the values of a three-component vector.

Parameters:
v | A reference to the vector to set with x, y and z.
x | The first component to set.
y | The second component to set.
z | The third component to set.

void smoothNormals | ( | const std::vector< Vecnt< 3, T > > & | vertices,
 |  | const Spherent< 3, T > & | sphere,
 |  | T | creaseAngle,
 |  | std::vector< Vecnt< 3, T > > & | normals
 | ) | [inline]

Determine smoothed normals for a set of vertices.

Parameters:
vertices | A constant reference to a vector of vertices.
sphere | A constant reference to the bounding sphere of the vertices.
creaseAngle | The angle in radians to crease at.
normals | A reference to a vector of normals.
Remarks:
Given vertices with normals and their bounding sphere, this function calculates smoothed normals in normals for the vertices. For all vertices, that are similar within a tolerance that depends on the radius of sphere, and whose normals differ less than creaseAngle (in radians), their normals are set to the average of their normals.

Vecnt< 4, T > & setVec | ( | Vecnt< 4, T > & | v,
 |  | T | x,
 |  | T | y,
 |  | T | z,
 |  | T | w
 | ) | [inline]

Set the values of a four-component vector.

Parameters:
v | A reference to the vector to set with x, y, z, and w.
x | The first component to set.
y | The second component to set.
z | The third component to set.
w | The fourth component to set.

Variable Documentation

NVSG_API const Mat44f cIdentity44f

global identity matrix.

const float PI = 3.14159265358979323846f

constant PI

const float PI_HALF = 1.57079632679489661923f

constant PI half

const float PI_QUARTER = 0.78539816339744830962f

constant PI quarter

const float SQRT_TWO = 1.41421356237309504880f

constant square root two

const float SQRT_TWO_HALF = 0.70710678118654752440f

constant square root two half

const float SQRT_THREE = 1.73205080756887729353f

constant square root three

const float SQRT_THREE_HALF = 0.86602540378443864676f

constant square root three

Generated on Fri Jul 13 13:29:45 2012 for SceniX


SceniX: nvsg Namespace Reference

nvsg Namespace Reference

Scene graph classes - core SceniX. More...

Classes

class | AlphaTestAttribute
StateAttribute that defines the Alpha test. More...
class | AnimatedTransform
Class representing an animated Transform. More...
class | AnimatedVertexAttributeSet
Provides functionality to work with animated vertex attribute data. More...
class | AnimationState
Base class of all Animation classes. More...
struct | AnimationObjectCode< unsigned int >
struct | AnimationObjectCode< VertexAttribute >
struct | AnimationObjectCode< float >
class | Animation
Template class for animations. More...
class | AnimationDescription
Base class to describe the data of and access to an animation. More...
class | Billboard
Class that adds billboard properties to a Group. More...
class | BlendAttribute
StateAttribute that determines the blending modes to use. More...
class | Buffer
Interface for buffers used as storage for SceniX. More...
class | BufferHost
Buffer implementation using memory on the host as storage. More...
class | Callback
Callback class to link objects with an observer. More...
class | Camera
Abstract base class for parallel and perspective cameras. More...
class | CgFxContext
CgFxContext wraps multiplexed CGcontexts and maintains its state machine configuration. More...
class | CgFxEffect
Abstracts a render effect to be applied to a specific geometry. More...
class | CgFx
A StateAttribute to apply render effects that are compliant to the Cg 1.4 standard. More...
class | ClipPlane
Defines a user clipping plane. More...
class | DALHostHolder
class | DALHost
Represents an object capable to host a Device Abstraction Link. More...
class | DALDataCreator
Represents the interface required for a creator of DALData. More...
class | DALData
Device Abstraction Link Data. More...
class | DepthAttribute
StateAttribute that determines the depth settings to use. More...
class | DirectedLight
LightSource representing a directed light. More...
class | DrawCallback
Provides an interface to perform custom pre- and post-processing with rendering a Drawable. More...
class | Drawable
The abstract base class of all drawable objects. More...
class | NVSGException
class | Face
Simple helper class for Lines, Quads, and Triangles. More...
class | FaceAttribute
PrimitiveAttribute specific for Drawables with faces, like Triangles or QuadStrips. More...
class | FaceConnections
Helper class to determine face connectivity from triangle or quad soups. More...
class | FlipbookAnimation
Class representing a flipbook animation. More...
class | FramedAnimationDescription
Template class of an Animation that holds a complete data set for each frame. More...
class | FrustumCamera
Class describing a perspective or parallel Camera. More...
class | TreeBaseClass
class | TreeNodeBaseClass
struct | TransformTreeNode
struct | ObjectTreeNode
class | TransformTree
class | ObjectTree
class | GeneratorState
class | GeoNode
Leaf Node to maintain geometry. More...
class | Group
Provides grouping of Node objects. More...
class | IndependentPrimitiveSet
Abstract base class for PrimitiveSet objects with independent primitives. More...
class | IndexSet
Provides an interface to handle indices to be attached to a Primitive. More...
class | IteratingRenderListProcessor
class | KeyFramedAnimationDescription
Abstract base class for key-framed Animations of type T. More...
class | LightingAttribute
StateAttribute indicating whether lighting should be disabled. More...
class | LightSource
Abstract base class for all light sources. More...
struct | LinearInterpolatedAnimationDescriptionObjectCode< VertexAttribute >
struct | LinearInterpolatedAnimationDescriptionObjectCode< float >
class | LinearInterpolatedAnimationDescription
An KeyFramedAnimationDescription class that performs linear interpolation. More...
class | LineAttribute
PrimitiveAttribute specific for Drawables with lines, like Lines or LineStrips. More...
class | Lines
IndependentPrimitiveSet for lines. More...
class | LineStrips
StrippedPrimitiveSet for line strips. More...
class | LOD
Distance-based level of detail class. More...
struct | LODLessThan
Performs a lexical less than comparison of two LODs This functor can be used as comparison function to order elements of LODSharedPtr in an associative STL container like map. More...
class | Map
Abstract base class for Map objects. More...
class | MapArray
Class to hold an array of Map objects. More...
class | MapElement
Class to hold a single Map. More...
class | MapList
Class to hold a list of two-dimensional maps. More...
class | MapMatrix
Class to hold a matrix of Map objects. More...
class | MapObject
Abstract base class to position one or more Map objects. More...
class | Material
StateAttribute that describes material properties. More...
class | MatrixCamera
Class describing a Camera by a projection matrix. More...
class | IndexMesh
IndexList specialization used with a MeshedPrimitiveSet. More...
class | MeshedPrimitiveSet
Abstract base class for PrimitiveSet objects with points organized as meshes. More...
class | Node
Serves as base class for all tree nodes. More...
class | Object
Serves as base class for all traversable objects. More...
class | RenderObject
class | RenderObjectCreator
class | RenderObjectTmpl
class | RenderObjectCreatorTmpl
class | ObjectRenderer
class | OwnedObject
Helper class to hold a vector of owners of an Object. More...
class | ParallelCamera
Class describing a parallel (non-perspective) Camera. More...
class | PatchesBase
Base class for various Patches classes. More...
class | Path
Class that represents a path through the tree. More...
class | PerspectiveCamera
Class describing a perspective Camera. More...
class | SceneLoader
Pure virtual base class for SceniX scene loader plug-ins. More...
class | SceneSaver
Pure virtual base class for SceniX scene saver plug-ins. More...
class | TextureLoader
Pure virtual base class for texture loader plugins. More...
class | TextureSaver
Pure virtual base class for texture saver plugins. More...
class | ShaderLoader
Pure virtual base class for shader loader plugins. More...
class | PointAttribute
PrimitiveAttribute specific for Points. More...
class | PointLight
LightSource representing a point light. More...
class | Points
IndependentPrimitiveSet for points. More...
class | Primitive
Class for Drawable objects holding a VertexAttributeSet. More...
class | PrimitiveAttribute
Base class for all primitive related StateAttribute classes. More...
class | PrimitiveSet
Base class for Drawable objects holding a VertexAttributeSet. More...
class | QuadMeshes
MeshedPrimitiveSet for quad meshes. More...
class | QuadPatches
IndependentPrimitiveSet for quadratic patches. More...
class | QuadPatches4x4
IndependentPrimitiveSet for 4x4 patches. More...
class | Quads
IndependentPrimitiveSet for quads. More...
class | QuadStrips
StrippedPrimitiveSet for quad strips. More...
class | RectPatches
IndependentPrimitiveSet for rectangular patches. More...
struct | RenderState
class | NodeExecutionObject
class | RenderListChildClass
class | RenderListParentClass
class | RenderListNodeClass
class | RenderList2
class | RenderModeGroup
class | MaterialGroup
class | DrawableInstance
class | LightInstance
class | ClipPlaneInstance
class | RenderListProcessor
class | Resource
class | RTBufferAttribute
StateAttribute that defines an RTBuffer used for Ray Tracing. More...
class | RTFxBase
A StateAttribute to apply render effects to the Ray Tracing System. More...
class | RTFx
A StateAttribute to represent a per-object ray tracing effect. More...
class | RTFxSceneAttribute
A SceneAttribute to represent a per-scene ray tracing effect. More...
class | RTFxParameter
class | RTFxProgram
class | Scene
Container class to hold all scene related information. More...
class | SceneAttribute
Abstract base class of all Scene attribute objects. More...
class | Shape
Abstract base class for shaped geometries like Boxes, Spheres, etc. More...
class | Skin
Provides functionality to work with skinned vertex attribute data. More...
class | SpotLight
LightSource representing a spot light. More...
class | StateAttribute
Abstract base class of all attribute objects. More...
class | StatePass
Container class to hold a number of StateAttribute objects. More...
class | StateSet
Container class to hold a number of StateVariant objects. More...
class | StateVariant
Container class to hold a number of StatePass objects. More...
class | StatisticsRenderListProcessor
class | StencilAttribute
Lets you specify a stencil test to apply to a number of Drawable objects. More...
class | StrippedPrimitiveSet
Abstract base class for PrimitiveSet objects with points organized as strips. More...
class | Switch
Switch node. More...
class | Texture
Interface for textures used as storage for SceniX. More...
class | TextureAttributeItemData
Data of a texture attribute item that is worth sharing. More...
class | TextureAttributeItem
Texture attribute item. More...
class | TextureAttribute
Texture attribute. More...
struct | Image
Helper structure to hold the data of an image. More...
class | TextureHost
A texture image abstraction class. More...
class | ScaleFilter
Scale Filter Functor. More...
class | BoxFilter
ScaleFilter functor providing box filter functionality. More...
class | TriangleFilter
ScaleFilter functor providing triangle filter functionality. More...
class | BellFilter
ScaleFilter functor providing bell filter functionality. More...
class | BSplineFilter
ScaleFilter functor providing BSpline filter functionality. More...
class | Lanczos3Filter
ScaleFilter functor providing lanczos3 filter functionality. More...
class | Transform
Transform node. More...
class | Triangles
IndependentPrimitiveSet for triangles. More...
class | TriFans
StrippedPrimitiveSet for quad strips. More...
class | TriPatches
IndependentPrimitiveSet for triangular patches. More...
class | TriPatches4
IndependentPrimitiveSet for triangular patches with four vertices per side. More...
class | TriStrips
StrippedPrimitiveSet for triangle strips. More...
struct | Type2EnumType
Converts a given type into a symbolic constant representing a SceniX type. More...
struct | Type2EnumType< char >
struct | Type2EnumType< unsigned char >
struct | Type2EnumType< short >
struct | Type2EnumType< unsigned short >
struct | Type2EnumType< int >
struct | Type2EnumType< unsigned int >
struct | Type2EnumType< float >
struct | Type2EnumType< double >
class | UnlitColorAttribute
StateAttribute specifying the color in case there is no lighting. More...
class | VertexAttribute
Class to hold the data of one vertex attribute. More...
class | VertexAttributeSet
Provides an interface to deal with vertex attribute data. More...
class | ViewState
The ViewState class encapsulates view-specific state. More...
struct | AnimationObjectCode< nvmath::Trafo >
struct | AnimationObjectCode< nvmath::Vec2f >
struct | AnimationObjectCode< nvmath::Vec3f >
struct | AnimationObjectCode< nvmath::Vec4f >
struct | AnimationObjectCode< nvmath::Mat33f >
struct | AnimationObjectCode< nvmath::Mat44f >
struct | AnimationObjectCode< nvmath::Quatf >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Vec2f >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Vec3f >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Vec4f >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Mat33f >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Mat44f >
struct | LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Quatf >

Typedefs

typedef CGIParameter * | CgFxParameter
Typedef for a parameter handle.
typedef CGITechnique * | CgFxTechnique
Typedef for a technique handle.
typedef CGIPass * | CgFxPass
Typedef for a pass handle.
typedef CGIProgram * | CgFxProgram
Typedef for a program handle.
typedef CGIBuffer * | CgFxBuffer
Typedef for a buffer handle.
typedef std::pair< CgFxParameter,
CGMparameter > 		LeafParam
typedef std::set< LeafParam
>::iterator 		LeafIter
typedef Animation< unsigned
int > 		IndexAnimation
typedef Animation< nvmath::Mat33f > | Mat33fAnimation
typedef Animation< nvmath::Mat44f > | Mat44fAnimation
typedef Animation< nvmath::Quatf > | QuatfAnimation
typedef Animation< nvmath::Trafo > | TrafoAnimation
typedef Animation< nvmath::Vec2f > | Vec2fAnimation
typedef Animation< nvmath::Vec3f > | Vec3fAnimation
typedef Animation< nvmath::Vec4f > | Vec4fAnimation
typedef Animation< VertexAttribute > | VertexAttributeAnimation
typedef AnimationDescription<
float > 		FloatAnimationDescription
typedef AnimationDescription<
unsigned int > 		IndexAnimationDescription
typedef AnimationDescription<
nvmath::Mat33f > 		Mat33fAnimationDescription
typedef AnimationDescription<
nvmath::Mat44f > 		Mat44fAnimationDescription
typedef AnimationDescription<
nvmath::Quatf > 		QuatfAnimationDescription
typedef AnimationDescription<
nvmath::Trafo > 		TrafoAnimationDescription
typedef AnimationDescription<
nvmath::Vec2f > 		Vec2fAnimationDescription
typedef AnimationDescription<
nvmath::Vec3f > 		Vec3fAnimationDescription
typedef AnimationDescription<
nvmath::Vec4f > 		Vec4fAnimationDescription
typedef AnimationDescription<
VertexAttribute > 		VertexAttributeAnimationDescription
typedef FramedAnimationDescription<
float > 		FramedFloatAnimationDescription
typedef FramedAnimationDescription<
unsigned int > 		FramedIndexAnimationDescription
typedef FramedAnimationDescription<
nvmath::Mat33f > 		FramedMat33fAnimationDescription
typedef FramedAnimationDescription<
nvmath::Mat44f > 		FramedMat44fAnimationDescription
typedef FramedAnimationDescription<
nvmath::Quatf > 		FramedQuatfAnimationDescription
typedef FramedAnimationDescription<
nvmath::Trafo > 		FramedTrafoAnimationDescription
typedef FramedAnimationDescription<
nvmath::Vec2f > 		FramedVec2fAnimationDescription
typedef FramedAnimationDescription<
nvmath::Vec3f > 		FramedVec3fAnimationDescription
typedef FramedAnimationDescription<
nvmath::Vec4f > 		FramedVec4fAnimationDescription
typedef FramedAnimationDescription<
VertexAttribute > 		FramedVertexAttributeAnimationDescription
typedef KeyFramedAnimationDescription<
float > 		KeyFramedFloatAnimationDescription
typedef KeyFramedAnimationDescription<
unsigned int > 		KeyFramedIndexAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Mat33f > 		KeyFramedMat33fAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Mat44f > 		KeyFramedMat44fAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Quatf > 		KeyFramedQuatfAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Trafo > 		KeyFramedTrafoAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Vec2f > 		KeyFramedVec2fAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Vec3f > 		KeyFramedVec3fAnimationDescription
typedef KeyFramedAnimationDescription<
nvmath::Vec4f > 		KeyFramedVec4fAnimationDescription
typedef KeyFramedAnimationDescription<
VertexAttribute > 		KeyFramedVertexAttributeAnimationDescription
typedef LinearInterpolatedAnimationDescription<
float > 		LinearInterpolatedFloatAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Mat33f > 		LinearInterpolatedMat33fAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Mat44f > 		LinearInterpolatedMat44fAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Quatf > 		LinearInterpolatedQuatfAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Trafo > 		LinearInterpolatedTrafoAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Vec2f > 		LinearInterpolatedVec2fAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Vec3f > 		LinearInterpolatedVec3fAnimationDescription
typedef LinearInterpolatedAnimationDescription<
nvmath::Vec4f > 		LinearInterpolatedVec4fAnimationDescription
typedef LinearInterpolatedAnimationDescription<
VertexAttribute > 		LinearInterpolatedVertexAttributeAnimationDescription
typedef unsigned long | HDAL
Handle to a Device Abstraction Link (DAL).
typedef Face< 2 > | Segment
Shortcut for a 2-element Face (line segment).
typedef Face< 3 > | Face3
Shortcut for a 3-element Face (triangle).
typedef Face< 4 > | Face4
Shortcut for a 4-element Face (quad).
typedef nvutil::SmartPtr<
RenderModeGroup > 		RenderModeGroupSharedPtr
typedef nvutil::SmartPtr<
MaterialGroup > 		MaterialGroupSharedPtr
typedef nvutil::SmartPtr<
DrawableInstance > 		DrawableInstanceSharedPtr
typedef nvutil::SmartPtr<
LightInstance > 		LightInstanceSharedPtr
typedef nvutil::SmartPtr<
ClipPlaneInstance > 		ClipPlaneInstanceSharedPtr
typedef RenderList2 * | RenderList2WeakPtr
typedef RenderModeGroup * | RenderModeGroupWeakPtr
typedef MaterialGroup * | MaterialGroupWeakPtr
typedef DrawableInstance * | DrawableInstanceWeakPtr
typedef size_t | TransformTreeIndex
typedef size_t | ObjectTreeIndex
typedef std::set< TransformTreeIndex > | TransformTreeIndexSet
typedef std::set< ObjectTreeIndex > | ObjectTreeIndexSet
typedef nvutil::STLVector<
LightInstanceSharedPtr > 		LightVector
typedef nvutil::STLVector<
ClipPlaneInstanceSharedPtr > 		ClipPlaneVector
typedef unsigned int | HashKey
type to use for nvsg::Object hashing
typedef unsigned long long | DataID
64-bit save DataID.
typedef nvutil::SmartPtr<
RenderObject > 		RenderObjectSharedPtr
typedef nvutil::SmartPtr<
RenderObjectCreator > 		RenderObjectCreatorSharedPtr
typedef RenderState::TransformState | TransformState
typedef RenderState::LightState | LightState
typedef RenderState::ClipPlaneState | ClipPlaneState
typedef RenderState::MaterialState | MaterialState
typedef RenderState::MaterialState::ShaderState | ShaderState
typedef RenderState::LightState::LightEntity | LightEntity
typedef nvutil::SmartPtr<
NodeExecutionObject > 		SmartNodeExecutionObject
typedef std::map< std::pair<
nvsg::StateSetWeakPtr, nvsg::StateAttributeWeakPtr >,
nvsg::StateSetSharedPtr > 		StateSetReplacementMap
Typedef for a map from a StateSet and a StateAttribute to a StateSet.

Enumerations

enum AlphaFunction {
AF_NEVER = 0, AF_LESS, AF_EQUAL, AF_LEQUAL,
AF_GREATER, AF_NOTEQUAL, AF_GEQUAL, AF_ALWAYS
}
Enumeration to identify the AlphaFunc conditional. More...
enum BlendFunction {
BF_ZERO, BF_ONE, BF_DESTINATION_COLOR, BF_SOURCE_COLOR,
BF_ONE_MINUS_DESTINATION_COLOR, BF_ONE_MINUS_SOURCE_COLOR, BF_SOURCE_ALPHA, BF_ONE_MINUS_SOURCE_ALPHA,
BF_DESTINATION_ALPHA, BF_ONE_MINUS_DESTINATION_ALPHA, BF_SOURCE_ALPHA_SATURATE
}
Enumeration to identify a blend function. More...
enum | CullCode { CC_OUT, CC_IN, CC_PART }
Type to describe the cull code of an object. More...
enum DepthFunction {
DF_NEVER, DF_ALWAYS, DF_LESS, DF_LESS_OR_EQUAL,
DF_EQUAL, DF_GREATER_OR_EQUAL, DF_GREATER, DF_NOT_EQUAL
}
Enumeration to identify a depth function. More...
enum | FaceMode { FM_POINT, FM_LINE, FM_FACE }
enum | MapAlignment { MA_LOWER, MA_CENTER, MA_UPPER }
Enumeration to define the alignment of a MapObject holding more than one Map. More...
enum | MapOrientation { MO_HORIZONTAL, MO_VERTICAL }
Enumeration to determine the horizontal or vertical orientation of a MapObject. More...
enum MapRelation {
MR_LOWER_LEFT, MR_LOWER_CENTER, MR_LOWER_RIGHT, MR_CENTER_LEFT,
MR_CENTER, MR_CENTER_RIGHT, MR_UPPER_LEFT, MR_UPPER_CENTER,
MR_UPPER_RIGHT
}
Enumeration to define the anchor relation of the MapObject position. More...
enum | MapTraversalDirection { MTD_LOW_TO_HIGH, MTD_HIGH_TO_LOW }
Enumeration to define the traversal direction of a MapObject holding more than one Map. More...
enum | MaterialFace { MF_FRONT = 0x01, MF_BACK = 0x02, MF_FRONT_AND_BACK = MF_FRONT | MF_BACK }
ID to identify the front and back face properties of a Material. More...
enum | { NVSG_DBG_ASSERT = BIT0, NVSG_DBG_LEAK_DETECTION = BIT1 }
enum | RuntimeDebugOp { NVSG_RUNTIME_DEBUG_POP_ALLOCATIONS, NVSG_RUNTIME_DEBUG_PUSH_ALLOCATIONS, NVSG_RUNTIME_DEBUG_DUMP_ALLOCATIONS, NVSG_RUNTIME_DEBUG_DUMP_ALLOCATION_DIFFERENCES }
enum | NVSGThreadingModelEnum { NVSG_SINGLETHREADED = 0, NVSG_MULTITHREADED }
enum | NVSG3DAPIEnum { NVSG_3DAPI_UNINITIALIZED = 0, NVSG_3DAPI_GL = 1 }
enum | NVSGFeatureSupportedEnum { NVSG_FAST_TEXTURE_UPLOAD = BIT0 }
enum {
OC_INVALID = 0xFFFFFFFF, OC_OBJECT = 0, OC_NODE = OC_OBJECT, OC_GEONODE,
OC_GROUP, OC_FLIPBOOKANIMATION, OC_LOD, OC_SWITCH,
OC_TRANSFORM, OC_ANIMATEDTRANSFORM, OC_DIRECTEDLIGHT, OC_POINTLIGHT,
OC_SPOTLIGHT, OC_BILLBOARD, OC_CLIPPLANE, OC_DRAWABLE = 0x20,
OC_VERTEX_ATTRIBUTE_SET, OC_ANIMATED_VERTEX_ATTRIBUTE_SET, OC_QUADS, OC_QUADSTRIPS,
OC_TRIANGLES, OC_TRISTRIPS, OC_LINES, OC_LINESTRIPS,
OC_TRIFANS, OC_POINTS, OC_SHAPE, OC_BITMAP,
OC_PIXMAP, OC_MAPELEMENT, OC_MAPARRAY, OC_MAPMATRIX,
OC_MAPLIST, OC_QUADMESHES, OC_SKIN, OC_PATCHES,
OC_RECT_PATCHES, OC_QUAD_PATCHES, OC_QUAD_PATCHES_4X4, OC_TRI_PATCHES,
OC_TRI_PATCHES_4, OC_PRIMITIVE, OC_STATESET = 0x40, OC_STATEVARIANT,
OC_STATEPASS, OC_STATEATTRIBUTE, OC_CGFX, OC_RTFX,
OC_RTFX_PROGRAM, OC_RTFX_SCENE_ATTRIBUTE, OC_FACEATTRIBUTE, OC_MATERIAL,
OC_TEXTUREATTRIBUTE, OC_TEXTUREATTRIBUTEITEM, OC_STATESETEXT, OC_LINEATTRIBUTE,
OC_LIGHTINGATTRIBUTE, OC_POINTATTRIBUTE, OC_BLENDATTRIBUTE, OC_ALPHATESTATTRIBUTE,
OC_DEPTHATTRIBUTE, OC_UNLITCOLORATTRIBUTE, OC_STENCILATTRIBUTE, OC_RTBUFFERATTRIBUTE,
OC_ANIMATION = 0x60, OC_INDEXANIMATION, OC_TRAFOANIMATION, OC_VERTEXATTRIBUTEANIMATION,
OC_FRAMEDINDEXANIMATIONDESCRIPTION, OC_FRAMEDTRAFOANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION, OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION,
OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION, OC_FLOATANIMATION, OC_VEC2FANIMATION, OC_VEC3FANIMATION,
OC_VEC4FANIMATION, OC_MAT33FANIMATION, OC_MAT44FANIMATION, OC_QUATFANIMATION,
OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION,
OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION, OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION, OC_CAMERA = 0x80,
OC_PARALLELCAMERA, OC_PERSPECTIVECAMERA, OC_MATRIXCAMERA, OC_CUSTOMOBJECT = 0xC0
}
Object Codes for SceniX Object Type Identification. More...
enum PrimitiveType {
PRIMITIVE_POINTS, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_LINES,
PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN, PRIMITIVE_TRIANGLES, PRIMITIVE_QUAD_STRIP,
PRIMITIVE_QUADS, PRIMITIVE_POLYGON, PRIMITIVE_TRIANGLES_ADJACENCY, PRIMITIVE_TRIANGLE_STRIP_ADJACENCY,
PRIMITIVE_LINES_ADJACENCY, PRIMITIVE_LINE_STRIP_ADJACENCY, PRIMITIVE_PATCHES, PRIMITIVE_UNINITIALIZED = ~0
}
PrimitiveTypes associated with this Primitive. More...
enum RenderMode {
RENDER_OPAQUE = 0, RENDER_TRANSPARENT = BIT0, RENDER_OVERLAY = BIT1, RENDER_OVERLAY_OPAQUE = RENDER_OVERLAY,
RENDER_OVERLAY_TRANSPARENT = RENDER_OVERLAY | RENDER_TRANSPARENT, RENDER_BITS = RENDER_OVERLAY | RENDER_TRANSPARENT
}
enum StencilFunction {
SF_NEVER, SF_ALWAYS, SF_LESS, SF_LESS_OR_EQUAL,
SF_EQUAL, SF_GREATER_OR_EQUAL, SF_GREATER, SF_NOT_EQUAL
}
Enumeration to control the stencil function. More...
enum StencilOperation {
SO_KEEP, SO_ZERO, SO_REPLACE, SO_INCREMENT,
SO_DECREMENT, SO_INVERT, SO_INCREMENT_WRAP, SO_DECREMENT_WRAP
}
Enumeration to control the stencil operation. More...
enum | StencilSide { SS_FRONT, SS_BACK }
Controls the set of stencil state that are affected by the setStencil* functions. More...
enum TextureTarget {
NVSG_UNSPECIFIED_TEXTURE_TARGET = ~0, NVSG_TEXTURE_1D = 0, NVSG_TEXTURE_2D, NVSG_TEXTURE_3D,
NVSG_TEXTURE_CUBE, NVSG_TEXTURE_1D_ARRAY, NVSG_TEXTURE_2D_ARRAY, NVSG_TEXTURE_RECTANGLE,
NVSG_TEXTURE_CUBE_ARRAY, NVSG_TEXTURE_BUFFER, NVSG_TEXTURE_2D_MULTISAMPLE, NVSG_TEXTURE_2D_MULTISAMPLE_ARRAY,
NVSG_TEXTURE_TARGET_COUNT
}
Texture target specifier. More...
enum | TexCoordAxis { TCA_S = 0, TCA_T, TCA_R, TCA_Q }
Texture coordinate axis. More...
enum TextureEnvMode {
TEM_REPLACE = 0, TEM_MODULATE, TEM_DECAL, TEM_BLEND,
TEM_ADD, TEM_ADD_SIGNED, TEM_SUBTRACT, TEM_INTERPOLATE,
TEM_DOT3_RGB, TEM_DOT3_RGBA
}
Texture environment mode. More...
enum | TextureEnvScale { TES_1X = 1, TES_2X = 2, TES_4X = 4 }
Texture environment scale. More...
enum TexGenMode {
TGM_OFF = -1, TGM_OBJECT_LINEAR, TGM_EYE_LINEAR, TGM_SPHERE_MAP,
TGM_REFLECTION_MAP, TGM_NORMAL_MAP
}
Texture coordinate generation mode. More...
enum | TexGenLinearPlane { TGLP_OBJECT = 0, TGLP_EYE, TGLP_OBJECT_AND_EYE }
Texture generation plane. More...
enum | TexWrapCoordAxis { TWCA_S = 0, TWCA_T, TWCA_R }
Texture wrap coordinate axis. More...
enum TextureWrapMode {
TWM_REPEAT = 0, TWM_CLAMP, TWM_MIRROR_REPEAT, TWM_CLAMP_TO_EDGE,
TWM_CLAMP_TO_BORDER, TWM_MIRROR_CLAMP, TWM_MIRROR_CLAMP_TO_EDGE, TWM_MIRROR_CLAMP_TO_BORDER
}
Texture wrap mode. More...
enum TextureMinFilterMode {
TFM_MIN_NEAREST = 0, TFM_MIN_LINEAR, TFM_MIN_BILINEAR = TFM_MIN_LINEAR, TFM_MIN_LINEAR_MIPMAP_LINEAR,
TFM_MIN_TRILINEAR = TFM_MIN_LINEAR_MIPMAP_LINEAR, TFM_MIN_NEAREST_MIPMAP_NEAREST, TFM_MIN_NEAREST_MIPMAP_LINEAR, TFM_MIN_LINEAR_MIPMAP_NEAREST
}
Texture minification mode. More...
enum | TextureMagFilterMode { TFM_MAG_NEAREST = 0, TFM_MAG_LINEAR, TFM_MAG_BILINEAR = TFM_MAG_LINEAR }
Texture magnification mode. More...
enum {
NVSG_UNSUPPORTED_TYPE = ~0, NVSG_BYTE = 0, NVSG_UNSIGNED_BYTE, NVSG_SHORT,
NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT,
NVSG_DOUBLE
}
enum | TextureCoordType { TCT_CYLINDRICAL, TCT_PLANAR, TCT_SPHERICAL }
Type to specify the type of texture coordinate to generate. More...

Functions

template<typename T>
DEFINE_STATIC_PROPERTY (Animation< T >, CurrentValue)
NVSG_API void | setAllAnimations (const SceneSharedPtr &scene, bool enable)
Start or stop all animations in a scene, including camera animations.
NVSG_API void | setAllAnimations (const NodeSharedPtr &root, bool enable)
Start or stop all animations in a subtree.
NVSG_API void | stridedMemcpy (void *dst, size_t dstOffset, size_t dstStride, const void *src, size_t srcOffset, size_t srcStride, size_t elementSize, size_t elementCount)
Copy elements from a strided source to a strided destination.
bool | operator< (const LeafParam &lhs, const LeafParam &rhs)
NVSG_API CgFxContext * | cgfxContext ()
Returns the CgFxContext singleton object.
NVSG_API std::string | cgfxGetLastError (CGerror &error)
Returns last error that occurred during a Cg-runtime operation.
CGcontext | cgfxCreateContext (int)
template<typename T>
T | cgfxGetAffiliate (T &obj)
size_t | cgfxGetAffiliateIndex ()
CORE_TYPES (Object, nvutil::HandledObject)
CORE_TYPES (Camera, Object)
CORE_TYPES (FrustumCamera, Camera)
CORE_TYPES (ParallelCamera, FrustumCamera)
CORE_TYPES (PerspectiveCamera, FrustumCamera)
CORE_TYPES (MatrixCamera, Camera)
CORE_TYPES (Node, Object)
CORE_TYPES (Group, Node)
CORE_TYPES (Billboard, Group)
CORE_TYPES (FlipbookAnimation, Group)
CORE_TYPES (LOD, Group)
CORE_TYPES (Transform, Group)
CORE_TYPES (AnimatedTransform, Transform)
CORE_TYPES (Switch, Group)
CORE_TYPES (LightSource, Object)
CORE_TYPES (DirectedLight, LightSource)
CORE_TYPES (PointLight, LightSource)
CORE_TYPES (SpotLight, LightSource)
CORE_TYPES (ClipPlane, Object)
CORE_TYPES (GeoNode, Node)
CORE_TYPES (Drawable, Object)
CORE_TYPES (Primitive, Drawable)
CORE_TYPES (IndependentPrimitiveSet, PrimitiveSet)
CORE_TYPES (PatchesBase, Primitive)
CORE_TYPES (QuadPatches, PatchesBase)
CORE_TYPES (RectPatches, PatchesBase)
CORE_TYPES (TriPatches, PatchesBase)
CORE_TYPES (Quads, IndependentPrimitiveSet)
CORE_TYPES (Triangles, IndependentPrimitiveSet)
CORE_TYPES (Lines, IndependentPrimitiveSet)
CORE_TYPES (Points, IndependentPrimitiveSet)
CORE_TYPES (MeshedPrimitiveSet, PrimitiveSet)
CORE_TYPES (QuadMeshes, MeshedPrimitiveSet)
CORE_TYPES (StrippedPrimitiveSet, PrimitiveSet)
CORE_TYPES (QuadStrips, StrippedPrimitiveSet)
CORE_TYPES (TriFans, StrippedPrimitiveSet)
CORE_TYPES (TriStrips, StrippedPrimitiveSet)
CORE_TYPES (LineStrips, StrippedPrimitiveSet)
CORE_TYPES (Shape, Drawable)
CORE_TYPES (VertexAttributeSet, Object)
CORE_TYPES (IndexSet, Object)
CORE_TYPES (AnimatedVertexAttributeSet, VertexAttributeSet)
CORE_TYPES (Skin, Object)
CORE_TYPES (StateAttribute, Object)
CORE_TYPES (CgFx, StateAttribute)
CORE_TYPES (CgFxEffect, Object)
CORE_TYPES (Material, StateAttribute)
CORE_TYPES (RTBufferAttribute, StateAttribute)
CORE_TYPES (RTFx, StateAttribute)
CORE_TYPES (StencilAttribute, StateAttribute)
CORE_TYPES (TextureAttribute, StateAttribute)
CORE_TYPES (TextureAttributeItem, Object)
CORE_TYPES (BlendAttribute, StateAttribute)
CORE_TYPES (AlphaTestAttribute, StateAttribute)
CORE_TYPES (DepthAttribute, StateAttribute)
CORE_TYPES (UnlitColorAttribute, StateAttribute)
CORE_TYPES (PrimitiveAttribute, StateAttribute)
CORE_TYPES (FaceAttribute, PrimitiveAttribute)
CORE_TYPES (LightingAttribute, StateAttribute)
CORE_TYPES (LineAttribute, PrimitiveAttribute)
CORE_TYPES (PointAttribute, PrimitiveAttribute)
CORE_TYPES (StateSet, Object)
CORE_TYPES (StateVariant, Object)
CORE_TYPES (StatePass, Object)
CORE_TYPES (AnimationState, Object)
CORE_TYPES (VertexAttributeAnimation, AnimationState)
CORE_TYPES (TrafoAnimation, AnimationState)
CORE_TYPES (IndexAnimation, AnimationState)
CORE_TYPES (FloatAnimation, AnimationState)
CORE_TYPES (Vec2fAnimation, AnimationState)
CORE_TYPES (Vec3fAnimation, AnimationState)
CORE_TYPES (Vec4fAnimation, AnimationState)
CORE_TYPES (Mat33fAnimation, AnimationState)
CORE_TYPES (Mat44fAnimation, AnimationState)
CORE_TYPES (QuatfAnimation, AnimationState)
CORE_TYPES (VertexAttributeAnimationDescription, Object)
CORE_TYPES (TrafoAnimationDescription, Object)
CORE_TYPES (IndexAnimationDescription, Object)
CORE_TYPES (FloatAnimationDescription, Object)
CORE_TYPES (Vec2fAnimationDescription, Object)
CORE_TYPES (Vec3fAnimationDescription, Object)
CORE_TYPES (Vec4fAnimationDescription, Object)
CORE_TYPES (Mat33fAnimationDescription, Object)
CORE_TYPES (Mat44fAnimationDescription, Object)
CORE_TYPES (QuatfAnimationDescription, Object)
CORE_TYPES (FramedVertexAttributeAnimationDescription, VertexAttributeAnimationDescription)
CORE_TYPES (FramedTrafoAnimationDescription, TrafoAnimationDescription)
CORE_TYPES (FramedIndexAnimationDescription, IndexAnimationDescription)
CORE_TYPES (FramedFloatAnimationDescription, FloatAnimationDescription)
CORE_TYPES (FramedVec2fAnimationDescription, Vec2fAnimationDescription)
CORE_TYPES (FramedVec3fAnimationDescription, Vec3fAnimationDescription)
CORE_TYPES (FramedVec4fAnimationDescription, Vec4fAnimationDescription)
CORE_TYPES (FramedMat33fAnimationDescription, Mat33fAnimationDescription)
CORE_TYPES (FramedMat44fAnimationDescription, Mat44fAnimationDescription)
CORE_TYPES (FramedQuatfAnimationDescription, QuatfAnimationDescription)
CORE_TYPES (KeyFramedVertexAttributeAnimationDescription, VertexAttributeAnimationDescription)
CORE_TYPES (KeyFramedTrafoAnimationDescription, TrafoAnimationDescription)
CORE_TYPES (KeyFramedIndexAnimationDescription, IndexAnimationDescription)
CORE_TYPES (KeyFramedFloatAnimationDescription, FloatAnimationDescription)
CORE_TYPES (KeyFramedVec2fAnimationDescription, Vec2fAnimationDescription)
CORE_TYPES (KeyFramedVec3fAnimationDescription, Vec3fAnimationDescription)
CORE_TYPES (KeyFramedVec4fAnimationDescription, Vec4fAnimationDescription)
CORE_TYPES (KeyFramedMat33fAnimationDescription, Mat33fAnimationDescription)
CORE_TYPES (KeyFramedMat44fAnimationDescription, Mat44fAnimationDescription)
CORE_TYPES (KeyFramedQuatfAnimationDescription, QuatfAnimationDescription)
CORE_TYPES (LinearInterpolatedVertexAttributeAnimationDescription, KeyFramedVertexAttributeAnimationDescription)
CORE_TYPES (LinearInterpolatedTrafoAnimationDescription, KeyFramedTrafoAnimationDescription)
CORE_TYPES (LinearInterpolatedFloatAnimationDescription, KeyFramedFloatAnimationDescription)
CORE_TYPES (LinearInterpolatedVec2fAnimationDescription, KeyFramedVec2fAnimationDescription)
CORE_TYPES (LinearInterpolatedVec3fAnimationDescription, KeyFramedVec3fAnimationDescription)
CORE_TYPES (LinearInterpolatedVec4fAnimationDescription, KeyFramedVec4fAnimationDescription)
CORE_TYPES (LinearInterpolatedMat33fAnimationDescription, KeyFramedMat33fAnimationDescription)
CORE_TYPES (LinearInterpolatedMat44fAnimationDescription, KeyFramedMat44fAnimationDescription)
CORE_TYPES (LinearInterpolatedQuatfAnimationDescription, KeyFramedQuatfAnimationDescription)
CORE_TYPES (MapObject, Object)
CORE_TYPES (MapArray, MapObject)
CORE_TYPES (MapElement, MapObject)
CORE_TYPES (MapMatrix, MapObject)
CORE_TYPES (MapList, Object)
CORE_TYPES (Scene, Object)
CORE_TYPES (RTFxSceneAttribute, SceneAttribute)
CORE_TYPES (ViewState, nvutil::HandledObject)
CORE_TYPES (DALHost, nvutil::HandledObject)
CORE_TYPES (RTFxProgram, Object)
CORE_TYPES (Buffer, nvutil::HandledObject)
CORE_TYPES (BufferHost, Buffer)
CORE_TYPES (Texture, nvutil::HandledObject)
CORE_TYPES (TextureHost, Texture)
CORE_TYPES (UserDrawable, Drawable)
THREADID | getCallingThread ()
NVSG_API void | copy (const DrawableReadLock &src, const DrawableWriteLock &dst)
typedef void | NVSGERRORHANDLER (const NVSGException &)
NVSGERRORHANDLER * | nvsgSetErrorHandler (NVSGERRORHANDLER *newErrorHandler)
template<>
FramedAnimationDescription< nvmath::Trafo >::FramedAnimationDescription (void)
template<>
FramedAnimationDescription< nvmath::Trafo >::FramedAnimationDescription (const FramedAnimationDescription< nvmath::Trafo > &rhs)
bool | isValidBoundingSphere (const NodeSharedPtr &node)
Tests whether the bounding sphere of the specified Node is valid.
nvmath::Sphere3f | getBoundingSphere (const NodeSharedPtr &node)
Returns a copy of the specified Node's bounding sphere.
NVSG_API void | nvsgSetDebugFlags (unsigned int dbgFlags)
Lets the user control the debug runtime behavior.
NVSG_API unsigned int | nvsgGetDebugFlags ()
Retrieves the currently specified debug flags.
NVSG_API bool | nvsgRuntimeDebugControl (RuntimeDebugOp op)
Execute certain runtime debug operations.
NVSG_API void | nvsgInitialize (NVSGThreadingModelEnum threadingModel=NVSG_SINGLETHREADED, NVSG3DAPIEnum graphicsAPI=NVSG_3DAPI_GL, int num_gpus=1)
Per-application initialization of SceniX global data.
NVSG_API void | nvsgTerminate ()
Per-application termination of nvsg global data.
NVSG_API void | getVersionString (std::string &string)
Get the version string of the SceniX.
NVSG_API void | getSDKName (std::string &string)
Get the SceniX name string.
NVSG_API void | getCopyrightString (std::string &string)
Get the SceniX copyright string.
NVSG_API void | getVendorName (std::string &string)
Get the SceniX vendor name.
NVSG_API unsigned int | getSupportedFeatures ()
Get a bit field of the supported features.
NVSG_API int | getNumGPUs ()
Get the number of GPUs to be use for distributed rendering in a MultiGPU system.
NVSG_API NVSG3DAPIEnum | get3DAPI ()
Get the 3D API.
NVSG_API void | copy (const ObjectReadLock &src, const ObjectWriteLock &dst)
template<typename T>
void | NVSG_ASSERT_OBJECT_WRITE_LOCKED (const T *obj)
template<typename T>
void | NVSG_ASSERT_OBJECT_READ_LOCKED (const T *obj)
template<typename T>
bool | isPtrTo (const nvutil::HandledObjectWeakPtr &p)
Detects if the WeakPtr p is a WeakPtr to a specified (templated) type.
template<typename T>
bool | isPtrTo (const nvutil::HandledObjectSharedPtr &p)
Detects if the SharedPtr p is a SharedPtr to a specified (templated) type.
bool | areOfSameType (const ObjectSharedPtr &p0, const ObjectSharedPtr &p1)
Detects if the two objects p0 and p1 are of the same type.
template<typename OwnerType, typename OwnedHandleType>
void | addAsOwnerTo (OwnerType *owner, const nvutil::SmartPtr< OwnedHandleType > &owned)
template<typename OwnerType, typename OwnedHandleType>
void | removeAsOwnerFrom (OwnerType *owner, const nvutil::SmartPtr< OwnedHandleType > &owned)
template<typename OwnerType>
void | copy (typename nvutil::ObjectTraits< OwnedObject< OwnerType > >::WriteLock &dst, typename nvutil::ObjectTraits< OwnedObject< OwnerType > >::ReadLock &src)
bool | calculatePatchNormals (nvsg::VertexAttributeSet *vas, bool overwrite, const IndexSetSharedPtr &indexSet, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int size)
bool | calculatePatchNormals (nvsg::VertexAttributeSet *vas, bool overwrite, const IndexSetSharedPtr &indexSet, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int width, unsigned int height)
void | calculatePatchTangentSpace (nvsg::VertexAttributeSet *vas, unsigned int tc, unsigned int tg, unsigned int bn, bool overwrite, IndexSet::ConstIterator< unsigned int > &indices, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int size)
void | calculatePatchTangentSpace (nvsg::VertexAttributeSet *vas, unsigned int tc, unsigned int tg, unsigned int bn, bool overwrite, IndexSet::ConstIterator< unsigned int > &indices, unsigned int numberOfPatches, unsigned int verticesPerPatch, unsigned int width, unsigned int height)
bool | needsPrimitiveRestart (PrimitiveType pt)
NVSG_API void | copy (const PrimitiveSetReadLock &src, const PrimitiveSetWriteLock &dst)
NVSG_API bool | stringToParameterDescription (const std::string &str, unsigned char &type, unsigned char &count)
Translate a string into an enumeration value type, and a count.
StateSetSharedPtr | getReplacementStateSet (StateSetReplacementMap &replacementStateSets, const StateSetSharedPtr &sshIn, const StateAttributeSharedPtr &sahIn)
Get a StateSet, that references the same objects as a given StateSet and also holds a reference to the given StateAttribute.
NVSG_API void | copy (const StrippedPrimitiveSetReadLock &src, const StrippedPrimitiveSetWriteLock &dst)
class class NVSG_API TextureTarget | determineTextureTarget (const TextureHostSharedPtr &img)
Retrieves the best-matching TextureTarget from A TextureHost.
NVSG_API unsigned char * | dbgAllocImagePixels (unsigned int nbytes, unsigned int line)
Same as allocImagePixels + leak detection.
NVSG_API void | freeImagePixels (unsigned char *pixels)
Helper function to free memory of pixel data.
NVSG_API unsigned int | numberOfComponents (Image::PixelFormat format)
Helper function to determine the number of components of a PixelFormat.
NVSG_API unsigned int | sizeOfComponents (Image::PixelDataType type)
Helper function to determine the size of components of a PixelDataType.
NVSG_API void | calculateContributions (std::vector< std::vector< std::pair< unsigned int, float > > > &contribs, unsigned int srcSize, unsigned int dstSize, const ScaleFilter *filter)
Helper function to determine the contributions of a ScaleFilter on scaling an Image.
NVSG_API void | insert (const Image *src, Image *dst, unsigned int x, unsigned int y, unsigned int z)
Helper function to insert a source image into a destination image at a given position.
NVSG_API void | rescale (const Image *src, Image *dst, std::vector< std::vector< std::pair< unsigned int, float > > > *contributions)
Helper function to rescale an Image using the contributions of a ScaleFilter.
NVSG_API void | convertPixelFormat (const Image *src, Image *dst, Image::PixelFormat destFormat)
Helper function to convert the image format from one to another.
NVSG_API void | assertMipMapChainComplete (const TextureHost *img)
Asserts mipmap chain to be complete for the specified TextureHost.
NVSG_API unsigned int | sizeOfType (unsigned int type)
Yields the size in bytes of the respective type.
NVSG_API bool | isIntegerType (unsigned int type)
NVSG_API bool | isFloatingPointType (unsigned int type)
NVSG_API void | normalize (VertexAttribute &va)
Normalize all vertex data elements of a VertexAttribute.
NVSG_API bool | operator== (const VertexAttribute &va0, const VertexAttribute &va1)
Equality operator.
NVSG_API bool | operator!= (const VertexAttribute &va0, const VertexAttribute &va1)
Inequality operator.
NVSG_API void | copy (const VertexAttributeSetReadLock &src, const VertexAttributeSetWriteLock &dst)
NVSG_API void | copySelectedVertices (const VertexAttributeSetSharedPtr &from, const VertexAttributeSetSharedPtr &to, std::vector< unsigned int > &indices)
Copy selected vertices from one VertexAttributeSet to another.
NVSG_API void | copySelectedVertices (const VertexAttributeSetSharedPtr &from, const VertexAttributeSetSharedPtr &to, std::vector< std::vector< unsigned int > > &indices)
Copy selected vertices from one VertexAttributeSet to another.
NVSG_API bool | genericAttrib (unsigned int attrib)
Determine if an attribute identifier identifies a generic or a conventional attribute.
NVSG_API unsigned int | attribIndex (unsigned int attrib)
Translates an attribute identifier to the corresponding conventional attribute identifier.

Variables

struct struct struct struct
struct struct struct typedef
CGIAnnotation * 		CgFxAnnotation
Typedef for an annotation handle.
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class class class
class class class typedef
std::vector< unsigned int > 		IndexList
class class class class class
class class class typedef
Animation< float > 		FloatAnimation
class class typedef DWORD | THREADID
NVSG_API const HDAL | HDAL_INVALID
Indicates a invalid handle value.
NVSGERRORHANDLER * | nvsgErrorHandler
class class class class class
typedef nvutil::SmartPtr<
RenderList2 > 		RenderList2SharedPtr
typedef nvutil::SmartPtr<
GeneratorState > 		GeneratorStateSharedPtr
typedef nvutil::SmartPtr<
ObjectRenderer > 		ObjectRendererSharedPtr
typedef nvutil::SmartPtr<
RenderState > 		RenderStateSharedPtr
typedef nvutil::SmartPtr<
Resource > 		ResourceSharedPtr
typedef unsigned int | VariantKey
Key to a specific StateVariant.

Detailed Description

Scene graph classes - core SceniX.

This namespace contains all core SceniX classes. Put all the scene graph and node related classes in here.

Typedef Documentation

typedef CGIParameter* CgFxParameter

Typedef for a parameter handle.

typedef CGITechnique* CgFxTechnique

Typedef for a technique handle.

typedef CGIPass* CgFxPass

Typedef for a pass handle.

typedef CGIProgram* CgFxProgram

Typedef for a program handle.

typedef CGIBuffer* CgFxBuffer

Typedef for a buffer handle.

typedef unsigned long HDAL

Handle to a Device Abstraction Link (DAL).

typedef Face<2> Segment

Shortcut for a 2-element Face (line segment).

typedef Face<3> Face3

Shortcut for a 3-element Face (triangle).

typedef Face<4> Face4

Shortcut for a 4-element Face (quad).

typedef unsigned int HashKey

type to use for nvsg::Object hashing

typedef unsigned long long DataID

64-bit save DataID.

Remarks:
The DataID is used to uniquely identify an Object's embedded data.
See also:
Object::getDataID

typedef std::map<std::pair<nvsg::StateSetWeakPtr,nvsg::StateAttributeWeakPtr>,nvsg::StateSetSharedPtr> StateSetReplacementMap

Typedef for a map from a StateSet and a StateAttribute to a StateSet.

Enumeration Type Documentation

enum AlphaFunction

Enumeration to identify the AlphaFunc conditional.

Namespace: nvsg
Remarks:
AlphaTest can be used in cases where the fragment is to be drawn or culled based on the alpha value. The AlphaFunction along with the threshold value define the equation used to determine whether the fragment is drawn. By default the comparison function is set to AF_ALWAYS, the threshold value is 0.0f and the "enabled during MultiSampleAlpha" flag is set to true.
See also:
AlphaTestAttribute
Enumeration values:
AF_NEVER | Never draw the fragment.
AF_LESS | Draw the fragment if fragment.a < threshold.
AF_EQUAL | Draw the fragment if fragment.a == threshold.
AF_LEQUAL | Draw the fragment if fragment.a <= threshold.
AF_GREATER | Draw the fragment if fragment.a > threshold.
AF_NOTEQUAL | Draw the fragment if fragment.a != threshold.
AF_GEQUAL | Draw the fragment if fragment.a >= threshold.
AF_ALWAYS | Always draw the fragment.

enum BlendFunction

Enumeration to identify a blend function.

Namespace: nvsg
Remarks:
A BlendFunction indicates how a blending function is to be computed. In the description of the possible values, source and destination are indicated with the suffix s and d, respectively. Subtraction of quadruplets means subtracting them component-wise.
See also:
BlendAttribute
Enumeration values:
BF_ZERO | (0,0,0,0); available for source and destination
BF_ONE | (1,1,1,1); available for source and destination
BF_DESTINATION_COLOR | (Rd,Gd,Bd,Ad); available for source only
BF_SOURCE_COLOR | (Rs,Gs,Bs,As); available for destination only
BF_ONE_MINUS_DESTINATION_COLOR | (1,1,1,1)-(Rd,Gd,Bd,Ad); available for source only
BF_ONE_MINUS_SOURCE_COLOR | (1,1,1,1)-(Rs,Gs,Bs,As); available for destination only
BF_SOURCE_ALPHA | (As,As,As,As); available for source and destination
BF_ONE_MINUS_SOURCE_ALPHA | (1,1,1,1)-(As,As,As,As); available for source and destination
BF_DESTINATION_ALPHA | (Ad,Ad,Ad,Ad); available for source and destination
BF_ONE_MINUS_DESTINATION_ALPHA | (1,1,1,1)-(Ad,Ad,Ad,Ad); available for source and destination
BF_SOURCE_ALPHA_SATURATE | (f,f,f,1) with f=min(As,1-Ad); available for source only

enum CullCode

Type to describe the cull code of an object.

Namespace: nvsg
Remarks:
With a CullCode, an object can be marked to be completely out (CC_OUT), completely in (CC_IN) or partially in and out (CC_PART) with respect to a view volume.
Enumeration values:
CC_OUT | an object is completely outside
CC_IN | an object is completely inside
CC_PART | an object is partially in and partially out

enum DepthFunction

Enumeration to identify a depth function.

Namespace: nvsg
Remarks:
On rendering, an incoming fragment passes the depth test if its z value has the specified relation to the value already stored in the depth buffer. The default is DF_LESS, which means that an incoming fragment passes the test if its z value is less than that already stored in the depth buffer. In this case, the z value represents the distance from the object to the viewpoint, and smaller values mean the corresponding objects are closer to the viewpoint.
See also:
DepthAttribute

enum MapAlignment

Enumeration to define the alignment of a MapObject holding more than one Map.

Namespace: nvsg
Remarks:
In a MapArray and a MapMatrix, the Map objects can be aligned along the lower base line (bottom or left), the center line, or the upper base line (top or right).
See also:
MapArray, MapMatrix
Enumeration values:
MA_LOWER | draw Map objects aligned at the lower coordinate
MA_CENTER | draw Map objects aligned at the center coordinate
MA_UPPER | draw Map objects aligned at the upper coordinate

enum MapOrientation

Enumeration to determine the horizontal or vertical orientation of a MapObject.

Namespace: nvsg
Remarks:
A MapArray can either be oriented horizontally or vertically. A MapMatrix has settings like alignment or spacing, independently in both orientations.
See also:
MapArray, MapMatrix
Enumeration values:
MO_HORIZONTAL | use the horizontal orientation
MO_VERTICAL | use the vertical orientation

enum MapRelation

Enumeration to define the anchor relation of the MapObject position.

Namespace: nvsg
Remarks:
The position of a MapObject describes one of nine possible relative positions, such as the lower left, the center, or the upper right.
See also:
MapObject
Enumeration values:
MR_LOWER_LEFT | position is lower left of MapObject
MR_LOWER_CENTER | position is lower center of MapObject
MR_LOWER_RIGHT | position is lower right of MapObject
MR_CENTER_LEFT | position is center left of MapObject
MR_CENTER | position is center of MapObject
MR_CENTER_RIGHT | position is center right of MapObject
MR_UPPER_LEFT | position is upper left of MapObject
MR_UPPER_CENTER | position is upper center of MapObject
MR_UPPER_RIGHT | position is upper right of MapObject

enum MapTraversalDirection

Enumeration to define the traversal direction of a MapObject holding more than one Map.

Namespace: nvsg
Remarks:
A MapArray can be traversed from the lower to the higher index, or vice versa.
A columns of a MapMatrix can also be traversed from the lower to the higher index, or vice versa; each column of a MapMatrix in turn can be traversed from the lower to the higher index, or vice versa, but all columns of a MapMatrix must be traversed in the same way.
See also:
MapArray, MapMatrix
Enumeration values:
MTD_LOW_TO_HIGH | traverse from lowest to highest index
MTD_HIGH_TO_LOW | traverse from highest to lowest index

enum MaterialFace

ID to identify the front and back face properties of a Material.

Namespace: nvsg
Remarks:
All the properties of a Material can be independently set for the front and the back faces.
See also:
Material
Enumeration values:
MF_FRONT | used for front material
MF_BACK | used for back material
MF_FRONT_AND_BACK | used for both front and back material

anonymous enum

Object Codes for SceniX Object Type Identification.

Remarks:
For a custom traverser it is essential to identify all actual scene graph components while traversing the scene graph, and to call the corresponding handler routine for a particular object. For this reason, all concrete SceniX object types must be assigned to a unique object code. Secure object codes for custom defined SceniX objects start at OC_CUSTOMOBJECT.
Note:
Choosing an object code lower than OC_CUSTOMOBJECT for a custom-defined SceniX object results in undefined runtime behavior!
See also:
howtoderiveatraverser howtoderiveanvsgobject
Enumeration values:
OC_INVALID | invalid object code
OC_OBJECT | Object.
OC_NODE | Node = 0x00.
OC_GEONODE | GeoNode.
OC_GROUP | Group.
OC_FLIPBOOKANIMATION | FlipbookAnimation.
OC_LOD | LOD.
OC_SWITCH | Switch.
OC_TRANSFORM | Transform.
OC_ANIMATEDTRANSFORM | AnimatedTransform.
OC_DIRECTEDLIGHT | DirectedLight.
OC_POINTLIGHT | PointLight.
OC_SPOTLIGHT | SpotLight.
OC_BILLBOARD | Billboard.
OC_CLIPPLANE | ClipPlane.
OC_DRAWABLE | Drawable = 0x20.
OC_VERTEX_ATTRIBUTE_SET | VertexAttributeSet.
OC_ANIMATED_VERTEX_ATTRIBUTE_SET | AnimatedVertexAttributeSet.
OC_QUADS | DEPRECATED Quads.
OC_QUADSTRIPS | DEPRECATED QuadStrips.
OC_TRIANGLES | DEPRECATED Triangles.
OC_TRISTRIPS | DEPRECATED TriStrips.
OC_LINES | DEPRECATED Lines.
OC_LINESTRIPS | DEPRECATED LineStrips.
OC_TRIFANS | DEPRECATED TriFans.
OC_POINTS | DEPRECATED Points.
OC_SHAPE | Shape.
OC_BITMAP | Bitmap.
OC_PIXMAP | Pixmap.
OC_MAPELEMENT | MapElement.
OC_MAPARRAY | MapArray.
OC_MAPMATRIX | MapMatrix.
OC_MAPLIST | MapList.
OC_QUADMESHES | QuadMeshes.
OC_SKIN | Skin.
OC_PATCHES | DEPRECATED Patches.
OC_RECT_PATCHES | RectPatches.
OC_QUAD_PATCHES | QuadPatches.
OC_QUAD_PATCHES_4X4 | QuadPatches4x4.
OC_TRI_PATCHES | TriPatches.
OC_TRI_PATCHES_4 | TriPatches4.
OC_PRIMITIVE | Generic Primitive.
OC_STATESET | StateSet = 0x40.
OC_STATEVARIANT | StateVariant.
OC_STATEPASS | StatePass.
OC_STATEATTRIBUTE | StateAttribute.
OC_CGFX | CgFX.
OC_RTFX | RTFx.
OC_RTFX_PROGRAM | RTFx Program.
OC_RTFX_SCENE_ATTRIBUTE | RTFxSceneAttribute.
OC_FACEATTRIBUTE | FaceAttribute.
OC_MATERIAL | Material.
OC_TEXTUREATTRIBUTE | TextureAttribute.
OC_TEXTUREATTRIBUTEITEM | TextureAttributeItem.
OC_STATESETEXT | StateSet for default and override state set.
OC_LINEATTRIBUTE | LineAttribute.
OC_LIGHTINGATTRIBUTE | LightingAttribute.
OC_POINTATTRIBUTE | PointAttribute.
OC_BLENDATTRIBUTE | BlendAttribute.
OC_ALPHATESTATTRIBUTE | AlphaTestAttribute.
OC_DEPTHATTRIBUTE | DepthAttribute.
OC_UNLITCOLORATTRIBUTE | UnlitColorAttribute.
OC_STENCILATTRIBUTE | StencilAttibute.
OC_RTBUFFERATTRIBUTE | Ray Tracing Buffer Attribute.
OC_ANIMATION | Animation = 0x60.
OC_INDEXANIMATION | IndexAnimation.
OC_TRAFOANIMATION | TrafoAnimation.
OC_VERTEXATTRIBUTEANIMATION | VertexAttributeAnimation.
OC_FRAMEDINDEXANIMATIONDESCRIPTION | FramedIndexAnimationDescription.
OC_FRAMEDTRAFOANIMATIONDESCRIPTION | FramedTrafoAnimationDescription.
OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION | LinearInterpolatedTrafoAnimationDescription.
OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION | FramedVertexAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION | LinearInterpolatedVertexAttributeAnimationDescription.
OC_FLOATANIMATION | FloatAnimation.
OC_VEC2FANIMATION | Vec2fAnimation.
OC_VEC3FANIMATION | Vec3fAnimation.
OC_VEC4FANIMATION | Vec4fAnimation.
OC_MAT33FANIMATION | Mat33fAnimation.
OC_MAT44FANIMATION | Mat44fAnimation.
OC_QUATFANIMATION | QuatffAnimation.
OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION | LinearInterpolatedFloatAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION | LinearInterpolatedVec2fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION | LinearInterpolatedVec3fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION | LinearInterpolatedVec4fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION | LinearInterpolatedMat33fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION | LinearInterpolatedMat44fAttributeAnimationDescription.
OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION | LinearInterpolatedQuatfAttributeAnimationDescription.
OC_CAMERA | Camera = 0x80.
OC_PARALLELCAMERA | ParallelCamera.
OC_PERSPECTIVECAMERA | PerspectiveCamera.
OC_MATRIXCAMERA | Matrix Camera.
OC_CUSTOMOBJECT | CustomObjects = 0xC0.

enum PrimitiveType

PrimitiveTypes associated with this Primitive.

enum StencilFunction

Enumeration to control the stencil function.

Namespace: nvsg
Remarks:
A fragment is drawn depending on the outcome of a stencil function, which in turn evaluates a threshold, a mask and the stencil value of the fragment.
See also:
StencilAttribute::setStencilFunction
Enumeration values:
SF_NEVER | The fragment is never drawn.
SF_ALWAYS | The fragment is always drawn.
SF_LESS | The fragment is drawn if (treshold & mask) < (value & mask).
SF_LESS_OR_EQUAL | The fragment is drawn if (treshold & mask) <= (value & mask).
SF_EQUAL | The fragment is drawn if (treshold & mask) == (value & mask).
SF_GREATER_OR_EQUAL | The fragment is drawn if (treshold & mask) >= (value & mask).
SF_GREATER | The fragment is drawn if (treshold & mask) > (value & mask).
SF_NOT_EQUAL | The fragment is drawn if (treshold & mask) != (value & mask).

enum StencilOperation

Enumeration to control the stencil operation.

Namespace: nvsg
Remarks:
The operation is applied depending on the state of the fragment, see setStencilOperation.
See also:
StencilAttribute::setStencilOperation
Enumeration values:
SO_KEEP | Keep the current value.
SO_ZERO | Set the stencil buffer to 0.
SO_REPLACE | Set the stencil buffer to threshold, see setThreshold.
SO_INCREMENT | Increments the current stencil buffer value. Clamps to the maximum representable unsigned value.
SO_DECREMENT | Decrements the current stencil buffer value. Clamps to 0.
SO_INVERT | Bitwise inverts the current stencil buffer value.
SO_INCREMENT_WRAP | Increments the current stencil buffer value. Wraps stencil buffer value to zero when incrementing the maximum representable unsigned value.
SO_DECREMENT_WRAP | Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of zero.

enum StencilSide

Controls the set of stencil state that are affected by the setStencil* functions.

Namespace: nvsg
Remarks:
The stencil functionality can be applied to both back faces and front faces. The setStencil* functions all have a parameter to control which faces are affected.
See also:
StencilAttribute, StencilAttribute::setStencilFunction, StencilAttribute::setStencilOperation
Enumeration values:
SS_FRONT | Set stencil state for front faces.
SS_BACK | Set stencil state for back faces.

enum TextureTarget

Texture target specifier.

Enumeration values:
NVSG_UNSPECIFIED_TEXTURE_TARGET | indicates an unspecified target
NVSG_TEXTURE_1D | indicates a 1-dimensional texture
NVSG_TEXTURE_2D | indicates a 2-dimensional texture
NVSG_TEXTURE_3D | indicates a 3-dimensional texture
NVSG_TEXTURE_CUBE | indicates a cube map
NVSG_TEXTURE_1D_ARRAY | indicates a 1d texture array
NVSG_TEXTURE_2D_ARRAY | indicates a 2d texture array
NVSG_TEXTURE_RECTANGLE | indicates a non-power-of-two, rectangular texture
NVSG_TEXTURE_CUBE_ARRAY | indicates a cube map array
NVSG_TEXTURE_BUFFER | indicates a buffer texture
NVSG_TEXTURE_2D_MULTISAMPLE | indicates a 2-dimensional multisample texture
NVSG_TEXTURE_2D_MULTISAMPLE_ARRAY | indicates a 2-dimensional multisample texture array
NVSG_TEXTURE_TARGET_COUNT | specifies the count of known texture targets

enum TexCoordAxis

Texture coordinate axis.

Enumeration values:
TCA_S | S axis.
TCA_T | T axis.
TCA_R | R axis.
TCA_Q | Q axis.

enum TextureEnvMode

Texture environment mode.

Enumeration values:
TEM_REPLACE | C = C_t; A = A_t.
TEM_MODULATE | C = C_f*C_t; A = A_f*A_t.
TEM_DECAL | C = C_f*(1-A_t)+C_t*A_t; A = A_f.
TEM_BLEND | C = C_f*(1-C_t)+C_c*C_t; A = A_f*A_t.
TEM_ADD | C = min(1,C_f+C_t); A = A_f*A_t.
TEM_ADD_SIGNED | C = texUnitCur + texUnitPrev - 0.5; A = Ac*Ap.
TEM_SUBTRACT | C = texUnitCur - texUnitPrev; A = Ac*Ap.
TEM_INTERPOLATE | C = tUC * (tevColor) + tUP * (1-tevColor); A = Ac*Ap.
TEM_DOT3_RGB | C = texUnitCur.rgb dot texUnitPrev.rgb; A = N/A.
TEM_DOT3_RGBA | C = texUnitCur.rgba dot texUnitPrev.rgba.

enum TextureEnvScale

Texture environment scale.

Enumeration values:
TES_1X | scale factor 1x or no scaling
TES_2X | scale factor 2x
TES_4X | scale factor 4x

enum TexGenMode

Texture coordinate generation mode.

Enumeration values:
TGM_OFF | Off.
TGM_OBJECT_LINEAR | Object linear.
TGM_EYE_LINEAR | Eye linear.
TGM_SPHERE_MAP | Sphere map.
TGM_REFLECTION_MAP | Reflection map.
TGM_NORMAL_MAP | Normal map.

enum TexGenLinearPlane

Texture generation plane.

Enumeration values:
TGLP_OBJECT | Object.
TGLP_EYE | Eye.
TGLP_OBJECT_AND_EYE | Object and eye.

enum TexWrapCoordAxis

Texture wrap coordinate axis.

Enumeration values:
TWCA_S | S axis.
TWCA_T | T axis.
TWCA_R | R axis.

enum TextureWrapMode

Texture wrap mode.

Enumeration values:
TWM_REPEAT | Corresponds to GL_REPEAT in OpenGL.
TWM_CLAMP | Corresponds to GL_CLAMP in OpenGL.
TWM_MIRROR_REPEAT | Corresponds to GL_MIRRORED_REPEAT in OpenGL.
TWM_CLAMP_TO_EDGE | Corresponds to GL_CLAMP_TO_EDGE in OpenGL.
TWM_CLAMP_TO_BORDER | Corresponds to GL_CLAMP_TO_BORDER in OpenGL.
TWM_MIRROR_CLAMP | Corresponds to GL_MIRROR_CLAMP in OpenGL.
TWM_MIRROR_CLAMP_TO_EDGE | Corresponds to GL_MIRROR_CLAMP_TO_EDGE in OpenGL.
TWM_MIRROR_CLAMP_TO_BORDER | Corresponds to GL_MIRROR_CLAMP_TO_BORDER in OpenGL.

enum TextureMinFilterMode

Texture minification mode.

Enumeration values:
TFM_MIN_NEAREST | Corresponds to GL_NEAREST in OpenGL.
TFM_MIN_LINEAR | Corresponds to GL_LINEAR in OpenGL.
TFM_MIN_BILINEAR | Deprecated, name and value provided for backwards compatibility.
TFM_MIN_LINEAR_MIPMAP_LINEAR | Corresponds to GL_LINEAR_MIPMAP_LINEAR.
TFM_MIN_TRILINEAR | Deprecated, name and value provided for backwards compatibility.
TFM_MIN_NEAREST_MIPMAP_NEAREST | Corresponds to GL_NEAREST_MIPMAP_NEAREST.
TFM_MIN_NEAREST_MIPMAP_LINEAR | Corresponds to GL_NEAREST_MIPMAP_LINEAR (the OpenGL default).
TFM_MIN_LINEAR_MIPMAP_NEAREST | Corresponds to GL_LINEAR_MIPMAP_NEAREST.

enum TextureMagFilterMode

Texture magnification mode.

Enumeration values:
TFM_MAG_NEAREST | Corresponds to GL_NEAREST in OpenGL.
TFM_MAG_LINEAR | Corresponds to GL_LINEAR in OpenGL.
TFM_MAG_BILINEAR | Deprecated, name and value provided for backwards compatibility.

enum TextureCoordType

Type to specify the type of texture coordinate to generate.

There are three different types of texture coordinate generation available: cylindrical, planar, and spherical.

Enumeration values:
TCT_CYLINDRICAL | Puts a cylinder around the BoundingSphere with the z-axis as it's axis and projects the vertices of the VertexAttributeSet on it to get the texture coordinates.
TCT_PLANAR | Puts a plane in the x-y-plane and vertically projects the vertices of the VertexAttributeSet on that plane to the the texture coordinates.
TCT_SPHERICAL | Projects the vertices of the VertexAttributeSet radially on the BoundingSphere to get the texture coordinates.

Function Documentation

NVSG_API void setAllAnimations | ( | const SceneSharedPtr & | scene,
 |  | bool | enable
 | ) |

Start or stop all animations in a scene, including camera animations.

Parameters:
scene | The scene to switch all animations on or off.
enable | Indicates whether the animations are to be started (true) or stopped (false).
Remarks:
Searches for all classes based on nvsg::AnimationState, and calls their start or stop function.
See also:
stopAllAnimations

NVSG_API void setAllAnimations | ( | const NodeSharedPtr & | root,
 |  | bool | enable
 | ) |

Start or stop all animations in a subtree.

Parameters:
root | The node of the subtree to switch all animations on or off.
enable | Indicates whether the animations are to be started (true) or stopped (false).
Remarks:
Searches for all classes based on nvsg::AnimationState, and calls their start or stop function.
See also:
stopAllAnimations

NVSG_API void stridedMemcpy | ( | void * | dst,
 |  | size_t | dstOffset,
 |  | size_t | dstStride,
 |  | const void * | src,
 |  | size_t | srcOffset,
 |  | size_t | srcStride,
 |  | size_t | elementSize,
 |  | size_t | elementCount
 | ) |

Copy elements from a strided source to a strided destination.

Parameters:
dst | Destination for data
dstOffset | Offset in bytes relative to dst of the first element to write
dstStride | Stride between two elements in destination data
src | Source of data
srcOffset | Offset in bytes relative to src of the first element to read
srcStride | Stride between two elements in source data
elementSize | Size of a single data element to copy
elementCount | Number of elements to copy
Remarks:
The result is undefined if src and dst overlap.

NVSG_API CgFxContext* cgfxContext ( )

Returns the CgFxContext singleton object.

Returns:
The function returns a pointer to the CgFxContext singleton object used in the SceniX core.
Remarks:
The SceniX core uses a CgFxContext singleton object that will be shared between all effects in a Scene.

NVSG_API std::string cgfxGetLastError ( CGerror & error )

Returns last error that occurred during a Cg-runtime operation.

Parameters:
error Retrieves the CGerror code.
Returns:
The last error listing from the CGcontext that was current while the error occurred.
Remarks:
The function retrieves the last most error that occurred during a Cg-runtime operation and returns the corresponding listing as string. The last error retrieved will be popped off the internal error stack. Immediately calling this function again will retrieve the second last error and so on. If no errors are left anymore on the internal stack, CG_NO_ERROR will be retrieved.

class typedef void NVSGERRORHANDLER ( const NVSGException & )

A SceniX error handler routine is of this type

NVSGERRORHANDLER* nvsgSetErrorHandler ( NVSGERRORHANDLER * newErrorHandler )

Replace the current SceniX error handler by newErrorHandler

Parameters

  • newErrorHandler The replacement for the currently used SceniX error handler routine.

Return Value A pointer to the formerly used error handler routine.

bool isValidBoundingSphere ( const NodeSharedPtr & node ) [inline]

Tests whether the bounding sphere of the specified Node is valid.

Parameters:
node The Node to check.
Returns:
true if the bounding sphere is valid, false otherwise.
Remarks:
The function temporary read-locks the passed Node to query its bounding sphere.

nvmath::Sphere3f getBoundingSphere ( const NodeSharedPtr & node ) [inline]

Returns a copy of the specified Node's bounding sphere.

Parameters:
node The Node to get the bounding sphere from.
Returns:
A copy of the node's bounding sphere.
Remarks:
The function temporary read-locks the passed Node to access its bounding sphere.

NVSG_API void nvsgSetDebugFlags ( unsigned int dbgFlags )

Lets the user control the debug runtime behavior.

Parameters:
dbgFlags Flags to control the debug runtime behavior. Allowed flags are NVSG_DBG_ASSERT, NVSG_DBG_LEAK_DETECTION, or a bit combination of these.
Remarks:
This entry point lets the user control SceniX's runtime behavior when running in debug mode. It is only exported from the debug version of the SceniX shared library.
The dbgFlags you pass to this function control the runtime behavior. If you omit the NVSG_DBG_ASSERT flag when you call this function, assertion failure reports will be suppressed. In general it is not recommended to suppress assertion failure reports, since these are valuable means to detect possible errors as you develop your SceniX-based application. By default, assertion failure reports are enabled.
Specify NVSG_DBG_LEAK_DETECTION to enable SceniX's memory leak tracking. This debug feature is off by default, since memory leak detection has a huge impact on debug runtime performance. Dependent on the data set you process with SceniX, enabled leak detection can degrade the debug runtime performance by an order of magnitude. If leak detection is enabled, object allocation and deallocation is tracked, and detected memory leaks will be reported to an attached debugger when the application shuts down.
The nvsgSetDebugFlags can be used optionally to modify the default debug runtime behavior. If you omit to call this function, assertion failure reports are enabled, and leak detection is disabled. If you decide to call this function, it is recommended to do this immediately prior to the call to nvsgInitialize, which is required to call prior to any other SceniX entry point. Though, this is not mandatory.
When you call this function, previously specified debug flags will be overridden by the new flags specified. If you intend to keep previously specified debug flags, you should use the return value of nvsgGetDebugFlags, bitwise OR it with the flags you want additionally, and pass the result to nvsgSetDebugFlags.
See also:
nvsgGetDebugFlags

NVSG_API unsigned int nvsgGetDebugFlags ( )

Retrieves the currently specified debug flags.

Returns:
The function returns the currently specified debug flags that are used to control the debug runtime behavior.
Remarks:
When you call nvsgSetDebugFlags to modify the debug runtime behavior, previously specified debug flags will be overridden by the new flags you specify. If you intend to keep previously specified debug flags, you should use the return value of nvsgGetDebugFlags, bitwise OR it with the flags you want additionally, and pass the result to nvsgSetDebugFlags as shown in this example:
   // additionally enable leak detection, and leave current control flags unchanged
   unsigned int newDbgFlags = nvsgGetDebugFlags() | NVSG_DBG_LEAK_DETECTION;
   nvsgSetDebugFlags(newDbgFlags);
See also:
nvsgSetDebugFlags

NVSG_API bool nvsgRuntimeDebugControl ( RuntimeDebugOp op )

Execute certain runtime debug operations.

Remarks:
add docs here when approved
See also:
nvsgGetDebugFlags, nvsgSetDebugFlags

NVSG_API void nvsgInitialize | ( | NVSGThreadingModelEnum | threadingModel = NVSG_SINGLETHREADED,
 |  | NVSG3DAPIEnum | graphicsAPI = NVSG_3DAPI_GL,
 |  | int | num_gpus = 1
 | ) |

Per-application initialization of SceniX global data.

Parameters:
threadingModel Specifies whether to run in a multithreaded environment, or not.
Specify NVSG_SINGLETHREADED to configure SceniX to run in a single-threaded environment.
Specify NVSG_MULTITHREADED to configure SceniX to run in a multi-threaded environment.
The default for this parameter is NVSG_SINGLETHREADED.
graphicsAPI Specifies the 3D graphics API to use for rendering.
Specifying NVSG_3DAPI_GL to use OpenGL as 3D API currently is the only choice. This is subject to change with future releases.
num_gpus Specifies the number of GPUs to use for distributed rendering. Distributed rendering is a feature that is available in 64 bit versions of SceniX. The default value in 64 bit versions is 1 and this parameter is ignored on 32 bit versions.
Remarks:
An application must call this routine once before any other SceniX API call. This routine properly initializes all global data required by the SceniX API.

In addition, this routine optionally configures the SceniX library to run safe in a multithreaded environment. This will be achieved by specifying NVSG_MULTITHREADED for the optional threadingModel parameter.

Making the SceniX library multi-threaded safe requires some overhead, which might affect the runtime behavior in a single-threaded environment. That is, it is not recommended to configure SceniX to run in a multi-threaded environment, if your application's threading model really is single-threaded only.

The nvsgInitialize entry point in addition lets you specify which 3D graphics API is used for rendering. Note that using another 3D API for rendering than specified here will result in undefined run-time behaviour.

It is recommended to call this routine inside the application's initial entry point.
Note:
The nvsg runtime behaviour is undefined if an application issues nvsg API calls without a prior call to this routine.

NVSG_API void nvsgTerminate ( )

Per-application termination of nvsg global data.

It is strongly recommended to call this routine when the application terminates. This routine properly frees all global data required by the nvsg API.

Note:
The nvsg runtime behaviour is undefined if an application issues nvsg API calls after having called this routine.

NVSG_API void getVersionString ( std::string & string )

Get the version string of the SceniX.

Parameters:
string string to hold the SceniX version string

NVSG_API void getSDKName ( std::string & string )

Get the SceniX name string.

Parameters:
string string to hold the SceniX name string

NVSG_API void getCopyrightString ( std::string & string )

Get the SceniX copyright string.

Parameters:
string string to hold the SceniX coppyright string

NVSG_API void getVendorName ( std::string & string )

Get the SceniX vendor name.

Parameters:
string string to hold the SceniX vendor name string

NVSG_API unsigned int getSupportedFeatures ( )

Get a bit field of the supported features.

Returns:
An unsigned int encoding the supported features.
Remarks:
Currently, there is one feature supported on Quadro boards only: fast texture upload (NVSG_FAST_TEXTURE_UPLOAD).

NVSG_API int getNumGPUs ( )

Get the number of GPUs to be use for distributed rendering in a MultiGPU system.

Returns:
The number of GPUs that was specified while calling nvsgInitialize

NVSG_API NVSG3DAPIEnum get3DAPI ( )

Get the 3D API.

Returns:
The API that was used to initialize SceniX.

bool isPtrTo ( const nvutil::HandledObjectWeakPtr & p ) [inline]

Detects if the WeakPtr p is a WeakPtr to a specified (templated) type.

Returns:
true if p is a WeakPtr to the specified type, false otherwise.

bool isPtrTo ( const nvutil::HandledObjectSharedPtr & p ) [inline]

Detects if the SharedPtr p is a SharedPtr to a specified (templated) type.

Returns:
true if p is a SharedPtr to the specified type, false otherwise.

bool areOfSameType | ( | const ObjectSharedPtr & | p0,
 |  | const ObjectSharedPtr & | p1
 | ) | [inline]

Detects if the two objects p0 and p1 are of the same type.

Returns:
true if p0 and p1 are of the same type, false otherwise.

NVSG_API bool stringToParameterDescription | ( | const std::string & | str,
 |  | unsigned char & | type,
 |  | unsigned char & | count
 | ) |

Translate a string into an enumeration value type, and a count.

Parameters:
str | A string like "float" or "uint3", describing a parameter.
type | A reference to the type enum being set by this function.
count | A reference to the count value being set by this function.
Returns:
true, if the string correctly describes a parameter type, otherwise false.
See also:
typeSize, RTFxParameter, RTFxParameterType

StateSetSharedPtr getReplacementStateSet | ( | StateSetReplacementMap & | replacementStateSets,
 |  | const StateSetSharedPtr & | sshIn,
 |  | const StateAttributeSharedPtr & | sahIn
 | ) |

Get a StateSet, that references the same objects as a given StateSet and also holds a reference to the given StateAttribute.

Parameters:
replacementStateSets | A map from pairs of StateSet and StateAttribute to StateSets that holds results from previous replacement operations to reduce redundant object creation.
sshIn | The StateSet to get a replacement for.
sahIn | The StateAttribute to be part of the replacement StateSet.
Returns:
A StateSet that is exactly the same as sshIn, but also holds sahIn in every StatePass of the active StateVariant.
Remarks:
With this function, you get a StateSet, that is exactly the same as the StateSet sshIn, but also holds the StateAttribute sahIn in every StatePass of the active StateVariant. Everything not in the active StateVariant, as well as all StateAttributes are just referenced, while the active StateVariant and all its StatePasses are newly created.
As this might be a pretty complex operation, the newly created StateSet is stored in the StateSetReplacementMap replacementStateSets, using sshIn and sahIn as the key. If the same combination of StateSet and StateAttribute is used with this same map again, the already created StateSet from the map is returned.

class class class NVSG_API TextureTarget determineTextureTarget ( const TextureHostSharedPtr & img )

Retrieves the best-matching TextureTarget from A TextureHost.

Returns:
The function returns the best-matching TextureTarget for the specified TextureHost, or NVSG_UNSPECIFIED_TEXTURE_TARGET if no matching TextureTarget can be determined.

NVSG_API unsigned char* dbgAllocImagePixels | ( | unsigned int | nbytes,
 |  | unsigned int | line
 | ) |

Same as allocImagePixels + leak detection.

NVSG_API void freeImagePixels ( unsigned char * pixels )

Helper function to free memory of pixel data.

Parameters:
pixels A pointer to the pixel data to free.
Remarks:
This function assumes that pixels has been allocated by allocImagePixels.
See also:
allocImagePixels

NVSG_API unsigned int numberOfComponents ( Image::PixelFormat format )

Helper function to determine the number of components of a PixelFormat.

Parameters:
format The PixelFormat to determine the number of components from.
Returns:
The number of components described by format.
See also:
sizeOfComponents

NVSG_API unsigned int sizeOfComponents ( Image::PixelDataType type )

Helper function to determine the size of components of a PixelDataType.

Parameters:
type The PixelDataType to determine the size of components from.
Returns:
The size of components described by type.
See also:
numberOfComponents

NVSG_API void calculateContributions | ( | std::vector< std::vector< std::pair< unsigned int, float > > > & | contribs,
 |  | unsigned int | srcSize,
 |  | unsigned int | dstSize,
 |  | const ScaleFilter * | filter
 | ) |

Helper function to determine the contributions of a ScaleFilter on scaling an Image.

Parameters:
contribs | A reference to a vector of vector of pairs of an int and a float. The i'th element of contribs holds the vector of contributions for the i'th destination value. The j'th element of contribs[i] holds the index and the contribution of the source values.
srcSize | The number of the source values.
dstSize | The number of the destination values.
filter | A pointer to the ScaleFilter to use for contribution determination.
Remarks:
To determine the contributions of filter on a multidimensional array of values call calculateContributions once per dimension.
Example
  vector<vector<pair<unsigned int,float> > > contributions[3];
  //  contributions[0..2]: contributions in x-, y-, and z-direction
  calculateContributions( contributions[0], srcWidth, dstWidth, sf );
  calculateContributions( contributions[1], srcHeight, dstHeight, sf );
  calculateContributions( contributions[2], srcDepth, dstDepth, sf );
  rescale( src, dst, contributions );
See also:
insert, rescale, TextureHost::filter

NVSG_API void insert | ( | const Image * | src,
 |  | Image * | dst,
 |  | unsigned int | x,
 |  | unsigned int | y,
 |  | unsigned int | z
 | ) |

Helper function to insert a source image into a destination image at a given position.

Parameters:
src | A pointer to the constant source image.
dst | A pointer to the destination image.
x | x-position of the source image in the destination image.
y | y-position of the source image in the destination image.
z | y-position of the source image in the destination image.
Remarks:
It is assumed the the source image offset by x/y/z completely fits into the destination image.
Note:
If the source image has overlaps, the overlap pixels are not copied (and need not fit into the destination image).
See also:
rescale

NVSG_API void rescale | ( | const Image * | src,
 |  | Image * | dst,
 |  | std::vector< std::vector< std::pair< unsigned int, float > > > * | contributions
 | ) |

Helper function to rescale an Image using the contributions of a ScaleFilter.

Parameters:
src | A pointer to the constant source Image to scale.
dst | A pointer to the destination Image.
contributions | A pointer to three vectors of vectors of pairs of an int and a float that holds the contributions of each source pixel to each destination pixel in x, y, and z direction.
Remarks:
The contributions can be calculated by calculateContributions.
Note:
If the destination image is defined to have overlaps, those pixel values are not set.
See also:
calculateContributions

NVSG_API void convertPixelFormat | ( | const Image * | src,
 |  | Image * | dst,
 |  | Image::PixelFormat | destFormat
 | ) |

Helper function to convert the image format from one to another.

Parameters:
src | A pointer to the constant source Image to scale.
dst | A pointer to the destination Image.
destFormat | The destination format.
Remarks:
If destFormat is the same as the source image, src is simply copied to dst. If an image format containing no alpha is converted to a format that contains alpha (for instance, RGB -> BGRA) the alpha channel will be set to 0xff.

NVSG_API void assertMipMapChainComplete ( const TextureHost * img )

Asserts mipmap chain to be complete for the specified TextureHost.

NVSG_API unsigned int sizeOfType ( unsigned int type )

Yields the size in bytes of the respective type.

Parameters:
type Indicates a symbolic constant representing a SceniX type. NVSG_BYTE, NVSG_UNSIGNED_BYTE, NVSG_SHORT, NVSG_UNSIGNED_SHORT, NVSG_INT, NVSG_UNSIGNED_INT, NVSG_FLOAT, and NVSG_DOUBLE are accepted values.
Returns:
The function yields the size in bytes of the type indicated by type.

NVSG_API void normalize ( VertexAttribute & va )

Normalize all vertex data elements of a VertexAttribute.

Parameters:
va The VertexAttribute to normalize.
Remarks:
The function normalize is called for every vertex data element.

bool operator== | ( | const VertexAttribute & | va0,
 |  | const VertexAttribute & | va1
 | ) | [inline]

Equality operator.

Parameters:
va0 | First VertexAttribute to compare.
va1 | Second VertexAttribute to compare.
Returns:
true, if va0 and va1 are equal, otherwise false.
See also:
operator!=

bool operator!= | ( | const VertexAttribute & | va0,
 |  | const VertexAttribute & | va1
 | ) | [inline]

Inequality operator.

Parameters:
va0 | First VertexAttribute to compare.
va1 | Second VertexAttribute to compare.
Returns:
true, if va0 and va1 are not equal, otherwise false.
See also:
operator==

NVSG_API void copySelectedVertices | ( | const VertexAttributeSetSharedPtr & | from,
 |  | const VertexAttributeSetSharedPtr & | to,
 |  | std::vector< unsigned int > & | indices
 | ) |

Copy selected vertices from one VertexAttributeSet to another.

Parameters:
from | The VertexAttributeSet to copy from.
to | The VertexAttributeSet to copy to.
indices | A reference to a vector of indices pointing into from, that determine the vertices to copy. After the copy operation, it holds the corresponding indices pointing into to.
Remarks:
This function is used to copy selected vertices of IndependentPrimitiveSets

NVSG_API void copySelectedVertices | ( | const VertexAttributeSetSharedPtr & | from,
 |  | const VertexAttributeSetSharedPtr & | to,
 |  | std::vector< std::vector< unsigned int > > & | indices
 | ) |

Copy selected vertices from one VertexAttributeSet to another.

Parameters:
from | The VertexAttributeSet to copy from.
to | The VertexAttributeSet to copy to.
indices | A reference to a vector of indices into from, that determine the vertices to copy. After the copy operation, it holds the corresponding indices into to.
Remarks:
This function is used to copy selected vertices of StrippedPrimitiveSets

bool genericAttrib ( unsigned int attrib ) [inline]

Determine if an attribute identifier identifies a generic or a conventional attribute.

Parameters:
attrib The attribute identifier to test.
Returns:
true if attrib identifies a generic attribute, otherwise false.
See also:
attribIndex

unsigned int attribIndex ( unsigned int attrib ) [inline]

Translates an attribute identifier to the corresponding conventional attribute identifier.

Parameters:
attrib The attribute identifier to translate.
Returns:
The conventional attribute identifier corresponding to attrib.
Remarks:
If attrib already identifies a conventional attribute, it is returned unchanged. Otherwise it is a generic attribute identifier and the corresponding conventional one is returned.
See also:
genericAttrib

Variable Documentation

class struct struct struct struct struct struct struct typedef CGIAnnotation* CgFxAnnotation

Typedef for an annotation handle.

NVSG_API const HDAL HDAL_INVALID

Indicates a invalid handle value.

NVSGERRORHANDLER* nvsgErrorHandler

Global pointer to the currently used SceniX error handler routine. Use the nvsgSetErrorHandler function to assign a new error handler routine .

class typedef unsigned int VariantKey

Key to a specific StateVariant.

Generated on Fri Jul 13 13:29:48 2012 for SceniX


SceniX: nvtraverser Namespace Reference

nvtraverser Namespace Reference

Scenegraph traverser classes. More...

Classes

class | AnalyzeResult
Base class of the analyzing results determined with the AnalyzeTraverser. More...
class | CombinableResult
AnalyzeResult indicating that a number of Objects can be combined. More...
class | DenormalizedNormalsResult
AnalyzeResult indicating a VertexAttributeSet with denormalized normals. More...
class | EmptyResult
AnalyzeResult indicating an empty object. More...
class | EquivalenceResult
AnalyzeResult indicating equivalent objects. More...
class | IdentityResult
AnalyzeResult indicating identity transformations. More...
class | MissingResult
AnalyzeResult indicating non-complete objects. More...
class | NullNormalsResult
AnalyzeResult indicating a VertexAttributeSet with null normals. More...
class | RedundantIndexSetResult
AnalyzeResult indicating redundant IndexSets. More...
class | RedundantLODRangesResult
AnalyzeResult indicating LODs with redundant ranges. More...
class | SingleChildResult
AnalyzeResult indicating a Group with a single child. More...
class | ShortStrippedResult
AnalyzeResult indicating a StrippedPrimitiveSet with very short strips. More...
class | UnusedVerticesResult
AnalyzeResult indicating unused vertices. More...
class | AnalyzeTraverser
Traverser that analyzes a tree and reports about potential deficiencies. More...
class | AppTraverser
AppTraverser Class. More...
struct | AppTraverserCallbackData
class | CameraUpdateSemaphore
class | SpotLightUpdateSemaphore
class | LinkGroupToCameraCallback
Callback to link a Group to a Camera. More...
class | LinkGroupToCameraAsTargetCallback
Callback to link a Group to a Camera as its target. More...
class | LinkTransformToCameraAsPositionAndRollCallback
Callback to link a Transform to a Camera as its position and up vector. More...
class | LinkGroupToLightSourceCallback
Callback to link a Group to a LightSource. More...
class | LinkGroupToSpotLightAsTargetCallback
Callback to link a Group to a SpotLight as its target. More...
class | LinkTransformToSpotLightAsPositionCallback
Callback to link a Transform to a SpotLight as its position. More...
class | BezierExtrapolationTraverser
Traverser to convert Triangles to TriPatches4 and Quads to QuadPatches4x4. More...
class | BezierInterpolationTraverser
Traverser to convert sets of Triangles to TriPatches4, and sets of Quads to QuadPatches4x4. More...
class | ClipPlanesElement
Helper class to hold the clip planes valid for a number of PrimitiveSets. More...
class | CombineTraverser
Traverser that combines a number of Objects, if appropriate. More...
class | ConvertPrimitivesTraverser
Traverser to convert Legacy primitive types to Primitive. More...
class | CPUSkinningProcessor
CPUSkinningProcessor Class. More...
class | DeindexTraverser
Traverser to convert indexed Primitive nodes to non-indexed Primitive nodes. More...
class | DestrippingTraverser
Traverser to destripify stripped primitives. More...
class | EliminateTraverser
Traverser that eliminates a number of Objects, if appropriate. More...
class | GLUploadTraverser
UploadTraverser using OpenGL. More...
class | GPUSkinningProcessor
GPUSkinningProcessor Class. More...
class | IdentityToGroupTraverser
Traverser that replaces identity transforms by groups. More...
class | SharedModelViewTraverser
Traverser that can handle the model view transform stack. More...
class | ExclusiveModelViewTraverser
Traverser that can handle the model view transform stack. More...
class | NormalizeTraverser
Traverser that normalizes all normals. More...
class | OptimizeTraverser
Base for Traversers that perform some optimizations on a scene. More...
class | Intersection
Intersection class. More...
class | RayIntersectTraverser
RayIntersectTraverser. More...
class | Renderer
class | RenderListGenerator
class | SearchTraverser
Traverser to search for a tree object by class type or by name. You want to apply a SearchTraverser on a scene or a certain node to search for tree objects by name or by class type. If you search for objects by class type you can configure the SearchTraverser to search for an explicit class type or for objects that have the specified class typ as base class. More...
class | SmoothTraverser
Traverser that can smooth some drawables. More...
class | StatisticsBase
Base class of all statistics classes. More...
class | StatObject
Class to hold statistics information about Object objects. More...
class | StatCamera
Class to hold statistics information about Camera objects. More...
class | StatMatrixCamera
Class to hold statistics information about MatrixCamera objects. More...
class | StatFrustumCamera
Class to hold statistics information about FrustumCamera objects. More...
class | StatParallelCamera
Class to hold statistics information about ParallelCamera objects. More...
class | StatPerspectiveCamera
Class to hold statistics information about PerspectiveCamera objects. More...
class | StatDrawable
Class to hold statistics information about Drawable objects. More...
class | StatPrimitiveSet
Class to hold statistics information about PrimitiveSet objects. More...
class | StatPrimitive
Class to hold statistics information about Primitive objects. More...
class | StatVertexAttributeSet
Class to hold statistics information about VertexAttributeSet objects. More...
class | StatSkin
Class to hold statistics information about Skin objects. More...
class | StatMeshedPrimitiveSet
Class to hold statistics information about MeshedPrimitiveSet objects. More...
class | StatStrippedPrimitiveSet
Class to hold statistics information about StrippedPrimitiveSet objects. More...
class | StatLines
Class to hold statistics information about Lines objects. More...
class | StatLineStrips
Class to hold statistics information about LineStrips objects. More...
class | StatPatchesBase
Class to hold statistics information about PatchesBase objects. More...
class | StatPatches
Class to hold statistics information about Patches objects. More...
class | StatRectPatches
Class to hold statistics information about RectPatches objects. More...
class | StatQuadPatches
Class to hold statistics information about QuadPatches objects. More...
class | StatQuadPatches4x4
Class to hold statistics information about QuadPatches4x4 objects. More...
class | StatTriPatches
Class to hold statistics information about TriPatches objects. More...
class | StatTriPatches4
Class to hold statistics information about TriPatches4 objects. More...
class | StatPoints
Class to hold statistics information about Points objects. More...
class | StatQuadMeshes
Class to hold statistics information about QuadMeshes objects. More...
class | StatQuads
Class to hold statistics information about Quads objects. More...
class | StatQuadStrips
Class to hold statistics information about QuadStrips objects. More...
class | StatTriangles
Class to hold statistics information about Triangles objects. More...
class | StatTriFans
Class to hold statistics information about TriFans objects. More...
class | StatTriStrips
Class to hold statistics information about TriStrips objects. More...
class | StatAnimationState
Class to hold statistics information about AnimationState objects. More...
class | StatVertexAttributeAnimation
Class to hold statistics information about VertexAttributeAnimation objects. More...
class | StatStatePass
Class to hold statistics information about StatePass objects. More...
class | StatNode
Class to hold statistics information about Node objects. More...
class | StatGroup
Class to hold statistics information about Group objects. More...
class | StatIndexAnimation
Class to hold statistics information about IndexAnimation objects. More...
class | StatLOD
Class to hold statistics information about LOD objects. More...
class | StatMapObject
Class to hold statistics information about MapObject objects. More...
class | StatMapArray
Class to hold statistics information about MapArray objects. More...
class | StatMapElement
Class to hold statistics information about MapElement objects. More...
class | StatMapList
Class to hold statistics information about MapList objects. More...
class | StatMapMatrix
Class to hold statistics information about MapMatrix objects. More...
class | StatBillboard
Class to hold statistics information about Billboard objects. More...
class | StatTransform
Class to hold statistics information about Transform objects. More...
class | StatFlipbookAnimation
Class to hold statistics information about FlipbookAnimation objects. More...
class | StatIndexAnimationDescription
Class to hold statistics information about IndexAnimationDescription objects. More...
class | StatFramedIndexAnimationDescription
Class to hold statistics information about FramedIndexAnimationDescription objects. More...
class | StatTrafoAnimationDescription
Class to hold statistics information about TrafoAnimationDescription objects. More...
class | StatKeyFramedTrafoAnimationDescription
Class to hold statistics information about KeyFramedTrafoAnimationDescription objects. More...
class | StatLinearInterpolatedTrafoAnimationDescription
Class to hold statistics information about LinearInterpolatedTrafoAnimationDescription objects. More...
class | StatFramedTrafoAnimationDescription
Class to hold statistics information about FramedTrafoAnimationDescription objects. More...
class | StatVertexAttributeAnimationDescription
Class to hold statistics information about VertexAttributeAnimationDescription objects. More...
class | StatKeyFramedVertexAttributeAnimationDescription
Class to hold statistics information about KeyFramedVertexAttributeAnimationDescription objects. More...
class | StatLinearInterpolatedVertexAttributeAnimationDescription
Class to hold statistics information about LinearInterpolatedVertexAttributeAnimationDescription objects. More...
class | StatFramedVertexAttributeAnimationDescription
Class to hold statistics information about FramedVertexAttributeAnimationDescription objects. More...
class | StatAnimatedTransform
Class to hold statistics information about AnimatedTransform objects. More...
class | StatAnimatedVertexAttributeSet
Class to hold statistics information about AnimatedVertexAttributeSet objects. More...
class | StatSwitch
Class to hold statistics information about Switch objects. More...
class | StatLightSource
Class to hold statistics information about LightSource objects. More...
class | StatDirectedLight
Class to hold statistics information about DirectedLight objects. More...
class | StatPointLight
Class to hold statistics information about PointLight objects. More...
class | StatSpotLight
Class to hold statistics information about SpotLight objects. More...
class | StatShape
Class to hold statistics information about Shape objects. More...
class | StatGeoNode
Class to hold statistics information about GeoNode objects. More...
class | StatStateAttribute
Class to hold statistics information about StateAttribute objects. More...
class | StatLightingAttribute
Class to hold statistics information about LightingAttribute objects. More...
class | StatAlphaTestAttribute
Class to hold statistics information about AlphaTestAttribute objects. More...
class | StatBlendAttribute
Class to hold statistics information about BlendAttribute objects. More...
class | StatCgFx
Class to hold statistics information about CgFx objects. More...
class | StatDepthAttribute
Class to hold statistics information about DepthAttribute objects. More...
class | StatMaterial
Class to hold statistics information about Material objects. More...
class | StatFaceAttribute
Class to hold statistics information about FaceAttribute objects. More...
class | StatLineAttribute
Class to hold statistics information about LineAttribute objects. More...
class | StatPointAttribute
Class to hold statistics information about PointAttribute objects. More...
class | StatRTFx
Class to hold statistics information about RTFx objects. More...
class | StatRTFxProgram
Class to hold statistics information about RTFxProgram objects. More...
class | StatTextureAttribute
Class to hold statistics information about TextureAttribute objects. More...
class | StatTextureAttributeItem
Class to hold statistics information about TextureAttributeItem objects. More...
class | StatTrafoAnimation
Class to hold statistics information about TrafoAnimation objects. More...
class | StatStateSet
Class to hold statistics information about StateSet objects. More...
class | StatStateVariant
Class to hold statistics information about StateVariant objects. More...
class | StatTexture
Class to hold statistics information about Texture objects. More...
class | Statistics
Class to hold statistics information about all objects. More...
class | StatisticsTraverser
Traverser to record some statistics of a scene. More...
class | StrippingTraverser
Traverser to convert Triangles to TriStrips, and Quads to QuadStrips. More...
class | Traverser
Virtual base class providing the common interface part of ExclusiveTraverser and SharedTraverser. More...
class | SharedTraverser
Base class providing an interface for read-only traversing of a given scene graph. More...
class | ExclusiveTraverser
Base class providing an interface for read-write traversing of a given scene graph. More...
class | TriangulateTraverser
Traverser that converts all flavors of quads to triangles. More...
class | UnifyTraverser
OptimizeTraverser that can unify identical objects in a scene. More...

Functions

class | CORE_TYPES (CameraUpdateSemaphore, nvsg::Object)
CORE_TYPES (SpotLightUpdateSemaphore, nvsg::Object)
ClipPlanesElement * | createClipPlanesElement (RenderElementPool *pool)
Helper function to create an empty ClipPlanesElement using a given RenderElementPool.
ClipPlanesElement * | createClipPlanesElement (RenderElementPool *pool, const nvsg::GroupSharedPtr &group, const nvmath::Mat44f &modelToWorld, const ClipPlanesElement &rhs)
Helper function to create a ClipPlanesElement using a given RenderElementPool.
NVSG_API std::ostream & | operator<< (std::ostream &os, const StatisticsTraverser &obj)
Output a statistics summary.

Detailed Description

Scenegraph traverser classes.

This namespace is the collection of the scenegraph traverser classes. Currently we have two base kinds of traversers: const and non const traversers. Const traverser are not allowed to change anything in the tree, where non const traverser are allowed to change/manipulate the tree.

Function Documentation

ClipPlanesElement* createClipPlanesElement ( RenderElementPool * pool ) [inline]

Helper function to create an empty ClipPlanesElement using a given RenderElementPool.

Parameters:
pool The memory pool to create the the RenderElement in.
Returns:
A pointer to the newly created ClipPlanesElement.
See also:
constructRenderElement, RenderElementPool

ClipPlanesElement* createClipPlanesElement | ( | RenderElementPool * | pool,
 |  | const nvsg::GroupSharedPtr & | group,
 |  | const nvmath::Mat44f & | modelToWorld,
 |  | const ClipPlanesElement & | rhs
 | ) | [inline]

Helper function to create a ClipPlanesElement using a given RenderElementPool.

Parameters:
pool | The memory pool to create the the RenderElement in.
group | A pointer to the Group that adds at least one clip plane.
modelToWorld | A reference to the corresponding constant model to world transformation matrix.
rhs | A reference to the constant ClipPlanesElement to get the first clip planes from.
Returns:
A pointer to the newly created ClipPlanesElement.
See also:
constructRenderElement, RenderElementPool

NVSG_API std::ostream& operator<< | ( | std::ostream & | os,
 |  | const StatisticsTraverser & | obj
 | ) |

Output a statistics summary.

Generated on Fri Jul 13 13:30:35 2012 for SceniX


SceniX: nvui Namespace Reference

nvui Namespace Reference

Namespace for user interface and interaction classes. More...

Classes

class | Renderer
Renderer is the base class for algorithms which operate on an nvui::RenderTarget. More...
class | RendererOptions
This class is a container for RendererOptions. More...
class | RendererOptionsProvider
Base class for classes that need RendererOptions. More...
class | RenderTarget
An nvui::RenderTarget specifies a render surface to be used in conjunction with an nvui::Renderer. SceniX supports RenderTargets for OptiX (nvrt::RenderTargetRT, nvrt::RenderTargetRTBuiltin), for OpenGL (nvgl::RenderTargetGLFB, nvgl::RenderTargetGLFBO) . More...
class | SceneRenderer
SceneRenderer is the base class for all Renderers which visualize a scene. On a stereo nvui::RenderTarget stereo rendering is turned on automatically. SceniX supports a default implementation of nvui::SceneRenderer::StereoViewStateProvider which supports nvsg::PerspectiveCamera. For other cameras it is possible to specify the camera matrices for the left and right eye by implementing a custom nvui::SceneRenderer::StereoViewStateProvider. More...

Typedefs

typedef nvutil::SmartPtr<
Renderer > 		SmartRenderer
typedef nvutil::SmartPtr<
RenderTarget > 		SmartRenderTarget
typedef nvutil::SmartPtr<
SceneRenderer > 		SmartSceneRenderer

Functions

class | CORE_TYPES (RendererOptions, nvutil::HandledObject)

Detailed Description

Namespace for user interface and interaction classes.

Remarks:
This namespace contains mainly user interface classes such as camera manipulators, render areas, render windows, etc.. Add all the interfaces and classes that interact more or less directly with the user into this namespace.

Generated on Fri Jul 13 13:31:20 2012 for SceniX


SceniX: nvutil Namespace Reference

nvutil Namespace Reference

nvutil namespace More...

Classes

class | Chunk
Chunk of memory for our low level memory managment of fixed size objects. More...
class | FixedAllocator
Manages allocation requests for objects of a certain size only. More...
class | Allocator
Internal manager for memory allocations. More...
class | IAllocator
An allocator interface. More...
class | BackLinkObserver
Observer class with a back-link to a HandledObject. More...
class | Bit
Template class for easy definition of a single-bit bitmask. More...
class | Conversion
Helper class to detect at compile time when U is derived from T or when U is T. More...
class | Conversion< T, T >
Specialization of the templated Conversion class for check of identical classes. More...
class | FileMapping
Helper class to ease efficient reading and writing of large files. More...
class | ReadMapping
Helper class to ease efficient reading of large files. More...
class | WriteMapping
Helper class to ease efficient writing of large files. More...
class | Handle< T, NullType >
Specialized stand-alone Handle. More...
class | Handle< T, Handle< U, V > >
Specialization template for Handle-derived Handle types. More...
struct | CloneObject
Functor class to clone an object. More...
struct | ObjectTraits
Typedefs for objects The following typedefs should be defined for an object. Handle SharedPtr WeakPtr ReadLock WriteLock. More...
class | HandledObject
class | HashGenerator
HashGenerator is the interface defining class for creating a hash out of some arbitrary data. More...
class | HashGeneratorMD5
HashGenerator class implementing the MD5 algorithm. More...
class | HashGeneratorMurMur
class | Incarnation
This class abstracts an incarnation count. More...
struct | Link
struct | LinkImpl
struct | LinkInfo
class | LinkManager
class | Log
Logging test results. More...
class | MemFunTbl
Member Function Table template. More...
class | Observer
Class used to observe other subjects. More...
class | UPITID
Unique Plug Interface Type ID. More...
class | UPIID
Unique Plug Interface ID. More...
class | PlugIn
Plug-in base class. More...
class | PlugInServer
Plug-in management. More...
class | PlugInCallback
PlugInCallback base class. More...
class | ProblemInfo
Class that holds the problem information. More...
class | LogListCompare
Functor class to order ProblemInfo objects. More...
class | ProblemLog
Class to log problems. More...
class | Profile
Profiling class. More...
class | RCObject
Provides an interface for reference counted objects. More...
class | RCVector
A reference counted vector. More...
class | ReadableObject
class | Property
This is the base class for all Properties. It's being used as Handle to a Property. All property implementations need to derive from. More...
struct | TypedPropertyEnum< float >
Specialization of the TypedPropertyEnum template for type float. More...
struct | TypedPropertyEnum< bool >
Specialization of the TypedPropertyEnum template for type bool. More...
struct | TypedPropertyEnum< unsigned int >
Specialization of the TypedPropertyEnum template for type unsigned int. More...
struct | TypedPropertyEnum< int >
Specialization of the TypedPropertyEnum template for type int. More...
struct | TypedPropertyEnum< Reflection >
Specialization of the TypedPropertyEnum template for type Reflection. More...
class | TypedProperty
This is the templated baseclass for all properties of a given type<T>. All properties must derive from this class. More...
struct | TypeTraits< ValueType, value >
Type for the TypeTraits template * Type for the TypeTraits template * This template convertes a pair ValueType/(const_reference/value) to the corresponding parameter signature. TypeTraits<ValueType, value>::value_type is of type ValueType TypeTraits<ValueType, value>::parameter_type is of type ValueType TypeTraits<ValueType, const_reference>::value_type is of type ValueType TypeTraits<ValueType, const_reference>::parameter_type is of type const ValueType & Partial specialization of the TypeTraits template for value types. More...
struct | TypeTraits< ValueType, const_reference >
Partial specialization of the TypeTraits template for const reference types. More...
class | FunctorSet
Functor to set a property value in an object. More...
class | FunctorSetMember
Functor to set the value of a member of an object. More...
class | FunctorSetEnum
Functor to set an enum property value in an object. This is special because enums can be either set as ints or by their enum type. More...
class | FunctorSetInvalid
Functor to set a value which always asserts. This is being used for RO properties. More...
class | FunctorGet
Functor to get a property value from an object. More...
class | FunctorGetMember
Functor to get a member value from an object. More...
class | FunctorGetEnum
Functor to get an enum property value from an object. It's possible to use an int or enum as return value. More...
class | FunctorGetInvalid
Functor to set a value which always asserts. This is being used for RO properties. More...
class | TypedPropertyImpl
A delegating property implementation. This class is used for most of the properties. More...
class | TypedPropertyValue
A property object holding a value directly. More...
class | TypedPropertyImplEnum
A delegating property implementation with enum as int support. This class is used for all enum properties. More...
class | ReflectionStorage
class | PropertyList
This is the base class for a list of Properties. It's possible to implement this interace for custom property lists, i.e. mapping properties of an CgFx or an RTFx. More...
class | PropertyListImpl
Default implementation of a PropertyList. Add the new function addProperty to add Properties. More...
class | PropertyListChain
This PropertyList implementation will provide a view on multiple PropertyList with a single List only. Changes to the added PropertyLists are immideatly visible in this view. More...
class | ReflectionInfo
This class stores reflection information for one object type. There will be exactly one instance of this object per object type. More...
class | Reflection
This is the base class for all objects which support the Reflection/Property mechanism. It's basically a PropertyListChain which will get Base class for all objects with properties. Use this as base class for all objects which provide properties *. More...
class | RegVal
Template class for easy access to the Registry. More...
class | SceniXIterator
Iterator base class for various iterators in SceniX. More...
class | Singleton
A Singleton framework. More...
class | SmartPtr
Pointer object to auto-support lifetime management for reference-counted objects. More...
class | STLList
class | STLMap
class | STLMultimap
class | STLMultiset
class | STLSet
class | STLVector
struct | DummyPayload
class | StridedIterator
class | StridedConstIterator
class | Subject
A Subject is observable by some Oberver objects. More...
class | SWMRSyncImpl
Interface class for SWMRSync *. More...
class | SWMRSync
Single write, multiple read synchronization class. More...
class | AutoLock
Helper class to provide a scoped usage of an SWMRSync lock. More...
class | Timer
A simple timer class. This timer class can be used on Windows and Linux systems to measure time intervals in milliseconds. The timer can be started and stopped several times and accumulates time elapsed between the start() and stop() calls. More...
class | StrTokenizer
Separate a string into tokens. More...
class | TempLocale
Sets a temporary locale for the lifetime of the object. More...
struct | traceDebugOutput
output to attached debugger More...
struct | traceConsoleOutput
output to console More...
struct | traceConsoleDebugOutput
output to console _AND_ attached debugger More...
struct | traceFileOutput
output to file More...
struct | traceFileDebugOutput
output to log file _AND_ attached debugger More...
struct | traceFileConsoleOutput
output to log file _AND_ console More...
class | Trace
Trace class template. More...
struct | TraceFunctor
uses the function given as template argument to print out a given string More...
class | Trackball
Trackball class for simulating a virtual trackball. More...
class | TransformStack
Utility class to hold a stack of concatenated transformation matrices. More...
class | Validated
The Validated class adds a validation state to some data. More...
class | WritableObject
class | Handle
Controls access to the the handled object. More...
struct | ObjectTraits< nvsg::RTFxBase >
struct | TypedPropertyEnum< nvmath::Vec2f >
Specialization of the TypedPropertyEnum template for type nvmath::Vec2f. More...
struct | TypedPropertyEnum< nvmath::Vec3f >
Specialization of the TypedPropertyEnum template for type nvmath::Vec3f. More...
struct | TypedPropertyEnum< nvmath::Vec4f >
Specialization of the TypedPropertyEnum template for type nvmath::Vec4f. More...
struct | TypedPropertyEnum< nvmath::Box2f >
Specialization of the TypedPropertyEnum template for type nvmath::Box2f. More...
struct | TypedPropertyEnum< nvmath::Box3f >
Specialization of the TypedPropertyEnum template for type nvmath::Box3f. More...
struct | TypedPropertyEnum< nvmath::Box4f >
Specialization of the TypedPropertyEnum template for type nvmath::Box4f. More...
struct | TypedPropertyEnum< nvmath::Mat33f >
Specialization of the TypedPropertyEnum template for type nvmath::Mat33f. More...
struct | TypedPropertyEnum< nvmath::Mat44f >
Specialization of the TypedPropertyEnum template for type nvmath::Mat44f. More...
struct | TypedPropertyEnum< nvmath::Quatf >
Specialization of the TypedPropertyEnum template for type nvmath::Quatf. More...
struct | TypedPropertyEnum< nvmath::Vec2ui >
Specialization of the TypedPropertyEnum template for type nvmath::Vec2ui. More...
struct | TypedPropertyEnum< nvmath::Vec3ui >
Specialization of the TypedPropertyEnum template for type nvmath::Vec3ui. More...
struct | TypedPropertyEnum< nvmath::Vec4ui >
Specialization of the TypedPropertyEnum template for type nvmath::Vec4ui. More...
struct | TypedPropertyEnum< nvmath::Vec2i >
Specialization of the TypedPropertyEnum template for type nvmath::Vec2i. More...
struct | TypedPropertyEnum< nvmath::Vec3i >
Specialization of the TypedPropertyEnum template for type nvmath::Vec3i. More...
struct | TypedPropertyEnum< nvmath::Vec4i >
Specialization of the TypedPropertyEnum template for type nvmath::Vec4i. More...
struct | TypedPropertyEnum< nvmath::Trafo >
Specialization of the TypedPropertyEnum template for type nvmath::Trafo. More...
struct | TypedPropertyEnum< nvsg::VertexAttribute >
Specialization of the TypedPropertyEnum template for type nvsg::VertexAttribute. More...
struct | TypedPropertyEnum< std::string >
Specialization of the TypedPropertyEnum template for type std::string. More...
struct | TypedPropertyEnum< std::set< unsigned int > >
Specialization of the TypedPropertyEnum template for type std::set<unsigned int>. More...
struct | TypedPropertyEnum< nvsg::SceneSharedPtr >
Specialization of the TypedPropertyEnum template for type nvsg::SceneSharedPtr. More...
struct | TypedPropertyEnum< nvsg::ViewStateSharedPtr >
Specialization of the TypedPropertyEnum template for type nvsg::ViewStateSharedPtr. More...
struct | TypedPropertyEnum< nvui::SmartRenderTarget >
Specialization of the TypedPropertyEnum template for type nvui::SmartRenderTarget. More...
struct | TypedPropertyEnum< nvgl::GLObjectRenderer::CacheMode >
struct | TypedPropertyEnum< nvgl::GLObjectRenderer::FaceCullMode >
struct | TypedPropertyEnum< nvsg::ObjectRenderer::PolygonMode >
struct | TypedPropertyEnum< nvsg::ObjectRenderer::RenderTechnique >

Namespaces

namespace | IO
IO namespace.

Typedefs

typedef int(* | UserAssertCallback )(const char *message)
typedef unsigned long | bitset32
typedef unsigned long long | bitset64
typedef const Link * | LinkId
typedef std::map< nvsg::ObjectWeakPtr,
LinkInfo > 		LinkInfoMap
typedef std::set< nvsg::ObjectWeakPtr > | CalcList
typedef std::set< nvsg::ObjectWeakPtr > | ReflectionSet
typedef void | LOG_OUTPUT_FUNCTION (const char *)
Type of output function to use with Log class objects.
typedef Singleton< Log< TM_TEST,
logFileOutput > > 		LogTest
Dedicated type for general test logging.
typedef bool(* | PFNQUERYPLUGINTERFACETYPE )(const UPITID &pitid, std::vector< UPIID > &piids)
Function pointer type for queryPlugInterfaceType export function required by a plug-in.
typedef Singleton< PlugInServer > | PIS
Type define for the application unique PlugInServer.
typedef std::list< ProblemInfo > | ProblemLogList
Structure of the problem list.
typedef nvutil::SmartPtr<
RCObject > 		SmartRCObject
Type definition for a SmartPtr of type RCObject.
typedef std::basic_string<
TCHAR > 		tstring
typedef CRITICAL_SECTION | SWMRCriticalSection

Enumerations

enum | TESTMODE { TM_NONE = 0, TM_TEST }
Test modes available for logging. More...
enum | { SIGNATURE = 0x4753564e }

Functions

OBJECT_TRAITS (nvgl::ShareGroupGL, nvutil::HandledObject)
OBJECT_TRAITS (nvsg::Object, nvutil::HandledObject)
OBJECT_TRAITS (nvsg::Camera, nvsg::Object)
OBJECT_TRAITS (nvsg::FrustumCamera, nvsg::Camera)
OBJECT_TRAITS (nvsg::ParallelCamera, nvsg::FrustumCamera)
OBJECT_TRAITS (nvsg::PerspectiveCamera, nvsg::FrustumCamera)
OBJECT_TRAITS (nvsg::MatrixCamera, nvsg::Camera)
OBJECT_TRAITS (nvsg::Node, nvsg::Object)
OBJECT_TRAITS (nvsg::Group, nvsg::Node)
OBJECT_TRAITS (nvsg::Billboard, nvsg::Group)
OBJECT_TRAITS (nvsg::FlipbookAnimation, nvsg::Group)
OBJECT_TRAITS (nvsg::LOD, nvsg::Group)
OBJECT_TRAITS (nvsg::Transform, nvsg::Group)
OBJECT_TRAITS (nvsg::AnimatedTransform, nvsg::Transform)
OBJECT_TRAITS (nvsg::Switch, nvsg::Group)
OBJECT_TRAITS (nvsg::LightSource, nvsg::Object)
OBJECT_TRAITS (nvsg::DirectedLight, nvsg::LightSource)
OBJECT_TRAITS (nvsg::PointLight, nvsg::LightSource)
OBJECT_TRAITS (nvsg::SpotLight, nvsg::LightSource)
OBJECT_TRAITS (nvsg::ClipPlane, nvsg::Object)
OBJECT_TRAITS (nvsg::GeoNode, nvsg::Node)
OBJECT_TRAITS (nvsg::Drawable, nvsg::Object)
OBJECT_TRAITS (nvsg::Primitive, nvsg::Drawable)
OBJECT_TRAITS (nvsg::IndependentPrimitiveSet, nvsg::PrimitiveSet)
OBJECT_TRAITS (nvsg::PatchesBase, nvsg::Primitive)
OBJECT_TRAITS (nvsg::QuadPatches, nvsg::PatchesBase)
OBJECT_TRAITS (nvsg::RectPatches, nvsg::PatchesBase)
OBJECT_TRAITS (nvsg::TriPatches, nvsg::PatchesBase)
OBJECT_TRAITS (nvsg::Quads, nvsg::IndependentPrimitiveSet)
OBJECT_TRAITS (nvsg::Triangles, nvsg::IndependentPrimitiveSet)
OBJECT_TRAITS (nvsg::Lines, nvsg::IndependentPrimitiveSet)
OBJECT_TRAITS (nvsg::Points, nvsg::IndependentPrimitiveSet)
OBJECT_TRAITS (nvsg::MeshedPrimitiveSet, nvsg::PrimitiveSet)
OBJECT_TRAITS (nvsg::QuadMeshes, nvsg::MeshedPrimitiveSet)
OBJECT_TRAITS (nvsg::StrippedPrimitiveSet, nvsg::PrimitiveSet)
OBJECT_TRAITS (nvsg::QuadStrips, nvsg::StrippedPrimitiveSet)
OBJECT_TRAITS (nvsg::TriFans, nvsg::StrippedPrimitiveSet)
OBJECT_TRAITS (nvsg::TriStrips, nvsg::StrippedPrimitiveSet)
OBJECT_TRAITS (nvsg::LineStrips, nvsg::StrippedPrimitiveSet)
OBJECT_TRAITS (nvsg::UserDrawable, nvsg::Drawable)
OBJECT_TRAITS (nvsg::Shape, nvsg::Drawable)
OBJECT_TRAITS (nvsg::VertexAttributeSet, nvsg::Object)
OBJECT_TRAITS (nvsg::IndexSet, nvsg::Object)
OBJECT_TRAITS (nvsg::AnimatedVertexAttributeSet, nvsg::VertexAttributeSet)
OBJECT_TRAITS (nvsg::Skin, nvsg::Object)
OBJECT_TRAITS (nvsg::StateAttribute, nvsg::Object)
OBJECT_TRAITS (nvsg::CgFx, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::CgFxEffect, nvsg::Object)
OBJECT_TRAITS (nvsg::Material, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::RTBufferAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::RTFx, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::StencilAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::TextureAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::TextureAttributeItem, nvsg::Object)
OBJECT_TRAITS (nvsg::BlendAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::AlphaTestAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::DepthAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::UnlitColorAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::PrimitiveAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::FaceAttribute, nvsg::PrimitiveAttribute)
OBJECT_TRAITS (nvsg::LightingAttribute, nvsg::StateAttribute)
OBJECT_TRAITS (nvsg::LineAttribute, nvsg::PrimitiveAttribute)
OBJECT_TRAITS (nvsg::PointAttribute, nvsg::PrimitiveAttribute)
OBJECT_TRAITS (nvsg::StateSet, nvsg::Object)
OBJECT_TRAITS (nvsg::StateVariant, nvsg::Object)
OBJECT_TRAITS (nvsg::StatePass, nvsg::Object)
OBJECT_TRAITS (nvsg::AnimationState, nvsg::Object)
OBJECT_TRAITS (nvsg::VertexAttributeAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::TrafoAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::IndexAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::FloatAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::Vec2fAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::Vec3fAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::Vec4fAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::Mat33fAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::Mat44fAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::QuatfAnimation, nvsg::AnimationState)
OBJECT_TRAITS (nvsg::VertexAttributeAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::TrafoAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::IndexAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::FloatAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::Vec2fAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::Vec3fAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::Vec4fAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::Mat33fAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::Mat44fAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::QuatfAnimationDescription, nvsg::Object)
OBJECT_TRAITS (nvsg::FramedVertexAttributeAnimationDescription, nvsg::VertexAttributeAnimationDescription)
OBJECT_TRAITS (nvsg::FramedTrafoAnimationDescription, nvsg::TrafoAnimationDescription)
OBJECT_TRAITS (nvsg::FramedIndexAnimationDescription, nvsg::IndexAnimationDescription)
OBJECT_TRAITS (nvsg::FramedFloatAnimationDescription, nvsg::FloatAnimationDescription)
OBJECT_TRAITS (nvsg::FramedVec2fAnimationDescription, nvsg::Vec2fAnimationDescription)
OBJECT_TRAITS (nvsg::FramedVec3fAnimationDescription, nvsg::Vec3fAnimationDescription)
OBJECT_TRAITS (nvsg::FramedVec4fAnimationDescription, nvsg::Vec4fAnimationDescription)
OBJECT_TRAITS (nvsg::FramedMat33fAnimationDescription, nvsg::Mat33fAnimationDescription)
OBJECT_TRAITS (nvsg::FramedMat44fAnimationDescription, nvsg::Mat44fAnimationDescription)
OBJECT_TRAITS (nvsg::FramedQuatfAnimationDescription, nvsg::QuatfAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedVertexAttributeAnimationDescription, nvsg::VertexAttributeAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedTrafoAnimationDescription, nvsg::TrafoAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedIndexAnimationDescription, nvsg::IndexAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedFloatAnimationDescription, nvsg::FloatAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedVec2fAnimationDescription, nvsg::Vec2fAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedVec3fAnimationDescription, nvsg::Vec3fAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedVec4fAnimationDescription, nvsg::Vec4fAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedMat33fAnimationDescription, nvsg::Mat33fAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedMat44fAnimationDescription, nvsg::Mat44fAnimationDescription)
OBJECT_TRAITS (nvsg::KeyFramedQuatfAnimationDescription, nvsg::QuatfAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedVertexAttributeAnimationDescription, nvsg::KeyFramedVertexAttributeAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedTrafoAnimationDescription, nvsg::KeyFramedTrafoAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedFloatAnimationDescription, nvsg::KeyFramedFloatAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedVec2fAnimationDescription, nvsg::KeyFramedVec2fAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedVec3fAnimationDescription, nvsg::KeyFramedVec3fAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedVec4fAnimationDescription, nvsg::KeyFramedVec4fAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedMat33fAnimationDescription, nvsg::KeyFramedMat33fAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedMat44fAnimationDescription, nvsg::KeyFramedMat44fAnimationDescription)
OBJECT_TRAITS (nvsg::LinearInterpolatedQuatfAnimationDescription, nvsg::KeyFramedQuatfAnimationDescription)
OBJECT_TRAITS (nvsg::MapObject, nvsg::Object)
OBJECT_TRAITS (nvsg::MapArray, nvsg::MapObject)
OBJECT_TRAITS (nvsg::MapElement, nvsg::MapObject)
OBJECT_TRAITS (nvsg::MapMatrix, nvsg::MapObject)
OBJECT_TRAITS (nvsg::MapList, nvsg::Object)
OBJECT_TRAITS (nvsg::Scene, nvsg::Object)
OBJECT_TRAITS (nvsg::RTFxSceneAttribute, nvsg::SceneAttribute)
OBJECT_TRAITS (nvsg::ViewState, nvutil::HandledObject)
OBJECT_TRAITS (nvsg::DALHost, nvutil::HandledObject)
OBJECT_TRAITS (nvsg::RTFxProgram, nvsg::Object)
OBJECT_TRAITS (nvsg::Buffer, nvutil::HandledObject)
OBJECT_TRAITS (nvsg::BufferHost, nvsg::Buffer)
OBJECT_TRAITS (nvsg::Texture, nvutil::HandledObject)
OBJECT_TRAITS (nvsg::TextureHost, nvsg::Texture)
OBJECT_TRAITS (nvgl::BufferGL, nvsg::Buffer)
OBJECT_TRAITS (nvgl::TextureGL, nvsg::Texture)
OBJECT_TRAITS (nvgl::DisplayListGL, nvutil::HandledObject)
OBJECT_TRAITS (nvtraverser::CameraUpdateSemaphore, nvsg::Object)
OBJECT_TRAITS (nvtraverser::SpotLightUpdateSemaphore, nvsg::Object)
OBJECT_TRAITS (nvui::RendererOptions, nvutil::HandledObject)
NVSG_API UserAssertCallback | SetUserAssertCallback (UserAssertCallback cb)
Set a user-defined assertion-failure callback.
NVSG_API void | AssertionFailed (const char *expr, const char *file, unsigned int line)
NVSG_API std::vector< std::string > | backtrace (int skipFrames, unsigned int maxFrames, const std::vector< std::string > &exclusionList=std::vector< std::string >())
NVSG_API void * | DLLOpen (const std::string &name)
Open a shared library.
NVSG_API void | DLLClose (void *module)
Close a shared library.
NVSG_API void * | DLLSym (void *dll, const std::string &func)
Get a symbol.
template<typename T, typename USharedPtr>
const ObjectTraits< T >::SharedPtr & | sharedPtr_cast (const USharedPtr &rhs)
Special casting operator for const SharedPtr.
template<typename T, typename USharedPtr>
ObjectTraits< T >::SharedPtr & | sharedPtr_cast (USharedPtr &rhs)
Special casting operator for SharedPtr.
template<typename T, typename UWeakPtr>
const ObjectTraits< T >::WeakPtr & | weakPtr_cast (const UWeakPtr &rhs)
Special casting operator for const WeakPtr.
template<typename T, typename UWeakPtr>
ObjectTraits< T >::WeakPtr & | weakPtr_cast (UWeakPtr &rhs)
Special casting operator for WeakPtr.
class class | CORE_TYPES_BASE (HandledObject)
Type definitions for HandledObject.
CORE_TYPES (Observer, HandledObject)
Type definitions for Observer.
CORE_TYPES (BackLinkObserver, Observer)
Type definitions for BackLinkObserver.
OBJECT_TRAITS_BASE (HandledObject)
Trait definitions for HandledObject.
OBJECT_TRAITS (Observer, HandledObject)
Trait definitions for Observer.
OBJECT_TRAITS (BackLinkObserver, Observer)
Trait definitions for BackLinkObserver.
template<typename T>
ObjectTraits< T >::WeakPtr | getWeakPtr (const HandledObject *obj)
bool | operator< (const UPITID &lhs, const UPITID &rhs)
bool | operator== (const UPITID &lhs, const UPITID &rhs)
bool | operator!= (const UPITID &lhs, const UPITID &rhs)
bool | operator< (const UPIID &lhs, const UPIID &rhs)
bool | operator== (const UPIID &lhs, const UPIID &rhs)
bool | operator!= (const UPIID &lhs, const UPIID &rhs)
NVSG_API bool | getInterface (const std::vector< std::string > &searchPath, const UPIID &piid, PlugIn *&plugIn)
Get hold of a certain interface object.
NVSG_API bool | queryInterfaceType (const std::vector< std::string > &searchPath, const UPITID &pitid, std::vector< UPIID > &piids)
Query for a certain interface type.
NVSG_API void | releaseInterface (const UPIID &piid)
Release a certain interface.
NVSG_API void | setPlugInFileFilter (const std::string &filter)
Specify a file name filter to be used while searching for appropriate plug-in modules.
NVSG_API void | addPlugInSearchPath (const std::string &path)
Add a path to the list of directories used to search for PlugIn DLLs.
NVSG_API const std::vector<
std::string > & 		getPlugInSearchPath ()
Return the list of directories used to search for PlugIn DLLs.
void | reportError (ProblemLog &log, const char *problem, const char *missingFeature)
Helper function to add an error message to a ProblemLog.
void | reportWarning (ProblemLog &log, const char *problem, const char *missingFeature)
Helper function to add a warning message to a ProblemLog.
template<typename T>
class typedef void | DestroyCallback (const RCObject *rcObject, void *data)
Type definition for the callback on destruction.
template<typename ReturnType, typename InputType>
ReturnType * | reflection_cast (InputType *object)
Helper cast operator for reflection types.
NVSG_API ReflectionInfo * | createReflectionInfo (void(*initReflectionInfo)(ReflectionInfo &))
NVSG_API void | initReflection ()
Initialize Reflection framework.
NVSG_API void | shutdownReflection ()
Shut down Reflection framework.
template<typename ObjectType, typename PropertyType>
nvutil::Property * | createStaticProperty (const char *name)
template<typename ObjectType, typename ObjectTypeBase>
bool | deriveStaticProperties ()
template<typename T>
bool | operator== (const T *lhs, SmartPtr< T > &rhs)
Compare a pointer with a SmartPtr of the same type.
template<typename T>
bool | operator!= (const T *lhs, SmartPtr< T > &rhs)
Compare a pointer with a SmartPtr of the same type.
template<typename T, typename U>
bool | isSmartPtrOf (const SmartPtr< U > &p)
Check if a SmartPtr of type U also is a SmartPtr of type T.
template<typename T, typename U>
const SmartPtr< T > & | smart_cast (const SmartPtr< U > &rhs)
Cast a const SmartPtr of type U to a const SmartPtr of type T.
template<typename T, typename U>
SmartPtr< T > & | smart_cast (SmartPtr< U > &rhs)
Cast a SmartPtr of type U to a SmartPtr of type T.
template<typename T>
void | cloneIfShared (SmartPtr< T > &sp)
Helper function to clone a SmartPtr if it is shared.
template<typename SetType>
void | set_erase (SetType &theSet, typename SetType::key_type const *first, typename SetType::key_type const *last)
Erases all elements in a set that match keys in the specified range.
NVSG_API void | EnableLocking ()
Enable locking of the SWMRSync class.
NVSG_API bool | FindFile (const std::string &mask, const std::vector< std::string > &searchPaths, std::vector< std::string > &results, bool recursive=false)
Find files matching a pattern.
NVSG_API bool | FindFileFirst (const std::string &mask, const std::vector< std::string > &searchPaths, std::string &nameOut, bool recursive=false)
Check for the first occurence of a file.
NVSG_API bool | DirExists (const std::string &dirpath)
Check if a given directory exists.
NVSG_API bool | CreateDir (const std::string &dirpath)
Create a directory.
NVSG_API bool | FileExists (const std::string &filepath)
Check if a given file exists.
NVSG_API bool | FileSize (const std::string &filepath, long &size)
Return filesize in bytes of an existing file. Supports filesizes up to 2GB only.
NVSG_API bool | FileDelete (const std::string &filepath)
Delete a file.
NVSG_API void | GetFileNameFromPath (const std::string &path, std::string &fname)
Extract filename.
NVSG_API void | GetFileExtFromPath (const std::string &path, std::string &fext)
Extract file extension.
NVSG_API void | GetDirFromPath (const std::string &path, std::string &dir)
Extract directory path.
NVSG_API void | GetDrvFromPath (const std::string &path, std::string &drv)
Extract drive letter.
NVSG_API void | GetDrvAndDirFromPath (const std::string &path, std::string &dir)
Extract full path.
NVSG_API void | SplitPath (const std::string &path, std::string &drv, std::string &dir, std::string &fname, std::string &fext)
Break a path name into components.
NVSG_API void | GetModulePath (const std::string &module, std::string &path)
Determine the module path **Windows only**.
NVSG_API void | GetModulePath (const HMODULE hModule, std::string &path)
Determine the module path **Windows only**.
NVSG_API void | GetModulePath (std::string &path)
Holds the full executable path.
NVSG_API bool | GetCurrentDir (std::string &path)
Get the current directory for the current process.
NVSG_API std::string | SetCurrentDir (const std::string &dir)
Set the current directory for the current process.
NVSG_API void | ApplyNodeHints (const nvsg::NodeSharedPtr &root, unsigned int setHints, unsigned int clearHints=0)
Sets or clears a collection of object hints recursively.

Variables

NVSG_API LOG_OUTPUT_FUNCTION | logFileOutput
Function to log into a file.
typedef bool(* | PFNGETPLUGINTERFACE )(const UPIID &piid, PlugIn *&plugIn)
Function pointer type for getPlugInterface export function required by a plug-in.
class class typedef Property * | PropertyId
Type definition of a PropertyId.

Detailed Description

nvutil namespace

Use this Profiling class to measure execution times in milliseconds.

The PROFILE(desc) macro can be used to start a timer. PROFILE_GETTIME() can be used to measure an inbetween-time. The timer will run until PROFILE_STOP() is called or it goes out of scope. Thus, to just measure the time a function takes, you only need to call PROFILE(...); at the start of the function.

The PROFILE_GETTIME() and PROFILE_STOP() macros return a double containing the measured time in milliseconds.

The PROFILEN* macros can be used if several timers have to be declared in one scope.

The Profiling can be adjusted via the following defines:

ENABLE_PROFILING controls the profiling itself. If defined to 0, no profiling occurs. If set to a nonzero value, the profiling takes place.

If PROFILING_OUTPUT_FUNCTION is set to one of (fileOutput, consoleOutput, debugOutput), starting and stopping a timer will output desc to mark the begin and end of the profiling, together with the measured time on stop. If it is defined to an empty value, nothing is output.

The output filename (if PROFILING_OUTPUT_FUNCTION is set to fileOutput) can be set via PROFILING_FILENAME.

Typedef Documentation

typedef bool(* PFNQUERYPLUGINTERFACETYPE)(const UPITID &pitid, std::vector< UPIID > &piids)

Function pointer type for queryPlugInterfaceType export function required by a plug-in.

typedef Singleton<PlugInServer> PIS

Type define for the application unique PlugInServer.

typedef std::list<ProblemInfo> ProblemLogList

Structure of the problem list.

typedef nvutil::SmartPtr< RCObject > SmartRCObject

Type definition for a SmartPtr of type RCObject.

typedef CRITICAL_SECTION SWMRCriticalSection

brief Platform independent type definition of a thread synchronization object.

Function Documentation

NVSG_API UserAssertCallback SetUserAssertCallback ( UserAssertCallback cb )

Set a user-defined assertion-failure callback.

This function registers a user-defined routine to call in the event of an assertion failure in SceniX.

Parameters:
cb A callback routine to call that is of type UserAssertCallback.
Returns:
Returns the previous callback, if one was registered.
Note:
The user-defined callback should have a prototype: int callback( const char * message ); and should return zero to let SceniX simply return from the assertion failure and not process it any further, or return non-zero to have SceniX continue with assertion processing for the host OS. IMPORTANT! The standard behavior of assert() or _wassert() under Windows is to print the message to the stderr stream for console applications, and to display them inside a MessageBox for Windows-based applications. After the assert message has been presented resp. after the user has clicked OK inside the MessageBox, the application aborts immediately! If that is not desired, use a user-defined assert callback to change this behavior.
An example callback function implementation which prints the assertion condition to the stderr output stream, breaks into the debugger, and returns zero to end the assertion handling, could look like this:

int AssertWithBreak( const char *message ) { std::cerr << message << std::endl; #if defined(_WIN32) DebugBreak(); #elif defined(LINUX) asm( "int $03;" ); #endif return 0; }

NVSG_API void* DLLOpen ( const std::string & name )

Open a shared library.

This function opens a shared library (.dll or .so).

NVSG_API void DLLClose ( void * module )

Close a shared library.

This function closes a shared library opened with DLLOpen

NVSG_API void* DLLSym | ( | void * | dll,
 |  | const std::string & | func
 | ) |

Get a symbol.

This function extracts a symbol from a library opened with DLLOpen

const ObjectTraits<T>::SharedPtr& sharedPtr_cast ( const USharedPtr & rhs ) [inline]

Special casting operator for const SharedPtr.

Parameters:
rhs The const SharedPtr to cast.
Returns:
rhs casted from type const USharedPtr to type const SharedPtr<T>.
Remarks:
A sharedPtr_cast can be used to do a downcast a SharedPtr. In debug builds, it is checked whether that downcast is allowed.

ObjectTraits<T>::SharedPtr& sharedPtr_cast ( USharedPtr & rhs ) [inline]

Special casting operator for SharedPtr.

Parameters:
rhs The SharedPtr to cast.
Returns:
rhs casted from type USharedPtr to type SharedPtr<T>.
Remarks:
A sharedPtr_cast can be used to do a downcast of a SharedPtr. In debug builds, it is checked whether that downcast is allowed.

const ObjectTraits<T>::WeakPtr& weakPtr_cast ( const UWeakPtr & rhs ) [inline]

Special casting operator for const WeakPtr.

Parameters:
rhs The const WeakPtr to cast.
Returns:
rhs casted from type const UWeakPtr to type const WeakPtr<T>.
Remarks:
A weakPtr_cast can be used to do a downcast a WeakPtr. In debug builds, it is checked whether that downcast is allowed.

ObjectTraits<T>::WeakPtr& weakPtr_cast ( UWeakPtr & rhs ) [inline]

Special casting operator for WeakPtr.

Parameters:
rhs The WeakPtr to cast.
Returns:
rhs casted from type UWeakPtr to type WeakPtr<T>.
Remarks:
A weakPtr_cast can be used to do a downcast a WeakPtr. In debug builds, it is checked whether that downcast is allowed.

class CORE_TYPES_BASE ( HandledObject )

Type definitions for HandledObject.

CORE_TYPES | ( | Observer | ,
 |  | HandledObject |
 | ) |

Type definitions for Observer.

CORE_TYPES | ( | BackLinkObserver | ,
 |  | Observer |
 | ) |

Type definitions for BackLinkObserver.

OBJECT_TRAITS_BASE ( HandledObject )

Trait definitions for HandledObject.

OBJECT_TRAITS | ( | Observer | ,
 |  | HandledObject |
 | ) |

Trait definitions for Observer.

OBJECT_TRAITS | ( | BackLinkObserver | ,
 |  | Observer |
 | ) |

Trait definitions for BackLinkObserver.

bool operator< | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [inline]

Compares two UPITID objects. This operator is required e.g. if it is intended to store UPITID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [inline]

Tests two UPITID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPITID & | lhs,
 |  | const UPITID & | rhs
 | ) | [inline]

Tests two UPITID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator< | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [inline]

Compares two UPIID objects. This operator is required e.g. if it is intended to store UPIID objects in ordered containers.

Returns:
true if lhs is less than rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator== | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [inline]

Tests two UPIID objects on equality.

Returns:
true if lhs is equal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

bool operator!= | ( | const UPIID & | lhs,
 |  | const UPIID & | rhs
 | ) | [inline]

Tests two UPIID objects on inequality.

Returns:
true if lhs is unequal to rhs, false otherwise.
Parameters:
lhs | Left operand
rhs | Right operand

NVSG_API bool getInterface | ( | const std::vector< std::string > & | searchPath,
 |  | const UPIID & | piid,
 |  | PlugIn *& | plugIn
 | ) |

Get hold of a certain interface object.

Searches the searchPath in addition to plug-in search-paths for a plug-in that provides an interface specified by piid. If successfull, plugIn holds the requested interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.nxm" on Microsoft(R) Windows platforms as well as on Linux platforms.

The function always returns the first matching interface found in the specified search path in consideration of the used file name filter.

If client code asks for a certain interface a second time, without releasing the interface object got with the first call to getInterface, this function will not search through the search path a second time but returning the interface object registered with the first call. This will also work this way, independent of whether the file name filter was changed in between.

Remarks:
If client code has no concrete interface ID available to query for, it should first query for a superior interface type using nvutil::queryInterfaceType to get hold of a list of interfaces all providing the superior interface type.
In order to utilize the concrete interface queried for, client code must 'reinterpret_cast' plugIn to a concrete interface pointer and use this pointer to access the interface.
To avoid resource leaks, client code should release the interface through a call to nvutil::releaseInterface, after usage.
Returns:
true if successfull, false otherwise.
Parameters:
searchPath | The optional path to search for the plug-ins.
piid | Identifies the interface to search for.
plugIn | Holds the interface object (plug-in), if successfull.

NVSG_API bool queryInterfaceType | ( | const std::vector< std::string > & | searchPath,
 |  | const UPITID & | pitid,
 |  | std::vector< UPIID > & | piids
 | ) |

Query for a certain interface type.

Searches the searchPath in addition to plug-in search paths for all plug-ins that provide a certain interface type specified by pitid. If successful, client code will receive the concrete interface IDs in piids. Each of these IDs can than be used along with nvutil::getInterface, to get an interface object.

While searching for appropriate plug-in modules, this function uses either the PlugInServer's default file name filter or a custom file name filter set by a call to nvutil::setPlugInFileFilter. The default file name filter for plug-in modules is "*.nxm" on Microsoft(R) Windows platforms as well as on Linux platforms.

Returns:
true if successful, false otherwise.
Parameters:
searchPath | The optional path to search for plug-ins.
pitid | Identifies the interface type to query for.
piids | Holds all interface IDs found, if successfull.

NVSG_API void releaseInterface ( const UPIID & piid )

Release a certain interface.

Frees all resources acquired by the interface object identified by piid.

Parameters:
piid Identifies the interface to be released.

NVSG_API void setPlugInFileFilter ( const std::string & filter )

Specify a file name filter to be used while searching for appropriate plug-in modules.

This function overrides the PlugInServer's default file name filter used to search for appropriate plug-in modules. The function lets you specify different file name patterns. The patterns must be separated by a semicolon.

Parameters:
filter String of file name filter patterns all delimited by a semicolon.

NVSG_API void addPlugInSearchPath ( const std::string & path )

Add a path to the list of directories used to search for PlugIn DLLs.

This function adds a directory to the internal search list. The list is used internally when SceniX looks for Texture Loaders and it can be queried by an application through getPlugInSearchPath() to be used as a search path when querying SceneLoader PlugIns. It will always contain the current instance's path (module path), which is added during initialization.

Parameters:
path A directory to be added to the search path.

NVSG_API const std::vector<std::string>& getPlugInSearchPath ( )

Return the list of directories used to search for PlugIn DLLs.

See comments for addPlugInSearchPath()

void reportError | ( | ProblemLog & | log,
 |  | const char * | problem,
 |  | const char * | missingFeature
 | ) | [inline]

Helper function to add an error message to a ProblemLog.

Parameters:
log | The ProblemLog to add the error message.
problem | The string classifying the error.
missingFeature | A more detailed description of the error.

void reportWarning | ( | ProblemLog & | log,
 |  | const char * | problem,
 |  | const char * | missingFeature
 | ) | [inline]

Helper function to add a warning message to a ProblemLog.

Parameters:
log | The ProblemLog to add the warning message.
problem | The string classifying the warning.
missingFeature | A more detailed description of the warning.

class class typedef void DestroyCallback | ( | const RCObject * | rcObject,
 |  | void * | data
 | ) |

Type definition for the callback on destruction.

Namespace: nvsg
Remarks:
An RCObject can have callbacks to be called, just before it is destroyed. This is the definition of the interface of these callbacks. The complete rcObject can be read at that moment, but not written.
Note:
The behavior is undefined, if rcObject is written to.
See also:
RCObject::addOnDestroyCallback, RCObject::removeOnDestroyCallback

ReturnType* reflection_cast ( InputType * object )

Helper cast operator for reflection types.

Parameters:
object pointer to cast form InputType to ReturnType.

NVSG_API ReflectionInfo* createReflectionInfo ( void(*)(ReflectionInfo &) initReflectionInfo )

Create reflectionInfo objects inside NVSGs runtime context *

NVSG_API void initReflection ( )

Initialize Reflection framework.

NVSG_API void shutdownReflection ( )

Shut down Reflection framework.

nvutil::Property* createStaticProperty ( const char * name )

Create a static property for the given PropertType and register it in the ReflectionInfo storage *

bool operator== | ( | const T * | lhs,
 |  | SmartPtr< T > & | rhs
 | ) |

Compare a pointer with a SmartPtr of the same type.

Parameters:
lhs | A pointer.
rhs | A SmartPtr of the same type as lhs.
Returns:
true, if lhs is the same pointer as the one managed by rhs, otherwise false.

bool operator!= | ( | const T * | lhs,
 |  | SmartPtr< T > & | rhs
 | ) |

Compare a pointer with a SmartPtr of the same type.

Parameters:
lhs | A pointer.
rhs | A SmartPtr of the same type as lhs.
Returns:
true, if lhs is the a different pointer as the one managed by rhs, otherwise false.

bool isSmartPtrOf ( const SmartPtr< U > & p ) [inline]

Check if a SmartPtr of type U also is a SmartPtr of type T.

Parameters:
p The SmartPtr to check.
Returns:
true, if the pointer managed by p can be dynamically casted to a pointer to a T, otherwise false.

const SmartPtr<T>& smart_cast ( const SmartPtr< U > & rhs ) [inline]

Cast a const SmartPtr of type U to a const SmartPtr of type T.

Parameters:
rhs The const SmartPtr to cast.
Returns:
rhs reinterpreted as a const SmartPtr of type T.
Note:
In debug mode, it is asserted that rhs in fact is a const SmartPtr of type T.

SmartPtr<T>& smart_cast ( SmartPtr< U > & rhs ) [inline]

Cast a SmartPtr of type U to a SmartPtr of type T.

Parameters:
rhs The SmartPtr to cast.
Returns:
rhs reinterpreted as a SmartPtr of type T.
Note:
In debug mode, it is asserted that rhs in fact is a SmartPtr of type T.

void cloneIfShared ( SmartPtr< T > & sp ) [inline]

Helper function to clone a SmartPtr if it is shared.

Parameters:
sp The SmartPtr to clone, if it is shared.
Remarks:
If sp is shared, it is cloned and sp then points to the newly cloned object. Otherwise sp isn't changed.

void set_erase | ( | SetType & | theSet,
 |  | typename SetType::key_type const * | first,
 |  | typename SetType::key_type const * | last
 | ) | [inline]

Erases all elements in a set that match keys in the specified range.

Parameters:
theSet | Specifies the set object from which to erase elements
first | Points to the beginning of the range of keys
last | Position just beyond the last key in the range
Remarks:
This function provides the option of erasing elements from a set that match the keys in a specified range. This functionality is not provided by the C++ standard library.
Example
  #include <set>
  #include "nvutil/STLExt.h"

  using namespace std;
  using namespace nvutil;

  int main()
  {
    set<int> iset;
    for ( int i=0; i<10; i++ )
      iset.insert( i );

    int keys[5] = {0, 2, 4, 6, 8};
    set_erase(iset, &keys[0], &keys[5]);
  }

NVSG_API void EnableLocking ( )

Enable locking of the SWMRSync class.

Remarks:
This function is called from within nvsgInitialize if the argument threadingModel is NVSG_MULTITHREADED.

NVSG_API bool FindFile | ( | const std::string & | mask,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::vector< std::string > & | results,
 |  | bool | recursive = false
 | ) |

Find files matching a pattern.

Tries to find files matching mask and output results (full path) to results

The function tries to lookup the file as follows:
  1. If mask contains a drive or path, that path will be looked for first
  2. If it does not contain a path and searchPaths is empty we look inside current dir for a match
  3. Look inside the search paths stored in searchPaths
  4. Dive into all the subdirs if recursive is set true
Note: Use FindFileFirst, if you are only interested in the first occurence of a file.

Returns:
true if successfull, false otherwise.
Parameters:
mask | the path/file mask to match
searchPaths | the dirs to search additionally
results | store results in here
recursive | search all subdirs also

NVSG_API bool FindFileFirst | ( | const std::string & | mask,
 |  | const std::vector< std::string > & | searchPaths,
 |  | std::string & | nameOut,
 |  | bool | recursive = false
 | ) |

Check for the first occurence of a file.

Works as FindFile, but return the first match only to nameOut

Parameters:
mask | Name of the file to search for.
searchPaths | Collection of search paths to lookup the file.
nameOut | Holds the full path and filename, if successful.
recursive | search all subdirs also

NVSG_API bool DirExists ( const std::string & dirpath )

Check if a given directory exists.

NVSG_API bool CreateDir ( const std::string & dirpath )

Create a directory.

NVSG_API bool FileExists ( const std::string & filepath )

Check if a given file exists.

NVSG_API bool FileSize | ( | const std::string & | filepath,
 |  | long & | size
 | ) |

Return filesize in bytes of an existing file. Supports filesizes up to 2GB only.

NVSG_API bool FileDelete ( const std::string & filepath )

Delete a file.

NVSG_API void GetFileNameFromPath | ( | const std::string & | path,
 |  | std::string & | fname
 | ) |

Extract filename.

Extracts the filename with extension from path and returns it in fname.

Parameters:
path | Input path and filename.
fname | Extracted filename with extension.

NVSG_API void GetFileExtFromPath | ( | const std::string & | path,
 |  | std::string & | fext
 | ) |

Extract file extension.

Extracts the file extension, including leading period from path and returns it in fext.

Parameters:
path | Input path and filename.
fext | Extracted file extension, including leading period.

NVSG_API void GetDirFromPath | ( | const std::string & | path,
 |  | std::string & | dir
 | ) |

Extract directory path.

Extracts the directory path, including trailing slash from path and returns it in dir.

Parameters:
path | Input path and filename.
dir | Extracted directory path, including trailing slash.

NVSG_API void GetDrvFromPath | ( | const std::string & | path,
 |  | std::string & | drv
 | ) |

Extract drive letter.

Extracts the optional drive letter, followed by a colon from path and returns it in drv.

Parameters:
path | Input path and filename.
drv | Extracted drive letter, followed by a colon.

NVSG_API void GetDrvAndDirFromPath | ( | const std::string & | path,
 |  | std::string & | dir
 | ) |

Extract full path.

Extracts the drive and directory from path and returns it in dir.

Parameters:
path | Input path and filename.
dir | Extracted path, including trailing slash.

NVSG_API void SplitPath | ( | const std::string & | path,
 |  | std::string & | drv,
 |  | std::string & | dir,
 |  | std::string & | fname,
 |  | std::string & | fext
 | ) |

Break a path name into components.

Parameters:
path | The full path.
drv | String to get the drive letter, followed by a colon (:).
dir | String to get the directory path.
fname | String to get the base filename without extension.
fext | String to get the filename extension, including leading period (.).

NVSG_API void GetModulePath | ( | const std::string & | module,
 |  | std::string & | path
 | ) |

Determine the module path **Windows only**.

Determines the full path to the module, given the module's name in module and returns it in path.

Parameters:
module | Module name.
path | Holds the full path to the module if the module was found.

NVSG_API void GetModulePath | ( | const HMODULE | hModule,
 |  | std::string & | path
 | ) |

Determine the module path **Windows only**.

Determines the full path of the module, given the module handle in hModule and returns it in path.

Parameters:
hModule | Module handle.
path | Holds the full path to the module.

NVSG_API void GetModulePath ( std::string & path )

Holds the full executable path.

Determines the full path to the current executable and returns it in path.

NVSG_API bool GetCurrentDir ( std::string & path )

Get the current directory for the current process.

path will hold the current directory if the function succeeds

Returns:
true if successful, false otherwise.
Parameters:
path Holds the current directory if the function succeeds.

NVSG_API std::string SetCurrentDir ( const std::string & dir )

Set the current directory for the current process.

Sets the current directory for the current process to path and returns the former current directory.

Returns:
A string holding the former current directory.
Parameters:
dir Path to be set as current directory.

NVSG_API void ApplyNodeHints | ( | const nvsg::NodeSharedPtr & | root,
 |  | unsigned int | setHints,
 |  | unsigned int | clearHints = 0
 | ) |

Sets or clears a collection of object hints recursively.

Sets the object hints setHints and clears the hints clearHints recursively, from root downward.

Variable Documentation

class typedef bool(* PFNGETPLUGINTERFACE)(const UPIID &piid, PlugIn *&plugIn)

Function pointer type for getPlugInterface export function required by a plug-in.

class typedef Property * PropertyId

Type definition of a PropertyId.

Generated on Fri Jul 13 13:31:22 2012 for SceniX


SceniX: nvutil::IO Namespace Reference

nvutil::IO

nvutil::IO Namespace Reference

IO namespace. More...

Functions

NVSG_API void errorMessage (const std::string &caption, const std::string &msg, bool resume)
Pop up an error message.

Detailed Description

IO namespace.

The IO namespace has been introduced as an additional layer to maintain platform independency for input/output related functionality.

Function Documentation

NVSG_API void errorMessage | ( | const std::string & | caption,
 |  | const std::string & | msg,
 |  | bool | resume
 | ) |

Pop up an error message.

This function pops up a dialog showing the error message msg. The dialog box will show \ a caption as caption. The boolean parameter resume forces a visual feedback for whether subsequent code will be resumed or not.

Note:
This function is only implemented for win32 and win64 systems by now.
Parameters:
caption | The dialog's caption string
msg | The error message string.
resume | true if subsequent code will be resumed, false otherwise.

Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Module Index

SceniX Modules

Here is a list of all modules:
  • Logging a certain test results
    • Macros providing initialization of certain test modes for logging
    • Macros providing formatted output relevant for a certain test modes
    • Macros to inquire if logging is enabled for a certain test mode
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: Logging a certain test results

Logging a certain test results

Collaboration diagram for Logging a certain test results:

Modules

Macros providing initialization of certain test modes for logging
Macros providing formatted output relevant for a certain test modes
Macros to inquire if logging is enabled for a certain test mode

Classes

class | Log
Logging test results. More...

Typedefs

typedef void | nvutil::LOG_OUTPUT_FUNCTION (const char *)
Type of output function to use with Log class objects.
typedef Singleton< Log< TM_TEST,
logFileOutput > > 		nvutil::LogTest
Dedicated type for general test logging.

Enumerations

enum | nvutil::TESTMODE { nvutil::TM_NONE = 0, nvutil::TM_TEST }
Test modes available for logging. More...

Functions

void | nvutil::Log::init (bool enable)
Initialization.
void | nvutil::Log::format (const char *fmt,...) const
Formatted output.
bool | nvutil::Log::isEnabled () const
Determine whether a certain test mode is enabled.

Variables

NVSG_API LOG_OUTPUT_FUNCTION | nvutil::logFileOutput
Function to log into a file.

Typedef Documentation

typedef void LOG_OUTPUT_FUNCTION(const char *)

Type of output function to use with Log class objects.

typedef Singleton< Log<TM_TEST, logFileOutput> > LogTest

Dedicated type for general test logging.

Enumeration Type Documentation

enum TESTMODE

Test modes available for logging.

Enumeration values:
TM_NONE | None of the following modes enabled.
TM_TEST | Any test mode.

Function Documentation

void init ( bool enable ) [inline, inherited]

Initialization.

Based on enable, decides wether to output or not.

Parameters:
enable Enable logging if true.

void format | ( | const char * | fmt,
 |  |  | ...
 | ) | const [inline, inherited]

Formatted output.

Outputs the format string fmt using OutputFn.

Parameters:
fmt Format string.

bool isEnabled ( ) const [inline, inherited]

Determine whether a certain test mode is enabled.

Returns:
true if output is enabled, fasle otherwise.

Variable Documentation

NVSG_API LOG_OUTPUT_FUNCTION logFileOutput

Function to log into a file.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Macros providing initialization of certain test modes for logging

Macros providing initialization of certain test modes for logging
[Logging a certain test results]

Collaboration diagram for Macros providing initialization of certain test modes for logging:

Defines

#define NVSG_LOG_TEST_INIT(TM) nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)
Initialize general test logging.

Detailed Description

By default, logging is disabled for all test modes. This macros can be used to initialize logging for a certain test mode:
 NVSG_LOG_TEST_INIT(testmode)  // enable test looging if testmode!=TM_NONE

Define Documentation

#define NVSG_LOG_TEST_INIT ( TM ) nvutil::LogTest::instance()->init(TM!=nvutil::TM_NONE)

Initialize general test logging.

Enables general test logging if TM equals any test mode but TM_NONE.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Macros providing formatted output relevant for a certain test modes

Macros providing formatted output relevant for a certain test modes
[Logging a certain test results]

Collaboration diagram for Macros providing formatted output relevant for a certain test modes:

Defines

#define NVSG_LOG_TEST(s) { if ( nvutil::LogTest::instance()->isEnabled() ) { nvutil::LogTest::instance()->format s; } }
Output test relevant format string s if output is enabled.

Detailed Description

These macros will only output if a specified test mode was enabled before, using the matching NVSG_LOG_TEST_INIT macro.
Note:
As macros cannot handle optional arguments as used with format strings, clients must use extra brackets for the argument:
 NVSG_LOG_TEST(( "Error: %X\n", getErrCode() ));

Define Documentation

#define NVSG_LOG_TEST ( s ) { if ( nvutil::LogTest::instance()->isEnabled() ) { nvutil::LogTest::instance()->format s; } }

Output test relevant format string s if output is enabled.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Macros to inquire if logging is enabled for a certain test mode

Macros to inquire if logging is enabled for a certain test mode
[Logging a certain test results]

Collaboration diagram for Macros to inquire if logging is enabled for a certain test mode:

Defines

#define NVSG_LOG_TEST_ENABLED() nvutil::LogTest::instance()->isEnabled()
Query if any test is enabled.

Detailed Description

This macros all can be used in conditional statements:
 if ( NVSG_LOG_TEST_ENABLED() )
 {
    // ...
 }

Define Documentation

#define NVSG_LOG_TEST_ENABLED ( ) nvutil::LogTest::instance()->isEnabled()

Query if any test is enabled.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Directory Hierarchy

SceniX Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
  • inc
    • nvsg
      • nvgl
      • nvmath
      • nvsg
      • nvtraverser
      • nvui
      • nvutil
  • media
    • effects
      • include
  • src
    • Loader
      • common
        • inc
      • DAELoader
      • FLTLoader
      • ILTexLoader
      • NBFLoader
        • inc
      • NVSGLoader
        • inc
      • OBJLoader
      • PLYLoader
      • WRLLoader
        • inc
      • XMLLoader
    • Saver
      • ILTexSaver
      • NBFSaver
        • inc
      • NVSGSaver
        • inc
      • OBJSaver
        • inc
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/ Directory Reference

inc

inc Directory Reference

Directories

directory nvsg
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/ Directory Reference

inc / nvsg

nvsg Directory Reference

Directories

directory | nvgl
directory | nvmath
directory | nvsg
directory | nvtraverser
directory | nvui
directory | nvutil
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvgl/ Directory Reference

inc / nvsg / nvgl

nvgl Directory Reference

Files

file | BufferGL.h [code]
file | DisplayListGL.h [code]
file | GLCgGLStateCallbacks.h [code]
file | GLContext.h [code]
file | GLDALData.h [code]
file | GLEvalVertexAttrib.h [code]
file | GLFunctions.h [code]
file | GLObjectRenderer.h [code]
file | GLObjects.h [code]
file | GLRenderListProcessor.h [code]
file | GLStatistics.h [code]
file | glxtypes.h [code]
file | ImmediateModeGLRenderListProcessor.h [code]
file | nvgl.h [code]
file | RenderbufferGL.h [code]
file | RenderContextGL.h [code]
file | RenderContextGLFormat.h [code]
file | RendererGLFSQ.h [code]
file | RenderTargetGL.h [code]
file | RenderTargetGLFB.h [code]
file | RenderTargetGLFBO.h [code]
file | SceneRendererGL2.h [code]
file | TextureGL.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvgl/ -> nvutil Relation

inc / nvsg / nvgl

nvgl → nvutil Relation

File in inc / nvsg / nvgl | Includes file in inc / nvsg / nvutil
DisplayListGL.h | HandledObject.h
GLContext.h | RCObject.h
GLObjects.h | RCObject.h
GLObjects.h | SmartPtr.h
nvgl.h | STLAllocator.h
RenderbufferGL.h | SmartPtr.h
SceneRendererGL2.h | SmartPtr.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvgl/ -> nvsg Relation

inc / nvsg / nvgl

nvgl → nvsg Relation

File in inc / nvsg / nvgl | Includes file in inc / nvsg / nvsg
GLCgGLStateCallbacks.h | CgFx.h
GLContext.h | CgFx.h
GLContext.h | TextureAttribute.h
GLContext.h | TextureHost.h
GLDALData.h | DAL.h
GLDALData.h | VertexAttributeSet.h
GLObjectRenderer.h | FaceAttribute.h
GLObjectRenderer.h | Material.h
GLObjectRenderer.h | ObjectRenderer.h
GLObjectRenderer.h | Primitive.h
GLRenderListProcessor.h | ViewState.h
ImmediateModeGLRenderListProcessor.h | ViewState.h
RendererGLFSQ.h | TextureHost.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvgl/ -> nvmath Relation

inc / nvsg / nvgl

nvgl → nvmath Relation

File in inc / nvsg / nvgl | Includes file in inc / nvsg / nvmath
GLContext.h | Vecnt.h
GLObjectRenderer.h | Matnnt.h
GLObjectRenderer.h | Vecnt.h
RendererGLFSQ.h | Vecnt.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvmath/ Directory Reference

inc / nvsg / nvmath

nvmath Directory Reference

Files

file | Beziernt.h [code]
file | Boxnt.h [code]
file | Matnnt.h [code]
file | nvmath.h [code]
file | Planent.h [code]
file | Quatt.h [code]
file | Spherent.h [code]
file | Trafo.h [code]
file | Vecnt.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvmath/ -> nvsg Relation

inc / nvsg / nvmath

nvmath → nvsg Relation

File in inc / nvsg / nvmath | Includes file in inc / nvsg / nvsg
Beziernt.h | IndexSet.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvsg/ Directory Reference

inc / nvsg / nvsg

nvsg Directory Reference

Files

file | AlphaTestAttribute.h [code]
file | AnimatedTransform.h [code]
file | AnimatedVertexAttributeSet.h [code]
file | Animation.h [code]
file | AnimationDescription.h [code]
file | Billboard.h [code]
file | BlendAttribute.h [code]
file | Buffer.h [code]
file | BufferHost.h [code]
file | Callback.h [code]
file | Camera.h [code]
file | CgFx.h [code]
file | CgmFx.h [code]
file | ClipPlane.h [code]
file | CoreTypes.h [code]
file | DAL.h [code]
file | DepthAttribute.h [code]
file | DirectedLight.h [code]
file | Drawable.h [code]
file | ErrorHandling.h [code]
file | Face.h [code]
file | FaceAttribute.h [code]
file | FaceConnections.h [code]
file | FlipbookAnimation.h [code]
file | FramedAnimation.h [code]
file | FrustumCamera.h [code]
file | GeneratorState.h [code]
file | GeoNode.h [code]
file | Group.h [code]
file | IndependentPrimitiveSet.h [code]
file | IndexSet.h [code]
file | IteratingRenderListProcessor.h [code]
file | KeyFramedAnimation.h [code]
file | LightingAttribute.h [code]
file | LightSource.h [code]
file | LinearInterpolatedAnimation.h [code]
file | LineAttribute.h [code]
file | Lines.h [code]
file | LineStrips.h [code]
file | LinuxTypes.h [code]
file | LOD.h [code]
file | Map.h [code]
file | MapArray.h [code]
file | MapElement.h [code]
file | MapList.h [code]
file | MapMatrix.h [code]
file | MapObject.h [code]
file | Material.h [code]
file | MatrixCamera.h [code]
file | MeshedPrimitiveSet.h [code]
file | NBF.h [code]
file | Node.h [code]
file | nvsg.h [code]
file | nvsgapi.h [code]
file | NVSGVersion.h [code]
file | Object.h [code]
file | ObjectRenderer.h [code]
file | OwnedObject.h [code]
file | ParallelCamera.h [code]
file | PatchesBase.h [code]
file | Path.h [code]
file | PerspectiveCamera.h [code]
file | PlugInterface.h [code]
file | PlugInterfaceID.h [code]
file | PointAttribute.h [code]
file | PointLight.h [code]
file | Points.h [code]
file | Primitive.h [code]
file | PrimitiveAttribute.h [code]
file | PrimitiveSet.h [code]
file | QuadMeshes.h [code]
file | QuadPatches.h [code]
file | QuadPatches4x4.h [code]
file | Quads.h [code]
file | QuadStrips.h [code]
file | RectPatches.h [code]
file | RenderList2.h [code]
file | RenderListProcessor.h [code]
file | Resource.h [code]
file | RTBufferAttribute.h [code]
file | RTFx.h [code]
file | RTFxProgram.h [code]
file | Scene.h [code]
file | SceneAttribute.h [code]
file | Shape.h [code]
file | Skin.h [code]
file | SpotLight.h [code]
file | StateAttribute.h [code]
file | StatePass.h [code]
file | StateSet.h [code]
file | StateVariant.h [code]
file | StatisticsRenderListProcessor.h [code]
file | StencilAttribute.h [code]
file | StrippedPrimitiveSet.h [code]
file | Switch.h [code]
file | Texture.h [code]
file | TextureAttribute.h [code]
file | TextureHost.h [code]
file | Transform.h [code]
file | Triangles.h [code]
file | TriFans.h [code]
file | TriPatches.h [code]
file | TriPatches4.h [code]
file | TriStrips.h [code]
file | Types.h [code]
file | UnlitColorAttribute.h [code]
file | VertexAttribute.h [code]
file | VertexAttributeSet.h [code]
file | ViewState.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvsg/ -> nvutil Relation

inc / nvsg / nvsg

nvsg → nvutil Relation

File in inc / nvsg / nvsg | Includes file in inc / nvsg / nvutil
AlphaTestAttribute.h | HashGenerator.h
AnimatedTransform.h | HashGenerator.h
AnimatedVertexAttributeSet.h | HashGenerator.h
Animation.h | HashGenerator.h
Billboard.h | HashGenerator.h
BlendAttribute.h | HashGenerator.h
Buffer.h | ReadableObject.h
Buffer.h | SWMRSync.h
Buffer.h | WritableObject.h
Callback.h | RCObject.h
Camera.h | HashGenerator.h
Camera.h | SceniXIterator.h
CgFx.h | HashGenerator.h
CgmFx.h | SmartPtr.h
ClipPlane.h | HashGenerator.h
CoreTypes.h | Handle.h
CoreTypes.h | HandledObject.h
CoreTypes.h | SmartPtr.h
DAL.h | HandledObject.h
DAL.h | Singleton.h
DAL.h | SWMRSync.h
DAL.h | WritableObject.h
DepthAttribute.h | HashGenerator.h
Drawable.h | HashGenerator.h
Drawable.h | SmartPtr.h
FaceAttribute.h | BitMask.h
FaceAttribute.h | HashGenerator.h
FlipbookAnimation.h | HashGenerator.h
FramedAnimation.h | HashGenerator.h
FrustumCamera.h | HashGenerator.h
GeneratorState.h | TransformStack.h
GeoNode.h | HashGenerator.h
GeoNode.h | SceniXIterator.h
Group.h | HashGenerator.h
Group.h | SceniXIterator.h
IndependentPrimitiveSet.h | HashGenerator.h
IndexSet.h | HashGenerator.h
IndexSet.h | RCObject.h
KeyFramedAnimation.h | HashGenerator.h
LightingAttribute.h | HashGenerator.h
LightSource.h | HashGenerator.h
LineAttribute.h | HashGenerator.h
LOD.h | HashGenerator.h
LOD.h | SmartPtr.h
Map.h | HashGenerator.h
MapArray.h | HashGenerator.h
MapElement.h | HashGenerator.h
MapList.h | HashGenerator.h
MapMatrix.h | HashGenerator.h
MapObject.h | HashGenerator.h
Material.h | HashGenerator.h
MatrixCamera.h | HashGenerator.h
MeshedPrimitiveSet.h | HashGenerator.h
NBF.h | BitMask.h
Node.h | BitMask.h
nvsg.h | BitMask.h
Object.h | HandledObject.h
Object.h | HashGenerator.h
Object.h | ReadableObject.h
Object.h | SceniXIterator.h
Object.h | SWMRSync.h
OwnedObject.h | Handle.h
OwnedObject.h | STLAllocator.h
PatchesBase.h | HashGenerator.h
Path.h | RCObject.h
PlugInterface.h | PlugIn.h
PlugInterface.h | SWMRSync.h
PointAttribute.h | HashGenerator.h
PointLight.h | HashGenerator.h
PrimitiveSet.h | HashGenerator.h
QuadPatches.h | HashGenerator.h
RectPatches.h | HashGenerator.h
RenderList2.h | Handle.h
RenderList2.h | HandledObject.h
Resource.h | RCObject.h
RTBufferAttribute.h | HashGenerator.h
RTFx.h | HashGenerator.h
RTFxProgram.h | HashGenerator.h
RTFxProgram.h | SmartPtr.h
Shape.h | HashGenerator.h
Skin.h | HashGenerator.h
SpotLight.h | HashGenerator.h
StatePass.h | BitMask.h
StatePass.h | HashGenerator.h
StateSet.h | BitMask.h
StateSet.h | HashGenerator.h
StateVariant.h | HashGenerator.h
StencilAttribute.h | HashGenerator.h
StrippedPrimitiveSet.h | HashGenerator.h
Switch.h | HashGenerator.h
Texture.h | HandledObject.h
Texture.h | ReadableObject.h
Texture.h | WritableObject.h
TextureAttribute.h | HashGenerator.h
TextureHost.h | BitMask.h
TextureHost.h | PlugIn.h
Transform.h | HashGenerator.h
TriPatches.h | HashGenerator.h
UnlitColorAttribute.h | HashGenerator.h
VertexAttribute.h | HashGenerator.h
VertexAttributeSet.h | BitMask.h
VertexAttributeSet.h | HashGenerator.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvsg/ -> nvmath Relation

inc / nvsg / nvsg

nvsg → nvmath Relation

File in inc / nvsg / nvsg | Includes file in inc / nvsg / nvmath
Animation.h | Trafo.h
Billboard.h | Trafo.h
Camera.h | Quatt.h
ClipPlane.h | Planent.h
ClipPlane.h | Vecnt.h
FramedAnimation.h | Trafo.h
Group.h | Planent.h
LightSource.h | Matnnt.h
LightSource.h | Trafo.h
LinearInterpolatedAnimation.h | Quatt.h
LOD.h | Matnnt.h
Material.h | Vecnt.h
Node.h | Boxnt.h
Node.h | Spherent.h
Object.h | Boxnt.h
Object.h | Spherent.h
Path.h | Matnnt.h
QuadPatches.h | nvmath.h
QuadPatches4x4.h | nvmath.h
RenderList2.h | Trafo.h
Scene.h | Vecnt.h
Skin.h | Matnnt.h
TextureAttribute.h | Trafo.h
TextureHost.h | nvmath.h
Transform.h | Matnnt.h
Transform.h | Quatt.h
Transform.h | Trafo.h
Transform.h | Vecnt.h
TriPatches.h | nvmath.h
TriPatches4.h | nvmath.h
UnlitColorAttribute.h | Vecnt.h
VertexAttributeSet.h | Spherent.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvtraverser/ Directory Reference

inc / nvsg / nvtraverser

nvtraverser Directory Reference

Files

file | AnalyzeTraverser.h [code]
file | AppTraverser.h [code]
file | AppTraverserCallbacks.h [code]
file | BezierExtrapolationTraverser.h [code]
file | BezierInterpolationTraverser.h [code]
file | ClipPlanesElement.h [code]
file | CombineTraverser.h [code]
file | ConvertPrimitivesTraverser.h [code]
file | CPUSkinningProcessor.h [code]
file | DeindexTraverser.h [code]
file | DestrippingTraverser.h [code]
file | EliminateTraverser.h [code]
file | GLUploadTraverser.h [code]
file | GPUSkinningProcessor.h [code]
file | IdentityToGroupTraverser.h [code]
file | ModelViewTraverser.h [code]
file | NormalizeTraverser.h [code]
file | nvtraverser.h [code]
file | OptimizeTraverser.h [code]
file | RayIntersectTraverser.h [code]
file | nvtraverser/Renderer.h [code]
file | RenderListGenerator.h [code]
file | SearchTraverser.h [code]
file | SmoothTraverser.h [code]
file | StatisticsTraverser.h [code]
file | StrippingTraverser.h [code]
file | Traverser.h [code]
file | TriangulateTraverser.h [code]
file | UnifyTraverser.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvtraverser/ -> nvutil Relation

inc / nvsg / nvtraverser

nvtraverser → nvutil Relation

File in inc / nvsg / nvtraverser | Includes file in inc / nvsg / nvutil
BezierExtrapolationTraverser.h | SmartPtr.h
BezierInterpolationTraverser.h | SmartPtr.h
ClipPlanesElement.h | RCObject.h
ModelViewTraverser.h | TransformStack.h
RayIntersectTraverser.h | SmartPtr.h
Traverser.h | BitMask.h
Traverser.h | ProblemLog.h
Traverser.h | RCObject.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvtraverser/ -> nvsg Relation

inc / nvsg / nvtraverser

nvtraverser → nvsg Relation

File in inc / nvsg / nvtraverser | Includes file in inc / nvsg / nvsg
AnalyzeTraverser.h | IndependentPrimitiveSet.h
AnalyzeTraverser.h | StrippedPrimitiveSet.h
AppTraverser.h | Skin.h
AppTraverser.h | ViewState.h
BezierExtrapolationTraverser.h | StateSet.h
BezierInterpolationTraverser.h | StateSet.h
ClipPlanesElement.h | Group.h
CombineTraverser.h | Primitive.h
ConvertPrimitivesTraverser.h | nvsg.h
ConvertPrimitivesTraverser.h | Primitive.h
DeindexTraverser.h | nvsg.h
DeindexTraverser.h | Primitive.h
OptimizeTraverser.h | Node.h
RayIntersectTraverser.h | Drawable.h
RayIntersectTraverser.h | Path.h
StatisticsTraverser.h | Camera.h
StatisticsTraverser.h | Drawable.h
StatisticsTraverser.h | MeshedPrimitiveSet.h
StatisticsTraverser.h | Object.h
StatisticsTraverser.h | StateAttribute.h
StatisticsTraverser.h | StrippedPrimitiveSet.h
StrippingTraverser.h | Face.h
StrippingTraverser.h | IndependentPrimitiveSet.h
StrippingTraverser.h | nvsg.h
Traverser.h | GeoNode.h
Traverser.h | Group.h
Traverser.h | Object.h
Traverser.h | Path.h
Traverser.h | ViewState.h
UnifyTraverser.h | Primitive.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvtraverser/ -> nvmath Relation

inc / nvsg / nvtraverser

nvtraverser → nvmath Relation

File in inc / nvsg / nvtraverser | Includes file in inc / nvsg / nvmath
AppTraverser.h | nvmath.h
ClipPlanesElement.h | Matnnt.h
GPUSkinningProcessor.h | Matnnt.h
StatisticsTraverser.h | Trafo.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvui/ Directory Reference

inc / nvsg / nvui

nvui Directory Reference

Files

file | NvApiError.h [code]
file | NvGvoApi.h [code]
file | nvui.h [code]
file | nvui/Renderer.h [code]
file | RendererOptions.h [code]
file | RenderTarget.h [code]
file | SceneRenderer.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvui/ -> nvutil Relation

inc / nvsg / nvui

nvui → nvutil Relation

File in inc / nvsg / nvui | Includes file in inc / nvsg / nvutil
nvui/Renderer.h | SmartPtr.h
RendererOptions.h | HandledObject.h
RenderTarget.h | SmartPtr.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvui/ -> nvsg Relation

inc / nvsg / nvui

nvui → nvsg Relation

File in inc / nvsg / nvui | Includes file in inc / nvsg / nvsg
nvui/Renderer.h | Scene.h
nvui/Renderer.h | ViewState.h
RenderTarget.h | TextureHost.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvutil/ Directory Reference

inc / nvsg / nvutil

nvutil Directory Reference

Files

file | Allocator.h [code]
file | Assert.h [code]
file | BackLinkObserver.h [code]
file | Backtrace.h [code]
file | BitMask.h [code]
file | Conversion.h [code]
file | DbgNew.h [code]
file | DLLFuncs.h [code]
file | FileMapping.h [code]
file | Handle.h [code]
file | HandledObject.h [code]
file | HashGenerator.h [code]
file | HashGeneratorMD5.h [code]
file | HashGeneratorMurMur.h [code]
file | Incarnation.h [code]
file | IOLayer.h [code]
file | LinkManager.h [code]
file | Log.h [code]
file | MemFunTbl.h [code]
file | nvutil.h [code]
file | Observer.h [code]
file | PlugIn.h [code]
file | PlugInCallback.h [code]
file | ProblemLog.h [code]
file | Profile.h [code]
file | RCObject.h [code]
file | ReadableObject.h [code]
file | Reflection.h [code]
file | Registry.h [code]
file | SceniXIterator.h [code]
file | Singleton.h [code]
file | SmartPtr.h [code]
file | STLAllocator.h [code]
file | STLExt.h [code]
file | StridedIterator.h [code]
file | Subject.h [code]
file | SWMRSync.h [code]
file | Timer.h [code]
file | Tools.h [code]
file | Trace.h [code]
file | Trackball.h [code]
file | TransformStack.h [code]
file | Validated.h [code]
file | WritableObject.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvutil/ -> nvsg Relation

inc / nvsg / nvutil

nvutil → nvsg Relation

File in inc / nvsg / nvutil | Includes file in inc / nvsg / nvsg
Allocator.h | nvsg.h
Assert.h | nvsg.h
LinkManager.h | Object.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/inc/nvsg/nvutil/ -> nvmath Relation

inc / nvsg / nvutil

nvutil → nvmath Relation

File in inc / nvsg / nvutil | Includes file in inc / nvsg / nvmath
Reflection.h | Boxnt.h
Reflection.h | Matnnt.h
Reflection.h | Quatt.h
Reflection.h | Vecnt.h
Trackball.h | Vecnt.h
TransformStack.h | Matnnt.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/media/ Directory Reference

media

media Directory Reference

Directories

directory effects
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/media/effects/ Directory Reference

media / effects

effects Directory Reference

Directories

directory include
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/media/effects/include/ Directory Reference

media / effects / include

include Directory Reference

Files

file | bezier.cg
file | matrices.cg
file | NVSGLight.cg
file | NVSGMaterial.cg
file | NVSGScene.cg
file | phongLighting.cg
file | structs.cg
file | tessellation.cg
file | textureenv.cg
file | textureHDR_RGBA.cg
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/ Directory Reference

src

src Directory Reference

Directories

directory | Loader
directory | Saver
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/ Directory Reference

src / Loader

Loader Directory Reference

Directories

directory | common
directory | DAELoader
directory | FLTLoader
directory | ILTexLoader
directory | NBFLoader
directory | NVSGLoader
directory | OBJLoader
directory | PLYLoader
directory | WRLLoader
directory | XMLLoader
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/ -> inc Relation

src / Loader

Loader → inc Relation

File in src / Loader | Includes file in inc
DAELoader / ErrorHandler.h | nvsg / nvutil / PlugInCallback.h
ILTexLoader / ILTexLoader.h | nvsg / nvsg / PlugInterface.h
NBFLoader / Loader/NBFLoader/stdafx.h | nvsg / nvsg / NVSGVersion.h
NBFLoader / Loader/NBFLoader/stdafx.h | nvsg / nvutil / Tools.h
NBFLoader / Loader/NBFLoader/stdafx.h | nvsg / nvutil / Trace.h
NBFLoader / inc / NBFLoader.h | nvsg / nvtraverser / AppTraverserCallbacks.h
NBFLoader / inc / NBFLoader.h | nvsg / nvutil / FileMapping.h
NBFLoader / inc / NBFLoader.h | nvsg / nvsg / NBF.h
NBFLoader / inc / NBFLoader.h | nvsg / nvsg / PlugInterface.h
NBFLoader / inc / NBFLoader.h | nvsg / nvutil / RCObject.h
NVSGLoader / inc / NVSGLoader.h | nvsg / nvtraverser / AppTraverserCallbacks.h
NVSGLoader / inc / NVSGLoader.h | nvsg / nvsg / PlugInterface.h
NVSGLoader / inc / NVSGLoader.h | nvsg / nvsg / Skin.h
NVSGLoader / inc / NVSGLoader.h | nvsg / nvutil / Tools.h
PLYLoader / PLYLoader.h | nvsg / nvutil / FileMapping.h
PLYLoader / PLYLoader.h | nvsg / nvutil / PlugInCallback.h
PLYLoader / PLYLoader.h | nvsg / nvsg / PlugInterface.h
PLYLoader / PLYLoader.h | nvsg / nvutil / Tools.h
common / inc / PostBuildTraverser.h | nvsg / nvtraverser / ModelViewTraverser.h
common / inc / PostBuildTraverser.h | nvsg / nvmath / nvmath.h
FLTLoader / SimpleTesselator.h | nvsg / nvsg / nvsg.h
FLTLoader / StackedAtlas.h | nvsg / nvutil / Handle.h
FLTLoader / StackedAtlas.h | nvsg / nvsg / TextureAttribute.h
WRLLoader / VRMLTypes.h | nvsg / nvsg / Object.h
WRLLoader / VRMLTypes.h | nvsg / nvmath / Quatt.h
WRLLoader / VRMLTypes.h | nvsg / nvmath / Vecnt.h
WRLLoader / inc / WRLLoader.h | nvsg / nvsg / nvsg.h
WRLLoader / inc / WRLLoader.h | nvsg / nvsg / PlugInterface.h
WRLLoader / inc / WRLLoader.h | nvsg / nvtraverser / SmoothTraverser.h
WRLLoader / inc / WRLLoadTraverser.h | nvsg / nvtraverser / Traverser.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/common/ Directory Reference

src / Loader / common

common Directory Reference

Directories

directory inc
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/common/ -> inc Relation

src / Loader / common

common → inc Relation

File in src / Loader / common | Includes file in inc
inc / PostBuildTraverser.h | nvsg / nvtraverser / ModelViewTraverser.h
inc / PostBuildTraverser.h | nvsg / nvmath / nvmath.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/common/inc/ Directory Reference

src / Loader / common / inc

inc Directory Reference

Files

file PostBuildTraverser.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/common/inc/ -> inc Relation

src / Loader / common / inc

inc → inc Relation

File in src / Loader / common / inc | Includes file in inc
PostBuildTraverser.h | nvsg / nvtraverser / ModelViewTraverser.h
PostBuildTraverser.h | nvsg / nvmath / nvmath.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/DAELoader/ Directory Reference

src / Loader / DAELoader

DAELoader Directory Reference

Files

file | CgFxBuilder.h [code]
file | Conditioners.h [code]
file | DAELoader.h [code]
file | ErrorHandler.h [code]
file | FFPBuilder.h [code]
file | profile_COMMON_RTFx_PTX.h [code]
file | RTFxBuilder.h [code]
file | ShaderBuilder.h [code]
file | ShaderBuildMeister.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/DAELoader/ -> inc Relation

src / Loader / DAELoader

DAELoader → inc Relation

File in src / Loader / DAELoader | Includes file in inc
ErrorHandler.h | nvsg / nvutil / PlugInCallback.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/FLTLoader/ Directory Reference

src / Loader / FLTLoader

FLTLoader Directory Reference

Files

file | CgDecomposer.h [code]
file | Console.h [code]
file | FLTLoader.h [code]
file | FLTTextureAttribute.h [code]
file | SimpleTesselator.h [code]
file | StackedAtlas.h [code]
file | TaiManager.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/FLTLoader/ -> inc Relation

src / Loader / FLTLoader

FLTLoader → inc Relation

File in src / Loader / FLTLoader | Includes file in inc
SimpleTesselator.h | nvsg / nvsg / nvsg.h
StackedAtlas.h | nvsg / nvutil / Handle.h
StackedAtlas.h | nvsg / nvsg / TextureAttribute.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/ILTexLoader/ Directory Reference

src / Loader / ILTexLoader

ILTexLoader Directory Reference

Files

file ILTexLoader.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/ILTexLoader/ -> inc Relation

src / Loader / ILTexLoader

ILTexLoader → inc Relation

File in src / Loader / ILTexLoader | Includes file in inc
ILTexLoader.h | nvsg / nvsg / PlugInterface.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NBFLoader/ Directory Reference

src / Loader / NBFLoader

NBFLoader Directory Reference

Directories

directory | inc

Files

file | Loader/NBFLoader/stdafx.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NBFLoader/ -> inc Relation

src / Loader / NBFLoader

NBFLoader → inc Relation

File in src / Loader / NBFLoader | Includes file in inc
Loader/NBFLoader/stdafx.h | nvsg / nvsg / NVSGVersion.h
Loader/NBFLoader/stdafx.h | nvsg / nvutil / Tools.h
Loader/NBFLoader/stdafx.h | nvsg / nvutil / Trace.h
inc / NBFLoader.h | nvsg / nvtraverser / AppTraverserCallbacks.h
inc / NBFLoader.h | nvsg / nvutil / FileMapping.h
inc / NBFLoader.h | nvsg / nvsg / NBF.h
inc / NBFLoader.h | nvsg / nvsg / PlugInterface.h
inc / NBFLoader.h | nvsg / nvutil / RCObject.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NBFLoader/inc/ Directory Reference

src / Loader / NBFLoader / inc

inc Directory Reference

Files

file NBFLoader.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NBFLoader/inc/ -> inc Relation

src / Loader / NBFLoader / inc

inc → inc Relation

File in src / Loader / NBFLoader / inc | Includes file in inc
NBFLoader.h | nvsg / nvtraverser / AppTraverserCallbacks.h
NBFLoader.h | nvsg / nvutil / FileMapping.h
NBFLoader.h | nvsg / nvsg / NBF.h
NBFLoader.h | nvsg / nvsg / PlugInterface.h
NBFLoader.h | nvsg / nvutil / RCObject.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NVSGLoader/ Directory Reference

src / Loader / NVSGLoader

NVSGLoader Directory Reference

Directories

directory inc
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NVSGLoader/ -> inc Relation

src / Loader / NVSGLoader

NVSGLoader → inc Relation

File in src / Loader / NVSGLoader | Includes file in inc
inc / NVSGLoader.h | nvsg / nvtraverser / AppTraverserCallbacks.h
inc / NVSGLoader.h | nvsg / nvsg / PlugInterface.h
inc / NVSGLoader.h | nvsg / nvsg / Skin.h
inc / NVSGLoader.h | nvsg / nvutil / Tools.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NVSGLoader/inc/ Directory Reference

src / Loader / NVSGLoader / inc

inc Directory Reference

Files

file NVSGLoader.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/NVSGLoader/inc/ -> inc Relation

src / Loader / NVSGLoader / inc

inc → inc Relation

File in src / Loader / NVSGLoader / inc | Includes file in inc
NVSGLoader.h | nvsg / nvtraverser / AppTraverserCallbacks.h
NVSGLoader.h | nvsg / nvsg / PlugInterface.h
NVSGLoader.h | nvsg / nvsg / Skin.h
NVSGLoader.h | nvsg / nvutil / Tools.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/OBJLoader/ Directory Reference

src / Loader / OBJLoader

OBJLoader Directory Reference

Files

file | OBJLoader.h [code]
file | ReadObj.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/PLYLoader/ Directory Reference

src / Loader / PLYLoader

PLYLoader Directory Reference

Files

file PLYLoader.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/PLYLoader/ -> inc Relation

src / Loader / PLYLoader

PLYLoader → inc Relation

File in src / Loader / PLYLoader | Includes file in inc
PLYLoader.h | nvsg / nvutil / FileMapping.h
PLYLoader.h | nvsg / nvutil / PlugInCallback.h
PLYLoader.h | nvsg / nvsg / PlugInterface.h
PLYLoader.h | nvsg / nvutil / Tools.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/WRLLoader/ Directory Reference

src / Loader / WRLLoader

WRLLoader Directory Reference

Directories

directory | inc

Files

file | VRMLTypes.h [code]
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/WRLLoader/ -> inc Relation

src / Loader / WRLLoader

WRLLoader → inc Relation

File in src / Loader / WRLLoader | Includes file in inc
VRMLTypes.h | nvsg / nvsg / Object.h
VRMLTypes.h | nvsg / nvmath / Quatt.h
VRMLTypes.h | nvsg / nvmath / Vecnt.h
inc / WRLLoader.h | nvsg / nvsg / nvsg.h
inc / WRLLoader.h | nvsg / nvsg / PlugInterface.h
inc / WRLLoader.h | nvsg / nvtraverser / SmoothTraverser.h
inc / WRLLoadTraverser.h | nvsg / nvtraverser / Traverser.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/WRLLoader/inc/ Directory Reference

src / Loader / WRLLoader / inc

inc Directory Reference

Files

file | WRLLoader.h [code]
file | WRLLoadTraverser.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/WRLLoader/inc/ -> inc Relation

src / Loader / WRLLoader / inc

inc → inc Relation

File in src / Loader / WRLLoader / inc | Includes file in inc
WRLLoader.h | nvsg / nvsg / nvsg.h
WRLLoader.h | nvsg / nvsg / PlugInterface.h
WRLLoader.h | nvsg / nvtraverser / SmoothTraverser.h
WRLLoadTraverser.h | nvsg / nvtraverser / Traverser.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Loader/XMLLoader/ Directory Reference

src / Loader / XMLLoader

XMLLoader Directory Reference

Files

file XMLLoader.h [code]
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/ Directory Reference

src / Saver

Saver Directory Reference

Directories

directory | ILTexSaver
directory | NBFSaver
directory | NVSGSaver
directory | OBJSaver
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/ -> inc Relation

src / Saver

Saver → inc Relation

File in src / Saver | Includes file in inc
OBJSaver / ExtractGeometryTraverser.h | nvsg / nvsg / Material.h
OBJSaver / ExtractGeometryTraverser.h | nvsg / nvmath / Trafo.h
OBJSaver / ExtractGeometryTraverser.h | nvsg / nvutil / TransformStack.h
OBJSaver / ExtractGeometryTraverser.h | nvsg / nvtraverser / Traverser.h
ILTexSaver / ILTexSaver.h | nvsg / nvsg / PlugInterface.h
NBFSaver / inc / NBFSaver.h | nvsg / nvutil / FileMapping.h
NBFSaver / inc / NBFSaver.h | nvsg / nvsg / NBF.h
NBFSaver / inc / NBFSaver.h | nvsg / nvsg / PlugInterface.h
NBFSaver / inc / NBFSaver.h | nvsg / nvtraverser / Traverser.h
NBFSaver / inc / NBFSaver.h | nvsg / nvsg / ViewState.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvsg / MeshedPrimitiveSet.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvsg / NBF.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvsg / PlugInterface.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvsg / StateAttribute.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvsg / StrippedPrimitiveSet.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvtraverser / Traverser.h
NVSGSaver / inc / NVSGSaver.h | nvsg / nvsg / ViewState.h
OBJSaver / inc / OBJSaver.h | nvsg / nvsg / NBF.h
OBJSaver / inc / OBJSaver.h | nvsg / nvsg / PlugInterface.h
OBJSaver / inc / OBJSaver.h | nvsg / nvsg / PlugInterfaceID.h
OBJSaver / inc / OBJSaver.h | nvsg / nvsg / ViewState.h
NBFSaver / Saver/NBFSaver/stdafx.h | nvsg / nvsg / NVSGVersion.h
NBFSaver / Saver/NBFSaver/stdafx.h | nvsg / nvutil / Tools.h
NBFSaver / Saver/NBFSaver/stdafx.h | nvsg / nvutil / Trace.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/ILTexSaver/ Directory Reference

src / Saver / ILTexSaver

ILTexSaver Directory Reference

Files

file ILTexSaver.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/ILTexSaver/ -> inc Relation

src / Saver / ILTexSaver

ILTexSaver → inc Relation

File in src / Saver / ILTexSaver | Includes file in inc
ILTexSaver.h | nvsg / nvsg / PlugInterface.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NBFSaver/ Directory Reference

src / Saver / NBFSaver

NBFSaver Directory Reference

Directories

directory | inc

Files

file | Saver/NBFSaver/stdafx.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NBFSaver/ -> inc Relation

src / Saver / NBFSaver

NBFSaver → inc Relation

File in src / Saver / NBFSaver | Includes file in inc
inc / NBFSaver.h | nvsg / nvutil / FileMapping.h
inc / NBFSaver.h | nvsg / nvsg / NBF.h
inc / NBFSaver.h | nvsg / nvsg / PlugInterface.h
inc / NBFSaver.h | nvsg / nvtraverser / Traverser.h
inc / NBFSaver.h | nvsg / nvsg / ViewState.h
Saver/NBFSaver/stdafx.h | nvsg / nvsg / NVSGVersion.h
Saver/NBFSaver/stdafx.h | nvsg / nvutil / Tools.h
Saver/NBFSaver/stdafx.h | nvsg / nvutil / Trace.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NBFSaver/inc/ Directory Reference

src / Saver / NBFSaver / inc

inc Directory Reference

Files

file NBFSaver.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NBFSaver/inc/ -> inc Relation

src / Saver / NBFSaver / inc

inc → inc Relation

File in src / Saver / NBFSaver / inc | Includes file in inc
NBFSaver.h | nvsg / nvutil / FileMapping.h
NBFSaver.h | nvsg / nvsg / NBF.h
NBFSaver.h | nvsg / nvsg / PlugInterface.h
NBFSaver.h | nvsg / nvtraverser / Traverser.h
NBFSaver.h | nvsg / nvsg / ViewState.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NVSGSaver/ Directory Reference

src / Saver / NVSGSaver

NVSGSaver Directory Reference

Directories

directory inc
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NVSGSaver/ -> inc Relation

src / Saver / NVSGSaver

NVSGSaver → inc Relation

File in src / Saver / NVSGSaver | Includes file in inc
inc / NVSGSaver.h | nvsg / nvsg / MeshedPrimitiveSet.h
inc / NVSGSaver.h | nvsg / nvsg / NBF.h
inc / NVSGSaver.h | nvsg / nvsg / PlugInterface.h
inc / NVSGSaver.h | nvsg / nvsg / StateAttribute.h
inc / NVSGSaver.h | nvsg / nvsg / StrippedPrimitiveSet.h
inc / NVSGSaver.h | nvsg / nvtraverser / Traverser.h
inc / NVSGSaver.h | nvsg / nvsg / ViewState.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NVSGSaver/inc/ Directory Reference

src / Saver / NVSGSaver / inc

inc Directory Reference

Files

file NVSGSaver.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/NVSGSaver/inc/ -> inc Relation

src / Saver / NVSGSaver / inc

inc → inc Relation

File in src / Saver / NVSGSaver / inc | Includes file in inc
NVSGSaver.h | nvsg / nvsg / MeshedPrimitiveSet.h
NVSGSaver.h | nvsg / nvsg / NBF.h
NVSGSaver.h | nvsg / nvsg / PlugInterface.h
NVSGSaver.h | nvsg / nvsg / StateAttribute.h
NVSGSaver.h | nvsg / nvsg / StrippedPrimitiveSet.h
NVSGSaver.h | nvsg / nvtraverser / Traverser.h
NVSGSaver.h | nvsg / nvsg / ViewState.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/OBJSaver/ Directory Reference

src / Saver / OBJSaver

OBJSaver Directory Reference

Directories

directory | inc

Files

file | ExtractGeometryTraverser.h [code]
Generated on Fri Jul 13 13:29:13 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/OBJSaver/ -> inc Relation

src / Saver / OBJSaver

OBJSaver → inc Relation

File in src / Saver / OBJSaver | Includes file in inc
ExtractGeometryTraverser.h | nvsg / nvsg / Material.h
ExtractGeometryTraverser.h | nvsg / nvmath / Trafo.h
ExtractGeometryTraverser.h | nvsg / nvutil / TransformStack.h
ExtractGeometryTraverser.h | nvsg / nvtraverser / Traverser.h
inc / OBJSaver.h | nvsg / nvsg / NBF.h
inc / OBJSaver.h | nvsg / nvsg / PlugInterface.h
inc / OBJSaver.h | nvsg / nvsg / PlugInterfaceID.h
inc / OBJSaver.h | nvsg / nvsg / ViewState.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/OBJSaver/inc/ Directory Reference

src / Saver / OBJSaver / inc

inc Directory Reference

Files

file OBJSaver.h [code]
Generated on Fri Jul 13 13:29:12 2012 for SceniX


SceniX: S:/trees/sw/wsapps/nvsgsdk/rel7.0/src/Saver/OBJSaver/inc/ -> inc Relation

src / Saver / OBJSaver / inc

inc → inc Relation

File in src / Saver / OBJSaver / inc | Includes file in inc
OBJSaver.h | nvsg / nvsg / NBF.h
OBJSaver.h | nvsg / nvsg / PlugInterface.h
OBJSaver.h | nvsg / nvsg / PlugInterfaceID.h
OBJSaver.h | nvsg / nvsg / ViewState.h
Generated on Fri Jul 13 13:29:14 2012 for SceniX


SceniX: File Members

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines
a | b | c | d | e | f | g | h | i | l | m | n | o | p | q | r | s | t | u | v | w

Here is a list of all documented file members with links to the documentation:

- a -

  • addPlugInSearchPath() : PlugIn.h
  • AF_ALWAYS : AlphaTestAttribute.h
  • AF_EQUAL : AlphaTestAttribute.h
  • AF_GEQUAL : AlphaTestAttribute.h
  • AF_GREATER : AlphaTestAttribute.h
  • AF_LEQUAL : AlphaTestAttribute.h
  • AF_LESS : AlphaTestAttribute.h
  • AF_NEVER : AlphaTestAttribute.h
  • AF_NOTEQUAL : AlphaTestAttribute.h
  • AlphaFunction : AlphaTestAttribute.h
  • ApplyNodeHints() : Tools.h
  • areCollinear() : Vecnt.h
  • areOfSameType() : Object.h
  • areOnOppositeSides() : Planent.h
  • areOnSameSide() : Planent.h
  • areOpposite() : Vecnt.h
  • areOrthogonal() : Vecnt.h
  • areOrthonormal() : Vecnt.h
  • areSimilar() : Vecnt.h
  • assertMipMapChainComplete() : TextureHost.h
  • attribIndex() : VertexAttributeSet.h

- b -

  • bezier() : Beziernt.h
  • BF_DESTINATION_ALPHA : BlendAttribute.h
  • BF_DESTINATION_COLOR : BlendAttribute.h
  • BF_ONE : BlendAttribute.h
  • BF_ONE_MINUS_DESTINATION_ALPHA : BlendAttribute.h
  • BF_ONE_MINUS_DESTINATION_COLOR : BlendAttribute.h
  • BF_ONE_MINUS_SOURCE_ALPHA : BlendAttribute.h
  • BF_ONE_MINUS_SOURCE_COLOR : BlendAttribute.h
  • BF_SOURCE_ALPHA : BlendAttribute.h
  • BF_SOURCE_ALPHA_SATURATE : BlendAttribute.h
  • BF_SOURCE_COLOR : BlendAttribute.h
  • BF_ZERO : BlendAttribute.h
  • BlendFunction : BlendAttribute.h
  • boundingBox() : Vecnt.h, Boxnt.h
  • boundingSphere() : Spherent.h
  • BUFFER_OFFSET : GLContext.h
  • byte_t : NBF.h, PLYLoader.h

- c -

  • calculateContributions() : TextureHost.h
  • CC_IN : Camera.h
  • CC_OUT : Camera.h
  • CC_PART : Camera.h
  • CgFxAnnotation : CgFx.h
  • CgFxBuffer : CgFx.h
  • cgfxContext() : CgFx.h
  • cgfxGetLastError() : CgFx.h
  • CgFxParameter : CgFx.h
  • CgFxPass : CgFx.h
  • CgFxProgram : CgFx.h
  • CgFxTechnique : CgFx.h
  • cIdentity44f : Matnnt.h
  • clamp() : nvmath.h
  • cloneIfShared() : SmartPtr.h
  • compare() : nvmath.h
  • convertPixelFormat() : TextureHost.h
  • copySelectedVertices() : VertexAttributeSet.h
  • CORE_TYPES : Handle.h
  • CORE_TYPES_BASE : Handle.h
  • CreateDir() : Tools.h
  • cube() : nvmath.h
  • CullCode : Camera.h

- d -

  • DataID : Object.h
  • dbgAllocImagePixels() : TextureHost.h
  • decompose() : Quatt.h, Matnnt.h
  • degToRad() : nvmath.h
  • DepthFunction : DepthAttribute.h
  • DestroyCallback() : RCObject.h
  • determinant() : Matnnt.h
  • determineTextureTarget() : TextureHost.h
  • DEVICE_CONTEXT : GLContext.h
  • DirExists() : Tools.h
  • distance() : Vecnt.h, Quatt.h, Planent.h

- e -

  • EnableLocking() : SWMRSync.h
  • equal3f() : GLContext.h
  • equal3fv() : GLContext.h
  • equal4f() : GLContext.h
  • equal4fv() : GLContext.h
  • equalf() : GLContext.h
  • errorMessage() : IOLayer.h

- f -

  • Face3 : Face.h
  • Face4 : Face.h
  • FileDelete() : Tools.h
  • FileExists() : Tools.h
  • FileSize() : Tools.h
  • FindFile() : Tools.h
  • FindFileFirst() : Tools.h
  • float2_t : NBF.h
  • float3_t : NBF.h
  • float44_t : NBF.h
  • float4_t : NBF.h
  • freeImagePixels() : TextureHost.h
  • frenetFrame() : Beziernt.h

- g -

  • genericAttrib() : VertexAttributeSet.h
  • get3DAPI() : nvsg.h
  • GET_CURRENT_DC : GLContext.h
  • GET_CURRENT_RC : GLContext.h
  • getBoundingSphere() : Node.h
  • getCopyrightString() : nvsg.h
  • GetCurrentDir() : Tools.h
  • GetDirFromPath() : Tools.h
  • GetDrvAndDirFromPath() : Tools.h
  • GetDrvFromPath() : Tools.h
  • GetFileExtFromPath() : Tools.h
  • GetFileNameFromPath() : Tools.h
  • GetFuncAddress : PlugIn.h
  • getInterface() : PlugIn.h
  • GetModulePath() : Tools.h
  • getNumGPUs() : nvsg.h
  • getPlugInSearchPath() : PlugIn.h
  • getPlugInterface() : OBJSaver.h, NVSGSaver.h, WRLLoader.h, PLYLoader.h, NVSGLoader.h
  • getReplacementStateSet() : StateSet.h
  • getSDKName() : nvsg.h
  • getSupportedFeatures() : nvsg.h
  • getVendorName() : nvsg.h
  • getVersionString() : nvsg.h
  • GLAccum() : GLContext.h
  • GLActiveStencilFace() : GLContext.h
  • GLActiveTexture() : GLContext.h
  • GLActiveVarying() : GLContext.h
  • GLAlphaFunc() : GLContext.h
  • GLAreProgramsResident() : GLContext.h
  • GLAreTexturesResident() : GLContext.h
  • GLArrayElement() : GLContext.h
  • GLAttachObject() : GLContext.h
  • GLAttachShader() : GLContext.h
  • GLBegin() : GLContext.h
  • GLBeginConditionalRenderNV() : GLContext.h
  • GLBeginQuery() : GLContext.h
  • GLBeginTransformFeedback() : GLContext.h
  • GLBeginTransformFeedbackNV() : GLContext.h
  • GLBindAttribLocation() : GLContext.h
  • GLBindBuffer() : GLContext.h
  • GLBindBufferBase() : GLContext.h
  • GLBindBufferBaseNV() : GLContext.h
  • GLBindBufferOffsetNV() : GLContext.h
  • GLBindBufferRange() : GLContext.h
  • GLBindBufferRangeNV() : GLContext.h
  • GLBindFragDataLocation() : GLContext.h
  • GLBindFramebuffer() : GLContext.h
  • GLBindIndexBuffer() : GLContext.h
  • GLBindProgram() : GLContext.h
  • GLBindRenderbuffer() : GLContext.h
  • GLBindTexture() : GLContext.h
  • GLBindTransformFeedbackBuffer() : GLContext.h
  • GLBindVertexBuffer() : GLContext.h
  • GLBitmap() : GLContext.h
  • GLBlendColor() : GLContext.h
  • GLBlendEquation() : GLContext.h
  • GLBlendEquationSeparate() : GLContext.h
  • GLBlendFunc() : GLContext.h
  • GLBlendFuncSeparate() : GLContext.h
  • GLBlitFramebuffer() : GLContext.h
  • GLBufferData() : GLContext.h
  • GLBufferSubData() : GLContext.h
  • GLBuildVertexBufferCache() : GLContext.h
  • GLCallList() : GLContext.h
  • GLCallLists() : GLContext.h
  • GLCheckFramebufferStatus() : GLContext.h
  • GLClampColor() : GLContext.h
  • GLClear() : GLContext.h
  • GLClearAccum() : GLContext.h
  • GLClearColor() : GLContext.h
  • GLClearColorIi() : GLContext.h
  • GLClearColorIui() : GLContext.h
  • GLClearDepth() : GLContext.h
  • GLClearDepthd() : GLContext.h
  • GLClearIndex() : GLContext.h
  • GLClearStencil() : GLContext.h
  • GLClientActiveTexture() : GLContext.h
  • GLClipPlane() : GLContext.h
  • GLColor3b() : GLContext.h
  • GLColor3bv() : GLContext.h
  • GLColor3d() : GLContext.h
  • GLColor3dv() : GLContext.h
  • GLColor3f() : GLContext.h
  • GLColor3fv() : GLContext.h
  • GLColor3h() : GLContext.h
  • GLColor3hv() : GLContext.h
  • GLColor3i() : GLContext.h
  • GLColor3iv() : GLContext.h
  • GLColor3s() : GLContext.h
  • GLColor3sv() : GLContext.h
  • GLColor3ub() : GLContext.h
  • GLColor3ubv() : GLContext.h
  • GLColor3ui() : GLContext.h
  • GLColor3uiv() : GLContext.h
  • GLColor3us() : GLContext.h
  • GLColor3usv() : GLContext.h
  • GLColor4b() : GLContext.h
  • GLColor4bv() : GLContext.h
  • GLColor4d() : GLContext.h
  • GLColor4dv() : GLContext.h
  • GLColor4f() : GLContext.h
  • GLColor4fv() : GLContext.h
  • GLColor4h() : GLContext.h
  • GLColor4hv() : GLContext.h
  • GLColor4i() : GLContext.h
  • GLColor4iv() : GLContext.h
  • GLColor4s() : GLContext.h
  • GLColor4sv() : GLContext.h
  • GLColor4ub() : GLContext.h
  • GLColor4ubv() : GLContext.h
  • GLColor4ui() : GLContext.h
  • GLColor4uiv() : GLContext.h
  • GLColor4us() : GLContext.h
  • GLColor4usv() : GLContext.h
  • GLColorMask() : GLContext.h
  • GLColorMaskIndexed() : GLContext.h
  • GLColorMaterial() : GLContext.h
  • GLColorPointer() : GLContext.h
  • GLColorSubTable() : GLContext.h
  • GLColorTable() : GLContext.h
  • GLColorTableParameterfv() : GLContext.h
  • GLColorTableParameteriv() : GLContext.h
  • GLCombinerInput() : GLContext.h
  • GLCombinerOutput() : GLContext.h
  • GLCombinerParameterf() : GLContext.h
  • GLCombinerParameterfv() : GLContext.h
  • GLCombinerParameteri() : GLContext.h
  • GLCombinerParameteriv() : GLContext.h
  • GLCombinerStageParameterfv() : GLContext.h
  • GLCompileShader() : GLContext.h
  • GLCompressedTexImage1D() : GLContext.h
  • GLCompressedTexImage2D() : GLContext.h
  • GLCompressedTexImage3D() : GLContext.h
  • GLCompressedTexSubImage1D() : GLContext.h
  • GLCompressedTexSubImage2D() : GLContext.h
  • GLCompressedTexSubImage3D() : GLContext.h
  • glContext() : GLContext.h
  • GLConvolutionFilter1D() : GLContext.h
  • GLConvolutionFilter2D() : GLContext.h
  • GLConvolutionParameterf() : GLContext.h
  • GLConvolutionParameterfv() : GLContext.h
  • GLConvolutionParameteri() : GLContext.h
  • GLConvolutionParameteriv() : GLContext.h
  • GLCopyBufferSubData() : GLContext.h
  • GLCopyColorSubTable() : GLContext.h
  • GLCopyColorTable() : GLContext.h
  • GLCopyConvolutionFilter1D() : GLContext.h
  • GLCopyConvolutionFilter2D() : GLContext.h
  • GLCopyPixels() : GLContext.h
  • GLCopyTexImage1D() : GLContext.h
  • GLCopyTexImage2D() : GLContext.h
  • GLCopyTexSubImage1D() : GLContext.h
  • GLCopyTexSubImage2D() : GLContext.h
  • GLCopyTexSubImage3D() : GLContext.h
  • GLCreateProgram() : GLContext.h
  • GLCreateProgramObject() : GLContext.h
  • GLCreateShader() : GLContext.h
  • GLCreateShaderObject() : GLContext.h
  • GLCullFace() : GLContext.h
  • GLCullFaceLock() : GLContext.h
  • GLCullFaceUnlock() : GLContext.h
  • GLDeleteBuffers() : GLContext.h
  • GLDeleteFences() : GLContext.h
  • GLDeleteFramebuffers() : GLContext.h
  • GLDeleteIndexBuffer() : GLContext.h
  • GLDeleteLists() : GLContext.h
  • GLDeleteObject() : GLContext.h
  • GLDeleteProgram() : GLContext.h
  • GLDeletePrograms() : GLContext.h
  • GLDeleteQueries() : GLContext.h
  • GLDeleteRenderbuffers() : GLContext.h
  • GLDeleteShader() : GLContext.h
  • GLDeleteTextures() : GLContext.h
  • GLDeleteVertexBuffer() : GLContext.h
  • GLDepthBounds() : GLContext.h
  • GLDepthBoundsd() : GLContext.h
  • GLDepthFunc() : GLContext.h
  • GLDepthMask() : GLContext.h
  • GLDepthRange() : GLContext.h
  • GLDepthRanged() : GLContext.h
  • GLDetachObject() : GLContext.h
  • GLDetachShader() : GLContext.h
  • GLDisable() : GLContext.h
  • GLDisableAlphaTest() : GLContext.h
  • GLDisableAutoNormal() : GLContext.h
  • GLDisableBlend() : GLContext.h
  • GLDisableClientState() : GLContext.h
  • GLDisableClipPlane() : GLContext.h
  • GLDisableColorArray() : GLContext.h
  • GLDisableColorLogicOp() : GLContext.h
  • GLDisableColorMaterial() : GLContext.h
  • GLDisableCullFace() : GLContext.h
  • GLDisableCullFaceLock() : GLContext.h
  • GLDisableCullFaceUnlock() : GLContext.h
  • GLDisableDepthTest() : GLContext.h
  • GLDisableDither() : GLContext.h
  • GLDisableExtensionAvailability() : GLContext.h
  • GLDisableFog() : GLContext.h
  • GLDisableFogCoordinateArray() : GLContext.h
  • GLDisableIndexed() : GLContext.h
  • GLDisableLight() : GLContext.h
  • GLDisableLighting() : GLContext.h
  • GLDisableLightingLock() : GLContext.h
  • GLDisableLightingUnlock() : GLContext.h
  • GLDisableLineSmooth() : GLContext.h
  • GLDisableLineStipple() : GLContext.h
  • GLDisableLogicOp() : GLContext.h
  • GLDisableNormalArray() : GLContext.h
  • GLDisableNormalize() : GLContext.h
  • GLDisablePointSmooth() : GLContext.h
  • GLDisablePolygonOffsetFill() : GLContext.h
  • GLDisablePolygonOffsetLine() : GLContext.h
  • GLDisablePolygonOffsetPoint() : GLContext.h
  • GLDisablePolygonSmooth() : GLContext.h
  • GLDisablePolygonStipple() : GLContext.h
  • GLDisablePrimitiveRestart() : GLContext.h
  • GLDisableRescaleNormal() : GLContext.h
  • GLDisableScissorTest() : GLContext.h
  • GLDisableSecondaryColorArray() : GLContext.h
  • GLDisableStencilTest() : GLContext.h
  • GLDisableTexture() : GLContext.h
  • GLDisableTextureCoordArray() : GLContext.h
  • GLDisableTextureGen() : GLContext.h
  • GLDisableVertexArray() : GLContext.h
  • GLDisableVertexAttribArray() : GLContext.h
  • GLDrawArrays() : GLContext.h
  • GLDrawArraysInstanced() : GLContext.h
  • GLDrawBuffer() : GLContext.h
  • GLDrawBuffers() : GLContext.h
  • GLDrawElements() : GLContext.h
  • GLDrawElementsInstanced() : GLContext.h
  • GLDrawPixels() : GLContext.h
  • GLDrawRangeElements() : GLContext.h
  • GLEdgeFlag() : GLContext.h
  • GLEdgeFlagPointer() : GLContext.h
  • GLEdgeFlagv() : GLContext.h
  • GLEnable() : GLContext.h
  • GLEnableAlphaTest() : GLContext.h
  • GLEnableAutoNormal() : GLContext.h
  • GLEnableBlend() : GLContext.h
  • GLEnableClientState() : GLContext.h
  • GLEnableClipPlane() : GLContext.h
  • GLEnableColorArray() : GLContext.h
  • GLEnableColorLogicOp() : GLContext.h
  • GLEnableColorMaterial() : GLContext.h
  • GLEnableCullFace() : GLContext.h
  • GLEnableCullFaceLock() : GLContext.h
  • GLEnableCullFaceUnlock() : GLContext.h
  • GLEnableDepthTest() : GLContext.h
  • GLEnableDither() : GLContext.h
  • GLEnableFog() : GLContext.h
  • GLEnableFogCoordinateArray() : GLContext.h
  • GLEnableIndexed() : GLContext.h
  • GLEnableLight() : GLContext.h
  • GLEnableLighting() : GLContext.h
  • GLEnableLineSmooth() : GLContext.h
  • GLEnableLineStipple() : GLContext.h
  • GLEnableLogicOp() : GLContext.h
  • GLEnableNormalArray() : GLContext.h
  • GLEnableNormalize() : GLContext.h
  • GLEnablePointSmooth() : GLContext.h
  • GLEnablePolygonOffsetFill() : GLContext.h
  • GLEnablePolygonOffsetLine() : GLContext.h
  • GLEnablePolygonOffsetPoint() : GLContext.h
  • GLEnablePolygonSmooth() : GLContext.h
  • GLEnablePolygonStipple() : GLContext.h
  • GLEnablePrimitiveRestart() : GLContext.h
  • GLEnableRescaleNormal() : GLContext.h
  • GLEnableScissorTest() : GLContext.h
  • GLEnableSecondaryColorArray() : GLContext.h
  • GLEnableStencilTest() : GLContext.h
  • GLEnableTexture() : GLContext.h
  • GLEnableTextureCoordArray() : GLContext.h
  • GLEnableTextureGen() : GLContext.h
  • GLEnableVertexArray() : GLContext.h
  • GLEnableVertexAttribArray() : GLContext.h
  • GLEnd() : GLContext.h
  • GLEndConditionalRenderNV() : GLContext.h
  • GLEndList() : GLContext.h
  • GLEndQuery() : GLContext.h
  • GLEndTransformFeedback() : GLContext.h
  • GLEndTransformFeedbackNV() : GLContext.h
  • GLEvalCoord1d() : GLContext.h
  • GLEvalCoord1f() : GLContext.h
  • GLEvalCoord2d() : GLContext.h
  • GLEvalCoord2f() : GLContext.h
  • GLEvalMesh1() : GLContext.h
  • GLEvalMesh2() : GLContext.h
  • GLEvalPoint1() : GLContext.h
  • GLEvalPoint2() : GLContext.h
  • GLExecuteProgram() : GLContext.h
  • GLFeedbackBuffer() : GLContext.h
  • GLFinalCombinerInput() : GLContext.h
  • GLFinish() : GLContext.h
  • GLFinishFence() : GLContext.h
  • GLFlush() : GLContext.h
  • GLFlushMappedBufferRange() : GLContext.h
  • GLFlushPixelDataRange() : GLContext.h
  • GLFlushVertexArrayRange() : GLContext.h
  • GLFogColor() : GLContext.h
  • GLFogCoordd() : GLContext.h
  • GLFogCoorddv() : GLContext.h
  • GLFogCoordf() : GLContext.h
  • GLFogCoordfv() : GLContext.h
  • GLFogCoordh() : GLContext.h
  • GLFogCoordhv() : GLContext.h
  • GLFogCoordPointer() : GLContext.h
  • GLFogDensity() : GLContext.h
  • GLFogEnd() : GLContext.h
  • GLFogf() : GLContext.h
  • GLFogfv() : GLContext.h
  • GLFogi() : GLContext.h
  • GLFogiv() : GLContext.h
  • GLFogMode() : GLContext.h
  • GLFogStart() : GLContext.h
  • GLFramebufferRenderbuffer() : GLContext.h
  • GLFramebufferTexture() : GLContext.h
  • GLFramebufferTexture1D() : GLContext.h
  • GLFramebufferTexture2D() : GLContext.h
  • GLFramebufferTexture3D() : GLContext.h
  • GLFramebufferTextureFace() : GLContext.h
  • GLFramebufferTextureLayer() : GLContext.h
  • GLFrameTerminator() : GLContext.h
  • GLFrontFace() : GLContext.h
  • GLFrustum() : GLContext.h
  • GLGenBuffers() : GLContext.h
  • GLGenerateMipmap() : GLContext.h
  • GLGenFences() : GLContext.h
  • GLGenFramebuffers() : GLContext.h
  • GLGenIndexBuffer() : GLContext.h
  • GLGenLists() : GLContext.h
  • GLGenPrograms() : GLContext.h
  • GLGenQueries() : GLContext.h
  • GLGenRenderbuffers() : GLContext.h
  • GLGenTextures() : GLContext.h
  • GLGenVertexBuffer() : GLContext.h
  • GLGetActiveAttrib() : GLContext.h
  • GLGetActiveUniform() : GLContext.h
  • GLGetActiveVaryingNV() : GLContext.h
  • GLGetAttachedObjects() : GLContext.h
  • GLGetAttachedShaders() : GLContext.h
  • GLGetAttribLocation() : GLContext.h
  • GLGetBooleanIndexedv() : GLContext.h
  • GLGetBooleanv() : GLContext.h
  • GLGetBufferAddress() : GLContext.h
  • GLGetBufferParameteriv() : GLContext.h
  • GLGetBufferPointerv() : GLContext.h
  • GLGetBufferSize() : GLContext.h
  • GLGetBufferSubData() : GLContext.h
  • GLGetClipPlane() : GLContext.h
  • GLGetColorTable() : GLContext.h
  • GLGetColorTableParameterfv() : GLContext.h
  • GLGetColorTableParameteriv() : GLContext.h
  • GLGetCombinerInputParameterfv() : GLContext.h
  • GLGetCombinerInputParameteriv() : GLContext.h
  • GLGetCombinerOutputParameterfv() : GLContext.h
  • GLGetCombinerOutputParameteriv() : GLContext.h
  • GLGetCombinerStageParameterfv() : GLContext.h
  • GLGetCompressedTexImage() : GLContext.h
  • GLGetConvolutionFilter() : GLContext.h
  • GLGetConvolutionParameterfv() : GLContext.h
  • GLGetConvolutionParameteriv() : GLContext.h
  • GLGetDoublev() : GLContext.h
  • GLGetFenceiv() : GLContext.h
  • GLGetFinalCombinerInputParameterfv() : GLContext.h
  • GLGetFinalCombinerInputParameteriv() : GLContext.h
  • GLGetFloatv() : GLContext.h
  • GLGetFragDataLocation() : GLContext.h
  • GLGetFramebufferAttachmentParameteriv() : GLContext.h
  • GLGetHandle() : GLContext.h
  • GLGetHistogram() : GLContext.h
  • GLGetHistogramParameterfv() : GLContext.h
  • GLGetHistogramParameteriv() : GLContext.h
  • GLGetIndexBufferOffset() : GLContext.h
  • GLGetInfoLog() : GLContext.h
  • GLGetIntegerIndexedv() : GLContext.h
  • GLGetIntegerv() : GLContext.h
  • GLGetLightfv() : GLContext.h
  • GLGetLightiv() : GLContext.h
  • GLGetMapdv() : GLContext.h
  • GLGetMapfv() : GLContext.h
  • GLGetMapiv() : GLContext.h
  • GLGetMaterialfv() : GLContext.h
  • GLGetMaterialiv() : GLContext.h
  • GLGetMaxTexCoords() : GLContext.h
  • GLGetMaxTexImageUnits() : GLContext.h
  • GLGetMaxTexUnits() : GLContext.h
  • GLGetMinmax() : GLContext.h
  • GLGetMinmaxParameterfv() : GLContext.h
  • GLGetMinmaxParameteriv() : GLContext.h
  • GLGetMultisamplefv() : GLContext.h
  • GLGetObjectParameterfv() : GLContext.h
  • GLGetObjectParameteriv() : GLContext.h
  • GLGetPixelMapfv() : GLContext.h
  • GLGetPixelMapuiv() : GLContext.h
  • GLGetPixelMapusv() : GLContext.h
  • GLGetPointerv() : GLContext.h
  • GLGetPolygonStipple() : GLContext.h
  • GLGetProgramEnvParameterdv() : GLContext.h
  • GLGetProgramEnvParameterfv() : GLContext.h
  • GLGetProgramEnvParameterIiv() : GLContext.h
  • GLGetProgramEnvParameterIuiv() : GLContext.h
  • GLGetProgramInfoLog() : GLContext.h
  • GLGetProgramiv() : GLContext.h
  • GLGetProgramLocalParameterdv() : GLContext.h
  • GLGetProgramLocalParameterfv() : GLContext.h
  • GLGetProgramLocalParameterIiv() : GLContext.h
  • GLGetProgramLocalParameterIuiv() : GLContext.h
  • GLGetProgramNamedParameterdv() : GLContext.h
  • GLGetProgramNamedParameterfv() : GLContext.h
  • GLGetProgramParameterdv() : GLContext.h
  • GLGetProgramParameterfv() : GLContext.h
  • GLGetProgramString() : GLContext.h
  • GLGetQueryiv() : GLContext.h
  • GLGetQueryObjecti64v() : GLContext.h
  • GLGetQueryObjectiv() : GLContext.h
  • GLGetQueryObjectui64v() : GLContext.h
  • GLGetQueryObjectuiv() : GLContext.h
  • GLGetRenderbufferParameteriv() : GLContext.h
  • GLGetSeparableFilter() : GLContext.h
  • GLGetShaderInfoLog() : GLContext.h
  • GLGetShaderiv() : GLContext.h
  • GLGetShaderSource() : GLContext.h
  • GLGetString() : GLContext.h
  • GLGetTexEnvfv() : GLContext.h
  • GLGetTexEnviv() : GLContext.h
  • GLGetTexGendv() : GLContext.h
  • GLGetTexGenfv() : GLContext.h
  • GLGetTexGeniv() : GLContext.h
  • GLGetTexImage() : GLContext.h
  • GLGetTexLevelParameterfv() : GLContext.h
  • GLGetTexLevelParameteriv() : GLContext.h
  • GLGetTexParameterfv() : GLContext.h
  • GLGetTexParameterIiv() : GLContext.h
  • GLGetTexParameterIuiv() : GLContext.h
  • GLGetTexParameteriv() : GLContext.h
  • GLGetTexWrapMode() : GLContext.h
  • GLGetTrackMatrixiv() : GLContext.h
  • GLGetTransformFeedbackVarying() : GLContext.h
  • GLGetTransformFeedbackVaryingNV() : GLContext.h
  • GLGetUniformBufferSize() : GLContext.h
  • GLGetUniformfv() : GLContext.h
  • GLGetUniformiv() : GLContext.h
  • GLGetUniformLocation() : GLContext.h
  • GLGetUniformOffset() : GLContext.h
  • GLGetUniformuiv() : GLContext.h
  • GLGetVaryingLocationNV() : GLContext.h
  • GLGetVersion() : GLContext.h
  • GLGetVertexAttribdv() : GLContext.h
  • GLGetVertexAttribfv() : GLContext.h
  • GLGetVertexAttribIiv() : GLContext.h
  • GLGetVertexAttribIuiv() : GLContext.h
  • GLGetVertexAttribiv() : GLContext.h
  • GLGetVertexAttribPointerv() : GLContext.h
  • GLGetVertexBufferOffset() : GLContext.h
  • GLHint() : GLContext.h
  • GLHistogram() : GLContext.h
  • GLIndexd() : GLContext.h
  • GLIndexf() : GLContext.h
  • GLIndexi() : GLContext.h
  • GLIndexMask() : GLContext.h
  • GLIndexPointer() : GLContext.h
  • GLIndexs() : GLContext.h
  • GLIndexub() : GLContext.h
  • GLInitNames() : GLContext.h
  • GLInterleavedArrays() : GLContext.h
  • GLintToGLfloat() : GLContext.h
  • GLIsBuffer() : GLContext.h
  • GLIsEnabled() : GLContext.h
  • GLIsEnabledAlphaTest() : GLContext.h
  • GLIsEnabledAutoNormal() : GLContext.h
  • GLIsEnabledBlend() : GLContext.h
  • GLIsEnabledClipPlane() : GLContext.h
  • GLIsEnabledColorLogicOp() : GLContext.h
  • GLIsEnabledColorMaterial() : GLContext.h
  • GLIsEnabledCullFace() : GLContext.h
  • GLIsEnabledDepthTest() : GLContext.h
  • GLIsEnabledDither() : GLContext.h
  • GLIsEnabledFog() : GLContext.h
  • GLIsEnabledIndexed() : GLContext.h
  • GLIsEnabledLight() : GLContext.h
  • GLIsEnabledLighting() : GLContext.h
  • GLIsEnabledLineSmooth() : GLContext.h
  • GLIsEnabledLineStipple() : GLContext.h
  • GLIsEnabledLogicOp() : GLContext.h
  • GLIsEnabledNormalize() : GLContext.h
  • GLIsEnabledPointSmooth() : GLContext.h
  • GLIsEnabledPolygonOffsetFill() : GLContext.h
  • GLIsEnabledPolygonOffsetLine() : GLContext.h
  • GLIsEnabledPolygonOffsetPoint() : GLContext.h
  • GLIsEnabledPolygonSmooth() : GLContext.h
  • GLIsEnabledPolygonStipple() : GLContext.h
  • GLIsEnabledRescaleNormal() : GLContext.h
  • GLIsEnabledScissorTest() : GLContext.h
  • GLIsEnabledStencilTest() : GLContext.h
  • GLIsEnabledTexture() : GLContext.h
  • GLIsEnabledTextureGen() : GLContext.h
  • GLIsExtensionAvailable() : GLContext.h
  • GLIsExtensionExported() : GLContext.h
  • GLIsFence() : GLContext.h
  • GLIsFramebuffer() : GLContext.h
  • GLIsIndexBuffer() : GLContext.h
  • GLIsList() : GLContext.h
  • GLIsProgram() : GLContext.h
  • GLIsQuery() : GLContext.h
  • GLIsRenderbuffer() : GLContext.h
  • GLIsShader() : GLContext.h
  • GLIsTexture() : GLContext.h
  • GLIsVertexBuffer() : GLContext.h
  • GLLightAmbient() : GLContext.h
  • GLLightConstantAttenuation() : GLContext.h
  • GLLightDiffuse() : GLContext.h
  • GLLightf() : GLContext.h
  • GLLightfv() : GLContext.h
  • GLLighti() : GLContext.h
  • GLLightiv() : GLContext.h
  • GLLightLinearAttenuation() : GLContext.h
  • GLLightModelAmbient() : GLContext.h
  • GLLightModelf() : GLContext.h
  • GLLightModelfv() : GLContext.h
  • GLLightModeli() : GLContext.h
  • GLLightModeliv() : GLContext.h
  • GLLightModelLocalViewer() : GLContext.h
  • GLLightModelTwoSide() : GLContext.h
  • GLLightModelTwoSideLock() : GLContext.h
  • GLLightModelTwoSideUnlock() : GLContext.h
  • GLLightPosition() : GLContext.h
  • GLLightQuadraticAttenuation() : GLContext.h
  • GLLightSpecular() : GLContext.h
  • GLLightSpotCutoff() : GLContext.h
  • GLLightSpotDirection() : GLContext.h
  • GLLightSpotExponent() : GLContext.h
  • GLLineStipple() : GLContext.h
  • GLLineWidth() : GLContext.h
  • GLLinkProgram() : GLContext.h
  • GLListBase() : GLContext.h
  • GLLoadIdentity() : GLContext.h
  • GLLoadMatrixd() : GLContext.h
  • GLLoadMatrixf() : GLContext.h
  • GLLoadName() : GLContext.h
  • GLLoadProgram() : GLContext.h
  • GLLoadTransposedMatrixd() : GLContext.h
  • GLLoadTransposeMatrixf() : GLContext.h
  • GLLockArrays() : GLContext.h
  • GLLogicOp() : GLContext.h
  • GLMap1d() : GLContext.h
  • GLMap1f() : GLContext.h
  • GLMap2d() : GLContext.h
  • GLMap2f() : GLContext.h
  • GLMapBuffer() : GLContext.h
  • GLMapBufferRange() : GLContext.h
  • GLMapGrid1d() : GLContext.h
  • GLMapGrid1f() : GLContext.h
  • GLMapGrid2d() : GLContext.h
  • GLMapGrid2f() : GLContext.h
  • GLMapIndexBuffer() : GLContext.h
  • GLMapVertexBuffer() : GLContext.h
  • GLMaterialAmbient() : GLContext.h
  • GLMaterialAmbientBack() : GLContext.h
  • GLMaterialAmbientFront() : GLContext.h
  • GLMaterialAmbientFrontAndBack() : GLContext.h
  • GLMaterialDiffuse() : GLContext.h
  • GLMaterialDiffuseBack() : GLContext.h
  • GLMaterialDiffuseFront() : GLContext.h
  • GLMaterialDiffuseFrontAndBack() : GLContext.h
  • GLMaterialEmission() : GLContext.h
  • GLMaterialEmissionBack() : GLContext.h
  • GLMaterialEmissionFront() : GLContext.h
  • GLMaterialEmissionFrontAndBack() : GLContext.h
  • GLMaterialf() : GLContext.h
  • GLMaterialfv() : GLContext.h
  • GLMateriali() : GLContext.h
  • GLMaterialiv() : GLContext.h
  • GLMaterialShininess() : GLContext.h
  • GLMaterialShininessBack() : GLContext.h
  • GLMaterialShininessFront() : GLContext.h
  • GLMaterialShininessFrontAndBack() : GLContext.h
  • GLMaterialSpecular() : GLContext.h
  • GLMaterialSpecularBack() : GLContext.h
  • GLMaterialSpecularFront() : GLContext.h
  • GLMaterialSpecularFrontAndBack() : GLContext.h
  • GLMatrixMode() : GLContext.h
  • GLMinmax() : GLContext.h
  • GLMultiDrawArrays() : GLContext.h
  • GLMultiDrawElements() : GLContext.h
  • GLMultiTexCoord1d() : GLContext.h
  • GLMultiTexCoord1dv() : GLContext.h
  • GLMultiTexCoord1f() : GLContext.h
  • GLMultiTexCoord1fv() : GLContext.h
  • GLMultiTexCoord1h() : GLContext.h
  • GLMultiTexCoord1hv() : GLContext.h
  • GLMultiTexCoord1i() : GLContext.h
  • GLMultiTexCoord1iv() : GLContext.h
  • GLMultiTexCoord1s() : GLContext.h
  • GLMultiTexCoord1sv() : GLContext.h
  • GLMultiTexCoord2d() : GLContext.h
  • GLMultiTexCoord2dv() : GLContext.h
  • GLMultiTexCoord2f() : GLContext.h
  • GLMultiTexCoord2fv() : GLContext.h
  • GLMultiTexCoord2h() : GLContext.h
  • GLMultiTexCoord2hv() : GLContext.h
  • GLMultiTexCoord2i() : GLContext.h
  • GLMultiTexCoord2iv() : GLContext.h
  • GLMultiTexCoord2s() : GLContext.h
  • GLMultiTexCoord2sv() : GLContext.h
  • GLMultiTexCoord3d() : GLContext.h
  • GLMultiTexCoord3dv() : GLContext.h
  • GLMultiTexCoord3f() : GLContext.h
  • GLMultiTexCoord3fv() : GLContext.h
  • GLMultiTexCoord3h() : GLContext.h
  • GLMultiTexCoord3hv() : GLContext.h
  • GLMultiTexCoord3i() : GLContext.h
  • GLMultiTexCoord3iv() : GLContext.h
  • GLMultiTexCoord3s() : GLContext.h
  • GLMultiTexCoord3sv() : GLContext.h
  • GLMultiTexCoord4d() : GLContext.h
  • GLMultiTexCoord4dv() : GLContext.h
  • GLMultiTexCoord4f() : GLContext.h
  • GLMultiTexCoord4fv() : GLContext.h
  • GLMultiTexCoord4h() : GLContext.h
  • GLMultiTexCoord4hv() : GLContext.h
  • GLMultiTexCoord4i() : GLContext.h
  • GLMultiTexCoord4iv() : GLContext.h
  • GLMultiTexCoord4s() : GLContext.h
  • GLMultiTexCoord4sv() : GLContext.h
  • GLMultMatrixd() : GLContext.h
  • GLMultMatrixf() : GLContext.h
  • GLMultTransposeMatrixd() : GLContext.h
  • GLMultTransposeMatrixf() : GLContext.h
  • GLNewList() : GLContext.h
  • GLNormal3b() : GLContext.h
  • GLNormal3bv() : GLContext.h
  • GLNormal3d() : GLContext.h
  • GLNormal3dv() : GLContext.h
  • GLNormal3f() : GLContext.h
  • GLNormal3fv() : GLContext.h
  • GLNormal3h() : GLContext.h
  • GLNormal3hv() : GLContext.h
  • GLNormal3i() : GLContext.h
  • GLNormal3iv() : GLContext.h
  • GLNormal3s() : GLContext.h
  • GLNormal3sv() : GLContext.h
  • GLNormalPointer() : GLContext.h
  • GLOrtho() : GLContext.h
  • GLPassThrough() : GLContext.h
  • GLPatchParameterfv() : GLContext.h
  • GLPatchParameteri() : GLContext.h
  • GLPixelDataRange() : GLContext.h
  • GLPixelMapfv() : GLContext.h
  • GLPixelMapuiv() : GLContext.h
  • GLPixelMapusv() : GLContext.h
  • GLPixelStoref() : GLContext.h
  • GLPixelStorei() : GLContext.h
  • GLPixelTransferf() : GLContext.h
  • GLPixelTransferi() : GLContext.h
  • GLPixelZoom() : GLContext.h
  • GLPointParameterf() : GLContext.h
  • GLPointParameterfv() : GLContext.h
  • GLPointParameteri() : GLContext.h
  • GLPointParameteriv() : GLContext.h
  • GLPointSize() : GLContext.h
  • GLPolygonMode() : GLContext.h
  • GLPolygonModeBack() : GLContext.h
  • GLPolygonModeFront() : GLContext.h
  • GLPolygonModeFrontAndBack() : GLContext.h
  • GLPolygonModeLock() : GLContext.h
  • GLPolygonModeUnlock() : GLContext.h
  • GLPolygonOffset() : GLContext.h
  • GLPolygonStipple() : GLContext.h
  • GLPopAttrib() : GLContext.h
  • GLPopClientAttrib() : GLContext.h
  • GLPopMatrix() : GLContext.h
  • GLPopName() : GLContext.h
  • GLPrimitiveRestart() : GLContext.h
  • GLPrimitiveRestartIndex() : GLContext.h
  • GLPrioritizeTextures() : GLContext.h
  • GLProgramBufferParametersfv() : GLContext.h
  • GLProgramBufferParametersIiv() : GLContext.h
  • GLProgramBufferParametersIuiv() : GLContext.h
  • GLProgramEnvParameter4d() : GLContext.h
  • GLProgramEnvParameter4dv() : GLContext.h
  • GLProgramEnvParameter4f() : GLContext.h
  • GLProgramEnvParameter4fv() : GLContext.h
  • GLProgramEnvParameterI4i() : GLContext.h
  • GLProgramEnvParameterI4iv() : GLContext.h
  • GLProgramEnvParameterI4ui() : GLContext.h
  • GLProgramEnvParameterI4uiv() : GLContext.h
  • GLProgramEnvParameters4fv() : GLContext.h
  • GLProgramEnvParametersI4iv() : GLContext.h
  • GLProgramEnvParametersI4uiv() : GLContext.h
  • GLProgramLocalParameter4d() : GLContext.h
  • GLProgramLocalParameter4dv() : GLContext.h
  • GLProgramLocalParameter4f() : GLContext.h
  • GLProgramLocalParameter4fv() : GLContext.h
  • GLProgramLocalParameterI4i() : GLContext.h
  • GLProgramLocalParameterI4iv() : GLContext.h
  • GLProgramLocalParameterI4ui() : GLContext.h
  • GLProgramLocalParameterI4uiv() : GLContext.h
  • GLProgramLocalParameters4fv() : GLContext.h
  • GLProgramLocalParametersI4iv() : GLContext.h
  • GLProgramLocalParametersI4uiv() : GLContext.h
  • GLProgramNamedParameter4d() : GLContext.h
  • GLProgramNamedParameter4dv() : GLContext.h
  • GLProgramNamedParameter4f() : GLContext.h
  • GLProgramNamedParameter4fv() : GLContext.h
  • GLProgramParameter4d() : GLContext.h
  • GLProgramParameter4dv() : GLContext.h
  • GLProgramParameter4f() : GLContext.h
  • GLProgramParameter4fv() : GLContext.h
  • GLProgramParameteri() : GLContext.h
  • GLProgramParameters4dv() : GLContext.h
  • GLProgramParameters4fv() : GLContext.h
  • GLProgramString() : GLContext.h
  • GLProgramVertexLimit() : GLContext.h
  • GLPushAttrib() : GLContext.h
  • GLPushClientAttrib() : GLContext.h
  • GLPushMatrix() : GLContext.h
  • GLPushName() : GLContext.h
  • GLRasterPos2d() : GLContext.h
  • GLRasterPos2dv() : GLContext.h
  • GLRasterPos2f() : GLContext.h
  • GLRasterPos2fv() : GLContext.h
  • GLRasterPos2i() : GLContext.h
  • GLRasterPos2iv() : GLContext.h
  • GLRasterPos2s() : GLContext.h
  • GLRasterPos2sv() : GLContext.h
  • GLRasterPos3d() : GLContext.h
  • GLRasterPos3dv() : GLContext.h
  • GLRasterPos3f() : GLContext.h
  • GLRasterPos3fv() : GLContext.h
  • GLRasterPos3i() : GLContext.h
  • GLRasterPos3iv() : GLContext.h
  • GLRasterPos3s() : GLContext.h
  • GLRasterPos3sv() : GLContext.h
  • GLRasterPos4d() : GLContext.h
  • GLRasterPos4dv() : GLContext.h
  • GLRasterPos4f() : GLContext.h
  • GLRasterPos4fv() : GLContext.h
  • GLRasterPos4i() : GLContext.h
  • GLRasterPos4iv() : GLContext.h
  • GLRasterPos4s() : GLContext.h
  • GLRasterPos4sv() : GLContext.h
  • GLReadBuffer() : GLContext.h
  • GLReadPixels() : GLContext.h
  • GLRectd() : GLContext.h
  • GLRectf() : GLContext.h
  • GLRecti() : GLContext.h
  • GLRects() : GLContext.h
  • GLRenderbufferStorage() : GLContext.h
  • GLRenderbufferStorageMultisample() : GLContext.h
  • GLRenderbufferStorageMultisampleCoverage() : GLContext.h
  • GLRenderMode() : GLContext.h
  • GLRequestResidentPrograms() : GLContext.h
  • GLResetAlphaFunc() : GLContext.h
  • GLResetAlphaTest() : GLContext.h
  • GLResetAutoNormal() : GLContext.h
  • GLResetBlend() : GLContext.h
  • GLResetBlendFunc() : GLContext.h
  • GLResetBlendFuncSeparate() : GLContext.h
  • GLResetClearColor() : GLContext.h
  • GLResetClearDepth() : GLContext.h
  • GLResetClearStencil() : GLContext.h
  • GLResetClipPlane() : GLContext.h
  • GLResetClipPlaneEquation() : GLContext.h
  • GLResetColorLogicOp() : GLContext.h
  • GLResetColorMask() : GLContext.h
  • GLResetColorMaterial() : GLContext.h
  • GLResetColorMaterialMode() : GLContext.h
  • GLResetCullFace() : GLContext.h
  • GLResetCullFaceMode() : GLContext.h
  • GLResetDepthFunc() : GLContext.h
  • GLResetDepthMask() : GLContext.h
  • GLResetDepthRange() : GLContext.h
  • GLResetDepthTest() : GLContext.h
  • GLResetDither() : GLContext.h
  • GLResetFog() : GLContext.h
  • GLResetFogColor() : GLContext.h
  • GLResetFogDensity() : GLContext.h
  • GLResetFogEnd() : GLContext.h
  • GLResetFogMode() : GLContext.h
  • GLResetFogStart() : GLContext.h
  • GLResetFrontFace() : GLContext.h
  • GLResetHistogram() : GLContext.h
  • GLResetLight() : GLContext.h
  • GLResetLightAmbient() : GLContext.h
  • GLResetLightConstantAttenuation() : GLContext.h
  • GLResetLightDiffuse() : GLContext.h
  • GLResetLighting() : GLContext.h
  • GLResetLightLinearAttenuation() : GLContext.h
  • GLResetLightModelAmbient() : GLContext.h
  • GLResetLightModelLocalViewer() : GLContext.h
  • GLResetLightModelTwoSide() : GLContext.h
  • GLResetLightPosition() : GLContext.h
  • GLResetLightQuadraticAttenuation() : GLContext.h
  • GLResetLightSpecular() : GLContext.h
  • GLResetLightSpotCutoff() : GLContext.h
  • GLResetLightSpotDirection() : GLContext.h
  • GLResetLightSpotExponent() : GLContext.h
  • GLResetLineSmooth() : GLContext.h
  • GLResetLineStipple() : GLContext.h
  • GLResetLineStippleDefinition() : GLContext.h
  • GLResetLineWidth() : GLContext.h
  • GLResetLogicOp() : GLContext.h
  • GLResetMaterialAmbientBack() : GLContext.h
  • GLResetMaterialAmbientFront() : GLContext.h
  • GLResetMaterialAmbientFrontAndBack() : GLContext.h
  • GLResetMaterialDiffuseBack() : GLContext.h
  • GLResetMaterialDiffuseFront() : GLContext.h
  • GLResetMaterialDiffuseFrontAndBack() : GLContext.h
  • GLResetMaterialEmissionBack() : GLContext.h
  • GLResetMaterialEmissionFront() : GLContext.h
  • GLResetMaterialEmissionFrontAndBack() : GLContext.h
  • GLResetMaterialShininessBack() : GLContext.h
  • GLResetMaterialShininessFront() : GLContext.h
  • GLResetMaterialShininessFrontAndBack() : GLContext.h
  • GLResetMaterialSpecularBack() : GLContext.h
  • GLResetMaterialSpecularFront() : GLContext.h
  • GLResetMaterialSpecularFrontAndBack() : GLContext.h
  • GLResetMinmax() : GLContext.h
  • GLResetNormalize() : GLContext.h
  • GLResetPointSize() : GLContext.h
  • GLResetPointSmooth() : GLContext.h
  • GLResetPolygonModeBack() : GLContext.h
  • GLResetPolygonModeFront() : GLContext.h
  • GLResetPolygonModeFrontAndBack() : GLContext.h
  • GLResetPolygonOffset() : GLContext.h
  • GLResetPolygonOffsetFill() : GLContext.h
  • GLResetPolygonOffsetLine() : GLContext.h
  • GLResetPolygonOffsetPoint() : GLContext.h
  • GLResetPolygonSmooth() : GLContext.h
  • GLResetPolygonStipple() : GLContext.h
  • GLResetRescaleNormal() : GLContext.h
  • GLResetScissor() : GLContext.h
  • GLResetScissorTest() : GLContext.h
  • GLResetShadeModel() : GLContext.h
  • GLResetStencilFunc() : GLContext.h
  • GLResetStencilMask() : GLContext.h
  • GLResetStencilOp() : GLContext.h
  • GLResetStencilTest() : GLContext.h
  • GLResetTexture() : GLContext.h
  • GLRotated() : GLContext.h
  • GLRotatef() : GLContext.h
  • GLSampleCoverage() : GLContext.h
  • GLSampleMaski() : GLContext.h
  • GLScaled() : GLContext.h
  • GLScalef() : GLContext.h
  • GLScissor() : GLContext.h
  • GLSecondaryColor3b() : GLContext.h
  • GLSecondaryColor3bv() : GLContext.h
  • GLSecondaryColor3d() : GLContext.h
  • GLSecondaryColor3dv() : GLContext.h
  • GLSecondaryColor3f() : GLContext.h
  • GLSecondaryColor3fv() : GLContext.h
  • GLSecondaryColor3h() : GLContext.h
  • GLSecondaryColor3hv() : GLContext.h
  • GLSecondaryColor3i() : GLContext.h
  • GLSecondaryColor3iv() : GLContext.h
  • GLSecondaryColor3s() : GLContext.h
  • GLSecondaryColor3sv() : GLContext.h
  • GLSecondaryColor3ub() : GLContext.h
  • GLSecondaryColor3ubv() : GLContext.h
  • GLSecondaryColor3ui() : GLContext.h
  • GLSecondaryColor3uiv() : GLContext.h
  • GLSecondaryColor3us() : GLContext.h
  • GLSecondaryColor3usv() : GLContext.h
  • GLSecondaryColorPointer() : GLContext.h
  • GLSelectBuffer() : GLContext.h
  • GLSelectTexture() : GLContext.h
  • GLSelectTextureCoordSet() : GLContext.h
  • GLSeparableFilter2D() : GLContext.h
  • GLSetFence() : GLContext.h
  • GLShadeModel() : GLContext.h
  • GLShaderSource() : GLContext.h
  • GLStencilClearTag() : GLContext.h
  • GLStencilFunc() : GLContext.h
  • GLStencilFuncSeparate() : GLContext.h
  • GLStencilMask() : GLContext.h
  • GLStencilMaskSeparate() : GLContext.h
  • GLStencilOp() : GLContext.h
  • GLStencilOpSeparate() : GLContext.h
  • GLStringMarker() : GLContext.h
  • GLTestFence() : GLContext.h
  • GLTexBuffer() : GLContext.h
  • GLTexCoord1d() : GLContext.h
  • GLTexCoord1dv() : GLContext.h
  • GLTexCoord1f() : GLContext.h
  • GLTexCoord1fv() : GLContext.h
  • GLTexCoord1h() : GLContext.h
  • GLTexCoord1hv() : GLContext.h
  • GLTexCoord1i() : GLContext.h
  • GLTexCoord1iv() : GLContext.h
  • GLTexCoord1s() : GLContext.h
  • GLTexCoord1sv() : GLContext.h
  • GLTexCoord2d() : GLContext.h
  • GLTexCoord2dv() : GLContext.h
  • GLTexCoord2f() : GLContext.h
  • GLTexCoord2fv() : GLContext.h
  • GLTexCoord2h() : GLContext.h
  • GLTexCoord2hv() : GLContext.h
  • GLTexCoord2i() : GLContext.h
  • GLTexCoord2iv() : GLContext.h
  • GLTexCoord2s() : GLContext.h
  • GLTexCoord2sv() : GLContext.h
  • GLTexCoord3d() : GLContext.h
  • GLTexCoord3dv() : GLContext.h
  • GLTexCoord3f() : GLContext.h
  • GLTexCoord3fv() : GLContext.h
  • GLTexCoord3h() : GLContext.h
  • GLTexCoord3hv() : GLContext.h
  • GLTexCoord3i() : GLContext.h
  • GLTexCoord3iv() : GLContext.h
  • GLTexCoord3s() : GLContext.h
  • GLTexCoord3sv() : GLContext.h
  • GLTexCoord4d() : GLContext.h
  • GLTexCoord4dv() : GLContext.h
  • GLTexCoord4f() : GLContext.h
  • GLTexCoord4fv() : GLContext.h
  • GLTexCoord4h() : GLContext.h
  • GLTexCoord4hv() : GLContext.h
  • GLTexCoord4i() : GLContext.h
  • GLTexCoord4iv() : GLContext.h
  • GLTexCoord4s() : GLContext.h
  • GLTexCoord4sv() : GLContext.h
  • GLTexCoordPointer() : GLContext.h
  • GLTexEnvf() : GLContext.h
  • GLTexEnvfv() : GLContext.h
  • GLTexEnvi() : GLContext.h
  • GLTexEnviv() : GLContext.h
  • GLTexGend() : GLContext.h
  • GLTexGenf() : GLContext.h
  • GLTexGenfv() : GLContext.h
  • GLTexGeni() : GLContext.h
  • GLTexImage1D() : GLContext.h
  • GLTexImage2D() : GLContext.h
  • GLTexImage2DMultisample() : GLContext.h
  • GLTexImage3D() : GLContext.h
  • GLTexImage3DMultisample() : GLContext.h
  • GLTexParameterf() : GLContext.h
  • GLTexParameterfv() : GLContext.h
  • GLTexParameteri() : GLContext.h
  • GLTexParameterIiv() : GLContext.h
  • GLTexParameterIuiv() : GLContext.h
  • GLTexParameteriv() : GLContext.h
  • GLTexSubImage1D() : GLContext.h
  • GLTexSubImage2D() : GLContext.h
  • GLTexSubImage3D() : GLContext.h
  • GLTextureBorderColor() : GLContext.h
  • GLTextureEnvColor() : GLContext.h
  • GLTextureEnvMode() : GLContext.h
  • GLTextureMagFilter() : GLContext.h
  • GLTextureMinFilter() : GLContext.h
  • GLTextureWrapR() : GLContext.h
  • GLTextureWrapS() : GLContext.h
  • GLTextureWrapT() : GLContext.h
  • GLTrackMatrix() : GLContext.h
  • GLTransformFeedbackAttribsNV() : GLContext.h
  • GLTransformFeedbackVaryings() : GLContext.h
  • GLTransformFeedbackVaryingsNV() : GLContext.h
  • GLTranslated() : GLContext.h
  • GLTranslatef() : GLContext.h
  • GLUniform1f() : GLContext.h
  • GLUniform1fv() : GLContext.h
  • GLUniform1i() : GLContext.h
  • GLUniform1iv() : GLContext.h
  • GLUniform1ui() : GLContext.h
  • GLUniform1uiv() : GLContext.h
  • GLUniform2f() : GLContext.h
  • GLUniform2fv() : GLContext.h
  • GLUniform2i() : GLContext.h
  • GLUniform2iv() : GLContext.h
  • GLUniform2ui() : GLContext.h
  • GLUniform2uiv() : GLContext.h
  • GLUniform3f() : GLContext.h
  • GLUniform3fv() : GLContext.h
  • GLUniform3i() : GLContext.h
  • GLUniform3iv() : GLContext.h
  • GLUniform3ui() : GLContext.h
  • GLUniform3uiv() : GLContext.h
  • GLUniform4f() : GLContext.h
  • GLUniform4fv() : GLContext.h
  • GLUniform4i() : GLContext.h
  • GLUniform4iv() : GLContext.h
  • GLUniform4ui() : GLContext.h
  • GLUniform4uiv() : GLContext.h
  • GLUniformBuffer() : GLContext.h
  • GLUniformMatrix2fv() : GLContext.h
  • GLUniformMatrix2x3fv() : GLContext.h
  • GLUniformMatrix2x4fv() : GLContext.h
  • GLUniformMatrix3fv() : GLContext.h
  • GLUniformMatrix3x2fv() : GLContext.h
  • GLUniformMatrix3x4fv() : GLContext.h
  • GLUniformMatrix4fv() : GLContext.h
  • GLUniformMatrix4x2fv() : GLContext.h
  • GLUniformMatrix4x3fv() : GLContext.h
  • GLUnlockArrays() : GLContext.h
  • GLUnmapBuffer() : GLContext.h
  • GLUnmapIndexBuffer() : GLContext.h
  • GLUnmapVertexBuffer() : GLContext.h
  • GLUploadBuffers() : GLContext.h
  • GLUseProgram() : GLContext.h
  • GLUseProgramObject() : GLContext.h
  • GLValidateProgram() : GLContext.h
  • GLVertex2d() : GLContext.h
  • GLVertex2dv() : GLContext.h
  • GLVertex2f() : GLContext.h
  • GLVertex2fv() : GLContext.h
  • GLVertex2h() : GLContext.h
  • GLVertex2hv() : GLContext.h
  • GLVertex2i() : GLContext.h
  • GLVertex2iv() : GLContext.h
  • GLVertex2s() : GLContext.h
  • GLVertex2sv() : GLContext.h
  • GLVertex3d() : GLContext.h
  • GLVertex3dv() : GLContext.h
  • GLVertex3f() : GLContext.h
  • GLVertex3fv() : GLContext.h
  • GLVertex3h() : GLContext.h
  • GLVertex3hv() : GLContext.h
  • GLVertex3i() : GLContext.h
  • GLVertex3iv() : GLContext.h
  • GLVertex3s() : GLContext.h
  • GLVertex3sv() : GLContext.h
  • GLVertex4d() : GLContext.h
  • GLVertex4dv() : GLContext.h
  • GLVertex4f() : GLContext.h
  • GLVertex4fv() : GLContext.h
  • GLVertex4h() : GLContext.h
  • GLVertex4hv() : GLContext.h
  • GLVertex4i() : GLContext.h
  • GLVertex4iv() : GLContext.h
  • GLVertex4s() : GLContext.h
  • GLVertex4sv() : GLContext.h
  • GLVertexArrayRange() : GLContext.h
  • GLVertexAttrib1d() : GLContext.h
  • GLVertexAttrib1dv() : GLContext.h
  • GLVertexAttrib1f() : GLContext.h
  • GLVertexAttrib1fv() : GLContext.h
  • GLVertexAttrib1h() : GLContext.h
  • GLVertexAttrib1hv() : GLContext.h
  • GLVertexAttrib1s() : GLContext.h
  • GLVertexAttrib1sv() : GLContext.h
  • GLVertexAttrib2d() : GLContext.h
  • GLVertexAttrib2dv() : GLContext.h
  • GLVertexAttrib2f() : GLContext.h
  • GLVertexAttrib2fv() : GLContext.h
  • GLVertexAttrib2h() : GLContext.h
  • GLVertexAttrib2hv() : GLContext.h
  • GLVertexAttrib2s() : GLContext.h
  • GLVertexAttrib2sv() : GLContext.h
  • GLVertexAttrib3d() : GLContext.h
  • GLVertexAttrib3dv() : GLContext.h
  • GLVertexAttrib3f() : GLContext.h
  • GLVertexAttrib3fv() : GLContext.h
  • GLVertexAttrib3h() : GLContext.h
  • GLVertexAttrib3hv() : GLContext.h
  • GLVertexAttrib3s() : GLContext.h
  • GLVertexAttrib3sv() : GLContext.h
  • GLVertexAttrib4bv() : GLContext.h
  • GLVertexAttrib4d() : GLContext.h
  • GLVertexAttrib4dv() : GLContext.h
  • GLVertexAttrib4f() : GLContext.h
  • GLVertexAttrib4fv() : GLContext.h
  • GLVertexAttrib4h() : GLContext.h
  • GLVertexAttrib4hv() : GLContext.h
  • GLVertexAttrib4iv() : GLContext.h
  • GLVertexAttrib4Nbv() : GLContext.h
  • GLVertexAttrib4Niv() : GLContext.h
  • GLVertexAttrib4Nsv() : GLContext.h
  • GLVertexAttrib4Nub() : GLContext.h
  • GLVertexAttrib4Nubv() : GLContext.h
  • GLVertexAttrib4Nuiv() : GLContext.h
  • GLVertexAttrib4Nusv() : GLContext.h
  • GLVertexAttrib4s() : GLContext.h
  • GLVertexAttrib4sv() : GLContext.h
  • GLVertexAttrib4ub() : GLContext.h
  • GLVertexAttrib4ubv() : GLContext.h
  • GLVertexAttrib4uiv() : GLContext.h
  • GLVertexAttrib4usv() : GLContext.h
  • GLVertexAttribI1i() : GLContext.h
  • GLVertexAttribI1iv() : GLContext.h
  • GLVertexAttribI1ui() : GLContext.h
  • GLVertexAttribI1uiv() : GLContext.h
  • GLVertexAttribI2i() : GLContext.h
  • GLVertexAttribI2iv() : GLContext.h
  • GLVertexAttribI2ui() : GLContext.h
  • GLVertexAttribI2uiv() : GLContext.h
  • GLVertexAttribI3i() : GLContext.h
  • GLVertexAttribI3iv() : GLContext.h
  • GLVertexAttribI3ui() : GLContext.h
  • GLVertexAttribI3uiv() : GLContext.h
  • GLVertexAttribI4bv() : GLContext.h
  • GLVertexAttribI4i() : GLContext.h
  • GLVertexAttribI4iv() : GLContext.h
  • GLVertexAttribI4sv() : GLContext.h
  • GLVertexAttribI4ubv() : GLContext.h
  • GLVertexAttribI4ui() : GLContext.h
  • GLVertexAttribI4uiv() : GLContext.h
  • GLVertexAttribI4usv() : GLContext.h
  • GLVertexAttribIPointer() : GLContext.h
  • GLVertexAttribPointer() : GLContext.h
  • GLVertexAttribPointerNV() : GLContext.h
  • GLVertexAttribs1dvNV() : GLContext.h
  • GLVertexAttribs1fvNV() : GLContext.h
  • GLVertexAttribs1hv() : GLContext.h
  • GLVertexAttribs1svNV() : GLContext.h
  • GLVertexAttribs2dvNV() : GLContext.h
  • GLVertexAttribs2fvNV() : GLContext.h
  • GLVertexAttribs2hv() : GLContext.h
  • GLVertexAttribs2svNV() : GLContext.h
  • GLVertexAttribs3dvNV() : GLContext.h
  • GLVertexAttribs3fvNV() : GLContext.h
  • GLVertexAttribs3hv() : GLContext.h
  • GLVertexAttribs3svNV() : GLContext.h
  • GLVertexAttribs4dvNV() : GLContext.h
  • GLVertexAttribs4fvNV() : GLContext.h
  • GLVertexAttribs4hv() : GLContext.h
  • GLVertexAttribs4svNV() : GLContext.h
  • GLVertexAttribs4ubvNV() : GLContext.h
  • GLVertexPointer() : GLContext.h
  • GLViewport() : GLContext.h
  • GLWindowPos2d() : GLContext.h
  • GLWindowPos2dv() : GLContext.h
  • GLWindowPos2f() : GLContext.h
  • GLWindowPos2fv() : GLContext.h
  • GLWindowPos2i() : GLContext.h
  • GLWindowPos2iv() : GLContext.h
  • GLWindowPos2s() : GLContext.h
  • GLWindowPos2sv() : GLContext.h
  • GLWindowPos3d() : GLContext.h
  • GLWindowPos3dv() : GLContext.h
  • GLWindowPos3f() : GLContext.h
  • GLWindowPos3fv() : GLContext.h
  • GLWindowPos3i() : GLContext.h
  • GLWindowPos3iv() : GLContext.h
  • GLWindowPos3s() : GLContext.h
  • GLWindowPos3sv() : GLContext.h
  • GLXCreateContext() : GLContext.h
  • GLXDestroyContext() : GLContext.h
  • GLXGetCurrentContext() : GLContext.h
  • GLXGetCurrentDrawable() : GLContext.h
  • GLXInitializeExtensions() : GLContext.h
  • GLXIsExtensionAvailable() : GLContext.h
  • GLXIsExtensionExported() : GLContext.h

- h -

  • HashKey : nvsg.h
  • HDAL : DAL.h
  • HDAL_INVALID : DAL.h
  • highestBit() : nvmath.h
  • highestBitValue() : nvmath.h
  • HLIB : PlugIn.h
  • horizontalToVerticalFieldOfView() : nvmath.h

- i -

  • insert() : TextureHost.h
  • int_t : NBF.h, PLYLoader.h
  • intersectingSphere() : Spherent.h
  • invert() : Matnnt.h
  • isIdentity() : Matnnt.h
  • isNormalized() : Vecnt.h, Quatt.h, Matnnt.h
  • isNull() : Vecnt.h, Quatt.h, Matnnt.h
  • isOrthogonal() : Matnnt.h
  • isPositive() : Spherent.h, Boxnt.h
  • isPowerOfTwo() : nvmath.h
  • isPtrTo() : Object.h
  • isRotation() : Matnnt.h
  • isSingular() : Matnnt.h
  • isSmartPtrOf() : SmartPtr.h
  • isUniform() : Vecnt.h
  • isValid() : Spherent.h, Boxnt.h
  • isValidBoundingSphere() : Node.h

- l -

  • length() : Vecnt.h
  • lengthSquared() : Vecnt.h
  • lerp() : Quatt.h, nvmath.h, VertexAttribute.h
  • LibExtStr : PlugIn.h
  • LOG_OUTPUT_FUNCTION : Log.h
  • logFileOutput : Log.h
  • LogTest : Log.h

- m -

  • MA_CENTER : MapObject.h
  • MA_LOWER : MapObject.h
  • MA_UPPER : MapObject.h
  • magnitude() : Quatt.h
  • MAKE_CURRENT : GLContext.h
  • makeFrustum() : Matnnt.h
  • makeLookAt() : Matnnt.h
  • makeOrtho() : Matnnt.h
  • makePerspective() : Matnnt.h
  • MapAlignment : MapObject.h
  • MapLibrary : PlugIn.h
  • MapOrientation : MapObject.h
  • MapRelation : MapObject.h
  • MapTraversalDirection : MapObject.h
  • MaterialFace : Material.h
  • max() : nvmath.h
  • maxElement() : Vecnt.h, Matnnt.h
  • MF_BACK : Material.h
  • MF_FRONT : Material.h
  • MF_FRONT_AND_BACK : Material.h
  • min() : nvmath.h
  • minElement() : Vecnt.h, Matnnt.h
  • MO_HORIZONTAL : MapObject.h
  • MO_VERTICAL : MapObject.h
  • MR_CENTER : MapObject.h
  • MR_CENTER_LEFT : MapObject.h
  • MR_CENTER_RIGHT : MapObject.h
  • MR_LOWER_CENTER : MapObject.h
  • MR_LOWER_LEFT : MapObject.h
  • MR_LOWER_RIGHT : MapObject.h
  • MR_UPPER_CENTER : MapObject.h
  • MR_UPPER_LEFT : MapObject.h
  • MR_UPPER_RIGHT : MapObject.h
  • MTD_HIGH_TO_LOW : MapObject.h
  • MTD_LOW_TO_HIGH : MapObject.h

- n -

  • NBF_ALPHA_TEST_ATTRIBUTE : NBF.h
  • NBF_ANIMATED_QUADS : NBF.h
  • NBF_ANIMATED_TRANSFORM : NBF.h
  • NBF_ANIMATED_TRIANGLES : NBF.h
  • NBF_ANIMATED_VERTEX_ATTRIBUTE_SET : NBF.h
  • NBF_BIG_ENDIAN : NBF.h
  • NBF_BILLBOARD : NBF.h
  • NBF_BLEND_ATTRIBUTE : NBF.h
  • NBF_CGFX : NBF.h
  • NBF_CUSTOM_OBJECT : NBF.h
  • NBF_DEPTH_ATTRIBUTE : NBF.h
  • NBF_DIRECTED_LIGHT : NBF.h
  • NBF_FACE_ATTRIBUTE : NBF.h
  • NBF_FLIPBOOK_ANIMATION : NBF.h
  • NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION : NBF.h
  • NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION : NBF.h
  • NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION : NBF.h
  • NBF_FRAMED_VNVECTOR_ANIMATION : NBF.h
  • NBF_GEO_NODE : NBF.h
  • NBF_GROUP : NBF.h
  • NBF_INDEX_ANIMATION : NBF.h
  • NBF_LIGHTING_ATTRIBUTE : NBF.h
  • NBF_LINE_ATTRIBUTE : NBF.h
  • NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION : NBF.h
  • NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION : NBF.h
  • NBF_LINES : NBF.h
  • NBF_LINESTRIPS : NBF.h
  • NBF_LITTLE_ENDIAN : NBF.h
  • NBF_LOD : NBF.h
  • NBF_MATERIAL : NBF.h
  • NBF_MATRIX_CAMERA : NBF.h
  • NBF_PARALLEL_CAMERA : NBF.h
  • NBF_PATCHES : NBF.h
  • NBF_PERSPECTIVE_CAMERA : NBF.h
  • NBF_POINT_ATTRIBUTE : NBF.h
  • NBF_POINT_LIGHT : NBF.h
  • NBF_POINTS : NBF.h
  • NBF_PRIMITIVE : NBF.h
  • NBF_QUAD_PATCHES : NBF.h
  • NBF_QUAD_PATCHES_4X4 : NBF.h
  • NBF_QUADMESHES : NBF.h
  • NBF_QUADS : NBF.h
  • NBF_QUADSTRIPS : NBF.h
  • NBF_RECT_PATCHES : NBF.h
  • NBF_RTBUFFER_ATTRIBUTE : NBF.h
  • NBF_RTFX : NBF.h
  • NBF_RTFX_PROGRAM : NBF.h
  • NBF_RTFX_SCENE_ATTRIBUTE : NBF.h
  • NBF_SKIN : NBF.h
  • NBF_SKINNED_TRIANGLES : NBF.h
  • NBF_SPOT_LIGHT : NBF.h
  • NBF_STATE_PASS : NBF.h
  • NBF_STATE_SET : NBF.h
  • NBF_STATE_VARIANT : NBF.h
  • NBF_STENCIL_ATTRIBUTE : NBF.h
  • NBF_SWITCH : NBF.h
  • NBF_TEXTURE_ATTRIBUTE : NBF.h
  • NBF_TEXTURE_ATTRIBUTE_ITEM : NBF.h
  • NBF_TRAFO_ANIMATION : NBF.h
  • NBF_TRANSFORM : NBF.h
  • NBF_TRI_PATCHES : NBF.h
  • NBF_TRI_PATCHES_4 : NBF.h
  • NBF_TRIANGLES : NBF.h
  • NBF_TRIFANS : NBF.h
  • NBF_TRISTRIPS : NBF.h
  • NBF_UNKNOWN : NBF.h
  • NBF_UNLIT_COLOR_ATTRIBUTE : NBF.h
  • NBF_VER_BUGFIX : NBF.h
  • NBF_VER_MAJOR : NBF.h
  • NBF_VER_MINOR : NBF.h
  • NBF_VERTEX_ATTRIBUTE_ANIMATION : NBF.h
  • NBF_VERTEX_ATTRIBUTE_SET : NBF.h
  • NBF_VNVECTOR_ANIMATION : NBF.h
  • NBF_VOLUME_NODE : NBF.h
  • NBFRTFxSceneAttribute : NBF.h
  • nearestPoint() : Planent.h
  • normalize() : Vecnt.h, VertexAttribute.h
  • numberOfComponents() : TextureHost.h
  • NVSG_CACHE_BACK : GLContext.h
  • NVSG_CACHE_FRONT : GLContext.h
  • NVSG_CTASSERT_MODULO_BYTESIZE() : NBF.h
  • NVSG_LOG_FILE : Log.h
  • NVSG_LOG_TEST : Log.h
  • NVSG_LOG_TEST_ENABLED : Log.h
  • NVSG_LOG_TEST_INIT : Log.h
  • NVSG_TIF_INVALID : GLContext.h
  • NVSGERRORHANDLER() : ErrorHandling.h
  • nvsgErrorHandler : ErrorHandling.h
  • nvsgGetDebugFlags() : nvsg.h
  • nvsgInitialize() : nvsg.h
  • nvsgRuntimeDebugControl() : nvsg.h
  • nvsgSetDebugFlags() : nvsg.h
  • nvsgSetErrorHandler() : ErrorHandling.h
  • nvsgTerminate() : nvsg.h

- o -

  • object_cast : Object.h
  • OBJECT_TRAITS : Handle.h
  • OBJECT_TRAITS_BASE : Handle.h
  • OC_ALPHATESTATTRIBUTE : Object.h
  • OC_ANIMATED_VERTEX_ATTRIBUTE_SET : Object.h
  • OC_ANIMATEDTRANSFORM : Object.h
  • OC_ANIMATION : Object.h
  • OC_BILLBOARD : Object.h
  • OC_BITMAP : Object.h
  • OC_BLENDATTRIBUTE : Object.h
  • OC_CAMERA : Object.h
  • OC_CGFX : Object.h
  • OC_CLIPPLANE : Object.h
  • OC_CUSTOMOBJECT : Object.h
  • OC_DEPTHATTRIBUTE : Object.h
  • OC_DIRECTEDLIGHT : Object.h
  • OC_DRAWABLE : Object.h
  • OC_FACEATTRIBUTE : Object.h
  • OC_FLIPBOOKANIMATION : Object.h
  • OC_FLOATANIMATION : Object.h
  • OC_FRAMEDINDEXANIMATIONDESCRIPTION : Object.h
  • OC_FRAMEDTRAFOANIMATIONDESCRIPTION : Object.h
  • OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : Object.h
  • OC_GEONODE : Object.h
  • OC_GROUP : Object.h
  • OC_INDEXANIMATION : Object.h
  • OC_INVALID : Object.h
  • OC_LIGHTINGATTRIBUTE : Object.h
  • OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : Object.h
  • OC_LINEATTRIBUTE : Object.h
  • OC_LINES : Object.h
  • OC_LINESTRIPS : Object.h
  • OC_LOD : Object.h
  • OC_MAPARRAY : Object.h
  • OC_MAPELEMENT : Object.h
  • OC_MAPLIST : Object.h
  • OC_MAPMATRIX : Object.h
  • OC_MAT33FANIMATION : Object.h
  • OC_MAT44FANIMATION : Object.h
  • OC_MATERIAL : Object.h
  • OC_MATRIXCAMERA : Object.h
  • OC_NODE : Object.h
  • OC_OBJECT : Object.h
  • OC_PARALLELCAMERA : Object.h
  • OC_PATCHES : Object.h
  • OC_PERSPECTIVECAMERA : Object.h
  • OC_PIXMAP : Object.h
  • OC_POINTATTRIBUTE : Object.h
  • OC_POINTLIGHT : Object.h
  • OC_POINTS : Object.h
  • OC_PRIMITIVE : Object.h
  • OC_QUAD_PATCHES : Object.h
  • OC_QUAD_PATCHES_4X4 : Object.h
  • OC_QUADMESHES : Object.h
  • OC_QUADS : Object.h
  • OC_QUADSTRIPS : Object.h
  • OC_QUATFANIMATION : Object.h
  • OC_RECT_PATCHES : Object.h
  • OC_RTBUFFERATTRIBUTE : Object.h
  • OC_RTFX : Object.h
  • OC_RTFX_PROGRAM : Object.h
  • OC_RTFX_SCENE_ATTRIBUTE : Object.h
  • OC_SHAPE : Object.h
  • OC_SKIN : Object.h
  • OC_SPOTLIGHT : Object.h
  • OC_STATEATTRIBUTE : Object.h
  • OC_STATEPASS : Object.h
  • OC_STATESET : Object.h
  • OC_STATESETEXT : Object.h
  • OC_STATEVARIANT : Object.h
  • OC_STENCILATTRIBUTE : Object.h
  • OC_SWITCH : Object.h
  • OC_TEXTUREATTRIBUTE : Object.h
  • OC_TEXTUREATTRIBUTEITEM : Object.h
  • OC_TRAFOANIMATION : Object.h
  • OC_TRANSFORM : Object.h
  • OC_TRI_PATCHES : Object.h
  • OC_TRI_PATCHES_4 : Object.h
  • OC_TRIANGLES : Object.h
  • OC_TRIFANS : Object.h
  • OC_TRISTRIPS : Object.h
  • OC_UNLITCOLORATTRIBUTE : Object.h
  • OC_VEC2FANIMATION : Object.h
  • OC_VEC3FANIMATION : Object.h
  • OC_VEC4FANIMATION : Object.h
  • OC_VERTEX_ATTRIBUTE_SET : Object.h
  • OC_VERTEXATTRIBUTEANIMATION : Object.h
  • operator *() : Vecnt.h, Quatt.h, Matnnt.h
  • operator!=() : SmartPtr.h, PlugIn.h, Vecnt.h, Spherent.h, Quatt.h, Planent.h, Matnnt.h, Boxnt.h, VertexAttribute.h
  • operator+() : Vecnt.h, Matnnt.h
  • operator-() : Vecnt.h, Quatt.h, Matnnt.h
  • operator/() : Vecnt.h, Quatt.h, Matnnt.h
  • operator<() : PlugIn.h
  • operator<<() : StatisticsTraverser.h
  • operator==() : SmartPtr.h, PlugIn.h, Vecnt.h, Spherent.h, Quatt.h, Planent.h, Matnnt.h, Boxnt.h, VertexAttribute.h
  • operator^() : Vecnt.h
  • operator~() : Quatt.h, Matnnt.h
  • orthonormal() : Vecnt.h
  • orthonormalize() : Vecnt.h

- p -

  • PADDING : NBF.h
  • PADDING_i : NBF.h
  • PADDING_ii : NBF.h
  • PFNGETPLUGINTERFACE : PlugIn.h
  • PFNQUERYPLUGINTERFACETYPE : PlugIn.h
  • PI : nvmath.h
  • PI_HALF : nvmath.h
  • PI_QUARTER : nvmath.h
  • PIS : PlugIn.h
  • powerOfTwoAbove() : nvmath.h
  • powerOfTwoBelow() : nvmath.h
  • powerOfTwoNearest() : nvmath.h
  • PrimitiveType : Primitive.h
  • ProblemLogList : ProblemLog.h

- q -

  • queryInterfaceType() : PlugIn.h
  • queryPlugInterfaceType() : OBJSaver.h, NVSGSaver.h, WRLLoader.h, PLYLoader.h, NVSGLoader.h

- r -

  • radToDeg() : nvmath.h
  • REG_NV_TRACE_SUBKEY : Trace.h
  • releaseInterface() : PlugIn.h
  • RENDER_CONTEXT : GLContext.h
  • reportError() : ProblemLog.h
  • reportWarning() : ProblemLog.h
  • rescale() : TextureHost.h

- s -

  • Segment : Face.h
  • setAllAnimations() : Animation.h
  • SetCurrentDir() : Tools.h
  • setIdentity() : Matnnt.h
  • setMat() : Matnnt.h
  • setPlugInFileFilter() : PlugIn.h
  • setVec() : Vecnt.h
  • SF_ALWAYS : StencilAttribute.h
  • SF_EQUAL : StencilAttribute.h
  • SF_GREATER : StencilAttribute.h
  • SF_GREATER_OR_EQUAL : StencilAttribute.h
  • SF_LESS : StencilAttribute.h
  • SF_LESS_OR_EQUAL : StencilAttribute.h
  • SF_NEVER : StencilAttribute.h
  • SF_NOT_EQUAL : StencilAttribute.h
  • sharedPtr_cast() : Handle.h
  • short_t : NBF.h
  • sign() : nvmath.h
  • signedDistance() : Planent.h
  • sizeOfComponents() : TextureHost.h
  • smart_cast() : SmartPtr.h
  • SmartRCObject : RCObject.h
  • smoothNormals() : Vecnt.h
  • SO_DECREMENT : StencilAttribute.h
  • SO_DECREMENT_WRAP : StencilAttribute.h
  • SO_INCREMENT : StencilAttribute.h
  • SO_INCREMENT_WRAP : StencilAttribute.h
  • SO_INVERT : StencilAttribute.h
  • SO_KEEP : StencilAttribute.h
  • SO_REPLACE : StencilAttribute.h
  • SO_ZERO : StencilAttribute.h
  • solveCubicEquation() : nvmath.h
  • solveQuadraticEquation() : nvmath.h
  • SplitPath() : Tools.h
  • SQRT_THREE : nvmath.h
  • SQRT_THREE_HALF : nvmath.h
  • SQRT_TWO : nvmath.h
  • SQRT_TWO_HALF : nvmath.h
  • square() : nvmath.h
  • SS_BACK : StencilAttribute.h
  • SS_FRONT : StencilAttribute.h
  • StateSetReplacementMap : StateSet.h
  • StencilFunction : StencilAttribute.h
  • StencilOperation : StencilAttribute.h
  • StencilSide : StencilAttribute.h
  • subdivide() : Beziernt.h
  • SWMRCriticalSection : SWMRSync.h

- t -

  • TCA_Q : TextureAttribute.h
  • TCA_R : TextureAttribute.h
  • TCA_S : TextureAttribute.h
  • TCA_T : TextureAttribute.h
  • TCT_CYLINDRICAL : VertexAttributeSet.h
  • TCT_PLANAR : VertexAttributeSet.h
  • TCT_SPHERICAL : VertexAttributeSet.h
  • TEM_ADD : TextureAttribute.h
  • TEM_ADD_SIGNED : TextureAttribute.h
  • TEM_BLEND : TextureAttribute.h
  • TEM_DECAL : TextureAttribute.h
  • TEM_DOT3_RGB : TextureAttribute.h
  • TEM_DOT3_RGBA : TextureAttribute.h
  • TEM_INTERPOLATE : TextureAttribute.h
  • TEM_MODULATE : TextureAttribute.h
  • TEM_REPLACE : TextureAttribute.h
  • TEM_SUBTRACT : TextureAttribute.h
  • TES_1X : TextureAttribute.h
  • TES_2X : TextureAttribute.h
  • TES_4X : TextureAttribute.h
  • TESTMODE : Log.h
  • TexCoordAxis : TextureAttribute.h
  • TexGenLinearPlane : TextureAttribute.h
  • TexGenMode : TextureAttribute.h
  • TextureCoordType : VertexAttributeSet.h
  • TextureEnvMode : TextureAttribute.h
  • TextureEnvScale : TextureAttribute.h
  • TextureMagFilterMode : TextureAttribute.h
  • TextureMinFilterMode : TextureAttribute.h
  • TextureWrapMode : TextureAttribute.h
  • TexWrapCoordAxis : TextureAttribute.h
  • TFM_MAG_BILINEAR : TextureAttribute.h
  • TFM_MAG_LINEAR : TextureAttribute.h
  • TFM_MAG_NEAREST : TextureAttribute.h
  • TFM_MIN_BILINEAR : TextureAttribute.h
  • TFM_MIN_LINEAR : TextureAttribute.h
  • TFM_MIN_LINEAR_MIPMAP_LINEAR : TextureAttribute.h
  • TFM_MIN_LINEAR_MIPMAP_NEAREST : TextureAttribute.h
  • TFM_MIN_NEAREST : TextureAttribute.h
  • TFM_MIN_NEAREST_MIPMAP_LINEAR : TextureAttribute.h
  • TFM_MIN_NEAREST_MIPMAP_NEAREST : TextureAttribute.h
  • TFM_MIN_TRILINEAR : TextureAttribute.h
  • TGLP_EYE : TextureAttribute.h
  • TGLP_OBJECT : TextureAttribute.h
  • TGLP_OBJECT_AND_EYE : TextureAttribute.h
  • TGM_EYE_LINEAR : TextureAttribute.h
  • TGM_NORMAL_MAP : TextureAttribute.h
  • TGM_OBJECT_LINEAR : TextureAttribute.h
  • TGM_OFF : TextureAttribute.h
  • TGM_REFLECTION_MAP : TextureAttribute.h
  • TGM_SPHERE_MAP : TextureAttribute.h
  • TM_NONE : Log.h
  • TM_TEST : Log.h
  • TRACE_LOG_FILE : Trace.h
  • TWCA_R : TextureAttribute.h
  • TWCA_S : TextureAttribute.h
  • TWCA_T : TextureAttribute.h
  • TWM_CLAMP : TextureAttribute.h
  • TWM_CLAMP_TO_BORDER : TextureAttribute.h
  • TWM_CLAMP_TO_EDGE : TextureAttribute.h
  • TWM_MIRROR_CLAMP : TextureAttribute.h
  • TWM_MIRROR_CLAMP_TO_BORDER : TextureAttribute.h
  • TWM_MIRROR_CLAMP_TO_EDGE : TextureAttribute.h
  • TWM_MIRROR_REPEAT : TextureAttribute.h
  • TWM_REPEAT : TextureAttribute.h

- u -

  • ubyte_t : NBF.h, PLYLoader.h
  • uint64_t : NBF.h, PLYLoader.h
  • UINT_PTR : Handle.h
  • uint_t : NBF.h, PLYLoader.h
  • UnMapLibrary : PlugIn.h
  • UPITID_SCENE_LOADER : PlugInterfaceID.h
  • UPITID_SCENE_SAVER : PlugInterfaceID.h
  • UPITID_SHADER_LOADER : PlugInterfaceID.h
  • UPITID_TEXTURE_LOADER : PlugInterfaceID.h
  • UPITID_TEXTURE_SAVER : PlugInterfaceID.h
  • UPITID_VERSION : PlugInterfaceID.h
  • ushort_t : NBF.h

- v -

  • VariantKey : StateSet.h
  • verticalToHorizontalFieldOfView() : nvmath.h

- w -

  • weakPtr_cast() : Handle.h
  • WGLBindSwapBarrierNV() : GLContext.h
  • WGLBindTexImage() : GLContext.h
  • WGLBindVideoDeviceNV() : GLContext.h
  • WGLBindVideoImage() : GLContext.h
  • WGLChoosePixelFormat() : GLContext.h
  • WGLCreateAffinityDC() : GLContext.h
  • WGLCreateContext() : GLContext.h
  • WGLCreatePbuffer() : GLContext.h
  • WGLDeleteContext() : GLContext.h
  • WGLDeleteDC() : GLContext.h
  • WGLDestroyPbuffer() : GLContext.h
  • WGLEnumerateVideoDevicesNV() : GLContext.h
  • WGLEnumGpuDevices() : GLContext.h
  • WGLEnumGpus() : GLContext.h
  • WGLEnumGpusFromAffinityDC() : GLContext.h
  • WGLGetCurrentContext() : GLContext.h
  • WGLGetCurrentDC() : GLContext.h
  • WGLGetPbufferDC() : GLContext.h
  • WGLGetPixelFormatAttribfv() : GLContext.h
  • WGLGetPixelFormatAttribivARB() : GLContext.h
  • WGLGetSwapInterval() : GLContext.h
  • WGLGetVideoDevice() : GLContext.h
  • WGLGetVideoInfo() : GLContext.h
  • WGLInitializeExtensions() : GLContext.h
  • WGLIsExtensionAvailable() : GLContext.h
  • WGLIsExtensionExported() : GLContext.h
  • WGLJoinSwapGroupNV() : GLContext.h
  • WGLQueryCurrentContextNV() : GLContext.h
  • WGLQueryFrameCountNV() : GLContext.h
  • WGLQueryMaxSwapGroupsNV() : GLContext.h
  • WGLQueryPbuffer() : GLContext.h
  • WGLQuerySwapGroupNV() : GLContext.h
  • WGLReleasePbufferDC() : GLContext.h
  • WGLReleaseTexImage() : GLContext.h
  • WGLReleaseVideoDevice() : GLContext.h
  • WGLReleaseVideoImage() : GLContext.h
  • WGLResetFrameCountNV() : GLContext.h
  • WGLSendPbufferToVideo() : GLContext.h
  • WGLSwapInterval() : GLContext.h
Generated on Fri Jul 13 13:31:32 2012 for SceniX


SceniX: File Members - Defines

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines

  • BUFFER_OFFSET : GLContext.h
  • CORE_TYPES : Handle.h
  • CORE_TYPES_BASE : Handle.h
  • GET_CURRENT_DC : GLContext.h
  • GET_CURRENT_RC : GLContext.h
  • GetFuncAddress : PlugIn.h
  • HLIB : PlugIn.h
  • LibExtStr : PlugIn.h
  • MAKE_CURRENT : GLContext.h
  • MapLibrary : PlugIn.h
  • NVSG_CACHE_BACK : GLContext.h
  • NVSG_CACHE_FRONT : GLContext.h
  • NVSG_LOG_TEST : Log.h
  • NVSG_LOG_TEST_ENABLED : Log.h
  • NVSG_LOG_TEST_INIT : Log.h
  • NVSG_TIF_INVALID : GLContext.h
  • object_cast : Object.h
  • OBJECT_TRAITS : Handle.h
  • OBJECT_TRAITS_BASE : Handle.h
  • PADDING : NBF.h
  • PADDING_i : NBF.h
  • PADDING_ii : NBF.h
  • TRACE_LOG_FILE : Trace.h
  • UnMapLibrary : PlugIn.h
  • UPITID_SCENE_LOADER : PlugInterfaceID.h
  • UPITID_SCENE_SAVER : PlugInterfaceID.h
  • UPITID_SHADER_LOADER : PlugInterfaceID.h
  • UPITID_TEXTURE_LOADER : PlugInterfaceID.h
  • UPITID_TEXTURE_SAVER : PlugInterfaceID.h
  • UPITID_VERSION : PlugInterfaceID.h
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: File Members - Enumerations

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines

  • AlphaFunction : AlphaTestAttribute.h
  • BlendFunction : BlendAttribute.h
  • CullCode : Camera.h
  • DepthFunction : DepthAttribute.h
  • MapAlignment : MapObject.h
  • MapOrientation : MapObject.h
  • MapRelation : MapObject.h
  • MapTraversalDirection : MapObject.h
  • MaterialFace : Material.h
  • PrimitiveType : Primitive.h
  • StencilFunction : StencilAttribute.h
  • StencilOperation : StencilAttribute.h
  • StencilSide : StencilAttribute.h
  • TESTMODE : Log.h
  • TexCoordAxis : TextureAttribute.h
  • TexGenLinearPlane : TextureAttribute.h
  • TexGenMode : TextureAttribute.h
  • TextureCoordType : VertexAttributeSet.h
  • TextureEnvMode : TextureAttribute.h
  • TextureEnvScale : TextureAttribute.h
  • TextureMagFilterMode : TextureAttribute.h
  • TextureMinFilterMode : TextureAttribute.h
  • TextureWrapMode : TextureAttribute.h
  • TexWrapCoordAxis : TextureAttribute.h
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: File Members - Enumeration values

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines
a | b | c | m | n | o | s | t

- a -

  • AF_ALWAYS : AlphaTestAttribute.h
  • AF_EQUAL : AlphaTestAttribute.h
  • AF_GEQUAL : AlphaTestAttribute.h
  • AF_GREATER : AlphaTestAttribute.h
  • AF_LEQUAL : AlphaTestAttribute.h
  • AF_LESS : AlphaTestAttribute.h
  • AF_NEVER : AlphaTestAttribute.h
  • AF_NOTEQUAL : AlphaTestAttribute.h

- b -

  • BF_DESTINATION_ALPHA : BlendAttribute.h
  • BF_DESTINATION_COLOR : BlendAttribute.h
  • BF_ONE : BlendAttribute.h
  • BF_ONE_MINUS_DESTINATION_ALPHA : BlendAttribute.h
  • BF_ONE_MINUS_DESTINATION_COLOR : BlendAttribute.h
  • BF_ONE_MINUS_SOURCE_ALPHA : BlendAttribute.h
  • BF_ONE_MINUS_SOURCE_COLOR : BlendAttribute.h
  • BF_SOURCE_ALPHA : BlendAttribute.h
  • BF_SOURCE_ALPHA_SATURATE : BlendAttribute.h
  • BF_SOURCE_COLOR : BlendAttribute.h
  • BF_ZERO : BlendAttribute.h

- c -

  • CC_IN : Camera.h
  • CC_OUT : Camera.h
  • CC_PART : Camera.h

- m -

  • MA_CENTER : MapObject.h
  • MA_LOWER : MapObject.h
  • MA_UPPER : MapObject.h
  • MF_BACK : Material.h
  • MF_FRONT : Material.h
  • MF_FRONT_AND_BACK : Material.h
  • MO_HORIZONTAL : MapObject.h
  • MO_VERTICAL : MapObject.h
  • MR_CENTER : MapObject.h
  • MR_CENTER_LEFT : MapObject.h
  • MR_CENTER_RIGHT : MapObject.h
  • MR_LOWER_CENTER : MapObject.h
  • MR_LOWER_LEFT : MapObject.h
  • MR_LOWER_RIGHT : MapObject.h
  • MR_UPPER_CENTER : MapObject.h
  • MR_UPPER_LEFT : MapObject.h
  • MR_UPPER_RIGHT : MapObject.h
  • MTD_HIGH_TO_LOW : MapObject.h
  • MTD_LOW_TO_HIGH : MapObject.h

- n -

  • NBF_ALPHA_TEST_ATTRIBUTE : NBF.h
  • NBF_ANIMATED_QUADS : NBF.h
  • NBF_ANIMATED_TRANSFORM : NBF.h
  • NBF_ANIMATED_TRIANGLES : NBF.h
  • NBF_ANIMATED_VERTEX_ATTRIBUTE_SET : NBF.h
  • NBF_BILLBOARD : NBF.h
  • NBF_BLEND_ATTRIBUTE : NBF.h
  • NBF_CGFX : NBF.h
  • NBF_CUSTOM_OBJECT : NBF.h
  • NBF_DEPTH_ATTRIBUTE : NBF.h
  • NBF_DIRECTED_LIGHT : NBF.h
  • NBF_FACE_ATTRIBUTE : NBF.h
  • NBF_FLIPBOOK_ANIMATION : NBF.h
  • NBF_FRAMED_INDEX_ANIMATION_DESCRIPTION : NBF.h
  • NBF_FRAMED_TRAFO_ANIMATION_DESCRIPTION : NBF.h
  • NBF_FRAMED_VERTEX_ATTRIBUTE_ANIMATION_DESCRIPTION : NBF.h
  • NBF_FRAMED_VNVECTOR_ANIMATION : NBF.h
  • NBF_GEO_NODE : NBF.h
  • NBF_GROUP : NBF.h
  • NBF_INDEX_ANIMATION : NBF.h
  • NBF_LIGHTING_ATTRIBUTE : NBF.h
  • NBF_LINE_ATTRIBUTE : NBF.h
  • NBF_LINEAR_INTERPOLATED_TRAFO_ANIMATION_DESCRIPTION : NBF.h
  • NBF_LINEAR_INTERPOLATED_VNVECTOR_ANIMATION : NBF.h
  • NBF_LINES : NBF.h
  • NBF_LINESTRIPS : NBF.h
  • NBF_LOD : NBF.h
  • NBF_MATERIAL : NBF.h
  • NBF_MATRIX_CAMERA : NBF.h
  • NBF_PARALLEL_CAMERA : NBF.h
  • NBF_PATCHES : NBF.h
  • NBF_PERSPECTIVE_CAMERA : NBF.h
  • NBF_POINT_ATTRIBUTE : NBF.h
  • NBF_POINT_LIGHT : NBF.h
  • NBF_POINTS : NBF.h
  • NBF_PRIMITIVE : NBF.h
  • NBF_QUAD_PATCHES : NBF.h
  • NBF_QUAD_PATCHES_4X4 : NBF.h
  • NBF_QUADMESHES : NBF.h
  • NBF_QUADS : NBF.h
  • NBF_QUADSTRIPS : NBF.h
  • NBF_RECT_PATCHES : NBF.h
  • NBF_RTBUFFER_ATTRIBUTE : NBF.h
  • NBF_RTFX : NBF.h
  • NBF_RTFX_PROGRAM : NBF.h
  • NBF_RTFX_SCENE_ATTRIBUTE : NBF.h
  • NBF_SKIN : NBF.h
  • NBF_SKINNED_TRIANGLES : NBF.h
  • NBF_SPOT_LIGHT : NBF.h
  • NBF_STATE_PASS : NBF.h
  • NBF_STATE_SET : NBF.h
  • NBF_STATE_VARIANT : NBF.h
  • NBF_STENCIL_ATTRIBUTE : NBF.h
  • NBF_SWITCH : NBF.h
  • NBF_TEXTURE_ATTRIBUTE : NBF.h
  • NBF_TEXTURE_ATTRIBUTE_ITEM : NBF.h
  • NBF_TRAFO_ANIMATION : NBF.h
  • NBF_TRANSFORM : NBF.h
  • NBF_TRI_PATCHES : NBF.h
  • NBF_TRI_PATCHES_4 : NBF.h
  • NBF_TRIANGLES : NBF.h
  • NBF_TRIFANS : NBF.h
  • NBF_TRISTRIPS : NBF.h
  • NBF_UNKNOWN : NBF.h
  • NBF_UNLIT_COLOR_ATTRIBUTE : NBF.h
  • NBF_VERTEX_ATTRIBUTE_ANIMATION : NBF.h
  • NBF_VERTEX_ATTRIBUTE_SET : NBF.h
  • NBF_VNVECTOR_ANIMATION : NBF.h
  • NBF_VOLUME_NODE : NBF.h

- o -

  • OC_ALPHATESTATTRIBUTE : Object.h
  • OC_ANIMATED_VERTEX_ATTRIBUTE_SET : Object.h
  • OC_ANIMATEDTRANSFORM : Object.h
  • OC_ANIMATION : Object.h
  • OC_BILLBOARD : Object.h
  • OC_BITMAP : Object.h
  • OC_BLENDATTRIBUTE : Object.h
  • OC_CAMERA : Object.h
  • OC_CGFX : Object.h
  • OC_CLIPPLANE : Object.h
  • OC_CUSTOMOBJECT : Object.h
  • OC_DEPTHATTRIBUTE : Object.h
  • OC_DIRECTEDLIGHT : Object.h
  • OC_DRAWABLE : Object.h
  • OC_FACEATTRIBUTE : Object.h
  • OC_FLIPBOOKANIMATION : Object.h
  • OC_FLOATANIMATION : Object.h
  • OC_FRAMEDINDEXANIMATIONDESCRIPTION : Object.h
  • OC_FRAMEDTRAFOANIMATIONDESCRIPTION : Object.h
  • OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : Object.h
  • OC_GEONODE : Object.h
  • OC_GROUP : Object.h
  • OC_INDEXANIMATION : Object.h
  • OC_INVALID : Object.h
  • OC_LIGHTINGATTRIBUTE : Object.h
  • OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION : Object.h
  • OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : Object.h
  • OC_LINEATTRIBUTE : Object.h
  • OC_LINES : Object.h
  • OC_LINESTRIPS : Object.h
  • OC_LOD : Object.h
  • OC_MAPARRAY : Object.h
  • OC_MAPELEMENT : Object.h
  • OC_MAPLIST : Object.h
  • OC_MAPMATRIX : Object.h
  • OC_MAT33FANIMATION : Object.h
  • OC_MAT44FANIMATION : Object.h
  • OC_MATERIAL : Object.h
  • OC_MATRIXCAMERA : Object.h
  • OC_NODE : Object.h
  • OC_OBJECT : Object.h
  • OC_PARALLELCAMERA : Object.h
  • OC_PATCHES : Object.h
  • OC_PERSPECTIVECAMERA : Object.h
  • OC_PIXMAP : Object.h
  • OC_POINTATTRIBUTE : Object.h
  • OC_POINTLIGHT : Object.h
  • OC_POINTS : Object.h
  • OC_PRIMITIVE : Object.h
  • OC_QUAD_PATCHES : Object.h
  • OC_QUAD_PATCHES_4X4 : Object.h
  • OC_QUADMESHES : Object.h
  • OC_QUADS : Object.h
  • OC_QUADSTRIPS : Object.h
  • OC_QUATFANIMATION : Object.h
  • OC_RECT_PATCHES : Object.h
  • OC_RTBUFFERATTRIBUTE : Object.h
  • OC_RTFX : Object.h
  • OC_RTFX_PROGRAM : Object.h
  • OC_RTFX_SCENE_ATTRIBUTE : Object.h
  • OC_SHAPE : Object.h
  • OC_SKIN : Object.h
  • OC_SPOTLIGHT : Object.h
  • OC_STATEATTRIBUTE : Object.h
  • OC_STATEPASS : Object.h
  • OC_STATESET : Object.h
  • OC_STATESETEXT : Object.h
  • OC_STATEVARIANT : Object.h
  • OC_STENCILATTRIBUTE : Object.h
  • OC_SWITCH : Object.h
  • OC_TEXTUREATTRIBUTE : Object.h
  • OC_TEXTUREATTRIBUTEITEM : Object.h
  • OC_TRAFOANIMATION : Object.h
  • OC_TRANSFORM : Object.h
  • OC_TRI_PATCHES : Object.h
  • OC_TRI_PATCHES_4 : Object.h
  • OC_TRIANGLES : Object.h
  • OC_TRIFANS : Object.h
  • OC_TRISTRIPS : Object.h
  • OC_UNLITCOLORATTRIBUTE : Object.h
  • OC_VEC2FANIMATION : Object.h
  • OC_VEC3FANIMATION : Object.h
  • OC_VEC4FANIMATION : Object.h
  • OC_VERTEX_ATTRIBUTE_SET : Object.h
  • OC_VERTEXATTRIBUTEANIMATION : Object.h

- s -

  • SF_ALWAYS : StencilAttribute.h
  • SF_EQUAL : StencilAttribute.h
  • SF_GREATER : StencilAttribute.h
  • SF_GREATER_OR_EQUAL : StencilAttribute.h
  • SF_LESS : StencilAttribute.h
  • SF_LESS_OR_EQUAL : StencilAttribute.h
  • SF_NEVER : StencilAttribute.h
  • SF_NOT_EQUAL : StencilAttribute.h
  • SO_DECREMENT : StencilAttribute.h
  • SO_DECREMENT_WRAP : StencilAttribute.h
  • SO_INCREMENT : StencilAttribute.h
  • SO_INCREMENT_WRAP : StencilAttribute.h
  • SO_INVERT : StencilAttribute.h
  • SO_KEEP : StencilAttribute.h
  • SO_REPLACE : StencilAttribute.h
  • SO_ZERO : StencilAttribute.h
  • SS_BACK : StencilAttribute.h
  • SS_FRONT : StencilAttribute.h

- t -

  • TCA_Q : TextureAttribute.h
  • TCA_R : TextureAttribute.h
  • TCA_S : TextureAttribute.h
  • TCA_T : TextureAttribute.h
  • TCT_CYLINDRICAL : VertexAttributeSet.h
  • TCT_PLANAR : VertexAttributeSet.h
  • TCT_SPHERICAL : VertexAttributeSet.h
  • TEM_ADD : TextureAttribute.h
  • TEM_ADD_SIGNED : TextureAttribute.h
  • TEM_BLEND : TextureAttribute.h
  • TEM_DECAL : TextureAttribute.h
  • TEM_DOT3_RGB : TextureAttribute.h
  • TEM_DOT3_RGBA : TextureAttribute.h
  • TEM_INTERPOLATE : TextureAttribute.h
  • TEM_MODULATE : TextureAttribute.h
  • TEM_REPLACE : TextureAttribute.h
  • TEM_SUBTRACT : TextureAttribute.h
  • TES_1X : TextureAttribute.h
  • TES_2X : TextureAttribute.h
  • TES_4X : TextureAttribute.h
  • TFM_MAG_BILINEAR : TextureAttribute.h
  • TFM_MAG_LINEAR : TextureAttribute.h
  • TFM_MAG_NEAREST : TextureAttribute.h
  • TFM_MIN_BILINEAR : TextureAttribute.h
  • TFM_MIN_LINEAR : TextureAttribute.h
  • TFM_MIN_LINEAR_MIPMAP_LINEAR : TextureAttribute.h
  • TFM_MIN_LINEAR_MIPMAP_NEAREST : TextureAttribute.h
  • TFM_MIN_NEAREST : TextureAttribute.h
  • TFM_MIN_NEAREST_MIPMAP_LINEAR : TextureAttribute.h
  • TFM_MIN_NEAREST_MIPMAP_NEAREST : TextureAttribute.h
  • TFM_MIN_TRILINEAR : TextureAttribute.h
  • TGLP_EYE : TextureAttribute.h
  • TGLP_OBJECT : TextureAttribute.h
  • TGLP_OBJECT_AND_EYE : TextureAttribute.h
  • TGM_EYE_LINEAR : TextureAttribute.h
  • TGM_NORMAL_MAP : TextureAttribute.h
  • TGM_OBJECT_LINEAR : TextureAttribute.h
  • TGM_OFF : TextureAttribute.h
  • TGM_REFLECTION_MAP : TextureAttribute.h
  • TGM_SPHERE_MAP : TextureAttribute.h
  • TM_NONE : Log.h
  • TM_TEST : Log.h
  • TWCA_R : TextureAttribute.h
  • TWCA_S : TextureAttribute.h
  • TWCA_T : TextureAttribute.h
  • TWM_CLAMP : TextureAttribute.h
  • TWM_CLAMP_TO_BORDER : TextureAttribute.h
  • TWM_CLAMP_TO_EDGE : TextureAttribute.h
  • TWM_MIRROR_CLAMP : TextureAttribute.h
  • TWM_MIRROR_CLAMP_TO_BORDER : TextureAttribute.h
  • TWM_MIRROR_CLAMP_TO_EDGE : TextureAttribute.h
  • TWM_MIRROR_REPEAT : TextureAttribute.h
  • TWM_REPEAT : TextureAttribute.h
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: File Members - Functions

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines
a | b | c | d | e | f | g | h | i | l | m | n | o | p | q | r | s | v | w

- a -

  • addPlugInSearchPath() : PlugIn.h
  • ApplyNodeHints() : Tools.h
  • areCollinear() : Vecnt.h
  • areOfSameType() : Object.h
  • areOnOppositeSides() : Planent.h
  • areOnSameSide() : Planent.h
  • areOpposite() : Vecnt.h
  • areOrthogonal() : Vecnt.h
  • areOrthonormal() : Vecnt.h
  • areSimilar() : Vecnt.h
  • assertMipMapChainComplete() : TextureHost.h
  • attribIndex() : VertexAttributeSet.h

- b -

  • bezier() : Beziernt.h
  • boundingBox() : Vecnt.h, Boxnt.h
  • boundingSphere() : Spherent.h

- c -

  • calculateContributions() : TextureHost.h
  • cgfxContext() : CgFx.h
  • cgfxGetLastError() : CgFx.h
  • clamp() : nvmath.h
  • cloneIfShared() : SmartPtr.h
  • compare() : nvmath.h
  • convertPixelFormat() : TextureHost.h
  • copySelectedVertices() : VertexAttributeSet.h
  • CORE_TYPES() : Handle.h
  • CORE_TYPES_BASE() : Handle.h
  • CreateDir() : Tools.h
  • cube() : nvmath.h

- d -

  • dbgAllocImagePixels() : TextureHost.h
  • decompose() : Quatt.h, Matnnt.h
  • degToRad() : nvmath.h
  • DestroyCallback() : RCObject.h
  • determinant() : Matnnt.h
  • determineTextureTarget() : TextureHost.h
  • DirExists() : Tools.h
  • distance() : Vecnt.h, Quatt.h, Planent.h

- e -

  • EnableLocking() : SWMRSync.h
  • equal3f() : GLContext.h
  • equal3fv() : GLContext.h
  • equal4f() : GLContext.h
  • equal4fv() : GLContext.h
  • equalf() : GLContext.h
  • errorMessage() : IOLayer.h

- f -

  • FileDelete() : Tools.h
  • FileExists() : Tools.h
  • FileSize() : Tools.h
  • FindFile() : Tools.h
  • FindFileFirst() : Tools.h
  • freeImagePixels() : TextureHost.h
  • frenetFrame() : Beziernt.h

- g -

  • genericAttrib() : VertexAttributeSet.h
  • get3DAPI() : nvsg.h
  • getBoundingSphere() : Node.h
  • getCopyrightString() : nvsg.h
  • GetCurrentDir() : Tools.h
  • GetDirFromPath() : Tools.h
  • GetDrvAndDirFromPath() : Tools.h
  • GetDrvFromPath() : Tools.h
  • GetFileExtFromPath() : Tools.h
  • GetFileNameFromPath() : Tools.h
  • getInterface() : PlugIn.h
  • GetModulePath() : Tools.h
  • getNumGPUs() : nvsg.h
  • getPlugInSearchPath() : PlugIn.h
  • getPlugInterface() : OBJSaver.h, NVSGSaver.h, WRLLoader.h, PLYLoader.h, NVSGLoader.h
  • getReplacementStateSet() : StateSet.h
  • getSDKName() : nvsg.h
  • getSupportedFeatures() : nvsg.h
  • getVendorName() : nvsg.h
  • getVersionString() : nvsg.h
  • GLAccum() : GLContext.h
  • GLActiveStencilFace() : GLContext.h
  • GLActiveTexture() : GLContext.h
  • GLActiveVarying() : GLContext.h
  • GLAlphaFunc() : GLContext.h
  • GLAreProgramsResident() : GLContext.h
  • GLAreTexturesResident() : GLContext.h
  • GLArrayElement() : GLContext.h
  • GLAttachObject() : GLContext.h
  • GLAttachShader() : GLContext.h
  • GLBegin() : GLContext.h
  • GLBeginConditionalRenderNV() : GLContext.h
  • GLBeginQuery() : GLContext.h
  • GLBeginTransformFeedback() : GLContext.h
  • GLBeginTransformFeedbackNV() : GLContext.h
  • GLBindAttribLocation() : GLContext.h
  • GLBindBuffer() : GLContext.h
  • GLBindBufferBase() : GLContext.h
  • GLBindBufferBaseNV() : GLContext.h
  • GLBindBufferOffsetNV() : GLContext.h
  • GLBindBufferRange() : GLContext.h
  • GLBindBufferRangeNV() : GLContext.h
  • GLBindFragDataLocation() : GLContext.h
  • GLBindFramebuffer() : GLContext.h
  • GLBindIndexBuffer() : GLContext.h
  • GLBindProgram() : GLContext.h
  • GLBindRenderbuffer() : GLContext.h
  • GLBindTexture() : GLContext.h
  • GLBindTransformFeedbackBuffer() : GLContext.h
  • GLBindVertexBuffer() : GLContext.h
  • GLBitmap() : GLContext.h
  • GLBlendColor() : GLContext.h
  • GLBlendEquation() : GLContext.h
  • GLBlendEquationSeparate() : GLContext.h
  • GLBlendFunc() : GLContext.h
  • GLBlendFuncSeparate() : GLContext.h
  • GLBlitFramebuffer() : GLContext.h
  • GLBufferData() : GLContext.h
  • GLBufferSubData() : GLContext.h
  • GLBuildVertexBufferCache() : GLContext.h
  • GLCallList() : GLContext.h
  • GLCallLists() : GLContext.h
  • GLCheckFramebufferStatus() : GLContext.h
  • GLClampColor() : GLContext.h
  • GLClear() : GLContext.h
  • GLClearAccum() : GLContext.h
  • GLClearColor() : GLContext.h
  • GLClearColorIi() : GLContext.h
  • GLClearColorIui() : GLContext.h
  • GLClearDepth() : GLContext.h
  • GLClearDepthd() : GLContext.h
  • GLClearIndex() : GLContext.h
  • GLClearStencil() : GLContext.h
  • GLClientActiveTexture() : GLContext.h
  • GLClipPlane() : GLContext.h
  • GLColor3b() : GLContext.h
  • GLColor3bv() : GLContext.h
  • GLColor3d() : GLContext.h
  • GLColor3dv() : GLContext.h
  • GLColor3f() : GLContext.h
  • GLColor3fv() : GLContext.h
  • GLColor3h() : GLContext.h
  • GLColor3hv() : GLContext.h
  • GLColor3i() : GLContext.h
  • GLColor3iv() : GLContext.h
  • GLColor3s() : GLContext.h
  • GLColor3sv() : GLContext.h
  • GLColor3ub() : GLContext.h
  • GLColor3ubv() : GLContext.h
  • GLColor3ui() : GLContext.h
  • GLColor3uiv() : GLContext.h
  • GLColor3us() : GLContext.h
  • GLColor3usv() : GLContext.h
  • GLColor4b() : GLContext.h
  • GLColor4bv() : GLContext.h
  • GLColor4d() : GLContext.h
  • GLColor4dv() : GLContext.h
  • GLColor4f() : GLContext.h
  • GLColor4fv() : GLContext.h
  • GLColor4h() : GLContext.h
  • GLColor4hv() : GLContext.h
  • GLColor4i() : GLContext.h
  • GLColor4iv() : GLContext.h
  • GLColor4s() : GLContext.h
  • GLColor4sv() : GLContext.h
  • GLColor4ub() : GLContext.h
  • GLColor4ubv() : GLContext.h
  • GLColor4ui() : GLContext.h
  • GLColor4uiv() : GLContext.h
  • GLColor4us() : GLContext.h
  • GLColor4usv() : GLContext.h
  • GLColorMask() : GLContext.h
  • GLColorMaskIndexed() : GLContext.h
  • GLColorMaterial() : GLContext.h
  • GLColorPointer() : GLContext.h
  • GLColorSubTable() : GLContext.h
  • GLColorTable() : GLContext.h
  • GLColorTableParameterfv() : GLContext.h
  • GLColorTableParameteriv() : GLContext.h
  • GLCombinerInput() : GLContext.h
  • GLCombinerOutput() : GLContext.h
  • GLCombinerParameterf() : GLContext.h
  • GLCombinerParameterfv() : GLContext.h
  • GLCombinerParameteri() : GLContext.h
  • GLCombinerParameteriv() : GLContext.h
  • GLCombinerStageParameterfv() : GLContext.h
  • GLCompileShader() : GLContext.h
  • GLCompressedTexImage1D() : GLContext.h
  • GLCompressedTexImage2D() : GLContext.h
  • GLCompressedTexImage3D() : GLContext.h
  • GLCompressedTexSubImage1D() : GLContext.h
  • GLCompressedTexSubImage2D() : GLContext.h
  • GLCompressedTexSubImage3D() : GLContext.h
  • glContext() : GLContext.h
  • GLConvolutionFilter1D() : GLContext.h
  • GLConvolutionFilter2D() : GLContext.h
  • GLConvolutionParameterf() : GLContext.h
  • GLConvolutionParameterfv() : GLContext.h
  • GLConvolutionParameteri() : GLContext.h
  • GLConvolutionParameteriv() : GLContext.h
  • GLCopyBufferSubData() : GLContext.h
  • GLCopyColorSubTable() : GLContext.h
  • GLCopyColorTable() : GLContext.h
  • GLCopyConvolutionFilter1D() : GLContext.h
  • GLCopyConvolutionFilter2D() : GLContext.h
  • GLCopyPixels() : GLContext.h
  • GLCopyTexImage1D() : GLContext.h
  • GLCopyTexImage2D() : GLContext.h
  • GLCopyTexSubImage1D() : GLContext.h
  • GLCopyTexSubImage2D() : GLContext.h
  • GLCopyTexSubImage3D() : GLContext.h
  • GLCreateProgram() : GLContext.h
  • GLCreateProgramObject() : GLContext.h
  • GLCreateShader() : GLContext.h
  • GLCreateShaderObject() : GLContext.h
  • GLCullFace() : GLContext.h
  • GLCullFaceLock() : GLContext.h
  • GLCullFaceUnlock() : GLContext.h
  • GLDeleteBuffers() : GLContext.h
  • GLDeleteFences() : GLContext.h
  • GLDeleteFramebuffers() : GLContext.h
  • GLDeleteIndexBuffer() : GLContext.h
  • GLDeleteLists() : GLContext.h
  • GLDeleteObject() : GLContext.h
  • GLDeleteProgram() : GLContext.h
  • GLDeletePrograms() : GLContext.h
  • GLDeleteQueries() : GLContext.h
  • GLDeleteRenderbuffers() : GLContext.h
  • GLDeleteShader() : GLContext.h
  • GLDeleteTextures() : GLContext.h
  • GLDeleteVertexBuffer() : GLContext.h
  • GLDepthBounds() : GLContext.h
  • GLDepthBoundsd() : GLContext.h
  • GLDepthFunc() : GLContext.h
  • GLDepthMask() : GLContext.h
  • GLDepthRange() : GLContext.h
  • GLDepthRanged() : GLContext.h
  • GLDetachObject() : GLContext.h
  • GLDetachShader() : GLContext.h
  • GLDisable() : GLContext.h
  • GLDisableAlphaTest() : GLContext.h
  • GLDisableAutoNormal() : GLContext.h
  • GLDisableBlend() : GLContext.h
  • GLDisableClientState() : GLContext.h
  • GLDisableClipPlane() : GLContext.h
  • GLDisableColorArray() : GLContext.h
  • GLDisableColorLogicOp() : GLContext.h
  • GLDisableColorMaterial() : GLContext.h
  • GLDisableCullFace() : GLContext.h
  • GLDisableCullFaceLock() : GLContext.h
  • GLDisableCullFaceUnlock() : GLContext.h
  • GLDisableDepthTest() : GLContext.h
  • GLDisableDither() : GLContext.h
  • GLDisableExtensionAvailability() : GLContext.h
  • GLDisableFog() : GLContext.h
  • GLDisableFogCoordinateArray() : GLContext.h
  • GLDisableIndexed() : GLContext.h
  • GLDisableLight() : GLContext.h
  • GLDisableLighting() : GLContext.h
  • GLDisableLightingLock() : GLContext.h
  • GLDisableLightingUnlock() : GLContext.h
  • GLDisableLineSmooth() : GLContext.h
  • GLDisableLineStipple() : GLContext.h
  • GLDisableLogicOp() : GLContext.h
  • GLDisableNormalArray() : GLContext.h
  • GLDisableNormalize() : GLContext.h
  • GLDisablePointSmooth() : GLContext.h
  • GLDisablePolygonOffsetFill() : GLContext.h
  • GLDisablePolygonOffsetLine() : GLContext.h
  • GLDisablePolygonOffsetPoint() : GLContext.h
  • GLDisablePolygonSmooth() : GLContext.h
  • GLDisablePolygonStipple() : GLContext.h
  • GLDisablePrimitiveRestart() : GLContext.h
  • GLDisableRescaleNormal() : GLContext.h
  • GLDisableScissorTest() : GLContext.h
  • GLDisableSecondaryColorArray() : GLContext.h
  • GLDisableStencilTest() : GLContext.h
  • GLDisableTexture() : GLContext.h
  • GLDisableTextureCoordArray() : GLContext.h
  • GLDisableTextureGen() : GLContext.h
  • GLDisableVertexArray() : GLContext.h
  • GLDisableVertexAttribArray() : GLContext.h
  • GLDrawArrays() : GLContext.h
  • GLDrawArraysInstanced() : GLContext.h
  • GLDrawBuffer() : GLContext.h
  • GLDrawBuffers() : GLContext.h
  • GLDrawElements() : GLContext.h
  • GLDrawElementsInstanced() : GLContext.h
  • GLDrawPixels() : GLContext.h
  • GLDrawRangeElements() : GLContext.h
  • GLEdgeFlag() : GLContext.h
  • GLEdgeFlagPointer() : GLContext.h
  • GLEdgeFlagv() : GLContext.h
  • GLEnable() : GLContext.h
  • GLEnableAlphaTest() : GLContext.h
  • GLEnableAutoNormal() : GLContext.h
  • GLEnableBlend() : GLContext.h
  • GLEnableClientState() : GLContext.h
  • GLEnableClipPlane() : GLContext.h
  • GLEnableColorArray() : GLContext.h
  • GLEnableColorLogicOp() : GLContext.h
  • GLEnableColorMaterial() : GLContext.h
  • GLEnableCullFace() : GLContext.h
  • GLEnableCullFaceLock() : GLContext.h
  • GLEnableCullFaceUnlock() : GLContext.h
  • GLEnableDepthTest() : GLContext.h
  • GLEnableDither() : GLContext.h
  • GLEnableFog() : GLContext.h
  • GLEnableFogCoordinateArray() : GLContext.h
  • GLEnableIndexed() : GLContext.h
  • GLEnableLight() : GLContext.h
  • GLEnableLighting() : GLContext.h
  • GLEnableLineSmooth() : GLContext.h
  • GLEnableLineStipple() : GLContext.h
  • GLEnableLogicOp() : GLContext.h
  • GLEnableNormalArray() : GLContext.h
  • GLEnableNormalize() : GLContext.h
  • GLEnablePointSmooth() : GLContext.h
  • GLEnablePolygonOffsetFill() : GLContext.h
  • GLEnablePolygonOffsetLine() : GLContext.h
  • GLEnablePolygonOffsetPoint() : GLContext.h
  • GLEnablePolygonSmooth() : GLContext.h
  • GLEnablePolygonStipple() : GLContext.h
  • GLEnablePrimitiveRestart() : GLContext.h
  • GLEnableRescaleNormal() : GLContext.h
  • GLEnableScissorTest() : GLContext.h
  • GLEnableSecondaryColorArray() : GLContext.h
  • GLEnableStencilTest() : GLContext.h
  • GLEnableTexture() : GLContext.h
  • GLEnableTextureCoordArray() : GLContext.h
  • GLEnableTextureGen() : GLContext.h
  • GLEnableVertexArray() : GLContext.h
  • GLEnableVertexAttribArray() : GLContext.h
  • GLEnd() : GLContext.h
  • GLEndConditionalRenderNV() : GLContext.h
  • GLEndList() : GLContext.h
  • GLEndQuery() : GLContext.h
  • GLEndTransformFeedback() : GLContext.h
  • GLEndTransformFeedbackNV() : GLContext.h
  • GLEvalCoord1d() : GLContext.h
  • GLEvalCoord1f() : GLContext.h
  • GLEvalCoord2d() : GLContext.h
  • GLEvalCoord2f() : GLContext.h
  • GLEvalMesh1() : GLContext.h
  • GLEvalMesh2() : GLContext.h
  • GLEvalPoint1() : GLContext.h
  • GLEvalPoint2() : GLContext.h
  • GLExecuteProgram() : GLContext.h
  • GLFeedbackBuffer() : GLContext.h
  • GLFinalCombinerInput() : GLContext.h
  • GLFinish() : GLContext.h
  • GLFinishFence() : GLContext.h
  • GLFlush() : GLContext.h
  • GLFlushMappedBufferRange() : GLContext.h
  • GLFlushPixelDataRange() : GLContext.h
  • GLFlushVertexArrayRange() : GLContext.h
  • GLFogColor() : GLContext.h
  • GLFogCoordd() : GLContext.h
  • GLFogCoorddv() : GLContext.h
  • GLFogCoordf() : GLContext.h
  • GLFogCoordfv() : GLContext.h
  • GLFogCoordh() : GLContext.h
  • GLFogCoordhv() : GLContext.h
  • GLFogCoordPointer() : GLContext.h
  • GLFogDensity() : GLContext.h
  • GLFogEnd() : GLContext.h
  • GLFogf() : GLContext.h
  • GLFogfv() : GLContext.h
  • GLFogi() : GLContext.h
  • GLFogiv() : GLContext.h
  • GLFogMode() : GLContext.h
  • GLFogStart() : GLContext.h
  • GLFramebufferRenderbuffer() : GLContext.h
  • GLFramebufferTexture() : GLContext.h
  • GLFramebufferTexture1D() : GLContext.h
  • GLFramebufferTexture2D() : GLContext.h
  • GLFramebufferTexture3D() : GLContext.h
  • GLFramebufferTextureFace() : GLContext.h
  • GLFramebufferTextureLayer() : GLContext.h
  • GLFrameTerminator() : GLContext.h
  • GLFrontFace() : GLContext.h
  • GLFrustum() : GLContext.h
  • GLGenBuffers() : GLContext.h
  • GLGenerateMipmap() : GLContext.h
  • GLGenFences() : GLContext.h
  • GLGenFramebuffers() : GLContext.h
  • GLGenIndexBuffer() : GLContext.h
  • GLGenLists() : GLContext.h
  • GLGenPrograms() : GLContext.h
  • GLGenQueries() : GLContext.h
  • GLGenRenderbuffers() : GLContext.h
  • GLGenTextures() : GLContext.h
  • GLGenVertexBuffer() : GLContext.h
  • GLGetActiveAttrib() : GLContext.h
  • GLGetActiveUniform() : GLContext.h
  • GLGetActiveVaryingNV() : GLContext.h
  • GLGetAttachedObjects() : GLContext.h
  • GLGetAttachedShaders() : GLContext.h
  • GLGetAttribLocation() : GLContext.h
  • GLGetBooleanIndexedv() : GLContext.h
  • GLGetBooleanv() : GLContext.h
  • GLGetBufferAddress() : GLContext.h
  • GLGetBufferParameteriv() : GLContext.h
  • GLGetBufferPointerv() : GLContext.h
  • GLGetBufferSize() : GLContext.h
  • GLGetBufferSubData() : GLContext.h
  • GLGetClipPlane() : GLContext.h
  • GLGetColorTable() : GLContext.h
  • GLGetColorTableParameterfv() : GLContext.h
  • GLGetColorTableParameteriv() : GLContext.h
  • GLGetCombinerInputParameterfv() : GLContext.h
  • GLGetCombinerInputParameteriv() : GLContext.h
  • GLGetCombinerOutputParameterfv() : GLContext.h
  • GLGetCombinerOutputParameteriv() : GLContext.h
  • GLGetCombinerStageParameterfv() : GLContext.h
  • GLGetCompressedTexImage() : GLContext.h
  • GLGetConvolutionFilter() : GLContext.h
  • GLGetConvolutionParameterfv() : GLContext.h
  • GLGetConvolutionParameteriv() : GLContext.h
  • GLGetDoublev() : GLContext.h
  • GLGetFenceiv() : GLContext.h
  • GLGetFinalCombinerInputParameterfv() : GLContext.h
  • GLGetFinalCombinerInputParameteriv() : GLContext.h
  • GLGetFloatv() : GLContext.h
  • GLGetFragDataLocation() : GLContext.h
  • GLGetFramebufferAttachmentParameteriv() : GLContext.h
  • GLGetHandle() : GLContext.h
  • GLGetHistogram() : GLContext.h
  • GLGetHistogramParameterfv() : GLContext.h
  • GLGetHistogramParameteriv() : GLContext.h
  • GLGetIndexBufferOffset() : GLContext.h
  • GLGetInfoLog() : GLContext.h
  • GLGetIntegerIndexedv() : GLContext.h
  • GLGetIntegerv() : GLContext.h
  • GLGetLightfv() : GLContext.h
  • GLGetLightiv() : GLContext.h
  • GLGetMapdv() : GLContext.h
  • GLGetMapfv() : GLContext.h
  • GLGetMapiv() : GLContext.h
  • GLGetMaterialfv() : GLContext.h
  • GLGetMaterialiv() : GLContext.h
  • GLGetMaxTexCoords() : GLContext.h
  • GLGetMaxTexImageUnits() : GLContext.h
  • GLGetMaxTexUnits() : GLContext.h
  • GLGetMinmax() : GLContext.h
  • GLGetMinmaxParameterfv() : GLContext.h
  • GLGetMinmaxParameteriv() : GLContext.h
  • GLGetMultisamplefv() : GLContext.h
  • GLGetObjectParameterfv() : GLContext.h
  • GLGetObjectParameteriv() : GLContext.h
  • GLGetPixelMapfv() : GLContext.h
  • GLGetPixelMapuiv() : GLContext.h
  • GLGetPixelMapusv() : GLContext.h
  • GLGetPointerv() : GLContext.h
  • GLGetPolygonStipple() : GLContext.h
  • GLGetProgramEnvParameterdv() : GLContext.h
  • GLGetProgramEnvParameterfv() : GLContext.h
  • GLGetProgramEnvParameterIiv() : GLContext.h
  • GLGetProgramEnvParameterIuiv() : GLContext.h
  • GLGetProgramInfoLog() : GLContext.h
  • GLGetProgramiv() : GLContext.h
  • GLGetProgramLocalParameterdv() : GLContext.h
  • GLGetProgramLocalParameterfv() : GLContext.h
  • GLGetProgramLocalParameterIiv() : GLContext.h
  • GLGetProgramLocalParameterIuiv() : GLContext.h
  • GLGetProgramNamedParameterdv() : GLContext.h
  • GLGetProgramNamedParameterfv() : GLContext.h
  • GLGetProgramParameterdv() : GLContext.h
  • GLGetProgramParameterfv() : GLContext.h
  • GLGetProgramString() : GLContext.h
  • GLGetQueryiv() : GLContext.h
  • GLGetQueryObjecti64v() : GLContext.h
  • GLGetQueryObjectiv() : GLContext.h
  • GLGetQueryObjectui64v() : GLContext.h
  • GLGetQueryObjectuiv() : GLContext.h
  • GLGetRenderbufferParameteriv() : GLContext.h
  • GLGetSeparableFilter() : GLContext.h
  • GLGetShaderInfoLog() : GLContext.h
  • GLGetShaderiv() : GLContext.h
  • GLGetShaderSource() : GLContext.h
  • GLGetString() : GLContext.h
  • GLGetTexEnvfv() : GLContext.h
  • GLGetTexEnviv() : GLContext.h
  • GLGetTexGendv() : GLContext.h
  • GLGetTexGenfv() : GLContext.h
  • GLGetTexGeniv() : GLContext.h
  • GLGetTexImage() : GLContext.h
  • GLGetTexLevelParameterfv() : GLContext.h
  • GLGetTexLevelParameteriv() : GLContext.h
  • GLGetTexParameterfv() : GLContext.h
  • GLGetTexParameterIiv() : GLContext.h
  • GLGetTexParameterIuiv() : GLContext.h
  • GLGetTexParameteriv() : GLContext.h
  • GLGetTexWrapMode() : GLContext.h
  • GLGetTrackMatrixiv() : GLContext.h
  • GLGetTransformFeedbackVarying() : GLContext.h
  • GLGetTransformFeedbackVaryingNV() : GLContext.h
  • GLGetUniformBufferSize() : GLContext.h
  • GLGetUniformfv() : GLContext.h
  • GLGetUniformiv() : GLContext.h
  • GLGetUniformLocation() : GLContext.h
  • GLGetUniformOffset() : GLContext.h
  • GLGetUniformuiv() : GLContext.h
  • GLGetVaryingLocationNV() : GLContext.h
  • GLGetVersion() : GLContext.h
  • GLGetVertexAttribdv() : GLContext.h
  • GLGetVertexAttribfv() : GLContext.h
  • GLGetVertexAttribIiv() : GLContext.h
  • GLGetVertexAttribIuiv() : GLContext.h
  • GLGetVertexAttribiv() : GLContext.h
  • GLGetVertexAttribPointerv() : GLContext.h
  • GLGetVertexBufferOffset() : GLContext.h
  • GLHint() : GLContext.h
  • GLHistogram() : GLContext.h
  • GLIndexd() : GLContext.h
  • GLIndexf() : GLContext.h
  • GLIndexi() : GLContext.h
  • GLIndexMask() : GLContext.h
  • GLIndexPointer() : GLContext.h
  • GLIndexs() : GLContext.h
  • GLIndexub() : GLContext.h
  • GLInitNames() : GLContext.h
  • GLInterleavedArrays() : GLContext.h
  • GLintToGLfloat() : GLContext.h
  • GLIsBuffer() : GLContext.h
  • GLIsEnabled() : GLContext.h
  • GLIsEnabledAlphaTest() : GLContext.h
  • GLIsEnabledAutoNormal() : GLContext.h
  • GLIsEnabledBlend() : GLContext.h
  • GLIsEnabledClipPlane() : GLContext.h
  • GLIsEnabledColorLogicOp() : GLContext.h
  • GLIsEnabledColorMaterial() : GLContext.h
  • GLIsEnabledCullFace() : GLContext.h
  • GLIsEnabledDepthTest() : GLContext.h
  • GLIsEnabledDither() : GLContext.h
  • GLIsEnabledFog() : GLContext.h
  • GLIsEnabledIndexed() : GLContext.h
  • GLIsEnabledLight() : GLContext.h
  • GLIsEnabledLighting() : GLContext.h
  • GLIsEnabledLineSmooth() : GLContext.h
  • GLIsEnabledLineStipple() : GLContext.h
  • GLIsEnabledLogicOp() : GLContext.h
  • GLIsEnabledNormalize() : GLContext.h
  • GLIsEnabledPointSmooth() : GLContext.h
  • GLIsEnabledPolygonOffsetFill() : GLContext.h
  • GLIsEnabledPolygonOffsetLine() : GLContext.h
  • GLIsEnabledPolygonOffsetPoint() : GLContext.h
  • GLIsEnabledPolygonSmooth() : GLContext.h
  • GLIsEnabledPolygonStipple() : GLContext.h
  • GLIsEnabledRescaleNormal() : GLContext.h
  • GLIsEnabledScissorTest() : GLContext.h
  • GLIsEnabledStencilTest() : GLContext.h
  • GLIsEnabledTexture() : GLContext.h
  • GLIsEnabledTextureGen() : GLContext.h
  • GLIsExtensionAvailable() : GLContext.h
  • GLIsExtensionExported() : GLContext.h
  • GLIsFence() : GLContext.h
  • GLIsFramebuffer() : GLContext.h
  • GLIsIndexBuffer() : GLContext.h
  • GLIsList() : GLContext.h
  • GLIsProgram() : GLContext.h
  • GLIsQuery() : GLContext.h
  • GLIsRenderbuffer() : GLContext.h
  • GLIsShader() : GLContext.h
  • GLIsTexture() : GLContext.h
  • GLIsVertexBuffer() : GLContext.h
  • GLLightAmbient() : GLContext.h
  • GLLightConstantAttenuation() : GLContext.h
  • GLLightDiffuse() : GLContext.h
  • GLLightf() : GLContext.h
  • GLLightfv() : GLContext.h
  • GLLighti() : GLContext.h
  • GLLightiv() : GLContext.h
  • GLLightLinearAttenuation() : GLContext.h
  • GLLightModelAmbient() : GLContext.h
  • GLLightModelf() : GLContext.h
  • GLLightModelfv() : GLContext.h
  • GLLightModeli() : GLContext.h
  • GLLightModeliv() : GLContext.h
  • GLLightModelLocalViewer() : GLContext.h
  • GLLightModelTwoSide() : GLContext.h
  • GLLightModelTwoSideLock() : GLContext.h
  • GLLightModelTwoSideUnlock() : GLContext.h
  • GLLightPosition() : GLContext.h
  • GLLightQuadraticAttenuation() : GLContext.h
  • GLLightSpecular() : GLContext.h
  • GLLightSpotCutoff() : GLContext.h
  • GLLightSpotDirection() : GLContext.h
  • GLLightSpotExponent() : GLContext.h
  • GLLineStipple() : GLContext.h
  • GLLineWidth() : GLContext.h
  • GLLinkProgram() : GLContext.h
  • GLListBase() : GLContext.h
  • GLLoadIdentity() : GLContext.h
  • GLLoadMatrixd() : GLContext.h
  • GLLoadMatrixf() : GLContext.h
  • GLLoadName() : GLContext.h
  • GLLoadProgram() : GLContext.h
  • GLLoadTransposedMatrixd() : GLContext.h
  • GLLoadTransposeMatrixf() : GLContext.h
  • GLLockArrays() : GLContext.h
  • GLLogicOp() : GLContext.h
  • GLMap1d() : GLContext.h
  • GLMap1f() : GLContext.h
  • GLMap2d() : GLContext.h
  • GLMap2f() : GLContext.h
  • GLMapBuffer() : GLContext.h
  • GLMapBufferRange() : GLContext.h
  • GLMapGrid1d() : GLContext.h
  • GLMapGrid1f() : GLContext.h
  • GLMapGrid2d() : GLContext.h
  • GLMapGrid2f() : GLContext.h
  • GLMapIndexBuffer() : GLContext.h
  • GLMapVertexBuffer() : GLContext.h
  • GLMaterialAmbient() : GLContext.h
  • GLMaterialAmbientBack() : GLContext.h
  • GLMaterialAmbientFront() : GLContext.h
  • GLMaterialAmbientFrontAndBack() : GLContext.h
  • GLMaterialDiffuse() : GLContext.h
  • GLMaterialDiffuseBack() : GLContext.h
  • GLMaterialDiffuseFront() : GLContext.h
  • GLMaterialDiffuseFrontAndBack() : GLContext.h
  • GLMaterialEmission() : GLContext.h
  • GLMaterialEmissionBack() : GLContext.h
  • GLMaterialEmissionFront() : GLContext.h
  • GLMaterialEmissionFrontAndBack() : GLContext.h
  • GLMaterialf() : GLContext.h
  • GLMaterialfv() : GLContext.h
  • GLMateriali() : GLContext.h
  • GLMaterialiv() : GLContext.h
  • GLMaterialShininess() : GLContext.h
  • GLMaterialShininessBack() : GLContext.h
  • GLMaterialShininessFront() : GLContext.h
  • GLMaterialShininessFrontAndBack() : GLContext.h
  • GLMaterialSpecular() : GLContext.h
  • GLMaterialSpecularBack() : GLContext.h
  • GLMaterialSpecularFront() : GLContext.h
  • GLMaterialSpecularFrontAndBack() : GLContext.h
  • GLMatrixMode() : GLContext.h
  • GLMinmax() : GLContext.h
  • GLMultiDrawArrays() : GLContext.h
  • GLMultiDrawElements() : GLContext.h
  • GLMultiTexCoord1d() : GLContext.h
  • GLMultiTexCoord1dv() : GLContext.h
  • GLMultiTexCoord1f() : GLContext.h
  • GLMultiTexCoord1fv() : GLContext.h
  • GLMultiTexCoord1h() : GLContext.h
  • GLMultiTexCoord1hv() : GLContext.h
  • GLMultiTexCoord1i() : GLContext.h
  • GLMultiTexCoord1iv() : GLContext.h
  • GLMultiTexCoord1s() : GLContext.h
  • GLMultiTexCoord1sv() : GLContext.h
  • GLMultiTexCoord2d() : GLContext.h
  • GLMultiTexCoord2dv() : GLContext.h
  • GLMultiTexCoord2f() : GLContext.h
  • GLMultiTexCoord2fv() : GLContext.h
  • GLMultiTexCoord2h() : GLContext.h
  • GLMultiTexCoord2hv() : GLContext.h
  • GLMultiTexCoord2i() : GLContext.h
  • GLMultiTexCoord2iv() : GLContext.h
  • GLMultiTexCoord2s() : GLContext.h
  • GLMultiTexCoord2sv() : GLContext.h
  • GLMultiTexCoord3d() : GLContext.h
  • GLMultiTexCoord3dv() : GLContext.h
  • GLMultiTexCoord3f() : GLContext.h
  • GLMultiTexCoord3fv() : GLContext.h
  • GLMultiTexCoord3h() : GLContext.h
  • GLMultiTexCoord3hv() : GLContext.h
  • GLMultiTexCoord3i() : GLContext.h
  • GLMultiTexCoord3iv() : GLContext.h
  • GLMultiTexCoord3s() : GLContext.h
  • GLMultiTexCoord3sv() : GLContext.h
  • GLMultiTexCoord4d() : GLContext.h
  • GLMultiTexCoord4dv() : GLContext.h
  • GLMultiTexCoord4f() : GLContext.h
  • GLMultiTexCoord4fv() : GLContext.h
  • GLMultiTexCoord4h() : GLContext.h
  • GLMultiTexCoord4hv() : GLContext.h
  • GLMultiTexCoord4i() : GLContext.h
  • GLMultiTexCoord4iv() : GLContext.h
  • GLMultiTexCoord4s() : GLContext.h
  • GLMultiTexCoord4sv() : GLContext.h
  • GLMultMatrixd() : GLContext.h
  • GLMultMatrixf() : GLContext.h
  • GLMultTransposeMatrixd() : GLContext.h
  • GLMultTransposeMatrixf() : GLContext.h
  • GLNewList() : GLContext.h
  • GLNormal3b() : GLContext.h
  • GLNormal3bv() : GLContext.h
  • GLNormal3d() : GLContext.h
  • GLNormal3dv() : GLContext.h
  • GLNormal3f() : GLContext.h
  • GLNormal3fv() : GLContext.h
  • GLNormal3h() : GLContext.h
  • GLNormal3hv() : GLContext.h
  • GLNormal3i() : GLContext.h
  • GLNormal3iv() : GLContext.h
  • GLNormal3s() : GLContext.h
  • GLNormal3sv() : GLContext.h
  • GLNormalPointer() : GLContext.h
  • GLOrtho() : GLContext.h
  • GLPassThrough() : GLContext.h
  • GLPatchParameterfv() : GLContext.h
  • GLPatchParameteri() : GLContext.h
  • GLPixelDataRange() : GLContext.h
  • GLPixelMapfv() : GLContext.h
  • GLPixelMapuiv() : GLContext.h
  • GLPixelMapusv() : GLContext.h
  • GLPixelStoref() : GLContext.h
  • GLPixelStorei() : GLContext.h
  • GLPixelTransferf() : GLContext.h
  • GLPixelTransferi() : GLContext.h
  • GLPixelZoom() : GLContext.h
  • GLPointParameterf() : GLContext.h
  • GLPointParameterfv() : GLContext.h
  • GLPointParameteri() : GLContext.h
  • GLPointParameteriv() : GLContext.h
  • GLPointSize() : GLContext.h
  • GLPolygonMode() : GLContext.h
  • GLPolygonModeBack() : GLContext.h
  • GLPolygonModeFront() : GLContext.h
  • GLPolygonModeFrontAndBack() : GLContext.h
  • GLPolygonModeLock() : GLContext.h
  • GLPolygonModeUnlock() : GLContext.h
  • GLPolygonOffset() : GLContext.h
  • GLPolygonStipple() : GLContext.h
  • GLPopAttrib() : GLContext.h
  • GLPopClientAttrib() : GLContext.h
  • GLPopMatrix() : GLContext.h
  • GLPopName() : GLContext.h
  • GLPrimitiveRestart() : GLContext.h
  • GLPrimitiveRestartIndex() : GLContext.h
  • GLPrioritizeTextures() : GLContext.h
  • GLProgramBufferParametersfv() : GLContext.h
  • GLProgramBufferParametersIiv() : GLContext.h
  • GLProgramBufferParametersIuiv() : GLContext.h
  • GLProgramEnvParameter4d() : GLContext.h
  • GLProgramEnvParameter4dv() : GLContext.h
  • GLProgramEnvParameter4f() : GLContext.h
  • GLProgramEnvParameter4fv() : GLContext.h
  • GLProgramEnvParameterI4i() : GLContext.h
  • GLProgramEnvParameterI4iv() : GLContext.h
  • GLProgramEnvParameterI4ui() : GLContext.h
  • GLProgramEnvParameterI4uiv() : GLContext.h
  • GLProgramEnvParameters4fv() : GLContext.h
  • GLProgramEnvParametersI4iv() : GLContext.h
  • GLProgramEnvParametersI4uiv() : GLContext.h
  • GLProgramLocalParameter4d() : GLContext.h
  • GLProgramLocalParameter4dv() : GLContext.h
  • GLProgramLocalParameter4f() : GLContext.h
  • GLProgramLocalParameter4fv() : GLContext.h
  • GLProgramLocalParameterI4i() : GLContext.h
  • GLProgramLocalParameterI4iv() : GLContext.h
  • GLProgramLocalParameterI4ui() : GLContext.h
  • GLProgramLocalParameterI4uiv() : GLContext.h
  • GLProgramLocalParameters4fv() : GLContext.h
  • GLProgramLocalParametersI4iv() : GLContext.h
  • GLProgramLocalParametersI4uiv() : GLContext.h
  • GLProgramNamedParameter4d() : GLContext.h
  • GLProgramNamedParameter4dv() : GLContext.h
  • GLProgramNamedParameter4f() : GLContext.h
  • GLProgramNamedParameter4fv() : GLContext.h
  • GLProgramParameter4d() : GLContext.h
  • GLProgramParameter4dv() : GLContext.h
  • GLProgramParameter4f() : GLContext.h
  • GLProgramParameter4fv() : GLContext.h
  • GLProgramParameteri() : GLContext.h
  • GLProgramParameters4dv() : GLContext.h
  • GLProgramParameters4fv() : GLContext.h
  • GLProgramString() : GLContext.h
  • GLProgramVertexLimit() : GLContext.h
  • GLPushAttrib() : GLContext.h
  • GLPushClientAttrib() : GLContext.h
  • GLPushMatrix() : GLContext.h
  • GLPushName() : GLContext.h
  • GLRasterPos2d() : GLContext.h
  • GLRasterPos2dv() : GLContext.h
  • GLRasterPos2f() : GLContext.h
  • GLRasterPos2fv() : GLContext.h
  • GLRasterPos2i() : GLContext.h
  • GLRasterPos2iv() : GLContext.h
  • GLRasterPos2s() : GLContext.h
  • GLRasterPos2sv() : GLContext.h
  • GLRasterPos3d() : GLContext.h
  • GLRasterPos3dv() : GLContext.h
  • GLRasterPos3f() : GLContext.h
  • GLRasterPos3fv() : GLContext.h
  • GLRasterPos3i() : GLContext.h
  • GLRasterPos3iv() : GLContext.h
  • GLRasterPos3s() : GLContext.h
  • GLRasterPos3sv() : GLContext.h
  • GLRasterPos4d() : GLContext.h
  • GLRasterPos4dv() : GLContext.h
  • GLRasterPos4f() : GLContext.h
  • GLRasterPos4fv() : GLContext.h
  • GLRasterPos4i() : GLContext.h
  • GLRasterPos4iv() : GLContext.h
  • GLRasterPos4s() : GLContext.h
  • GLRasterPos4sv() : GLContext.h
  • GLReadBuffer() : GLContext.h
  • GLReadPixels() : GLContext.h
  • GLRectd() : GLContext.h
  • GLRectf() : GLContext.h
  • GLRecti() : GLContext.h
  • GLRects() : GLContext.h
  • GLRenderbufferStorage() : GLContext.h
  • GLRenderbufferStorageMultisample() : GLContext.h
  • GLRenderbufferStorageMultisampleCoverage() : GLContext.h
  • GLRenderMode() : GLContext.h
  • GLRequestResidentPrograms() : GLContext.h
  • GLResetAlphaFunc() : GLContext.h
  • GLResetAlphaTest() : GLContext.h
  • GLResetAutoNormal() : GLContext.h
  • GLResetBlend() : GLContext.h
  • GLResetBlendFunc() : GLContext.h
  • GLResetBlendFuncSeparate() : GLContext.h
  • GLResetClearColor() : GLContext.h
  • GLResetClearDepth() : GLContext.h
  • GLResetClearStencil() : GLContext.h
  • GLResetClipPlane() : GLContext.h
  • GLResetClipPlaneEquation() : GLContext.h
  • GLResetColorLogicOp() : GLContext.h
  • GLResetColorMask() : GLContext.h
  • GLResetColorMaterial() : GLContext.h
  • GLResetColorMaterialMode() : GLContext.h
  • GLResetCullFace() : GLContext.h
  • GLResetCullFaceMode() : GLContext.h
  • GLResetDepthFunc() : GLContext.h
  • GLResetDepthMask() : GLContext.h
  • GLResetDepthRange() : GLContext.h
  • GLResetDepthTest() : GLContext.h
  • GLResetDither() : GLContext.h
  • GLResetFog() : GLContext.h
  • GLResetFogColor() : GLContext.h
  • GLResetFogDensity() : GLContext.h
  • GLResetFogEnd() : GLContext.h
  • GLResetFogMode() : GLContext.h
  • GLResetFogStart() : GLContext.h
  • GLResetFrontFace() : GLContext.h
  • GLResetHistogram() : GLContext.h
  • GLResetLight() : GLContext.h
  • GLResetLightAmbient() : GLContext.h
  • GLResetLightConstantAttenuation() : GLContext.h
  • GLResetLightDiffuse() : GLContext.h
  • GLResetLighting() : GLContext.h
  • GLResetLightLinearAttenuation() : GLContext.h
  • GLResetLightModelAmbient() : GLContext.h
  • GLResetLightModelLocalViewer() : GLContext.h
  • GLResetLightModelTwoSide() : GLContext.h
  • GLResetLightPosition() : GLContext.h
  • GLResetLightQuadraticAttenuation() : GLContext.h
  • GLResetLightSpecular() : GLContext.h
  • GLResetLightSpotCutoff() : GLContext.h
  • GLResetLightSpotDirection() : GLContext.h
  • GLResetLightSpotExponent() : GLContext.h
  • GLResetLineSmooth() : GLContext.h
  • GLResetLineStipple() : GLContext.h
  • GLResetLineStippleDefinition() : GLContext.h
  • GLResetLineWidth() : GLContext.h
  • GLResetLogicOp() : GLContext.h
  • GLResetMaterialAmbientBack() : GLContext.h
  • GLResetMaterialAmbientFront() : GLContext.h
  • GLResetMaterialAmbientFrontAndBack() : GLContext.h
  • GLResetMaterialDiffuseBack() : GLContext.h
  • GLResetMaterialDiffuseFront() : GLContext.h
  • GLResetMaterialDiffuseFrontAndBack() : GLContext.h
  • GLResetMaterialEmissionBack() : GLContext.h
  • GLResetMaterialEmissionFront() : GLContext.h
  • GLResetMaterialEmissionFrontAndBack() : GLContext.h
  • GLResetMaterialShininessBack() : GLContext.h
  • GLResetMaterialShininessFront() : GLContext.h
  • GLResetMaterialShininessFrontAndBack() : GLContext.h
  • GLResetMaterialSpecularBack() : GLContext.h
  • GLResetMaterialSpecularFront() : GLContext.h
  • GLResetMaterialSpecularFrontAndBack() : GLContext.h
  • GLResetMinmax() : GLContext.h
  • GLResetNormalize() : GLContext.h
  • GLResetPointSize() : GLContext.h
  • GLResetPointSmooth() : GLContext.h
  • GLResetPolygonModeBack() : GLContext.h
  • GLResetPolygonModeFront() : GLContext.h
  • GLResetPolygonModeFrontAndBack() : GLContext.h
  • GLResetPolygonOffset() : GLContext.h
  • GLResetPolygonOffsetFill() : GLContext.h
  • GLResetPolygonOffsetLine() : GLContext.h
  • GLResetPolygonOffsetPoint() : GLContext.h
  • GLResetPolygonSmooth() : GLContext.h
  • GLResetPolygonStipple() : GLContext.h
  • GLResetRescaleNormal() : GLContext.h
  • GLResetScissor() : GLContext.h
  • GLResetScissorTest() : GLContext.h
  • GLResetShadeModel() : GLContext.h
  • GLResetStencilFunc() : GLContext.h
  • GLResetStencilMask() : GLContext.h
  • GLResetStencilOp() : GLContext.h
  • GLResetStencilTest() : GLContext.h
  • GLResetTexture() : GLContext.h
  • GLRotated() : GLContext.h
  • GLRotatef() : GLContext.h
  • GLSampleCoverage() : GLContext.h
  • GLSampleMaski() : GLContext.h
  • GLScaled() : GLContext.h
  • GLScalef() : GLContext.h
  • GLScissor() : GLContext.h
  • GLSecondaryColor3b() : GLContext.h
  • GLSecondaryColor3bv() : GLContext.h
  • GLSecondaryColor3d() : GLContext.h
  • GLSecondaryColor3dv() : GLContext.h
  • GLSecondaryColor3f() : GLContext.h
  • GLSecondaryColor3fv() : GLContext.h
  • GLSecondaryColor3h() : GLContext.h
  • GLSecondaryColor3hv() : GLContext.h
  • GLSecondaryColor3i() : GLContext.h
  • GLSecondaryColor3iv() : GLContext.h
  • GLSecondaryColor3s() : GLContext.h
  • GLSecondaryColor3sv() : GLContext.h
  • GLSecondaryColor3ub() : GLContext.h
  • GLSecondaryColor3ubv() : GLContext.h
  • GLSecondaryColor3ui() : GLContext.h
  • GLSecondaryColor3uiv() : GLContext.h
  • GLSecondaryColor3us() : GLContext.h
  • GLSecondaryColor3usv() : GLContext.h
  • GLSecondaryColorPointer() : GLContext.h
  • GLSelectBuffer() : GLContext.h
  • GLSelectTexture() : GLContext.h
  • GLSelectTextureCoordSet() : GLContext.h
  • GLSeparableFilter2D() : GLContext.h
  • GLSetFence() : GLContext.h
  • GLShadeModel() : GLContext.h
  • GLShaderSource() : GLContext.h
  • GLStencilClearTag() : GLContext.h
  • GLStencilFunc() : GLContext.h
  • GLStencilFuncSeparate() : GLContext.h
  • GLStencilMask() : GLContext.h
  • GLStencilMaskSeparate() : GLContext.h
  • GLStencilOp() : GLContext.h
  • GLStencilOpSeparate() : GLContext.h
  • GLStringMarker() : GLContext.h
  • GLTestFence() : GLContext.h
  • GLTexBuffer() : GLContext.h
  • GLTexCoord1d() : GLContext.h
  • GLTexCoord1dv() : GLContext.h
  • GLTexCoord1f() : GLContext.h
  • GLTexCoord1fv() : GLContext.h
  • GLTexCoord1h() : GLContext.h
  • GLTexCoord1hv() : GLContext.h
  • GLTexCoord1i() : GLContext.h
  • GLTexCoord1iv() : GLContext.h
  • GLTexCoord1s() : GLContext.h
  • GLTexCoord1sv() : GLContext.h
  • GLTexCoord2d() : GLContext.h
  • GLTexCoord2dv() : GLContext.h
  • GLTexCoord2f() : GLContext.h
  • GLTexCoord2fv() : GLContext.h
  • GLTexCoord2h() : GLContext.h
  • GLTexCoord2hv() : GLContext.h
  • GLTexCoord2i() : GLContext.h
  • GLTexCoord2iv() : GLContext.h
  • GLTexCoord2s() : GLContext.h
  • GLTexCoord2sv() : GLContext.h
  • GLTexCoord3d() : GLContext.h
  • GLTexCoord3dv() : GLContext.h
  • GLTexCoord3f() : GLContext.h
  • GLTexCoord3fv() : GLContext.h
  • GLTexCoord3h() : GLContext.h
  • GLTexCoord3hv() : GLContext.h
  • GLTexCoord3i() : GLContext.h
  • GLTexCoord3iv() : GLContext.h
  • GLTexCoord3s() : GLContext.h
  • GLTexCoord3sv() : GLContext.h
  • GLTexCoord4d() : GLContext.h
  • GLTexCoord4dv() : GLContext.h
  • GLTexCoord4f() : GLContext.h
  • GLTexCoord4fv() : GLContext.h
  • GLTexCoord4h() : GLContext.h
  • GLTexCoord4hv() : GLContext.h
  • GLTexCoord4i() : GLContext.h
  • GLTexCoord4iv() : GLContext.h
  • GLTexCoord4s() : GLContext.h
  • GLTexCoord4sv() : GLContext.h
  • GLTexCoordPointer() : GLContext.h
  • GLTexEnvf() : GLContext.h
  • GLTexEnvfv() : GLContext.h
  • GLTexEnvi() : GLContext.h
  • GLTexEnviv() : GLContext.h
  • GLTexGend() : GLContext.h
  • GLTexGenf() : GLContext.h
  • GLTexGenfv() : GLContext.h
  • GLTexGeni() : GLContext.h
  • GLTexImage1D() : GLContext.h
  • GLTexImage2D() : GLContext.h
  • GLTexImage2DMultisample() : GLContext.h
  • GLTexImage3D() : GLContext.h
  • GLTexImage3DMultisample() : GLContext.h
  • GLTexParameterf() : GLContext.h
  • GLTexParameterfv() : GLContext.h
  • GLTexParameteri() : GLContext.h
  • GLTexParameterIiv() : GLContext.h
  • GLTexParameterIuiv() : GLContext.h
  • GLTexParameteriv() : GLContext.h
  • GLTexSubImage1D() : GLContext.h
  • GLTexSubImage2D() : GLContext.h
  • GLTexSubImage3D() : GLContext.h
  • GLTextureBorderColor() : GLContext.h
  • GLTextureEnvColor() : GLContext.h
  • GLTextureEnvMode() : GLContext.h
  • GLTextureMagFilter() : GLContext.h
  • GLTextureMinFilter() : GLContext.h
  • GLTextureWrapR() : GLContext.h
  • GLTextureWrapS() : GLContext.h
  • GLTextureWrapT() : GLContext.h
  • GLTrackMatrix() : GLContext.h
  • GLTransformFeedbackAttribsNV() : GLContext.h
  • GLTransformFeedbackVaryings() : GLContext.h
  • GLTransformFeedbackVaryingsNV() : GLContext.h
  • GLTranslated() : GLContext.h
  • GLTranslatef() : GLContext.h
  • GLUniform1f() : GLContext.h
  • GLUniform1fv() : GLContext.h
  • GLUniform1i() : GLContext.h
  • GLUniform1iv() : GLContext.h
  • GLUniform1ui() : GLContext.h
  • GLUniform1uiv() : GLContext.h
  • GLUniform2f() : GLContext.h
  • GLUniform2fv() : GLContext.h
  • GLUniform2i() : GLContext.h
  • GLUniform2iv() : GLContext.h
  • GLUniform2ui() : GLContext.h
  • GLUniform2uiv() : GLContext.h
  • GLUniform3f() : GLContext.h
  • GLUniform3fv() : GLContext.h
  • GLUniform3i() : GLContext.h
  • GLUniform3iv() : GLContext.h
  • GLUniform3ui() : GLContext.h
  • GLUniform3uiv() : GLContext.h
  • GLUniform4f() : GLContext.h
  • GLUniform4fv() : GLContext.h
  • GLUniform4i() : GLContext.h
  • GLUniform4iv() : GLContext.h
  • GLUniform4ui() : GLContext.h
  • GLUniform4uiv() : GLContext.h
  • GLUniformBuffer() : GLContext.h
  • GLUniformMatrix2fv() : GLContext.h
  • GLUniformMatrix2x3fv() : GLContext.h
  • GLUniformMatrix2x4fv() : GLContext.h
  • GLUniformMatrix3fv() : GLContext.h
  • GLUniformMatrix3x2fv() : GLContext.h
  • GLUniformMatrix3x4fv() : GLContext.h
  • GLUniformMatrix4fv() : GLContext.h
  • GLUniformMatrix4x2fv() : GLContext.h
  • GLUniformMatrix4x3fv() : GLContext.h
  • GLUnlockArrays() : GLContext.h
  • GLUnmapBuffer() : GLContext.h
  • GLUnmapIndexBuffer() : GLContext.h
  • GLUnmapVertexBuffer() : GLContext.h
  • GLUploadBuffers() : GLContext.h
  • GLUseProgram() : GLContext.h
  • GLUseProgramObject() : GLContext.h
  • GLValidateProgram() : GLContext.h
  • GLVertex2d() : GLContext.h
  • GLVertex2dv() : GLContext.h
  • GLVertex2f() : GLContext.h
  • GLVertex2fv() : GLContext.h
  • GLVertex2h() : GLContext.h
  • GLVertex2hv() : GLContext.h
  • GLVertex2i() : GLContext.h
  • GLVertex2iv() : GLContext.h
  • GLVertex2s() : GLContext.h
  • GLVertex2sv() : GLContext.h
  • GLVertex3d() : GLContext.h
  • GLVertex3dv() : GLContext.h
  • GLVertex3f() : GLContext.h
  • GLVertex3fv() : GLContext.h
  • GLVertex3h() : GLContext.h
  • GLVertex3hv() : GLContext.h
  • GLVertex3i() : GLContext.h
  • GLVertex3iv() : GLContext.h
  • GLVertex3s() : GLContext.h
  • GLVertex3sv() : GLContext.h
  • GLVertex4d() : GLContext.h
  • GLVertex4dv() : GLContext.h
  • GLVertex4f() : GLContext.h
  • GLVertex4fv() : GLContext.h
  • GLVertex4h() : GLContext.h
  • GLVertex4hv() : GLContext.h
  • GLVertex4i() : GLContext.h
  • GLVertex4iv() : GLContext.h
  • GLVertex4s() : GLContext.h
  • GLVertex4sv() : GLContext.h
  • GLVertexArrayRange() : GLContext.h
  • GLVertexAttrib1d() : GLContext.h
  • GLVertexAttrib1dv() : GLContext.h
  • GLVertexAttrib1f() : GLContext.h
  • GLVertexAttrib1fv() : GLContext.h
  • GLVertexAttrib1h() : GLContext.h
  • GLVertexAttrib1hv() : GLContext.h
  • GLVertexAttrib1s() : GLContext.h
  • GLVertexAttrib1sv() : GLContext.h
  • GLVertexAttrib2d() : GLContext.h
  • GLVertexAttrib2dv() : GLContext.h
  • GLVertexAttrib2f() : GLContext.h
  • GLVertexAttrib2fv() : GLContext.h
  • GLVertexAttrib2h() : GLContext.h
  • GLVertexAttrib2hv() : GLContext.h
  • GLVertexAttrib2s() : GLContext.h
  • GLVertexAttrib2sv() : GLContext.h
  • GLVertexAttrib3d() : GLContext.h
  • GLVertexAttrib3dv() : GLContext.h
  • GLVertexAttrib3f() : GLContext.h
  • GLVertexAttrib3fv() : GLContext.h
  • GLVertexAttrib3h() : GLContext.h
  • GLVertexAttrib3hv() : GLContext.h
  • GLVertexAttrib3s() : GLContext.h
  • GLVertexAttrib3sv() : GLContext.h
  • GLVertexAttrib4bv() : GLContext.h
  • GLVertexAttrib4d() : GLContext.h
  • GLVertexAttrib4dv() : GLContext.h
  • GLVertexAttrib4f() : GLContext.h
  • GLVertexAttrib4fv() : GLContext.h
  • GLVertexAttrib4h() : GLContext.h
  • GLVertexAttrib4hv() : GLContext.h
  • GLVertexAttrib4iv() : GLContext.h
  • GLVertexAttrib4Nbv() : GLContext.h
  • GLVertexAttrib4Niv() : GLContext.h
  • GLVertexAttrib4Nsv() : GLContext.h
  • GLVertexAttrib4Nub() : GLContext.h
  • GLVertexAttrib4Nubv() : GLContext.h
  • GLVertexAttrib4Nuiv() : GLContext.h
  • GLVertexAttrib4Nusv() : GLContext.h
  • GLVertexAttrib4s() : GLContext.h
  • GLVertexAttrib4sv() : GLContext.h
  • GLVertexAttrib4ub() : GLContext.h
  • GLVertexAttrib4ubv() : GLContext.h
  • GLVertexAttrib4uiv() : GLContext.h
  • GLVertexAttrib4usv() : GLContext.h
  • GLVertexAttribI1i() : GLContext.h
  • GLVertexAttribI1iv() : GLContext.h
  • GLVertexAttribI1ui() : GLContext.h
  • GLVertexAttribI1uiv() : GLContext.h
  • GLVertexAttribI2i() : GLContext.h
  • GLVertexAttribI2iv() : GLContext.h
  • GLVertexAttribI2ui() : GLContext.h
  • GLVertexAttribI2uiv() : GLContext.h
  • GLVertexAttribI3i() : GLContext.h
  • GLVertexAttribI3iv() : GLContext.h
  • GLVertexAttribI3ui() : GLContext.h
  • GLVertexAttribI3uiv() : GLContext.h
  • GLVertexAttribI4bv() : GLContext.h
  • GLVertexAttribI4i() : GLContext.h
  • GLVertexAttribI4iv() : GLContext.h
  • GLVertexAttribI4sv() : GLContext.h
  • GLVertexAttribI4ubv() : GLContext.h
  • GLVertexAttribI4ui() : GLContext.h
  • GLVertexAttribI4uiv() : GLContext.h
  • GLVertexAttribI4usv() : GLContext.h
  • GLVertexAttribIPointer() : GLContext.h
  • GLVertexAttribPointer() : GLContext.h
  • GLVertexAttribPointerNV() : GLContext.h
  • GLVertexAttribs1dvNV() : GLContext.h
  • GLVertexAttribs1fvNV() : GLContext.h
  • GLVertexAttribs1hv() : GLContext.h
  • GLVertexAttribs1svNV() : GLContext.h
  • GLVertexAttribs2dvNV() : GLContext.h
  • GLVertexAttribs2fvNV() : GLContext.h
  • GLVertexAttribs2hv() : GLContext.h
  • GLVertexAttribs2svNV() : GLContext.h
  • GLVertexAttribs3dvNV() : GLContext.h
  • GLVertexAttribs3fvNV() : GLContext.h
  • GLVertexAttribs3hv() : GLContext.h
  • GLVertexAttribs3svNV() : GLContext.h
  • GLVertexAttribs4dvNV() : GLContext.h
  • GLVertexAttribs4fvNV() : GLContext.h
  • GLVertexAttribs4hv() : GLContext.h
  • GLVertexAttribs4svNV() : GLContext.h
  • GLVertexAttribs4ubvNV() : GLContext.h
  • GLVertexPointer() : GLContext.h
  • GLViewport() : GLContext.h
  • GLWindowPos2d() : GLContext.h
  • GLWindowPos2dv() : GLContext.h
  • GLWindowPos2f() : GLContext.h
  • GLWindowPos2fv() : GLContext.h
  • GLWindowPos2i() : GLContext.h
  • GLWindowPos2iv() : GLContext.h
  • GLWindowPos2s() : GLContext.h
  • GLWindowPos2sv() : GLContext.h
  • GLWindowPos3d() : GLContext.h
  • GLWindowPos3dv() : GLContext.h
  • GLWindowPos3f() : GLContext.h
  • GLWindowPos3fv() : GLContext.h
  • GLWindowPos3i() : GLContext.h
  • GLWindowPos3iv() : GLContext.h
  • GLWindowPos3s() : GLContext.h
  • GLWindowPos3sv() : GLContext.h
  • GLXCreateContext() : GLContext.h
  • GLXDestroyContext() : GLContext.h
  • GLXGetCurrentContext() : GLContext.h
  • GLXGetCurrentDrawable() : GLContext.h
  • GLXInitializeExtensions() : GLContext.h
  • GLXIsExtensionAvailable() : GLContext.h
  • GLXIsExtensionExported() : GLContext.h

- h -

  • highestBit() : nvmath.h
  • highestBitValue() : nvmath.h
  • horizontalToVerticalFieldOfView() : nvmath.h

- i -

  • insert() : TextureHost.h
  • intersectingSphere() : Spherent.h
  • invert() : Matnnt.h
  • isIdentity() : Matnnt.h
  • isNormalized() : Vecnt.h, Quatt.h, Matnnt.h
  • isNull() : Vecnt.h, Quatt.h, Matnnt.h
  • isOrthogonal() : Matnnt.h
  • isPositive() : Spherent.h, Boxnt.h
  • isPowerOfTwo() : nvmath.h
  • isPtrTo() : Object.h
  • isRotation() : Matnnt.h
  • isSingular() : Matnnt.h
  • isSmartPtrOf() : SmartPtr.h
  • isUniform() : Vecnt.h
  • isValid() : Spherent.h, Boxnt.h
  • isValidBoundingSphere() : Node.h

- l -

  • length() : Vecnt.h
  • lengthSquared() : Vecnt.h
  • lerp() : Quatt.h, nvmath.h, VertexAttribute.h

- m -

  • magnitude() : Quatt.h
  • makeFrustum() : Matnnt.h
  • makeLookAt() : Matnnt.h
  • makeOrtho() : Matnnt.h
  • makePerspective() : Matnnt.h
  • max() : nvmath.h
  • maxElement() : Vecnt.h, Matnnt.h
  • min() : nvmath.h
  • minElement() : Vecnt.h, Matnnt.h

- n -

  • nearestPoint() : Planent.h
  • normalize() : Vecnt.h, VertexAttribute.h
  • numberOfComponents() : TextureHost.h
  • NVSG_CTASSERT_MODULO_BYTESIZE() : NBF.h
  • NVSGERRORHANDLER() : ErrorHandling.h
  • nvsgGetDebugFlags() : nvsg.h
  • nvsgInitialize() : nvsg.h
  • nvsgRuntimeDebugControl() : nvsg.h
  • nvsgSetDebugFlags() : nvsg.h
  • nvsgSetErrorHandler() : ErrorHandling.h
  • nvsgTerminate() : nvsg.h

- o -

  • OBJECT_TRAITS() : Handle.h
  • OBJECT_TRAITS_BASE() : Handle.h
  • operator *() : Vecnt.h, Quatt.h, Matnnt.h
  • operator!=() : SmartPtr.h, PlugIn.h, Vecnt.h, Spherent.h, Quatt.h, Planent.h, Matnnt.h, Boxnt.h, VertexAttribute.h
  • operator+() : Vecnt.h, Matnnt.h
  • operator-() : Vecnt.h, Quatt.h, Matnnt.h
  • operator/() : Vecnt.h, Quatt.h, Matnnt.h
  • operator<() : PlugIn.h
  • operator<<() : StatisticsTraverser.h
  • operator==() : SmartPtr.h, PlugIn.h, Vecnt.h, Spherent.h, Quatt.h, Planent.h, Matnnt.h, Boxnt.h, VertexAttribute.h
  • operator^() : Vecnt.h
  • operator~() : Quatt.h, Matnnt.h
  • orthonormal() : Vecnt.h
  • orthonormalize() : Vecnt.h

- p -

  • powerOfTwoAbove() : nvmath.h
  • powerOfTwoBelow() : nvmath.h
  • powerOfTwoNearest() : nvmath.h

- q -

  • queryInterfaceType() : PlugIn.h
  • queryPlugInterfaceType() : OBJSaver.h, NVSGSaver.h, WRLLoader.h, PLYLoader.h, NVSGLoader.h

- r -

  • radToDeg() : nvmath.h
  • releaseInterface() : PlugIn.h
  • reportError() : ProblemLog.h
  • reportWarning() : ProblemLog.h
  • rescale() : TextureHost.h

- s -

  • setAllAnimations() : Animation.h
  • SetCurrentDir() : Tools.h
  • setIdentity() : Matnnt.h
  • setMat() : Matnnt.h
  • setPlugInFileFilter() : PlugIn.h
  • setVec() : Vecnt.h
  • sharedPtr_cast() : Handle.h
  • sign() : nvmath.h
  • signedDistance() : Planent.h
  • sizeOfComponents() : TextureHost.h
  • smart_cast() : SmartPtr.h
  • smoothNormals() : Vecnt.h
  • solveCubicEquation() : nvmath.h
  • solveQuadraticEquation() : nvmath.h
  • SplitPath() : Tools.h
  • square() : nvmath.h
  • subdivide() : Beziernt.h

- v -

  • verticalToHorizontalFieldOfView() : nvmath.h

- w -

  • weakPtr_cast() : Handle.h
  • WGLBindSwapBarrierNV() : GLContext.h
  • WGLBindTexImage() : GLContext.h
  • WGLBindVideoDeviceNV() : GLContext.h
  • WGLBindVideoImage() : GLContext.h
  • WGLChoosePixelFormat() : GLContext.h
  • WGLCreateAffinityDC() : GLContext.h
  • WGLCreateContext() : GLContext.h
  • WGLCreatePbuffer() : GLContext.h
  • WGLDeleteContext() : GLContext.h
  • WGLDeleteDC() : GLContext.h
  • WGLDestroyPbuffer() : GLContext.h
  • WGLEnumerateVideoDevicesNV() : GLContext.h
  • WGLEnumGpuDevices() : GLContext.h
  • WGLEnumGpus() : GLContext.h
  • WGLEnumGpusFromAffinityDC() : GLContext.h
  • WGLGetCurrentContext() : GLContext.h
  • WGLGetCurrentDC() : GLContext.h
  • WGLGetPbufferDC() : GLContext.h
  • WGLGetPixelFormatAttribfv() : GLContext.h
  • WGLGetPixelFormatAttribivARB() : GLContext.h
  • WGLGetSwapInterval() : GLContext.h
  • WGLGetVideoDevice() : GLContext.h
  • WGLGetVideoInfo() : GLContext.h
  • WGLInitializeExtensions() : GLContext.h
  • WGLIsExtensionAvailable() : GLContext.h
  • WGLIsExtensionExported() : GLContext.h
  • WGLJoinSwapGroupNV() : GLContext.h
  • WGLQueryCurrentContextNV() : GLContext.h
  • WGLQueryFrameCountNV() : GLContext.h
  • WGLQueryMaxSwapGroupsNV() : GLContext.h
  • WGLQueryPbuffer() : GLContext.h
  • WGLQuerySwapGroupNV() : GLContext.h
  • WGLReleasePbufferDC() : GLContext.h
  • WGLReleaseTexImage() : GLContext.h
  • WGLReleaseVideoDevice() : GLContext.h
  • WGLReleaseVideoImage() : GLContext.h
  • WGLResetFrameCountNV() : GLContext.h
  • WGLSendPbufferToVideo() : GLContext.h
  • WGLSwapInterval() : GLContext.h
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: File Members - Typedefs

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines
b | c | d | f | h | i | l | n | p | r | s | u

- b -

  • byte_t : NBF.h, PLYLoader.h

- c -

  • CgFxBuffer : CgFx.h
  • CgFxParameter : CgFx.h
  • CgFxPass : CgFx.h
  • CgFxProgram : CgFx.h
  • CgFxTechnique : CgFx.h

- d -

  • DataID : Object.h
  • DEVICE_CONTEXT : GLContext.h

- f -

  • Face3 : Face.h
  • Face4 : Face.h
  • float2_t : NBF.h
  • float3_t : NBF.h
  • float44_t : NBF.h
  • float4_t : NBF.h

- h -

  • HashKey : nvsg.h
  • HDAL : DAL.h

- i -

  • int_t : NBF.h, PLYLoader.h

- l -

  • LOG_OUTPUT_FUNCTION : Log.h
  • LogTest : Log.h

- n -

  • NBFRTFxSceneAttribute : NBF.h

- p -

  • PFNQUERYPLUGINTERFACETYPE : PlugIn.h
  • PIS : PlugIn.h
  • ProblemLogList : ProblemLog.h

- r -

  • RENDER_CONTEXT : GLContext.h

- s -

  • Segment : Face.h
  • short_t : NBF.h
  • SmartRCObject : RCObject.h
  • StateSetReplacementMap : StateSet.h
  • SWMRCriticalSection : SWMRSync.h

- u -

  • ubyte_t : NBF.h, PLYLoader.h
  • uint64_t : NBF.h, PLYLoader.h
  • UINT_PTR : Handle.h
  • uint_t : NBF.h, PLYLoader.h
  • ushort_t : NBF.h
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: File Members - Variables

All | Functions | Variables | Typedefs | Enumerations | Enumeration values | Defines

  • CgFxAnnotation : CgFx.h
  • cIdentity44f : Matnnt.h
  • HDAL_INVALID : DAL.h
  • logFileOutput : Log.h
  • NBF_BIG_ENDIAN : NBF.h
  • NBF_LITTLE_ENDIAN : NBF.h
  • NBF_VER_BUGFIX : NBF.h
  • NBF_VER_MAJOR : NBF.h
  • NBF_VER_MINOR : NBF.h
  • NVSG_LOG_FILE : Log.h
  • nvsgErrorHandler : ErrorHandling.h
  • PFNGETPLUGINTERFACE : PlugIn.h
  • PI : nvmath.h
  • PI_HALF : nvmath.h
  • PI_QUARTER : nvmath.h
  • REG_NV_TRACE_SUBKEY : Trace.h
  • SQRT_THREE : nvmath.h
  • SQRT_THREE_HALF : nvmath.h
  • SQRT_TWO : nvmath.h
  • SQRT_TWO_HALF : nvmath.h
  • VariantKey : StateSet.h
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Namespace Members

All | Functions | Variables | Typedefs | Enumerations | Enumeration values
a | b | c | d | e | f | g | h | i | l | m | n | o | p | q | r | s | t | v | w

Here is a list of all documented namespace members with links to the namespaces they belong to:

- a -

  • addPlugInSearchPath() : nvutil
  • AF_ALWAYS : nvsg
  • AF_EQUAL : nvsg
  • AF_GEQUAL : nvsg
  • AF_GREATER : nvsg
  • AF_LEQUAL : nvsg
  • AF_LESS : nvsg
  • AF_NEVER : nvsg
  • AF_NOTEQUAL : nvsg
  • AlphaFunction : nvsg
  • ApplyNodeHints() : nvutil
  • areCollinear() : nvmath
  • areOfSameType() : nvsg
  • areOnOppositeSides() : nvmath
  • areOnSameSide() : nvmath
  • areOpposite() : nvmath
  • areOrthogonal() : nvmath
  • areOrthonormal() : nvmath
  • areSimilar() : nvmath
  • assertMipMapChainComplete() : nvsg
  • attribIndex() : nvsg

- b -

  • bezier() : nvmath
  • BF_DESTINATION_ALPHA : nvsg
  • BF_DESTINATION_COLOR : nvsg
  • BF_ONE : nvsg
  • BF_ONE_MINUS_DESTINATION_ALPHA : nvsg
  • BF_ONE_MINUS_DESTINATION_COLOR : nvsg
  • BF_ONE_MINUS_SOURCE_ALPHA : nvsg
  • BF_ONE_MINUS_SOURCE_COLOR : nvsg
  • BF_SOURCE_ALPHA : nvsg
  • BF_SOURCE_ALPHA_SATURATE : nvsg
  • BF_SOURCE_COLOR : nvsg
  • BF_ZERO : nvsg
  • BlendFunction : nvsg
  • boundingBox() : nvmath
  • boundingSphere() : nvmath

- c -

  • calculateContributions() : nvsg
  • CC_IN : nvsg
  • CC_OUT : nvsg
  • CC_PART : nvsg
  • CgFxAnnotation : nvsg
  • CgFxBuffer : nvsg
  • cgfxContext() : nvsg
  • cgfxGetLastError() : nvsg
  • CgFxParameter : nvsg
  • CgFxPass : nvsg
  • CgFxProgram : nvsg
  • CgFxTechnique : nvsg
  • cIdentity44f : nvmath
  • clamp() : nvmath
  • cloneIfShared() : nvutil
  • compare() : nvmath
  • convertPixelFormat() : nvsg
  • copySelectedVertices() : nvsg
  • CORE_TYPES() : nvutil
  • CORE_TYPES_BASE() : nvutil
  • createClipPlanesElement() : nvtraverser
  • CreateDir() : nvutil
  • createReflectionInfo() : nvutil
  • createStaticProperty() : nvutil
  • cube() : nvmath
  • CullCode : nvsg

- d -

  • DataID : nvsg
  • dbgAllocImagePixels() : nvsg
  • decompose() : nvmath
  • degToRad() : nvmath
  • DepthFunction : nvsg
  • DestroyCallback() : nvutil
  • determinant() : nvmath
  • determineTextureTarget() : nvsg
  • DirExists() : nvutil
  • distance() : nvmath
  • DLLClose() : nvutil
  • DLLOpen() : nvutil
  • DLLSym() : nvutil

- e -

  • EnableLocking() : nvutil
  • equal3f() : nvgl
  • equal3fv() : nvgl
  • equal4f() : nvgl
  • equal4fv() : nvgl
  • equalf() : nvgl
  • errorMessage() : nvutil::IO

- f -

  • Face3 : nvsg
  • Face4 : nvsg
  • FileDelete() : nvutil
  • FileExists() : nvutil
  • FileSize() : nvutil
  • FindFile() : nvutil
  • FindFileFirst() : nvutil
  • freeImagePixels() : nvsg
  • frenetFrame() : nvmath

- g -

  • genericAttrib() : nvsg
  • get3DAPI() : nvsg
  • getBoundingSphere() : nvsg
  • getCopyrightString() : nvsg
  • GetCurrentDir() : nvutil
  • GetDirFromPath() : nvutil
  • GetDrvAndDirFromPath() : nvutil
  • GetDrvFromPath() : nvutil
  • GetFileExtFromPath() : nvutil
  • GetFileNameFromPath() : nvutil
  • getInterface() : nvutil
  • GetModulePath() : nvutil
  • getNumGPUs() : nvsg
  • getPlugInSearchPath() : nvutil
  • getReplacementStateSet() : nvsg
  • getSDKName() : nvsg
  • getSupportedFeatures() : nvsg
  • getVendorName() : nvsg
  • getVersionString() : nvsg
  • GLAccum() : nvgl
  • GLActiveStencilFace() : nvgl
  • GLActiveTexture() : nvgl
  • GLActiveVarying() : nvgl
  • GLAlphaFunc() : nvgl
  • GLAreProgramsResident() : nvgl
  • GLAreTexturesResident() : nvgl
  • GLArrayElement() : nvgl
  • GLAttachObject() : nvgl
  • GLAttachShader() : nvgl
  • GLBegin() : nvgl
  • GLBeginConditionalRenderNV() : nvgl
  • GLBeginQuery() : nvgl
  • GLBeginTransformFeedback() : nvgl
  • GLBeginTransformFeedbackNV() : nvgl
  • GLBindAttribLocation() : nvgl
  • GLBindBuffer() : nvgl
  • GLBindBufferBase() : nvgl
  • GLBindBufferBaseNV() : nvgl
  • GLBindBufferOffsetNV() : nvgl
  • GLBindBufferRange() : nvgl
  • GLBindBufferRangeNV() : nvgl
  • GLBindFragDataLocation() : nvgl
  • GLBindFramebuffer() : nvgl
  • GLBindIndexBuffer() : nvgl
  • GLBindProgram() : nvgl
  • GLBindRenderbuffer() : nvgl
  • GLBindTexture() : nvgl
  • GLBindTransformFeedbackBuffer() : nvgl
  • GLBindVertexBuffer() : nvgl
  • GLBitmap() : nvgl
  • GLBlendColor() : nvgl
  • GLBlendEquation() : nvgl
  • GLBlendEquationSeparate() : nvgl
  • GLBlendFunc() : nvgl
  • GLBlendFuncSeparate() : nvgl
  • GLBlitFramebuffer() : nvgl
  • GLBufferData() : nvgl
  • GLBufferSubData() : nvgl
  • GLBuildVertexBufferCache() : nvgl
  • GLCallList() : nvgl
  • GLCallLists() : nvgl
  • GLCheckFramebufferStatus() : nvgl
  • GLClampColor() : nvgl
  • GLClear() : nvgl
  • GLClearAccum() : nvgl
  • GLClearColor() : nvgl
  • GLClearColorIi() : nvgl
  • GLClearColorIui() : nvgl
  • GLClearDepth() : nvgl
  • GLClearDepthd() : nvgl
  • GLClearIndex() : nvgl
  • GLClearStencil() : nvgl
  • GLClientActiveTexture() : nvgl
  • GLClipPlane() : nvgl
  • GLColor3b() : nvgl
  • GLColor3bv() : nvgl
  • GLColor3d() : nvgl
  • GLColor3dv() : nvgl
  • GLColor3f() : nvgl
  • GLColor3fv() : nvgl
  • GLColor3h() : nvgl
  • GLColor3hv() : nvgl
  • GLColor3i() : nvgl
  • GLColor3iv() : nvgl
  • GLColor3s() : nvgl
  • GLColor3sv() : nvgl
  • GLColor3ub() : nvgl
  • GLColor3ubv() : nvgl
  • GLColor3ui() : nvgl
  • GLColor3uiv() : nvgl
  • GLColor3us() : nvgl
  • GLColor3usv() : nvgl
  • GLColor4b() : nvgl
  • GLColor4bv() : nvgl
  • GLColor4d() : nvgl
  • GLColor4dv() : nvgl
  • GLColor4f() : nvgl
  • GLColor4fv() : nvgl
  • GLColor4h() : nvgl
  • GLColor4hv() : nvgl
  • GLColor4i() : nvgl
  • GLColor4iv() : nvgl
  • GLColor4s() : nvgl
  • GLColor4sv() : nvgl
  • GLColor4ub() : nvgl
  • GLColor4ubv() : nvgl
  • GLColor4ui() : nvgl
  • GLColor4uiv() : nvgl
  • GLColor4us() : nvgl
  • GLColor4usv() : nvgl
  • GLColorMask() : nvgl
  • GLColorMaskIndexed() : nvgl
  • GLColorMaterial() : nvgl
  • GLColorPointer() : nvgl
  • GLColorSubTable() : nvgl
  • GLColorTable() : nvgl
  • GLColorTableParameterfv() : nvgl
  • GLColorTableParameteriv() : nvgl
  • GLCombinerInput() : nvgl
  • GLCombinerOutput() : nvgl
  • GLCombinerParameterf() : nvgl
  • GLCombinerParameterfv() : nvgl
  • GLCombinerParameteri() : nvgl
  • GLCombinerParameteriv() : nvgl
  • GLCombinerStageParameterfv() : nvgl
  • GLCompileShader() : nvgl
  • GLCompressedTexImage1D() : nvgl
  • GLCompressedTexImage2D() : nvgl
  • GLCompressedTexImage3D() : nvgl
  • GLCompressedTexSubImage1D() : nvgl
  • GLCompressedTexSubImage2D() : nvgl
  • GLCompressedTexSubImage3D() : nvgl
  • glContext() : nvgl
  • GLConvolutionFilter1D() : nvgl
  • GLConvolutionFilter2D() : nvgl
  • GLConvolutionParameterf() : nvgl
  • GLConvolutionParameterfv() : nvgl
  • GLConvolutionParameteri() : nvgl
  • GLConvolutionParameteriv() : nvgl
  • GLCopyBufferSubData() : nvgl
  • GLCopyColorSubTable() : nvgl
  • GLCopyColorTable() : nvgl
  • GLCopyConvolutionFilter1D() : nvgl
  • GLCopyConvolutionFilter2D() : nvgl
  • GLCopyPixels() : nvgl
  • GLCopyTexImage1D() : nvgl
  • GLCopyTexImage2D() : nvgl
  • GLCopyTexSubImage1D() : nvgl
  • GLCopyTexSubImage2D() : nvgl
  • GLCopyTexSubImage3D() : nvgl
  • GLCreateProgram() : nvgl
  • GLCreateProgramObject() : nvgl
  • GLCreateShader() : nvgl
  • GLCreateShaderObject() : nvgl
  • GLCullFace() : nvgl
  • GLCullFaceLock() : nvgl
  • GLCullFaceUnlock() : nvgl
  • GLDeleteBuffers() : nvgl
  • GLDeleteFences() : nvgl
  • GLDeleteFramebuffers() : nvgl
  • GLDeleteIndexBuffer() : nvgl
  • GLDeleteLists() : nvgl
  • GLDeleteObject() : nvgl
  • GLDeleteProgram() : nvgl
  • GLDeletePrograms() : nvgl
  • GLDeleteQueries() : nvgl
  • GLDeleteRenderbuffers() : nvgl
  • GLDeleteShader() : nvgl
  • GLDeleteTextures() : nvgl
  • GLDeleteVertexBuffer() : nvgl
  • GLDepthBounds() : nvgl
  • GLDepthBoundsd() : nvgl
  • GLDepthFunc() : nvgl
  • GLDepthMask() : nvgl
  • GLDepthRange() : nvgl
  • GLDepthRanged() : nvgl
  • GLDetachObject() : nvgl
  • GLDetachShader() : nvgl
  • GLDisable() : nvgl
  • GLDisableAlphaTest() : nvgl
  • GLDisableAutoNormal() : nvgl
  • GLDisableBlend() : nvgl
  • GLDisableClientState() : nvgl
  • GLDisableClipPlane() : nvgl
  • GLDisableColorArray() : nvgl
  • GLDisableColorLogicOp() : nvgl
  • GLDisableColorMaterial() : nvgl
  • GLDisableCullFace() : nvgl
  • GLDisableCullFaceLock() : nvgl
  • GLDisableCullFaceUnlock() : nvgl
  • GLDisableDepthTest() : nvgl
  • GLDisableDither() : nvgl
  • GLDisableExtensionAvailability() : nvgl
  • GLDisableFog() : nvgl
  • GLDisableFogCoordinateArray() : nvgl
  • GLDisableIndexed() : nvgl
  • GLDisableLight() : nvgl
  • GLDisableLighting() : nvgl
  • GLDisableLightingLock() : nvgl
  • GLDisableLightingUnlock() : nvgl
  • GLDisableLineSmooth() : nvgl
  • GLDisableLineStipple() : nvgl
  • GLDisableLogicOp() : nvgl
  • GLDisableNormalArray() : nvgl
  • GLDisableNormalize() : nvgl
  • GLDisablePointSmooth() : nvgl
  • GLDisablePolygonOffsetFill() : nvgl
  • GLDisablePolygonOffsetLine() : nvgl
  • GLDisablePolygonOffsetPoint() : nvgl
  • GLDisablePolygonSmooth() : nvgl
  • GLDisablePolygonStipple() : nvgl
  • GLDisablePrimitiveRestart() : nvgl
  • GLDisableRescaleNormal() : nvgl
  • GLDisableScissorTest() : nvgl
  • GLDisableSecondaryColorArray() : nvgl
  • GLDisableStencilTest() : nvgl
  • GLDisableTexture() : nvgl
  • GLDisableTextureCoordArray() : nvgl
  • GLDisableTextureGen() : nvgl
  • GLDisableVertexArray() : nvgl
  • GLDisableVertexAttribArray() : nvgl
  • GLDrawArrays() : nvgl
  • GLDrawArraysInstanced() : nvgl
  • GLDrawBuffer() : nvgl
  • GLDrawBuffers() : nvgl
  • GLDrawElements() : nvgl
  • GLDrawElementsInstanced() : nvgl
  • GLDrawPixels() : nvgl
  • GLDrawRangeElements() : nvgl
  • GLEdgeFlag() : nvgl
  • GLEdgeFlagPointer() : nvgl
  • GLEdgeFlagv() : nvgl
  • GLEnable() : nvgl
  • GLEnableAlphaTest() : nvgl
  • GLEnableAutoNormal() : nvgl
  • GLEnableBlend() : nvgl
  • GLEnableClientState() : nvgl
  • GLEnableClipPlane() : nvgl
  • GLEnableColorArray() : nvgl
  • GLEnableColorLogicOp() : nvgl
  • GLEnableColorMaterial() : nvgl
  • GLEnableCullFace() : nvgl
  • GLEnableCullFaceLock() : nvgl
  • GLEnableCullFaceUnlock() : nvgl
  • GLEnableDepthTest() : nvgl
  • GLEnableDither() : nvgl
  • GLEnableFog() : nvgl
  • GLEnableFogCoordinateArray() : nvgl
  • GLEnableIndexed() : nvgl
  • GLEnableLight() : nvgl
  • GLEnableLighting() : nvgl
  • GLEnableLineSmooth() : nvgl
  • GLEnableLineStipple() : nvgl
  • GLEnableLogicOp() : nvgl
  • GLEnableNormalArray() : nvgl
  • GLEnableNormalize() : nvgl
  • GLEnablePointSmooth() : nvgl
  • GLEnablePolygonOffsetFill() : nvgl
  • GLEnablePolygonOffsetLine() : nvgl
  • GLEnablePolygonOffsetPoint() : nvgl
  • GLEnablePolygonSmooth() : nvgl
  • GLEnablePolygonStipple() : nvgl
  • GLEnablePrimitiveRestart() : nvgl
  • GLEnableRescaleNormal() : nvgl
  • GLEnableScissorTest() : nvgl
  • GLEnableSecondaryColorArray() : nvgl
  • GLEnableStencilTest() : nvgl
  • GLEnableTexture() : nvgl
  • GLEnableTextureCoordArray() : nvgl
  • GLEnableTextureGen() : nvgl
  • GLEnableVertexArray() : nvgl
  • GLEnableVertexAttribArray() : nvgl
  • GLEnd() : nvgl
  • GLEndConditionalRenderNV() : nvgl
  • GLEndList() : nvgl
  • GLEndQuery() : nvgl
  • GLEndTransformFeedback() : nvgl
  • GLEndTransformFeedbackNV() : nvgl
  • glError : nvgl
  • GLEvalCoord1d() : nvgl
  • GLEvalCoord1f() : nvgl
  • GLEvalCoord2d() : nvgl
  • GLEvalCoord2f() : nvgl
  • GLEvalMesh1() : nvgl
  • GLEvalMesh2() : nvgl
  • GLEvalPoint1() : nvgl
  • GLEvalPoint2() : nvgl
  • GLExecuteProgram() : nvgl
  • GLFeedbackBuffer() : nvgl
  • GLFinalCombinerInput() : nvgl
  • GLFinish() : nvgl
  • GLFinishFence() : nvgl
  • GLFlush() : nvgl
  • GLFlushMappedBufferRange() : nvgl
  • GLFlushPixelDataRange() : nvgl
  • GLFlushVertexArrayRange() : nvgl
  • GLFogColor() : nvgl
  • GLFogCoordd() : nvgl
  • GLFogCoorddv() : nvgl
  • GLFogCoordf() : nvgl
  • GLFogCoordfv() : nvgl
  • GLFogCoordh() : nvgl
  • GLFogCoordhv() : nvgl
  • GLFogCoordPointer() : nvgl
  • GLFogDensity() : nvgl
  • GLFogEnd() : nvgl
  • GLFogf() : nvgl
  • GLFogfv() : nvgl
  • GLFogi() : nvgl
  • GLFogiv() : nvgl
  • GLFogMode() : nvgl
  • GLFogStart() : nvgl
  • GLFramebufferRenderbuffer() : nvgl
  • GLFramebufferTexture() : nvgl
  • GLFramebufferTexture1D() : nvgl
  • GLFramebufferTexture2D() : nvgl
  • GLFramebufferTexture3D() : nvgl
  • GLFramebufferTextureFace() : nvgl
  • GLFramebufferTextureLayer() : nvgl
  • GLFrameTerminator() : nvgl
  • GLFrontFace() : nvgl
  • GLFrustum() : nvgl
  • GLGenBuffers() : nvgl
  • GLGenerateMipmap() : nvgl
  • GLGenFences() : nvgl
  • GLGenFramebuffers() : nvgl
  • GLGenIndexBuffer() : nvgl
  • GLGenLists() : nvgl
  • GLGenPrograms() : nvgl
  • GLGenQueries() : nvgl
  • GLGenRenderbuffers() : nvgl
  • GLGenTextures() : nvgl
  • GLGenVertexBuffer() : nvgl
  • GLGetActiveAttrib() : nvgl
  • GLGetActiveUniform() : nvgl
  • GLGetActiveVaryingNV() : nvgl
  • GLGetAttachedObjects() : nvgl
  • GLGetAttachedShaders() : nvgl
  • GLGetAttribLocation() : nvgl
  • GLGetBooleanIndexedv() : nvgl
  • GLGetBooleanv() : nvgl
  • GLGetBufferAddress() : nvgl
  • GLGetBufferParameteriv() : nvgl
  • GLGetBufferPointerv() : nvgl
  • GLGetBufferSize() : nvgl
  • GLGetBufferSubData() : nvgl
  • GLGetClipPlane() : nvgl
  • GLGetColorTable() : nvgl
  • GLGetColorTableParameterfv() : nvgl
  • GLGetColorTableParameteriv() : nvgl
  • GLGetCombinerInputParameterfv() : nvgl
  • GLGetCombinerInputParameteriv() : nvgl
  • GLGetCombinerOutputParameterfv() : nvgl
  • GLGetCombinerOutputParameteriv() : nvgl
  • GLGetCombinerStageParameterfv() : nvgl
  • GLGetCompressedTexImage() : nvgl
  • GLGetConvolutionFilter() : nvgl
  • GLGetConvolutionParameterfv() : nvgl
  • GLGetConvolutionParameteriv() : nvgl
  • GLGetDoublev() : nvgl
  • GLGetFenceiv() : nvgl
  • GLGetFinalCombinerInputParameterfv() : nvgl
  • GLGetFinalCombinerInputParameteriv() : nvgl
  • GLGetFloatv() : nvgl
  • GLGetFragDataLocation() : nvgl
  • GLGetFramebufferAttachmentParameteriv() : nvgl
  • GLGetHandle() : nvgl
  • GLGetHistogram() : nvgl
  • GLGetHistogramParameterfv() : nvgl
  • GLGetHistogramParameteriv() : nvgl
  • GLGetIndexBufferOffset() : nvgl
  • GLGetInfoLog() : nvgl
  • GLGetIntegerIndexedv() : nvgl
  • GLGetIntegerv() : nvgl
  • GLGetLightfv() : nvgl
  • GLGetLightiv() : nvgl
  • GLGetMapdv() : nvgl
  • GLGetMapfv() : nvgl
  • GLGetMapiv() : nvgl
  • GLGetMaterialfv() : nvgl
  • GLGetMaterialiv() : nvgl
  • GLGetMaxTexCoords() : nvgl
  • GLGetMaxTexImageUnits() : nvgl
  • GLGetMaxTexUnits() : nvgl
  • GLGetMinmax() : nvgl
  • GLGetMinmaxParameterfv() : nvgl
  • GLGetMinmaxParameteriv() : nvgl
  • GLGetMultisamplefv() : nvgl
  • GLGetObjectParameterfv() : nvgl
  • GLGetObjectParameteriv() : nvgl
  • GLGetPixelMapfv() : nvgl
  • GLGetPixelMapuiv() : nvgl
  • GLGetPixelMapusv() : nvgl
  • GLGetPointerv() : nvgl
  • GLGetPolygonStipple() : nvgl
  • GLGetProgramEnvParameterdv() : nvgl
  • GLGetProgramEnvParameterfv() : nvgl
  • GLGetProgramEnvParameterIiv() : nvgl
  • GLGetProgramEnvParameterIuiv() : nvgl
  • GLGetProgramInfoLog() : nvgl
  • GLGetProgramiv() : nvgl
  • GLGetProgramLocalParameterdv() : nvgl
  • GLGetProgramLocalParameterfv() : nvgl
  • GLGetProgramLocalParameterIiv() : nvgl
  • GLGetProgramLocalParameterIuiv() : nvgl
  • GLGetProgramNamedParameterdv() : nvgl
  • GLGetProgramNamedParameterfv() : nvgl
  • GLGetProgramParameterdv() : nvgl
  • GLGetProgramParameterfv() : nvgl
  • GLGetProgramString() : nvgl
  • GLGetQueryiv() : nvgl
  • GLGetQueryObjecti64v() : nvgl
  • GLGetQueryObjectiv() : nvgl
  • GLGetQueryObjectui64v() : nvgl
  • GLGetQueryObjectuiv() : nvgl
  • GLGetRenderbufferParameteriv() : nvgl
  • GLGetSeparableFilter() : nvgl
  • GLGetShaderInfoLog() : nvgl
  • GLGetShaderiv() : nvgl
  • GLGetShaderSource() : nvgl
  • GLGetString() : nvgl
  • GLGetTexEnvfv() : nvgl
  • GLGetTexEnviv() : nvgl
  • GLGetTexGendv() : nvgl
  • GLGetTexGenfv() : nvgl
  • GLGetTexGeniv() : nvgl
  • GLGetTexImage() : nvgl
  • GLGetTexLevelParameterfv() : nvgl
  • GLGetTexLevelParameteriv() : nvgl
  • GLGetTexParameterfv() : nvgl
  • GLGetTexParameterIiv() : nvgl
  • GLGetTexParameterIuiv() : nvgl
  • GLGetTexParameteriv() : nvgl
  • GLGetTexWrapMode() : nvgl
  • GLGetTrackMatrixiv() : nvgl
  • GLGetTransformFeedbackVarying() : nvgl
  • GLGetTransformFeedbackVaryingNV() : nvgl
  • GLGetUniformBufferSize() : nvgl
  • GLGetUniformfv() : nvgl
  • GLGetUniformiv() : nvgl
  • GLGetUniformLocation() : nvgl
  • GLGetUniformOffset() : nvgl
  • GLGetUniformuiv() : nvgl
  • GLGetVaryingLocationNV() : nvgl
  • GLGetVersion() : nvgl
  • GLGetVertexAttribdv() : nvgl
  • GLGetVertexAttribfv() : nvgl
  • GLGetVertexAttribIiv() : nvgl
  • GLGetVertexAttribIuiv() : nvgl
  • GLGetVertexAttribiv() : nvgl
  • GLGetVertexAttribPointerv() : nvgl
  • GLGetVertexBufferOffset() : nvgl
  • GLHint() : nvgl
  • GLHistogram() : nvgl
  • GLIndexd() : nvgl
  • GLIndexf() : nvgl
  • GLIndexi() : nvgl
  • GLIndexMask() : nvgl
  • GLIndexPointer() : nvgl
  • GLIndexs() : nvgl
  • GLIndexub() : nvgl
  • GLInitNames() : nvgl
  • GLInterleavedArrays() : nvgl
  • GLintToGLfloat() : nvgl
  • GLIsBuffer() : nvgl
  • GLIsEnabled() : nvgl
  • GLIsEnabledAlphaTest() : nvgl
  • GLIsEnabledAutoNormal() : nvgl
  • GLIsEnabledBlend() : nvgl
  • GLIsEnabledClipPlane() : nvgl
  • GLIsEnabledColorLogicOp() : nvgl
  • GLIsEnabledColorMaterial() : nvgl
  • GLIsEnabledCullFace() : nvgl
  • GLIsEnabledDepthTest() : nvgl
  • GLIsEnabledDither() : nvgl
  • GLIsEnabledFog() : nvgl
  • GLIsEnabledIndexed() : nvgl
  • GLIsEnabledLight() : nvgl
  • GLIsEnabledLighting() : nvgl
  • GLIsEnabledLineSmooth() : nvgl
  • GLIsEnabledLineStipple() : nvgl
  • GLIsEnabledLogicOp() : nvgl
  • GLIsEnabledNormalize() : nvgl
  • GLIsEnabledPointSmooth() : nvgl
  • GLIsEnabledPolygonOffsetFill() : nvgl
  • GLIsEnabledPolygonOffsetLine() : nvgl
  • GLIsEnabledPolygonOffsetPoint() : nvgl
  • GLIsEnabledPolygonSmooth() : nvgl
  • GLIsEnabledPolygonStipple() : nvgl
  • GLIsEnabledRescaleNormal() : nvgl
  • GLIsEnabledScissorTest() : nvgl
  • GLIsEnabledStencilTest() : nvgl
  • GLIsEnabledTexture() : nvgl
  • GLIsEnabledTextureGen() : nvgl
  • GLIsExtensionAvailable() : nvgl
  • GLIsExtensionExported() : nvgl
  • GLIsFence() : nvgl
  • GLIsFramebuffer() : nvgl
  • GLIsIndexBuffer() : nvgl
  • GLIsList() : nvgl
  • GLIsProgram() : nvgl
  • GLIsQuery() : nvgl
  • GLIsRenderbuffer() : nvgl
  • GLIsShader() : nvgl
  • GLIsTexture() : nvgl
  • GLIsVertexBuffer() : nvgl
  • GLLightAmbient() : nvgl
  • GLLightConstantAttenuation() : nvgl
  • GLLightDiffuse() : nvgl
  • GLLightf() : nvgl
  • GLLightfv() : nvgl
  • GLLighti() : nvgl
  • GLLightiv() : nvgl
  • GLLightLinearAttenuation() : nvgl
  • GLLightModelAmbient() : nvgl
  • GLLightModelf() : nvgl
  • GLLightModelfv() : nvgl
  • GLLightModeli() : nvgl
  • GLLightModeliv() : nvgl
  • GLLightModelLocalViewer() : nvgl
  • GLLightModelTwoSide() : nvgl
  • GLLightModelTwoSideLock() : nvgl
  • GLLightModelTwoSideUnlock() : nvgl
  • GLLightPosition() : nvgl
  • GLLightQuadraticAttenuation() : nvgl
  • GLLightSpecular() : nvgl
  • GLLightSpotCutoff() : nvgl
  • GLLightSpotDirection() : nvgl
  • GLLightSpotExponent() : nvgl
  • GLLineStipple() : nvgl
  • GLLineWidth() : nvgl
  • GLLinkProgram() : nvgl
  • GLListBase() : nvgl
  • GLLoadIdentity() : nvgl
  • GLLoadMatrixd() : nvgl
  • GLLoadMatrixf() : nvgl
  • GLLoadName() : nvgl
  • GLLoadProgram() : nvgl
  • GLLoadTransposedMatrixd() : nvgl
  • GLLoadTransposeMatrixf() : nvgl
  • GLLockArrays() : nvgl
  • GLLogicOp() : nvgl
  • GLMap1d() : nvgl
  • GLMap1f() : nvgl
  • GLMap2d() : nvgl
  • GLMap2f() : nvgl
  • GLMapBuffer() : nvgl
  • GLMapBufferRange() : nvgl
  • GLMapGrid1d() : nvgl
  • GLMapGrid1f() : nvgl
  • GLMapGrid2d() : nvgl
  • GLMapGrid2f() : nvgl
  • GLMapIndexBuffer() : nvgl
  • GLMapVertexBuffer() : nvgl
  • GLMaterialAmbient() : nvgl
  • GLMaterialAmbientBack() : nvgl
  • GLMaterialAmbientFront() : nvgl
  • GLMaterialAmbientFrontAndBack() : nvgl
  • GLMaterialDiffuse() : nvgl
  • GLMaterialDiffuseBack() : nvgl
  • GLMaterialDiffuseFront() : nvgl
  • GLMaterialDiffuseFrontAndBack() : nvgl
  • GLMaterialEmission() : nvgl
  • GLMaterialEmissionBack() : nvgl
  • GLMaterialEmissionFront() : nvgl
  • GLMaterialEmissionFrontAndBack() : nvgl
  • GLMaterialf() : nvgl
  • GLMaterialfv() : nvgl
  • GLMateriali() : nvgl
  • GLMaterialiv() : nvgl
  • GLMaterialShininess() : nvgl
  • GLMaterialShininessBack() : nvgl
  • GLMaterialShininessFront() : nvgl
  • GLMaterialShininessFrontAndBack() : nvgl
  • GLMaterialSpecular() : nvgl
  • GLMaterialSpecularBack() : nvgl
  • GLMaterialSpecularFront() : nvgl
  • GLMaterialSpecularFrontAndBack() : nvgl
  • GLMatrixMode() : nvgl
  • GLMinmax() : nvgl
  • GLMultiDrawArrays() : nvgl
  • GLMultiDrawElements() : nvgl
  • GLMultiTexCoord1d() : nvgl
  • GLMultiTexCoord1dv() : nvgl
  • GLMultiTexCoord1f() : nvgl
  • GLMultiTexCoord1fv() : nvgl
  • GLMultiTexCoord1h() : nvgl
  • GLMultiTexCoord1hv() : nvgl
  • GLMultiTexCoord1i() : nvgl
  • GLMultiTexCoord1iv() : nvgl
  • GLMultiTexCoord1s() : nvgl
  • GLMultiTexCoord1sv() : nvgl
  • GLMultiTexCoord2d() : nvgl
  • GLMultiTexCoord2dv() : nvgl
  • GLMultiTexCoord2f() : nvgl
  • GLMultiTexCoord2fv() : nvgl
  • GLMultiTexCoord2h() : nvgl
  • GLMultiTexCoord2hv() : nvgl
  • GLMultiTexCoord2i() : nvgl
  • GLMultiTexCoord2iv() : nvgl
  • GLMultiTexCoord2s() : nvgl
  • GLMultiTexCoord2sv() : nvgl
  • GLMultiTexCoord3d() : nvgl
  • GLMultiTexCoord3dv() : nvgl
  • GLMultiTexCoord3f() : nvgl
  • GLMultiTexCoord3fv() : nvgl
  • GLMultiTexCoord3h() : nvgl
  • GLMultiTexCoord3hv() : nvgl
  • GLMultiTexCoord3i() : nvgl
  • GLMultiTexCoord3iv() : nvgl
  • GLMultiTexCoord3s() : nvgl
  • GLMultiTexCoord3sv() : nvgl
  • GLMultiTexCoord4d() : nvgl
  • GLMultiTexCoord4dv() : nvgl
  • GLMultiTexCoord4f() : nvgl
  • GLMultiTexCoord4fv() : nvgl
  • GLMultiTexCoord4h() : nvgl
  • GLMultiTexCoord4hv() : nvgl
  • GLMultiTexCoord4i() : nvgl
  • GLMultiTexCoord4iv() : nvgl
  • GLMultiTexCoord4s() : nvgl
  • GLMultiTexCoord4sv() : nvgl
  • GLMultMatrixd() : nvgl
  • GLMultMatrixf() : nvgl
  • GLMultTransposeMatrixd() : nvgl
  • GLMultTransposeMatrixf() : nvgl
  • GLNewList() : nvgl
  • GLNormal3b() : nvgl
  • GLNormal3bv() : nvgl
  • GLNormal3d() : nvgl
  • GLNormal3dv() : nvgl
  • GLNormal3f() : nvgl
  • GLNormal3fv() : nvgl
  • GLNormal3h() : nvgl
  • GLNormal3hv() : nvgl
  • GLNormal3i() : nvgl
  • GLNormal3iv() : nvgl
  • GLNormal3s() : nvgl
  • GLNormal3sv() : nvgl
  • GLNormalPointer() : nvgl
  • GLOrtho() : nvgl
  • GLPassThrough() : nvgl
  • GLPatchParameterfv() : nvgl
  • GLPatchParameteri() : nvgl
  • GLPixelDataRange() : nvgl
  • GLPixelMapfv() : nvgl
  • GLPixelMapuiv() : nvgl
  • GLPixelMapusv() : nvgl
  • GLPixelStoref() : nvgl
  • GLPixelStorei() : nvgl
  • GLPixelTransferf() : nvgl
  • GLPixelTransferi() : nvgl
  • GLPixelZoom() : nvgl
  • GLPointParameterf() : nvgl
  • GLPointParameterfv() : nvgl
  • GLPointParameteri() : nvgl
  • GLPointParameteriv() : nvgl
  • GLPointSize() : nvgl
  • GLPolygonMode() : nvgl
  • GLPolygonModeBack() : nvgl
  • GLPolygonModeFront() : nvgl
  • GLPolygonModeFrontAndBack() : nvgl
  • GLPolygonModeLock() : nvgl
  • GLPolygonModeUnlock() : nvgl
  • GLPolygonOffset() : nvgl
  • GLPolygonStipple() : nvgl
  • GLPopAttrib() : nvgl
  • GLPopClientAttrib() : nvgl
  • GLPopMatrix() : nvgl
  • GLPopName() : nvgl
  • GLPrimitiveRestart() : nvgl
  • GLPrimitiveRestartIndex() : nvgl
  • GLPrioritizeTextures() : nvgl
  • GLProgramBufferParametersfv() : nvgl
  • GLProgramBufferParametersIiv() : nvgl
  • GLProgramBufferParametersIuiv() : nvgl
  • GLProgramEnvParameter4d() : nvgl
  • GLProgramEnvParameter4dv() : nvgl
  • GLProgramEnvParameter4f() : nvgl
  • GLProgramEnvParameter4fv() : nvgl
  • GLProgramEnvParameterI4i() : nvgl
  • GLProgramEnvParameterI4iv() : nvgl
  • GLProgramEnvParameterI4ui() : nvgl
  • GLProgramEnvParameterI4uiv() : nvgl
  • GLProgramEnvParameters4fv() : nvgl
  • GLProgramEnvParametersI4iv() : nvgl
  • GLProgramEnvParametersI4uiv() : nvgl
  • GLProgramLocalParameter4d() : nvgl
  • GLProgramLocalParameter4dv() : nvgl
  • GLProgramLocalParameter4f() : nvgl
  • GLProgramLocalParameter4fv() : nvgl
  • GLProgramLocalParameterI4i() : nvgl
  • GLProgramLocalParameterI4iv() : nvgl
  • GLProgramLocalParameterI4ui() : nvgl
  • GLProgramLocalParameterI4uiv() : nvgl
  • GLProgramLocalParameters4fv() : nvgl
  • GLProgramLocalParametersI4iv() : nvgl
  • GLProgramLocalParametersI4uiv() : nvgl
  • GLProgramNamedParameter4d() : nvgl
  • GLProgramNamedParameter4dv() : nvgl
  • GLProgramNamedParameter4f() : nvgl
  • GLProgramNamedParameter4fv() : nvgl
  • GLProgramParameter4d() : nvgl
  • GLProgramParameter4dv() : nvgl
  • GLProgramParameter4f() : nvgl
  • GLProgramParameter4fv() : nvgl
  • GLProgramParameteri() : nvgl
  • GLProgramParameters4dv() : nvgl
  • GLProgramParameters4fv() : nvgl
  • GLProgramString() : nvgl
  • GLProgramVertexLimit() : nvgl
  • GLPushAttrib() : nvgl
  • GLPushClientAttrib() : nvgl
  • GLPushMatrix() : nvgl
  • GLPushName() : nvgl
  • GLRasterPos2d() : nvgl
  • GLRasterPos2dv() : nvgl
  • GLRasterPos2f() : nvgl
  • GLRasterPos2fv() : nvgl
  • GLRasterPos2i() : nvgl
  • GLRasterPos2iv() : nvgl
  • GLRasterPos2s() : nvgl
  • GLRasterPos2sv() : nvgl
  • GLRasterPos3d() : nvgl
  • GLRasterPos3dv() : nvgl
  • GLRasterPos3f() : nvgl
  • GLRasterPos3fv() : nvgl
  • GLRasterPos3i() : nvgl
  • GLRasterPos3iv() : nvgl
  • GLRasterPos3s() : nvgl
  • GLRasterPos3sv() : nvgl
  • GLRasterPos4d() : nvgl
  • GLRasterPos4dv() : nvgl
  • GLRasterPos4f() : nvgl
  • GLRasterPos4fv() : nvgl
  • GLRasterPos4i() : nvgl
  • GLRasterPos4iv() : nvgl
  • GLRasterPos4s() : nvgl
  • GLRasterPos4sv() : nvgl
  • GLReadBuffer() : nvgl
  • GLReadPixels() : nvgl
  • GLRectd() : nvgl
  • GLRectf() : nvgl
  • GLRecti() : nvgl
  • GLRects() : nvgl
  • GLRenderbufferStorage() : nvgl
  • GLRenderbufferStorageMultisample() : nvgl
  • GLRenderbufferStorageMultisampleCoverage() : nvgl
  • GLRenderMode() : nvgl
  • GLRequestResidentPrograms() : nvgl
  • GLResetAlphaFunc() : nvgl
  • GLResetAlphaTest() : nvgl
  • GLResetAutoNormal() : nvgl
  • GLResetBlend() : nvgl
  • GLResetBlendFunc() : nvgl
  • GLResetBlendFuncSeparate() : nvgl
  • GLResetClearColor() : nvgl
  • GLResetClearDepth() : nvgl
  • GLResetClearStencil() : nvgl
  • GLResetClipPlane() : nvgl
  • GLResetClipPlaneEquation() : nvgl
  • GLResetColorLogicOp() : nvgl
  • GLResetColorMask() : nvgl
  • GLResetColorMaterial() : nvgl
  • GLResetColorMaterialMode() : nvgl
  • GLResetCullFace() : nvgl
  • GLResetCullFaceMode() : nvgl
  • GLResetDepthFunc() : nvgl
  • GLResetDepthMask() : nvgl
  • GLResetDepthRange() : nvgl
  • GLResetDepthTest() : nvgl
  • GLResetDither() : nvgl
  • GLResetFog() : nvgl
  • GLResetFogColor() : nvgl
  • GLResetFogDensity() : nvgl
  • GLResetFogEnd() : nvgl
  • GLResetFogMode() : nvgl
  • GLResetFogStart() : nvgl
  • GLResetFrontFace() : nvgl
  • GLResetHistogram() : nvgl
  • GLResetLight() : nvgl
  • GLResetLightAmbient() : nvgl
  • GLResetLightConstantAttenuation() : nvgl
  • GLResetLightDiffuse() : nvgl
  • GLResetLighting() : nvgl
  • GLResetLightLinearAttenuation() : nvgl
  • GLResetLightModelAmbient() : nvgl
  • GLResetLightModelLocalViewer() : nvgl
  • GLResetLightModelTwoSide() : nvgl
  • GLResetLightPosition() : nvgl
  • GLResetLightQuadraticAttenuation() : nvgl
  • GLResetLightSpecular() : nvgl
  • GLResetLightSpotCutoff() : nvgl
  • GLResetLightSpotDirection() : nvgl
  • GLResetLightSpotExponent() : nvgl
  • GLResetLineSmooth() : nvgl
  • GLResetLineStipple() : nvgl
  • GLResetLineStippleDefinition() : nvgl
  • GLResetLineWidth() : nvgl
  • GLResetLogicOp() : nvgl
  • GLResetMaterialAmbientBack() : nvgl
  • GLResetMaterialAmbientFront() : nvgl
  • GLResetMaterialAmbientFrontAndBack() : nvgl
  • GLResetMaterialDiffuseBack() : nvgl
  • GLResetMaterialDiffuseFront() : nvgl
  • GLResetMaterialDiffuseFrontAndBack() : nvgl
  • GLResetMaterialEmissionBack() : nvgl
  • GLResetMaterialEmissionFront() : nvgl
  • GLResetMaterialEmissionFrontAndBack() : nvgl
  • GLResetMaterialShininessBack() : nvgl
  • GLResetMaterialShininessFront() : nvgl
  • GLResetMaterialShininessFrontAndBack() : nvgl
  • GLResetMaterialSpecularBack() : nvgl
  • GLResetMaterialSpecularFront() : nvgl
  • GLResetMaterialSpecularFrontAndBack() : nvgl
  • GLResetMinmax() : nvgl
  • GLResetNormalize() : nvgl
  • GLResetPointSize() : nvgl
  • GLResetPointSmooth() : nvgl
  • GLResetPolygonModeBack() : nvgl
  • GLResetPolygonModeFront() : nvgl
  • GLResetPolygonModeFrontAndBack() : nvgl
  • GLResetPolygonOffset() : nvgl
  • GLResetPolygonOffsetFill() : nvgl
  • GLResetPolygonOffsetLine() : nvgl
  • GLResetPolygonOffsetPoint() : nvgl
  • GLResetPolygonSmooth() : nvgl
  • GLResetPolygonStipple() : nvgl
  • GLResetRescaleNormal() : nvgl
  • GLResetScissor() : nvgl
  • GLResetScissorTest() : nvgl
  • GLResetShadeModel() : nvgl
  • GLResetStencilFunc() : nvgl
  • GLResetStencilMask() : nvgl
  • GLResetStencilOp() : nvgl
  • GLResetStencilTest() : nvgl
  • GLResetTexture() : nvgl
  • GLRotated() : nvgl
  • GLRotatef() : nvgl
  • GLSampleCoverage() : nvgl
  • GLSampleMaski() : nvgl
  • GLScaled() : nvgl
  • GLScalef() : nvgl
  • GLScissor() : nvgl
  • GLSecondaryColor3b() : nvgl
  • GLSecondaryColor3bv() : nvgl
  • GLSecondaryColor3d() : nvgl
  • GLSecondaryColor3dv() : nvgl
  • GLSecondaryColor3f() : nvgl
  • GLSecondaryColor3fv() : nvgl
  • GLSecondaryColor3h() : nvgl
  • GLSecondaryColor3hv() : nvgl
  • GLSecondaryColor3i() : nvgl
  • GLSecondaryColor3iv() : nvgl
  • GLSecondaryColor3s() : nvgl
  • GLSecondaryColor3sv() : nvgl
  • GLSecondaryColor3ub() : nvgl
  • GLSecondaryColor3ubv() : nvgl
  • GLSecondaryColor3ui() : nvgl
  • GLSecondaryColor3uiv() : nvgl
  • GLSecondaryColor3us() : nvgl
  • GLSecondaryColor3usv() : nvgl
  • GLSecondaryColorPointer() : nvgl
  • GLSelectBuffer() : nvgl
  • GLSelectTexture() : nvgl
  • GLSelectTextureCoordSet() : nvgl
  • GLSeparableFilter2D() : nvgl
  • GLSetFence() : nvgl
  • GLShadeModel() : nvgl
  • GLShaderSource() : nvgl
  • GLStencilClearTag() : nvgl
  • GLStencilFunc() : nvgl
  • GLStencilFuncSeparate() : nvgl
  • GLStencilMask() : nvgl
  • GLStencilMaskSeparate() : nvgl
  • GLStencilOp() : nvgl
  • GLStencilOpSeparate() : nvgl
  • GLStringMarker() : nvgl
  • GLTestFence() : nvgl
  • GLTexBuffer() : nvgl
  • GLTexCoord1d() : nvgl
  • GLTexCoord1dv() : nvgl
  • GLTexCoord1f() : nvgl
  • GLTexCoord1fv() : nvgl
  • GLTexCoord1h() : nvgl
  • GLTexCoord1hv() : nvgl
  • GLTexCoord1i() : nvgl
  • GLTexCoord1iv() : nvgl
  • GLTexCoord1s() : nvgl
  • GLTexCoord1sv() : nvgl
  • GLTexCoord2d() : nvgl
  • GLTexCoord2dv() : nvgl
  • GLTexCoord2f() : nvgl
  • GLTexCoord2fv() : nvgl
  • GLTexCoord2h() : nvgl
  • GLTexCoord2hv() : nvgl
  • GLTexCoord2i() : nvgl
  • GLTexCoord2iv() : nvgl
  • GLTexCoord2s() : nvgl
  • GLTexCoord2sv() : nvgl
  • GLTexCoord3d() : nvgl
  • GLTexCoord3dv() : nvgl
  • GLTexCoord3f() : nvgl
  • GLTexCoord3fv() : nvgl
  • GLTexCoord3h() : nvgl
  • GLTexCoord3hv() : nvgl
  • GLTexCoord3i() : nvgl
  • GLTexCoord3iv() : nvgl
  • GLTexCoord3s() : nvgl
  • GLTexCoord3sv() : nvgl
  • GLTexCoord4d() : nvgl
  • GLTexCoord4dv() : nvgl
  • GLTexCoord4f() : nvgl
  • GLTexCoord4fv() : nvgl
  • GLTexCoord4h() : nvgl
  • GLTexCoord4hv() : nvgl
  • GLTexCoord4i() : nvgl
  • GLTexCoord4iv() : nvgl
  • GLTexCoord4s() : nvgl
  • GLTexCoord4sv() : nvgl
  • GLTexCoordPointer() : nvgl
  • GLTexEnvf() : nvgl
  • GLTexEnvfv() : nvgl
  • GLTexEnvi() : nvgl
  • GLTexEnviv() : nvgl
  • GLTexGend() : nvgl
  • GLTexGenf() : nvgl
  • GLTexGenfv() : nvgl
  • GLTexGeni() : nvgl
  • GLTexImage1D() : nvgl
  • GLTexImage2D() : nvgl
  • GLTexImage2DMultisample() : nvgl
  • GLTexImage3D() : nvgl
  • GLTexImage3DMultisample() : nvgl
  • GLTexParameterf() : nvgl
  • GLTexParameterfv() : nvgl
  • GLTexParameteri() : nvgl
  • GLTexParameterIiv() : nvgl
  • GLTexParameterIuiv() : nvgl
  • GLTexParameteriv() : nvgl
  • GLTexSubImage1D() : nvgl
  • GLTexSubImage2D() : nvgl
  • GLTexSubImage3D() : nvgl
  • GLTextureBorderColor() : nvgl
  • GLTextureEnvColor() : nvgl
  • GLTextureEnvMode() : nvgl
  • GLTextureMagFilter() : nvgl
  • GLTextureMinFilter() : nvgl
  • GLTextureWrapR() : nvgl
  • GLTextureWrapS() : nvgl
  • GLTextureWrapT() : nvgl
  • GLTrackMatrix() : nvgl
  • GLTransformFeedbackAttribsNV() : nvgl
  • GLTransformFeedbackVaryings() : nvgl
  • GLTransformFeedbackVaryingsNV() : nvgl
  • GLTranslated() : nvgl
  • GLTranslatef() : nvgl
  • GLUniform1f() : nvgl
  • GLUniform1fv() : nvgl
  • GLUniform1i() : nvgl
  • GLUniform1iv() : nvgl
  • GLUniform1ui() : nvgl
  • GLUniform1uiv() : nvgl
  • GLUniform2f() : nvgl
  • GLUniform2fv() : nvgl
  • GLUniform2i() : nvgl
  • GLUniform2iv() : nvgl
  • GLUniform2ui() : nvgl
  • GLUniform2uiv() : nvgl
  • GLUniform3f() : nvgl
  • GLUniform3fv() : nvgl
  • GLUniform3i() : nvgl
  • GLUniform3iv() : nvgl
  • GLUniform3ui() : nvgl
  • GLUniform3uiv() : nvgl
  • GLUniform4f() : nvgl
  • GLUniform4fv() : nvgl
  • GLUniform4i() : nvgl
  • GLUniform4iv() : nvgl
  • GLUniform4ui() : nvgl
  • GLUniform4uiv() : nvgl
  • GLUniformBuffer() : nvgl
  • GLUniformMatrix2fv() : nvgl
  • GLUniformMatrix2x3fv() : nvgl
  • GLUniformMatrix2x4fv() : nvgl
  • GLUniformMatrix3fv() : nvgl
  • GLUniformMatrix3x2fv() : nvgl
  • GLUniformMatrix3x4fv() : nvgl
  • GLUniformMatrix4fv() : nvgl
  • GLUniformMatrix4x2fv() : nvgl
  • GLUniformMatrix4x3fv() : nvgl
  • GLUnlockArrays() : nvgl
  • GLUnmapBuffer() : nvgl
  • GLUnmapIndexBuffer() : nvgl
  • GLUnmapVertexBuffer() : nvgl
  • GLUploadBuffers() : nvgl
  • GLUseProgram() : nvgl
  • GLUseProgramObject() : nvgl
  • GLValidateProgram() : nvgl
  • GLVertex2d() : nvgl
  • GLVertex2dv() : nvgl
  • GLVertex2f() : nvgl
  • GLVertex2fv() : nvgl
  • GLVertex2h() : nvgl
  • GLVertex2hv() : nvgl
  • GLVertex2i() : nvgl
  • GLVertex2iv() : nvgl
  • GLVertex2s() : nvgl
  • GLVertex2sv() : nvgl
  • GLVertex3d() : nvgl
  • GLVertex3dv() : nvgl
  • GLVertex3f() : nvgl
  • GLVertex3fv() : nvgl
  • GLVertex3h() : nvgl
  • GLVertex3hv() : nvgl
  • GLVertex3i() : nvgl
  • GLVertex3iv() : nvgl
  • GLVertex3s() : nvgl
  • GLVertex3sv() : nvgl
  • GLVertex4d() : nvgl
  • GLVertex4dv() : nvgl
  • GLVertex4f() : nvgl
  • GLVertex4fv() : nvgl
  • GLVertex4h() : nvgl
  • GLVertex4hv() : nvgl
  • GLVertex4i() : nvgl
  • GLVertex4iv() : nvgl
  • GLVertex4s() : nvgl
  • GLVertex4sv() : nvgl
  • GLVertexArrayRange() : nvgl
  • GLVertexAttrib1d() : nvgl
  • GLVertexAttrib1dv() : nvgl
  • GLVertexAttrib1f() : nvgl
  • GLVertexAttrib1fv() : nvgl
  • GLVertexAttrib1h() : nvgl
  • GLVertexAttrib1hv() : nvgl
  • GLVertexAttrib1s() : nvgl
  • GLVertexAttrib1sv() : nvgl
  • GLVertexAttrib2d() : nvgl
  • GLVertexAttrib2dv() : nvgl
  • GLVertexAttrib2f() : nvgl
  • GLVertexAttrib2fv() : nvgl
  • GLVertexAttrib2h() : nvgl
  • GLVertexAttrib2hv() : nvgl
  • GLVertexAttrib2s() : nvgl
  • GLVertexAttrib2sv() : nvgl
  • GLVertexAttrib3d() : nvgl
  • GLVertexAttrib3dv() : nvgl
  • GLVertexAttrib3f() : nvgl
  • GLVertexAttrib3fv() : nvgl
  • GLVertexAttrib3h() : nvgl
  • GLVertexAttrib3hv() : nvgl
  • GLVertexAttrib3s() : nvgl
  • GLVertexAttrib3sv() : nvgl
  • GLVertexAttrib4bv() : nvgl
  • GLVertexAttrib4d() : nvgl
  • GLVertexAttrib4dv() : nvgl
  • GLVertexAttrib4f() : nvgl
  • GLVertexAttrib4fv() : nvgl
  • GLVertexAttrib4h() : nvgl
  • GLVertexAttrib4hv() : nvgl
  • GLVertexAttrib4iv() : nvgl
  • GLVertexAttrib4Nbv() : nvgl
  • GLVertexAttrib4Niv() : nvgl
  • GLVertexAttrib4Nsv() : nvgl
  • GLVertexAttrib4Nub() : nvgl
  • GLVertexAttrib4Nubv() : nvgl
  • GLVertexAttrib4Nuiv() : nvgl
  • GLVertexAttrib4Nusv() : nvgl
  • GLVertexAttrib4s() : nvgl
  • GLVertexAttrib4sv() : nvgl
  • GLVertexAttrib4ub() : nvgl
  • GLVertexAttrib4ubv() : nvgl
  • GLVertexAttrib4uiv() : nvgl
  • GLVertexAttrib4usv() : nvgl
  • GLVertexAttribI1i() : nvgl
  • GLVertexAttribI1iv() : nvgl
  • GLVertexAttribI1ui() : nvgl
  • GLVertexAttribI1uiv() : nvgl
  • GLVertexAttribI2i() : nvgl
  • GLVertexAttribI2iv() : nvgl
  • GLVertexAttribI2ui() : nvgl
  • GLVertexAttribI2uiv() : nvgl
  • GLVertexAttribI3i() : nvgl
  • GLVertexAttribI3iv() : nvgl
  • GLVertexAttribI3ui() : nvgl
  • GLVertexAttribI3uiv() : nvgl
  • GLVertexAttribI4bv() : nvgl
  • GLVertexAttribI4i() : nvgl
  • GLVertexAttribI4iv() : nvgl
  • GLVertexAttribI4sv() : nvgl
  • GLVertexAttribI4ubv() : nvgl
  • GLVertexAttribI4ui() : nvgl
  • GLVertexAttribI4uiv() : nvgl
  • GLVertexAttribI4usv() : nvgl
  • GLVertexAttribIPointer() : nvgl
  • GLVertexAttribPointer() : nvgl
  • GLVertexAttribPointerNV() : nvgl
  • GLVertexAttribs1dvNV() : nvgl
  • GLVertexAttribs1fvNV() : nvgl
  • GLVertexAttribs1hv() : nvgl
  • GLVertexAttribs1svNV() : nvgl
  • GLVertexAttribs2dvNV() : nvgl
  • GLVertexAttribs2fvNV() : nvgl
  • GLVertexAttribs2hv() : nvgl
  • GLVertexAttribs2svNV() : nvgl
  • GLVertexAttribs3dvNV() : nvgl
  • GLVertexAttribs3fvNV() : nvgl
  • GLVertexAttribs3hv() : nvgl
  • GLVertexAttribs3svNV() : nvgl
  • GLVertexAttribs4dvNV() : nvgl
  • GLVertexAttribs4fvNV() : nvgl
  • GLVertexAttribs4hv() : nvgl
  • GLVertexAttribs4svNV() : nvgl
  • GLVertexAttribs4ubvNV() : nvgl
  • GLVertexPointer() : nvgl
  • GLViewport() : nvgl
  • GLWindowPos2d() : nvgl
  • GLWindowPos2dv() : nvgl
  • GLWindowPos2f() : nvgl
  • GLWindowPos2fv() : nvgl
  • GLWindowPos2i() : nvgl
  • GLWindowPos2iv() : nvgl
  • GLWindowPos2s() : nvgl
  • GLWindowPos2sv() : nvgl
  • GLWindowPos3d() : nvgl
  • GLWindowPos3dv() : nvgl
  • GLWindowPos3f() : nvgl
  • GLWindowPos3fv() : nvgl
  • GLWindowPos3i() : nvgl
  • GLWindowPos3iv() : nvgl
  • GLWindowPos3s() : nvgl
  • GLWindowPos3sv() : nvgl
  • GLXCreateContext() : nvgl
  • GLXDestroyContext() : nvgl
  • GLXGetCurrentContext() : nvgl
  • GLXGetCurrentDrawable() : nvgl
  • GLXInitializeExtensions() : nvgl
  • GLXIsExtensionAvailable() : nvgl
  • GLXIsExtensionExported() : nvgl

- h -

  • HashKey : nvsg
  • HDAL : nvsg
  • HDAL_INVALID : nvsg
  • highestBit() : nvmath
  • highestBitValue() : nvmath
  • horizontalToVerticalFieldOfView() : nvmath

- i -

  • initReflection() : nvutil
  • insert() : nvsg
  • intersectingSphere() : nvmath
  • invert() : nvmath
  • isIdentity() : nvmath
  • isNormalized() : nvmath
  • isNull() : nvmath
  • isOrthogonal() : nvmath
  • isPositive() : nvmath
  • isPowerOfTwo() : nvmath
  • isPtrTo() : nvsg
  • isRotation() : nvmath
  • isSingular() : nvmath
  • isSmartPtrOf() : nvutil
  • isUniform() : nvmath
  • isValid() : nvmath
  • isValidBoundingSphere() : nvsg

- l -

  • length() : nvmath
  • lengthSquared() : nvmath
  • lerp() : nvmath
  • LOG_OUTPUT_FUNCTION : nvutil
  • logFileOutput : nvutil
  • LogTest : nvutil

- m -

  • MA_CENTER : nvsg
  • MA_LOWER : nvsg
  • MA_UPPER : nvsg
  • magnitude() : nvmath
  • makeFrustum() : nvmath
  • makeLookAt() : nvmath
  • makeOrtho() : nvmath
  • makePerspective() : nvmath
  • MapAlignment : nvsg
  • MapOrientation : nvsg
  • MapRelation : nvsg
  • MapTraversalDirection : nvsg
  • MaterialFace : nvsg
  • max() : nvmath
  • maxElement() : nvmath
  • MF_BACK : nvsg
  • MF_FRONT : nvsg
  • MF_FRONT_AND_BACK : nvsg
  • min() : nvmath
  • minElement() : nvmath
  • MO_HORIZONTAL : nvsg
  • MO_VERTICAL : nvsg
  • MR_CENTER : nvsg
  • MR_CENTER_LEFT : nvsg
  • MR_CENTER_RIGHT : nvsg
  • MR_LOWER_CENTER : nvsg
  • MR_LOWER_LEFT : nvsg
  • MR_LOWER_RIGHT : nvsg
  • MR_UPPER_CENTER : nvsg
  • MR_UPPER_LEFT : nvsg
  • MR_UPPER_RIGHT : nvsg
  • MTD_HIGH_TO_LOW : nvsg
  • MTD_LOW_TO_HIGH : nvsg

- n -

  • nearestPoint() : nvmath
  • normalize() : nvmath, nvsg
  • numberOfComponents() : nvsg
  • NVSG_TEXTURE_1D : nvsg
  • NVSG_TEXTURE_1D_ARRAY : nvsg
  • NVSG_TEXTURE_2D : nvsg
  • NVSG_TEXTURE_2D_ARRAY : nvsg
  • NVSG_TEXTURE_2D_MULTISAMPLE : nvsg
  • NVSG_TEXTURE_2D_MULTISAMPLE_ARRAY : nvsg
  • NVSG_TEXTURE_3D : nvsg
  • NVSG_TEXTURE_BUFFER : nvsg
  • NVSG_TEXTURE_CUBE : nvsg
  • NVSG_TEXTURE_CUBE_ARRAY : nvsg
  • NVSG_TEXTURE_RECTANGLE : nvsg
  • NVSG_TEXTURE_TARGET_COUNT : nvsg
  • NVSG_UNSPECIFIED_TEXTURE_TARGET : nvsg
  • NVSGERRORHANDLER() : nvsg
  • nvsgErrorHandler : nvsg
  • nvsgGetDebugFlags() : nvsg
  • nvsgInitialize() : nvsg
  • nvsgRuntimeDebugControl() : nvsg
  • nvsgSetDebugFlags() : nvsg
  • nvsgSetErrorHandler() : nvsg
  • nvsgTerminate() : nvsg

- o -

  • OBJECT_TRAITS() : nvutil
  • OBJECT_TRAITS_BASE() : nvutil
  • OC_ALPHATESTATTRIBUTE : nvsg
  • OC_ANIMATED_VERTEX_ATTRIBUTE_SET : nvsg
  • OC_ANIMATEDTRANSFORM : nvsg
  • OC_ANIMATION : nvsg
  • OC_BILLBOARD : nvsg
  • OC_BITMAP : nvsg
  • OC_BLENDATTRIBUTE : nvsg
  • OC_CAMERA : nvsg
  • OC_CGFX : nvsg
  • OC_CLIPPLANE : nvsg
  • OC_CUSTOMOBJECT : nvsg
  • OC_DEPTHATTRIBUTE : nvsg
  • OC_DIRECTEDLIGHT : nvsg
  • OC_DRAWABLE : nvsg
  • OC_FACEATTRIBUTE : nvsg
  • OC_FLIPBOOKANIMATION : nvsg
  • OC_FLOATANIMATION : nvsg
  • OC_FRAMEDINDEXANIMATIONDESCRIPTION : nvsg
  • OC_FRAMEDTRAFOANIMATIONDESCRIPTION : nvsg
  • OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : nvsg
  • OC_GEONODE : nvsg
  • OC_GROUP : nvsg
  • OC_INDEXANIMATION : nvsg
  • OC_INVALID : nvsg
  • OC_LIGHTINGATTRIBUTE : nvsg
  • OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : nvsg
  • OC_LINEATTRIBUTE : nvsg
  • OC_LINES : nvsg
  • OC_LINESTRIPS : nvsg
  • OC_LOD : nvsg
  • OC_MAPARRAY : nvsg
  • OC_MAPELEMENT : nvsg
  • OC_MAPLIST : nvsg
  • OC_MAPMATRIX : nvsg
  • OC_MAT33FANIMATION : nvsg
  • OC_MAT44FANIMATION : nvsg
  • OC_MATERIAL : nvsg
  • OC_MATRIXCAMERA : nvsg
  • OC_NODE : nvsg
  • OC_OBJECT : nvsg
  • OC_PARALLELCAMERA : nvsg
  • OC_PATCHES : nvsg
  • OC_PERSPECTIVECAMERA : nvsg
  • OC_PIXMAP : nvsg
  • OC_POINTATTRIBUTE : nvsg
  • OC_POINTLIGHT : nvsg
  • OC_POINTS : nvsg
  • OC_PRIMITIVE : nvsg
  • OC_QUAD_PATCHES : nvsg
  • OC_QUAD_PATCHES_4X4 : nvsg
  • OC_QUADMESHES : nvsg
  • OC_QUADS : nvsg
  • OC_QUADSTRIPS : nvsg
  • OC_QUATFANIMATION : nvsg
  • OC_RECT_PATCHES : nvsg
  • OC_RTBUFFERATTRIBUTE : nvsg
  • OC_RTFX : nvsg
  • OC_RTFX_PROGRAM : nvsg
  • OC_RTFX_SCENE_ATTRIBUTE : nvsg
  • OC_SHAPE : nvsg
  • OC_SKIN : nvsg
  • OC_SPOTLIGHT : nvsg
  • OC_STATEATTRIBUTE : nvsg
  • OC_STATEPASS : nvsg
  • OC_STATESET : nvsg
  • OC_STATESETEXT : nvsg
  • OC_STATEVARIANT : nvsg
  • OC_STENCILATTRIBUTE : nvsg
  • OC_SWITCH : nvsg
  • OC_TEXTUREATTRIBUTE : nvsg
  • OC_TEXTUREATTRIBUTEITEM : nvsg
  • OC_TRAFOANIMATION : nvsg
  • OC_TRANSFORM : nvsg
  • OC_TRI_PATCHES : nvsg
  • OC_TRI_PATCHES_4 : nvsg
  • OC_TRIANGLES : nvsg
  • OC_TRIFANS : nvsg
  • OC_TRISTRIPS : nvsg
  • OC_UNLITCOLORATTRIBUTE : nvsg
  • OC_VEC2FANIMATION : nvsg
  • OC_VEC3FANIMATION : nvsg
  • OC_VEC4FANIMATION : nvsg
  • OC_VERTEX_ATTRIBUTE_SET : nvsg
  • OC_VERTEXATTRIBUTEANIMATION : nvsg
  • operator *() : nvmath
  • operator!=() : nvutil, nvmath, nvsg
  • operator+() : nvmath
  • operator-() : nvmath
  • operator/() : nvmath
  • operator<() : nvutil
  • operator<<() : nvtraverser
  • operator==() : nvutil, nvmath, nvsg
  • operator^() : nvmath
  • operator~() : nvmath
  • orthonormal() : nvmath
  • orthonormalize() : nvmath

- p -

  • PFNGETPLUGINTERFACE : nvutil
  • PFNQUERYPLUGINTERFACETYPE : nvutil
  • PI : nvmath
  • PI_HALF : nvmath
  • PI_QUARTER : nvmath
  • PIS : nvutil
  • powerOfTwoAbove() : nvmath
  • powerOfTwoBelow() : nvmath
  • powerOfTwoNearest() : nvmath
  • PrimitiveType : nvsg
  • ProblemLogList : nvutil
  • PropertyId : nvutil

- q -

  • queryInterfaceType() : nvutil

- r -

  • radToDeg() : nvmath
  • reflection_cast() : nvutil
  • releaseInterface() : nvutil
  • reportError() : nvutil
  • reportWarning() : nvutil
  • rescale() : nvsg

- s -

  • Segment : nvsg
  • set_erase() : nvutil
  • setAllAnimations() : nvsg
  • SetCurrentDir() : nvutil
  • setIdentity() : nvmath
  • setMat() : nvmath
  • setPlugInFileFilter() : nvutil
  • SetUserAssertCallback() : nvutil
  • setVec() : nvmath
  • SF_ALWAYS : nvsg
  • SF_EQUAL : nvsg
  • SF_GREATER : nvsg
  • SF_GREATER_OR_EQUAL : nvsg
  • SF_LESS : nvsg
  • SF_LESS_OR_EQUAL : nvsg
  • SF_NEVER : nvsg
  • SF_NOT_EQUAL : nvsg
  • sharedPtr_cast() : nvutil
  • shutdownReflection() : nvutil
  • sign() : nvmath
  • signedDistance() : nvmath
  • sizeOfComponents() : nvsg
  • sizeOfType() : nvsg
  • smart_cast() : nvutil
  • SmartRCObject : nvutil
  • smoothNormals() : nvmath
  • SO_DECREMENT : nvsg
  • SO_DECREMENT_WRAP : nvsg
  • SO_INCREMENT : nvsg
  • SO_INCREMENT_WRAP : nvsg
  • SO_INVERT : nvsg
  • SO_KEEP : nvsg
  • SO_REPLACE : nvsg
  • SO_ZERO : nvsg
  • solveCubicEquation() : nvmath
  • solveQuadraticEquation() : nvmath
  • SplitPath() : nvutil
  • SQRT_THREE : nvmath
  • SQRT_THREE_HALF : nvmath
  • SQRT_TWO : nvmath
  • SQRT_TWO_HALF : nvmath
  • square() : nvmath
  • SS_BACK : nvsg
  • SS_FRONT : nvsg
  • StateSetReplacementMap : nvsg
  • StencilFunction : nvsg
  • StencilOperation : nvsg
  • StencilSide : nvsg
  • stridedMemcpy() : nvsg
  • stringToParameterDescription() : nvsg
  • subdivide() : nvmath
  • SWMRCriticalSection : nvutil

- t -

  • TCA_Q : nvsg
  • TCA_R : nvsg
  • TCA_S : nvsg
  • TCA_T : nvsg
  • TCT_CYLINDRICAL : nvsg
  • TCT_PLANAR : nvsg
  • TCT_SPHERICAL : nvsg
  • TEM_ADD : nvsg
  • TEM_ADD_SIGNED : nvsg
  • TEM_BLEND : nvsg
  • TEM_DECAL : nvsg
  • TEM_DOT3_RGB : nvsg
  • TEM_DOT3_RGBA : nvsg
  • TEM_INTERPOLATE : nvsg
  • TEM_MODULATE : nvsg
  • TEM_REPLACE : nvsg
  • TEM_SUBTRACT : nvsg
  • TES_1X : nvsg
  • TES_2X : nvsg
  • TES_4X : nvsg
  • TESTMODE : nvutil
  • TexCoordAxis : nvsg
  • TexGenLinearPlane : nvsg
  • TexGenMode : nvsg
  • TextureCoordType : nvsg
  • TextureEnvMode : nvsg
  • TextureEnvScale : nvsg
  • TextureMagFilterMode : nvsg
  • TextureMinFilterMode : nvsg
  • TextureTarget : nvsg
  • TextureWrapMode : nvsg
  • TexWrapCoordAxis : nvsg
  • TFM_MAG_BILINEAR : nvsg
  • TFM_MAG_LINEAR : nvsg
  • TFM_MAG_NEAREST : nvsg
  • TFM_MIN_BILINEAR : nvsg
  • TFM_MIN_LINEAR : nvsg
  • TFM_MIN_LINEAR_MIPMAP_LINEAR : nvsg
  • TFM_MIN_LINEAR_MIPMAP_NEAREST : nvsg
  • TFM_MIN_NEAREST : nvsg
  • TFM_MIN_NEAREST_MIPMAP_LINEAR : nvsg
  • TFM_MIN_NEAREST_MIPMAP_NEAREST : nvsg
  • TFM_MIN_TRILINEAR : nvsg
  • TGLP_EYE : nvsg
  • TGLP_OBJECT : nvsg
  • TGLP_OBJECT_AND_EYE : nvsg
  • TGM_EYE_LINEAR : nvsg
  • TGM_NORMAL_MAP : nvsg
  • TGM_OBJECT_LINEAR : nvsg
  • TGM_OFF : nvsg
  • TGM_REFLECTION_MAP : nvsg
  • TGM_SPHERE_MAP : nvsg
  • TM_NONE : nvutil
  • TM_TEST : nvutil
  • TWCA_R : nvsg
  • TWCA_S : nvsg
  • TWCA_T : nvsg
  • TWM_CLAMP : nvsg
  • TWM_CLAMP_TO_BORDER : nvsg
  • TWM_CLAMP_TO_EDGE : nvsg
  • TWM_MIRROR_CLAMP : nvsg
  • TWM_MIRROR_CLAMP_TO_BORDER : nvsg
  • TWM_MIRROR_CLAMP_TO_EDGE : nvsg
  • TWM_MIRROR_REPEAT : nvsg
  • TWM_REPEAT : nvsg

- v -

  • VariantKey : nvsg
  • verticalToHorizontalFieldOfView() : nvmath

- w -

  • weakPtr_cast() : nvutil
  • WGLBindSwapBarrierNV() : nvgl
  • WGLBindTexImage() : nvgl
  • WGLBindVideoDeviceNV() : nvgl
  • WGLBindVideoImage() : nvgl
  • WGLChoosePixelFormat() : nvgl
  • WGLCreateAffinityDC() : nvgl
  • WGLCreateContext() : nvgl
  • WGLCreatePbuffer() : nvgl
  • WGLDeleteContext() : nvgl
  • WGLDeleteDC() : nvgl
  • WGLDestroyPbuffer() : nvgl
  • WGLEnumerateVideoDevicesNV() : nvgl
  • WGLEnumGpuDevices() : nvgl
  • WGLEnumGpus() : nvgl
  • WGLEnumGpusFromAffinityDC() : nvgl
  • WGLGetCurrentContext() : nvgl
  • WGLGetCurrentDC() : nvgl
  • WGLGetPbufferDC() : nvgl
  • WGLGetPixelFormatAttribfv() : nvgl
  • WGLGetPixelFormatAttribivARB() : nvgl
  • WGLGetSwapInterval() : nvgl
  • WGLGetVideoDevice() : nvgl
  • WGLGetVideoInfo() : nvgl
  • WGLInitializeExtensions() : nvgl
  • WGLIsExtensionAvailable() : nvgl
  • WGLIsExtensionExported() : nvgl
  • WGLJoinSwapGroupNV() : nvgl
  • WGLQueryCurrentContextNV() : nvgl
  • WGLQueryFrameCountNV() : nvgl
  • WGLQueryMaxSwapGroupsNV() : nvgl
  • WGLQueryPbuffer() : nvgl
  • WGLQuerySwapGroupNV() : nvgl
  • WGLReleasePbufferDC() : nvgl
  • WGLReleaseTexImage() : nvgl
  • WGLReleaseVideoDevice() : nvgl
  • WGLReleaseVideoImage() : nvgl
  • WGLResetFrameCountNV() : nvgl
  • WGLSendPbufferToVideo() : nvgl
  • WGLSwapInterval() : nvgl
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Namespace Members - Enumerations

All | Functions | Variables | Typedefs | Enumerations | Enumeration values

  • AlphaFunction : nvsg
  • BlendFunction : nvsg
  • CullCode : nvsg
  • DepthFunction : nvsg
  • MapAlignment : nvsg
  • MapOrientation : nvsg
  • MapRelation : nvsg
  • MapTraversalDirection : nvsg
  • MaterialFace : nvsg
  • PrimitiveType : nvsg
  • StencilFunction : nvsg
  • StencilOperation : nvsg
  • StencilSide : nvsg
  • TESTMODE : nvutil
  • TexCoordAxis : nvsg
  • TexGenLinearPlane : nvsg
  • TexGenMode : nvsg
  • TextureCoordType : nvsg
  • TextureEnvMode : nvsg
  • TextureEnvScale : nvsg
  • TextureMagFilterMode : nvsg
  • TextureMinFilterMode : nvsg
  • TextureTarget : nvsg
  • TextureWrapMode : nvsg
  • TexWrapCoordAxis : nvsg
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Namespace Members - Enumeration values

All | Functions | Variables | Typedefs | Enumerations | Enumeration values
a | b | c | m | n | o | s | t

- a -

  • AF_ALWAYS : nvsg
  • AF_EQUAL : nvsg
  • AF_GEQUAL : nvsg
  • AF_GREATER : nvsg
  • AF_LEQUAL : nvsg
  • AF_LESS : nvsg
  • AF_NEVER : nvsg
  • AF_NOTEQUAL : nvsg

- b -

  • BF_DESTINATION_ALPHA : nvsg
  • BF_DESTINATION_COLOR : nvsg
  • BF_ONE : nvsg
  • BF_ONE_MINUS_DESTINATION_ALPHA : nvsg
  • BF_ONE_MINUS_DESTINATION_COLOR : nvsg
  • BF_ONE_MINUS_SOURCE_ALPHA : nvsg
  • BF_ONE_MINUS_SOURCE_COLOR : nvsg
  • BF_SOURCE_ALPHA : nvsg
  • BF_SOURCE_ALPHA_SATURATE : nvsg
  • BF_SOURCE_COLOR : nvsg
  • BF_ZERO : nvsg

- c -

  • CC_IN : nvsg
  • CC_OUT : nvsg
  • CC_PART : nvsg

- m -

  • MA_CENTER : nvsg
  • MA_LOWER : nvsg
  • MA_UPPER : nvsg
  • MF_BACK : nvsg
  • MF_FRONT : nvsg
  • MF_FRONT_AND_BACK : nvsg
  • MO_HORIZONTAL : nvsg
  • MO_VERTICAL : nvsg
  • MR_CENTER : nvsg
  • MR_CENTER_LEFT : nvsg
  • MR_CENTER_RIGHT : nvsg
  • MR_LOWER_CENTER : nvsg
  • MR_LOWER_LEFT : nvsg
  • MR_LOWER_RIGHT : nvsg
  • MR_UPPER_CENTER : nvsg
  • MR_UPPER_LEFT : nvsg
  • MR_UPPER_RIGHT : nvsg
  • MTD_HIGH_TO_LOW : nvsg
  • MTD_LOW_TO_HIGH : nvsg

- n -

  • NVSG_TEXTURE_1D : nvsg
  • NVSG_TEXTURE_1D_ARRAY : nvsg
  • NVSG_TEXTURE_2D : nvsg
  • NVSG_TEXTURE_2D_ARRAY : nvsg
  • NVSG_TEXTURE_2D_MULTISAMPLE : nvsg
  • NVSG_TEXTURE_2D_MULTISAMPLE_ARRAY : nvsg
  • NVSG_TEXTURE_3D : nvsg
  • NVSG_TEXTURE_BUFFER : nvsg
  • NVSG_TEXTURE_CUBE : nvsg
  • NVSG_TEXTURE_CUBE_ARRAY : nvsg
  • NVSG_TEXTURE_RECTANGLE : nvsg
  • NVSG_TEXTURE_TARGET_COUNT : nvsg
  • NVSG_UNSPECIFIED_TEXTURE_TARGET : nvsg

- o -

  • OC_ALPHATESTATTRIBUTE : nvsg
  • OC_ANIMATED_VERTEX_ATTRIBUTE_SET : nvsg
  • OC_ANIMATEDTRANSFORM : nvsg
  • OC_ANIMATION : nvsg
  • OC_BILLBOARD : nvsg
  • OC_BITMAP : nvsg
  • OC_BLENDATTRIBUTE : nvsg
  • OC_CAMERA : nvsg
  • OC_CGFX : nvsg
  • OC_CLIPPLANE : nvsg
  • OC_CUSTOMOBJECT : nvsg
  • OC_DEPTHATTRIBUTE : nvsg
  • OC_DIRECTEDLIGHT : nvsg
  • OC_DRAWABLE : nvsg
  • OC_FACEATTRIBUTE : nvsg
  • OC_FLIPBOOKANIMATION : nvsg
  • OC_FLOATANIMATION : nvsg
  • OC_FRAMEDINDEXANIMATIONDESCRIPTION : nvsg
  • OC_FRAMEDTRAFOANIMATIONDESCRIPTION : nvsg
  • OC_FRAMEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : nvsg
  • OC_GEONODE : nvsg
  • OC_GROUP : nvsg
  • OC_INDEXANIMATION : nvsg
  • OC_INVALID : nvsg
  • OC_LIGHTINGATTRIBUTE : nvsg
  • OC_LINEARINTERPOLATEDFLOATANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDMAT33FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDMAT44FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDQUATFANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDTRAFOANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVEC2FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVEC3FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVEC4FANIMATIONDESCRIPTION : nvsg
  • OC_LINEARINTERPOLATEDVERTEXATTRIBUTEANIMATIONDESCRIPTION : nvsg
  • OC_LINEATTRIBUTE : nvsg
  • OC_LINES : nvsg
  • OC_LINESTRIPS : nvsg
  • OC_LOD : nvsg
  • OC_MAPARRAY : nvsg
  • OC_MAPELEMENT : nvsg
  • OC_MAPLIST : nvsg
  • OC_MAPMATRIX : nvsg
  • OC_MAT33FANIMATION : nvsg
  • OC_MAT44FANIMATION : nvsg
  • OC_MATERIAL : nvsg
  • OC_MATRIXCAMERA : nvsg
  • OC_NODE : nvsg
  • OC_OBJECT : nvsg
  • OC_PARALLELCAMERA : nvsg
  • OC_PATCHES : nvsg
  • OC_PERSPECTIVECAMERA : nvsg
  • OC_PIXMAP : nvsg
  • OC_POINTATTRIBUTE : nvsg
  • OC_POINTLIGHT : nvsg
  • OC_POINTS : nvsg
  • OC_PRIMITIVE : nvsg
  • OC_QUAD_PATCHES : nvsg
  • OC_QUAD_PATCHES_4X4 : nvsg
  • OC_QUADMESHES : nvsg
  • OC_QUADS : nvsg
  • OC_QUADSTRIPS : nvsg
  • OC_QUATFANIMATION : nvsg
  • OC_RECT_PATCHES : nvsg
  • OC_RTBUFFERATTRIBUTE : nvsg
  • OC_RTFX : nvsg
  • OC_RTFX_PROGRAM : nvsg
  • OC_RTFX_SCENE_ATTRIBUTE : nvsg
  • OC_SHAPE : nvsg
  • OC_SKIN : nvsg
  • OC_SPOTLIGHT : nvsg
  • OC_STATEATTRIBUTE : nvsg
  • OC_STATEPASS : nvsg
  • OC_STATESET : nvsg
  • OC_STATESETEXT : nvsg
  • OC_STATEVARIANT : nvsg
  • OC_STENCILATTRIBUTE : nvsg
  • OC_SWITCH : nvsg
  • OC_TEXTUREATTRIBUTE : nvsg
  • OC_TEXTUREATTRIBUTEITEM : nvsg
  • OC_TRAFOANIMATION : nvsg
  • OC_TRANSFORM : nvsg
  • OC_TRI_PATCHES : nvsg
  • OC_TRI_PATCHES_4 : nvsg
  • OC_TRIANGLES : nvsg
  • OC_TRIFANS : nvsg
  • OC_TRISTRIPS : nvsg
  • OC_UNLITCOLORATTRIBUTE : nvsg
  • OC_VEC2FANIMATION : nvsg
  • OC_VEC3FANIMATION : nvsg
  • OC_VEC4FANIMATION : nvsg
  • OC_VERTEX_ATTRIBUTE_SET : nvsg
  • OC_VERTEXATTRIBUTEANIMATION : nvsg

- s -

  • SF_ALWAYS : nvsg
  • SF_EQUAL : nvsg
  • SF_GREATER : nvsg
  • SF_GREATER_OR_EQUAL : nvsg
  • SF_LESS : nvsg
  • SF_LESS_OR_EQUAL : nvsg
  • SF_NEVER : nvsg
  • SF_NOT_EQUAL : nvsg
  • SO_DECREMENT : nvsg
  • SO_DECREMENT_WRAP : nvsg
  • SO_INCREMENT : nvsg
  • SO_INCREMENT_WRAP : nvsg
  • SO_INVERT : nvsg
  • SO_KEEP : nvsg
  • SO_REPLACE : nvsg
  • SO_ZERO : nvsg
  • SS_BACK : nvsg
  • SS_FRONT : nvsg

- t -

  • TCA_Q : nvsg
  • TCA_R : nvsg
  • TCA_S : nvsg
  • TCA_T : nvsg
  • TCT_CYLINDRICAL : nvsg
  • TCT_PLANAR : nvsg
  • TCT_SPHERICAL : nvsg
  • TEM_ADD : nvsg
  • TEM_ADD_SIGNED : nvsg
  • TEM_BLEND : nvsg
  • TEM_DECAL : nvsg
  • TEM_DOT3_RGB : nvsg
  • TEM_DOT3_RGBA : nvsg
  • TEM_INTERPOLATE : nvsg
  • TEM_MODULATE : nvsg
  • TEM_REPLACE : nvsg
  • TEM_SUBTRACT : nvsg
  • TES_1X : nvsg
  • TES_2X : nvsg
  • TES_4X : nvsg
  • TFM_MAG_BILINEAR : nvsg
  • TFM_MAG_LINEAR : nvsg
  • TFM_MAG_NEAREST : nvsg
  • TFM_MIN_BILINEAR : nvsg
  • TFM_MIN_LINEAR : nvsg
  • TFM_MIN_LINEAR_MIPMAP_LINEAR : nvsg
  • TFM_MIN_LINEAR_MIPMAP_NEAREST : nvsg
  • TFM_MIN_NEAREST : nvsg
  • TFM_MIN_NEAREST_MIPMAP_LINEAR : nvsg
  • TFM_MIN_NEAREST_MIPMAP_NEAREST : nvsg
  • TFM_MIN_TRILINEAR : nvsg
  • TGLP_EYE : nvsg
  • TGLP_OBJECT : nvsg
  • TGLP_OBJECT_AND_EYE : nvsg
  • TGM_EYE_LINEAR : nvsg
  • TGM_NORMAL_MAP : nvsg
  • TGM_OBJECT_LINEAR : nvsg
  • TGM_OFF : nvsg
  • TGM_REFLECTION_MAP : nvsg
  • TGM_SPHERE_MAP : nvsg
  • TM_NONE : nvutil
  • TM_TEST : nvutil
  • TWCA_R : nvsg
  • TWCA_S : nvsg
  • TWCA_T : nvsg
  • TWM_CLAMP : nvsg
  • TWM_CLAMP_TO_BORDER : nvsg
  • TWM_CLAMP_TO_EDGE : nvsg
  • TWM_MIRROR_CLAMP : nvsg
  • TWM_MIRROR_CLAMP_TO_BORDER : nvsg
  • TWM_MIRROR_CLAMP_TO_EDGE : nvsg
  • TWM_MIRROR_REPEAT : nvsg
  • TWM_REPEAT : nvsg
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Namespace Members - Functions

All | Functions | Variables | Typedefs | Enumerations | Enumeration values
a | b | c | d | e | f | g | h | i | l | m | n | o | p | q | r | s | v | w

- a -

  • addPlugInSearchPath() : nvutil
  • ApplyNodeHints() : nvutil
  • areCollinear() : nvmath
  • areOfSameType() : nvsg
  • areOnOppositeSides() : nvmath
  • areOnSameSide() : nvmath
  • areOpposite() : nvmath
  • areOrthogonal() : nvmath
  • areOrthonormal() : nvmath
  • areSimilar() : nvmath
  • assertMipMapChainComplete() : nvsg
  • attribIndex() : nvsg

- b -

  • bezier() : nvmath
  • boundingBox() : nvmath
  • boundingSphere() : nvmath

- c -

  • calculateContributions() : nvsg
  • cgfxContext() : nvsg
  • cgfxGetLastError() : nvsg
  • clamp() : nvmath
  • cloneIfShared() : nvutil
  • compare() : nvmath
  • convertPixelFormat() : nvsg
  • copySelectedVertices() : nvsg
  • CORE_TYPES() : nvutil
  • CORE_TYPES_BASE() : nvutil
  • createClipPlanesElement() : nvtraverser
  • CreateDir() : nvutil
  • createReflectionInfo() : nvutil
  • createStaticProperty() : nvutil
  • cube() : nvmath

- d -

  • dbgAllocImagePixels() : nvsg
  • decompose() : nvmath
  • degToRad() : nvmath
  • DestroyCallback() : nvutil
  • determinant() : nvmath
  • determineTextureTarget() : nvsg
  • DirExists() : nvutil
  • distance() : nvmath
  • DLLClose() : nvutil
  • DLLOpen() : nvutil
  • DLLSym() : nvutil

- e -

  • EnableLocking() : nvutil
  • equal3f() : nvgl
  • equal3fv() : nvgl
  • equal4f() : nvgl
  • equal4fv() : nvgl
  • equalf() : nvgl
  • errorMessage() : nvutil::IO

- f -

  • FileDelete() : nvutil
  • FileExists() : nvutil
  • FileSize() : nvutil
  • FindFile() : nvutil
  • FindFileFirst() : nvutil
  • freeImagePixels() : nvsg
  • frenetFrame() : nvmath

- g -

  • genericAttrib() : nvsg
  • get3DAPI() : nvsg
  • getBoundingSphere() : nvsg
  • getCopyrightString() : nvsg
  • GetCurrentDir() : nvutil
  • GetDirFromPath() : nvutil
  • GetDrvAndDirFromPath() : nvutil
  • GetDrvFromPath() : nvutil
  • GetFileExtFromPath() : nvutil
  • GetFileNameFromPath() : nvutil
  • getInterface() : nvutil
  • GetModulePath() : nvutil
  • getNumGPUs() : nvsg
  • getPlugInSearchPath() : nvutil
  • getReplacementStateSet() : nvsg
  • getSDKName() : nvsg
  • getSupportedFeatures() : nvsg
  • getVendorName() : nvsg
  • getVersionString() : nvsg
  • GLAccum() : nvgl
  • GLActiveStencilFace() : nvgl
  • GLActiveTexture() : nvgl
  • GLActiveVarying() : nvgl
  • GLAlphaFunc() : nvgl
  • GLAreProgramsResident() : nvgl
  • GLAreTexturesResident() : nvgl
  • GLArrayElement() : nvgl
  • GLAttachObject() : nvgl
  • GLAttachShader() : nvgl
  • GLBegin() : nvgl
  • GLBeginConditionalRenderNV() : nvgl
  • GLBeginQuery() : nvgl
  • GLBeginTransformFeedback() : nvgl
  • GLBeginTransformFeedbackNV() : nvgl
  • GLBindAttribLocation() : nvgl
  • GLBindBuffer() : nvgl
  • GLBindBufferBase() : nvgl
  • GLBindBufferBaseNV() : nvgl
  • GLBindBufferOffsetNV() : nvgl
  • GLBindBufferRange() : nvgl
  • GLBindBufferRangeNV() : nvgl
  • GLBindFragDataLocation() : nvgl
  • GLBindFramebuffer() : nvgl
  • GLBindIndexBuffer() : nvgl
  • GLBindProgram() : nvgl
  • GLBindRenderbuffer() : nvgl
  • GLBindTexture() : nvgl
  • GLBindTransformFeedbackBuffer() : nvgl
  • GLBindVertexBuffer() : nvgl
  • GLBitmap() : nvgl
  • GLBlendColor() : nvgl
  • GLBlendEquation() : nvgl
  • GLBlendEquationSeparate() : nvgl
  • GLBlendFunc() : nvgl
  • GLBlendFuncSeparate() : nvgl
  • GLBlitFramebuffer() : nvgl
  • GLBufferData() : nvgl
  • GLBufferSubData() : nvgl
  • GLBuildVertexBufferCache() : nvgl
  • GLCallList() : nvgl
  • GLCallLists() : nvgl
  • GLCheckFramebufferStatus() : nvgl
  • GLClampColor() : nvgl
  • GLClear() : nvgl
  • GLClearAccum() : nvgl
  • GLClearColor() : nvgl
  • GLClearColorIi() : nvgl
  • GLClearColorIui() : nvgl
  • GLClearDepth() : nvgl
  • GLClearDepthd() : nvgl
  • GLClearIndex() : nvgl
  • GLClearStencil() : nvgl
  • GLClientActiveTexture() : nvgl
  • GLClipPlane() : nvgl
  • GLColor3b() : nvgl
  • GLColor3bv() : nvgl
  • GLColor3d() : nvgl
  • GLColor3dv() : nvgl
  • GLColor3f() : nvgl
  • GLColor3fv() : nvgl
  • GLColor3h() : nvgl
  • GLColor3hv() : nvgl
  • GLColor3i() : nvgl
  • GLColor3iv() : nvgl
  • GLColor3s() : nvgl
  • GLColor3sv() : nvgl
  • GLColor3ub() : nvgl
  • GLColor3ubv() : nvgl
  • GLColor3ui() : nvgl
  • GLColor3uiv() : nvgl
  • GLColor3us() : nvgl
  • GLColor3usv() : nvgl
  • GLColor4b() : nvgl
  • GLColor4bv() : nvgl
  • GLColor4d() : nvgl
  • GLColor4dv() : nvgl
  • GLColor4f() : nvgl
  • GLColor4fv() : nvgl
  • GLColor4h() : nvgl
  • GLColor4hv() : nvgl
  • GLColor4i() : nvgl
  • GLColor4iv() : nvgl
  • GLColor4s() : nvgl
  • GLColor4sv() : nvgl
  • GLColor4ub() : nvgl
  • GLColor4ubv() : nvgl
  • GLColor4ui() : nvgl
  • GLColor4uiv() : nvgl
  • GLColor4us() : nvgl
  • GLColor4usv() : nvgl
  • GLColorMask() : nvgl
  • GLColorMaskIndexed() : nvgl
  • GLColorMaterial() : nvgl
  • GLColorPointer() : nvgl
  • GLColorSubTable() : nvgl
  • GLColorTable() : nvgl
  • GLColorTableParameterfv() : nvgl
  • GLColorTableParameteriv() : nvgl
  • GLCombinerInput() : nvgl
  • GLCombinerOutput() : nvgl
  • GLCombinerParameterf() : nvgl
  • GLCombinerParameterfv() : nvgl
  • GLCombinerParameteri() : nvgl
  • GLCombinerParameteriv() : nvgl
  • GLCombinerStageParameterfv() : nvgl
  • GLCompileShader() : nvgl
  • GLCompressedTexImage1D() : nvgl
  • GLCompressedTexImage2D() : nvgl
  • GLCompressedTexImage3D() : nvgl
  • GLCompressedTexSubImage1D() : nvgl
  • GLCompressedTexSubImage2D() : nvgl
  • GLCompressedTexSubImage3D() : nvgl
  • glContext() : nvgl
  • GLConvolutionFilter1D() : nvgl
  • GLConvolutionFilter2D() : nvgl
  • GLConvolutionParameterf() : nvgl
  • GLConvolutionParameterfv() : nvgl
  • GLConvolutionParameteri() : nvgl
  • GLConvolutionParameteriv() : nvgl
  • GLCopyBufferSubData() : nvgl
  • GLCopyColorSubTable() : nvgl
  • GLCopyColorTable() : nvgl
  • GLCopyConvolutionFilter1D() : nvgl
  • GLCopyConvolutionFilter2D() : nvgl
  • GLCopyPixels() : nvgl
  • GLCopyTexImage1D() : nvgl
  • GLCopyTexImage2D() : nvgl
  • GLCopyTexSubImage1D() : nvgl
  • GLCopyTexSubImage2D() : nvgl
  • GLCopyTexSubImage3D() : nvgl
  • GLCreateProgram() : nvgl
  • GLCreateProgramObject() : nvgl
  • GLCreateShader() : nvgl
  • GLCreateShaderObject() : nvgl
  • GLCullFace() : nvgl
  • GLCullFaceLock() : nvgl
  • GLCullFaceUnlock() : nvgl
  • GLDeleteBuffers() : nvgl
  • GLDeleteFences() : nvgl
  • GLDeleteFramebuffers() : nvgl
  • GLDeleteIndexBuffer() : nvgl
  • GLDeleteLists() : nvgl
  • GLDeleteObject() : nvgl
  • GLDeleteProgram() : nvgl
  • GLDeletePrograms() : nvgl
  • GLDeleteQueries() : nvgl
  • GLDeleteRenderbuffers() : nvgl
  • GLDeleteShader() : nvgl
  • GLDeleteTextures() : nvgl
  • GLDeleteVertexBuffer() : nvgl
  • GLDepthBounds() : nvgl
  • GLDepthBoundsd() : nvgl
  • GLDepthFunc() : nvgl
  • GLDepthMask() : nvgl
  • GLDepthRange() : nvgl
  • GLDepthRanged() : nvgl
  • GLDetachObject() : nvgl
  • GLDetachShader() : nvgl
  • GLDisable() : nvgl
  • GLDisableAlphaTest() : nvgl
  • GLDisableAutoNormal() : nvgl
  • GLDisableBlend() : nvgl
  • GLDisableClientState() : nvgl
  • GLDisableClipPlane() : nvgl
  • GLDisableColorArray() : nvgl
  • GLDisableColorLogicOp() : nvgl
  • GLDisableColorMaterial() : nvgl
  • GLDisableCullFace() : nvgl
  • GLDisableCullFaceLock() : nvgl
  • GLDisableCullFaceUnlock() : nvgl
  • GLDisableDepthTest() : nvgl
  • GLDisableDither() : nvgl
  • GLDisableExtensionAvailability() : nvgl
  • GLDisableFog() : nvgl
  • GLDisableFogCoordinateArray() : nvgl
  • GLDisableIndexed() : nvgl
  • GLDisableLight() : nvgl
  • GLDisableLighting() : nvgl
  • GLDisableLightingLock() : nvgl
  • GLDisableLightingUnlock() : nvgl
  • GLDisableLineSmooth() : nvgl
  • GLDisableLineStipple() : nvgl
  • GLDisableLogicOp() : nvgl
  • GLDisableNormalArray() : nvgl
  • GLDisableNormalize() : nvgl
  • GLDisablePointSmooth() : nvgl
  • GLDisablePolygonOffsetFill() : nvgl
  • GLDisablePolygonOffsetLine() : nvgl
  • GLDisablePolygonOffsetPoint() : nvgl
  • GLDisablePolygonSmooth() : nvgl
  • GLDisablePolygonStipple() : nvgl
  • GLDisablePrimitiveRestart() : nvgl
  • GLDisableRescaleNormal() : nvgl
  • GLDisableScissorTest() : nvgl
  • GLDisableSecondaryColorArray() : nvgl
  • GLDisableStencilTest() : nvgl
  • GLDisableTexture() : nvgl
  • GLDisableTextureCoordArray() : nvgl
  • GLDisableTextureGen() : nvgl
  • GLDisableVertexArray() : nvgl
  • GLDisableVertexAttribArray() : nvgl
  • GLDrawArrays() : nvgl
  • GLDrawArraysInstanced() : nvgl
  • GLDrawBuffer() : nvgl
  • GLDrawBuffers() : nvgl
  • GLDrawElements() : nvgl
  • GLDrawElementsInstanced() : nvgl
  • GLDrawPixels() : nvgl
  • GLDrawRangeElements() : nvgl
  • GLEdgeFlag() : nvgl
  • GLEdgeFlagPointer() : nvgl
  • GLEdgeFlagv() : nvgl
  • GLEnable() : nvgl
  • GLEnableAlphaTest() : nvgl
  • GLEnableAutoNormal() : nvgl
  • GLEnableBlend() : nvgl
  • GLEnableClientState() : nvgl
  • GLEnableClipPlane() : nvgl
  • GLEnableColorArray() : nvgl
  • GLEnableColorLogicOp() : nvgl
  • GLEnableColorMaterial() : nvgl
  • GLEnableCullFace() : nvgl
  • GLEnableCullFaceLock() : nvgl
  • GLEnableCullFaceUnlock() : nvgl
  • GLEnableDepthTest() : nvgl
  • GLEnableDither() : nvgl
  • GLEnableFog() : nvgl
  • GLEnableFogCoordinateArray() : nvgl
  • GLEnableIndexed() : nvgl
  • GLEnableLight() : nvgl
  • GLEnableLighting() : nvgl
  • GLEnableLineSmooth() : nvgl
  • GLEnableLineStipple() : nvgl
  • GLEnableLogicOp() : nvgl
  • GLEnableNormalArray() : nvgl
  • GLEnableNormalize() : nvgl
  • GLEnablePointSmooth() : nvgl
  • GLEnablePolygonOffsetFill() : nvgl
  • GLEnablePolygonOffsetLine() : nvgl
  • GLEnablePolygonOffsetPoint() : nvgl
  • GLEnablePolygonSmooth() : nvgl
  • GLEnablePolygonStipple() : nvgl
  • GLEnablePrimitiveRestart() : nvgl
  • GLEnableRescaleNormal() : nvgl
  • GLEnableScissorTest() : nvgl
  • GLEnableSecondaryColorArray() : nvgl
  • GLEnableStencilTest() : nvgl
  • GLEnableTexture() : nvgl
  • GLEnableTextureCoordArray() : nvgl
  • GLEnableTextureGen() : nvgl
  • GLEnableVertexArray() : nvgl
  • GLEnableVertexAttribArray() : nvgl
  • GLEnd() : nvgl
  • GLEndConditionalRenderNV() : nvgl
  • GLEndList() : nvgl
  • GLEndQuery() : nvgl
  • GLEndTransformFeedback() : nvgl
  • GLEndTransformFeedbackNV() : nvgl
  • GLEvalCoord1d() : nvgl
  • GLEvalCoord1f() : nvgl
  • GLEvalCoord2d() : nvgl
  • GLEvalCoord2f() : nvgl
  • GLEvalMesh1() : nvgl
  • GLEvalMesh2() : nvgl
  • GLEvalPoint1() : nvgl
  • GLEvalPoint2() : nvgl
  • GLExecuteProgram() : nvgl
  • GLFeedbackBuffer() : nvgl
  • GLFinalCombinerInput() : nvgl
  • GLFinish() : nvgl
  • GLFinishFence() : nvgl
  • GLFlush() : nvgl
  • GLFlushMappedBufferRange() : nvgl
  • GLFlushPixelDataRange() : nvgl
  • GLFlushVertexArrayRange() : nvgl
  • GLFogColor() : nvgl
  • GLFogCoordd() : nvgl
  • GLFogCoorddv() : nvgl
  • GLFogCoordf() : nvgl
  • GLFogCoordfv() : nvgl
  • GLFogCoordh() : nvgl
  • GLFogCoordhv() : nvgl
  • GLFogCoordPointer() : nvgl
  • GLFogDensity() : nvgl
  • GLFogEnd() : nvgl
  • GLFogf() : nvgl
  • GLFogfv() : nvgl
  • GLFogi() : nvgl
  • GLFogiv() : nvgl
  • GLFogMode() : nvgl
  • GLFogStart() : nvgl
  • GLFramebufferRenderbuffer() : nvgl
  • GLFramebufferTexture() : nvgl
  • GLFramebufferTexture1D() : nvgl
  • GLFramebufferTexture2D() : nvgl
  • GLFramebufferTexture3D() : nvgl
  • GLFramebufferTextureFace() : nvgl
  • GLFramebufferTextureLayer() : nvgl
  • GLFrameTerminator() : nvgl
  • GLFrontFace() : nvgl
  • GLFrustum() : nvgl
  • GLGenBuffers() : nvgl
  • GLGenerateMipmap() : nvgl
  • GLGenFences() : nvgl
  • GLGenFramebuffers() : nvgl
  • GLGenIndexBuffer() : nvgl
  • GLGenLists() : nvgl
  • GLGenPrograms() : nvgl
  • GLGenQueries() : nvgl
  • GLGenRenderbuffers() : nvgl
  • GLGenTextures() : nvgl
  • GLGenVertexBuffer() : nvgl
  • GLGetActiveAttrib() : nvgl
  • GLGetActiveUniform() : nvgl
  • GLGetActiveVaryingNV() : nvgl
  • GLGetAttachedObjects() : nvgl
  • GLGetAttachedShaders() : nvgl
  • GLGetAttribLocation() : nvgl
  • GLGetBooleanIndexedv() : nvgl
  • GLGetBooleanv() : nvgl
  • GLGetBufferAddress() : nvgl
  • GLGetBufferParameteriv() : nvgl
  • GLGetBufferPointerv() : nvgl
  • GLGetBufferSize() : nvgl
  • GLGetBufferSubData() : nvgl
  • GLGetClipPlane() : nvgl
  • GLGetColorTable() : nvgl
  • GLGetColorTableParameterfv() : nvgl
  • GLGetColorTableParameteriv() : nvgl
  • GLGetCombinerInputParameterfv() : nvgl
  • GLGetCombinerInputParameteriv() : nvgl
  • GLGetCombinerOutputParameterfv() : nvgl
  • GLGetCombinerOutputParameteriv() : nvgl
  • GLGetCombinerStageParameterfv() : nvgl
  • GLGetCompressedTexImage() : nvgl
  • GLGetConvolutionFilter() : nvgl
  • GLGetConvolutionParameterfv() : nvgl
  • GLGetConvolutionParameteriv() : nvgl
  • GLGetDoublev() : nvgl
  • GLGetFenceiv() : nvgl
  • GLGetFinalCombinerInputParameterfv() : nvgl
  • GLGetFinalCombinerInputParameteriv() : nvgl
  • GLGetFloatv() : nvgl
  • GLGetFragDataLocation() : nvgl
  • GLGetFramebufferAttachmentParameteriv() : nvgl
  • GLGetHandle() : nvgl
  • GLGetHistogram() : nvgl
  • GLGetHistogramParameterfv() : nvgl
  • GLGetHistogramParameteriv() : nvgl
  • GLGetIndexBufferOffset() : nvgl
  • GLGetInfoLog() : nvgl
  • GLGetIntegerIndexedv() : nvgl
  • GLGetIntegerv() : nvgl
  • GLGetLightfv() : nvgl
  • GLGetLightiv() : nvgl
  • GLGetMapdv() : nvgl
  • GLGetMapfv() : nvgl
  • GLGetMapiv() : nvgl
  • GLGetMaterialfv() : nvgl
  • GLGetMaterialiv() : nvgl
  • GLGetMaxTexCoords() : nvgl
  • GLGetMaxTexImageUnits() : nvgl
  • GLGetMaxTexUnits() : nvgl
  • GLGetMinmax() : nvgl
  • GLGetMinmaxParameterfv() : nvgl
  • GLGetMinmaxParameteriv() : nvgl
  • GLGetMultisamplefv() : nvgl
  • GLGetObjectParameterfv() : nvgl
  • GLGetObjectParameteriv() : nvgl
  • GLGetPixelMapfv() : nvgl
  • GLGetPixelMapuiv() : nvgl
  • GLGetPixelMapusv() : nvgl
  • GLGetPointerv() : nvgl
  • GLGetPolygonStipple() : nvgl
  • GLGetProgramEnvParameterdv() : nvgl
  • GLGetProgramEnvParameterfv() : nvgl
  • GLGetProgramEnvParameterIiv() : nvgl
  • GLGetProgramEnvParameterIuiv() : nvgl
  • GLGetProgramInfoLog() : nvgl
  • GLGetProgramiv() : nvgl
  • GLGetProgramLocalParameterdv() : nvgl
  • GLGetProgramLocalParameterfv() : nvgl
  • GLGetProgramLocalParameterIiv() : nvgl
  • GLGetProgramLocalParameterIuiv() : nvgl
  • GLGetProgramNamedParameterdv() : nvgl
  • GLGetProgramNamedParameterfv() : nvgl
  • GLGetProgramParameterdv() : nvgl
  • GLGetProgramParameterfv() : nvgl
  • GLGetProgramString() : nvgl
  • GLGetQueryiv() : nvgl
  • GLGetQueryObjecti64v() : nvgl
  • GLGetQueryObjectiv() : nvgl
  • GLGetQueryObjectui64v() : nvgl
  • GLGetQueryObjectuiv() : nvgl
  • GLGetRenderbufferParameteriv() : nvgl
  • GLGetSeparableFilter() : nvgl
  • GLGetShaderInfoLog() : nvgl
  • GLGetShaderiv() : nvgl
  • GLGetShaderSource() : nvgl
  • GLGetString() : nvgl
  • GLGetTexEnvfv() : nvgl
  • GLGetTexEnviv() : nvgl
  • GLGetTexGendv() : nvgl
  • GLGetTexGenfv() : nvgl
  • GLGetTexGeniv() : nvgl
  • GLGetTexImage() : nvgl
  • GLGetTexLevelParameterfv() : nvgl
  • GLGetTexLevelParameteriv() : nvgl
  • GLGetTexParameterfv() : nvgl
  • GLGetTexParameterIiv() : nvgl
  • GLGetTexParameterIuiv() : nvgl
  • GLGetTexParameteriv() : nvgl
  • GLGetTexWrapMode() : nvgl
  • GLGetTrackMatrixiv() : nvgl
  • GLGetTransformFeedbackVarying() : nvgl
  • GLGetTransformFeedbackVaryingNV() : nvgl
  • GLGetUniformBufferSize() : nvgl
  • GLGetUniformfv() : nvgl
  • GLGetUniformiv() : nvgl
  • GLGetUniformLocation() : nvgl
  • GLGetUniformOffset() : nvgl
  • GLGetUniformuiv() : nvgl
  • GLGetVaryingLocationNV() : nvgl
  • GLGetVersion() : nvgl
  • GLGetVertexAttribdv() : nvgl
  • GLGetVertexAttribfv() : nvgl
  • GLGetVertexAttribIiv() : nvgl
  • GLGetVertexAttribIuiv() : nvgl
  • GLGetVertexAttribiv() : nvgl
  • GLGetVertexAttribPointerv() : nvgl
  • GLGetVertexBufferOffset() : nvgl
  • GLHint() : nvgl
  • GLHistogram() : nvgl
  • GLIndexd() : nvgl
  • GLIndexf() : nvgl
  • GLIndexi() : nvgl
  • GLIndexMask() : nvgl
  • GLIndexPointer() : nvgl
  • GLIndexs() : nvgl
  • GLIndexub() : nvgl
  • GLInitNames() : nvgl
  • GLInterleavedArrays() : nvgl
  • GLintToGLfloat() : nvgl
  • GLIsBuffer() : nvgl
  • GLIsEnabled() : nvgl
  • GLIsEnabledAlphaTest() : nvgl
  • GLIsEnabledAutoNormal() : nvgl
  • GLIsEnabledBlend() : nvgl
  • GLIsEnabledClipPlane() : nvgl
  • GLIsEnabledColorLogicOp() : nvgl
  • GLIsEnabledColorMaterial() : nvgl
  • GLIsEnabledCullFace() : nvgl
  • GLIsEnabledDepthTest() : nvgl
  • GLIsEnabledDither() : nvgl
  • GLIsEnabledFog() : nvgl
  • GLIsEnabledIndexed() : nvgl
  • GLIsEnabledLight() : nvgl
  • GLIsEnabledLighting() : nvgl
  • GLIsEnabledLineSmooth() : nvgl
  • GLIsEnabledLineStipple() : nvgl
  • GLIsEnabledLogicOp() : nvgl
  • GLIsEnabledNormalize() : nvgl
  • GLIsEnabledPointSmooth() : nvgl
  • GLIsEnabledPolygonOffsetFill() : nvgl
  • GLIsEnabledPolygonOffsetLine() : nvgl
  • GLIsEnabledPolygonOffsetPoint() : nvgl
  • GLIsEnabledPolygonSmooth() : nvgl
  • GLIsEnabledPolygonStipple() : nvgl
  • GLIsEnabledRescaleNormal() : nvgl
  • GLIsEnabledScissorTest() : nvgl
  • GLIsEnabledStencilTest() : nvgl
  • GLIsEnabledTexture() : nvgl
  • GLIsEnabledTextureGen() : nvgl
  • GLIsExtensionAvailable() : nvgl
  • GLIsExtensionExported() : nvgl
  • GLIsFence() : nvgl
  • GLIsFramebuffer() : nvgl
  • GLIsIndexBuffer() : nvgl
  • GLIsList() : nvgl
  • GLIsProgram() : nvgl
  • GLIsQuery() : nvgl
  • GLIsRenderbuffer() : nvgl
  • GLIsShader() : nvgl
  • GLIsTexture() : nvgl
  • GLIsVertexBuffer() : nvgl
  • GLLightAmbient() : nvgl
  • GLLightConstantAttenuation() : nvgl
  • GLLightDiffuse() : nvgl
  • GLLightf() : nvgl
  • GLLightfv() : nvgl
  • GLLighti() : nvgl
  • GLLightiv() : nvgl
  • GLLightLinearAttenuation() : nvgl
  • GLLightModelAmbient() : nvgl
  • GLLightModelf() : nvgl
  • GLLightModelfv() : nvgl
  • GLLightModeli() : nvgl
  • GLLightModeliv() : nvgl
  • GLLightModelLocalViewer() : nvgl
  • GLLightModelTwoSide() : nvgl
  • GLLightModelTwoSideLock() : nvgl
  • GLLightModelTwoSideUnlock() : nvgl
  • GLLightPosition() : nvgl
  • GLLightQuadraticAttenuation() : nvgl
  • GLLightSpecular() : nvgl
  • GLLightSpotCutoff() : nvgl
  • GLLightSpotDirection() : nvgl
  • GLLightSpotExponent() : nvgl
  • GLLineStipple() : nvgl
  • GLLineWidth() : nvgl
  • GLLinkProgram() : nvgl
  • GLListBase() : nvgl
  • GLLoadIdentity() : nvgl
  • GLLoadMatrixd() : nvgl
  • GLLoadMatrixf() : nvgl
  • GLLoadName() : nvgl
  • GLLoadProgram() : nvgl
  • GLLoadTransposedMatrixd() : nvgl
  • GLLoadTransposeMatrixf() : nvgl
  • GLLockArrays() : nvgl
  • GLLogicOp() : nvgl
  • GLMap1d() : nvgl
  • GLMap1f() : nvgl
  • GLMap2d() : nvgl
  • GLMap2f() : nvgl
  • GLMapBuffer() : nvgl
  • GLMapBufferRange() : nvgl
  • GLMapGrid1d() : nvgl
  • GLMapGrid1f() : nvgl
  • GLMapGrid2d() : nvgl
  • GLMapGrid2f() : nvgl
  • GLMapIndexBuffer() : nvgl
  • GLMapVertexBuffer() : nvgl
  • GLMaterialAmbient() : nvgl
  • GLMaterialAmbientBack() : nvgl
  • GLMaterialAmbientFront() : nvgl
  • GLMaterialAmbientFrontAndBack() : nvgl
  • GLMaterialDiffuse() : nvgl
  • GLMaterialDiffuseBack() : nvgl
  • GLMaterialDiffuseFront() : nvgl
  • GLMaterialDiffuseFrontAndBack() : nvgl
  • GLMaterialEmission() : nvgl
  • GLMaterialEmissionBack() : nvgl
  • GLMaterialEmissionFront() : nvgl
  • GLMaterialEmissionFrontAndBack() : nvgl
  • GLMaterialf() : nvgl
  • GLMaterialfv() : nvgl
  • GLMateriali() : nvgl
  • GLMaterialiv() : nvgl
  • GLMaterialShininess() : nvgl
  • GLMaterialShininessBack() : nvgl
  • GLMaterialShininessFront() : nvgl
  • GLMaterialShininessFrontAndBack() : nvgl
  • GLMaterialSpecular() : nvgl
  • GLMaterialSpecularBack() : nvgl
  • GLMaterialSpecularFront() : nvgl
  • GLMaterialSpecularFrontAndBack() : nvgl
  • GLMatrixMode() : nvgl
  • GLMinmax() : nvgl
  • GLMultiDrawArrays() : nvgl
  • GLMultiDrawElements() : nvgl
  • GLMultiTexCoord1d() : nvgl
  • GLMultiTexCoord1dv() : nvgl
  • GLMultiTexCoord1f() : nvgl
  • GLMultiTexCoord1fv() : nvgl
  • GLMultiTexCoord1h() : nvgl
  • GLMultiTexCoord1hv() : nvgl
  • GLMultiTexCoord1i() : nvgl
  • GLMultiTexCoord1iv() : nvgl
  • GLMultiTexCoord1s() : nvgl
  • GLMultiTexCoord1sv() : nvgl
  • GLMultiTexCoord2d() : nvgl
  • GLMultiTexCoord2dv() : nvgl
  • GLMultiTexCoord2f() : nvgl
  • GLMultiTexCoord2fv() : nvgl
  • GLMultiTexCoord2h() : nvgl
  • GLMultiTexCoord2hv() : nvgl
  • GLMultiTexCoord2i() : nvgl
  • GLMultiTexCoord2iv() : nvgl
  • GLMultiTexCoord2s() : nvgl
  • GLMultiTexCoord2sv() : nvgl
  • GLMultiTexCoord3d() : nvgl
  • GLMultiTexCoord3dv() : nvgl
  • GLMultiTexCoord3f() : nvgl
  • GLMultiTexCoord3fv() : nvgl
  • GLMultiTexCoord3h() : nvgl
  • GLMultiTexCoord3hv() : nvgl
  • GLMultiTexCoord3i() : nvgl
  • GLMultiTexCoord3iv() : nvgl
  • GLMultiTexCoord3s() : nvgl
  • GLMultiTexCoord3sv() : nvgl
  • GLMultiTexCoord4d() : nvgl
  • GLMultiTexCoord4dv() : nvgl
  • GLMultiTexCoord4f() : nvgl
  • GLMultiTexCoord4fv() : nvgl
  • GLMultiTexCoord4h() : nvgl
  • GLMultiTexCoord4hv() : nvgl
  • GLMultiTexCoord4i() : nvgl
  • GLMultiTexCoord4iv() : nvgl
  • GLMultiTexCoord4s() : nvgl
  • GLMultiTexCoord4sv() : nvgl
  • GLMultMatrixd() : nvgl
  • GLMultMatrixf() : nvgl
  • GLMultTransposeMatrixd() : nvgl
  • GLMultTransposeMatrixf() : nvgl
  • GLNewList() : nvgl
  • GLNormal3b() : nvgl
  • GLNormal3bv() : nvgl
  • GLNormal3d() : nvgl
  • GLNormal3dv() : nvgl
  • GLNormal3f() : nvgl
  • GLNormal3fv() : nvgl
  • GLNormal3h() : nvgl
  • GLNormal3hv() : nvgl
  • GLNormal3i() : nvgl
  • GLNormal3iv() : nvgl
  • GLNormal3s() : nvgl
  • GLNormal3sv() : nvgl
  • GLNormalPointer() : nvgl
  • GLOrtho() : nvgl
  • GLPassThrough() : nvgl
  • GLPatchParameterfv() : nvgl
  • GLPatchParameteri() : nvgl
  • GLPixelDataRange() : nvgl
  • GLPixelMapfv() : nvgl
  • GLPixelMapuiv() : nvgl
  • GLPixelMapusv() : nvgl
  • GLPixelStoref() : nvgl
  • GLPixelStorei() : nvgl
  • GLPixelTransferf() : nvgl
  • GLPixelTransferi() : nvgl
  • GLPixelZoom() : nvgl
  • GLPointParameterf() : nvgl
  • GLPointParameterfv() : nvgl
  • GLPointParameteri() : nvgl
  • GLPointParameteriv() : nvgl
  • GLPointSize() : nvgl
  • GLPolygonMode() : nvgl
  • GLPolygonModeBack() : nvgl
  • GLPolygonModeFront() : nvgl
  • GLPolygonModeFrontAndBack() : nvgl
  • GLPolygonModeLock() : nvgl
  • GLPolygonModeUnlock() : nvgl
  • GLPolygonOffset() : nvgl
  • GLPolygonStipple() : nvgl
  • GLPopAttrib() : nvgl
  • GLPopClientAttrib() : nvgl
  • GLPopMatrix() : nvgl
  • GLPopName() : nvgl
  • GLPrimitiveRestart() : nvgl
  • GLPrimitiveRestartIndex() : nvgl
  • GLPrioritizeTextures() : nvgl
  • GLProgramBufferParametersfv() : nvgl
  • GLProgramBufferParametersIiv() : nvgl
  • GLProgramBufferParametersIuiv() : nvgl
  • GLProgramEnvParameter4d() : nvgl
  • GLProgramEnvParameter4dv() : nvgl
  • GLProgramEnvParameter4f() : nvgl
  • GLProgramEnvParameter4fv() : nvgl
  • GLProgramEnvParameterI4i() : nvgl
  • GLProgramEnvParameterI4iv() : nvgl
  • GLProgramEnvParameterI4ui() : nvgl
  • GLProgramEnvParameterI4uiv() : nvgl
  • GLProgramEnvParameters4fv() : nvgl
  • GLProgramEnvParametersI4iv() : nvgl
  • GLProgramEnvParametersI4uiv() : nvgl
  • GLProgramLocalParameter4d() : nvgl
  • GLProgramLocalParameter4dv() : nvgl
  • GLProgramLocalParameter4f() : nvgl
  • GLProgramLocalParameter4fv() : nvgl
  • GLProgramLocalParameterI4i() : nvgl
  • GLProgramLocalParameterI4iv() : nvgl
  • GLProgramLocalParameterI4ui() : nvgl
  • GLProgramLocalParameterI4uiv() : nvgl
  • GLProgramLocalParameters4fv() : nvgl
  • GLProgramLocalParametersI4iv() : nvgl
  • GLProgramLocalParametersI4uiv() : nvgl
  • GLProgramNamedParameter4d() : nvgl
  • GLProgramNamedParameter4dv() : nvgl
  • GLProgramNamedParameter4f() : nvgl
  • GLProgramNamedParameter4fv() : nvgl
  • GLProgramParameter4d() : nvgl
  • GLProgramParameter4dv() : nvgl
  • GLProgramParameter4f() : nvgl
  • GLProgramParameter4fv() : nvgl
  • GLProgramParameteri() : nvgl
  • GLProgramParameters4dv() : nvgl
  • GLProgramParameters4fv() : nvgl
  • GLProgramString() : nvgl
  • GLProgramVertexLimit() : nvgl
  • GLPushAttrib() : nvgl
  • GLPushClientAttrib() : nvgl
  • GLPushMatrix() : nvgl
  • GLPushName() : nvgl
  • GLRasterPos2d() : nvgl
  • GLRasterPos2dv() : nvgl
  • GLRasterPos2f() : nvgl
  • GLRasterPos2fv() : nvgl
  • GLRasterPos2i() : nvgl
  • GLRasterPos2iv() : nvgl
  • GLRasterPos2s() : nvgl
  • GLRasterPos2sv() : nvgl
  • GLRasterPos3d() : nvgl
  • GLRasterPos3dv() : nvgl
  • GLRasterPos3f() : nvgl
  • GLRasterPos3fv() : nvgl
  • GLRasterPos3i() : nvgl
  • GLRasterPos3iv() : nvgl
  • GLRasterPos3s() : nvgl
  • GLRasterPos3sv() : nvgl
  • GLRasterPos4d() : nvgl
  • GLRasterPos4dv() : nvgl
  • GLRasterPos4f() : nvgl
  • GLRasterPos4fv() : nvgl
  • GLRasterPos4i() : nvgl
  • GLRasterPos4iv() : nvgl
  • GLRasterPos4s() : nvgl
  • GLRasterPos4sv() : nvgl
  • GLReadBuffer() : nvgl
  • GLReadPixels() : nvgl
  • GLRectd() : nvgl
  • GLRectf() : nvgl
  • GLRecti() : nvgl
  • GLRects() : nvgl
  • GLRenderbufferStorage() : nvgl
  • GLRenderbufferStorageMultisample() : nvgl
  • GLRenderbufferStorageMultisampleCoverage() : nvgl
  • GLRenderMode() : nvgl
  • GLRequestResidentPrograms() : nvgl
  • GLResetAlphaFunc() : nvgl
  • GLResetAlphaTest() : nvgl
  • GLResetAutoNormal() : nvgl
  • GLResetBlend() : nvgl
  • GLResetBlendFunc() : nvgl
  • GLResetBlendFuncSeparate() : nvgl
  • GLResetClearColor() : nvgl
  • GLResetClearDepth() : nvgl
  • GLResetClearStencil() : nvgl
  • GLResetClipPlane() : nvgl
  • GLResetClipPlaneEquation() : nvgl
  • GLResetColorLogicOp() : nvgl
  • GLResetColorMask() : nvgl
  • GLResetColorMaterial() : nvgl
  • GLResetColorMaterialMode() : nvgl
  • GLResetCullFace() : nvgl
  • GLResetCullFaceMode() : nvgl
  • GLResetDepthFunc() : nvgl
  • GLResetDepthMask() : nvgl
  • GLResetDepthRange() : nvgl
  • GLResetDepthTest() : nvgl
  • GLResetDither() : nvgl
  • GLResetFog() : nvgl
  • GLResetFogColor() : nvgl
  • GLResetFogDensity() : nvgl
  • GLResetFogEnd() : nvgl
  • GLResetFogMode() : nvgl
  • GLResetFogStart() : nvgl
  • GLResetFrontFace() : nvgl
  • GLResetHistogram() : nvgl
  • GLResetLight() : nvgl
  • GLResetLightAmbient() : nvgl
  • GLResetLightConstantAttenuation() : nvgl
  • GLResetLightDiffuse() : nvgl
  • GLResetLighting() : nvgl
  • GLResetLightLinearAttenuation() : nvgl
  • GLResetLightModelAmbient() : nvgl
  • GLResetLightModelLocalViewer() : nvgl
  • GLResetLightModelTwoSide() : nvgl
  • GLResetLightPosition() : nvgl
  • GLResetLightQuadraticAttenuation() : nvgl
  • GLResetLightSpecular() : nvgl
  • GLResetLightSpotCutoff() : nvgl
  • GLResetLightSpotDirection() : nvgl
  • GLResetLightSpotExponent() : nvgl
  • GLResetLineSmooth() : nvgl
  • GLResetLineStipple() : nvgl
  • GLResetLineStippleDefinition() : nvgl
  • GLResetLineWidth() : nvgl
  • GLResetLogicOp() : nvgl
  • GLResetMaterialAmbientBack() : nvgl
  • GLResetMaterialAmbientFront() : nvgl
  • GLResetMaterialAmbientFrontAndBack() : nvgl
  • GLResetMaterialDiffuseBack() : nvgl
  • GLResetMaterialDiffuseFront() : nvgl
  • GLResetMaterialDiffuseFrontAndBack() : nvgl
  • GLResetMaterialEmissionBack() : nvgl
  • GLResetMaterialEmissionFront() : nvgl
  • GLResetMaterialEmissionFrontAndBack() : nvgl
  • GLResetMaterialShininessBack() : nvgl
  • GLResetMaterialShininessFront() : nvgl
  • GLResetMaterialShininessFrontAndBack() : nvgl
  • GLResetMaterialSpecularBack() : nvgl
  • GLResetMaterialSpecularFront() : nvgl
  • GLResetMaterialSpecularFrontAndBack() : nvgl
  • GLResetMinmax() : nvgl
  • GLResetNormalize() : nvgl
  • GLResetPointSize() : nvgl
  • GLResetPointSmooth() : nvgl
  • GLResetPolygonModeBack() : nvgl
  • GLResetPolygonModeFront() : nvgl
  • GLResetPolygonModeFrontAndBack() : nvgl
  • GLResetPolygonOffset() : nvgl
  • GLResetPolygonOffsetFill() : nvgl
  • GLResetPolygonOffsetLine() : nvgl
  • GLResetPolygonOffsetPoint() : nvgl
  • GLResetPolygonSmooth() : nvgl
  • GLResetPolygonStipple() : nvgl
  • GLResetRescaleNormal() : nvgl
  • GLResetScissor() : nvgl
  • GLResetScissorTest() : nvgl
  • GLResetShadeModel() : nvgl
  • GLResetStencilFunc() : nvgl
  • GLResetStencilMask() : nvgl
  • GLResetStencilOp() : nvgl
  • GLResetStencilTest() : nvgl
  • GLResetTexture() : nvgl
  • GLRotated() : nvgl
  • GLRotatef() : nvgl
  • GLSampleCoverage() : nvgl
  • GLSampleMaski() : nvgl
  • GLScaled() : nvgl
  • GLScalef() : nvgl
  • GLScissor() : nvgl
  • GLSecondaryColor3b() : nvgl
  • GLSecondaryColor3bv() : nvgl
  • GLSecondaryColor3d() : nvgl
  • GLSecondaryColor3dv() : nvgl
  • GLSecondaryColor3f() : nvgl
  • GLSecondaryColor3fv() : nvgl
  • GLSecondaryColor3h() : nvgl
  • GLSecondaryColor3hv() : nvgl
  • GLSecondaryColor3i() : nvgl
  • GLSecondaryColor3iv() : nvgl
  • GLSecondaryColor3s() : nvgl
  • GLSecondaryColor3sv() : nvgl
  • GLSecondaryColor3ub() : nvgl
  • GLSecondaryColor3ubv() : nvgl
  • GLSecondaryColor3ui() : nvgl
  • GLSecondaryColor3uiv() : nvgl
  • GLSecondaryColor3us() : nvgl
  • GLSecondaryColor3usv() : nvgl
  • GLSecondaryColorPointer() : nvgl
  • GLSelectBuffer() : nvgl
  • GLSelectTexture() : nvgl
  • GLSelectTextureCoordSet() : nvgl
  • GLSeparableFilter2D() : nvgl
  • GLSetFence() : nvgl
  • GLShadeModel() : nvgl
  • GLShaderSource() : nvgl
  • GLStencilClearTag() : nvgl
  • GLStencilFunc() : nvgl
  • GLStencilFuncSeparate() : nvgl
  • GLStencilMask() : nvgl
  • GLStencilMaskSeparate() : nvgl
  • GLStencilOp() : nvgl
  • GLStencilOpSeparate() : nvgl
  • GLStringMarker() : nvgl
  • GLTestFence() : nvgl
  • GLTexBuffer() : nvgl
  • GLTexCoord1d() : nvgl
  • GLTexCoord1dv() : nvgl
  • GLTexCoord1f() : nvgl
  • GLTexCoord1fv() : nvgl
  • GLTexCoord1h() : nvgl
  • GLTexCoord1hv() : nvgl
  • GLTexCoord1i() : nvgl
  • GLTexCoord1iv() : nvgl
  • GLTexCoord1s() : nvgl
  • GLTexCoord1sv() : nvgl
  • GLTexCoord2d() : nvgl
  • GLTexCoord2dv() : nvgl
  • GLTexCoord2f() : nvgl
  • GLTexCoord2fv() : nvgl
  • GLTexCoord2h() : nvgl
  • GLTexCoord2hv() : nvgl
  • GLTexCoord2i() : nvgl
  • GLTexCoord2iv() : nvgl
  • GLTexCoord2s() : nvgl
  • GLTexCoord2sv() : nvgl
  • GLTexCoord3d() : nvgl
  • GLTexCoord3dv() : nvgl
  • GLTexCoord3f() : nvgl
  • GLTexCoord3fv() : nvgl
  • GLTexCoord3h() : nvgl
  • GLTexCoord3hv() : nvgl
  • GLTexCoord3i() : nvgl
  • GLTexCoord3iv() : nvgl
  • GLTexCoord3s() : nvgl
  • GLTexCoord3sv() : nvgl
  • GLTexCoord4d() : nvgl
  • GLTexCoord4dv() : nvgl
  • GLTexCoord4f() : nvgl
  • GLTexCoord4fv() : nvgl
  • GLTexCoord4h() : nvgl
  • GLTexCoord4hv() : nvgl
  • GLTexCoord4i() : nvgl
  • GLTexCoord4iv() : nvgl
  • GLTexCoord4s() : nvgl
  • GLTexCoord4sv() : nvgl
  • GLTexCoordPointer() : nvgl
  • GLTexEnvf() : nvgl
  • GLTexEnvfv() : nvgl
  • GLTexEnvi() : nvgl
  • GLTexEnviv() : nvgl
  • GLTexGend() : nvgl
  • GLTexGenf() : nvgl
  • GLTexGenfv() : nvgl
  • GLTexGeni() : nvgl
  • GLTexImage1D() : nvgl
  • GLTexImage2D() : nvgl
  • GLTexImage2DMultisample() : nvgl
  • GLTexImage3D() : nvgl
  • GLTexImage3DMultisample() : nvgl
  • GLTexParameterf() : nvgl
  • GLTexParameterfv() : nvgl
  • GLTexParameteri() : nvgl
  • GLTexParameterIiv() : nvgl
  • GLTexParameterIuiv() : nvgl
  • GLTexParameteriv() : nvgl
  • GLTexSubImage1D() : nvgl
  • GLTexSubImage2D() : nvgl
  • GLTexSubImage3D() : nvgl
  • GLTextureBorderColor() : nvgl
  • GLTextureEnvColor() : nvgl
  • GLTextureEnvMode() : nvgl
  • GLTextureMagFilter() : nvgl
  • GLTextureMinFilter() : nvgl
  • GLTextureWrapR() : nvgl
  • GLTextureWrapS() : nvgl
  • GLTextureWrapT() : nvgl
  • GLTrackMatrix() : nvgl
  • GLTransformFeedbackAttribsNV() : nvgl
  • GLTransformFeedbackVaryings() : nvgl
  • GLTransformFeedbackVaryingsNV() : nvgl
  • GLTranslated() : nvgl
  • GLTranslatef() : nvgl
  • GLUniform1f() : nvgl
  • GLUniform1fv() : nvgl
  • GLUniform1i() : nvgl
  • GLUniform1iv() : nvgl
  • GLUniform1ui() : nvgl
  • GLUniform1uiv() : nvgl
  • GLUniform2f() : nvgl
  • GLUniform2fv() : nvgl
  • GLUniform2i() : nvgl
  • GLUniform2iv() : nvgl
  • GLUniform2ui() : nvgl
  • GLUniform2uiv() : nvgl
  • GLUniform3f() : nvgl
  • GLUniform3fv() : nvgl
  • GLUniform3i() : nvgl
  • GLUniform3iv() : nvgl
  • GLUniform3ui() : nvgl
  • GLUniform3uiv() : nvgl
  • GLUniform4f() : nvgl
  • GLUniform4fv() : nvgl
  • GLUniform4i() : nvgl
  • GLUniform4iv() : nvgl
  • GLUniform4ui() : nvgl
  • GLUniform4uiv() : nvgl
  • GLUniformBuffer() : nvgl
  • GLUniformMatrix2fv() : nvgl
  • GLUniformMatrix2x3fv() : nvgl
  • GLUniformMatrix2x4fv() : nvgl
  • GLUniformMatrix3fv() : nvgl
  • GLUniformMatrix3x2fv() : nvgl
  • GLUniformMatrix3x4fv() : nvgl
  • GLUniformMatrix4fv() : nvgl
  • GLUniformMatrix4x2fv() : nvgl
  • GLUniformMatrix4x3fv() : nvgl
  • GLUnlockArrays() : nvgl
  • GLUnmapBuffer() : nvgl
  • GLUnmapIndexBuffer() : nvgl
  • GLUnmapVertexBuffer() : nvgl
  • GLUploadBuffers() : nvgl
  • GLUseProgram() : nvgl
  • GLUseProgramObject() : nvgl
  • GLValidateProgram() : nvgl
  • GLVertex2d() : nvgl
  • GLVertex2dv() : nvgl
  • GLVertex2f() : nvgl
  • GLVertex2fv() : nvgl
  • GLVertex2h() : nvgl
  • GLVertex2hv() : nvgl
  • GLVertex2i() : nvgl
  • GLVertex2iv() : nvgl
  • GLVertex2s() : nvgl
  • GLVertex2sv() : nvgl
  • GLVertex3d() : nvgl
  • GLVertex3dv() : nvgl
  • GLVertex3f() : nvgl
  • GLVertex3fv() : nvgl
  • GLVertex3h() : nvgl
  • GLVertex3hv() : nvgl
  • GLVertex3i() : nvgl
  • GLVertex3iv() : nvgl
  • GLVertex3s() : nvgl
  • GLVertex3sv() : nvgl
  • GLVertex4d() : nvgl
  • GLVertex4dv() : nvgl
  • GLVertex4f() : nvgl
  • GLVertex4fv() : nvgl
  • GLVertex4h() : nvgl
  • GLVertex4hv() : nvgl
  • GLVertex4i() : nvgl
  • GLVertex4iv() : nvgl
  • GLVertex4s() : nvgl
  • GLVertex4sv() : nvgl
  • GLVertexArrayRange() : nvgl
  • GLVertexAttrib1d() : nvgl
  • GLVertexAttrib1dv() : nvgl
  • GLVertexAttrib1f() : nvgl
  • GLVertexAttrib1fv() : nvgl
  • GLVertexAttrib1h() : nvgl
  • GLVertexAttrib1hv() : nvgl
  • GLVertexAttrib1s() : nvgl
  • GLVertexAttrib1sv() : nvgl
  • GLVertexAttrib2d() : nvgl
  • GLVertexAttrib2dv() : nvgl
  • GLVertexAttrib2f() : nvgl
  • GLVertexAttrib2fv() : nvgl
  • GLVertexAttrib2h() : nvgl
  • GLVertexAttrib2hv() : nvgl
  • GLVertexAttrib2s() : nvgl
  • GLVertexAttrib2sv() : nvgl
  • GLVertexAttrib3d() : nvgl
  • GLVertexAttrib3dv() : nvgl
  • GLVertexAttrib3f() : nvgl
  • GLVertexAttrib3fv() : nvgl
  • GLVertexAttrib3h() : nvgl
  • GLVertexAttrib3hv() : nvgl
  • GLVertexAttrib3s() : nvgl
  • GLVertexAttrib3sv() : nvgl
  • GLVertexAttrib4bv() : nvgl
  • GLVertexAttrib4d() : nvgl
  • GLVertexAttrib4dv() : nvgl
  • GLVertexAttrib4f() : nvgl
  • GLVertexAttrib4fv() : nvgl
  • GLVertexAttrib4h() : nvgl
  • GLVertexAttrib4hv() : nvgl
  • GLVertexAttrib4iv() : nvgl
  • GLVertexAttrib4Nbv() : nvgl
  • GLVertexAttrib4Niv() : nvgl
  • GLVertexAttrib4Nsv() : nvgl
  • GLVertexAttrib4Nub() : nvgl
  • GLVertexAttrib4Nubv() : nvgl
  • GLVertexAttrib4Nuiv() : nvgl
  • GLVertexAttrib4Nusv() : nvgl
  • GLVertexAttrib4s() : nvgl
  • GLVertexAttrib4sv() : nvgl
  • GLVertexAttrib4ub() : nvgl
  • GLVertexAttrib4ubv() : nvgl
  • GLVertexAttrib4uiv() : nvgl
  • GLVertexAttrib4usv() : nvgl
  • GLVertexAttribI1i() : nvgl
  • GLVertexAttribI1iv() : nvgl
  • GLVertexAttribI1ui() : nvgl
  • GLVertexAttribI1uiv() : nvgl
  • GLVertexAttribI2i() : nvgl
  • GLVertexAttribI2iv() : nvgl
  • GLVertexAttribI2ui() : nvgl
  • GLVertexAttribI2uiv() : nvgl
  • GLVertexAttribI3i() : nvgl
  • GLVertexAttribI3iv() : nvgl
  • GLVertexAttribI3ui() : nvgl
  • GLVertexAttribI3uiv() : nvgl
  • GLVertexAttribI4bv() : nvgl
  • GLVertexAttribI4i() : nvgl
  • GLVertexAttribI4iv() : nvgl
  • GLVertexAttribI4sv() : nvgl
  • GLVertexAttribI4ubv() : nvgl
  • GLVertexAttribI4ui() : nvgl
  • GLVertexAttribI4uiv() : nvgl
  • GLVertexAttribI4usv() : nvgl
  • GLVertexAttribIPointer() : nvgl
  • GLVertexAttribPointer() : nvgl
  • GLVertexAttribPointerNV() : nvgl
  • GLVertexAttribs1dvNV() : nvgl
  • GLVertexAttribs1fvNV() : nvgl
  • GLVertexAttribs1hv() : nvgl
  • GLVertexAttribs1svNV() : nvgl
  • GLVertexAttribs2dvNV() : nvgl
  • GLVertexAttribs2fvNV() : nvgl
  • GLVertexAttribs2hv() : nvgl
  • GLVertexAttribs2svNV() : nvgl
  • GLVertexAttribs3dvNV() : nvgl
  • GLVertexAttribs3fvNV() : nvgl
  • GLVertexAttribs3hv() : nvgl
  • GLVertexAttribs3svNV() : nvgl
  • GLVertexAttribs4dvNV() : nvgl
  • GLVertexAttribs4fvNV() : nvgl
  • GLVertexAttribs4hv() : nvgl
  • GLVertexAttribs4svNV() : nvgl
  • GLVertexAttribs4ubvNV() : nvgl
  • GLVertexPointer() : nvgl
  • GLViewport() : nvgl
  • GLWindowPos2d() : nvgl
  • GLWindowPos2dv() : nvgl
  • GLWindowPos2f() : nvgl
  • GLWindowPos2fv() : nvgl
  • GLWindowPos2i() : nvgl
  • GLWindowPos2iv() : nvgl
  • GLWindowPos2s() : nvgl
  • GLWindowPos2sv() : nvgl
  • GLWindowPos3d() : nvgl
  • GLWindowPos3dv() : nvgl
  • GLWindowPos3f() : nvgl
  • GLWindowPos3fv() : nvgl
  • GLWindowPos3i() : nvgl
  • GLWindowPos3iv() : nvgl
  • GLWindowPos3s() : nvgl
  • GLWindowPos3sv() : nvgl
  • GLXCreateContext() : nvgl
  • GLXDestroyContext() : nvgl
  • GLXGetCurrentContext() : nvgl
  • GLXGetCurrentDrawable() : nvgl
  • GLXInitializeExtensions() : nvgl
  • GLXIsExtensionAvailable() : nvgl
  • GLXIsExtensionExported() : nvgl

- h -

  • highestBit() : nvmath
  • highestBitValue() : nvmath
  • horizontalToVerticalFieldOfView() : nvmath

- i -

  • initReflection() : nvutil
  • insert() : nvsg
  • intersectingSphere() : nvmath
  • invert() : nvmath
  • isIdentity() : nvmath
  • isNormalized() : nvmath
  • isNull() : nvmath
  • isOrthogonal() : nvmath
  • isPositive() : nvmath
  • isPowerOfTwo() : nvmath
  • isPtrTo() : nvsg
  • isRotation() : nvmath
  • isSingular() : nvmath
  • isSmartPtrOf() : nvutil
  • isUniform() : nvmath
  • isValid() : nvmath
  • isValidBoundingSphere() : nvsg

- l -

  • length() : nvmath
  • lengthSquared() : nvmath
  • lerp() : nvmath

- m -

  • magnitude() : nvmath
  • makeFrustum() : nvmath
  • makeLookAt() : nvmath
  • makeOrtho() : nvmath
  • makePerspective() : nvmath
  • max() : nvmath
  • maxElement() : nvmath
  • min() : nvmath
  • minElement() : nvmath

- n -

  • nearestPoint() : nvmath
  • normalize() : nvmath, nvsg
  • numberOfComponents() : nvsg
  • NVSGERRORHANDLER() : nvsg
  • nvsgGetDebugFlags() : nvsg
  • nvsgInitialize() : nvsg
  • nvsgRuntimeDebugControl() : nvsg
  • nvsgSetDebugFlags() : nvsg
  • nvsgSetErrorHandler() : nvsg
  • nvsgTerminate() : nvsg

- o -

  • OBJECT_TRAITS() : nvutil
  • OBJECT_TRAITS_BASE() : nvutil
  • operator *() : nvmath
  • operator!=() : nvutil, nvmath, nvsg
  • operator+() : nvmath
  • operator-() : nvmath
  • operator/() : nvmath
  • operator<() : nvutil
  • operator<<() : nvtraverser
  • operator==() : nvutil, nvmath, nvsg
  • operator^() : nvmath
  • operator~() : nvmath
  • orthonormal() : nvmath
  • orthonormalize() : nvmath

- p -

  • powerOfTwoAbove() : nvmath
  • powerOfTwoBelow() : nvmath
  • powerOfTwoNearest() : nvmath

- q -

  • queryInterfaceType() : nvutil

- r -

  • radToDeg() : nvmath
  • reflection_cast() : nvutil
  • releaseInterface() : nvutil
  • reportError() : nvutil
  • reportWarning() : nvutil
  • rescale() : nvsg

- s -

  • set_erase() : nvutil
  • setAllAnimations() : nvsg
  • SetCurrentDir() : nvutil
  • setIdentity() : nvmath
  • setMat() : nvmath
  • setPlugInFileFilter() : nvutil
  • SetUserAssertCallback() : nvutil
  • setVec() : nvmath
  • sharedPtr_cast() : nvutil
  • shutdownReflection() : nvutil
  • sign() : nvmath
  • signedDistance() : nvmath
  • sizeOfComponents() : nvsg
  • sizeOfType() : nvsg
  • smart_cast() : nvutil
  • smoothNormals() : nvmath
  • solveCubicEquation() : nvmath
  • solveQuadraticEquation() : nvmath
  • SplitPath() : nvutil
  • square() : nvmath
  • stridedMemcpy() : nvsg
  • stringToParameterDescription() : nvsg
  • subdivide() : nvmath

- v -

  • verticalToHorizontalFieldOfView() : nvmath

- w -

  • weakPtr_cast() : nvutil
  • WGLBindSwapBarrierNV() : nvgl
  • WGLBindTexImage() : nvgl
  • WGLBindVideoDeviceNV() : nvgl
  • WGLBindVideoImage() : nvgl
  • WGLChoosePixelFormat() : nvgl
  • WGLCreateAffinityDC() : nvgl
  • WGLCreateContext() : nvgl
  • WGLCreatePbuffer() : nvgl
  • WGLDeleteContext() : nvgl
  • WGLDeleteDC() : nvgl
  • WGLDestroyPbuffer() : nvgl
  • WGLEnumerateVideoDevicesNV() : nvgl
  • WGLEnumGpuDevices() : nvgl
  • WGLEnumGpus() : nvgl
  • WGLEnumGpusFromAffinityDC() : nvgl
  • WGLGetCurrentContext() : nvgl
  • WGLGetCurrentDC() : nvgl
  • WGLGetPbufferDC() : nvgl
  • WGLGetPixelFormatAttribfv() : nvgl
  • WGLGetPixelFormatAttribivARB() : nvgl
  • WGLGetSwapInterval() : nvgl
  • WGLGetVideoDevice() : nvgl
  • WGLGetVideoInfo() : nvgl
  • WGLInitializeExtensions() : nvgl
  • WGLIsExtensionAvailable() : nvgl
  • WGLIsExtensionExported() : nvgl
  • WGLJoinSwapGroupNV() : nvgl
  • WGLQueryCurrentContextNV() : nvgl
  • WGLQueryFrameCountNV() : nvgl
  • WGLQueryMaxSwapGroupsNV() : nvgl
  • WGLQueryPbuffer() : nvgl
  • WGLQuerySwapGroupNV() : nvgl
  • WGLReleasePbufferDC() : nvgl
  • WGLReleaseTexImage() : nvgl
  • WGLReleaseVideoDevice() : nvgl
  • WGLReleaseVideoImage() : nvgl
  • WGLResetFrameCountNV() : nvgl
  • WGLSendPbufferToVideo() : nvgl
  • WGLSwapInterval() : nvgl
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Namespace Members - Typedefs

All | Functions | Variables | Typedefs | Enumerations | Enumeration values

  • CgFxBuffer : nvsg
  • CgFxParameter : nvsg
  • CgFxPass : nvsg
  • CgFxProgram : nvsg
  • CgFxTechnique : nvsg
  • DataID : nvsg
  • Face3 : nvsg
  • Face4 : nvsg
  • HashKey : nvsg
  • HDAL : nvsg
  • LOG_OUTPUT_FUNCTION : nvutil
  • LogTest : nvutil
  • PFNQUERYPLUGINTERFACETYPE : nvutil
  • PIS : nvutil
  • ProblemLogList : nvutil
  • Segment : nvsg
  • SmartRCObject : nvutil
  • StateSetReplacementMap : nvsg
  • SWMRCriticalSection : nvutil
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Namespace Members - Variables

All | Functions | Variables | Typedefs | Enumerations | Enumeration values

  • CgFxAnnotation : nvsg
  • cIdentity44f : nvmath
  • glError : nvgl
  • HDAL_INVALID : nvsg
  • logFileOutput : nvutil
  • nvsgErrorHandler : nvsg
  • PFNGETPLUGINTERFACE : nvutil
  • PI : nvmath
  • PI_HALF : nvmath
  • PI_QUARTER : nvmath
  • PropertyId : nvutil
  • SQRT_THREE : nvmath
  • SQRT_THREE_HALF : nvmath
  • SQRT_TWO : nvmath
  • SQRT_TWO_HALF : nvmath
  • VariantKey : nvsg
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Page Index

SceniX Related Pages

Here is a list of all related documentation pages:
  • Legal Notice
  • A Brief Architecture Overview
  • Auto-connected Effect Parameters
  • Buffer
  • Camera
  • CgFx
  • Core Objects
  • Frustum Camera
  • Getting Started
  • Introduction
  • I/O Plug-ins
  • Matrices in SceniX and CgFX FAQ
  • Matrix Camera
  • Optimize Traversers
  • Parallel Camera
  • Perspective Camera
  • Plug In Management
  • Primitives
  • Rasterizing
  • Raytracing
  • Rendering
  • Scene Components
  • Scene Loader
  • Scene Management
  • Scene Saver
  • Shader Loader
  • System Requirements
  • Tessellation
  • SceniX Test Framework (SXT)
  • Texture
  • Texture Loader
  • Texture Saver
  • Traversers
  • View Components
  • What Is SceniX and What Is It Not
  • SceniX COLLADA/FX File Format Loader
  • SceniX MultiGen OpenFlight(tm) File Format Loader
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: Legal Notice

Legal Notice

Copyright (c) 2011 NVIDIA Corporation. All rights reserved.

Notice
This software may not, in whole or in part, be copied through any means, mechanical, electromechanical, or otherwise, without the express permission of NVIDIA Corporation.

Information furnished is believed to be accurate and reliable. However, NVIDIA assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties, which may result from its use. No License is granted by implication or otherwise under any patent or patent rights of NVIDIA Corporation. Specifications mentioned in the software are subject to change without notice.

NVIDIA Corporation products are not authorized for use as critical components in life support devices or systems without express written approval of NVIDIA Corporation.

Trademarks
NVIDIA, the NVIDIA logo, and NVIDIA Quadro are registered trademarks or trademarks of NVIDIA Corporation in the United States and/or other countries.

Microsoft, Windows, and the Windows logo are registered trademarks of Microsoft Corporation.

Other company and product names may be trademarks or registered trademarks of the respective companies with which they are associated.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: A Brief Architecture Overview

A Brief Architecture Overview

The SceniX scene graph contains multiple nodes and node components which make up the scene describing geometry, hierarchy of transfoms, lights and materials. See also the section about Scene Components.

Components like cameras define a specific view to the 3D scene, that is - how the 3D scene will appear when rendered to an appropriate output device. See also the section about View Components.

The following chart provides an overview of the SceniX core class hierarchy:

A nvui::Renderer or, in particular, a nvui::SceneRenderer connects the SceniX renderer framework with your application. The SceniX SDK ships with some useful helper classes to ease integration with application frameworks like Qt or wxWidgets. Helper classes for integration with Qt or wxWidgets are located in the ${SCENIXHOME}/samples/common directory. The following chart illustrates the integration with a Qt application framework:

The renderers observe the scene graph and can create their own representation of the scenery for acceleration purposes. The latter is covered by the SceniX render pipeline or render framework as shown in the following SceniX application stack:

Most data in the scene is renderer agnostic, however, it is also possible to attach renderer specific implementations for fine-grained control (nvgl::BufferGL and nvgl::TextureGL). That is - as an option, an application can manage renderer specific resources like vertex buffer objects (VBOs) or textures by itself and assign these to SceniX tree objects. The SceniX render framework then sources the corresponding render commands from the provided resources without the need for copying a large amount of data. This could be particularly useful for PhysX-based applications, where the PhysX engine maintains the renderer specific resources (buffers, textures) and performas a per-frame update of the relevant data. The following chart illustrates how this connection would look like:

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Auto-connected Effect Parameters

Auto-connected Effect Parameters

SceniX introduces a number of dedicated Cg types to auto-connect a certain effect parameters with objects located in the scene graph. Value updates for such parameters will be synchronized automatically from SceniX's render framework. Even if the nvsg::CgFx API provides means to iterate through these kind of parameters, and to get hold of the parameter handles, it is not recommended to perform manual value updates for these parameters. Doing so might not have the expected effect. It also can negatively impact render performance.

Transform Parameters

An effect parameter is considered a transform parameter if it is of type float4x4, and has one of the semantics decribed in the following table:

Semantic | Meaning
World, Model | object space to world space
View | world space to eye space
Projection | eye space to clip space
WorldT, ModelT, WorldTranspose, ModelTranspose | object space to world space (transposed matrix)
ViewT, ViewTranspose | world space to eye space (transposed matrix)
ProjectionT ProjectionTranspose | eye space to clip space (transposed matrix)
WorldI, ModelI, WorldInverse, ModelInverse | world space to object space
ViewI, ViewInverse | eye space to world space
ProjectionI, ProjectionInverse | clip space to eye space
WorldIT, ModelIT, WorldInverseTranspose, ModelInverseTranspose | world space to object space (transposed matrix)
ViewIT, ViewInverseTranspose | eye space to world space (transposed matrix)
ProjectionIT, ProjectionInverseTranspose | clip space to eye space (transposed matrix)
WorldView, ModelView | object space to eye space
ViewProjection | world space to clip space
ViewProjectionI, ViewProjectionInverse | clip space to world space
ViewProjectionT, ViewProjectionTranspose | world space to clip space (transposed matrix)
ViewProjectionIT, ViewProjectionInverseTranspose | clip space to world space (transposed matrix)
WorldViewProjection, ModelViewProjection | object space to clip space
WorldViewT, ModelViewT, WorldViewTranspose, ModelViewTranspose | object space to eye space (transposed matrix)
WorldViewProjectionT, ModelViewProjectionT, WorldViewProjectionTranspose, ModelViewProjectionTranspose | object space to clip space (transposed matrix)
WorldViewI, ModelViewI, WorldViewInverse, ModelViewInverse | eye space to object space
WorldViewProjectionI, ModelViewProjectionI, WorldViewProjectionInverse, ModelViewProjectionInverse | clip space to object space
WorldViewIT, ModelViewIT, WorldViewInverseTranspose, ModelViewInverseTranspose | eye space to object space (transposed matrix)
WorldViewProjectionIT, ModelViewProjectionIT, WorldViewProjectionInverseTranspose, ModelViewProjectionInverseTranspose | clip space to object space (transposed matrix)

Following some examples of valid declarations of transform parameters:

float4x4 Wvp        : WorldViewProjection;
float4x4 WorldView  : WorldView;
float4x4 WorldViewI : WorldViewI;
float4x4 View       : View;
float4x4 ViewI      : ViewI;
float4x4 World      : World;
float4x4 WorldI     : WorldI;
float4x4 Projection : Projection;

Values of transform parameters will be updated by SceniX's render framework immediately prior to apply the particular effect the parameters are declared in.

Transform parameters will not be exposed as tweakable parameters. Manually updating transform parameter values is not recommended. Doing so might not have the expected effect. It also can negatively impact render performance.

Light Parameters

An effect parameter is considered a light parameter if it is declared as NVSGLight within the particular effect source. The NVSGLight type is defined in media/effects/include/NVSGLight.cg as follows:

struct NVSGLight
{
  float4 ambient;
  float4 diffuse;
  float4 specular;
  float4 position;
  float4 direction;
  float  spotExponent;
  float  spotCutoff;
  float  constantAttenuation;
  float  linearAttenuation;
  float  quadraticAttenuation;
};

Inside your effect source, you can declare auto-connect lights either as independent parameters like this:

#include "include/NVSGLight.cg"

NVSGLight myLight0;
NVSGLight myLight1;
NVSGLight myLight3;
// ...

Or as an array like this:

#include "include/NVSGLight.cg"

NVSGLight myLights[8];

Or as a dynamic array like this:

#include "include/NVSGLight.cg"

NVSGLight myLights[];

Independent on whether you incorporate auto-connect lights as independent parameters, or as a (dynamic) array, the light parameter values will be automatically synchronized by SceniX's render framework. The media/effects/phong.fx sample effect that ships with the SDK is a good starting point of how to incorporate NVSGLight type parameters in your effects. The media/scenes/shader/8spot.nbf sample scene shows the phong effect applied. The scene contains 8 spot lights, which all get connected to the light parameters decleared in the phong effect. Simply load that sample scene into the SceniX Viewer application, and start the animation to see how the lights move while the animation is running.

NVSGLight type parameter will not be exposed as tweakable parameters, and NVSGLight parameter values should not be updated manually. NVSGLight type parameters are exclusively introduced by SceniX to serve as auto-connect parameters as described here. If you want non-connected lights inside your effect you need to explicitely declare them as non-NVSGLight typed parameter. For example, you can declare parameters like this:

// 'tweakable' lights
float4 lightPosition[8];
float4 lightDirection[8];
float4 lightColor[8];

Such declared parameters will be exposed as tweakables by the nvsg::CgFx API, and will not be auto-connected to tree lights. Instead an application can provide access to these parameters through an appropriate user interface to let the end user manually change the values of these parameters.

Material Parameter

An effect parameter is considered a material parameter if it is declared as NVSGMaterial within the particular effect source. The NVSGMaterial type is defined in media/effects/include/NVSGMaterial.cg as follows:

struct NVSGMaterial
{
  float4 ambient;
  float4 diffuse;
  float4 specular;
  float4 emission;
  float  shininess;
};

Inside your effect source, you can declare an auto-connect material like this:

#inclUde "include/NVSGMaterial.cg"

NVSGMaterial myMaterial;

Unlike lights, as described in the previous section, it does not make sense to declare more than one material parameter per effect. A material parameter will be auto-conneced to a tree material only if a nvsg::Material attribute is assigned to the same nvsg::StatePass as the corresponding nvsg::CgFx attribute is.

As with all auto-connected effect parameters, a material parameter will not be exposed as a tweakable by the nvsg::CgFx API, and it is not recommended to manually update material parameter values. If you want tweakable material components in your effect, you must not declare them as NVSGMaterial type. Tweakable material parameters can be declared like this:

// tweakable material components
float4 ambientMat;
float4 diffuseMat;
float4 specularMat;
// ...

Such declared material component parameters will not be auto-connected to corresponding material objects in the scene graph. Instead they will be exposed as tweakable material component parameters. An application can provide an appropriate user interface to let the end user modify the component's values.

Light Position Parameters

A light position parameter will be identified by its type and its parameter name. With detecting light position parameters SceniX follows MetaSL naming conventions. A parameter is considered a light position parameter if it is of type float3 and the parameter name matches the following name pattern:

  <prefix>light<number>_position

  with <prefix> = "msl_", or "__"
  and  <number> = 0 ... 7

With this, valid declarations of light position parameters look like this:

  float3 __light0_position;    // position of light #0
  float3 msl_light1_position;  // position of light #1

Same as for all auto-connect parameters, light position parameters will not be exposed as tweakable parameters. Values of light position parameters should therefore not be updated manually. Instead, light position parameters will be connected to nvsg::LightSource objects located in the scene graph, and their particular values will be updated automatically by SceniX's render framework.

Light Direction Parameters

A light direction parameter will be identified by its type and its parameter name. With detecting light direction parameters SceniX follows MetaSL naming conventions. A parameter is considered a light direction parameter if it is of type float3 and the parameter name matches the following name pattern:

  <prefix>light<number>_direction

  with <prefix> = "msl_", or "__"
  and  <number> = 0 ... 7

With this, valid declarations of light direction parameters look like this:

  float3 __light0_direction;    // direction of light #0
  float3 msl_light1_direction;  // direction of light #1

Same as for all auto-connect parameters, light direction parameters will not be exposed as tweakable parameters. Values of light direction parameters should therefore not be updated manually. Instead, light direction parameters will be connected to nvsg::LightSource objects located in the scene graph, and their particular values will be updated automatically by SceniX's render framework.

Light Type Parameters

A light type parameter will be identified by its type and its parameter name. With detecting light type parameters SceniX follows MetaSL naming conventions. A parameter is considered a light type parameter if it is of type int and the parameter name matches the following name pattern:

  <prefix>light<number>_type

  with <prefix> = "msl_", or "__"
  and  <number> = 0 ... 7

With this, valid declarations of light type parameters look like this:

  int __light0_type;    // type of light #0
  int msl_light1_type;  // type of light #1

Same as for all auto-connect parameters, light type parameters will not be exposed as tweakable parameters. Values of light type parameters should therefore not be updated manually. Instead, light type parameters will be connected to nvsg::LightSource objects located in the scene graph, and their particular values will be updated automatically by SceniX's render framework.

Scene Parameter

An effect parameter is considered a scene parameter if it is declared as NVSGScene type within your effect sources. The NVSGScene type is defined in media/effects/include/NVSGScene.cg as follows:

struct NVSGScene
{
  float4 ambient;
  int frameNumber;
};

Inside your effect source, you can declare an auto-connect scene parameter like this:

#include "include/NVSGScene.cg"

NVSGScene myScene;

A scene parameter will be auto-connected to the corresponding attributes of the nvsg::Scene object, which represents the actual rendered scene. Updates to the particular parameter values will be automatically performed by MVSG's render framework.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Buffer

Buffer

nvsg::Buffer is an abstract data container for a chunk of raw memory with a fixed size. In SceniX buffers typically store image pixel data or vertices / indices for geometry.

SceniX provides two implementations of nvsg::Buffer

  • nvsg::BufferHost stores the data in host (CPU) memory.
  • nvgl::BufferGL uses an OpenGL buffer object.

Buffer Operations

Data can be changed through mapping (nvsg::Buffer::DataReadLock or nvsg::Buffer::DataWriteLock), which gives fine-grained control by providing a direct pointer. Alternatively larger chunks of memory should be changed through nvsg::Buffer::setData or nvsg::Buffer::getData. Appending data can be achieved through resizing.

  BufferWriteLock buffer(myBuffer);
  buffer->setSize(size);

  // fill via map
  Buffer::DataWriteLock data(myBuffer, Buffer::MAP_WRITE);
  MyVertex* vertex = data.getPtr<MyVertex>();
  // .. do work

  // or large chunks
  buffer->setData(offset, size, ptr);

  // buffer to buffer copies
  buffer->getData(offset, size, otherBuffer, otherOffset);

  // appending data
  size_t oldsize = buffer->getSize();
  buffer->resize(oldsize + addedSize);
  buffer->setData(oldsize, addedSize, addedDataPtr);

BufferHost

nvsg::BufferHost implements Buffer using standard host/cpu memory. Therefore accessing the data and its manipulation is very fast. Use BufferHost if you want to make the data available to all renderers.

BufferGL

nvgl::BufferGL use OpenGL buffer objects directly. This makes the buffer only available to renderers which can work with native OpenGL buffer objects. BufferGL gives the user full control over all data transfer operations to the GPU. Furthermore it allows to reduce memory consumption, as the renderer will not have to create its own copy from the regular BufferHost data. The renderer will directly use BufferGL resources as passed into (for example for storing a nvsg::VertexAttribute).

Since OpenGL is directly called, make sure the appropriate nvgl::RenderContextGL is active!

Mapping operations and non-sequential access to mapped buffers can be slow operations for BufferGL. One benefit of BufferGL is that through compute interop the data can be filled by GPU-driven simulations. Similar to the example sketched in nvgl::TextureGL asynchronous geometry data streaming could be done through threading.

If the OpenGL driver is capable Scenix uses a fast-path for BufferGL to BufferGL data copies.

  // good, can use fast-path if bufDst and bufSrc are OpenGL buffers
  BufferGLWriteLock(bufDst)->setData(0, size, bufSrc, 0);

  // slower
  Buffer::DataWriteLock dst(bufDst, Buffer::MAP_WRITE);
  Buffer::DataReadLock src(bufSrc);
  memcpy(dst.getPtr(), src.getPtr(), size);
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Camera

Camera

Besides View State, an nvsg::Camera is one of the two main parts to specify a view. It can be positioned and oriented, holds the focus distance, and an arbitray number of head lights.

This section describes how to

  • Absolute position a Camera
  • Relative position a Camera
  • Handle the Focus Distance
  • Use headlights at a Camera
  • Use projection matrices of a Camera
  • Zoom with a Camera
  • Determine the cullCode of a Sphere

Absolute position a Camera

There are a couple of functions to position and orient an nvsg::Camera: nvsg::Camera::setPosition, nvsg::Camera::setOrientation, nvsg::Camera::setDirection, nvsg::Camera::setUpVector, nvsg::Camera::setWorldToViewMatrix, and nvsg::Camera::setViewToWorldMatrix.

The most efficient way to position and orient an nvsg::Camera looks like this:

nvsg::CameraSharedPtr camera;         // the camera to position and orient
nvmath::Vec3f position;               // the new position of the camera
nvmath::Quatf orientation;            // the new orientation of the camera
{
  nvsg::CameraWriteLock c( camera );  // get a write lock on the camera, scoped by the curly braces
  c->setPosition( position );         // set the position
  c->setOrientation( orientation );   // set the orientation; it's assumed, \c orientation is normalized
}

For convenience, there is another setOrientation function, that gets two nvmath::Vec3f: the direction and the up vector. That way, it is simple to, for example, position an nvsg::Camera at 100.0f units to the right of the world's origin, and looking down the x-axis to the origin, with the world's z-axis as the camera local up-vector:

{
  nvsg::CameraWriteLock c(camera );
  c->setPosition( nvmath::Vec3f( 100.0f, 0.0f, 0.0f ) );
  // set the orientation by direction and upVector; it's assumed they are orthonormal
  c->setOrientation( nvmath::Vec3f( -1.0f, 0.0f, 0.0f ), nvmath::Vec3f( 0.0f, 0.0f, 1.0f ) );
}

Setting the orientation by a direction and an upVector can also be done with two separate calls: nvsg::Camera::setDirection and nvsg::Camera::setUpVector. In that case, those vectors need not be orthonormal, but each of them has to be normalized. Note, though, that, if they are not orthonormal, the resulting orientation might depend on the order of setting them, as each call might influence the other direction. With nvsg::Camera::setDirection, the up vector is orthogonally projected onto the plane normal to the direction and normalized. With nvsg::Camera::setUpVector, the direction is orthogonally projected onto the plane normal to the up vector, and normalized. Assume, for example, you have two nvmath::Vec3f that are not orthonormal:

nvmath::Vec3f direction( 0.0f, 0.0f, -1.0f );   // look down the negative z-axis
// upVector is the diagonal between the positive y-axis and the negative z-axis
nvmath::Vec3f upVector( 0.0f, nvmath::SQRT_TWO_HALF, -nvmath::SQRT_TWO_HALF );

nvsg::CameraSharedPtr camera0;
{
  // make the camera look along the diagonal between the negative z-axis and the negative y-axis,
  // while the up vector is as specified
  nvsg::CameraWriteLock c(camera0);
  c->setDirection( direction );
  c->setUpVector( upVector );
}

nvsg::CameraSharedPtr camera1;
{
  // make the camera up vector the positive y-axis, while the direction is as specified
  nvsg::CameraWriteLock c(camera1);
  c->setUpVector( upVector );
  c->setDirection( direction );
}

Finally, if you just have an nvmath::Mat44f, that maps from world to view space or vice versa, you can use nvsg::Camera::setWorldToViewMatrix or nvsg::Camera::setViewToWorldMatrix. Internally, those matrices are decomposed into a position and orientation. Any possible scaling information in those matrices will be ignored.

Note:
As decomposing a matrix is an expensive operation, and might lead to rounding errors, it is recommended to not use those two functions, if the positioning and orientation information is available.

To get the camera position and orientation, you can use nvsg::Camera::getPosition, nvsg::Camera::getOrientation, nvsg::Camera::getDirection, and nvsg::Camera::getUpVector. To get the view-to-world or the world-to-view transformations, you can use nvsg::Camera::getWorldToViewMatrix and nvsg::Camera::getViewToWorldMatrix.

Relative position a Camera

The relative movements available for a Camera are nvsg::Camera::move, nvsg::Camera::rotate, and nvsg::Camera::orbit, plus a number of convenience functions, which restrict movement to one axis. Moving, rotating and orbiting can be done camera relative (using the camera local axes), which is the default, or world relative.

For example:

// move the camera one unit to the right, along the camera's x-axis
nvsg::CameraSharedPtr camera;
nvsg::CameraWriteLock( camera )->move( nvmath::Vec3f( 1.0f, 0.0f, 0.0f ) );

// move the camera one unit along the worlds y-axis, no matter how the camera is oriented
nvsg::CameraSharedPtr camera
nvsg::CameraWriteLock( camera )->move( nvmath::Vec3f( 0.0f, 1.0f, 0.0f ), false );

To rotate the camera by a specified angle (in radian) around a normalized vector:

// rotate the camera by 10 degree to the left
nvsg::CameraSharedPtr camera;
nvsg::CameraWriteLock( camera )->rotate( nvmath::Vec3f( 0.0f, 1.0f, 0.0f ), nvmath::detToRad( 10.0f ) );

To orbit the camera by a specified angle (in radian) around a normalized vector based at a pivot point at a specified distance:

// orbit the camera around the camera's y-axis by 180 degree around a point in 10.0f units distance
// that is, the final position is 20.0f units in front of the starting position, looking in the opposite direction
nvsg::CameraSharedPtr camera;
nvsg::CameraWriteLock( camera )->orbit( nvmath::Vec3f( 0.0f, 1.0f, 0.0f ), 10.0f, nvmath::PI );

The convenience functions nvsg::Camera::moveX, nvsg::Camera::moveY, and nvsg::Camera::moveZ move the camera along the camera's local x-, y-, and z-axis, respectively. nvsg::Camera::rotateX, nvsg::Camera::rotateY, and nvsg::Camera::rotateZ rotate the camera around the camera's local x-, y-, and z-axis, respectively. Those functions could have been named as well pitch, yaw, roll, respectively. Finally, nvsg::Camera::orbitX, nvsg::Camera::orbitY, and nvsg::Camera::orbitZ orbit the camera around the x-, y-, and z-axis, respectively, through a point at the specified distance.

Handle the Focus Distance

The focus distance is the orthogonal distance from the camera to the projection plane. It should be somewhere between the near and far clipping distances. It can be used, for example, to determine a pivot point:

nvsg::CameraSharedPtr camera;
{
  nvsg::CameraReadLock c(camera);
  nvmath::Vec3f pivotPoint = c->getPosition() + c->getFocusDistance() * c->getDirection();
}

And if you have a camera position and a pivot point, you can configure the camera like that:

nvmath::Vec3f position, pivotPoint;   // some position and a pivot point

Vec3f dir = pivotPoint - position;    // use the vector from the position to the pivotPoint
float dist = length( dir );           // distance between the position and the pivotPoint
dir.normalize();                      // of course, the direction needs to be normalized

nvsg::CameraSharedPtr camera;
{
  nvsg::CameraWriteLock c(camera);
  c->setPosition( position );
  c->setDirection( dir );             // might modify the up vector; needs to check against dir and upVector being parallel
  c->setFocusDistance( dist );
}

Use headlights at a Camera

An nvsg::Camera can have any number of headlights. A headlight is a light source with position and orientation specified relative to the position and orientation of the nvsg::Camera.

You can get the number of attached head lights (nvsg::Camera::getNumberOfHeadLights), iterate over them (nvsg::Camera::beginHeadLights, nvsg::Camera::endHeadLights), add (nvsg::Camera::addHeadLight), replace (nvsg::Camera::replaceHeadLight), and remove (nvsg::Camera::removeHeadLight) them, and simply clear the complete container of headlights (nvsg::Camera::clearHeadLights).

For example, to reduce the intensity of each headlight of a camera, you could iterate like this:

nvsg::CameraSharedPtr camera;     // a camera, potentially with some headlights attached
{
  nvsg::CameraReadLock c(camera); // you don't want to change the camera here, just the headlights
  for ( nvsg::Camera::HeadLightIterator it = c->beginHeadLights() ; it != c->endHeadLights() ; ++it )
  {
    nvsg::LightSourceWriteLock ls(*it);
    ls->setIntensity( 0.9f * ls->getIntensity() );
  }
}

Adding a headlight is simple. Note, that nvsg::Camera::addHeadLight returns an iterator to the added headlight!

nvsg::CameraSharedPtr camera;
nvsg::LightSourceSharedPtr lightSource;

// lock the camera, add a headlight, unlock the camera, and get an iterator to that newly added light
// in one line of code
nvsg::Camera::HeadLightIterator it = nvsg::CameraWriteLock( camera )->addHeadLight( lightSource );

There are two flavors of headlight removal functions, one getting a SharedPtr, and the other getting an iterator. Continuing the code snippet above, there are two possibilities to remove the just added headlight from the camera:

bool removed = nvsg::CameraWriteLock( camera )->removeHeadLight( it );

bool removed = nvsg::CameraWriteLock( camera )->removeHeadLight( lightSource );

Note, that the iterator based removal is more efficient.

Similar to removal, there are two flavors of replacing a headlight, again one getting a SharedPtr, and the other getting an iterator of the headlight to replace:

nvsg::LightSourceSharedPtr newLightSource;
bool replaced = nvsg::CameraWriteLock( camera )->replaceHeadLight( newLightSource, it );

nvsg::LightSourceSharedPtr newLightSource;
bool replaced = nvsg::CameraWriteLock( camera )->replaceHeadLight( newLightSource, lightSource );

Note, again, that the iterator based replacing is more efficient.

Finally, the most efficient way to completely remove all headlights from a camera is

nvsg::CameraWriteLock( camera )->clearHeadLights();

Use projection matrices of a Camera

The nvsg::Camera specifies the pure virtual interface to get the projection matrix and its inverse. Concrete classes derived from nvsg::Camera need to provide those functions. The following code snippet sets the projection and the modelview matrices for OpenGL:

nvsg::CameraSharedPtr camera;
{
  nvsg::CameraReadLock c(camera);
  GLMatrixMode( GL_PROJECTION );
  GLPushMatrix();
  GLLoadMatrixf( c->getProjection().getPtr() );

  GLMatrixMode( GL_MODELVIEW );
  GLPushMatrix();
  GLLoadMatrixf( c->getWorldToViewMatrix().getPtr() );
}

Zoom with a Camera

The nvsg::Camera specifies the pure virtual interface to zoom a view: nvsg::Camera::zoom. Concrete classes derived from nvsg::Camera need to provide that function.

Note, that the factor is multiplied with the window size. Reducing the window size, while keeping the viewport size effectively is a zoom-in operation. That is, to zoom in, the factor has to be less than one, to zoom out, it has to be greater than one.

nvsg::CameraSharedPtr camera;
nvsg::CameraWriteLock( camera )->zoom( 0.5f );    // zoom in by a factor of 2 !!

Determine the cullCode of a Sphere

The nvsg::Camera specifies the pure virtual interface to determine the cull code of a sphere relative to the view frustum of this camera. Concrete classes derived from nvsg::Camera need to provide that function.

To determine, if a given sphere is completely in the view frustum, you would write

nvsg::CameraSharedPtr camera;
nvmath::Sphere3f sphere;    // some sphere with a positive radius
if ( nvsg::CameraReadLock( camera )->determineCullCode( sphere ) == nvsg::CC_IN )
{
  // the sphere is completely inside the view frustum
}

For further details on the specific available camera types, see

  • Frustum Camera
  • Matrix Camera
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: CgFx

CgFx

A CgFx is a StateAttribute which defines a CgFx shader that will be used to draw the drawable that it is paired with in a GeoNode. If a CgFx state attribute is in a StateSet, then it will take precedence over other material related state attributes like TextureAttribute, Material, UnlitColorAttribute, etc.

The following code shows a common way of attaching a CgFx shader to a GeoNode by means of a CgFx state attribute:

  string err;
  bool bfail;
  std::vector<std::string> searchPaths;

  CgFxSharedPtr someCgfx = CgFx::createFromFile("shader.cgfx", searchPaths, err, bfail);

  if ( !someCgfx || bfail )
  {
    //some error occured when loading or compiling the file with the shader code
    //string err contains the error message
  }

  {
    StateSetWriteLock ssw(someStateSet);
    ssw->addAttribute(someCgfx);
  }

  //
  GeoNodeWriteLock(someGeoNode)->addDrawable( someStateSet, someDrawable );

  CgFxEffectWriteLock effect(CgFxReadLock(someCgfx)->getEffect());
  {
    //To set a uniform variable in the shader(s):
    effect->setParameterValueAsFloat(effect->getParameterByName("color"), f);

    //To set a sampler variable in the shader(s):
    effect->setSamplerTexture( effect->getParameterByName("diffuseSampler"), someTextureHost );
  }
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Core Objects

Core Objects

This section gives a brief overview of the kind of objects covering the C++ class hierarchy that we call the SceniX Core Objects. SceniX core objects live in the namespace nvsg and have nvsg::Object as common base class.

Object Traits

Object traits basically cover a set of type definitions common to all core objects. These particular type definitions are frequently used with general object management like object instantiation, automated lifetime control, and access control.

ObjectType

This type reflects the type of the object itself. This, in particular, is useful in generic functions, where the object type is passed as a template argument.

SharedPtr

The SharedPtr type automatically controls the lifetime of an object. Manual reference counting is no longer required. The SharedPtr type correctly handles copying and assignment.

WeakPtr

This type is required if an object needs to maintain a back-reference to another object without really referencing the object. In a parent/child relationship for example, a parent always references its children, but each child only back-references its parent by the mean of a WeakPtr. If a child would reference its parent using a SharedPtr instead, the parent could never be entirely destroyed, since the child would always keep a reference to its parent, which is not desirable.

ReadLock

The ReadLock type provides read-only access to the underlying object. An arbitrary number of clients can read an object concurrently from different threads.

WriteLock

The WriteLock type provides exclusive write access to the underlying object. Write access is granted to the calling thread only if no other thread is locking the object for read or write access at the same time. If the object is locked by another thread at the time the calling thread is attempting to instantiate the WriteLock, the calling thread enters the wait state without using processor time. The calling thread resumes after all locking threads released the object again.

The SceniX SDK provides a convenient helper template class ObjectTraits<T> to access the individual type defines. This is in particular useful within generic algorithms:

  typename ObjectTraits<T>::ObjectType
  typename ObjectTraits<T>::SharedPtr
  typename ObjectTraits<T>::WeakPtr
  typename ObjectTraits<T>::ReadLock
  typename ObjectTraits<T>::WriteLock

For convenience reasons, the SceniX SDK provides corresponding type defines for the individual core object types. These type defines all follow the following pattern:

  <ObjectType>##<TraitType>

As an example, for the Group type the type defines provided are:

  GroupSharedPtr
  GroupWeakPtr
  GroupReadLock
  GroupWriteLock

So, instead of writing

  ObjectTraits<Group>::SharedPtr sGroup = Group::create();
  {
    ObjectTraits<Group>::ReadLock roGroup(sGroup);
    NVSG_ASSERT(0==roGroup->getNumberOfChildren());
    [...]
  }
you can write

  GroupSharedPtr sGroup = Group::create();
  {
    GroupReadLock roGroup(sGroup);
    NVSG_ASSERT(0==roGroup->getNumberOfChildren());
    [...]
  }

which would be more convenient.

Instantiation

SceniX core objects have certain restrictions in terms of instantiation and access. This is required for the SceniX framework to automatically control lifetime of objects and to transparently and safely access shared objects in a multi-threaded environment. A core object can be instantiated only through a static create function provided for each core object type or through cloning an existing object. The create function returns a SharedPtr wrapping the object. For a Group object, for example, this looks like this:

  GroupSharedPtr sGroup = Group::create();

To instantiate a copy of the previously created Group object, you need to invoke the clone function like this:

  GroupSharedPtr sClone = sGroup->clone();

The clone function deep-copies the source object.

Lifetime

The lifetime of a SceniX core object is managed through automatic reference counting. The automatic reference counting, and hence the automatic lifetime management is supported by the SharedPtr type, introduced first with SceniX 7. If the last SharedPtr object that references the wrapped object runs out of scope, the wrapped object will be automatically destructed.

Read/Write Locking

The SharedPtr object returned by the individual object’s static create function does not provide access to the API of the wrapped object. For the calling thread to gain access to the Object API, it needs to initiate either a ReadLock or a WriteLock object, depending on which access is required. For this to achieve, you pass the SharedPtr object to the respective lock objects on instantiation:

  { // beginning of scope
    GroupReadLock rGroup(sGroup);
    rGroup->getNumberOfChildren();
  } // end of scope

or

  { // beginning of scope
    GroupWriteLock wGroup(sGroup);
    wGroup->addChild(GeoNode::create());
  } // end of scope

The read/write lock will be released when the [Read|Write]Lock object runs out of scope.

The per-object access described here is independent of whether SceniX is configured to run in a multi-threaded environment or not. By default, SceniX is configured for single-threaded runtime environments. In this case, the underlying lock calls will be resolved to empty instructions with a minimal runtime overhead. If you require the per-object access to work as expected in a multi-threaded runtime environment, you need to configure SceniX accordingly. Configuring SceniX for multi-threaded runtime environments will be achieved by passing nvsg::NVSG_MULTITHREADED as first argument to nvsg::nvsgInitialize. nvsgInitialize must be called once per application run prior to any other call to the SceniX API. It is recommended to do this inside the application's initial entry point, e.g. inside the constructor of a C++ application object or simply inside the main entry point of an application:

  #include <nvsg/nvsg.h>

  using namespace nvsg;

  int main(int argc, char** argv)
  {
    // use SceniX in a multi-threaded runtime environment
    nvsgInitialize(NVSG_MULTITHREADED);

    // start the application's message loop
    [...]

    // unintitialize the SceniX library
    nvsgTerminate();
  }
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Frustum Camera

Frustum Camera

An nvsg::FrustumCamera is derived from an nvsg::Camera, and provides means to explicitly specify a view window and the near and far clipping planes. Together, those values specify a view volume, which is a truncated pyramid for nvsg::PerspectiveCamera, and a parallelepiped for nvsg::ParallelCamera. In the nvsg::FrustumCamera model the projection plane always is perpendicular to the viewing direction. The window is specified by a size and an offset. Moreover, a region inside that window can be specified, which is of special interest for a cluster of views.

This section describes how to

  • Handle the near and far clipping planes
  • Handle the view window size
  • Handle the view window offset
  • Handle the view window region
  • Handle the view window aspect ratio
  • Get a ray through a pixel
  • Zoom to a sphere

Handle the near and far clipping planes

The near distance (or near clipping plane) specifies the front plane of a view. All objects in front of that plane are clipped. Likewise, the far distance (or far clipping plane) specifies the back plane of a view, and all objects beyond that plane are clipped.
The near distance has to be positive, and the far distance has to be greater than the near distance: 0 < near < far.
The ratio of the near and far clipping distances specifies the depth resolution of the camera. To get the best resolution, one should fit those distances as tight to the scene as possible.
One can simply set those values by nvsg::FrustumCamera::setNearDistance and nvsg::FrustumCamera::setFarDistance:

nvsg::FrustumCameraSharedPtr frustumCamera;       // the camera to handle
{
  nvsg::FrustumCameraWriteLock fc(frustumCamera); // get a write lock on the camera
  fc->setNearDistance( 0.1f );                    // set the near plane at 0.1 units
  fc->setFarDistance( 1000.0f );                  // set the far plane at 1000 units
}

If one has a sphere and wants to fit the near and far distances to that sphere, one can use nvsg::FrustumCamera::calcNearFarDistances:

nvmath::Sphere3f sphere( Vec3f( 0.0f, 0.0f, 0.0f ), 10.0f );                  // a sphere with radius 10.0f around the origin
nvsg::FrustumCameraWriteLock(frustumCamera)->calcNearFarDistances( sphere );  // adjust near/far to that sphere

If the sphere is behind the camera, some default values are set. If the camera is inside the sphere, the far distance is set as needed, and the near distance is set to some relatively small positive value.

Handle the view window size

The size of the view window of a camera is specified in world space, and describes a window at the focus distance (see nvsg::Camera::getFocusDistance) of the camera:
// specify a window size of 4x3
nvsg::FrustumCameraWriteLock(frustumCamera)->setWindowSize( nvmath::Vec2f( 4.0f, 3.0f ) );

Handle the view window offset

The offset of the view window of a camera is specified in world space, and describes how far the center point of the view window is offset from the intersection of the view plane (at the focus distance from the camera). While the view direction still is orthogonal to the projection plane, one gets a sheared view frustum. This is needed, for example, to specify the left and right frustum for a stereo view:

float eyeDistance;                            // the stereo eye distance
nvsg::FrustumCameraSharedPtr frustumCamera;
{
  // determine the right camera of a frustum out of a 'central' camera definition
  nvsg::FrustumCameraWriteLock fc(frustumCamera);
  // get the current window offset
  nvmath::Vec2f windowOffset = fc->getWindowOffset();
  // slightly shift it to the left by half the eye distance
  fc->setWindowOffset( nvmath::Vec2f( windowOffset[0] - 0.5f * eyeDistance, windowOffset[1] ) );
  // and move the camera to the right by the same amount
  fc->move( nvmath::Vec3f( 0.5f * eyeDistance, 0.0f, 0.0f ) );
  // -> the same window as before is described, but with a camera slightly moved to the right
}

Handle the view window region

In addition to size (Handle the view window size) and offset (Handle the view window offset), one can specify a region inside the view window. While size and offset are in world space, the region is relative to the window size. That is, the default region from (0.0f,0.0f) to (1.0f,1.0f) is the complete view window. This information can be used for clustered views. If you have, for example, four viewports (of the same size and resolution), ordered two by two, and one camera for each of the viewports, you need to specifiy the complete view window for all of the four cameras, but different view regions. The upper left camera would look like that:

nvmath::Box2f upperLeftQuadrant( nvmath::Vec2f( 0.0f, 0.5f )    // upper left starts at the left edge at half height
                               , nvmath::Vec2f( 0.5f, 1.0f ) ); // and ends at half the width at the upper edge
nvsg::FrustumCameraWriteLock(frustumCamera)->setWindowRegion( upperLeftQuadrant );

Handle the view window aspect ratio

Usually, the aspect ratio of the view window and the viewport should be the same. That is, whenever the viewport changes, one should adjust the view window accordingly. Use nvsg::FrustumCamera::setAspectRatio for that purpose. With that, you can decide whether the width or the height of the view window should be kept constant, while the other dimension is adjusted to get the desired aspect ratio.

If you have, for example, an nvui::RenderTarget, you can set the aspect ratio of the view window as follows:

nvui::SmartRenderTarget renderTarget;     // the render target to draw to
// keep the width of the Window, but adjust the height accordingly
nvsg::FrustumCameraWriteLock(frustumCamera)->setAspectRatio( renderTarget->getAspectRatio(), true );

Get a ray through a pixel

With an nvsg::FrustumCamera, you can calculate a ray from the camera position through the center of a specified pixel in the viewport by nvsg::FrustumCamera::getPickRay:

int x, y;                                 // pixel position
int w, h;                                 // the viewport width and height
nvmath::Vec3f rayOrigin, rayDirection;    // will get the ray origin and direction
nvsg::FrustumCameraReadLock(frustumCamera)->getPickRay( x, y, w, h, rayOrigin, rayDirection );

This ray then can be used for example with the nvtraverser::RayIntersectTraverser.

Zoom to a sphere

Besides zooming by a factor, as described in Zoom with a Camera, an nvsg::FrustumCamera provides a method to zoom to an nvmath::Sphere3f: nvsg::FrustumCamera::zoom. This function moves the camera along the view direction to get the complete specified nvmath::Sphere3f inside the view frustum. While doing that, the field of view can be specified, and the near and far clipping planes can be adjusted to match that sphere.

To just move the camera and adjust the clipping planes:

nvmath::Sphere3f  sphere;   // the sphere to zoom to
nvsg::FrustumWriteLock(frustumCamera)->zoom( sphere );

To move, but not adjust the clipping planes:

nvmath::Sphere3f  sphere;   // the sphere to zoom to
// need to specify the field of view... using -1.0f, keeps the current
nvsg::FrustumWriteLock(frustumCamera)->zoom( sphere, -1.0f, false );

Note, that fitting the near and far clipping planes might be automatically done, when auto clip planes is enabled in the ViewState.

For further details on the specific available camera types, see

  • Parallel Camera
  • Perspective Camera
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Getting Started

Getting Started

Introduction

This document is intended as a starting point to those who are new to SceniX. After presenting some Prerequisities, it will describe how to setup a project using the cross platform build system CMake in the section Project Setup. The section General SceniX Programming Policies then describes general SceniX programming policies and provides useful information on how to use the SceniX scene management engine.

After this general introduction the section The GLUTMinimal programming example describes how a minimal application can be implemented to render a frame using SceniX.

In the GLUTMinimal example a simple scene is used as a default scene. The sections MeshGenerator and SimpleScene describe how to create a simple SceniX scene.

Prerequisities

After installing SceniX, verify that the SCENIXHOME environment variable points to the correct directory, since this variable is needed by the CMake build files used to generate the SceniX project files. The SCENIXHOME variable should point to the installation directory, e.g. C:\Program Files\NVIDIA Corporation\SceniX on Windows. In the following text this directory is referred to by the expression "<tt>${SCENIXHOME}</TT>".

To generate project files for the GLUTMinimal sample, a CMake version 2.8.4 or higher is required. A current version of CMake can be obtained on the CMake home page (http://cmake.org/).

To build the sample, binary files are provided for Visual Studio 2008 and 2010 under Windows and for GCC 4.1.x under Linux. Building the samples with a different GCC version might work, but will result in C runtime issues on execution.

The GLUTMinimal sample uses FreeGLUT as a platform independent window manager. A current version of FreeGLUT can be obtained on the FreeGLUT home page (http://freeglut.sourceforge.net/). To generate the correct solution, the variable GLUT_ROOT_PATH must be set in CMake. For the Windows CMake version, set up the source and target directories and click Configure. Then locate the GLUT_ROOT_PATH variable and enter the path where FreeGLUT is installed, i.e. the folder where the release, debug and inc subdirectories of FreeGLUT are located. On Linux, configuring the GLUT_ROOT_PATH variable should not be necessary since CMake should be able to locate the FreeGLUT installation itself.

Project Setup

This section describes how a project that uses SceniX could be started, taking the GLUTMinimal sample application as an example.

The GLUTMinimal sample is platform independent, i.e. it can be build on both Windows and Linux using the provided CMake build file CMakeLists.txt to generate e.g. Visual Studio project files or a Makefile.

CMakeLists.txt

The CMakeLists.txt project file in ${SCENIXHOME}/samples/GLUTMinimal already contains everything needed to build the sample:

The first few lines set up the project name, state the minimal required CMake version and set up the packages needed by the project: OpenGL for an OpenGL context, SceniX for scene graph management and rendering, FreeGLUT for window management. Also, the contents of the SCENIXHOME environment variable are transferred into the CMake variable SCENIX_HOME, so every path can be expressed as a path relative to the SceniX root directory.

Important for this project are the variables GLUTMINIMAL_SOURCES and GLUTMINIMAL_HEADERS which contain the set of source and header files needed by the project, respectively. The file main.cpp contains the main function of the project, together with the initialization and rendering code. The SimpleScene module contains a class that generates a simple SceniX scene using the MeshGenerator module. The MeshGenerator module provides simple functions to generate a scene graph. The SceneFunctions module then provides simple functions to work with the generated scene graph. If this minimal project should be extended by additional header and source files, these files must be added to the corresponding set so they are included in the project files generated by CMake.

After collecting the files needed to build the project, the include directories are added. Should the project require additional include directories to extend it, these include directories need to be added here.

General SceniX Programming Policies

This section provides some information and links about how to program an application using SceniX and introduces the different paradigms that are used throughout SceniX.

Namespaces

For shorter compilation times, the different SceniX modules have to be included one by one using the corresponding header files. SceniX header files are located in the subdirectories of the ${SCENIXHOME}/inc/ directory, and are divided into different namespaces, which are reflected by the directories the header files are located in:
  • nvsg: Contains core SceniX headers, e.g. core classes (Scene.h, Camera.h, ...), node classes (Node.h, Group.h, GeoNode.h, ...) and the geometry class (Primitive.h)
  • nvgl: Contains SceniX OpenGL specific headers like GLContext.h, which contains the OpenGL wrapper class nvgl::GLContext
  • nvmath: Contains SceniX mathematics classes, like vectors (Vecnt.h) and planes (Planent.h)
  • nvtraverser: Contains SceniX traverser classes, like the base traverser class (Traverser.h)
  • nvui: Contains user interface specific classes, like the base class for a SceniX renderer (SceneRenderer.h)
  • nvutil: Contains SceniX support classes, like debug assertion (Assert.h) or the smart pointer class used throughout the whole SceniX landscape (SmartPtr.h)

SceniX Objects

Instead of allowing the application that uses the SceniX library to handle SceniX objects directly and thus forcing the application to handle e.g. object lifetime, thread safety and memory leak detection itself, SceniX objects can only be manipulated through special smart pointers. Each SceniX object has its corresponding smart pointer. The properties of smart pointers and their usage is discussed in the Core Objects reference.

The GLUTMinimal programming example

In this section the GLUTMinimal example application is introduced, which gets shipped with the SceniX package and can be found in the directory ${SCENIXHOME}/samples/GLUTMinimal. This application is a simple sample application that shows how a small project that uses the SceniX library can be put together. To keep the code as simple as possible, the application only opens one window and renders a SceniX scene graph to an OpenGL context. For more complex topics like mouse interaction or animation please refer to the QtMinimal sample in the ${SCENIXHOME}/samples/QtMinimal or the code samples in the ${SCENIXHOME}/tests/sxtest/tests directory.

After a first quick overview over the files and classes used in the project the most important code segments are described in detail.

The GLUTMinimal uses FreeGLUT (http://freeglut.sourceforge.net/), a variant of the OpenGL Utility Toolkit GLUT, for window and OpenGL context handling. FreeGLUT is intended for small to medium sized OpenGL programs, so a larger project should use a different window system. For this example, FreeGLUT is very useful since it does not introduce a large amount of window and OpenGL context handling overhead.

Once FreeGLUT is installed, the provided project files expect that the environment variable GLUTHOME points to the FreeGLUT installation directory. The CMakeLists.txt file of the GLUTMinimal project should then be able to find the FreeGLUT installation, correctly add the header and binary files to the project and copy the glut.dll into the correct binary output directory.

Overview over the GLUTMinimal sample

The GLUTMinimal sample consists of several components, and only the main.cpp file is located in the sample's source directory. The other modules mentioned here are located in the samples/common directory, where every sample that needs these helper classes can just use them.

  • main implements the main entry point and the initialization and rendering functions
  • MeshGenerator provides simple functions to generate geometry and materials and combine them to a scene graph
  • SimpleScene is a class that uses the MeshGenerator to provide a simple scene and access to its components
  • SceneFunctions is a collection of convenience functions, including a default camera setup and scene load and save functions

main

main.cpp implements the main entry point. First, the SceniX framewok is initialized by calling nvsg::nvsgInitialize(). This routine initializes all global data required by the SceniX API. At this point it is also possible to configure SceniX for a multi-threaded environment, but the default single-threaded environment suffices for this example.

// File: ${SCENIXHOME}/samples/GLUTMinimal/src/main.cpp
int main( int argc, char *argv[] )
{
  // initialize SceniX
  nvsg::nvsgInitialize();

Then, FreeGLUT is initialized, the window size and display mode are set and the main window is created. Additionally, FreeGLUT is configured to return to the calling function of glutMainLoop when the main window is closed:

  glutInit( &argc, argv );
  glutSetOption( GLUT_ACTION_ON_WINDOW_CLOSE, GLUT_ACTION_CONTINUE_EXECUTION );
  glutInitWindowSize( 640, 480 );
  glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
  glutCreateWindow( "SceniX minimal GLUT example" );

After this, the sample's main function is called. This is done so data needed for the sample is in scope only while the sample is running and is destroyed before SceniX is terminated:

  // call the sample's main function
  int result = sampleMain();

  // terminate SceniX
  nvsg::nvsgTerminate();

  // return the result returned by the sample function
  return result;
}

sampleMain()

The sampleMain function contains all code needed to set up the SceniX scene and renderer, attach them to the FreeGLUT OpenGL context and enter the FreeGLUT main event loop.

First, a simple scene is created via the SimpleScene class:

int sampleMain()
{
  // create a SimpleScene object, containing a SceniX scene
  SimpleScene scene;

The SimpleScene class is described in the SimpleScene section further below. Then, a ViewState is created, the scene is passed to the ViewState and the ViewState is initialized with some default values. Since a ViewState is a SceniX object, it cannot be created by new or malloc, just via the class member function create() or via cloning of an already existing object. To call member functions of the view state, it needs to either be read- or write-locked, depending on whether the function is a const function or a non-const function. Here, the scene is to be passed into the view state, so a write lock is needed. See Core Objects for further information.

  // create a ViewState object, containing view specific state like a camera and a scene
  nvsg::ViewStateSharedPtr viewState = nvsg::ViewState::create();

  // pass the scene contained in the SimpleScene object to the ViewState object
  nvsg::ViewStateWriteLock(viewState)->setScene( scene.m_sceneHandle );

  // setup the view state with some default values, e.g. create a camera looking at the scene
  setupDefaultViewState(viewState);

The ViewState is a class containing view specific state like a camera and a scene, but also stereo view information and animation data. The setupDefaultViewState function is part of the pg_gettingstarted_GLUTMinimal_scenefunctions convenience function collection described further below.

After the scene and the view state are set up, the renderer itself needs to be created and configured. SceniX provides classes that encapsulate render contexts, render targets, and scene renderers. These classes are described in the Rendering part of the documentation.

First, a render context is created and it is told to attach to the context already created by the GLUT framework.

  // create a render context
  nvgl::SmartRenderContextGL renderContextGL = nvgl::RenderContextGL::create( nvgl::RenderContextGL::Attach() );

Then, a render target is created in this render context. A render target is a render surface to be used in conjunction with an nvui::Renderer SceniX renderer class. This target is then configured to clear the color and depth buffer when a new frame begins:

  // create a render target in the render context
  rtgl = nvgl::RenderTargetGLFB::create ( renderContextGL );

  // configure the render target to clear the color and depth buffer
  rtgl->setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

Finally, the SceniX renderer is created. The renderer takes the ViewState's information to render the scene as seen from the camera into the render target in the render context, so the view state and the render target need to be passed to the renderer to have all data available for the renderer:

  // create a SceneRenderer for OpenGL
  srgl2 = nvgl::SceneRendererGL2::create();

  // pass it the render target and the view state
  srgl2->setRenderTarget( rtgl );
  srgl2->setViewState( viewState );

Before entering the FreeGLUT main event loop, FreeGLUT is configured to call the display() and reshape() functions when the window needs to be re-painted or the window's geometry was changed:

  // configure GLUT to call the display() and reshape() functions on the appropriate events
  glutDisplayFunc( &display );
  glutReshapeFunc( &reshape );

Then the FreeGLUT main event processing loop is called. In FreeGLUT, the glutMainLoop returns when the main window is closed, allowing for a cleanup step before the program terminates.

  // enter the GLUT main loop, start event processing
  glutMainLoop();

  // reset the scene renderer and the target
  rtgl.reset();
  srgl2.reset();

  // finish the sample's main function
  return 0;
}

The two functions called by FreeGLUT when a repaint or a resize event needs to be processed are the display() and reshape() function.

display()

The sample's display function is called whenever the rendering region of the window needs to be re-painted. This function simply tells the scene renderer to render the scene and then tells GLUT to display the newly rendered image.

void display()
{
  // render the scene
  srgl2->render();

  // tell GLUT to display the new rendered image
  glutSwapBuffers();
}

reshape()

The sample's reshape function is called whenever the window was resized. This causes the rendering region to be resized, too, which needs to be told to the render target so the image is correctly rendered.

void reshape( GLint width, GLint height )
{
  // pass the new window size to the render target
  rtgl->setSize( width, height );
}

Up to this point, this guide described the code in the main.cpp file, the only source file that needs to be written if a new rendering application needs to be produced using the classes and convenience functions provided by the SceniX scene management and rendering framework. The following sections describe the most important parts of the framework used by this sample to generate a scene and render it.

MeshGenerator

The MeshGenerator is a collection of functions that simplify the generation of a SceniX scene for simple visualization or testing purposes. It provides functions to generate different geometries:
  • All primitives supported by SceniX ( createQuadSet, createTriSet, ... )
  • The platonic solids ( createTetrahedron, createCube, ... )
  • Some other common simple objects ( createSphere, createTorus, ... ) Additionally, the MeshGenerator provides different functions to generate other SceniX objects needed to build a SceniX scene:
  • Materials ( createDefaultMaterial, createTexture, ... )
  • Lights ( createPointLight, createDirectedLight, ... )
  • Transformations ( createTransform, ... )
  • A special node called GeoNode that combines materials with geometry ( createGeoNode ).

Some of these functions will be used in the code discussed in the pg_gettingstarted_GLUTMinimal_simplescene section. As an example, the createCube() function will be discussed here. Since the MeshGenerator was also written as an example of how to work with a lot of the SceniX classes, reading the source code itself will provide a lot of information, too. The MeshGenerator files can be found at ${SCENIXHOME}/samples/common/inc/MeshGenerator.h and ${SCENIXHOME}/samples/common/src/MeshGenerator.cpp.

The createCube() function generates an nvsg::Drawable containing per vertex position, normal and texture coordinate information and index information of a cube with an edge length of 2.0 and its center at (0.0, 0.0, 0.0). The cube's faces are built with triangles bisecting each face diagonally.

First, all needed vertex and face information is stored in vectors. Each entry in the vertices vector corresponds to a vertex or corner of the cube, and each entry in the faces component corresponds to a triangle face of the cube, with its three indices building a triangle of vertices.

Additionally, four texture coordinates are stored, which will be assigned to the faces of the cube so that each face spans the [0;1]x[0;1] region.

  // File: ${SCENIXHOME}/samples/common/src/MeshGenerator.cpp
  DrawableSharedPtr createCube( CreationMode mode )
  {
    // Setup vertices
    static const Vec3f vertices[8] =
    {
      Vec3f( -1.0f, -1.0f, -1.0f ), // 0
      Vec3f(  1.0f, -1.0f, -1.0f ), // 1
      Vec3f( -1.0f,  1.0f, -1.0f ), // 2
      Vec3f(  1.0f,  1.0f, -1.0f ), // 3
      Vec3f( -1.0f, -1.0f,  1.0f ), // 4
      Vec3f(  1.0f, -1.0f,  1.0f ), // 5
      Vec3f( -1.0f,  1.0f,  1.0f ), // 6
      Vec3f(  1.0f,  1.0f,  1.0f )  // 7
    };

    // Setup faces
    static const Face3 faces[12] =
    {
      {1, 0, 2}, {2, 3, 1}, // back
      {0, 4, 6}, {6, 2, 0}, // left
      {0, 1, 5}, {5, 4, 0}, // bottom
      {4, 5, 7}, {7, 6, 4}, // front
      {5, 1, 3}, {3, 7, 5}, // right
      {3, 2, 6}, {6, 7, 3}  // top
    };

    // Setup texture coordinates
    static const Vec2f texcoords[4] =
    {
      Vec2f(0.0f, 0.0f),
      Vec2f(1.0f, 0.0f),
      Vec2f(1.0f, 1.0f),
      Vec2f(0.0f, 1.0f)
    };

Since every vertex belongs to three sides of the cube, and all sides of the cube are perpendicular, the vertices need to be copied to be able to assign different normals to them. If only one normal was assigned to the vertex the lighting of the cube would be quite bad. Also, this way it is easy to distribute texture coordinates, since every face of the cube is handled separately. So, for every one of the twelve triangles of the cube, vertices are copied, a normal is computed for the face and texture coordinates are assigned to each vertex. This information is stored in the vectors v, n and tc, for vertex, normal and texture information, respectively. To address this information, an index set is generated and stored in indices:

    Vec3f v[36];
    Vec3f n[36];
    Vec2f tc[36];
    vector<unsigned int> indices;

    Vec3f v0, v1, v2, fn;

    for ( int kf = 0, kv = 0; kf < 12; kf++, kv += 3 )
    {
      v0 = vertices[faces[kf][0]];
      v1 = vertices[faces[kf][1]];
      v2 = vertices[faces[kf][2]];
      fn = calculateFaceNormal( v0, v1, v2 );

      indices.push_back(kv);
      indices.push_back(kv+1);
      indices.push_back(kv+2);

      v[kv]    = v0;
      v[kv+1]  = v1;
      v[kv+2]  = v2;

      n[kv]    = fn;
      n[kv+1]  = fn;
      n[kv+2]  = fn;

      // Assign texture coordinates
      if (kf & 1)
      { // odd faces
        tc[kv]    = texcoords[2];
        tc[kv+1]  = texcoords[3];
        tc[kv+2]  = texcoords[0];
      }
      else
      { // Even faces
        tc[kv]    = texcoords[0];
        tc[kv+1]  = texcoords[1];
        tc[kv+2]  = texcoords[2];
      }
    }

After all the neeeded information is computed, the data needs to be passed to a SceniX object so it can be put into a SceniX scene graph. The object to hold vertex attribute data is the nvsg::VertexAttributeSet. An nvsg::VertexAttributeSet is created and filled with the vertex data:

    // Create a VertexAttributeSet with vertices, normals and texture coordinates
    VertexAttributeSetSharedPtr vasPtr = VertexAttributeSet::create();
    {
      VertexAttributeSetWriteLock vas( vasPtr );
      vas->setVertices( v, 36 );
      vas->setNormals( n, 36 );
      vas->setTexCoords( 0, tc, 36 );
    }

This object could hold a number of other vertex attributes, like vertex color or additional texture coordinates, as can be seen in the documentation of nvsg::VertexAttributeSet. To create an indexed primitive for indexed rendering, the indices need to be passed into an nvsg::IndexSet. An IndexSet is created and filled with the generated indices:

    // Create an IndexSet
    IndexSetSharedPtr indexSet( IndexSet::create() );
    IndexSetWriteLock(indexSet)->setData( &indices[0], checked_cast<unsigned int>(indices.size()) );

Finally, the vertex attribute set and the index set need to be combined into an object that can be rendered. Since SceniX 7 all geometry should be stored in an nvsg::Primitive object. The nvsg::Primitive object is created and filled with the nvsg::VertexAttributeSet and the nvsg::IndexSet. Additionally, the primitive type is set to PRIMITIVE_TRIANGLES, as the algorithm above generated vertex and index information for a set of independent triangles.

    PrimitiveSharedPtr primitivePtr = Primitive::create();
    {
      PrimitiveWriteLock primitive( primitivePtr );
      primitive->setPrimitiveType( PRIMITIVE_TRIANGLES );
      primitive->setVertexAttributeSet( vasPtr );
      primitive->setIndexSet( indexSet );
    }

    return primitivePtr;
};

The nvsg::Primitive class supports a set of other primitive types, like triangle strips or quads. It has been newly introduced with SceniX 7 to replace the legacy types like Triangles, TriStrips, etc. See Primitives for more details for the new primitive class.

At the end of the function, the primitive is returned as a drawable.

SimpleScene

The SimpleScene class is a convenience class used to quickly generate an nvsg::Scene for testing purposes. The SimpleScene files can be found at ${SCENIXHOME}/samples/common/inc/SimpleScene.h and ${SCENIXHOME}/samples/common/src/SimpleScene.cpp.

The scene provided by SimpleScene rendered in GLUTMinimal

The scene consists of four Drawables , positioned by four Transformations , with four different Materials applied to the different drawables. The SimpleScene class provides access to all these SceniX objects via its public members:

  • m_sceneHandle, a pointer to the complete scene
  • m_materialHandle[4], pointers to the materials used in the scene
  • m_transformHandle[4], pointers to the transforms used in the scene
  • m_pointlight, a pointer to the nvsg::Lightsource in the scene
  • m_drawable, a pointer to the nvsg::Drawable used in the scene Note that the drawable is only one drawable, used four times in the scene.

All code of this class lies in its constructor, where the scene is generated and the member variables are filled with pointers to the different scene components. The remainder of this section discusses the most important parts of the constructor.

First, an nvsg::Scene object is created and write-locked. This write lock will live until the end of the function, thus allowing write access to the scene the whole time. Then, the scene's background color is set to a darker shade of the NVIDIA green:

// File: ${SCENIXHOME}/samples/common/src/SimpleScene.cpp
SimpleScene::SimpleScene()
{
  m_sceneHandle = Scene::create();

  WritableObject<Scene> theScene(m_sceneHandle);

  theScene->setBackColor(  Vec4f( 71.0f/255.0f, 111.0f/255.0f, 0.0f, 1.0f ) );

Next, the function createCube() is called to generate geometry for the scene. This function is discussed in detail in the pg_gettingstarted_GLUTMinimal_meshgenerator section of this documentation.

  m_drawable = createCube();

This line of code is surrounded by a set of different create functions. This way it is easy to generate a scene with a different drawable or different primitives, like quads instead of triangles.

Next, the materials for the different incarnations of the cube need to be set up. Only the material setup for the red cube will be discussed, as the other materials are set up analogously. A material, or nvsg::StateSet, contains a set of StateVariants . Of these StateVariants, only one variant can be active at a time. An nvsg::StateVariant consists of one or more StatePasses . When a material is rendered, all geometry associated with this material is rendered once for every nvsg::StatePass. A StatePass in turn contains one or more classes derived from nvsg::StateAttribute. This set of StateAttributes define the appearance of the material. Please refer to the documentation of nvsg::StateAttribute for a complete list of available attributes.

The classes below a state set

For the red cube, an nvsg::Material with a red diffuse color and an opacity of 0.7 is needed:

  stateSet[1] = createDefinedMaterial( Vec3f( 0.0f, 0.0f, 0.0f ),  // ambientColor
                                       Vec3f( 1.0f, 0.0f, 0.0f ),  // diffuseColor
                                       Vec3f( 1.0f, 1.0f, 1.0f ),  // specularColor
                                       40.0f,                      // specularExponent
                                       Vec3f( 0.0f, 0.0f, 0.0f ),  // emissiveColor
                                       0.7f,                       // opacity
                                       0.3f,                       // reflectivity
                                       1.33f );  // Water          // indexOfRefraction

The createDefinedMaterial function generates an nvsg::Material and adds it to an nvsg::Stateset, and returns this StateSet. So stateSet[1] is now a StateSet that only contains the red material.

Since transparency effects are configurable in SceniX, transparency only works when an nvsg::BlendAttribute is part of the nvsg::StateSet that should be transparent. Also, for a good transparency effect, two sided lighting should be switched on and the back faces of the cube should not be culled. This can be achieved by adding an nvsg::FaceAttribute to the nvsg::StateSet, configuring it to the desired values. First, these two attributes are created and configured:

  // Create BlendAttribute to render the transparent materials correctly.
  BlendAttributeSharedPtr blendAttribute = BlendAttribute::create();
  {
    BlendAttributeWriteLock ba( blendAttribute );
    ba->setBlendFunctions( BF_SOURCE_ALPHA, BF_ONE_MINUS_SOURCE_ALPHA );
  }

  // Render front and back faces of the transparent objects and do two sided ligting on them.
  FaceAttributeSharedPtr faceAttribute = FaceAttribute::create();
  {
    FaceAttributeWriteLock fa( faceAttribute );
    fa->setCullMode( false, false );
    fa->setTwoSidedLighting( true );
  }

Then, the two attributes are added to stateSet[1]:

  {
    StateSetWriteLock ss( stateSet[1] );
    ss->addAttribute( blendAttribute );
    ss->addAttribute( faceAttribute );
    ss->setName( "Red Material" );
  }

For the other materials, similar code is used to generate a white opaque and blue and green transparent cubes.

To put the drawable and the materials into the scene tree, GeoNodes are used. An nvsg::GeoNode contains a set of StateSets, to which an arbitrary number of nvsg::Drawables can be associated.

  // Create four GeoNodes.
  GeoNodeSharedPtr node[4];
  for ( int i=0 ; i<4 ; i++ )
  {
    node[i] = GeoNode::create();
    WritableObject<GeoNode> wgn( node[i] );
    wgn->addDrawable( stateSet[i], m_drawable );
  }

To position the cubes at different positions, a set of Transforms is used. An nvsg::Transform node is a node derived from nvsg::Group. An nvsg::Group is a node that can have an arbitrary number of child nodes. The nvsg::Transform adds a transformation to these capabilities. The creation and configuration for the red cube looks as follows:

  m_transformHandle[1] = createTransform( node[1] , Vec3f( 3.0f, 0.0f, 0.0f ) );
  TransformWriteLock( m_transformHandle[1] )->setName( "Red Object Transform" );

Here, the red cube is only translated along the x-axis. Transforms additionally support rotations and scaling, see the documentation of nvsg::Transform for further information.

To enable lighting effects, a light needs to be present in the scene. For this scene, an nvsg::PointLight is chosen. SceniX supports nvsg::DirectedLight, nvsg::PointLight, and nvsg::SpotLight light sources. The MeshGenerator function createPointLight is used. The parameter passed to the function positions the point light at the point (5.0, 8.0, 6.0) a bit away from the cubes.

  // Create a point light
  m_pointLight = createPointLight( Vec3f( 5.0f, 8.0f, 6.0f ) );

Finally, the transforms need to be added to an nvsg::Group node, which acts as the root node of the scene. The point light is also added to the root node of the scene. Note that in the rasterizer backend, lights only affect the parts of the scene that are below the node the light is attached to. So adding the light to the root node makes the light affect the complete hierarchy beneath it. Adding another light to the transform node of the red cube would result in that light only affecting the red cube, since all other cubes are not beneath that transform in the tree hierarchy.

  // Create a point light
  m_pointLight = createPointLight( Vec3f( 5.0f, 8.0f, 6.0f ) );

  // Create the root
  GroupSharedPtr groupHdl = Group::create();
  {
    WritableObject<Group> wg(groupHdl);
    for ( int i=0 ; i<4 ; i++ )
    {
      wg->addChild( m_transformHandle[i] );
    }
    wg->addLightSource( m_pointLight );
  }

After the complete scene tree is put together, the tree can be passed to the nvsg::Scene. The write lock on the scene goes out of scope at the end of the constructor, removing the lock.

  theScene->setRootNode( groupHdl );
}

The resulting scene graph then is structured like the following graph:

The resulting scene graph

SceneFunctions

The SceneFunctions module is a collection of convenience functions, including a default camera setup and scene load and save functions. The SceneFunctions files can be found at ${SCENIXHOME}/samples/common/inc/SceneFunctions.h and ${SCENIXHOME}/samples/common/src/SceneFunctions.cpp. Since the GLUTMinimal sample only uses the setupDefaultViewState function of this collection and the module itself is meant as code example on how to handle different SceniX related tasks, this document will only discuss the setupDefaultViewState function in detail.

To render an image, the view state passed to the renderer needs to contain a scene, a camera and a renderer options object. The scene can't be filled with a meaningful default value, but the camera can either be taken from the scene if it already contains a camera, or a new camera can be created. An nvui::RendererOptions object is an object used to pass options from the SceniX renderer to the application using the SceniX framework.

First, the function validates its input and copies some information from the view state. Should the view state be invalid, the function needs to return since it can not continue:

  // File: ${SCENIXHOME}/samples/common/src/SceneFunctions.cpp
  bool setupDefaultViewState( const nvsg::ViewStateSharedPtr & viewState )
  {
    if (!viewState)
    {
      return false;
    }

    CameraSharedPtr camera;
    SceneSharedPtr scene;
    RendererOptionsSharedPtr options;

    {
      ViewStateReadLock viewStateLock( viewState );
      camera  = viewStateLock->getCamera();
      scene   = viewStateLock->getScene();
      options = viewStateLock->getRendererOptions();
    }

Then, the function checks whether the camera in the view state is valid. Should there be no camera in the view state, the scene needs to be checked for a camera. So return with an error if the scene is invalid:

    // the viewstate does not have an active camera, set one
    if ( !camera )
    {
      if( !scene )
      {
        return false;
      }

Now, the scene needs to be checked for a camera. A scene can contain an arbitrary number of cameras. If at least one camera is present in the scene, the first camera is used as the camera for the view state:

      SceneReadLock sceneLock(scene);

      // if there are cameras in the scene choose the first one
      if ( sceneLock->getNumberOfCameras() )
      {
        camera = *sceneLock->beginCameras();
      }

If the scene does not contain a camera, a camera needs to be created:

      else
      {
        // otherwise create a new one
        camera = nvsg::PerspectiveCamera::create();
        {
          PerspectiveCameraWriteLock cameraLock(camera);
          cameraLock->setName( "ViewCamera" );

To make the camera look at the scene, the zoom function is used. The zoom function moves the camera to a position from which it can see the complete scene. For this, the zoom function needs a sphere to zoom to. To view the complete scene, the bounding sphere of the complete scene is used. This bounding sphere is obtained by reading the scene's root node's bounding sphere. So, after checking that the scene's root node is valid, the bounding sphere is obtained and passed to the camera's zoom function:

          // Make scene fit into the viewport.
          if (sceneLock->getRootNode())
          {
            cameraLock->zoom( NodeReadLock(sceneLock->getRootNode())->getBoundingSphere(), float(nvmath::PI_QUARTER) );
          }
        }
      }

Then, the newly created and initialized camera is passed to the view state:

      ViewStateWriteLock(viewState)->setCamera( camera );
    }

In the last part of the function, the renderer options object is checked. If it is not valid, a new object is generated and passed to the view state:

    // a viewstate needs a valid renderer options object
    if( !options )
    {
      ViewStateWriteLock(viewState)->setRendererOptions( RendererOptions::create() );
    }

    return true;
  }

Further Reading

This concludes this short overview of SceniX and a simple application built with its framework. For further information and more code samples, the following resources might be helpful. All path names are meant as sub-directories of the ${SCENIXHOME} Scenix installation directory.

  • /docs/ A collection of documents, including this help, provided as documentation and reference in working with SceniX.
  • /samples/ Some sample programs with different complexity.
  • /tests/ The SceniX test framework. See SceniX Test Framework (SXT) for further information.
  • The SceniX forum: http://developer.nvidia.com/forums/index.php?showforum=44
  • The SceniX help contact: SceniX-Help@nvidia.com

Copyright (c) 2011 NVIDIA Corporation. All rights reserved.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Introduction

Introduction

The SceniX scene management engine is an established solution in its seventh release as a cross-platform, object-oriented programming solution for software developers to quickly create interactive OpenGL applications having the highest degree of interactive performance and realism. Unlike most scene graphs, SceniX was designed around shader usage and renderer independence for applications requiring high image quality and the flexibility to share shaders via CgFX. SceniX also includes mature support for interactive ray tracing using OptiX, and the RTFx ray tracing effect interchange format.

What Is SceniX and What Is It Not
System Requirements
A Brief Architecture Overview

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: I/O Plug-ins

I/O Plug-ins

SceniX provides a general purpose plug-in mechanism, based on the class nvutil::PlugIn. A plug-in is a special type of .dll (Windows) or .so (Linux). Handling of the PlugIns is simplified by using the nvutil::PlugInServer, which is a Singleton object provided by SceniX.

In order to specify such an nvutil::PlugIn, you need to know about the Unique Plug Interface Type ID, nvutil::UPITID, and the Unique Plug Interface ID, nvutil::UPIID.

For an nvutil::UPITID, you need some plug interface type and a version string. There are a couple of predefined plug interface types, like UPITID_SCENE_LOADER for Scene loaders, UPITID_SCENE_SAVER for Scene savers, UPITID_TEXTURE_LOADER, UPITID_TEXTURE_SAVER, and UPITID_SHADER_LOADER.

For example, to specify a scene loader of a specific version, you would need something like

const UPITID mySceneLoaderUPITID( UPITID_SCENE_LOADER, UPITID_VERSION );

To construct an nvutil::UPIID, you need an identifier string, usually the file extension, and a UPITID, like this:

const UPIID mySceneLoaderUPIID( ".ABC", mySceneLoaderUPITID );

An nvsg::PlugIn has to provide just two functions, specified like this:

extern "C"
{
  MY_PLUG_IN_API bool getPlugInterface( const nvutil::UPIID & piid, nvutil::PlugIn *& pi );
  MY_PLUG_IN_API bool queryPlugInterfaceType( const nvutil::UPITID & pitid, std::vector<nvutil::UPIID> & piids );
}

The first one, getPlugInterface, creates an object of the appropriate type:

MY_PLUG_IN_API bool getPlugInterface( const UPIID& piid, PlugIn *& pi )
{
  if ( piid == mySceneLoaderUPIID )
  {
    pi = new MySceneLoader();
    return( pi != NULL );
  }
  return false;
}

The other, queryPlugInterfaceType, fills a vector of UPIIDs with those supported by this plugin:

MY_PLUG_IN_API bool queryPlugInterfaceType( const UPITID & pitid, vector<UPIID> & piids )
{
  piids.clear();
  if ( pitid == mySceneLoaderUPITID )
  {
    piids.push_back( mySceneLoaderUPIID );
  }
  return( ! piids.empty() );
}

The following sections of the Programming Guide might be of interest for PlugIn users and developers:

Plug In Management
Scene Loader
Scene Saver
Shader Loader
Texture Loader
Texture Saver

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Matrices in SceniX and CgFX FAQ

Matrices in SceniX and CgFX FAQ

Introduction

This guide will present a getting started guide for matrix layout and how to perform matrix-matrix and matrix-vector math in both SceniX and CgFX.

Matrices in SceniX

Matrix Layout in SceniX

Matrices in SceniX are organized as row-major, so that the translation is in the last row of the matrix. Below are two constructors that show matrix layout:

Mat44f mat( 1, 0, 0, 0,
            0, 1, 0, 0,
            0, 0, 1, 0,
            x, y, z, 1 );

Vec4f nX( 1, 0, 0, 0 );
Vec4f nY( 0, 1, 0, 0 );
Vec4f nZ( 0, 0, 1, 0 );
Vec4f trans( x, y, z, 1 );

Mat44f mat( nX,
            nY,
            nZ,
            trans );

Note that this is the transpose of OpenGL (and the examples in the Red Book, for instance), where matrices are column-major. In order to use a matrix defined in most OpenGL examples, or the Red Book, they will need to be transposed:

Red Book Example:

| a b c d |
| e f g h |
| i j k l |
| m n o p |

Use in SceniX:

Mat44f mat( a, e, i, m,
            b, f, j, n,
            c, g, k, o,
            d, h, l, p );

However, even though matrices are column major in OpenGL, when read from the GL into a memory buffer, the organization would be the same as it is in SceniX. For instance, the following code is valid:

float m[16];
glGetFloatv( GL_MODELVIEW_MATRIX, m );

Mat44f sm( m[0],  m[1],  m[2],  m[3],
           m[4],  m[5],  m[6],  m[7],
           m[8],  m[9],  m[10], m[11],
           m[12], m[13], m[14], m[15] );

Likewise, when written to GL, the following is also valid:

Mat44f myMatrix( ... );

glMatrixMode( GL_MODELVIEW );
glLoadMatrixf( sm.getPtr() );

Multiplication of a Matrix with a Vector.

If you have a vector va in space A, and a transformation mAtoB mapping from space A into a space B, then to get a vector vb in space B you need to write
  // note this is the opposite of CgFX
  vb = va * mAtoB;

Multiplication of Two Matrices.

If you have a transformation mAToB mapping from space A into space B, and a transformation mBToC mapping from space B into space C, then to get the transformation mAToC mapping from space A into space C you need to write
  // note this is the opposite of CgFX
  mAToC = mAToB * mBToC;

Multiplication of Two Quaternions.

SceniX uses the same concatenation model for quaterions as it does for matrices. If you have two quaterions q0 and q1, each representing a rotation, the following holds:
  Mat33f( q0 * q1 ) == Mat33f( q0 ) * Mat33f( q1 );

Matrices in CgFX

Matrix Layout in CgFX

Matrices in CgFX (Cg, really) are organized as column-major, like the GL, so that the translation is in the last column of the matrix. Below are two constructors that show matrix layout:

float4x4 mat = { 1, 0, 0, x,
                 0, 1, 0, y,
                 0, 0, 1, z,
                 0, 0, 0, 1 };

float4 nX = float4( 1, 0, 0, 0 );
float4 nY = float4( 0, 1, 0, 0 );
float4 nZ = float4( 0, 0, 1, 0 );
float4 trans = float4( x, y, z, 1 );

// note, same as above because the constructor puts the vectors into the matrix columns
float4x4 mat = float4x4( nX,
                         nY,
                         nZ,
                         trans );

Since this is using the OpenGL convention, GL matrices and Red Book examples should be entered as written.

Red Book Example:

| a b c d |
| e f g h |
| i j k l |
| m n o p |

Use in CgFX:

float4x4 mat = { a, b, c, d,
                 e, f, g, h,
                 i, j, k, l,
                 m, n, o, p };

Multiplication of a Matrix with a Vector.

If you have a vector va in space A, and a transformation mAtoB mapping from space A into a space B, then to get a vector vb in space B you need to write
  // note this is the opposite of SceniX
  vb = mul( mAtoB, va );

Multiplication of Two Matrices.

If you have a transformation mAToB mapping from space A into space B, and a transformation mBToC mapping from space B into space C, then to get the transformation mAToC mapping from space A into space C you need to write
  // note this is the opposite of SceniX
  mAToC = mul( mBToC, mAToB );
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Matrix Camera

Matrix Camera

A matrix camera can be used for a view, which is specified by a general 4x4 projection matrix. As this matrix can be any projection, none of the information available with an nvsg::FrustumCamera can be used here.

An nvsg::MatrixCamera is derived from an nvsg::Camera. Besides overwriting some virtual functions to provide the standard functionality specific to matrix cameras, it provides functionality to explicitly set the projection matrix.

When you have a projection matrix and its inverse and can't easily decompose it, an nvsg::MatrixCamera can be used:

Mat44f projectionMatrix;          // the projection matrix, from somewhere
Mat44f inverseProjectionMatrix;   // and its inverse
nvsg::MatrixCameraSharedPtr matrixCamera = nvsg::MatrixCamera::create();
nvsg::MatrixCameraWriteLock( matrixCamera )->setMatrices( projectionMatrix, inverseProjectionMatrix );

Note:
There is no check, whether the inverseProjectionMatrix really is the inverse of the projectionMatrix.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Optimize Traversers

Optimize Traversers

An nvtraverser::OptimizeTraverser is a special nvtraverser::ExclusiveTraverser. It serves as a base class for all optimizing traversers. The only property specific to an nvtraverser::OptimizeTraverser is a flag that specifies whether the name of the objects is to be ignored, when two separate objects are checked for equivalence.

There are a couple of optimizing traversers available:

  • nvtraverser::CombineTraverser
  • nvtraverser::EliminateTraverser
  • nvtraverser::IdentityToGroupTraverser
  • nvtraverser::UnifyTraverser
It is essential to note, that due to the optimizations done by one OptimizeTraverser, the scene might be changed such that an other OptimizeTraverser could optimize even more, and vice versa. To ensure the best possible optimization result, one could use the helper function optimizeScene, declared in SceneFunctions.h:

  void optimizeScene( const nvsg::SceneSharedPtr & scene, bool ignoreNames, bool identityToGroup
                    , unsigned int combineFlags, unsigned int eliminateFlags, unsigned int unifyFlags
                    , float epsilon )
  {
    if ( identityToGroup )
    {
      SmartPtr<IdentityToGroupTraverser> itgt( new IdentityToGroupTraverser );
      itgt->setIgnoreNames( ignoreNames );
      itgt->apply( scene );
    }

  //  loop over optimizers until nothing changed
#define UNDEFINED_TRAVERSER ~0
#define ELIMINATE_TRAVERSER 0
#define COMBINE_TRAVERSER   1
#define UNIFY_TRAVERSER     2
    int lastModifyingTraverser = UNDEFINED_TRAVERSER;

    bool modified;
    do
    {
      modified = false;
      //  first eliminate redundant/degenerated objects
      if ( eliminateFlags && ( lastModifyingTraverser != ELIMINATE_TRAVERSER ) )
      {
        SmartPtr<EliminateTraverser> et( new EliminateTraverser );
        et->setIgnoreNames( ignoreNames );
        et->setEliminateTargets( eliminateFlags );
        et->apply( scene );
        if ( et->getTreeModified() )
        {
          modified = true;
          lastModifyingTraverser = ELIMINATE_TRAVERSER;
        }
      }

      // second combine compatible objects
      if ( combineFlags  && ( lastModifyingTraverser != COMBINE_TRAVERSER ) )
      {
        SmartPtr<CombineTraverser> ct( new CombineTraverser );
        ct->setIgnoreNames( ignoreNames );
        ct->setCombineTargets( combineFlags );
        ct->apply( scene );
        if ( ct->getTreeModified() )
        {
          modified = true;
          lastModifyingTraverser = COMBINE_TRAVERSER;
        }
      }

      // third unify all equivalent objects
      if ( unifyFlags  && ( lastModifyingTraverser != UNIFY_TRAVERSER ) )
      {
        SmartPtr<UnifyTraverser> ut( new UnifyTraverser );
        ut->setIgnoreNames( ignoreNames );
        ut->setUnifyTargets( unifyFlags );
        if ( unifyFlags & UnifyTraverser::UT_VERTICES )
        {
          ut->setEpsilon( epsilon );
        }
        ut->apply( scene );
        if ( ut->getTreeModified() )
        {
          modified = true;
          lastModifyingTraverser = UNIFY_TRAVERSER;

          if ( unifyFlags & UnifyTraverser::UT_VERTICES )
          {
            // after unifying vertices we need to re-normalize the normals
            SmartPtr<NormalizeTraverser> nt( new NormalizeTraverser );
            nt->apply( scene );
          }
        }
      }
    } while( modified );
  }
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Parallel Camera

Parallel Camera

A parallel camera can be used for an orthographic view on the rendered scene.
An nvsg::ParallelCamera is derived from an nvsg::FrustumCamera. It does not add any functionality beyond the nvsg::FrustumCamera (see Frustum Camera), but just overwrites some virtual functions to provide the standard functionality specific to a parallel camera.

For example, the view frustum of an nvsg::ParallelCamera is a parallelepiped, and nvsg::FrustumCamera::getPickRay determines a ray through the center of the specified pixel parallel to the camera view direction.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Perspective Camera

Perspective Camera

A perspective camera can be used for a perspective view on the rendered scene.
An nvsg::PerspectiveCamera is derived from an nvsg::FrustumCamera. Besides overwriting some virtual functions to provide the standard functionality specific to perspective cameras, it provides functionality on field of view handling.

Setting the field of view

The field of view is the complete vertical view angle in radians. To set a field of view of 90 degree, you would do
nvsg::PerspectiveCameraSharedPtr perspectiveCamera;   // the perspective camera to handle
nvsg::PerspectiveCameraWriteLock(perspectiveCamera)->setFieldOfView( nvmath::degToRad( 90.0f ) );

Note:
Changing the field of view implicitly changes the world window size. That is, decreasing the field of view is a zoom-in, and increasing it is a zoom-out operation.

Setting the focus distance

Technically, changing the focus distance does not differ from how it is described in Camera. In order to keep the looked-at part of the world unchanged, you need to keep the field of view constant. In other words, the size of the world window changes along with the focus distance. That means, the world window size is changed when changing the focus distance.

Standard functionality

The view frustum of an nvsg::PerspectiveCamera is a truncated pyramid, and nvsg::PerspectiveCamera::getPickRay determines a ray from the camera position to the center of the specified pixel.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Plug In Management

Plug In Management

SceniX provides a couple of helper functions to ease PlugIn management:

  bool nvutil::getInterface( const std::vector<std::string> & searchPath, const UPIID & piid, PlugIn *& plugIn );
  bool nvutil::queryInterfaceType( const std::vector<std::string> & searchPath, const UPITID & pitid, std::vector<UPIID> & piids );
  void nvutil::releaseInterface( const UPIID & piid );
  void nvutil::setPlugInFileFilter( const std::string & filter );
  void nvutil::addPlugInSearchPath( const std::string & path );
  const std::vector<std::string> & nvutil::getPlugInSearchPath();

PlugIns essentially are special dynamically loaded libraries. To distinguish them from other files that are not PlugIns, the default file extensions of PlugIns is ".nxm" (as opposed to ".dll" on Windows or ".so" on Linux). To change the file extension used by nvutil::queryInterfaceType and nvutil::getInterface to identify PlugIns, one can used nvutil::setPlugInFileFilter. For example, to change to ".xyz" as the extension to use to find PlugIns:

  nvutil::setPlugInFileFilter( ".xyz" );

To get all UPIIDs of a specified PlugIn type, one could use nvutil::queryInterfaceType. For example, to get all available SceneLoaders, and find one that loads files with the extension ".ABC":

  std::vector<string> searchPaths;
  // set the search paths here ...

  std::vector<nvutil::UPIID> piids;
  if ( nvutil::queryInterfaceType( searchPaths, PITID_SCENE_LOADER, piids ) )
  {
    for ( std::vector<nvutil::UPIID>::const_iterator it = piids.begin() ; it != piids.end() ; ++it )
    {
      if ( strcmp( it->getPlugSpecificIDString(), ".ABC" ) )
      {
        foundUPIID = *it;   // found UPIID for a PlugIn to load scene files of type ".ABC"
      }
    }
  }

To get a specific PlugIn, nvutil::getInterface can be used. For example, to get mySceneLoader PlugIn, use ít, and release it:

  std::vector<string> searchPaths;
  // set the search paths here ...

  nvutil::PlugIn * plug;
  if ( nvutil::getInterface( searchPaths, mySceneLoaderUPIID, plug ) )
  {
    nvutil::SmartPtr<mySceneLoader> loader( reinterpret_cast<mySceneLoader*>(plug) );

    // use the loader here ...

    nvutil::releaseInterface( mySceneLoaderUPIID );
  }

Releasing a PlugIn should be done to avoid resource leaks, but it need not be done right after using it. A PlugIn could as well be kept as long as the program runs, and be released on shutdown, using nvutil::releaseInterface.

SceniX often needs to load files implicitly. For example, if you load a scene file, texture or shader files referenced in that file need to be loaded too. By default, SceniX would just search in the application directory. To add more search paths, use nvutil::addPlugInSearchPath, like that:

  nvutil::addPlugInSearchPath( myTexturesPath );
  nvutil::addPlugInSearchPath( myShadersPath );

To get the current search paths, nvutil::getPlugInSearchPath can be used.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Primitives

Primitives

General Description
Primitive provides a way to specify any OpenGL "built-in" primitive type: Points, Line Strip, Line Loop, Lines, Triangle Strip, Triangle Fan, Triangles, Quad Strip, Quads, Polygon, Triangles Adjacency, Triangle Strip Adjacency, Lines Adjacency, Line Strip Adjacency and (generic) Patches.

They can make use of indices to reuse vertex data (Using Indexed Primitives with IndexSet) or render vertex array data directly (Using Array Primitives). The earlier is the preferred method as it allows reuse of vertex data, which helps performance and give opportunity to save memory. The common source for primitives is the vertex data itself, managed through nvsg::VertexAttributSet.

Previous versions of SceniX used a different Primitive specification see Legacy Primitive Types for details on the changes made and what to take into account when porting old applications and content.

VertexAttributeSet

Vertex data is made of various vertex attributes, which can encode normals, positions, texturecoordinates and custom values. During rendering the vertex attributes of the vertices that make a primitive are typically linearly interpolated across the primitive. This is reflected by SceniX through the nvsg::VertexAttributeSet storing multiple nvsg::VertexAttribute instances.

There is two sets of attributes, each 16 entries wide. One are the conventional vertex attributes, so that they can be used by OpenGL's fixed function rendering (NVSG_POSITION, NVSG_NORMAL, ....). The other set uses the generic attribute identifiers (NVSG_ATTR0 to NVSG_ATTR15). The user should not overlap them.

Setup
Raw memory data is stored inside nvsg::Buffer (see Buffer for details). When nvsg::BufferHost is used to store the data the renderer will manage uploading the data itself. This gives the renderer most control over how it stores the data in the end for improved performance.

  vertexAttributeSet = VertexAttributeSet::create();
  vec3f v[36];
  vec3f n[36];
  vec4f c[36];
  // .. init vertex/normals
  {
    VertexAttributeSetWriteLock vas( vertexAttributeSet );
    // conveniance functions which automatically create appropriate
    // BufferHosts and VertexAttributes
    vas->setVertices( v, 36 );
    vas->setNormals( n, 36 );
    vas->setColors( c, 36 );

    // disable/enable individual attributes
    vas->setEnabled( VertexAttributeSet::NVSG_COLOR, false );
  }

VertexAttribute
The VertexAttribute is a simple class which stores the Buffer reference as well as information on how the data is represented. Similar to OpenGL's VertexPointer specification one can provide type and stride. For performance the data type should be as small as possible, for example using signed short for normals still yields high quality in shading and colors are sufficiently stored as unsigned char.

  VertexAttribute va;
  BufferSharedPtr buffer = getMySpecialValueBuffer(myObject);
  va->setData(1,NVSG_FLOAT,buffer,0,sizeof(float), myObjectVertexCount);
  {
    VertexAttributeSetWriteLock vas( vertexAttributeSet );
    vas->setVertexAttribute( VertexAttributeSet::NVSG_TEXCOORD1, va );
  }

The renderer is automatically informed about changes to vertex data (or their buffers) and will trigger its own uploads.

Strided Iterators
SceniX provides a utility template class for operating on strided data through nvutil::StridedIterator.

  VertexAttributeSetWriteLock vas( vertexAttributeSet );
  Buffer::Iterator<vec3f> posit = vas->getVertexAttribute( VertexAttributeSet::NVSG_POSITION ).begin()
  for (; posit < vas->getVertexAttribute( VertexAttributeSet::NVSG_POSITION ).end(); ++posit)
  {
    // do manipulation
  }

Using Primitive

Some features of the new Primitive:

  • All OpenGL/DirectX primitive types are supported, and primitive type can be changed dynamically.
  • Indexed or Array geometry can be specified.
  • Multiple independent primitives can be specified in a single index list using Primitive Restart.
  • A range of indices or vertices within the nvsg::IndexSet or nvsg::VertexAttributeSet of a Primitive can be rendered.
  • A Primitive can be instanced (rendered) multiple times in a scene, with the help of a CgFX effect.

Using Array Primitives

Array primitives do not require indexing, they will be rendered sequentially in the order specified in the VertexAttributeSet. Here is an example of setting up an array-based primitive:

  PrimitiveSharedPtr primSP = Primitive::create();
  PrimitiveWriteLock prim( primSP );

  // see types in Primitive.h
  prim->setPrimitiveType( primType );

  // build VAS as before
  VertexAttributeSetSharedPtr vas = buildVAS();
  prim->setVertexAttributeSet( vas );

Using Indexed Primitives with IndexSet

Indexed primitives can be rendered with the help of the new nvsg::IndexSet class. IndexSet specifies the indices and their data type (unsigned 32, 16, or 8 bit integer).

  PrimitiveSharedPtr primSP = Primitive::create();
  PrimitiveWriteLock prim( primSP );

  // see types in Primitive.h
  prim->setPrimitiveType( PRIMITIVE_TRIANGLE );

  // build VAS as before
  VertexAttributeSetSharedPtr vas = buildVAS();
  prim->setVertexAttributeSet( vas );

  // Build the IndexSet.  Simply copy all of the indices into the IndexSet
  SmartIndexSet sis( new IndexSet );
  unsigned short oneTriangle[] = { 0, 1, 2 };
  sis->setData( oneTriangle, 3 );
  prim->setIndexSet( sis );

Using Primitive Restart
Primitive Restart is a way to pack multiple "singluar" primitive types (Triangle Strip, Line Strip, Line Loop, Quad Strip, etc) into a single indexed primitive. A Primitive Restart index is specified, and when encountered by the Rendering API it causes the hardware to begin rendering another primitive of that type with the remaining indices.

[...]
  vector<unsigned int> strip0;
  vector<unsigned int> strip1;
  vector<unsigned int> strip2;

  vector<unsigned int> indices;
  indices.reserve( strip0.size() + strip1.size() + strip2.size() + 2 /* ie: numstrips  - 1 */ );

  // for unsigned int, we will use 0xFFFFFFFF as the Primitive Restart index
  indices.insert( indices.end(), strip0.begin(), strip0.end() );
  indices.push_back( 0xFFFFFFFF );  // Primitive Restart index  signals we will begin a new strip with next index

  indices.insert( indices.end(), strip1.begin(), strip1.end() );
  indices.push_back( 0xFFFFFFFF ); // Primitive Restart index

  indices.insert( indices.end(), strip2.begin(), strip2.end() );

  SmartIndexSet sis( new IndexSet );
  sis->setData( &indices[0], indices.size(), 0xFFFFFFFF );  // note, supplied 0xFFFFFFFF here to use as PR index.
  prim->setIndexSet( sis );

This will render two triangle strips, and be more efficient than rendering multiple primitives. Any index may be used as the Primitive Restart Index, but 0xFFFFFFFF is convenient in this example.

Note that although the index value is specified as an unsigned integer, the value must fit within the valid range of the index data type - 0x00-0xFF, 0x0000-0xFFFF, or 0x00000000-0xFFFFFFFF for 8, 16, and 32 bit data types, respectively.

Rendering Element Ranges
The default behavior of Primitive is to render all elements in the attached IndexSet or VertexAttributeSet. However, occasionally it is useful to render a portion of either an IndexSet or a VertexAttributeSet. This can be achieved using an element range, which is specified using the method Primitive::setElementRange.

[...]
  PrimitiveSharedPtr primSP = Primitive::create();
  PrimitiveWriteLock prim( primSP );
  // ..configure primitive..

  prim->setElementRange( 10, 10 );

This will cause SceniX to render 10 elements starting at offset 10 in either the IndexSet or VertexAttributeSet. Note that the Offset and Count are always in units of vertices or indices, not primitives.

Instancing

Recent Rendering APIs support the notion of Instancing, which is rendering the same primitive multiple times with a single API call. This makes rendering objects that appear in the scene multiple times more efficient.

Instancing requires the support of a CgFX effect in order to transform the instanced primitive appropriately. When rendering an instanced primitive, the hardware provides the shader with the ID (basically a zero-based, monotonically increasing counter) of the primitive currently being rendered. The CgFX effect is expected to use the ID to determine how to render this primitive.

A trivial example of using instancing would be:

C++ code:

// configure Primitive
  [...]
  prim->setInstanceCount( 2 );      // set to render Primitive twice

CgFX vertex program code:

  float4 vertex( float4 position : POSITION, int instanceID : INSTANCEID ) : POSITION
  {
    float4 vert = position;
    vert.z += instanceID;    // offset the Z value of this vertex by the instance id
    return mul( WorldViewProjection, vert );
  }

This would cause two identical primitives to be rendered, and the shader would then offset each primitive in Z using the instanceID. Typically, a shader would use the ID as an index to look up into a table of transformations or other per-primitive data that may be stored in a CgFxBuffer or a texture map.

Note that the hardware primitive counter is reset to zero for every nvsg::Primitive that is rendered.

Legacy Primitive Types

Previous versions of SceniX contained the notion of an nvsg::PrimitiveSet, with derived classes for nvsg::IndependentPrimitiveSet, nvsg::StrippedPrimitiveSet, nvsg::MeshedPrimitiveSet, and nvsg::Patches. These classes were then used to derive concrete primitive types such as nvsg::Triangle, nvsg::QuadMesh, nvsg::TriStrip, nvsg::QuadPatch4x4, etc. Each Traverser, Optimizer, and Loader/Saver needed to understand all concrete primitive types in order to process them appropriately. Adding a new primitive type meant adding code to many internal classes, which has become somewhat unwieldy. Dynamically changing primitive types or counts was impossible, and the legacy primitive types only supported indexed primitives. It was also not possible to declare array (non-indexed) primitives (even for Points!).

New Primitive Type
The new SceniX Primitive type addresses the issues described in the previous section as well as it adds functionality from the latest Rendering API's and all new OpenGL Primitive types up to OpenGL 4.1. nvsg::Primitive is also able to render indexed or array primitives, and is switchable on-the-fly. Primitive type and rendering counts are dynamically modifiable, and index data types of unsigned 32, 16, and 8 bits are supported. Finally, Primitive Restart (standardized by OpenGL 3.1 and the NV_primitive_restart OpenGL extension) and hardware instancing are also supported on a per-primitive basis.

Legacy Primitive Deprecation
As of SceniX 7, all legacy primitive types have been marked as deprecated, but have not yet been removed from the API. Be aware that they will be removed in some later version of SceniX, and all new renderers provided by SceniX will ONLY support the new Primitive. All new code should be developed using the new Primitive, and legacy code should be migrated forward.

The following classes have been deprecated: nvsg::IndependentPrimitiveSet, nvsg::StrippedPrimitiveSet, nvsg::MeshedPrimitiveSet, and all of their derived classes: nvsg::QuadMesh, nvsg::LineStrips, nvsg::QuadStrips, nvsg::TriFans, nvsg::TriStrips, nvsg::Lines, nvsg::Points, nvsg::Quads, and nvsg::Triangles. The class nvsg::Patches has also been deprecated but not nvsg::PatchesBase - see the next section.

Patch Primitives
SceniX 6 introduced Tessellation Programs and several new patch types: nvsg::QuadPatches, nvsg::QuadPatches4x4, nvsg::RectPatches, nvsg::TriPatches, nvsg::TriPatches4, as well as two base classes: nvsg::Patches and nvsg::PatchesBase. In SceniX 7 all of these primitive types are still available, with the exception of nvsg::Patches. nvsg::Patches has been removed from the API since a generic patch can be described with a Primitive of type PRIMITIVE_PATCHES.

Additionally, nvsg::PatchesBase now derives from nvsg::Primitive instead of nvsg::IndependentPrimitiveSet.

Porting Existing Code
In order to port existing code to SceniX 7, the following things will need to be done:

  • The typename IndexSet has been reused in SceniX 7 as a completely new class.
    The older typedef named nvsg::IndexSet that was used with Stripped primitive types,
    has been renamed to the typedef nvsg::IndexList.
    All existing code will need to search and replace "IndexSet" with "IndexList"

  • nvsg::Patches has been removed from the API.
    Any code that used the Patches primitive type will need to be replaced with a
    Primitive of type PRIMITIVE_PATCHES instead. The minimal API formerly exposed
    by Patches is also exposed by Primitive.

  • Any code that assumes nvsg::PatchesBase derives from nvsg::IndependentPrimitiveSet
    will need to be rewritten to understand that it is now derived from Primitive.

  • Be aware that any NBF files containing primitives derived from nvsg::Patches or
    nvsg::PatchesBase will automatically be converted during the load process.

Converting Legacy Primitives
SceniX 7 provides the nvtraverser::ConvertPrimitivesTraverser. It can be used to convert all legacy primitives in a scene to the new Primitive.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Rasterizing

Rasterizing

SceniX supports rasterization through an OpenGL renderer called nvgl::SceneRendererGL2. This renderer supports two different RenderTargets, nvgl::RenderTargetGLFB for on-screen rendering and nvgl::RenderTargetGLFBO for off-screen rendering.

To create an nvgl::RenderTargetGL it is necessary to create an nvgl::RenderContextGL first. See nvgl::RenderContextGLFormat for a list of supported format attributes in SceniX.

nvgl::RenderContextGLFormat format;

// Setup a multisampling format
format.setMultisample( 8 ); // enable 8x multisampling

// enable 10 bits per component pixel format. On Quadro cards with a corresponding monitor this enabled 30bit color depth.
format.setThirtyBit(  true );

// enable stencil buffer
format.setStencil( true )

// check if format is valid
nvgl::RenderContextGLFormat dummyFormat;
nvgl::SmartRenderContextGL dummy = nvgl::RenderContextGL::Headless( &dummyFormat );
dummy->makeCurrent();
bool isAvailable = format.isAvailable( );
dummy->makeNoncurrent();

// Attach the currently bound OpenGL context.
nvgl::SmartRenderContextGL contextAttach = nvgl::RenderContextGL::create( nvgl::RenderContextGL::Attach() );

// Create a new context without visible window.
nvgl::SmartRenderContextGL contextHeadless = nvgl::RenderContextGL::create( nvgl::RenderContextGL::Headless( &format ) );

// Create a new context without visible window and share resources with contextHeadless
nvgl::SmartRenderContextGL contextShared = nvgl::RenderContextGL::create( nvgl::RenderContextGL::Headless( &format ), contextHeadless );

SceniX supports rendering to a window using nvgl::RenderTargetGLFB. A nvgl::RenderTargetGLFB object can be created as followed

nvgl::SmartRenderContextGL contextGL = nvgl::RenderContetxGL::create( /* use your creation method */ );
nvgl::SmartRenderTargetGLFB renderTarget = nvgl::RenderTargetGLFB::create( contextGL );

Scenix supports also offscreen rendering to a texture or renderbuffer attached to a framebuffer object with nvgl::RenderTargetGLFBO. In this case nvgl::RenderContextGL::Headless is useful since it does not require a native window handle for context creation. The following code sample shows how to render a stereo image to an FBO.

  // Create a headless stereo context with default OpenGL format.
  RenderContextGLFormat format;
  SmartRenderContextGL ctx = RenderContextGL::create( RenderContextGL::Headless(&format, 0) );

  // Make the context current so that OpenGL commands can be called.
  ctx->makeCurrent();

  // Create a RenderTargetGLFBO for offscreen rendering.
  SmartRenderTargetGLFBO renderTarget = RenderTargetGLFBO::create( ctx );

  // Setup size and backgroudn clear color.
  renderTarget->setSize( 1024, 1024 );
  renderTarget->setClearColor( 0.3f, 0.3f, 0.9f, 1.0f );
  renderTarget->setClearMask( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

  // Enable stereo on the offscreen buffer
  renderTarget->setStereoEnabled( stereo );

  // Create and attach one color buffer for the left and right eye showing render-to-texture here.
  renderTarget->setAttachment( RenderTargetGLFBO::COLOR_ATTACHMENT0, TextureGL2D::create(GL_RGBA8, 0, GL_BGRA, GL_UNSIGNED_BYTE), RenderTarget::LEFT );
  renderTarget->setAttachment( RenderTargetGLFBO::COLOR_ATTACHMENT0, TextureGL2D::create(GL_RGBA8, 0, GL_BGRA, GL_UNSIGNED_BYTE), RenderTarget::RIGHT );

  // And share the z-buffer between both eyes.
  renderTarget->setAttachment( RenderTargetGLFBO::DEPTH_ATTACHMENT,  RenderbufferGL::create( GL_DEPTH_COMPONENT ), RenderTarget::LEFT_AND_RIGHT );

  // Create OpenGL rendering engine.
  SmartSceneRenderer renderer = SceneRendererGL2::create();

  // Load a scene
  ViewStateSharedPtr viewStateHandle = loadScene( "myScene" );

  // Render the image.
  renderer->render( viewStateHandle, renderTarget );

  // Grab the image and save it to disk. It can be viewed with the NVISION stereo viewer.
  saveTextureHost( "output.pns", renderTarget->getTextureHost( ) );
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Raytracing

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Raytracing

TBD
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Rendering

Rendering

SceniX abstracts rendering algorithms and surfaces to render on. Generic rendering algorithms like image post processing have to implement the following functions the nvui::Renderer interface.

  virtual void nvui::Renderer::beginRendering( const SmartRenderTarget &renderTarget );
  virtual void nvui::Renderer::endRendering( const SmartRenderTarget &renderTarget );
  virtual void nvui::Renderer::doRender( const SmartRenderTarget &renderTarget );

nvui::Renderer::render calls nvui::Renderer::beginRendering to prepare the renderer for rendering, nvui::Renderer::doRender for the actual Rendering algorithms and nvui::Renderer::endRendering if rendering is done.

It is possible to specify a default nvui::RenderTarget with nvui::Renderer::setRenderer. In this case nvui::Renderer::render can be called without specifying an nvui::RenderTarget.

The nvui::SceneRenderer interface enhances the nvui::Renderer interface by the following functions which add an nvsg::ViewStateSharedPtr to specify which nvsg::Scene should be rendered with an nvsg::Camera and nvui::RendererOptions.

  virtual void SceneRenderer::beginRendering( const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget );
  virtual void SceneRenderer::endRendering( const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget );
  virtual void SceneRenderer::doRender( const SmartRenderTarget &renderTarget );

The nvui::SceneRenderer supports setting a default ViewState by calling nvui::SceneRenderer::setViewState.

nvui::Renderer operates on nvui::RenderTarget. An nvui::RenderTarget is usually a 2D surface in host or device memory with the following interface

    virtual bool nvui::RenderTarget::beginRendering();
    virtual void nvui::RenderTarget::endRendering();
    virtual void nvui::RenderTarget::setSize( unsigned int width, unsigned int height );
    virtual void nvui::RenderTarget::getSize( unsigned int &width, unsigned int &height );
    unsigned int nvui::RenderTarget::getWidth();
    unsigned int nvui::RenderTarget::getHeight();
    virtual float nvui::RenderTarget::getAspectRatio();
    virtual nvsg::TextureHostSharedPtr nvui::RenderTarget::getTextureHost( nvsg::Image::PixelFormat pixelFormat, nvsg::Image::PixelDataType pixelDataType ) ;
    virtual bool nvui::RenderTarget::isValid();
    virtual bool nvui::RenderTarget::isStereoEnabled() const;
    virtual bool nvui::RenderTarget::setStereoTarget( StereoTarget target );
    virtual StereoTarget nvui::RenderTarget::getStereoTarget() const;

If the nvui::RenderTarget object passed to nvui::SceneRenderer::render has the stereo flag set a SceneRenderer will automatically render in stereo. It'll use the attached nvui::SceneRenderer::StereoViewStateProvider object to calculate the ViewState for the left and right eye. In this case doRender() will be called twice per render call, one time for the left eye and one time for the right eye.

For more information about rasterization with SceniX see Rasterizing. For more information about raytracing with SceniX see Raytracing.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Scene Components

Scene Components

This section briefly covers the most important core objects that are used to build the so called user tree or scene graph. More detailed documentation about the concrete classes and the APIs can be found if you follow the individual links as they appear in the following high-level description.

Nodes

Nodes are the building blocks of a scene graph, that is - a specialized data structure (a tree) to represent a 3-dimensional scene in memory. All SceniX node types inherit from nvsg::Node - a SceniX core type. We distinguish between nodes that can have child nodes, also sometimes called inner nodes, and leaf nodes. The inner nodes all have nvsg::Group as a common base class.

Groups

A group node within SceniX is represented by the nvsg::Group class. This class provides the ability to group nvsg::Node-derived objects as children. Child nodes are added to the group through the Group::addChild member function:

  GroupSharedPtr sGroup = Group::create(); // instantiate a group node

  { // beginning of scope
    GroupWriteLock wGroup(sGroup);
    wGroup->addChild(GeoNode::create()); // add a GeoNode as child
  } // end of scope

A group’s children are iterated by means of an iterator object. The iterator types to provide iteration of children are provided as nested types:

  Group::ChildrenIterator
  Group::ChildrenConstIterator

An iterator object of type Group::ChildrenIterator can only be used to iterate children of a write-locked group. Also, an iterator of type Group::ChildrenIterator can always be passed to functions that expects an iterator of type Group::ChildrenConstIterator, but not vice versa.

The following sample code iterates through all children of a given group and prints out their respective names:

  GroupRealLock roGroup(sGroup); // lock the group object for read access

  for( Group::ChildrenConstIterator i=roGroup->beginChildren();
       i !=  roGroup->endChildren();
       ++i ) {

    printf( "Child Node %s\n", NodeReadLock(*i)->getName().c_str() );
  }

Besides child nodes, a group object can hold lights and clipping planes, represented as nvsg::LightSource and nvsg::ClipPlane objects. Lights and clipping planes aren’t nodes but node components. Similar to child nodes, a group’s light sources or clipping planes can be iterated by means of respective iterator objects. Again these iterator types are provided as nested types:

  Group::LightSourceIterator
  Group::LightSourceConstIterator

  Group::ClipPlaneIterator
  Group::ClipPlaneConstIterator

Transforms

Transform nodes in SceniX are represented by nvsg::Transform or nvsg::Transform-derived objects and are specialized group nodes. A transform’s purpose it to position a transformable object in world space, that is - to transform a particular object from object or model space into world space. A transform node only affects the sub-tree below the transform node. A leaf node will be transformed by the accumulated transform built by its parent hierarchy of transform nodes.

The Transform class internally uses an nvsg::Mat44f, a matrix utility class, to represent the underlying transformation. More about matrices and how they are repesented in Scenix can be found in the Matrices in SceniX and CgFX FAQ.

Level of Details (LOD)

A Level of Detail node in SceniX is represented by an nvsg::LOD object. The user specifies the different level of details as ranges. The implementation of the LOD node selects the active level, or range, as a function of the distance to the viewer. Only one level can be active at a time. The selection takes place during rendering.

Switch Nodes

A switch node in SceniX is represented as an nvsg::Switch object. As a user you can specify a number of masks, each specifying which child nodes are activated for rendering. Only one mask can be active at a time.

Geometry

A geometry node in SceniX is represented by an nvsg::GeoNode object. A GeoNode is a leaf node and cannot have other nodes as children. A GeoNode not only holds the geometric representation of a certain object, but also the assigned Render States. Render states are assigned to an arbitrary set of nvsg::Drawables by means of an nvsg::StateSet.

See Primitives for more details on the specification of primitive data.

Lights

Lights in SceniX are represented by nvsg::LightSource-derived objects. The SceniX SDK provides directional lights, point lights, and spot lights, represented as nvsg::DirectedLight object, nvsg::PointLight objects, and nvsg::SpotLight objects, resp..

A light source can be deployed as a camera’s headlight, which moves with the camera, or as tree lights attaches to a group node. A tree light is positioned according to the transform stack built by the corresponding group’s parent hierarchy of transform nodes and the light position relative to that owning group node. The light position relative to its owning group is specified as an nvmath::Trafo object. A light source can have assigned a transform animation object to animate the light’s relative position to its owning group node.

SceniX supports an arbitrary number of light sources. Using OpenGL fixed-function processing the implementation specific limit of number of light sources applies. OpenGL implementations are required to support at least eight fixed-function lights, and that is often also the maximum supported number. The lights are filled in scene traversal order until that limit is reached, additional lights will be ignored.

LightSource access inside CgFX shaders

When using CgFX shaders instead of OpenGL's fixed-function pipeline the SceniX light sources will be filled into an unsized array of type NVSGLight as defined inside the media/effects/include/NVSGLight.cg file.

Depending on the underlying shader capabilities of the GPU there also apply limits to the number of executed instructions for example, which might result in incorrect rendering when using too many lights. In that case you can also use a sized array and only handle as many lights as you specify.

The type of an NVSGLight can be determined the same way as OpenGL handles it. As shown in the example below, light[i].position.w == 0.0f indicates a directional light, otherwise it's a positional light in which light[i].spotCutoff < 180.0f indicates a spot light.

Following code excerpts from a Blinn-Phong lighting calculation show how this can be used.

struct NVSGLight
{
  float4 ambient;
  float4 diffuse;
  float4 specular;
  float4 position;
  float4 direction;
  float  spotExponent;
  float  spotCutoff;
  float  constantAttenuation;
  float  linearAttenuation;
  float  quadraticAttenuation;
};

NVSGLight light[];  // Unsized array.

float3 sample_light(NVSGLight light,
                    float3 P,
                    in out float attenuation,
                    in out float spot)
{
  float3 L;  // Vector from surface point to light (== wi).

  if (light.position.w == 0.0f)  // directional light
  {
    L = normalize(light.position.xyz);
  }
  else  // point or spot light
  {
    L = light.position.xyz - P;
    float L_dist = length(L);
    L = L / L_dist;  // == normalize(L);

    attenuation = 1.0f / (light.constantAttenuation +
                          (light.linearAttenuation + light.quadraticAttenuation * L_dist) * L_dist);

    if (light.spotCutoff < 180.0f) // spot light
    {
      spot = max(0.0f, dot(-L, light.direction.xyz));
      spot = (spot >= cos(light.spotCutoff * PI / 180.0f)) ? pow(spot, light.spotExponent) : 0.0f;
    }
  }

  return L;
}

...

  // Unsized array, only as many lights in this loop as there are enabled inside the scene.
  for (int i = 0; i < light.length; i++)
  {
    // See the OpenGL 2.1 spec's lighting calculation for how these parameters are applied.
    float att_i  = 1.0f;  // distance attenuation factor
    float spot_i = 1.0f;  // spotlight attenuation factor
    float3 wi = sample_light(light[i], pos, att_i, spot_i);  // vector from surface point "pos" to light
    ...
  }

LightSource access inside RTFx shaders

When using the ray tracing backend the lights are filled into an RTBuffer of name "lightSourceBuffer" which is specified with the following LightSource struct. All vectors in that struct are in world space again.

You can access the lights inside an RTFx shader by adding the following definitions. This code excerpt exactly matches the calculations done in the above CgFX example.

struct LightSource
{
  float3 ambientColor;
  float3 diffuseColor;
  float3 specularColor;
  float3 position;
  float3 direction;
  float3 attenuation;
  float  cosCutoff;
  float  exponent;
  int    type;
};

rtBuffer<LightSource> lightSourceBuffer;

...
  unsigned int numLights = lightSourceBuffer.size();
  while (numLights)
  {
    LightSource *light = &lightSourceBuffer[--numLights];
    float3 wi;
    float  L_dist;
    float  att_i  = 1.0f;
    float  spot_i = 1.0f;

    if (light->type == 0) // Directional Light
    {
      wi     = normalize(-light->direction);
      L_dist = RT_DEFAULT_MAX;
    }
    else // Point or Spot light.
    {
      wi      = light->position - position;
      L_dist = length(wi);
      wi      = normalize(wi);

      att_i = 1.0f / (light->attenuation.x + (light->attenuation.y + light->attenuation.z * L_dist) * L_dist);

      if (light->type == 2) // Spot light.
      {
        spot_i = fmaxf(0.0f, dot(-wi, light->direction));
        spot_i = (spot_i >= light->cosCutoff) ? pow(spot_i, light->exponent) : 0.0f;
      }
    }
...

Tree Lights

If a light source is deployed inside the scene hierarchy, it only affects the tree hierarchy below the group node it is attached to inside the rasterizer. That is not possible inside the ray tracing backend which will handle all lights gobally. If you're using both renderer backends it's therefore recommended to attach the light sources to the scene's root node.

Creating light objects with default parameters:

  DirectedLightSharedPtr directedLight = DirectedLight::create();

  PointLightSharedPtr pointLight = PointLight::create();

  SpotLightSharedPtr spotLight = SpotLight::create();

The light sources will be default initialized with the position (point, spot) at the origin and the direction (directed, spot) pointing along the negative z-axis in model space! The light sources' member functions allow to set each property afterwards. Note that direction and orientation are connected, setting one changes the other. Setting the direction requires a normalized vector or the orientation calculation might not work.

Use headlights at a Camera

Cameras can hold an arbitrary number of headlights which are positioned and oriented relative to that camera. All three light source types can be used.

Adding a light source as headlight to a camera is accomplished with the nvsg::Camera::addHeadLight( const LightSourceSharedPtr & light ) function.

The default position and orientation of a headlight is the Camera position and orientation. Means the LightSource defaults of model space origin and direction along the negative z-axis apply to the Camera-local coordinate system instead.

A common use case to view scenes with no tree lights is to attach a default point light to the Camera. That won't result in any visible shadows inside a ray traced image with the built-in shaders though.

Render States

SceniX still supports a set of legacy fixed-functional states like nvsg::AlphaTestAttribute, nvsg::BlendAttribute, nvsg::DepthAttribute, nvsg::LightingAttribute nvsg::Material, nvsg::PrimitiveAttribute, nvsg::StencilAttribute, nvsg::TextureAttribute, nvsg::UnlitColorAttribute.

Besides the legacy fixed-functional states, SceniX also supports programmable shaders expressed as nvsg::CgFx for rasterization and nvsg::RTFx for ray tracing.

All these states have nvsg::StateAttribute as common base class. StateAttributes are applied to a rendered geometry by means of an nvsg::StateSet. A single StateSet can hold a number of nvsg::StateVariants of which only one at a time is activated for rendering. A StateVariant in turn can hold a number of nvsg::StatePasses where each of the StatePasses will be applied in the order they appear in the active StateVariant (multi-pass rendering). Finally a StatePass can hold a number of unique StateAttributes, which in the end represent the per-pass render state.

The following pseudo code illustrates how a StateSet gets applied to assigned Drawables when a GeoNode is rendered:

  for_each StateSet in GeoNode
  {
    for_each StatePass in ActiveStateVariant(StateSet)
    {
      for_each StateAttribute in StatePass
      {
        apply StateAttribute
      }

      for_each Drawables assigned to StateSet
      {
        draw Drawable
      }

      for_each StateAttribute in StatePass
      {
        unapply StateAttribute
      }
    }
  }

Simple Material

With simple material we mean a fixed-functional like material which is represented in SceniX through the nvsg::Material StateAttribute. This nvsg::Material class only represents the following basic material properties:

  ambient color (three-component normalized RGB vector)
  diffuse color (three-component normalized RGB vector)
  emissive color (three-component normalized RGB vector)
  index of refraction (a value between 0 and 1)
  opacity (a value between 0 and 1)
  opacity color (three-component normalized RGB vector)
  reflectivity (a value between 0 and 1)
  reflective color (three-component normalized RGB vector)
  specular color (three-component normalized RGB vector)
  specular exponent (a value between 0 and 1)

Each of the listed material properties can be independently set to apply for the front (nvsg::MF_FRONT) and back (nvsg::MF_BACK) faces of a geometry object.

With pure fixed-functional rendering (no programmable shaders active) only the following material properties are considered:

  ambient color
  diffuse color
  emissive color
  opacity
  specular color (three-component normalized RGB vector)
  specular exponent (a value between 0 and 1)

Also in the case of pure fixed-functional rendering, you want to add an appropriate nvsg::BlendAttribute - in particular if you specify an opacity property less the 1 (transparent). For a transparent (opacity < 1) object to appear translucent, the rasterizer needs to have the correct nvsg::BlendFunction enabled. Otherwise the object will appear non-transparent.

Advanced Render Effects

SceniX supports advanced rendering effects, or advanced materials, through the nvsg::CgFx (rasterizer) and the nvsg::RTFx (ray tracer) StateAttributes as outlined in the following sub-sections.

Rasterizer

Programmable graphics shader to address the rasterizer pipeline are supported by SceniX through the nvsg::CgFx StateAttribute. An nvsg::CgFx StateAttribute holds an nvsg::CgFxEffect wrapper object for Cg's exchangeable effect format, which is part of the Cg runtime library. The Cg runtime ships with the Cg Toolkit. Latest information on the Cg Toolkit can be found at http://developer.nvidia.com/cg-toolkit.

As a core object it is possible to default instantiate a CgFx object like this:

  CgFxSharedPtr cgfx = CgFx::create();

This would just instantiate the CgFx StateAttribute holding an invalid CgFxEffect. That is - the underlying effect has not been created at that time. To continue from there, you would need to query the CgFxEffect object from the just instantiated CgFx object in order to finally create a graphics effect from a CgFX source file or, alternatively, from a string:

  CgFxWriteLock cgfxWL(cgfx);
  CgFxEffectWriteLock fxWL(cgfxWL->getEffect());

  string err; // retrieve errors from effect creation here

  if ( !fxWL->createFromFile("c:\myeffects\my1st.cgfx", err) )
  {
    // failed
    log().message("Effect creation failure:\n");
    log().message(err);
    return false;
  }

  // go on with the successfully created render effect ...

A more convenient way to instantiate and fully initialize a render effect is provided through the static helpers CgFx::createFromFile or CgFx::createFromLump:

  vector<string> searchPaths; // configure this to search paths
  string err;                 // will receive error in event of null return.
  bool failOnTexLoad = false; // don't fail if a texture was not found.
  CgFxSharedPtr cgfx = CgFx::createFromFile( "c:/myeffects/my1st.cgfx", searchPaths, err, failOnTexLoad );

  [...]

  if( !cgfx )
  {
    log().message("Effect creation failure:\n");
    log().message(err);
    return false;
  }

  if ( failOnTexLoad )
  {
    log().message("Effect created but failed to load one or more textures:\n");
    log().message(err);
  }

  // go on with the successfully created render effect ...

After a CgFx object was fully initialized it can be assigned to a geometry as described here.

For a Cg effect to generate the expected render results inside the SceniX render framework, all required input parameters, like transforms, lights, and materials, need to be correctly initialized before the effect will be applied to the rendered geometry. For this to work automatically within the SceniX render framework, you need to follow some rules described in Auto-connected Effect Parameters, when you write your own Cg effects.

Ray Tracer

SceniX implements a ray tracing renderer backend using the NVIDIA OptiX SDK. It runs on all NVIDIA CUDA architecture GPUs (G80 and up) where multi-GPU requires newer GPU generations (GT200 and up).

SceniX provides a simple built-in ray tracing renderer using recursive ray tracing (Whitted style) and Blinn-Phong lighting implementations following the OpenGL lighting formulas plus reflections, refractions, and shadows. There are two different implementations for those, one based on the fixed-function Material class and one more flexible implementation generated by the SceniX COLLADA loader (DAELoader) when encountering a profile_COMMON block inside *.dae files. These built-in programs are provided to allow ray tracing of scenes out of the box, but ray tracing only starts there.

SceniX allows fully customizable material and lighting implementations via a simple Ray Tracing Effects (RTFx) framework similar to the CgFX effects framework. There is a separate document named "Using RTFx.pdf" inside the docs folder which explains RTFx effects programming in detail. The effects code high level language is CUDA C as used inside the OptiX SDK and all resp. coding practices from there apply. It's a recommended read before delving into custom shader programming.

The Using RTFx.pdf appendix contains the source code of all the above mentioned built-in ray tracing programs. The SceniX examples QtIconTracer and QtAmbientOcclusion demonstrate more advanced lighting implementations, fully custom materials, and iterative instead of recursive ray tracing using progressive refinement in an accumulation buffer.

The main work to bring the scene graph contents into OptiX happens inside the nvrt::RTTaverser. That works in two passes: The first pass creates all internal data structures and fills in the scene graph contents. That happens during the first render() call so that can take some time (normally multiple seconds, this is scene). After that the RTTraverser will only update scene changes. Some changes are more expensive than others, because they require recompilation of some of the data structures inside OptiX (e.g. geometry changes, program changes), others just update existing data structures (program parameters, transforms, camera) and are fast.

The mechanism to render a scene using ray tracing in SceniX follows exactly the OpenGL backend method.

There is a hierarchy of SceneRenderer derived classes:

  • nvrt::SceneRendererRT offers interfaces to set the OptiX entry point when multiple ray generation programs are specified, to set the stack size for recursive algorithms, and to handle acceleration structure caches. (OptiX allows to store the acceleration structures on disk and SceniX is using that to speed up the acceleration structure building of scenes which have already been loaded before. Look for directories named "caches" inside the working directory.)
  • nvrt::SceneRendererRTBuiltin adds interfaces to manipulate the scene global variables of the built-in ray tracing renderers. (sceneEpsilon, maxReflectionDepth, maxRefractionDepth, maxShadowDepth, iterationIndex)
  • nvrt::SceneRendererRTBuiltinGL adds support of the ray traced image from the outputBuffers to an OpenGL render target using texture blits.

Then there is hierarchy RenderTarget derived for ray tracing:

  • nvrt::RenderTargetRT implements the basic methods to manage ray tracing buffer variables and allows access to the SceniX RTContext class. It also implements a convenience function to transfer the ray traced image into a TextureHost.
  • nvrt::RenderTargetRTBuiltin adds the automatic handling of the outputBuffer variable and offers interfaces to set its format and access type. (Normally the outputBuffers are generated with access type for output only,. If you want to read back from the outputBuffer (e.g. for accumulation) you need to change it to an INPUT_OUTPUT type for read and write.)

The SceniX ray tracing functionality is integrated with image synthesis in mind. The launch of the OptiX kernel always happens with a 2D launch inside the RTTaverser and the size is derived from the attached RenderTarget.

Textures

See Texture for more details on how Textures are created and manipulated in SceniX.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Scene Loader

Scene Loader

An nvsg::SceneLoader is an nvutil::PlugIn as described in I/O Plug-ins. It is used to load nvsg::Scene and nvsg::ViewState objects from a file. There are a couple of SceneLoaders provided by the SceniX package:
  • link ThreeDSLoader 3DSLoader for the *.3ds file format
  • DAELoader for the COLLADA format *.dae
  • FLTLoader for the OpenFlight format *.flt
  • NBFLoader for the SceniX specific binary file format *.nbf
  • NVBLoader for the binary file format *.nvb
  • NVSGLoader for the SceniX specific ascii file format *.nvsg
  • OBJLoader for the *.obj file format
  • PLYLoader for the *.ply file format
  • WRLLoader for the VRML 2.0 format *.wrl (Note: not all aspects of this file format are supported)
  • XMLLoader for *.xml files, which can be used to combine a couple of other scene files.
As an nvsg::SceneLoader is an nvutil::PlugIn, you first have to load the nvsg::SceneLoader, as described in the Plug In Management section. Then you can simply use it like that:

  // If you know the PlugIn 'plug' really is a SceneLoader, you can 'reinterpret_cast' it,
  // and pass it to an nvutil::SmartPtr to ease book-keeping of that object.
  nvutil::SmartPtr<nvsg::SceneLoader> loader( reinterpret_cast<nvsg::SceneLoader*>(plug) );

  std::string fileName;                   // the name of the file to load
  std::vector<std::string> searchPaths;   // a vector of search paths where to search for the file
  nvsg::ViewStateSharedPtr viewState;
  nvsg::SceneSharedPtr scene = loader->load( fileName, searchPaths, viewState );
  if ( !scene )
  {
    // the file could not be loaded (or did not contain an nvsg::Scene )
  }
  if ( !viewState )
  {
    // the file did not contain an nvsg::ViewState
  }

Note:
  • For some file formats, the resulting scene might not be optimal. Therefore, it often is helpful, to optimize that scene as described in Optimize Traversers.
  • There is a little helper function, declared in SceneFunctions.h, that does everything what's needed to load a file: nvutil::loadScene.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Scene Management

Scene Management

The linked sections below cover general scene management concerns. It is highly recommended to read through all of these, whether you are migrating from a previous version of SceniX or whether you are completely new to SceniX.

The object model generally applied to all SceniX core objects has been completely revised with SceniX 7. The section about Core Objects gives a brief overview on how to generally deal with objects covering instantiation, access, and lifetime control. The Scene Components section describes the major concrete core objects required to represent a 3D scene in host memory. Finally the section about View Components is related to view specific objects like cameras and view states.

Core Objects
Scene Components
View Components

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Scene Saver

Scene Saver

An nvsg::SceneSaver is an nvutil::PlugIn as decribed in I/O Plug-ins. It is used to save nvsg::Scene and nvsg::ViewState objects to a file. There are a couple of SceneSavers provided by the SceniX package:
  • NBFSaver for the SceniX specific binary file format *.nbf
  • NVSGSaver for the SceniX specific ascii file format *.nvsg
  • OBJSaver for the *.obj file format
As an nvsg::SceneSaver is an nvutil::PlugIn, you first have to load the nvsg::SceneSaver, as described in the Plug In Management section. Then you can simply use it like that:

  // If you know the PlugIn 'plug' really is a SceneSaver, you can 'reinterpret_cast' it,
  // and pass it to an nvutil::SmartPtr to ease book-keeping of that object.
  nvutil::SmartPtr<nvsg::SceneSaver> saver( reinterpret_cast<nvsg::SceneSaver*>(plug) );

  nvsg::SceneSharedPtr scene;           // the scene to save
  nvsg::ViewStateSharedPtr viewState;   // the view state to save
  std::string fileName;                 // the full path and name of the file to save
  if ( ! saver->save( scene, viewState, fileName ) )
  {
    // saving failed, somehow
  }

Note:
There is a little helper function, declared in SceneFunctions.h, that does everything what's needed to save a file: nvutil::saveScene.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Shader Loader

Shader Loader

An nvsg::ShaderLoader is an nvutil::PlugIn as decribed in I/O Plug-ins. It is used to load a shader from file into one or more strings.

As an nvsg::ShaderLoader is an nvutil::PlugIn, you first have to load the nvsg::ShaderLoader, as described in the Plug In Management section. Then you can simply use it like that:

  // If you know the PlugIn 'plug' really is a ShaderLoader, you can 'reinterpret_cast' it,
  // and pass it to an nvutil::SmartPtr to ease book-keeping of that object.
  nvutil::SmartPtr<nvsg::ShaderLoader> loader( reinterpret_cast<nvsg::ShaderLoader*>(plug) );

  std::string fileName;                   // the name of the shader file to load
  std::vector<std::string> searchPaths;   // a vector of search paths where to search for the file
  ShaderLoader::BufferList bufferList;    // a container of strings getting the shader texts
  if ( loader->load( fileName, searchPaths, bufferList ) )
  {
    // loading succeeded -> use the strings in the bufferList
  }
  else
  {
    // loading the shader failed -> get detailed error messages
    std::string errors = loader->getErrors();
  }

Note:
When you just want to load an nvsg::CgFx from a "*.cgfx" file, you don't need to explicitly use an nvsg::ShaderLoader, but just use the static member function nvsg::CgFx::createFromFile as described in CgFx.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: System Requirements

System Requirements

OpenGL Capabilities

  • Graphics hardware with support for OpenGL 2.1 plus GL_NV_primitive_restart extension
  • Recommended: NVIDIA Quadro FX or Fermi architecture based Quadro graphics board

Interactive Ray Tracing Capabilities

  • To use the SceniX ray tracing backend implemented with OptiX the system and development requirements from the OptiX 2.1.x release notes apply.
  • CUDA capable devices (NVIDIA G80 GPU or later) are supported equally on either GeForce, Quadro, or Tesla class products. Multiple devices/GPUs are only supported on GT200 or Fermi class NVIDIA GPUs. It is recommended to NOT configure them in SLI mode for optimal ray tracing performance.
  • Graphics Driver: The latest NVIDIA Display Drivers available are recommended. Please visit http://www.nvidia.com/Download/index.aspx to download drivers for your NVIDIA graphics product. Oldest required driver versions for OptiX 2.1 are 260.03 or later for Windows, 260.19.21 for Linux.

Compiler Support

SceniX

  • Microsoft Visual C++ 2008 Service Pack 1 and 2010 Service Pack 1
  • GNU gcc 4.1.0 or higher, need to compile with -ffriend-injection gcc option.
  • CMake 2.8.4 or higher (www.cmake.org)

Ray tracing backend using OptiX:

  • CUDA Toolkit 2.3, 3.0, 3.1, 3.2, or 4.0.
    NOTE: Microsoft Visual Studio 2010-only development systems require CUDA 4.0! In that case you MUST specify the environment variable OPTIXCOMPILERDIR to point to the compiler's VC\bin or VC\bin\amd64 directory (without quotation marks). Otherwise the OptiX 2.1.1 rtuCUDACompile() function won't find the compiler and can't generate the proper nvcc commandline.

Multiple Platform Support

  • Windows XP, Windows Vista, and Windows 7 in 32-bit/64-bit
  • Linux 32-bit/64-bit

Supported user-interface toolkits (optional)

  • Freeglut 2.6.0 or higher (freeglut.sourceforge.net)
  • Qt 4.7.4 or higher (qt.nokia.com)
  • wxWidgets 2.8.10 or higher (wxwidgets.org)

Building the sample projects with CMake and Visual Studio

Make sure that you have wxWidgets and Qt installed on your system. Depending on the selected compiler it might be neccessary to compile own versions of Qt and wxWidgets. An environment variable WXWIN should be set and pointing at the wxWidgets directory. The Qt binary path, containing qmake.exe should be listed in the PATH variable. SceniX 7 uses CMake to create projects for different development plattforms. Open CMake and select ${SCENIXHOME}/samples as the source code directory. Create a new directory and set it as build directory (for example ${SCENIXHOME}/build). Press "Configure" and select the compiler of your choice. Note that the same compiler version should be used for compiling Qt, wxWidgets and the samples. After selecting the compiler press "Generate" to generate the project. This will place Visual Studio projects and solutions into the previously selected build directory. Open the Samples solution and press build to generate the sample binaries.

Copyright (c) 2011 NVIDIA Corporation. All rights reserved.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Tessellation

Tessellation

With SceniX Version 6, support for tessellation is introduced. According to the GL_ARB_tessellation_shader spec, there is a new primitive type, GL_PATCHES, and two new shader stages, the tessellation control program (TCP) and the tessellation evaluation program (TEP).

In order to support tessellation with SceniX, a couple of new classes derived from nvsg::IndependentPrimitiveSet, that, for OpenGL, eventually all map to the new primitive type GL_PATCHES. Those new classes need to be associated with an nvsg::StateSet that holds an nvsg::StateAttribute of type nvsg::CgFx, which in turn contains the two new tessellation shader stages.

This chapter includes the following sections:

  • The new patch classes
  • The new tessellation shaders
  • New Traversers

The new patch classes

There are a couple of new classes in SceniX, to support tessellation, that all derive from nvsg::IndependentPrimitiveSet. They are nvsg::Patches, nvsg::QuadPatches, nvsg::QuadPatches4x4, nvsg::RectPatches, nvsg::TriPatches, and nvsg::TriPatches4. For OpenGL, they all map to the same primitive type, GL_PATCHES, but specify different knowledge on how the vertices are organized. Differently than other primitive types, like triangles, that assume that each three consecutive vertices specify one triangle, patches do not implicitly specify the organization of their vertices.

nvsg::Patches

An nvsg::Patches is the general purpose representation of a patch. There is no ad-hoc knowledge available on the organization of its vertices. It is just assumed, that the tessellation programs in the associated nvsg::CgFx know how to interpret them. The only specification here is, that each patch in an nvsg::Patches consist of the same number of vertices. Each set of that many vertices in an nvsg::VertexAttributeSet is considered to be one patch. All other classes described here specify some restrictions on the organization of the vertices. That way, each nvsg::VertexAttributeSet and each nvsg::CgFx with tessellation programs that respect the corresponding restrictions, can be freely exchanged.

nvsg::RectPatches

An nvsg::RectPatches specifies that the vertices are organized in a rectangular fashion. With an nvsg::RectPatches of size width * height, each set of width * height vertices in an nvsg::VertexAttributeSet is considered to be one patch. The first width vertices in such a set is considered to be the 'bottom' edge of the patch. The next width vertices form the next row of patch. And finally, the last width vertices are the 'top' edge of the patch.

nvsg::QuadPatches

Similar to an nvsg::RectPatches, an nvsg::QuadPatches specifies, that the vertices are organized in a rectangular fashion, but with equal width and height.

nvsg::QuadPatches4x4

Similar to an nvsg::QuadPatches, an nvsg::QuadPatches4x4 specifies, that the vertices are organized in a quadratic rectangular fashion, but with width equal to 4. That is, an nvsg::QuadPatches4x4 expects 16 vertices per patch. This class fits well for bicubic Bezier patches. With its vertices named p0,...,p15, a patch is organized as this:
   p12---p13---p14---p15
    |     |     |     |
   p8----p9----p10---p11
    |     |     |     |
   p4----p5----p6----p7
    |     |     |     |
   p0----p1----p2----p3

nvsg::TriPatches

An nvsg::TriPatches specifies that the vertices are organized in a triangular fashion. With an nvsg::TriPatches of size size, each set of size * ( size + 1 ) / 2 vertices in an nvsg::VertexAttributeSet is considered to be one patch. The first size vertices in such a set is considered to be the 'bottom' edge of the patch. The next size - 1 vertices form the next row of the patch, with one vertex less than the 'bottom'. Each following row of vertices has one vertex less than the row before. The last row consists of just the last vertex of the set of vertices and is the 'top' corner of the patch.

nvsg::TriPatches4

Similar to an nvsg::TriPatches, an nvsg::TriPatches4 specifies, that the vertices are organized in a triangular fashion, but with size equal to 4. That is, an nvsg::TriPatches4 expects 10 vertices per patch. This class fits well for cubic triangular Bezier patches. With its vertices named p0,...p9, a patch is organized as this:
             p9
            /  \
           /    \
          p7----p8
         /  \  /  \
        /    \/    \
       p4----p5----p6
      /  \  /  \  /  \
     /    \/    \/    \
    p0----p1----p2----p3

The new tessellation shaders

In order to use the tessellation engine of current graphics hardware, one needs to specify two new shader programs: The tessellation control program (TCP) and the tessellelation evaluation program (TEP). Those programs are executed after the vertex program (VP) and before the geometry program (GP). A typical technique in an nvsg::CgFx, using those programs could look like this:
float4   outerTess;
float2   innerTess;
float4x4 modelView;
float4x4 projection;

technique tessellation
{
    pass
    {
        TessellationControlProgram    = compile gp5tcp tessTCP( innerTess, outerTess, modelView );
        TessellationEvaluationProgram = compile gp5tep "QUADS" tessTEP( projection );
        FragmentProgram               = compile gp5fp  tessFP();
    }
}
When the tessellation programs are used, the VP should be a pass through program, as most of what was done there now should be done in the second part of the TEP. For more detailed descriptions of the tessellation programs, please refer to the GL_ARB_tessellation_shader spec (http://www.opengl.org/registry/) and the CgReferenceManual in your Cg 3.0 installation (usually, at "Program Files/NVIDIA Corporation/Cg/docs" or "Program Files (x86)/NVIDIA Corporation/Cg/docs", or at http://developer.nvidia.com/object/cg_download.html).

The tessellation control program (TCP)

The TCP is used to read an input patch provided by the application, and emit an output patch. The TCP is run once for each vertex in the output patch and computes the attributes of that vertex. Additionally, the TCP may compute additional per-patch attributes of the output patch. The most important per-patch outputs are the tessellation levels, which are used to control the number of subdivisions performed by the tessellation primitive generator. If no TCP is active, the patch provided is passed through to the tessellation primitive generator stage unmodified.
Here is a pretty simple TCP that expects a patch with a 2x2 grid of control points. The position attribute of each control point is transformed by a uniform non-projective transformation. A texture coordinate set is simply copied from each input control point to the corresponding output control point. A uniform parameter is written to the inner and edge tessellation factors.
gp5tcp PATCH_4 void tessTCP
(
  in int ndx : CONTROLPOINT_ID,
  in AttribArray<float3> position : POSITION,
  in AttribArray<float2> texCoord : TEXCOORD0,

  out float4 oPosition     : POSITION,
  out float2 oTexCoord     : TEXCOORD0,
  out float  oEdgeTess[4]  : EDGETESS,
  out float  oInnerTess[2] : INNERTESS,

  uniform float2   innerTess,
  uniform float4   outerTess,
  uniform float4x4 modelView
)
{
  oPosition = mul(modelView, float4(position[ndx], 1));
  oTexCoord = texCoord[ndx];

  // Per patch output
  oEdgeTess[0] = outerTess.x; // tessellation level of the 'left' edge
  oEdgeTess[1] = outerTess.y; // tessellation level of the 'bottom' edge
  oEdgeTess[2] = outerTess.z; // tessellation level of the 'right' edge
  oEdgeTess[3] = outerTess.w; // tessellation level of the 'top' edge

  oInnerTess[0] = innerTess.x;  // 'vertical' inner tessellation level
  oInnerTess[1] = innerTess.y;  // 'horizontal' inner tessellation level
}

The tessellation evaluation program (TEP)

If a TEP is active, the tessellation primitive generator subdivides a triangle or quad primitive into a collection of points, lines, or triangles according to the tessellation levels of the patch and the set of layout declarations specified in the TEP text. The tessellation levels used to control subdivision are normally written by the TCP. If no TCP is active, default tessellation levels are instead used.
When a TEP is active, it is run on each vertex generated by the tessellation primitive generator to compute the final position and other attributes of the vertex. The TEP can read the relative location of the vertex in the subdivided output primitive, given by an (u,v) or (u,v,w) coordinate, as well as the position and attributes of any or all of the vertices in the input patch.
Here is a simple TEP that fits to the TCP above and linearly interpolates the 2x2 grid of 4 control points using the varying (u,v) parameters for both the position and texture coordinate set attributes. The interpolated position is then transformed by a 4x4 projection matrix into clip space. The interpolated texture coordinate set is output as-is.
gp5tep PATCH_4 void tessTEP
(
  in float2 uv : UV,
  in AttribArray<float3> position : POSITION,
  in AttribArray<float2> texcoord : TEXCOORD0,

  out float4 oPosition : POSITION,
  out float2 oTexCoord : TEXCOORD0,

  uniform float4x4 projection
)
{
  float u         = uv.x, v         = uv.y;
  float oneMinusU = 1-u,  oneMinusV = 1-v;

  // Carefully written so computations are symmetric
  // so then compute the same result even if u & oneMinusU are reversed
  // or v & oneMinusV are reversed (or both are)

  float3 pos1 = u*v        *position[0] + oneMinusU*v        *position[1],
         pos2 = u*oneMinusV*position[2] + oneMinusU*oneMinusV*position[3];

  [precise] float3 pos = pos1 + pos2;

  float2 tex1 = u*v        *texcoord[0] + oneMinusU*v        *texcoord[1],
         tex2 = u*oneMinusV*texcoord[2] + oneMinusU*oneMinusV*texcoord[3],
         tex  = tex1 + tex2;

  oPosition = mul(projection, float4(pos,1));
  oTexCoord = tex;
}

New Traversers

There are two new traversers provided, to easily convert nvsg::Triangles and nvsg::Quads to nvsg::TriPatches4 and nvsg::QuadPatches4x4, respectively. As they are just converting the geometry as it is encountered on traversal, the result might not be optimal. After nvsg::Quads or nvsg::Triangles are converted to nvsg::QuadPatches4x4 or nvsg::TriPatches4, they need to be associated with an nvsg::CgFx that contains tessellation programs.

nvtraverser::BezierInterpolationTraverser

This traverser searches for sets of 9 quads, forming a group as described under nvsg::QuadPatches4x4, and for sets of 9 triangles, forming a group as described under nvsg::TriPatches4. Each such set is converted to an nvsg::QuadPatches4x or an nvsg::TriPatches4, respectively. Not the original vertices are used, but instead a set of control vertices is determined, such that a bicubic bezier patch or a cubic triangular bezier patch would interpolate the original points. As there might be quads or triangles that aren't organized as needed for this conversion, one usualy would get an nvsg::Quads plus an nvsg::QuadPatches4x4 out of one nvsg::Quads, and an nvsg::Triangles plus an nvsg::TriPatches4 out of one nvsg::Triangles. The absolute number of vertices does not change, but now some are used in patches too. As it might happen that nvsg::Quads or nvsg::Triangles will be adjacent to nvsg::QuadPatches4x4 or nvsg::Triangles4 after such an conversion. Even though any shared vertices are interpolated correctly, the edges will differ and thus reveal cracks in the surface.

nvtraverser::BezierExtrapolationTraverser

This traverser converts each nvsg::Quads or nvsg::Triangles to an nvsg::QuadPatches4x4 or nvsg::TriPatches4, respectively. To do this, vertex normals are needed. The four vertices of a quad, together with their normals, determines 16 vertices of a quad patch. Analogously, the three vertices of a triangles, together with their normals, determine 10 vertices of a tri patch. Note that when an nvsg::Quads or nvsg::Triangles which share the two vertices of an edge with an nvsg::QuadPatches4x4 or nvsg::TriPatches4 is converted with this traverser, there still can be some cracks on the common boundary curve, even though they will be much less visible.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: SceniX Test Framework (SXT)

SceniX Test Framework (SXT)

This page offers an overview over the SceniX Test Framework (SXT), which can be used to quickly develop small units testing one or multiple of SceniX features. For every test unit a dynamic library is generated which can be loaded into the command line based test environment SXTapp or the gui-based SXTui. Each library has two entry points, a create() function that returns an instance of the tests main SXTtest class and config() that returns the configuration in which the test has been build.

An SXTtest object implements three functions, init() which is executed before the actual test run, test() which does the testing and can be called multiple times, once per frame, and clear() which is called after the test ran and should be used to clean up used resources.

SceniX ships with multiple tests demonstrating many of SceniX features and the interaction between those features.

Scenix Test Framework options

The test framework offers several options to configure the test runs:
  • Ressource Path (required): needs to point to the directory where the test resources are located, usually this is ${SCENIXHOME}/tests/sxtest/resources
  • Gold Path (required): needs to point to the directory where the original images for image comparison are located (so called "gold" images)
  • Image Path (required): needs to point to a directory where result images can be stored
  • Allowed Image Difference: number of pixels that may differ in between the gold and the generate image per thousand pixels
  • Pixel Threshold: variance in the color of a single pixel that will still pass the image comparison
  • Runs: Number of subsequent test runs
  • Generate Gold Images: Test run generate sets of reference ("gold") images, no image comparison will be executed in this run
  • Demo Mode: Switches between real-time (demo) and frame-by-frame mode
  • Random: Reorders tests on each run
  • Logfile: Writes test output to a log file if defined
  • Renderer: Either SceneRendererGL2 (rasterizer) or OptiX (raytracer) can be selected. Tests using the default SXTrenderArea::create() function will use the selected renderer, but a test can also override this setting.
  • Window position and size: Tests using the default SXTrenderArea::create() function will use the window position and size as defined in the options, but a test can also override this settings.
  • FSAA, 3D Stereo, 30bit and V-Sync: Depending on your system this settings might or might not work, also a test can decide to override this settings.

Those options can be set on the start screen of the SXTui application or for SXTapp using the command-line parameters as listed below.

Scenix Test command line interface

-?             | Display this help
--help         | Display this help
--size X Y     | Set window size
--n N          | Number of runs
--random       | Randomize test sequence
--demo         | Demo Mode ( tests use system frame time )
--goldDir DIR  | Set gold image directory
--resDir DIR   | Set resource directory
--imageDir DIR | Set image directory ( activates image output )
--stereo       | Enable 3d stereo
--30bit        | Enable 30bit color
--fsaa N       | Enable multisampling with N number of samples
--test FILTER  | Filters test using the FILTER expression
--log FILE     | Sets log file name
--renderer R   | Sets default renderer to gl2 or rt

Writing a test

For implementing a new test several templates are available in the ${SCENIXHOME}/tests/sxtest/tests directory, thee templates can be recognized by the leading underscores. To create a new test simply copy one of the templates into a new directory, the name of directory also becomes the test's name. Directory names should not start with any underscores, those are reserved for templates and will not be compiled by the CMake script. Depending on the development environment CMake configuration needs to be re-executed after the test has been added for CMake to recognize the test.

The templates shipped with SceniX are:

  • template: The standard template, containing only empty function stubs.
  • template_scene_render_grab: Extended template that contains functions to create a simple scene, render the scene, and take and compare a screenshot using the comparison result as test result.

When writing a test the init() function should be used to generate or load resources (like the scenes, viewstate or textures) and the test() function should be used to execute the actual testing algorithms. For example, by rendering one or several frames, or by using SceniX API functions to manipulating data. It should also increase the m_frameCounter variable. The test() function can be called several times, depending on the result of the hasMoreFrames() function. By default the hasMoreFrames() function uses the m_maxFrames and m_frameCounter variables to check if any more frames need rendering, but it can be overwritten by the user with other termination conditions. At last clear() should be implemented to destroy the used resources and set the test result in the m_score member variable. A score of 0 means that the test run successfully, a score higher than 0 means that the test failed due to failed image comparison and a score below 0 means the test failed due to other reasons.

SXT helper classes

The main focus of the SXT framework is to enable users to quickly write test. For this reason some of the frequently used functionality is encapsulated in helper classes.

SXTrenderArea

The SXTrenderArea class abstracts the rendering with different renderers. It can be created with a call to
static  SmartSXTrenderArea create( const nvgl::RenderContextGLFormat &format = options().format()
                                 , const nvmath::Boxnt<2,int> & window = options().window()
                                 , RAcreate create = options().renderArea()
                                 , const nvgl::SmartRenderContextGL &shared = nvgl::SmartRenderContextGL() );
where format is the RenderContextGL format that should be used, window the size and position of the window, create a pointer to a function that creates a SceniX scene renderer and shared a render context to be shared with the context constructed by the render area. For parameters that are not explicitly given, the setting defined in the respective option will be used. For the create parameter there are currently to two functions available: createGL2 for the OpenGL-based rasterizer and createRT for the OptiX-based raytracer. Every test has a m_renderArea variable and in most cases a simple render area will be constructed in the init() part.

  m_renderArea = SXTrenderArea::create();

The SXTrenderArea can be used to render and display a frame calling render with a viewstate holding a scene.

  m_renderArea->render( m_viewState );

SXTrenderContextGL

static SmartRenderContextGL create( const RenderContextGLFormat &format
                                  , const SmartRenderContextGL &shared
                                  , const nvmath::Boxnt<2,int> & window );
The SXTRenderContextGL class inherits is used inside of the SXTrenderArea to render and display frames. Internally it uses native Win32 API window for Windows and an XWindow surface for Linux systems. It also includes a minimal keyboard event handling to allow the abortion of tests pressing the ESC key.

SXTimageComparisonTool

Every test has a member variable m_comparisons holding an SXTimageComparisonTool object. In conjunction with the SXTrenderArea it can is used to take screenshots from that render area using the grabFrame() function.
  m_comparisons.grabFrame( m_renderArea, "ScreenshotName" );

Depending on if the gold image generation mode is set in the options those screenshots are either saved as gold images or compared to a set of previously stored gold images, using the evaluateImages() function. When comparing to a set of gold images difference images are generated and a score is generated, detailing how many pixel differ between images, the exact result is affected by the "Allowed Image Difference" and "Pixel threshold" settings.

Copyright (c) 2011 NVIDIA Corporation. All rights reserved.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Texture

Texture

Textures typically store image data used for rendering. Inside SceniX, textures become part of the scene when applied to an nvsg::CgFX or nvsg::TextureAttribute. Depending on the scene, loading a scene alone may already load all referenced textures along.

SceniX differentiates between two implementations of a nvsg::Texture

  • nvsg::TextureHost stores its nvsg::Image data inside nvsg::Buffer and the renderer's native resource creation and management is done automatically. nvsg::TextureHost is portable across renderers. nvsg::TextureHost
  • nvgl::TextureGL is directly managed by the user. This gives full access to the OpenGL texture object and is useful for render-to-texture effects (nvgl::RenderTargetGLFBO) or streaming textures. nvgl::TextureGL
The baseclass for textures is nvsg::Texture, it's main functionality is to provide information about the nvsg::TextureTarget.

  TextureReadLock texrl(anyTexture);
  switch (texrl->getTextureTarget())
  {
  case NVSG_TEXTURE_1D:
  case NVSG_TEXTURE_1D_ARRAY:
  case NVSG_TEXTURE_2D:
  case NVSG_TEXTURE_3D:
  case NVSG_TEXTURE_CUBE:
  case NVSG_TEXTURE_2D_ARRAY:
  case NVSG_TEXTURE_RECTANGLE:
  case NVSG_TEXTURE_CUBE_ARRAY:
    // ...
    break;
  case NVSG_TEXTURE_BUFFER:
    // ...
    break;
  }

nvsg::TextureHost

Textures can hold multiple with nvsg::Image instances. A NVSG_TEXTURE_CUBE, for examples, stores 6 images for the individual cube sides, array textures can have arbitrary amounts of images and most bitmaps would use a single image.

TextureHost data can be specified manually or through loaders

  // manual creation
  TextureHostSharedPtr tisp = TextureHost::create();
  {
    TextureHostWriteLock tiw( tisp );
    // If not set, the Image data will be deleted after the first renderer
    // creates its internal representation.
    tiw->setCreationFlags( TextureHost::F_PRESERVE_IMAGE_DATA_AFTER_UPLOAD );
    unsigned int index = tiw->addImage( 8, 8, 1, Image::IMG_RGBA, Image::IMG_FLOAT32 );
    NVSG_ASSERT( index != -1 );
    tiw->setImageData( index, (const void *) myFloatData );

    // for manual crated data one must specify the TextureTarget
    tiw->setTextureTarget( NVSG_TEXTURE_2D );
    tiw->setTextureGPUFormat(TextureHost::TGF_FIXED8);
  }

  // through loader plugin
  nvutil::SmartPtr<nvsg::TextureLoader> loader ...
  TextureHostSharedPtr texture = loader->load( fileName, searchPaths, creationFlags );

See Texture Loader and Texture Saver for detailed look example on reading or writing texture data with standard image formats.

TextureTarget
A texture must always have its TextureTarget specified. For TextureHost evoking nvsg::TextureHost::setTextureTarget will do error-checking if the current specified Image data is compatible with the target type requested.

One can also automatically detect the TextureTarget based on the current image data (dimenstion, array size...).

  TextureHostWriteLock(tex)->setTextureTarget(determineTextureTarget(tex))

However, sometimes the image data representation is ambigous and could be used for multiple targets, or is at first glance incompatible. nvsg::TextureHost::convertToTextureTarget allows to resolve such issues.

For example when a Cubemap is stored as a single 2D image, it would be compatible with NVSG_TEXTURE_2D or NVSG_TEXTURE_RECTANGLE, but not with a NVSG_TEXTURE_CUBEMAP, as that assumes six 2D images. By running the conversion function this internal change can be achieved.

  TextureHostWriteLock tiw(tex);
  if (!tiw->convertToTextureTarget( NVSG_TEXTURE_CUBE ))
  {
    // handle failure
  }

Internal Format
nvsg::TextureHost::TextureGPUFormat hints can be used to instruct the renderer when it uploads the texture.

  // Let's tell the renderer that we would prefer a gamma-corrected
  // DXT5 format.
  // Texture compression saves both memory and accelerates
  // rendering through less bandwidth costs
  TextureHostWriteLock(tex)->setTextureGPUFormat(TextureHost::TGF_COMPRESSED_SRGB_DXT5);

Modifying Image Data
If the image data changes while the TextureHost has already been used in rendering, the renderer must be informed about such changes.

  TextureHostWriteLock tiw(tex);
  tiw->demandUpload();

nvgl::TextureGL

nvgl::TextureGL provides a class-based wrapper for native OpenGL texture objects. This provides full fine-grained control on formats and data uploads.

Be aware that you must make sure that the nvgl::RenderContextGL, which you want to use for rendering is active for any operations, as OpenGL calls are directly executed.

  // make sure proper GLcontext is current
  renderArea->getContext()->makeCurrent();

  // HDR cubemap
  texGL = TextureGLCubemap::create(GL_RGB9_E5,2048,2048,0,GL_RGB,GL_FLOAT);
  {
    TextureGLWriteLock tex(texGL);
    for (int i = 0; i < 6; ++i)
    {
      tex->setData(myDataPtrs[i],GL_RGB,GL_FLOAT,i);
    }
    tex->generateMipMap();
  }

Setting and Getting Data
Similar to the OpenGL renderer's internal upload mechanism, the nvgl::TextureGL can be directly created from nvsg::TextureHost

  // create from a nvsg::TextureHost
  nvsg::TextureHostSharedPtr tex = getMyTexture("imagine.jpg");
  texGL = TextureGL::create(tex);

Next to raw pointers the image data can be specified or retrieved through nvsg::Buffers as well.

  nvsg::BufferSharedPtr buffer = getStorageBuffer();
  TextureGL2DWriteLock(texGL)->getData(buffer, offset, GL_RGB, GL_FLOAT, mipMapLevel);

Asynchronous Streaming Example
Next to implementing textures with constant change data, this also allows asynchronous texture streaming from a background loader thread.

// Loader thread:
// assumes loader thread has its own OpenGL Context with shared lists
// to the main render thread

// fills nvgl::BufferGL
// uses
  BufferGL::DataWriteLock buf(streambuffer, BufferGL::MAP_WRITE );
  void* ptr = buf.getPtr();

  while (!finished)
  {
    memcpy(ptr, subimageData, subimageSize);
    ptr = advancePtr(ptr, subimageSize);
    ...
    // don't submit too much data otherwise loader thread
    // takes too much time

    sleep(10);
  }

  // once data ready inform main thread
  // make sure the DataWriteLock was released!

// Main thread
// as the data was already lies on the GPU, this will be a much faster
// operation than regular setData from nvsg::BufferHost or raw pointers.

  for (int i = 0; i < mipLevels; i++)
  {
    TextureGL2DWriteLock(texGL)->setData(streambuffer, mipOffsets[i], GL_RGB, GL_UNSIGNED_BYTE, i);
  }
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Texture Loader

Texture Loader

An nvsg::TextureLoader is an nvutil::PlugIn as decribed in I/O Plug-ins. It is used to load an nvsg::TextureHost from a file into host memory (not into device memory!). SceniX provides one nvsg::TextureLoader that encapsulates the DevIL library. Thus, the supported texture formats are ".TGA", ".VDA", ".ICB", ".VST", ".JPG", ".JPE", ".JPEG", ".DDS", ".PNG", ".BMP", ".DIB", ".GIF", ".CUT", ".HDR", ".ICO", ".CUR", ".JNG", ".LIF", ".MDL", ".MNG", ".PCD", ".PCX", ".PIC", ".PIX", ".PBM", ".PGM", ".PNM", ".PPM", ".PSD", ".PDD", ".PSP", ".PXR", ".SGI", ".BW", ".RGB", ".RGBA", ".INT", ".INTA", ".TIF", ".TIFF", ".WAL", and ".XPM".

As an nvsg::TextureLoader is an nvutil::PlugIn, you first have to load the nvsg::TextureLoader, as described in the Plug In Management section. Then you can simply use it like that:

  // If you know the PlugIn 'plug' really is a TextureLoader, you can 'reinterpret_cast' it,
  // and pass it to an nvutil::SmartPtr to ease book-keeping of that object.
  nvutil::SmartPtr<nvsg::TextureLoader> loader( reinterpret_cast<nvsg::TextureLoader*>(plug) );

  std::string fileName;                   // the name of the file to load
  std::vector<std::string> searchPaths;   // a vector of search paths where to search for the file
  unsigned int creationFlags;             // optional set of flags
  nvsg::TextureHostSharedPtr texture = loader->load( fileName, searchPaths, creationFlags );
  if ( !texture )
  {
    // the file could not be loaded
  }

When the texture file has changed, and reloading it into the same nvsg::TextureHost is needed, you can simply use nvsg::TextureLoader::reload:

  nvsg::TextureHostSharedPtr texture;     // texture filled by a previous loading operation
  std::vector<std::string> searchPaths;   // a vector of search paths where to search for the file

  nvsg::TextureHostWriteLock( texture )->releaseImagePixels();    // release the current image data before reloading!
  if ( ! loader->reload( texture, searchPaths ) )
  {
    // reloading failed
  }

Note:
When you just want to load an nvsg::TextureHost from a file, you don't need to explicitly handle this with an nvsg::TextureLoader, but just use the static member function nvsg::TextureHost::createFromFile as described in nvsg::TextureHost.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Texture Saver

Texture Saver

An nvsg::TextureSaver is an nvutil::PlugIn as decribed in I/O Plug-ins. It is used to save an nvsg::TextureHost to a file. SceniX provides one nvsg::TextureSaver that encapsulates the DevIL library. Thus, the supported texture formats are ".TGA", ".VDA", ".ICB", ".VST", ".JPG", ".JPS" ".JPE", ".JPEG", ".DDS", ".PNG", ".PNS" ".BMP", ".DIB", ".GIF", ".CUT", ".HDR", ".ICO", ".CUR", ".JNG", ".LIF", ".MDL", ".MNG", ".PCD", ".PCX", ".PIC", ".PIX", ".PBM", ".PGM", ".PNM", ".PPM", ".PSD", ".PDD", ".PSP", ".PXR", ".SGI", ".BW", ".RGB", ".RGBA", ".INT", ".INTA", ".TIF", ".TIFF", ".WAL", and ".XPM".

As an nvsg::TextureSaver is an nvutil::PlugIn, you first have to load the nvsg::TextureSaver, as described in the Plug In Management section. Then you can simply use it like that:

  // If you know the PlugIn 'plug' really is a TextureSaver, you can 'reinterpret_cast' it,
  // and pass it to an nvutil::SmartPtr to ease book-keeping of that object.
  nvutil::SmartPtr<nvsg::TextureSaver> saver( reinterpret_cast<nvsg::TextureSaver*>(plug) );

  TextureHostSharedPtr texture;           // the texture to save
  std::string fileName;                   // the complete path and name of the file to save
  if ( ! saver->save( texture, fileName ) )
  {
    // the file could not be saved
  }
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: Traversers

Traversers

The concept of a traverser is one of the key designs of SceniX and derives from the idea of separating tree objects from operations performed on these objects at runtime. A traverser serves as link between the scene graph and a defined operation to be performed on the scene graph. More precisely, a traverser covers the following tasks:

  • Iterating the scene graph
  • Performing a defined operation for each object (nodes, etc.) visited while iterating

Besides these two tasks, the traverser framework also provides access to the concrete object APIs of the individual tree objects visited during traversal. That is - the individual and overridable handleObject member functions are called passing them a pointer to the locked object, which is treated const in case of a SharedTraverser and non-const in case of an ExclusiveTraverser .

Examples:

Declaration of the SharedTraverser::handleGroup virtual function:

    virtual void handleGroup(const nvsg::Group *);

Declaration of the ExclusiveTraverser::handleGroup virtual function:

    virtual void handleGroup(nvsg::Group *);

Shared and Exclusive Traversers

The difference between a SharedTraverer and an ExclusiveTraverer is the access pattern these traversers follow. A SharedTraverser-derived traverser, while traversing a tree, only acquires read access to objects belonging to the respective tree. Due to this, an unlimited number of SharedTraversers can access the same tree object concurrently from different threads. An ExclusiveTraverser-derived traverser, on the other side, acquires write access for the objects visited during traversal. That is - a tree object currently processed by an ExclusiveTraverser cannot be accessed neither for read nor write access by other threads at the same time.

It is important to know that the locking is performed on a per-object base (see also Read/Write Locking) independent of what type of traverser is applied. This pattern supports asynchronous tree accesses (read and write) from concurrent threads. A traverer locks the individual tree objects during the time the object is visited. It does not lock all tree objects at once when the traversal starts. That is - when the traverser starts iterating the tree at the root node, child nodes that are not entered yet can still be sucessfully accessed for acquiring read or write access from another thread, even if the root node is locked already. If your application requires a tree to be completely locked throughout a single traverser run, your application is responsible to take care of providing an approrpriate thread synchronization on its own to ensure this.

Using Traversers

The SceniX SDK ships with a variety of different traversers, each providing a certain functionality which could be useful to incorporate in your application. Traversers that could be of immediate use are the nvtraverser::SearchTraverser, for searching objects in the tree filtered by certain properties, a comprehensive set of different optimize traversers (nvtraverser::CombineTraverser, nvtraverser::BalanceTraverser, nvtraverser::UnifyTraverser) to preprocess the scene graph for improved rendering performance, traversers to transform primitive types (nvtraverser::TriangulateTraverser, nvtraverser::StrippingTraverser) or to convert Legacy Primitive Types into the pg_newprimitivetype introduced first with SceniX 7 (nvtraverser::ConvertPrimitivesTraverser), or a traverser to output statistics of the currently loaded scene (nvtraverser::StatisticsTraverser).

A Traverser is a reference counted object and its instantiation should go along with the usage of a nvutil::SmartPtr object to ease lifetime management. Using the SmartPtr template a certain traverser can be instantiated in different scopes - as an object local to a C++ function scope, or as a class member. The SmartPtr object will take care of managing the lifetime of the traverser object according to the scope it is defined in.

Examples:

  // function scope example
  #include <vector>
  #include <nvtraverser/SearchTraverser.h>

  using namespace nvsg;
  using namespace nvutil;
  using namespace nvtraverser;

  bool findLights(const SceneSharedPtr& theScene, std::vector<ObjectWeakPtr>& results)
  {
    // instantiate a SerachTraverser
    SmartPtr<SearchTraverser> seeker(new SearchTraverser);

    // feed the seeker with required information

    // consider all LightSource-derived types
    //
    seeker->setBaseClassSearch(true);
    seeker->setClassName("class nvsg::LightSource");

    // search the whole scene
    seeker->apply(theScene);

    // fetch results from the search
    results.clear();
    results.swap(seeker->getResults());

    return !results.empty();
  }

  // use a traverser as class member
  class Balancer
  {
  public:
    Balancer()
    : m_balancer(new nvtraverser::BalanceTraverser) // instantiate balancer
    {
    }

    // balance the subtree under node
    void balance(const nvsg::NodeSharedPtr& node)
    {
        // balance by number of child nodes and number of vertices
        m_balancer->apply(node);
    }

  private:
    nvutil::SmartPtr<BalanceTraverser> m_balancer;
  };
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: View Components

View Components

View components are core objects dedicated to view-related tasks. They are usually not parts of the scene tree but can be linked to scene components like Transforms.

Cameras

Cameras in SceniX are represented by nvsg::Camera-derived objects. The SceniX SDK provides a perspective camera, represented as nvsg::PerspectiveCamera object, an orthographic camera, represented as nvsg::ParallelCamera object, and a general projection camera, represented as nvsg::MatrixCamera object.

An nvsg::Camera can be positioned and oriented in world space. Besides that, a camera object can hold an arbitrary number of headlights.

With an nvsg::PerspectiveCamera and an nvsg::ParallelCamera, which are nvsg::FrustumCamera objects, the position and size of the world window can be specified. Moreover, the optimal near and far distances around a sphere can be calculated.

In addition to that, with an nvsg::PerspectiveCamera the world window can be specified by a field of view.

Camera
Frustum Camera
Perspective Camera
Parallel Camera
Matrix Camera

View State

nvsg::ViewState is the glue between all components required to render a scene. It consists of the following components:

nvsg::Scene - The Scene contains the scene tree representation to render.

nvsg::Camera - The Camera defines the viewing window to the world.

nvui::RendererOptions - RendererOptions configure how renderers should work.

An nvsg::ViewState can be initialized as followed

nvsg::ViewStateSharedPtr viewStateSP = nvsg::ViewState::create();
nvsg::SceneSharedPtr     sceneSP     = nvsg::Scene::create(); // create your scene here
nvsg::CameraSharedPtr    cameraSP    = nvsg::Camera::create(); // create your camera here
nvui::RendererSharedPtr  optionsSP   = nvui::RendererOptions::create(); // create an empty RendererOptions object

nvsg::SmartSceneRendererGL2 sceneRenderer = SceneRendererGL2::create();
sceneRendererer->addRendererOptions( optionsSP ); // feed RendererOptions with default values of a SceneRenderer.

// Fill nvsg::ViewState with options
nvsg::ViewStateWriteLock viewState(viewStateSP);
viewState->setScene( sceneSP );
viewState->setCamera( cameraSP );
viewState->setRendererOptions( optionsSP );

nvsg::ViewState also keeps an animation state. Use nvsg::ViewState::setAnimation( true ) to turn animations on.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: What Is SceniX and What Is It Not

What Is SceniX and What Is It Not

The NVIDIA SceniX engine is a thread safe C++ scene graph API and leverages the latest innovations in OpenGL, Cg, and OptiX. SceniX supports 32-bit and 64-bit versions of Windows and Linux, and allows 32 & 64-bit development on the same system.

The SceniX scene management engine is an object-oriented programming library for creating cutting-edge, real-time 3D applications with a state of the art scene graph. SceniX provides a comprehensive set of C++ classes for developers to easily combine, extend, and create their own fast and reliable graphics applications. As a scene graph, SceniX provides a reusable, hierarchical data structure that describes a 3D scene's objects in space, time, appearance, and in relationship with one another. SceniX has been used to power many highly interactive environments for a variety of purposes, including: automotive styling, gas and oil data exploration, scientific and commercial visualization, simulation, modeling, and interactive training.

SceniX is not a complete application, but an important underpinning of high performance solutions that adds the application's primary capabilities. SceniX focuses on representing the 3D scene as interactively as possible and enabling high quality, efficient interactive rendering. Other components of the scene graph, such as physics or modeling, are not included but can be integrated.

Advantages

SceniX gives developers maximum flexibility in leveraging its engine to meet the specific needs of their application, market and end users. Of particular development value are:

Performance

SceniX maximizes the performance of graphics hardware by reducing the amount of data and grouping related data sets. Its hierarchical structure allows the culling of objects and their related data not needed for rendering the scene, and sorts data so that related objects are rendered at the same time.

Productivity

SceniX manages the interface to graphics hardware, significantly reducing the amount of OpenGL programming required to build interactive applications.

Portability

SceniX handles the lower-level tasks of rendering and transferring data, so porting your application to another platform can be as simple as a recompile.

Scalability

SceniX scales performance across multiple GPUs in a system or across a sophisticated graphics cluster, removing a significant development burden for data and/or performance intense applications.

Shading

SceniX takes advantage of modern GPU shading and compute power by fully integrating both Cg/CgFX and OptiX ray tracing, abstracting the low-level work required to organize and deliver the data to the GPU and ensuring optimal performance as GPU architectures continue to advance.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: SceniX COLLADA/FX File Format Loader

SceniX COLLADA/FX File Format Loader

  • Hierarchy and Scene Elements
  • Geometry
  • Animations
  • Skinning
  • Materials and Effects
  • Transparency
  • FX Composer
  • Environment Variables:
  • Unsupported Items
  • Credits

This is a loader for the Khronos Group's COLLADA and COLLADA FX XML file format. The loader currently supports version 1.4.1 of the COLLADA file format.

Khronos states that COLLADA is an "interchange" file format, not necessarily a final rendering format. Even so, SceniX attempts to render the file correctly, in high fidelity, with decent performance. Once loaded into SceniX, much of the original COLLADA representation is lost, except as noted below.

Most COLLADA geometry and hierarchy nodes are supported, and build the expected SceniX scene graph. The following sections outline how a COLLADA file is converted into a SceniX scene.

Hierarchy and Scene Elements

  • NODE nodes either create a named SceniX Group or a SceniX Transform as a parent, depending on whether transformations are found in the children of the node.

  • ROTATE, TRANSLATE, MATRIX, SCALE, LOOKAT are all supported and concatenated together into a composite matrix for the Transform node. Matrices are not concatenated if they are referenced in an animation, as described later. SKEW matrices are not yet supported.

  • SKIN, JOINT, SKELETON are all supported. See the section on skinning for more information.

  • CAMERA nodes are supported, both orthographic and perspective. However, COLLADA’s cameras are part of the scene hierarchy, and SceniX’s cameras are separate entities. This means that the transformation nodes above the camera are concatenated and used to position the camera before being added to the nvsg::Scene.

  • LIGHT nodes are supported (AMBIENT, DIRECTIONAL, POINT, SPOT). It is unclear from the specification as to whether light sources are supposed to only affect the children of the node that contains them or the entire scene, but the consensus seems to be that they are to affect the entire scene. SceniX adds all light sources to the top level of the scene so that they affect all geometry. If a scene contains an ambient light source, it is loaded as the scene's "ambient color." If you believe this is incorrect, please let us know.

Geometry

The loader runs a series of conditioners over the file when it is initially loaded. These conditioners convert all polygonal geometry types (TriStrip, TriFan, Polygon, PolyList, etc) into Triangles. This simplifies the loader and allows better combination and optimization on the final scene.

Lines are supported; and linestrips are supported by being conditioned into lines at load time.

This release contains support for skinning, but does not yet contain support for morph geometry. See the section on skinning for more information.

Animations

Animations are supported if connected to any of the supported transformation nodes described earlier, thus creating and feeding an nvsg::AnimatedTransform node, being interpolated linearly. Animations connected to JOINTs in a SKELETON are also supported. Other types of animations and interpolations are not currently supported.

COLLADA assumes that the animation system will use TIME as an input to feed the progression of animations, whereas SceniX’s SceniXViewer application uses a frame-based approach. So the loader assumes a frame rate of 60 fps when creating the animation data structures for proper display in ViewerVR. These assumptions can be changed programmatically by the application if they are not appropriate.

Skinning

All SKIN, JOINT and SKELETON nodes should be supported in this release. SceniX's skinning system has been greatly enhanced to support the somewhat complex notion of skinning and animations in COLLADA. Multiple disjoint SKELETON and JOINT nodes are supported for each skinned geometry. Due to some ambiguities in the documentation and the lack of a large base of skinned models to test with, it may be that not all skinned models will render correctly. Please help us improve SceniX and send any models you feel are not being interpreted correctly to scenix-help@nvidia.com.

SceniX supports skinning using the CPU or the GPU (on G80 or better hardware). See the docs in SceniX on skinning for more information.

Materials and Effects

All textures and materials+effects are cached as they are loaded so that only one copy of each resides in memory at once.

  • profile_COMMON SceniX fully supports the common profile of COLLADA. This means that AMBIENT, DIFFUSE, SPECULAR, EMISSIVE, TRANSPARENT and REFLECTIVE lighting components are all combined appropriately, and can either be a texture or a color. All lighting models (BLINN, PHONG, CONSTANT, LAMBERT) are supported as well, with BLINN and PHONG being treated the same – both using a reflection vector rather than the half angle vector.

To facilitate this, the loader dynamically builds a CgFX shader for each material+effect combination. The shaders can be configured to perform lighting and shading per-fragment or per-vertex through the use of environment variables. The default is per-fragment lighting for maximum quality.

Based on the COLLADA reference, SceniX uses the following lighting computation:

// accumulate lighting intensities for the surface into
// [ambient|diffuse|specular]Light

// sample textures or assign colors to materials: emissive, ambient, diffuse
// specular, reflective, transparent

diffuseMaterial = lerp( diffuseMaterial, reflectiveMaterial, reflectivity );

if( ALPHA_ONE mode )
  float alpha = transparentMaterial.a * transparency;
else if( RGB_ZERO mode )
  float alpha = 1.0f - luminance( transparentMaterial.rgb ) * transparency;

float3 result = sceneAmbient * ambientMaterial +
                emissiveMaterial +
                ambientMaterial * ambientLight +
                diffuseMaterial * diffuseLight +
                specularMaterial * specularLight;

return float4( result, alpha );

if (ALPHA_ONE mode || RGB_ZERO mode)
{
  BlendingEnable = true;
  BlendFunc = int2( SrcAlpha, OneMinusSrcAlpha );
}

  • profile_CG SceniX fully supports “COLLADA FX” through the CG profile. Techniques, passes, GL State, and Cg code are all translated into a CgFX with all "newparam" variables exposed as tweakables in the final CgFX.

  • profile_GLSL Not currently supported
  • profile_GLES Not currently supported.

Transparency

A quick note about transparency: It seems that there was (and still is) confusion between DCC tools and exporters regarding transparency. If using ALPHA_ONE, transparency=1.0 is OPAQUE; if using RGB_ZERO, transparency=0.0 is OPAQUE. There are some environment variables that can help with fixing this for files that get it wrong. There are some hacks in the loader to set these values for various tools (XSI, SketchUp). Bottom line is this: if you load a file and all or some of the geometry is invisible (transparent) suspect the transparency value needs to be subtracted from one. If you believe we have this wrong please let us know. For example if a transparency texture map is used inside 3ds Max which is RGB, the Khronos COLLDADA NextGen exporter generates RGB_ZERO transparency but the texture map was used to express transparency not opacity. Inverting the texture will fix the transparency in the DAE file. Switching to ALHPA_ONE transparency doesn't help because the texture was RGB and alpha will always be 1.0 == opaque in that case.

Also, as shown above, we do not fully support the RGB_ZERO transparency mode, as we do not have a good way to set the blend color on a per fragment basis.

FX Composer

Models exported from FX Composer that have been converted to COLLADA FX should work. Here is a procedure for exporting a usable file from FX Composer:

  • Create a new project.
  • Choose "Add Sphere"
  • In the center window choose tab "Shader Library"
  • Drag and Drop the "Relief Mapping" shader onto the sphere.
  • In left pane, switch bottom tabs to "Assets"
  • In the Assets tree window, to go Effects->relief_mapping->relief_mapping.cgfx
  • Right click on relief_mapping.cgfx and choose "Convert to COLLADA FX" (you MUST convert the effect)
  • Choose File->Save Document1 as
  • Save as a collada file
  • Load this file into SceniX Viewer.
  • Open Materials dialog and play with all the tweakables and techniques.
  • Enjoy!

Environment Variables:

NVSG_DAE_WORKAROUNDS: This variable may be set to a number of “KEY=VALUE” pairs separated by colons. The values understood are:

  • LIGHTING=[FRAGMENT:VERTEX]: This flag sets the lighting mode used by the shader builder for profile_COMMON effects. The default is to generate a shader to perform per-fragment lighting/shading. Setting LIGHTING=VERTEX (or any value other than FRAGMENT) will create shaders performing vertex lighting/shading.
  • OPTIMIZE = [TRUE|FALSE]: Setting this flag to TRUE (the default) will cause the shader builder to optimize away lighting components that will not contribute to the final lighting equation. If you suspect a bug in the shader builder you may want to set this flag and see if the visual result is correct.
  • IGNORE_TRANSPARENCY: If set, will cause the shader builder to ignore any transparency given in the common profile. This may be necessary if your DCC tool writes out incorrect transparency statements (such as earlier versions of XSI).
  • ONE_MINUS_TRANSPARENCY: If set, will cause the shader builder to subtract the given transparency from 1 (eg: 1 – transparency). There is an amount of unfortunate confusion with some DCC tools (Google SketchUp, and tools using earlier versions of FCollada, for instance) causing them to output the wrong transparency values.

Unsupported Items

Several of the items in the top level <asset> are unsupported: <up_axis> is decoded but will not attempt to rotate the model - typically the application will decide what the UP vector is based on its own camera settings; <unit> is decoded but does not currently attempt to scale the model.

<morph> geometry is not supported.

<skew> matrices are not supported.

<profile_GLSL> <profile_GLES> are not supported.

FX Composer's <extra> fields that allow direct <import> of CgFX files are not currently supported. Support for this may be added in the next version. The workaround is to simply convert them to COLLADA/FX in FX Composer before exporting for SceniX.

Credits

This loader uses the “COLLADA DOM” to parse the COLLADA file format, and also uses portions of the “COLLADA FX” library to parse effects containing shaders. These libraries are available from www.khronos.org.
Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: SceniX MultiGen OpenFlight(tm) File Format Loader

SceniX MultiGen OpenFlight(tm) File Format Loader

  • Node Attributes
  • OpenFlight Records
  • Face Attributes
  • Texturing
  • Shaders
  • Environment Variables:
  • Credits

This is a loader for Multigen OpenFlight file format. Version 14.x thru 16.2 files should parse correctly - other versions are not guaranteed to work. Most OpenFlight nodes are supported, and build the expected SceniX scene graph. The following is a description of the records and attributes that are supported in version 4.0 beta.

Node Attributes

  • Matrix Attributes attached to any node cause a SceniX Transform node to be inserted in the hierarchy ahead of the node itself.
  • Replication Attributes are obeyed and operate as expected.
  • Comment Attributes are applied as "Annotations" to each node type, and can be queried once the model is loaded.
  • SceniX Nodes are named from the OpenFlight record.

OpenFlight Records

  • HEADER: If the header flags contain the setting for "RGB_COLOR" mode, then the database will be expected to be in RGB color. This means that vertices with colors are expected to contain RGB colors rather than paletted colors. Children of the header are parsed to build the scene. See the workarounds section for potential workarounds for this node.

  • EXTERNAL REFERENCES: External references cause external model files to be read from disk and inserted into the hierarchy at the point they were encountered. References to ExtRefs are cached such that they are never loaded twice. Cached external references are cloned if referenced a second time. Note that SceniX does not currently support using any of the palettes in the parent file, nor is there support for FILE:node referencing.

  • INSTANCING: Instance definitions are cached and when instance references are encountered the parent geometry is cloned to create the child.

  • LIGHT SOURCES: All light source types are supported. Light sources that do not have the flags "Enabled" and "Export to Realtime" set are NOT imported. SceniX supports hierarchical light sources like OpenFlight (light sources only cast light on nodes below them in the hierarchy.) If a light has the "Global" flag set, it is simply inserted at the topmost node in the hierarchy. SceniX does not currently support adding annotations to Light sources, so comments will be ignored.

  • LIGHT POINTS, INDEXED LIGHT POINTS/SYSTEMS: Light points and light point systems are naively supported. This means that they are parsed as antialiased points, their color is set, and their point size is set to 5.

  • MESH: Meshes are currently not supported. Support may be added in the future.

  • LODs: Level of Detail nodes are fully supported and attempt to construct an optimized single LOD node in SceniX where possible. All sibling LOD records that are found containing approximately the same center and matching LOD ranges are combined together under a single SceniX LOD. Empty group nodes may be inserted into the hierarchy to correct for differences between OpenFlight and SceniX LODs. If the LOD is found to have an "infinite" center value, the LOD center is computed from the child geometry's bounding sphere.

  • SWITCH: OpenFlight switch masks are fully supported and were added to SceniX's Switch class. They should operate as expected.

  • DOFs: Degree of Freedom nodes are created using a pair of transforms. One to transform the local coordinate system to its given position, and the second to allow runtime modification. The second transform is named from the OpenFlight DOF. This should work as expected.

  • GROUP: Group nodes create SceniX Groups. They can be optimized away at load time if they contain only 1 child. Groups are not removed if the "Preserve at RunTime" flag is set, they are animations, they contain more than one child, or their parent was a switch or an animated group. If the Group is an animation, then a SceniX FlipbookAnimation is created instead of a group. LoopDuration and LastFrameDuration are supported, as is the custom comment field "vt_loop_duration = [duration]". The loader currently makes the assumption that the visual system will run at 60 frames per second when creating the timings for each frame. If no durations are given, then the loader assumes that you want to advance 1 animation frame each simulation frame.

  • OBJECT: OpenFlight objects are typically removed and their associated geometry is added to their parent. A SceniX Geode is created for each object if the "Preserve at Runtime" flag is set, or the object is a child of a Switch or Animated Group.

  • FACE: Face records are typically collected into a group that has been sorted by state. SceniX does not contain a simple "face" primitive so attempting to find faces by name at runtime will almost certainly fail. Face comments are also ignored. Faces with the Axial Rotate or Point Rotate create the proper SceniX Billboard node for this face, and faces that contain a transform are placed by themselves below a SceniX Transform node. Faces are automatically tessellated and triangulated, and even most convex faces are handled appropriately. Degenerate faces are removed. Lit faces without normals will have face normals generated for them. See "Face Attributes" later.

  • SUBFACE: Subfaces are handled by adding a small amount of polygon offset to resolve the Zbuffer appropriately.

Face Attributes

  • Colors: Face Primary Color from the color palette or as an RGB color. Alternate Color is ignored.
  • Materials: Full material palette is supported, along with material names.
  • Render State:
  • Type [SOLID|WIREFRAME|CLOSEDWIREFRAME] supported
  • Shade: -- FLAT: Face color, not subject to lighting. -- LIT: Use face color * material and vertex normals. -- GOURAUD: Vertex Colors, not subject to lighting. -- LIT GOURAUD: Apply vertex color * material at each vertex, and use vertex normals.
  • Line Style: Supported when the primitive is wireframe.
  • Transparency: Supported.
  • Two Sided: Supported by adding a no-culling flag in SceniX.
  • Textured Polygon White: Supported as expected, by ignoring the face color if textured.
  • Hidden Polygon: Supported - poly removed at load time.
  • Mapping: The texture "Mapping" palette entry is only checked to see if it is of type "Environment Mapping." If so this texture is applied as an environment map to the polygon using texture coordinate generation. MultiGen provides no documentation on how this is to be performed, so we guessed at what we thought they meant.

If the face has the FIXED_WITH_ALPHA flag set, and contains transparency, or the material contains transparency a "blended" transparency mode is used. If the FIXED_WITH_ALPHA flag is set and the texture contains transparency, an "alphafunc" style transparency is used. See "Environment Variables" later for a way to change this behavior.

Texturing

Base, Detail, and Layers 1-7 are supported. Texture layers 1-7 may have an Effect and Effect Data specified. Textures are cached in a local texture palette by their pattern index, and are only loaded once. In addition, textures with the same path name are also only loaded once. Textures are applied using the Texture Environment, Min/Mag Filter, and Wrap Method stored in the Attr file. If no attr file is present the defaults are MODULATE, Trilinear Mip, Bilinear, and Repeat, respectively.

  • Detail Textures: Detail textures are typically assigned to texture unit 1. They are applied using Modulate and Scale 2x texture environment mode. In order to apply scaling, the Detail Texture setting must be checked in the Texture Attributes dialog, and the "m" and "n" values will be multiplied by the base texture U, V mapping to determine the detail texture texcoords.

  • Layers 1-7: Other texture layers will be applied as expected to the geometry using the settings from the attr file or the defaults given above.

  • Bump Maps: If the texture 'effect' is set to bump map then the texture is applied as a bump map using a normalization cube map. If 'Effect Data' is set to a nonzero value, then tangent and binormal vectors are computed and placed in texcoords starting at the texture unit specified in 'Effect Data.' This is really only useful for shaders, which are described later.

Shaders

The standard shader environment as presented by Creator is supported in SceniX. The uniform variables as described in the creator documentation are supported, and turned into tweakables, ready for your application to modify them at runtime (meaning that SceniX does not continually update eyePosition, simulationTime, frameNumber, etc - this is up to the application.) SceniX currently only supports CgFX shaders. This means that ONLY Cg shaders are supported, and the shaders given in the OpenFlight file must be converted into a CgFX representation by the loader. While most situations are handled appropriately, there is one caveat to this process: members of attribute structures must use the same names between vertex and fragment shaders as the structs need to be combined into a single structure for the CgFX. For example:

VertexShader.cg:

struct vertToFrag
{
  float4 pos : POSITION;
  float4 texcoord: TEXCOORD0;
};

[...]

FragmentShader.cg

struct vertToFrag
{
  float4 pos : POSITION;
  float4 texCoord: TEXCOORD0;
};

[...]

Will end up generating an invalid CgFX because one of the structures will be eliminated and the case will be wrong for "texcoord" in one or the other shader stage. We mention this because at least one example in the Creator distribution does exactly this, and it is impossible for us to check and correct this for now.

A second, and preferred, method to apply a shader to the scene is to use a CgFX file. While Creator's dropdown for "Type" appears to support CgFX, it will not allow you to select it. So, to add a CgFX shader to the shader palette simply select "Cg" as the type, and enter the name of the CgFX file (with extension .cgfx) in the vertex shader entry, and leave the fragment shader entry blank. Our runtime will notice that you have specified a CgFX shader and will load it appropriately.

Environment Variables:

TXTPATH: Is the path to your textures and externally referenced .flt files. It is added to the list of external paths which may have already been specified through function calls in SceniX. Note that directories must be separated by semicolons ';' since MultiGen Creator inserts the drive letter with a colon in the path list. From bash this would be 'export TXTPATH="/root/tex;/root/myfiles/tex"'. Note the double quotes are necessary because bash considers the semicolon as a command separator.

NVSG_FLT_WORKAROUNDS: This variable may be set to a number of KEY=VALUE pairs separated by colons. The values understood are:

  • TRANSPARENCY_FROM_TEXTUREALPHA: Regardless of any face flags, only check the texture type to determine if transparency should be added to this polygon. The Performer and OSG loaders erroneously behave this way.
  • LIGHTING_MODE = [FLAT|GOURAUD|LIT|LIT_GOURAUD]: Force lighting mode to be that specified for all faces.
  • BLENDED_TRANSPARENCY: Always use blending and never alpha transparency for faces requiring transparency.
  • CHILDLESS_HEADER: Some OpenFlight files were erroneously written such that there is no "push" after the header, thus making the header childless. The loader attempts to traverse children of the header and will create an empty scene because it can not find any children. Performer and (possibly?) OSG will incorrectly parse these files ignoring this fact. Setting this value allows SceniX to find the other nodes as well.

Credits

This loader uses Fltlib to parse the OpenFlight file format. Fltlib is a MultiGen OpenFlight file format loader library written by Michael Morrison. It is available as an open source project at fltlib.sourceforge.net.

MultiGen, OpenFlight, and Flight Format are registered trademarks of MultiGen-Paradigm Inc.

Generated on Fri Jul 13 13:29:11 2012 for SceniX


SceniX: FLTLoader.h Source File

src / Loader / FLTLoader

FLTLoader.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // FLTLoader.h
00016 //
00017
00018 #ifndef _LOADFLT_H_
00019 #define _LOADFLT_H_
00020
00021 #if ! defined( DOXYGEN_IGNORE )
00022
00023 #include <string>
00024 #include <vector>
00025 #include <map>
00026 #include <list>
00027 #include <flt.h>
00028
00029 #include <nvsg/nvsgapi.h>
00030 #include <nvsg/nvsg.h>
00031 #include <nvsg/Scene.h>
00032 #include <nvsg/PlugInterface.h>
00033 #include <nvutil/Trace.h>
00034 #include <nvmath/Vecnt.h>
00035 #include <flt.h>
00036 #include "FLTTextureAttribute.h"
00037 #include "TaiManager.h"
00038
00039 namespace nvsg
00040 {
00041   class Group;
00042   class GeoNode;
00043   class SceneLoader;
00044   class Scene;
00045   class ViewState;
00046   class TextureAttributeItem;
00047   class Material;
00048   class CgFx;
00049 }
00050
00051 class StackedAtlasManager;
00052
00053 #define INVOKE_CALLBACK(cb) if( callback() ) callback()->cb
00054
00055 class FLTLoader : public nvsg::SceneLoader
00056 {
00057 public:
00058   FLTLoader();
00059
00060   void deleteThis( void );
00061
00062   nvsg::SceneSharedPtr load( const std::string& filename,
00063                                const std::vector<std::string> &searchPaths,
00064                                nvsg::ViewStateSharedPtr & viewState );
00065
00066 protected:
00067   virtual ~FLTLoader(void);
00068
00069 private:
00070   void buildScene( nvsg::Group *, FltNode *, FltFile *, int, bool = true );
00071
00072   enum LookupEnum
00073   {
00074     LOOKUP_DEFAULT,
00075     LOOKUP_DETAIL,
00076     LOOKUP_NORMALMAP
00077   };
00078
00079   // textures
00080   struct TextureEntry
00081   {
00082     // the texture return
00083     nvsg::TextureAttributeItemSharedPtr hTai;
00084
00085     // 3rd texture coord - if using stacked atlas
00086     int layer;
00087
00088     // these are set if the entry came from a texture atlas
00089     float  uscale;
00090     float  utrans;
00091     float  vscale;
00092     float  vtrans;
00093   };
00094
00095   nvsg::TextureHostSharedPtr lookupTexture( FltFile *, const std::string & );
00096   bool lookupTexture( TextureEntry & result, FltFile * flt,
00097                       uint16 indx, int16 tmIndx = -1,
00098                       LookupEnum detail = LOOKUP_DEFAULT );
00099
00100   nvsg::TextureAttributeItemSharedPtr createNormalizationCubeMap( unsigned int dimension );
00101
00102   // materials
00103   nvsg::MaterialSharedPtr lookupMaterial( FltFile * flt, uint16 indx, nvmath::Vec3f &color, float trans);
00104
00105   // shaders
00106   nvsg::CgFxSharedPtr lookupShader( FltFile * flt, uint32 index );
00107   nvsg::CgFxSharedPtr createCgFxFromFile( FltFile * flt, const std::string & file, std::string & errorReturn
00108                                           , bool & failOnTextureLoadInOut );
00109   // instances
00110   bool createInstance( FltFile * flt, FltNode * root );
00111   const nvsg::GroupSharedPtr & lookupInstance( FltFile * flt, uint16 inst );
00112
00113   // extrefs (stored by file name)
00114   bool createExtRef( const std::string & file, const nvsg::GroupSharedPtr & grp );
00115   nvsg::GroupSharedPtr lookupExtRef( const std::string & file );
00116
00117   typedef unsigned long long int mapEntryType;
00118   inline mapEntryType cvtToMapEntry( FltFile * flt, uint16 indx,
00119                                                     uint16 add = 0 )
00120   {
00121     mapEntryType ull;
00122
00123     ull = ((((mapEntryType)fltGetFileID( flt ))<<32)&0xffffffff00000000ull) |
00124               ((indx<<16)&0xffff0000 | (add&0xffff));
00125
00126     return ull;
00127   }
00128
00129   enum ShaderProgramType
00130   {
00131     FLT_VERTEX_SHADER,
00132     FLT_FRAGMENT_SHADER
00133   };
00134
00135   bool buildCgFxFromCg( FltFile * flt,
00136                         const std::string & vertexShader,
00137                         const std::string & vertexEntry,
00138                         const std::string & fragmentShader,
00139                         const std::string & fragmentEntry,
00140                         const std::string & vpSuffix, const std::string & fpSuffix,
00141                         std::string & result );
00142
00143   // colors
00144   enum ColorLookupEnum
00145   {
00146     COLOR_NOCOLOR,
00147     COLOR_NOTAVAILABLE,
00148     COLOR_OK
00149   };
00150
00151   ColorLookupEnum
00152         getFaceColor( FltFile * flt, FltFace * face, nvmath::Vec4f & result );
00153   ColorLookupEnum
00154         getVertexColor( FltFile * flt, FltVertex * v, nvmath::Vec4f & result );
00155
00156   uint32 nextFileID( void ) { return m_fileIDs++; }
00157
00158   void buildObject( nvsg::Group * parent, FltNode * node, FltFile * flt, int );
00159   void buildFace( nvsg::GeoNode * parent, FltNode * node, FltFile * flt, bool isSubFace = false );
00160   inline bool collect( FltNode * node );
00161   void collectDescend( nvsg::GeoNode * , FltNode * , FltFile *);
00162   void collectGeometry( nvsg::Group * , FltNode * , FltFile *);
00163   void optimizeGeometry( const nvsg::GeoNodeSharedPtr & geode );
00164
00165   //
00166   // current workarounds:
00167   //
00168   // CHILDLESS_HEADER - parse all siblings of header node if no children
00169   // LIGHTING_MODE=[FLAT|LIT|GOURAUD|LIT_GOURAUD] - force a lighting mode for
00170   //                                                all polygons.
00171   //
00172   void setWorkaroundMode( const std::string & mode );
00173   bool getWorkaround( const std::string & e,
00174                       std::string * result = 0 );
00175
00176   bool faceNormal( nvmath::Vec3f &, FltVertex ** vlist, unsigned int numVerts );
00177
00178   std::map<mapEntryType,std::pair<FLTTextureAttribute,nvsg::TextureAttributeItemSharedPtr> > m_textureCache;
00179   std::map<std::string, std::string> m_workarounds;
00180   std::map<mapEntryType, nvsg::CgFxSharedPtr> m_shaderCache;
00181   std::vector< std::string > m_texturesNotFound;
00182   std::vector< std::string > m_shadersNotFound;
00183   std::vector< std::string > m_searchPaths;
00184   std::list<nvsg::MaterialSharedPtr> m_materialCache;
00185   std::map<mapEntryType,nvsg::GroupSharedPtr> m_instanceNodes;
00186   std::map<std::string, nvsg::GroupSharedPtr> m_extRefs;
00187   nvsg::TextureAttributeItemSharedPtr m_normalizationCubeMap;
00188   bool removeDegenerates( std::vector<unsigned int> & indexList,
00189                           std::vector<nvmath::Vec3f> & verts );
00190
00191   void addAnnotation( nvsg::Node * nNode, FltNode * fNode );
00192   bool hasComment( FltNode *fNode );
00193
00194   TaiManager * getTaiManager() { return m_taiManager; }
00195   StackedAtlasManager * getStackedAtlasManager()
00196     { return m_stackedAtlasManager; }
00197
00198   nvsg::TextureAttributeItemSharedPtr loadAtlasTexture( FltFile *, const std::string & );
00199   std::map<std::string, nvsg::TextureAttributeItemSharedPtr> m_atlasCache;
00200   std::map<std::string, nvsg::TextureHostSharedPtr> m_textureNameCache;
00201
00202   unsigned int m_numTextures;
00203   unsigned int m_numMaterials;
00204   nvsg::Group * m_topLevel;
00205
00206   bool m_rgbColorMode;
00207   bool m_buildMipmapsAtLoadTime;
00208   bool m_useStackedAtlasManager;
00209
00210   uint32 m_fileIDs;
00211
00212   TaiManager * m_taiManager;
00213   StackedAtlasManager * m_stackedAtlasManager;
00214 };
00215
00216 #endif // ! defined( DOXYGEN_IGNORE )
00217
00218 #endif /* _LOADFLT_H_ */
00219
00220
00221
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FLTTextureAttribute.h Source File

src / Loader / FLTLoader

FLTTextureAttribute.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // FLTTextureAttribute.h
00016 //
00017 //
00018
00019 #ifndef _FLTTextureAttribute_H_
00020 #define _FLTTextureAttribute_H_
00021
00022 #if ! defined( DOXYGEN_IGNORE )
00023
00024 #include <flt.h>
00025
00026 //
00027 // Basic struct to hold additional information about the texture map.
00028 // Just detail texture stuff for now.
00029 //
00030 struct FLTTextureAttribute
00031 {
00032   uint16 detailRepeatM;
00033   uint16 detailRepeatN;
00034 };
00035
00036 #endif /* DOXYGEN_IGNORE */
00037
00038 #endif /* _FLTTextureAttribute_H_ */
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Graphical Class Hierarchy

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

SceniX Graphical Class Hierarchy

Go to the textual class hierarchy

Generated on Fri Jul 13 13:31:54 2012 for SceniX


SceniX: Assert.h Source File

inc / nvsg / nvutil

Assert.h

00001 #pragma once
00002
00003 #include "nvsggnudefs.h" // GNU compiler specific defines
00004 #include "nvsg/nvsgapi.h"  // storage-class defines
00005 #include "nvsg/nvsg.h"
00006 #include <limits>
00007
00008 #if !defined(NDEBUG) && !defined(NVSG_HYBRID)
00009
00010 namespace nvutil
00011 {
00012   typedef int (*UserAssertCallback)( const char * message );
00013
00015
00048   extern NVSG_API UserAssertCallback SetUserAssertCallback( UserAssertCallback cb );
00049
00050   extern NVSG_API void AssertionFailed(const char * expr, const char * file, unsigned int line);
00051 } // namespace nvutil
00052
00053
00054 // assert macro
00055 #define NVSG_ASSERT(exp) \
00056   do { \
00057     if (exp){ \
00058     } else { \
00059       if ( nvsg::nvsgGetDebugFlags() & nvsg::NVSG_DBG_ASSERT ) { \
00060         nvutil::AssertionFailed(#exp, __FILE__, __LINE__); \
00061       } \
00062     } \
00063   } while( false )
00064
00065 // verify the expression f succeeds
00066 #define NVSG_VERIFY(f) NVSG_ASSERT((f))
00067
00068 // NOTE: GNU compilers < 3.3.0 have serious problems with meta programing
00069 // techniques that we use e.g. to implement our compile-time assert
00070 #if defined(__GNUC__) && GCC_VERSION < 30300
00071
00072 #define NVSG_CTASSERT(exp)
00073 #define NVSG_CTASSERT_BYTESIZE(type,size)
00074 #define NVSG_CTASSERT_BYTESIZEi(type,size,ln)
00075 #define NVSG_CTASSERT_BYTESIZEii(type,size,ln)
00076 #define NVSG_CTASSERT_MODULO_BYTESIZE(type,size)
00077 #define NVSG_CTASSERT_MODULO_BYTESIZEi(type,size,ln)
00078 #define NVSG_CTASSERT_MODULO_BYTESIZEii(type,size,ln)
00079 #define NVSG_CTASSERT_SAME(lhs,rhs)
00080 #define NVSG_CTASSERT_SAMEi(lhs,rhs,ln)
00081 #define NVSG_CTASSERT_SAMEii(lhs,rhs,ln)
00082
00083 #else
00084
00085 // compile time assert
00086 template <bool> class CompileTimeAssert;
00087 template<> class CompileTimeAssert<true> {};
00088 #define NVSG_CTASSERT(exp) sizeof(CompileTimeAssert<(exp)!=0>)
00089
00090 #define NVSG_CTASSERT_BYTESIZE(type,size) NVSG_CTASSERT_BYTESIZEi(type,size, __LINE__)
00091 #define NVSG_CTASSERT_BYTESIZEi(type,size,ln) NVSG_CTASSERT_BYTESIZEii(type,size,ln)
00092 #define NVSG_CTASSERT_BYTESIZEii(type,size,ln) \
00093   static CompileTimeAssert<sizeof(type)==size> error_at_line_##ln##__##type##_has_unexpected_size
00094
00095 #define NVSG_CTASSERT_MODULO_BYTESIZE(type,size) NVSG_CTASSERT_MODULO_BYTESIZEi(type,size, __LINE__)
00096 #define NVSG_CTASSERT_MODULO_BYTESIZEi(type,size,ln) NVSG_CTASSERT_MODULO_BYTESIZEii(type,size,ln)
00097 #define NVSG_CTASSERT_MODULO_BYTESIZEii(type,size,ln) \
00098   static CompileTimeAssert<sizeof(type)%size==0> error_at_line_##ln##__##type##_has_unexpected_size
00099
00100 #define NVSG_CTASSERT_SAME(lhs,rhs) NVSG_CTASSERT_SAMEi(lhs,rhs, __LINE__)
00101 #define NVSG_CTASSERT_SAMEi(lhs,rhs,ln) NVSG_CTASSERT_SAMEii(lhs,rhs,ln)
00102 #define NVSG_CTASSERT_SAMEii(lhs,rhs,ln) \
00103   static CompileTimeAssert<lhs==rhs> error_at_line_##ln##__##lhs##_and_##rhs##_differ
00104
00105
00106 #endif
00107
00108 #else // non-debug configuration
00109
00110 #define NVSG_ASSERT(exp) static_cast<void>(0)
00111 #define NVSG_VERIFY(f)  (static_cast<void>(f))
00112 #define NVSG_CTASSERT(exp)
00113 #define NVSG_CTASSERT_BYTESIZE(type,size)
00114 #define NVSG_CTASSERT_BYTESIZEi(type,size,ln)
00115 #define NVSG_CTASSERT_BYTESIZEii(type,size,ln)
00116 #define NVSG_CTASSERT_MODULO_BYTESIZE(type,size)
00117 #define NVSG_CTASSERT_MODULO_BYTESIZEi(type,size,ln)
00118 #define NVSG_CTASSERT_MODULO_BYTESIZEii(type,size,ln)
00119 #endif
00120
00121 template<typename TOut, typename TIn>
00122 inline TOut checked_cast_integer( TIn in )
00123 {
00124   // this is exclusively for TOut and Tin being integer
00125   NVSG_CTASSERT(std::numeric_limits<TOut>::is_integer && std::numeric_limits<TIn>::is_integer);
00126
00127   TOut out = static_cast<TOut>(in);
00128
00129 #if !defined(NDEBUG)
00130   bool test = false;
00131
00132   if ( std::numeric_limits<TIn>::digits == std::numeric_limits<TOut>::digits )
00133   {
00134     test = std::numeric_limits<TIn>::is_signed == std::numeric_limits<TOut>::is_signed && (out == in);
00135   }
00136   else if ( std::numeric_limits<TIn>::digits < std::numeric_limits<TOut>::digits )
00137   {
00138     TOut m;
00139
00140     if ( std::numeric_limits<TOut>::is_signed == std::numeric_limits<TIn>::is_signed )
00141     {
00142       m = ~0;
00143     }
00144     else
00145     {
00146       m = (TOut(1) << (std::numeric_limits<TOut>::digits-1));
00147       if ( std::numeric_limits<TOut>::is_signed )
00148       {
00149         m <<= 1;
00150       }
00151       m = ~m;
00152     }
00153
00154     test = ((out & m) == in);
00155   }
00156   else
00157   {
00158     TIn m;
00159
00160     if ( std::numeric_limits<TOut>::is_signed == std::numeric_limits<TIn>::is_signed )
00161     {
00162       m = ~0;
00163     }
00164     else {
00165       m = (TIn(1) << (std::numeric_limits<TIn>::digits-1));
00166       if ( std::numeric_limits<TIn>::is_signed )
00167       {
00168         m <<= 1;
00169       }
00170       m = ~m;
00171     }
00172
00173     test = ((in & m) == out);
00174   }
00175
00176   NVSG_ASSERT(test && "Invalid conversion detected!");
00177 #endif
00178
00179   return out;
00180 }
00181
00182 // general implementation handle non-pure integer cases
00183 template <typename TOut, typename TIn, bool integer>
00184 struct Caster
00185 {
00186   TOut operator()(TIn in) {
00187     // more checks on non-pure integer to be done
00188     return static_cast<TOut>(in);
00189   }
00190 };
00191
00192 // specialization for pure-integer conversion
00193 template <typename TOut, typename TIn>
00194 struct Caster<TOut, TIn, true>
00195 {
00196   TOut operator()(TIn in) { return checked_cast_integer<TOut>(in); }
00197 };
00198
00199 template<typename TOut, typename TIn>
00200 inline TOut checked_cast( TIn in )
00201 {
00202   Caster<TOut, TIn, std::numeric_limits<TOut>::is_integer && std::numeric_limits<TIn>::is_integer> theCaster;
00203   return theCaster(in);
00204 }
00205
00206
00207 #if defined(NVSG_PRIVATE)
00208 # define NVSG_PRIVATE_ASSERT(exp)   NVSG_ASSERT(exp)
00209 #else
00210 # define NVSG_PRIVATE_ASSERT(exp)   static_cast<void>(0)
00211 #endif
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BackLinkObserver.h Source File

inc / nvsg / nvutil

BackLinkObserver.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015 #include "nvutil/Observer.h"
00016 #include "nvutil/ReadableObject.h"
00017
00018 namespace nvutil
00019 {
00023   class BackLinkObserver : public Observer
00024   {
00025     public:
00028       NVSG_API static BackLinkObserverSharedPtr create();
00029
00030     public:
00032       NVSG_API void setBackLink( const HandledObjectWeakPtr & backLink );
00033
00034     protected:
00035       friend struct nvutil::Holder<BackLinkObserver>;
00036
00037       NVSG_API BackLinkObserver();
00038       NVSG_API virtual ~BackLinkObserver();
00039
00040       NVSG_API virtual unsigned int onUpdate( const Subject *subject, unsigned int currentState, unsigned int changeState, const nvutil::Subject::SmartPayload &payload ) const;
00041
00042     private:
00043       HandledObjectWeakPtr m_backLink;
00044   };
00045
00046   inline BackLinkObserverSharedPtr BackLinkObserver::create()
00047   {
00048     return( ObjectTraits<BackLinkObserver>::Handle::create() );
00049   }
00050
00051   inline BackLinkObserver::BackLinkObserver()
00052     : m_backLink(0)
00053   {
00054     NVSG_TRACE();
00055   }
00056
00057   inline BackLinkObserver::~BackLinkObserver()
00058   {
00059     NVSG_TRACE();
00060   }
00061
00062   inline unsigned int BackLinkObserver::onUpdate( const Subject *subject, unsigned int currentState, unsigned int updateState, const nvutil::Subject::SmartPayload &payload ) const
00063   {
00064     NVSG_TRACE();
00065     NVSG_ASSERT( m_backLink );
00066
00067     return HandledObjectReadLock(m_backLink)->onUpdate( subject, currentState, updateState, payload );
00068   }
00069
00070   inline void BackLinkObserver::setBackLink( const HandledObjectWeakPtr & backLink )
00071   {
00072     NVSG_TRACE();
00073     m_backLink = backLink;
00074   }
00075
00076 } // namespace nvutil
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Backtrace.h Source File

inc / nvsg / nvutil

Backtrace.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #if !defined(NDEBUG)
00015
00016 #include <nvsg/nvsgapi.h>
00017 #include <string>
00018 #include <vector>
00019
00020 namespace nvutil
00021 {
00022   /* \brief Create a backtrace of the calling thread. Each string in the returned vector contains information about one line
00023    * \param firstFrame Skip the given amount of frames in the backtrace.
00024    * \param maxFrames Walk up the stack up to of maxFrames after skipping skipFrames.
00025    * \param exclusionList optional list of names to exclude in the backtrace
00026    * \return A std::vector containing strings where each string contains a textual representation for one stackframe.
00027    */
00028   NVSG_API std::vector<std::string> backtrace( int skipFrames, unsigned int maxFrames, const std::vector<std::string> & exclusionList = std::vector<std::string>() );
00029 }
00030
00031 #endif //NDEBUG
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Buffer.h Source File

inc / nvsg / nvsg

Buffer.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsgcommon.h>
00015 #include <nvsg/CoreTypes.h>
00016 #include <nvsg/OwnedObject.h>
00017 #include <nvutil/Incarnation.h>
00018 #include <nvutil/ReadableObject.h>
00019 #include <nvutil/WritableObject.h>
00020 #include <nvutil/StridedIterator.h>
00021 #include <nvutil/SWMRSync.h>
00022
00023 namespace nvsg
00024 {
00025   class ReadLockImpl;
00026   class WriteLockImpl;
00027
00031   class Buffer : public OwnedObject<Object>
00032   {
00033   public:
00034     // FIXME enforce ctor with managedBySystem state
00035     NVSG_API Buffer() : m_lockCount(0), m_managedBySystem(true) {}
00036     NVSG_API virtual ~Buffer();
00037
00038     enum MapMode { MAP_NONE = 0, MAP_READ = 1, MAP_WRITE = 2, MAP_READWRITE = MAP_READ | MAP_WRITE };
00039
00040
00043     NVSG_API virtual void setData( size_t dst_offset, size_t length, const void* src_data );
00044     NVSG_API virtual void setData( size_t dst_offset, size_t length, const BufferSharedPtr &src_buffer , size_t src_offset );
00045
00048     NVSG_API virtual void getData( size_t src_offset, size_t length, void* dst_data ) const;
00049     NVSG_API virtual void getData( size_t src_offset, size_t length, const BufferSharedPtr &dst_buffer , size_t dst_offset ) const;
00050
00051
00054     NVSG_API virtual size_t getSize() const = 0;
00055
00059     NVSG_API virtual void setSize( size_t size ) = 0;
00060
00064     NVSG_API virtual void resize( size_t size );
00065
00068     NVSG_API virtual nvutil::Incarnation getIncarnation() const = 0;
00069
00072     NVSG_API bool isManagedBySystem() const;
00073
00077     class DataReadLock {
00078     public:
00079
00086       NVSG_API DataReadLock() {};
00087       NVSG_API DataReadLock( const BufferSharedPtr &buffer) : m_lock( new ReadLockImpl( buffer ) ) {}
00088       NVSG_API DataReadLock( const BufferSharedPtr &buffer, size_t offset, size_t length)
00089                          : m_lock( new ReadLockImpl( buffer , offset, length) ) {}
00090       NVSG_API DataReadLock( const DataReadLock &rhs ) { m_lock = rhs.m_lock; }
00091       NVSG_API DataReadLock &operator=( const DataReadLock &rhs ) { m_lock = rhs.m_lock; return *this;}
00092
00093       void reset() { m_lock.reset(); }
00094
00097       template <typename ValueType> const ValueType *getPtr() const { return reinterpret_cast<const ValueType *>(m_lock->m_ptr); }
00098       NVSG_API const void *getPtr() const { return m_lock->m_ptr; }
00099     protected:
00100       class ReadLockImpl : public nvutil::RCObject
00101       {
00102       public:
00103         NVSG_API ReadLockImpl( const BufferSharedPtr &buffer);
00104         NVSG_API ReadLockImpl( const BufferSharedPtr &buffer, size_t offset, size_t length);
00105         NVSG_API ~ReadLockImpl();
00106
00107         BufferSharedPtr m_buffer;
00108         BufferReadLock  m_bufferLock;
00109         const void *m_ptr;
00110       };
00111     private:
00112       nvutil::SmartPtr<ReadLockImpl> m_lock;
00113     };
00114
00115
00119     class DataWriteLock {
00120     public:
00121
00133       NVSG_API DataWriteLock() {};
00134       NVSG_API DataWriteLock( const BufferSharedPtr &buffer, Buffer::MapMode mapMode )
00135                           : m_lock(new WriteLockImpl( buffer, mapMode ) ) { }
00136       NVSG_API DataWriteLock( const BufferSharedPtr &buffer, Buffer::MapMode mapMode, size_t offset, size_t length )
00137                           : m_lock(new WriteLockImpl( buffer, mapMode, offset, length ) ) { }
00138       NVSG_API DataWriteLock( const DataWriteLock &rhs ) { m_lock = rhs.m_lock; }
00139       NVSG_API DataWriteLock &operator=( const DataWriteLock &rhs ) { m_lock = rhs.m_lock; return *this; }
00140
00141       NVSG_API void reset() { m_lock.reset(); }
00142
00145       NVSG_API void*getPtr() const { return m_lock->m_ptr; }
00146       template <typename ValueType> ValueType *getPtr() const { return reinterpret_cast<ValueType *>(m_lock->m_ptr); }
00147     protected:
00148       class WriteLockImpl : public nvutil::RCObject
00149       {
00150       public:
00151         NVSG_API WriteLockImpl( const BufferSharedPtr &buffer, Buffer::MapMode mapMode );
00152         NVSG_API WriteLockImpl( const BufferSharedPtr &buffer, Buffer::MapMode mapMode, size_t offset, size_t length );
00153         NVSG_API ~WriteLockImpl();
00154
00155         BufferSharedPtr m_buffer;
00156         BufferWriteLock m_bufferLock;
00157         void *m_ptr;
00158       };
00159     private:
00160       nvutil::SmartPtr<WriteLockImpl> m_lock;
00161     };
00162
00163     // FIXME rename to WriteLockIterator
00164     template <typename ValueType>
00165     struct Iterator
00166     {
00167       typedef typename nvutil::StridedIterator<ValueType, DataWriteLock> Type;
00168     };
00169
00170     // FIXME rename to ReadLockIterator
00171     template <typename ValueType>
00172     struct ConstIterator
00173     {
00174       typedef typename nvutil::StridedConstIterator<ValueType, DataReadLock> Type;
00175     };
00176
00183     template <typename ValueType>
00184     typename Buffer::Iterator<ValueType>::Type getIterator( MapMode mapMode, size_t offset = 0, int strideInBytes = 0);
00185
00191     template <typename ValueType>
00192     typename ConstIterator<ValueType>::Type getConstIterator( size_t offset = 0, int strideInBytes = 0) const;
00193
00194   protected:
00206     NVSG_API virtual void *map( MapMode mode ); // maps entire range
00207     NVSG_API virtual void *map( MapMode mode, size_t offset, size_t length ) = 0;
00208     NVSG_API virtual const void *mapRead() const; // map entire range on const object
00209     NVSG_API virtual const void *mapRead( size_t offset, size_t length ) const = 0; // map on const object
00210
00211
00215     NVSG_API virtual void unmap( ) = 0;
00216     NVSG_API virtual void unmapRead( ) const = 0; // unmap on const object
00217
00218     void *lock( MapMode mapMode );
00219     void *lock( MapMode mode, size_t offset, size_t length );
00220     const void *lockRead() const;
00221     const void *lockRead( size_t offset, size_t length ) const;
00222     void unlock();
00223     void unlockRead() const;
00224
00225   private:
00226     mutable int m_lockCount;
00227     mutable void *m_mappedPtr;
00228     bool          m_managedBySystem;
00229   };
00230
00231   inline bool Buffer::isManagedBySystem() const
00232   {
00233     return m_managedBySystem;
00234   }
00235
00236   inline void* Buffer::map(MapMode mode)
00237   {
00238     return map( mode, 0, getSize() );
00239   }
00240
00241   inline const void* Buffer::mapRead() const
00242   {
00243     return mapRead( 0, getSize() );
00244   }
00245
00246   inline void Buffer::resize( size_t newSize )
00247   {
00248     size_t oldSize = getSize();
00249     if ( oldSize && newSize != oldSize )
00250     {
00251       size_t tmpSize = std::min( getSize(), newSize );
00252       char * tmpData = (char *)malloc( tmpSize );
00253       const char *oldData = reinterpret_cast<const char *>(mapRead());
00254       memcpy( tmpData, oldData, tmpSize );
00255       unmapRead();
00256
00257       setSize( newSize );
00258
00259       char *newData = reinterpret_cast<char *>(map( MAP_WRITE ));
00260       memcpy( newData, tmpData, tmpSize );
00261       unmap();
00262
00263       free( tmpData );
00264     }
00265     else
00266     {
00267       setSize( newSize );
00268     }
00269   }
00270
00271   inline void *Buffer::lock( Buffer::MapMode mapMode )
00272   {
00273     nvutil::AutoLock lock(m_mutableLock);
00274     if (!m_lockCount)
00275     {
00276       m_mappedPtr = map( mapMode );
00277     }
00278     ++m_lockCount;
00279     return m_mappedPtr;
00280   }
00281
00282   inline void *Buffer::lock( Buffer::MapMode mapMode, size_t offset, size_t length )
00283   {
00284     nvutil::AutoLock lock(m_mutableLock);
00285     if (!m_lockCount)
00286     {
00287       m_mappedPtr = map( mapMode, 0, getSize() );
00288     }
00289     ++m_lockCount;
00290     return (char *)m_mappedPtr + offset;
00291   }
00292
00293   inline const void *Buffer::lockRead() const
00294   {
00295     nvutil::AutoLock lock(m_mutableLock);
00296     if (!m_lockCount)
00297     {
00298       m_mappedPtr = const_cast<void*>(mapRead( ));
00299     }
00300     ++m_lockCount;
00301     return m_mappedPtr;
00302   }
00303
00304   inline const void *Buffer::lockRead( size_t offset, size_t length ) const
00305   {
00306     nvutil::AutoLock lock(m_mutableLock);
00307     if (!m_lockCount)
00308     {
00309       m_mappedPtr = const_cast<void*>(mapRead( 0, getSize() ));
00310     }
00311     ++m_lockCount;
00312     return (const char *)m_mappedPtr + offset;
00313   }
00314
00315   inline void Buffer::unlock()
00316   {
00317     nvutil::AutoLock lock(m_mutableLock);
00318     --m_lockCount;
00319     if (!m_lockCount)
00320     {
00321       unmap();
00322       m_mappedPtr = 0;
00323     }
00324   }
00325
00326   inline void Buffer::unlockRead() const
00327   {
00328     nvutil::AutoLock lock(m_mutableLock);
00329     --m_lockCount;
00330     if (!m_lockCount)
00331     {
00332       unmapRead();
00333       m_mappedPtr = 0;
00334     }
00335   }
00336
00337   inline Buffer::DataReadLock::ReadLockImpl::ReadLockImpl( const BufferSharedPtr &buffer )
00338     : m_buffer( buffer )
00339     , m_bufferLock( buffer )
00340     , m_ptr(0)
00341   {
00342     NVSG_ASSERT( buffer );
00343     m_ptr = m_bufferLock->lockRead( );
00344   }
00345
00346   inline Buffer::DataReadLock::ReadLockImpl::ReadLockImpl( const BufferSharedPtr &buffer , size_t offset, size_t length)
00347     : m_buffer( buffer )
00348     , m_bufferLock( buffer )
00349     , m_ptr(0)
00350   {
00351     NVSG_ASSERT( buffer );
00352     m_ptr = m_bufferLock->lockRead( offset, length );
00353   }
00354
00355   inline Buffer::DataReadLock::ReadLockImpl::~ReadLockImpl()
00356   {
00357     m_bufferLock->unlockRead();
00358   }
00359
00360   inline Buffer::DataWriteLock::WriteLockImpl::WriteLockImpl( const BufferSharedPtr &buffer, Buffer::MapMode mapMode )
00361     : m_buffer( buffer )
00362     , m_bufferLock( buffer )
00363     , m_ptr(0)
00364   {
00365     NVSG_ASSERT( buffer );
00366     m_ptr = m_bufferLock->lock( mapMode );
00367   }
00368
00369   inline Buffer::DataWriteLock::WriteLockImpl::WriteLockImpl( const BufferSharedPtr &buffer, Buffer::MapMode mapMode,
00370                                                           size_t offset, size_t length)
00371     : m_buffer( buffer )
00372     , m_bufferLock( buffer )
00373     , m_ptr(0)
00374   {
00375     NVSG_ASSERT( buffer );
00376     m_ptr = m_bufferLock->lock( mapMode, offset, length );
00377   }
00378
00379   inline Buffer::DataWriteLock::WriteLockImpl::~WriteLockImpl()
00380   {
00381     m_bufferLock->unlock();
00382   }
00383
00384   template <typename ValueType>
00385   typename Buffer::Iterator<ValueType>::Type Buffer::getIterator( MapMode mapMode, size_t offset, int strideInBytes )
00386   {
00387     DataWriteLock writeLock( nvutil::getWeakPtr<Buffer>(this), mapMode );
00388     char *basePtr = reinterpret_cast<char*>(writeLock.getPtr()) + offset;
00389     return typename Buffer::Iterator<ValueType>::Type( reinterpret_cast<ValueType *>(basePtr), strideInBytes ? strideInBytes : sizeof(ValueType), writeLock );
00390   }
00391
00395   template <typename ValueType>
00396   typename Buffer::ConstIterator<ValueType>::Type Buffer::getConstIterator( size_t offset, int strideInBytes ) const
00397   {
00398     DataReadLock readLock( nvutil::getWeakPtr<Buffer>(this) );
00399     const char *basePtr = reinterpret_cast<const char*>(readLock.getPtr()) + offset;
00400     return ConstIterator<ValueType>::Type( reinterpret_cast<const ValueType *>(basePtr), strideInBytes ? strideInBytes : sizeof(ValueType), readLock );
00401   }
00402
00414   NVSG_API void stridedMemcpy( void *dst, size_t dstOffset, size_t dstStride, const void *src, size_t srcOffset, size_t srcStride, size_t elementSize, size_t elementCount );
00415 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BufferGL.h Source File

inc / nvsg / nvgl

BufferGL.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/Buffer.h>
00015 #include <nvgl/RenderContextGL.h>
00016
00017 namespace nvgl {
00018
00022   class BufferGL : public nvsg::Buffer
00023   {
00024     public:
00029       NVSG_API static BufferGLSharedPtr create();
00030
00031   public:
00032     enum BufferState{
00033       STATE_MANAGED                 = BIT0,
00034       STATE_CAPABILITY_RANGE        = BIT1,
00035       STATE_CAPABILITY_COPY         = BIT2,
00036       STATE_CAPABILITY_RANGEANDCOPY = STATE_CAPABILITY_RANGE | STATE_CAPABILITY_COPY,
00037     };
00038
00040     NVSG_API void bind();
00041
00045     NVSG_API void bind( GLenum target );
00046
00048     NVSG_API void unbind();
00049
00053     NVSG_API void unbind( GLenum target);
00054
00055     using Buffer::setData;
00056     using Buffer::getData;
00057
00064     NVSG_API virtual void getData( size_t srcOffset, size_t length, const nvsg::BufferSharedPtr &dstBuffer , size_t dstOffset) const;
00065
00072     NVSG_API virtual void setData( size_t dstOffset, size_t length, const nvsg::BufferSharedPtr &srcBuffer , size_t srcOffset);
00073
00078     NVSG_API virtual void setSize(size_t size);
00079
00083     NVSG_API virtual size_t getSize() const;
00084
00088     NVSG_API void setTarget( GLenum target );
00089
00093     NVSG_API GLenum getTarget() const;
00094
00098     NVSG_API void setUsage( GLenum usage );
00099
00103     NVSG_API GLenum getUsage() const;
00104
00108     NVSG_API GLuint getGLId() const;
00109
00110     NVSG_API virtual nvutil::Incarnation getIncarnation() const { return m_incarnation; }
00111
00112   protected:
00113     friend struct nvutil::Holder<BufferGL>;
00114
00116     NVSG_API BufferGL( );
00117
00119     NVSG_API virtual ~BufferGL();
00120
00121     using Buffer::map;
00122     NVSG_API virtual void *map( MapMode mode, size_t offset, size_t length);
00123     NVSG_API virtual void unmap( );
00124
00125     using Buffer::mapRead;
00126     NVSG_API virtual const void *mapRead( size_t offset, size_t length ) const;
00127     NVSG_API virtual void unmapRead( ) const;
00128
00129     mutable Buffer::MapMode m_mapMode;
00130
00131     GLuint          m_glId;
00132     GLenum          m_target;
00133     GLenum          m_usage;
00134     size_t          m_sizeInBytes;
00135     unsigned int    m_stateFlags;
00136
00137     nvutil::Incarnation m_incarnation;
00138
00139     ShareGroupGLSharedPtr m_shareGroupGL;
00140   };
00141
00142   inline void BufferGL::setTarget( GLenum target )
00143   {
00144     NVSG_ASSERT( m_mapMode == MAP_NONE );
00145     m_target = target;
00146   }
00147
00148   inline GLenum BufferGL::getTarget() const
00149   {
00150     return m_target;
00151   }
00152
00153   inline void BufferGL::setUsage( GLenum usage )
00154   {
00155     NVSG_ASSERT( m_mapMode == MAP_NONE );
00156     m_usage = usage;
00157   }
00158
00159   inline GLenum BufferGL::getUsage() const
00160   {
00161     return m_usage;
00162   }
00163
00164 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: BufferHost.h Source File

inc / nvsg / nvsg

BufferHost.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #include "nvsg/Buffer.h"
00013
00014 namespace nvsg {
00018   class BufferHost : public Buffer
00019   {
00020   public:
00021     NVSG_API static BufferHostSharedPtr create();
00022
00023 #if 0
00024     NVSG_API static BufferHostSharedPtr create( size_t sizeInBytes );
00025 #endif
00026
00027   public:
00028     NVSG_API virtual void setUnmanagedDataPtr( void *data );
00029
00030     NVSG_API virtual void setSize(size_t size);
00031     NVSG_API virtual size_t getSize() const;
00032
00033     NVSG_API virtual nvutil::Incarnation getIncarnation() const;
00034
00035   protected:
00036     friend struct nvutil::Holder<BufferHost>;
00037
00038     NVSG_API BufferHost( );
00039     NVSG_API virtual ~BufferHost();
00040
00041     using Buffer::map;
00042     NVSG_API virtual void *map( MapMode mode, size_t offset, size_t length );
00043     NVSG_API virtual void unmap( );
00044
00045     using Buffer::mapRead;
00046     NVSG_API virtual const void *mapRead(size_t offset, size_t length ) const;
00047     NVSG_API virtual void unmapRead() const;
00048
00049     mutable Buffer::MapMode m_mapMode;
00050
00051     size_t              m_sizeInBytes;
00052     char*               m_data;
00053     nvutil::Incarnation m_incarnation;
00054     bool                m_managed;
00055   };
00056
00057 } // namespace nvsg
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Callback.h Source File

inc / nvsg / nvsg

Callback.h

00001 // Copyright NVIDIA Corporation 2002-2008
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011 #pragma once
00012
00013 #include "nvsg/CoreTypes.h"
00014 #include "nvutil/RCObject.h"
00015
00016 namespace nvsg
00017 {
00020   class Callback : public nvutil::RCObject
00021   {
00022     public:
00031       NVSG_API explicit Callback( const ObjectSharedPtr & observer );
00032
00038       NVSG_API const ObjectSharedPtr & getObserver() const;
00039
00044       NVSG_API virtual void operator()( const Object * subject, const void * data = NULL ) const = 0;
00045
00050       NVSG_API virtual unsigned int getClassID() const = 0;
00051
00056       NVSG_API virtual const char * getClassName() const = 0;
00057
00058     protected:
00063       NVSG_API virtual ~Callback();
00064
00065     private:
00066       ObjectSharedPtr m_observer;
00067   };
00068
00069   inline Callback::Callback( const ObjectSharedPtr & observer )
00070     : RCObject()
00071     , m_observer(observer)
00072   {
00073   }
00074
00075   inline Callback::~Callback()
00076   {
00077   }
00078
00079   inline const ObjectSharedPtr & Callback::getObserver() const
00080   {
00081     return( m_observer );
00082   }
00083 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CgDecomposer.h Source File

src / Loader / FLTLoader

CgDecomposer.h

00001
00002 #ifndef _CG_DECOMPOSER_H_
00003 #define _CG_DECOMPOSER_H_
00004
00005 #include <string>
00006 #include <vector>
00007
00008 class CgDecomposer
00009 {
00010 public:
00011   struct Method
00012   {
00013     std::string name;
00014     std::string retType;
00015     std::string retSemantic;
00016     std::vector< std::string > arguments;
00017     std::string body;
00018     std::string suffix;
00019     int identifier;
00020   };
00021
00022   struct Struct
00023   {
00024     std::string name;
00025     std::string body;
00026     int identifier;
00027   };
00028
00029   enum
00030   {
00031     PARSE_EOF,
00032     PARSE_NOERROR
00033   };
00034
00035   // shader types
00036   enum
00037   {
00038     GENERIC  = 1,
00039     VERTEX   = 2,
00040     FRAGMENT = 3,
00041     GEOMETRY = 4
00042   };
00043
00044   CgDecomposer()
00045   {
00046   }
00047
00048   ~CgDecomposer()
00049   {
00050   }
00051
00052   // parse a Cg file and add composition
00053   bool parseFile( const std::string & file, bool & valid, int identifier );
00054   // parse a Cg buffer and add composition
00055   bool parseBuffer( const char * buffer, int identifier );
00056
00057   // helper method to decompose a string argument
00058   bool parseArg( std::string arg, std::vector<std::string> & tokens );
00059   bool parseFullArg( std::string arg, std::vector<std::string> & tokens );
00060
00061   const std::vector< Method > & getMethods() const { return m_methods; }
00062   const std::vector< Struct > & getStructs() const { return m_structs; }
00063
00064   // find, and allow to modify
00065   Method * findMethod( const std::string & name, int identifier = -1 );
00066   Struct * findStruct( const std::string & name, int identifier = -1 );
00067
00068   // Distinguish vertex and fragment shader entrypoints using suffixes "_vp_nvsg" and "_fp_nvsg"
00069   // to allow use of the "latest" profile in the generated CgFX shader.
00070   void addEntryPointSuffix( int identifier, const std::string & suffix );
00071
00072   // rebuild and output shader
00073   bool buildShader( std::string & result, const std::string & vsEntry,
00074                                           const std::string & fsEntry );
00075
00076   // could be useful as public
00077   void addMethod( Method & method ) { m_methods.push_back( method ); }
00078   void addStruct( Struct & _struct ) { m_structs.push_back( _struct ); }
00079
00080   // eat leading white
00081   inline void chomp( std::string & str )
00082   {
00083     while( str[0] == '\t' || str[0] == ' ' )
00084     {
00085       str.erase(str.begin());
00086     }
00087   }
00088
00089   inline bool isanyof( char needle, const char * haystack )
00090   {
00091     while( *haystack )
00092     {
00093       if( needle == *haystack++ )
00094       {
00095         return true;
00096       }
00097     }
00098
00099     return false;
00100   }
00101
00102 private:
00103   //
00104   // Parse until token given, skipping comment fields.
00105   //
00106   bool parseUntil( const char * stopchars, const char * sepchars,
00107               char & stopChar,
00108               std::vector< std::string > & tokens,
00109               int & err );
00110
00111   //
00112   // Parse body {} enclosed objects.  Expects to be entered just after the
00113   // first opening '{'.
00114   //
00115   bool parseBody( std::string & body, int & err );
00116
00117   enum ParserState
00118   {
00119     STATE_OUTER,          // outside any struct/method
00120     STATE_STRUCT,         // inside struct
00121     STATE_METHOD_ARGS,  // function args
00122     STATE_METHOD_BODY,  // function body
00123   };
00124
00125   ParserState m_state;
00126   const char * m_curPos;
00127   const char * m_buffer;
00128   int             m_identifier;
00129
00130   std::vector< Method > m_methods;
00131   std::vector< Struct > m_structs;
00132 };
00133
00134 #endif /* _CG_DECOMPOSER_H_ */
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CgFxBuilder.h Source File

src / Loader / DAELoader

CgFxBuilder.h

00001
00002 // Copyright NVIDIA Corporation 2002-2009
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // CgFxBuilder.h
00016 //
00017
00018 #pragma once
00019
00020 #include <string>
00021 #include <vector>
00022 #include "ShaderBuilder.h"
00023
00024 class CgFxBuilder : public ShaderBuilder
00025 {
00026   public:
00027     CgFxBuilder();
00028     ~CgFxBuilder();
00029
00030     std::string buildShader( ShaderState & state, bool optimizeShader );
00031
00032   private:
00033
00034     std::string doBuildShader( const std::string & effectName,
00035                                const std::string & techniqueName,
00036                                LightingType lightingModel,
00037                                bool fragmentLighting,
00038                                bool optimizeShader,
00039                                bool addLibraries,
00040                                int componentMask,
00041                                std::vector< Component > & components );
00042 };
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Alphabetical List

SceniX Class Index

A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | Q | R | S | T | U | V | W

A
Image (nvsg) NBFStateVariant SceneAttribute (nvsg) StatVertexAttributeAnimationDescription (nvtraverser)
Allocator (nvutil) Incarnation (nvutil) NBFStencilAttribute SceneLoader (nvsg) StatVertexAttributeSet (nvtraverser)
AlphaTestAttribute (nvsg) IndependentPrimitiveSet (nvsg) NBFStrippedPrimitiveSet SceneRenderer (nvui) StencilAttribute (nvsg)
AnalyzeResult (nvtraverser) indexList_t NBFSwitch SceneRenderer::StereoViewStateProvider (nvui) str_t
AnalyzeTraverser (nvtraverser) IndexMesh (nvsg) NBFTextureAttribute SceneRendererGL2 (nvgl) StrippedPrimitiveSet (nvsg)
AnimatedTransform (nvsg) IndexSet (nvsg) NBFTextureAttributeItem SceneSaver (nvsg) StrippingTraverser (nvtraverser)
AnimatedVertexAttributeSet (nvsg) IndexSet::ConstIterator (nvsg) NBFTrafoAnimation SceniXIterator (nvutil) StrTokenizer (nvutil)
Animation (nvsg) indexSet_t NBFTransform SearchTraverser (nvtraverser) Subject (nvutil)
AnimationDescription (nvsg) Intersection (nvtraverser) NBFTriPatches ShaderLoader (nvsg) Switch (nvsg)
AnimationObjectCode< unsigned int > (nvsg)
K
NBFTriPatches4 Shape (nvsg) switchMask_t
AnimationState (nvsg) KeyFramedAnimationDescription (nvsg) NBFUnlitColorAttribute SharedModelViewTraverser (nvtraverser) SWMRSync (nvutil)
AppTraverser (nvtraverser) keyVariant_t NBFVertexAttributeAnimation SharedTraverser (nvtraverser) SWMRSyncImpl (nvutil)
AutoLock (nvutil)
L
NBFVertexAttributeSet ShareGroupGL::Key (nvgl)
T
B
Lanczos3Filter (nvsg) NBFViewState ShareGroupGLResourceHolder (nvgl) TempLocale (nvutil)
BackLinkObserver (nvutil) LightingAttribute (nvsg) Node (nvsg) ShareGroupGLTask (nvgl) texBinding_t
BellFilter (nvsg) LightSource (nvsg) NormalizeTraverser (nvtraverser) ShortStrippedResult (nvtraverser) texCoordSet_t
BezierCurve (nvmath) LinearInterpolatedAnimationDescription (nvsg) NullNormalsResult (nvtraverser) SingleChildResult (nvtraverser) texImage_t
BezierExtrapolationTraverser (nvtraverser) LinearInterpolatedAnimationDescriptionObjectCode< nvmath::Trafo > (nvsg) NVSGException (nvsg) Singleton (nvutil) Texture (nvsg)
BezierInterpolationTraverser (nvtraverser) LineAttribute (nvsg) NVSGLight Skin (nvsg) texture_t
BezierRect (nvmath) Lines (nvsg) NVSGLoader skin_t TextureAttribute (nvsg)
BezierTriangle (nvmath) LineStrips (nvsg) NVSGMaterial SmartPtr (nvutil) TextureAttributeItem (nvsg)
Billboard (nvsg) LinkGroupToCameraAsTargetCallback (nvtraverser) NVSGSaver SmoothTraverser (nvtraverser) TextureAttributeItemData (nvsg)
Bit (nvutil) LinkGroupToCameraCallback (nvtraverser) NVSGSaveTraverser Spherent (nvmath) TextureGL (nvgl)
BlendAttribute (nvsg) LinkGroupToLightSourceCallback (nvtraverser) NVSGScene SpotLight (nvsg) TextureGL1D (nvgl)
bone_t LinkGroupToSpotLightAsTargetCallback (nvtraverser) NVSGTexImageFmt (nvgl) sstr_t TextureGL1DArray (nvgl)
BoxFilter (nvsg) LinkTransformToCameraAsPositionAndRollCallback (nvtraverser)
O
StatAlphaTestAttribute (nvtraverser) TextureGL2D (nvgl)
Boxnt (nvmath) LinkTransformToSpotLightAsPositionCallback (nvtraverser) Object (nvsg) StatAnimatedTransform (nvtraverser) TextureGL2DArray (nvgl)
BSplineFilter (nvsg) LOD (nvsg) ObjectTraits (nvutil) StatAnimatedVertexAttributeSet (nvtraverser) TextureGL2DMultisample (nvgl)
Buffer (nvsg) LODLessThan (nvsg) OBJSaver StatAnimationState (nvtraverser) TextureGL2DMultisampleArray (nvgl)
Buffer::DataReadLock (nvsg) Log (nvutil) Observer (nvutil) StatBillboard (nvtraverser) TextureGL3D (nvgl)
Buffer::DataWriteLock (nvsg) LogListCompare (nvutil) OptimizeTraverser (nvtraverser) StatBlendAttribute (nvtraverser) TextureGLBuffer (nvgl)
BufferGL (nvgl)
M
OwnedObject (nvsg) StatCamera (nvtraverser) TextureGLCubemap (nvgl)
BufferHost (nvsg) Map (nvsg)
P
StatCgFx (nvtraverser) TextureGLCubemapArray (nvgl)
byteArray_t MapArray (nvsg) ParallelCamera (nvsg) StatDepthAttribute (nvtraverser) TextureGLRectangle (nvgl)
C
MapElement (nvsg) parameter_t StatDirectedLight (nvtraverser) TextureHost (nvsg)
Callback (nvsg) MapList (nvsg) PatchesBase (nvsg) StatDrawable (nvtraverser) TextureLoader (nvsg)
Camera (nvsg) MapMatrix (nvsg) Path (nvsg) StateAttribute (nvsg) TextureSaver (nvsg)
CgFx (nvsg) MapObject (nvsg) PerspectiveCamera (nvsg) StatePass (nvsg) Timer (nvutil)
CgFxContext (nvsg) Material (nvsg) plane_t StateSet (nvsg) Trace (nvutil)
CgFxEffect (nvsg) Matnnt (nvmath) Planent (nvmath) StateVariant (nvsg) traceConsoleDebugOutput (nvutil)
Chunk (nvutil) MatrixCamera (nvsg) PlugIn (nvutil) StatFaceAttribute (nvtraverser) traceConsoleOutput (nvutil)
ClipPlane (nvsg) MemFunTbl (nvutil) PlugInCallback (nvutil) StatFlipbookAnimation (nvtraverser) traceDebugOutput (nvutil)
ClipPlanesElement (nvtraverser) MeshedPrimitiveSet (nvsg) PlugInCallback::DegenerateGeometryInfo (nvutil) StatFramedIndexAnimationDescription (nvtraverser) traceFileConsoleOutput (nvutil)
CloneObject (nvutil) meshSet_t PlugInCallback::EmptyTokenInfo (nvutil) StatFramedTrafoAnimationDescription (nvtraverser) traceFileDebugOutput (nvutil)
CombinableResult (nvtraverser) MissingResult (nvtraverser) PlugInCallback::FileAccessFailedInfo (nvutil) StatFramedVertexAttributeAnimationDescription (nvtraverser) traceFileOutput (nvutil)
CombineTraverser (nvtraverser)
N
PlugInCallback::FileMappingFailedInfo (nvutil) StatFrustumCamera (nvtraverser) TraceFunctor (nvutil)
Conversion (nvutil) NBFAlphaTestAttribute PlugInCallback::IncompatibleFileInfo (nvutil) StatGeoNode (nvtraverser) Trackball (nvutil)
Conversion< T, T > (nvutil) NBFAnimatedTransform PlugInCallback::IncompatibleValueInfo (nvutil) StatGroup (nvtraverser) Trafo (nvmath)
ConvertPrimitivesTraverser (nvtraverser) NBFAnimatedVertexAttributeSet PlugInCallback::InvalidFileInfo (nvutil) StatIndexAnimation (nvtraverser) trafo_t
CPUSkinningProcessor (nvtraverser) NBFAnimation PlugInCallback::InvalidValueInfo (nvutil) StatIndexAnimationDescription (nvtraverser) Transform (nvsg)
D
NBFAnimationDescription PlugInCallback::UndefinedTokenInfo (nvutil) Statistics (nvtraverser) TransformStack (nvutil)
DALData (nvsg) NBFAnimationState PlugInCallback::UnexpectedTokenInfo (nvutil) StatisticsBase (nvtraverser) Traverser (nvtraverser)
DALDataCreator (nvsg) NBFBillboard PlugInCallback::UnknownTokenInfo (nvutil) StatisticsTraverser (nvtraverser) TriangleFilter (nvsg)
DALHost (nvsg) NBFBlendAttribute PlugInCallback::UnsupportedTokenInfo (nvutil) StatKeyFramedTrafoAnimationDescription (nvtraverser) Triangles (nvsg)
DeindexTraverser (nvtraverser) NBFCamera PlugInServer (nvutil) StatKeyFramedVertexAttributeAnimationDescription (nvtraverser) TriangulateTraverser (nvtraverser)
DenormalizedNormalsResult (nvtraverser) NBFCgFx PLYLoader StatLightingAttribute (nvtraverser) TriFans (nvsg)
DepthAttribute (nvsg) NBFDepthAttribute PointAttribute (nvsg) StatLightSource (nvtraverser) TriPatches (nvsg)
DestrippingTraverser (nvtraverser) NBFDirectedLight PointLight (nvsg) StatLinearInterpolatedTrafoAnimationDescription (nvtraverser) TriPatches4 (nvsg)
DirectedLight (nvsg) NBFDrawable Points (nvsg) StatLinearInterpolatedVertexAttributeAnimationDescription (nvtraverser) TriStrips (nvsg)
domain_t NBFFaceAttribute PostBuildTraverser StatLineAttribute (nvtraverser) tweak_t
Drawable (nvsg) NBFFlipbookAnimation Primitive (nvsg) StatLines (nvtraverser) Type2EnumType (nvsg)
DrawCallback (nvsg) NBFFramedAnimationDescription PrimitiveAttribute (nvsg) StatLineStrips (nvtraverser) TypedProperty (nvutil)
E
NBFFramedIndexAnimationDescription PrimitiveSet (nvsg) StatLOD (nvtraverser) TypedPropertyEnum< bool > (nvutil)
EliminateTraverser (nvtraverser) NBFFramedTrafoAnimationDescription ProblemInfo (nvutil) StatMapArray (nvtraverser) TypedPropertyEnum< float > (nvutil)
EmptyResult (nvtraverser) NBFFramedVertexAttributeAnimationDescription ProblemLog (nvutil) StatMapElement (nvtraverser) TypedPropertyEnum< int > (nvutil)
EquivalenceResult (nvtraverser) NBFFrustumCamera Profile (nvutil) StatMapList (nvtraverser) TypedPropertyEnum< nvmath::Box2f > (nvutil)
ExclusiveModelViewTraverser (nvtraverser) NBFGeoNode Property (nvutil) StatMapMatrix (nvtraverser) TypedPropertyEnum< nvmath::Box3f > (nvutil)
ExclusiveTraverser (nvtraverser) NBFGroup PropertyList (nvutil) StatMapObject (nvtraverser) TypedPropertyEnum< nvmath::Box4f > (nvutil)
ExtractGeometryTraverser NBFHeader PropertyListChain (nvutil) StatMaterial (nvtraverser) TypedPropertyEnum< nvmath::Mat33f > (nvutil)
F
NBFIndependentPrimitiveSet PropertyListImpl (nvutil) StatMatrixCamera (nvtraverser) TypedPropertyEnum< nvmath::Mat44f > (nvutil)
Face (nvsg) NBFIndexAnimation
Q
StatMeshedPrimitiveSet (nvtraverser) TypedPropertyEnum< nvmath::Quatf > (nvutil)
FaceAttribute (nvsg) NBFKeyFramedAnimationDescription QuadMeshes (nvsg) StatNode (nvtraverser) TypedPropertyEnum< nvmath::Trafo > (nvutil)
FaceConnections (nvsg) NBFKeyFramedTrafoAnimationDescription QuadPatches (nvsg) StatObject (nvtraverser) TypedPropertyEnum< nvmath::Vec2f > (nvutil)
FileMapping (nvutil) NBFKeyFramedVertexAttributeAnimationDescription QuadPatches4x4 (nvsg) StatParallelCamera (nvtraverser) TypedPropertyEnum< nvmath::Vec2i > (nvutil)
FixedAllocator (nvutil) NBFLightingAttribute Quads (nvsg) StatPatches (nvtraverser) TypedPropertyEnum< nvmath::Vec2ui > (nvutil)
FlipbookAnimation (nvsg) NBFLightSource QuadStrips (nvsg) StatPatchesBase (nvtraverser) TypedPropertyEnum< nvmath::Vec3f > (nvutil)
FramedAnimationDescription (nvsg) NBFLinearInterpolatedTrafoAnimationDescription Quatt (nvmath) StatPerspectiveCamera (nvtraverser) TypedPropertyEnum< nvmath::Vec3i > (nvutil)
FrustumCamera (nvsg) NBFLinearInterpolatedVertexAttributeAnimationDescription
R
StatPointAttribute (nvtraverser) TypedPropertyEnum< nvmath::Vec3ui > (nvutil)
FunctorGet (nvutil) NBFLineAttribute RayIntersectTraverser (nvtraverser) StatPointLight (nvtraverser) TypedPropertyEnum< nvmath::Vec4f > (nvutil)
FunctorGetEnum (nvutil) NBFLink RCObject (nvutil) StatPoints (nvtraverser) TypedPropertyEnum< nvmath::Vec4i > (nvutil)
FunctorGetInvalid (nvutil) NBFLoader RCVector (nvutil) StatPrimitive (nvtraverser) TypedPropertyEnum< nvmath::Vec4ui > (nvutil)
FunctorGetMember (nvutil) NBFLOD ReadMapping (nvutil) StatPrimitiveSet (nvtraverser) TypedPropertyEnum< nvsg::SceneSharedPtr > (nvutil)
FunctorSet (nvutil) NBFMaterial RectPatches (nvsg) StatQuadMeshes (nvtraverser) TypedPropertyEnum< nvsg::VertexAttribute > (nvutil)
FunctorSetEnum (nvutil) NBFMatrixCamera RedundantIndexSetResult (nvtraverser) StatQuadPatches (nvtraverser) TypedPropertyEnum< nvsg::ViewStateSharedPtr > (nvutil)
FunctorSetInvalid (nvutil) NBFMeshedPrimitiveSet RedundantLODRangesResult (nvtraverser) StatQuadPatches4x4 (nvtraverser) TypedPropertyEnum< nvui::SmartRenderTarget > (nvutil)
FunctorSetMember (nvutil) NBFNode Reflection (nvutil) StatQuads (nvtraverser) TypedPropertyEnum< Reflection > (nvutil)
G
NBFObject ReflectionInfo (nvutil) StatQuadStrips (nvtraverser) TypedPropertyEnum< std::set< unsigned int > > (nvutil)
geometrySet_t NBFParallelCamera ReflectionStorage (nvutil) StatRectPatches (nvtraverser) TypedPropertyEnum< std::string > (nvutil)
GeoNode (nvsg) NBFPatchesBase RegVal (nvutil) StatRTFx (nvtraverser) TypedPropertyEnum< unsigned int > (nvutil)
GeoNode::Geometry (nvsg) NBFPerspectiveCamera RenderbufferGL (nvgl) StatRTFxProgram (nvtraverser) TypedPropertyImpl (nvutil)
GeoNode::StateSetConstIterator (nvsg) NBFPointAttribute RenderContextGL (nvgl) StatShape (nvtraverser) TypedPropertyImplEnum (nvutil)
GeoNode::StateSetIterator (nvsg) NBFPointLight RenderContextGL::NativeContext (nvgl) StatSkin (nvtraverser) TypedPropertyValue (nvutil)
GLContext (nvgl) NBFPrimitive Renderer (nvui) StatSpotLight (nvtraverser) TypeTraits< ValueType, const_reference > (nvutil)
GLFunctions (nvgl) NBFPrimitiveSet RendererGLFSQ (nvgl) StatStateAttribute (nvtraverser) TypeTraits< ValueType, value > (nvutil)
GLObjects (nvgl) NBFQuadPatches RendererOptions (nvui) StatStatePass (nvtraverser)
U
GLTexImageFmt (nvgl) NBFQuadPatches4x4 RendererOptionsProvider (nvui) StatStateSet (nvtraverser) UnifyTraverser (nvtraverser)
GLUploadTraverser (nvtraverser) NBFRectPatches RenderTarget (nvui) StatStateVariant (nvtraverser) UnlitColorAttribute (nvsg)
GPUSkinningProcessor (nvtraverser) NBFRTBufferAttribute RenderTargetGL (nvgl) StatStrippedPrimitiveSet (nvtraverser) UnusedVerticesResult (nvtraverser)
Group (nvsg) NBFRTFx RenderTargetGLFB (nvgl) StatSwitch (nvtraverser) UPIID (nvutil)
H
NBFRTFxBase RenderTargetGLFBO (nvgl) StatTexture (nvtraverser) UPITID (nvutil)
Handle (nvutil) NBFRTFxParameter RenderTargetGLFBO::Attachment (nvgl) StatTextureAttribute (nvtraverser)
V
Handle< T, Handle< U, V > > (nvutil) NBFRTFxProgram RenderTargetGLFBO::AttachmentRenderbuffer (nvgl) StatTextureAttributeItem (nvtraverser) Validated (nvutil)
Handle< T, NullType > (nvutil) NBFSaver RenderTargetGLFBO::AttachmentTexture (nvgl) StatTrafoAnimation (nvtraverser) Vecnt (nvmath)
HashGenerator (nvutil) NBFSaveTraverser RTBufferAttribute (nvsg) StatTrafoAnimationDescription (nvtraverser) vertexAttrib_t
HashGeneratorMD5 (nvutil) NBFScene RTFx (nvsg) StatTransform (nvtraverser) VertexAttribute (nvsg)
I
NBFSkin RTFxBase (nvsg) StatTriangles (nvtraverser) VertexAttributeSet (nvsg)
IAllocator (nvutil) NBFSkinnedTriangles RTFxSceneAttribute (nvsg) StatTriFans (nvtraverser) ViewState (nvsg)
IdentityResult (nvtraverser) NBFSpotLight
S
StatTriPatches (nvtraverser)
W
IdentityToGroupTraverser (nvtraverser) NBFStateAttribute sampler_t StatTriPatches4 (nvtraverser) WriteMapping (nvutil)
ILTexLoader NBFStatePass ScaleFilter (nvsg) StatTriStrips (nvtraverser) WRLLoader
ILTexSaver NBFStateSet Scene (nvsg) StatVertexAttributeAnimation (nvtraverser) WRLLoadTraverser

A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | Q | R | S | T | U | V | W

Generated on Fri Jul 13 13:28:46 2012 for SceniX


SceniX: Member List

TextureGL Member List

This is the complete list of members for TextureGL, including all inherited members.

bind() | TextureGL |
create(const nvsg::TextureHostSharedPtr &smTexImage) | TextureGL | [static]
feedHashGenerator(nvutil::HashGenerator &hg) const | TextureGL | [inline, protected, virtual]
generateMipMap() | TextureGL |
getBindingTarget() const | TextureGL | [inline]
getBorder() const | TextureGL | [inline]
getClientDataFormat() const | TextureGL | [inline]
getClientDataType() const | TextureGL | [inline]
getCompressedSize(GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [static]
getGLId() const | TextureGL | [inline]
getHashKey() const | Texture | [inline]
getInternalFormat() const | TextureGL | [inline]
getMaximumSize(GLenum target) | TextureGL | [inline, static]
getMaxLevel() const | TextureGL | [inline]
getMipMapSize(GLsizei sz, GLuint level) | TextureGL | [inline, static]
getTarget() const | TextureGL | [inline]
getTextureTarget() const (defined in Texture) | Texture | [inline]
hasLayers(GLenum target) | TextureGL | [static]
init(GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border, GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget=nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET) | TextureGL | [protected]
invalidateHashKey() | Texture | [inline, protected]
isCompressedFormat(GLenum format) | TextureGL | [static]
isCompressedSizeKnown(GLenum format) | TextureGL | [static]
isEquivalent(const Texture *p, bool deepCompare) const | TextureGL | [inline, virtual]
isHashKeyValid() const (defined in Texture) | Texture | [inline, protected]
isIntegerInternalFormat(GLenum format) | TextureGL | [static]
isMipMapComplete() const | TextureGL | [inline]
isMipMapLevelDefined(GLuint level) const | TextureGL | [inline]
isMipMapLevelValid(GLuint level) const | TextureGL | [inline]
m_bindingStack | TextureGL | [protected]
m_bindingTarget | TextureGL | [protected]
m_border | TextureGL | [protected]
m_clientDataFormat | TextureGL | [protected]
m_clientDataType | TextureGL | [protected]
m_definedLevels | TextureGL | [protected]
m_id | TextureGL | [protected]
m_internalFormat | TextureGL | [protected]
m_maxLevel | TextureGL | [protected]
m_shareGroupGL | TextureGL | [protected]
m_target | TextureGL | [protected]
m_textureTarget (defined in Texture) | Texture | [protected]
sizeValid(GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers=0) | TextureGL | [inline, static]
Texture() (defined in Texture) | Texture | [inline]
TextureGL() | TextureGL | [protected]
unbind() | TextureGL |
~Texture() (defined in Texture) | Texture | [inline, virtual]
~TextureGL() (defined in TextureGL) | TextureGL | [protected, virtual]

Generated on Fri Jul 13 13:29:41 2012 for SceniX


SceniX: Member List

QuadPatches Member List

This is the complete list of members for QuadPatches, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | QuadPatches | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | QuadPatches | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in QuadPatches) | QuadPatches | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | QuadPatches | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | PatchesBase | [inline, virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPatches() const | PatchesBase | [inline]
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSize() const | QuadPatches | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasPatches() const | PatchesBase | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PatchesBase | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const QuadPatches &rhs) | QuadPatches |
nvsg::PatchesBase::operator=(const PatchesBase &rhs) | PatchesBase | [protected]
nvsg::Primitive::operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PatchesBase() | PatchesBase | [protected]
PatchesBase(const PatchesBase &rhs) | PatchesBase | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
QuadPatches() | QuadPatches | [protected]
QuadPatches(const QuadPatches &rhs) | QuadPatches | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, QuadPatches) (defined in QuadPatches) | QuadPatches |
REFLECTION_INFO_API(NVSG_API, PatchesBase) (defined in PatchesBase) | PatchesBase |
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int verticesPerPatch) | PatchesBase | [inline, protected]
setPrimitiveType(PrimitiveType t) | Primitive |
setSize(unsigned int size) | QuadPatches | [inline]
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PatchesBase() | PatchesBase | [virtual]
~Primitive() | Primitive | [protected, virtual]
~QuadPatches() | QuadPatches | [protected, virtual]

Generated on Fri Jul 13 13:30:18 2012 for SceniX


SceniX: Member List

TriPatches Member List

This is the complete list of members for TriPatches, including all inherited members.

addAppTraverserCallback(Callback *cb) | Object |
addHints(unsigned int hints) (defined in Object) | Object | [inline]
addOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
beginAppTraverserCallbacks() const | Object | [inline]
beginAppTraverserCallbacks() | Object | [inline]
calculateBoundingBox() const | Primitive | [protected, virtual]
calculateBoundingSphere() const | Primitive | [protected, virtual]
calculateNormals(bool overwrite) | TriPatches | [protected, virtual]
calculateTangentSpace(unsigned int texcoords, unsigned int tangents, unsigned int binormals, bool overwrite) | TriPatches | [protected, virtual]
calculateTexCoords(TextureCoordType type, unsigned int texcoords, bool overwrite) | Primitive | [protected, virtual]
CallbackConstIterator typedef | Object |
CallbackContainer typedef | Object |
CallbackIterator typedef | Object |
clearAppTraverserCallbacks() | Object | [inline]
containsAnimation() const (defined in Object) | Object |
containsHints(unsigned int which) const (defined in Object) | Object |
containsLight() const (defined in Object) | Object |
containsLOD() const (defined in Object) | Object |
containsShader() const (defined in Object) | Object |
containsTransparency() const (defined in Object) | Object |
create() (defined in TriPatches) | TriPatches | [static]
DECLARE_STATIC_PROPERTY(Name) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Annotation) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(Hints) (defined in Object) | Object |
DECLARE_STATIC_PROPERTY(TraversalMask) (defined in Object) | Object |
determineAnimationContainment() const (defined in Primitive) | Primitive | [protected, virtual]
determineHintsContainment(unsigned int which) const (defined in Object) | Object | [protected, virtual]
determineLightContainment() const (defined in Object) | Object | [protected, virtual]
determineLODContainment() const (defined in Object) | Object | [protected, virtual]
determinePrimitiveAndFaceCount() const (defined in Primitive) | Primitive | [protected]
determineShaderContainment() const (defined in Object) | Object | [protected, virtual]
determineTransparencyContainment() const (defined in Object) | Object | [protected, virtual]
DRAW_ARRAYS enum value (defined in Primitive) | Primitive |
DRAW_INDEXED enum value (defined in Primitive) | Primitive |
DRAW_INSTANCED enum value (defined in Primitive) | Primitive |
Drawable() | Drawable | [protected]
Drawable(const Drawable &) | Drawable | [protected]
endAppTraverserCallbacks() const | Object | [inline]
endAppTraverserCallbacks() | Object | [inline]
feedHashGenerator(nvutil::HashGenerator &hg) const | TriPatches | [protected, virtual]
findAppTraverserCallback(const Callback *cb) const (defined in Object) | Object | [inline]
findAppTraverserCallback(const Callback *cb) (defined in Object) | Object | [inline]
generateNormals(bool overwrite=true) | Drawable |
generateTangentSpace(unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, unsigned int tangents=VertexAttributeSet::NVSG_TANGENT, unsigned int binormals=VertexAttributeSet::NVSG_BINORMAL, bool overwrite=true) | Drawable |
generateTexCoords(TextureCoordType type, unsigned int texcoords=VertexAttributeSet::NVSG_TEXCOORD0, bool overwrite=true) | Drawable |
getAnnotation() const | Object |
getBoundingBox(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingBox() const (defined in Object) | Object |
getBoundingSphere(bool recalculate) const (defined in Drawable) | Drawable | [protected, virtual]
getBoundingSphere() const (defined in Object) | Object |
getBoundingVolumeIncarnation() const (defined in Object) | Object |
getContainedHints(unsigned int which) const (defined in Object) | Object |
getDALHost() const (defined in Object) | Object |
getDataID() const | Object | [virtual]
getDrawCallback() const | Drawable | [inline]
getElementCount() const | Primitive |
getElementOffset() const | Primitive | [inline]
getElementRange(unsigned int &offset, unsigned int &count) const | Primitive | [inline]
getHashKey() const | Object |
getHigherLevelObjectCode(unsigned int oc) const | PatchesBase | [inline, virtual]
getHints() const (defined in Object) | Object | [inline]
getHints(unsigned int mask) const (defined in Object) | Object | [inline]
getHintsIncarnation() const (defined in Object) | Object |
getIncarnation() const (defined in Object) | Object |
getIndexSet() const | Primitive | [inline]
getIndexSetIncarnation() const (defined in Object) | Object |
getInstanceCount() const (defined in Primitive) | Primitive | [inline]
getMaterialIncarnation() const (defined in Object) | Object |
getMaxElementCount() const | Primitive |
getName() const | Object |
getNumberOfAppTraverserCallbacks() const (defined in Object) | Object | [inline]
getNumberOfFaces() const | Primitive | [inline]
getNumberOfOwners() const | OwnedObject< Object > |
getNumberOfPatches() const | PatchesBase | [inline]
getNumberOfPrimitiveRestarts() const | Primitive | [protected]
getNumberOfPrimitives() const | Primitive | [inline]
getNumberOfVerticesPerPatch() const (defined in Primitive) | Primitive | [inline]
getNumberOfVerticesPerPrimitive() const | Primitive | [inline]
getObjectCode() const | Object | [inline]
getOwner(OwnerIterator) const | OwnedObject< Object > |
getPrimitiveIncarnation() const (defined in Object) | Object |
getPrimitiveType() const (defined in Primitive) | Primitive | [inline]
getRenderFlags() const | Primitive | [inline]
getSize() const | TriPatches | [inline]
getSkin() const | Primitive | [inline]
getSwitchIncarnation() const (defined in Object) | Object |
getTraversalMask() const (defined in Object) | Object | [inline]
getTreeIncarnation() const (defined in Object) | Object |
getUserData() const | Object | [inline]
getVertexAttributeSet() const | Primitive | [inline]
getVertexAttributeSetIncarnation() const (defined in Object) | Object |
hasPatches() const | PatchesBase | [inline]
incrementHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementSwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
incrementVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
isDataShared() const | Object | [virtual]
isEquivalent(const Object *p, bool ignoreNames, bool deepCompare) const | PatchesBase | [virtual]
isIndexed() const | Primitive | [inline]
m_flags (defined in Object) | Object | [mutable, protected]
m_hashKey (defined in Object) | Object | [mutable, protected]
m_objectCode | Object | [protected]
makeIndexed() | Primitive |
notify(const Subject *originator, unsigned int state) const (defined in Primitive) | Primitive | [inline, virtual]
notify(nvutil::PropertyId propertyId) const (defined in OwnedObject< Object >) | OwnedObject< Object > | [virtual]
notifyChange(const Subject *originator, unsigned int state=0) const (defined in Object) | Object | [virtual]
NVSG_BOUNDING_BOX enum value (defined in Object) | Object |
NVSG_BOUNDING_SPHERE enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUME_INCARNATION enum value (defined in Object) | Object |
NVSG_BOUNDING_VOLUMES enum value (defined in Object) | Object |
NVSG_CONTAINS_ANIMATION enum value (defined in Object) | Object |
NVSG_CONTAINS_LIGHT enum value (defined in Object) | Object |
NVSG_CONTAINS_LOD enum value (defined in Object) | Object |
NVSG_CONTAINS_MASK enum value (defined in Object) | Object |
NVSG_CONTAINS_SHADER enum value (defined in Object) | Object |
NVSG_CONTAINS_TRANSPARENCY enum value (defined in Object) | Object |
NVSG_HASH_KEY enum value (defined in Object) | Object |
NVSG_HINT_ALL_HINTS enum value | Object |
NVSG_HINT_ALWAYS_INVISIBLE enum value | Object |
NVSG_HINT_ALWAYS_VISIBLE enum value | Object |
NVSG_HINT_DONT_CLIP enum value | Object |
NVSG_HINT_DYNAMIC enum value | Object |
NVSG_HINT_HIGH_QUALITY_ACCELERATION_BUILDER enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFLECTIONS enum value | Object |
NVSG_HINT_INVISIBLE_TO_REFRACTIONS enum value | Object |
NVSG_HINT_LAST_HINT enum value (defined in Object) | Object |
NVSG_HINT_NO_SHADOW_CASTER enum value | Object |
NVSG_HINT_NO_SHADOW_RECEIVER enum value | Object |
NVSG_HINT_OVERLAY enum value | Object |
NVSG_HINT_VISIBILITY_MASK enum value (defined in Object) | Object |
NVSG_INCARNATION enum value (defined in Object) | Object |
NVSG_INDEXSET_INCARNATION enum value (defined in Object) | Object |
NVSG_MATERIAL_INCARNATION enum value (defined in Object) | Object |
NVSG_PRIMITIVE_INCARNATION enum value (defined in Object) | Object |
NVSG_SWITCH_INCARNATION enum value (defined in Object) | Object |
NVSG_TREE_INCARNATION enum value (defined in Object) | Object |
NVSG_VAS_INCARNATION enum value (defined in Object) | Object |
Object() | Object |
Object(const Object &rhs) | Object |
operator=(const TriPatches &rhs) | TriPatches |
nvsg::PatchesBase::operator=(const PatchesBase &rhs) | PatchesBase | [protected]
nvsg::Primitive::operator=(const Primitive &rhs) | Primitive |
nvsg::Drawable::operator=(const Drawable &rhs) | Drawable | [protected]
nvsg::OwnedObject< Object >::operator=(const OwnedObject< Object > &rhs) | OwnedObject< Object > |
nvsg::Object::operator=(const Object &rhs) | Object | [protected]
OwnedObject() | OwnedObject< Object > | [protected]
OwnedObject(const Object &rhs) | OwnedObject< Object > | [protected]
OwnedObject(const OwnedObject< Object > &rhs) | OwnedObject< Object > | [protected]
OwnerContainer typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
OwnerIterator typedef (defined in OwnedObject< Object >) | OwnedObject< Object > |
ownersBegin() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
ownersEnd() const (defined in OwnedObject< Object >) | OwnedObject< Object > | [inline]
PatchesBase() | PatchesBase | [protected]
PatchesBase(const PatchesBase &rhs) | PatchesBase | [protected]
PFNGETINCARNATION typedef (defined in Object) | Object | [protected]
Primitive() | Primitive | [protected]
Primitive(const Primitive &rhs) | Primitive | [protected]
queryHintsIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryIndexSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryMaterialIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryPrimitiveIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
querySwitchIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
queryVertexAttributeSetIncarnation() const (defined in Object) | Object | [inline, protected, virtual]
REFLECTION_INFO_API(NVSG_API, TriPatches) (defined in TriPatches) | TriPatches |
REFLECTION_INFO_API(NVSG_API, PatchesBase) (defined in PatchesBase) | PatchesBase |
REFLECTION_INFO_API(NVSG_API, Primitive) (defined in Primitive) | Primitive |
REFLECTION_INFO_API(NVSG_API, Drawable) (defined in Drawable) | Drawable |
REFLECTION_INFO_API(NVSG_API, Object) (defined in Object) | Object |
releaseDALData() (defined in Object) | Object |
removeAppTraverserCallback(const Callback *cb) | Object |
removeAppTraverserCallback(const CallbackIterator &ci) | Object | [inline]
removeHints(unsigned int hints) (defined in Object) | Object | [inline]
removeOwner(Object *owner) (defined in OwnedObject< Object >) | OwnedObject< Object > | [protected]
setAnnotation(const std::string &anno) | Object |
setDrawCallback(DrawCallback *cb) | Drawable | [inline, virtual]
setElementRange(unsigned int offset, unsigned int count) | Primitive |
setHints(unsigned int hints) (defined in Object) | Object | [inline]
setIndexSet(const IndexSetSharedPtr &iset) | Primitive |
setInstanceCount(unsigned int icount) | Primitive |
setName(const std::string &name) | Object |
setNumberOfVerticesPerPatch(unsigned int verticesPerPatch) | PatchesBase | [inline, protected]
setPrimitiveType(PrimitiveType t) | Primitive |
setSize(unsigned int size) | TriPatches | [inline]
setSkin(const SkinSharedPtr &skin) | Primitive |
setTraversalMask(unsigned int mask) | Object | [inline]
setUserData(const void *userData) | Object | [inline]
setVertexAttributeSet(const VertexAttributeSetSharedPtr &vash) | Primitive |
syncIncarnation(PFNGETINCARNATION) const (defined in Primitive) | Primitive | [protected, virtual]
TriPatches() | TriPatches | [protected]
TriPatches(const TriPatches &rhs) | TriPatches | [protected]
~Drawable(void) | Drawable | [virtual]
~Object() | Object | [virtual]
~OwnedObject() | OwnedObject< Object > | [protected]
~PatchesBase() | PatchesBase | [virtual]
~Primitive() | Primitive | [protected, virtual]
~TriPatches() | TriPatches | [protected, virtual]

Generated on Fri Jul 13 13:30:32 2012 for SceniX


SceniX: Member List

StatQuadPatches Member List

This is the complete list of members for StatQuadPatches, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:54 2012 for SceniX


SceniX: Member List

StatTriPatches Member List

This is the complete list of members for StatTriPatches, including all inherited members.

firstEncounter(const void *p) | StatisticsBase |
m_count | StatisticsBase |
m_numberOfPatches | StatPatchesBase |
m_objects | StatisticsBase |
m_referenced | StatisticsBase |
StatisticsBase() (defined in StatisticsBase) | StatisticsBase | [inline]
StatPatchesBase() (defined in StatPatchesBase) | StatPatchesBase | [inline]

Generated on Fri Jul 13 13:30:55 2012 for SceniX


SceniX: ClipPlanesElement.h Source File

inc / nvsg / nvtraverser

ClipPlanesElement.h

00001 // Copyright NVIDIA Corporation 2002-2006
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvtraverser/BaseRenderElement.h"
00015 #include "nvtraverser/RenderElementPool.h"
00016 #include "nvutil/RCObject.h"
00017 #include "nvsg/Group.h"
00018 #include "nvmath/Matnnt.h"
00019 #include <vector>
00020
00021 namespace nvtraverser
00022 {
00027   class ClipPlanesElement : public BaseRenderElement
00028   {
00029     public:
00033       NVSG_API ClipPlanesElement();
00034
00044       NVSG_API ClipPlanesElement( const nvsg::GroupSharedPtr & group, const nvmath::Mat44f & modelToWorld
00045                                 , const ClipPlanesElement &rhs );
00046
00053       NVSG_API const nvmath::Plane3f & getClipPlane( unsigned int index ) const;
00054
00059       NVSG_API const nvsg::GroupWeakPtr & getGroup() const;
00060
00068       NVSG_API const nvmath::Mat44f & getModelToWorld( unsigned int index ) const;
00069
00075       NVSG_API unsigned int getNumberOfClipPlanes() const;
00076
00077     private:
00078       nvsg::GroupWeakPtr            m_group;
00079       std::vector<nvmath::Plane3f>  m_clipPlanes;
00080       std::vector<nvmath::Mat44f>   m_modelToWorld;
00081   };
00082
00083   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00084   // non-member functions
00085   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00090   inline ClipPlanesElement * createClipPlanesElement( RenderElementPool * pool )
00091   {
00092     return( constructRenderElement<ClipPlanesElement>( pool ) );
00093   }
00094
00103   inline ClipPlanesElement * createClipPlanesElement( RenderElementPool * pool
00104                                                     , const nvsg::GroupSharedPtr & group
00105                                                     , const nvmath::Mat44f & modelToWorld
00106                                                     , const ClipPlanesElement & rhs )
00107   {
00108     return( constructRenderElement<ClipPlanesElement,const nvsg::GroupSharedPtr &, const nvmath::Mat44f &
00109                                   , const ClipPlanesElement &>( pool, group, modelToWorld, rhs ) );
00110   }
00111
00112   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00113   // inlines
00114   // - - - - -  - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00115   inline ClipPlanesElement::ClipPlanesElement()
00116     : m_group(NULL)
00117   {
00118   }
00119
00120   inline ClipPlanesElement::ClipPlanesElement( const nvsg::GroupSharedPtr & group
00121                                              , const nvmath::Mat44f & modelToWorld
00122                                              , const ClipPlanesElement &rhs )
00123     : BaseRenderElement(rhs)
00124     , m_clipPlanes(rhs.m_clipPlanes)
00125     , m_modelToWorld(rhs.m_modelToWorld)
00126     , m_group(group.get())
00127   {
00128     NVSG_ASSERT(m_group);
00129     GroupReadLock g(group);
00130     for ( unsigned int i=0 ; i<g->getNumberOfClipPlanes() ; i++ )
00131     {
00132       if ( g->isClipPlaneActive(i) )
00133       {
00134         m_clipPlanes.push_back( g->getClipPlane(i) );
00135         m_modelToWorld.push_back( modelToWorld );
00136       }
00137     }
00138   }
00139
00140   inline const nvmath::Plane3f & ClipPlanesElement::getClipPlane( unsigned int index ) const
00141   {
00142     NVSG_ASSERT( index < m_clipPlanes.size() );
00143     return( m_clipPlanes[index] );
00144   }
00145
00146   inline const nvsg::GroupWeakPtr & ClipPlanesElement::getGroup() const
00147   {
00148     return( m_group );
00149   }
00150
00151   inline const nvmath::Mat44f & ClipPlanesElement::getModelToWorld( unsigned int index ) const
00152   {
00153     NVSG_ASSERT( index < m_modelToWorld.size() );
00154     return( m_modelToWorld[index] );
00155   }
00156
00157   inline unsigned int ClipPlanesElement::getNumberOfClipPlanes() const
00158   {
00159     return( checked_cast<unsigned int>(m_clipPlanes.size()) );
00160   }
00161 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CombineTraverser.h Source File

inc / nvsg / nvtraverser

CombineTraverser.h

00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013 #pragma warning( disable : 4503 )   // decorated name length exceeded, name was truncated
00014
00015 #include <list>
00016 #include "nvsgcommon.h"
00017 #include "nvsg/Primitive.h"
00018 #include "nvtraverser/OptimizeTraverser.h"
00019
00020 namespace nvtraverser
00021 {
00028   class CombineTraverser : public OptimizeTraverser
00029   {
00030     public:
00031       enum
00032       {
00033         CT_GEONODE          = BIT0,
00034         CT_LOD              = BIT1,
00035         CT_LOD_RANGES       = BIT2,
00036         CT_PRIMITIVE_SET    = BIT3,
00037         CT_PRIMITIVE        = CT_PRIMITIVE_SET,
00038         CT_TRANSFORM        = BIT4,
00039         CT_ALL_TARGETS_MASK = ( CT_GEONODE | CT_LOD | CT_LOD_RANGES | CT_PRIMITIVE_SET | CT_TRANSFORM )
00040       } CombineTarget;
00041
00042     public:
00043       NVSG_API static bool areCombinable( const nvsg::Drawable * p0, const nvsg::Drawable * p1, bool ignoreNames );
00044       NVSG_API static bool areCombinable( const nvsg::Group *p0, const nvsg::Group *p1, bool ignoreNames );
00045       NVSG_API static bool areCombinable( const nvsg::LOD * p0, const nvsg::LOD * p1, bool ignoreNames );
00046       NVSG_API static bool areCombinable( const nvsg::Object * p0, const nvsg::Object * p1, bool ignoreNames );
00047       NVSG_API static bool areCombinable( const nvsg::Primitive * p0, const nvsg::Primitive * p1, bool ignoreNames );
00048       NVSG_API static bool areCombinable( const nvsg::QuadPatches *p0, const nvsg::QuadPatches *p1, bool ignoreNames );
00049       NVSG_API static bool areCombinable( const nvsg::RectPatches *p0, const nvsg::RectPatches *p1, bool ignoreNames );
00050       NVSG_API static bool areCombinable( const nvsg::Skin * p0, const nvsg::Skin * p1, bool ignoreNames );
00051       NVSG_API static bool areCombinable( const nvsg::Transform * p0, const nvsg::Transform * p1, bool ignoreNames );
00052       NVSG_API static bool areCombinable( const nvsg::TriPatches *p0, const nvsg::TriPatches *p1, bool ignoreNames );
00053       NVSG_API static bool areCombinable( const nvsg::VertexAttributeSet * p0, const nvsg::VertexAttributeSet * p1, bool ignoreNames );
00054
00055     public:
00057       NVSG_API CombineTraverser( void );
00058
00061       NVSG_API unsigned int getCombineTargets() const;
00062
00065       NVSG_API void setCombineTargets( unsigned int mask );
00066
00068
00071       NVSG_API bool getIgnoreAccelerationBuilderHints() const;
00072
00074
00076       NVSG_API void setIgnoreAccelerationBuilderHints( bool ignore );
00077
00078       REFLECTION_INFO_API( NVSG_API, CombineTraverser );
00079       BEGIN_DECLARE_STATIC_PROPERTIES
00080           NVSG_API DECLARE_STATIC_PROPERTY( CombineTargets );
00081           NVSG_API DECLARE_STATIC_PROPERTY( IgnoreAccelerationBuilderHints );
00082       END_DECLARE_STATIC_PROPERTIES
00083
00084     protected:
00086       NVSG_API virtual ~CombineTraverser( void );
00087
00089       NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform *p );
00090
00092       NVSG_API virtual void handleBillboard( nvsg::Billboard * p );
00093
00095       NVSG_API virtual void handleGeoNode( nvsg::GeoNode * p );
00096
00098       NVSG_API virtual void handleGroup( nvsg::Group * p );
00099
00101       NVSG_API virtual void handleLines( nvsg::Lines * p );
00102
00104       NVSG_API virtual void handleLineStrips( nvsg::LineStrips * p );
00105
00107       NVSG_API virtual void handleLOD( nvsg::LOD * p );
00108
00110       NVSG_API virtual void handlePoints( nvsg::Points * p );
00111
00113       NVSG_API virtual void handlePrimitive( nvsg::Primitive * p );
00114
00116       NVSG_API virtual void handleQuadMeshes( nvsg::QuadMeshes * p );
00117
00119       NVSG_API virtual void handleQuadPatches( nvsg::QuadPatches * p );
00120
00122       NVSG_API virtual void handleQuadPatches4x4( nvsg::QuadPatches4x4 * p );
00123
00125       NVSG_API virtual void handleQuads( nvsg::Quads * p );
00126
00128       NVSG_API virtual void handleQuadStrips( nvsg::QuadStrips * p );
00129
00131       NVSG_API virtual void handleRectPatches( nvsg::RectPatches * p );
00132
00134       NVSG_API virtual void handleTransform( nvsg::Transform * p );
00135
00137       NVSG_API virtual void handleTriangles( nvsg::Triangles * p );
00138
00140       NVSG_API virtual void handleTriFans( nvsg::TriFans * p );
00141
00143       NVSG_API virtual void handleTriPatches( nvsg::TriPatches * p );
00144
00146       NVSG_API virtual void handleTriPatches4( nvsg::TriPatches4 * p );
00147
00149       NVSG_API virtual void handleTriStrips( nvsg::TriStrips * p );
00150
00152       NVSG_API virtual bool preTraverseDrawables( const nvsg::GeoNode* gnode, nvsg::GeoNode::StateSetConstIterator ssci );
00153
00154     private:
00155       template<typename T> class PrimitiveContainer : public std::vector<typename nvutil::ObjectTraits<T>::SharedPtr> {};
00156       template<typename T> class PrimitiveContainerContainer : public std::vector<PrimitiveContainer<T> > {};
00157       template<typename T> class PrimitiveMap : public std::map<nvsg::StateSetSharedPtr,PrimitiveContainerContainer<T> > {};
00158
00159     private:
00160       void combineGeoNodes( nvsg::Group *p );
00161       void combineLODs( nvsg::Group *p );
00162       void combineLODRanges( nvsg::LOD *p );
00163       void combineTransforms( nvsg::Group *p );
00164
00165       // for PrimitiveSet combining:
00166       void combine( const nvsg::PrimitiveSharedPtr & p0, const nvsg::PrimitiveSharedPtr & p1 );
00167       void combine( nvsg::PrimitiveSet *p0, const nvsg::PrimitiveSet *p1 );
00168       void combine( const nvsg::IndependentPrimitiveSetSharedPtr & p0, const nvsg::IndependentPrimitiveSetSharedPtr & p1 );
00169       void combine( const nvsg::MeshedPrimitiveSetSharedPtr & p0, const nvsg::MeshedPrimitiveSetSharedPtr & p1 );
00170       void combine( const nvsg::StrippedPrimitiveSetSharedPtr & p0, const nvsg::StrippedPrimitiveSetSharedPtr & p1 );
00171       void combine( const nvsg::VertexAttributeSetSharedPtr & vash0, const nvsg::VertexAttributeSetSharedPtr & vash1 );
00172       void combine( const nvsg::AnimatedVertexAttributeSetSharedPtr & avash0, const nvsg::AnimatedVertexAttributeSetSharedPtr & avash1 );
00173       void combine( const nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr & fvaah0, const nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr & fvaah1 );
00174       void combine( const nvsg::LinearInterpolatedVertexAttributeAnimationDescriptionSharedPtr & livaah0, const nvsg::LinearInterpolatedVertexAttributeAnimationDescriptionSharedPtr & livaah1 );
00175       void combine( const nvsg::SkinSharedPtr & sh0, const nvsg::SkinSharedPtr & sh1, unsigned int offset );
00176       template<typename T> void checkCombinable( PrimitiveMap<T> & pm );
00177       void combineDrawables( nvsg::GeoNode * p );
00178       template<typename T> void combineDrawables( nvsg::GeoNode *p, PrimitiveMap<T> & pm );
00179       void combineDrawables( nvsg::GeoNode *p, PrimitiveMap<nvsg::Primitive> & pm );
00180       void reduceVertexAttributeSet( const nvsg::IndependentPrimitiveSetSharedPtr & p );
00181       void reduceVertexAttributeSet( const nvsg::MeshedPrimitiveSetSharedPtr & p );
00182       void reduceVertexAttributeSet( const nvsg::PrimitiveSharedPtr & p );
00183       void reduceVertexAttributeSet( const nvsg::StrippedPrimitiveSetSharedPtr & p );
00184       nvsg::VertexAttributeSetSharedPtr reduceVertexAttributeSet( const nvsg::VertexAttributeSetSharedPtr & p, std::map<unsigned int, unsigned int> &indexMap );
00185       nvsg::VertexAttributeSetSharedPtr reduceVertexAttributeSet( const nvsg::VertexAttributeSetSharedPtr & p, unsigned int offset, unsigned int count );
00186       void removeDrawables( nvsg::GeoNode * p );
00187       template<typename T> void removeDrawables( nvsg::GeoNode * p, PrimitiveMap<T> & pm );
00188       template<typename T> void storeDrawable( T *p, PrimitiveMap<T> &pm );
00189       void storeDrawable( nvsg::Primitive *p, PrimitiveMap<nvsg::Primitive> &pm );
00190       nvsg::IndependentPrimitiveSetSharedPtr simpleCombine( const nvsg::IndependentPrimitiveSetSharedPtr & p0
00191                                                           , const nvsg::IndependentPrimitiveSetSharedPtr & p1 );
00192       nvsg::MeshedPrimitiveSetSharedPtr simpleCombine( const nvsg::MeshedPrimitiveSetSharedPtr & p0
00193                                                      , const nvsg::MeshedPrimitiveSetSharedPtr & p1 );
00194       nvsg::PrimitiveSharedPtr simpleCombine( const nvsg::PrimitiveSharedPtr & p0
00195                                             , const nvsg::PrimitiveSharedPtr & p1 );
00196       nvsg::StrippedPrimitiveSetSharedPtr simpleCombine( const nvsg::StrippedPrimitiveSetSharedPtr & p0
00197                                                        , const nvsg::StrippedPrimitiveSetSharedPtr & p1 );
00198
00199       using OptimizeTraverser::optimizationAllowed;
00200       bool optimizationAllowed( const nvsg::PrimitiveSet * obj );
00201
00202     private:
00203       unsigned int m_combineTargets;
00204       bool         m_ignoreAccelerationBuilderHints;
00205
00206       // for PrimitiveSet combining
00207       nvsg::StateSetSharedPtr                     m_currentStateSet;
00208       //  For each primitive type, hold a map from the current StateSet to a vector of vector of primitives.
00209       //  The Primitives in the second level vector are compatible to each of them.
00210       PrimitiveMap<nvsg::IndependentPrimitiveSet> m_lines;
00211       PrimitiveMap<nvsg::StrippedPrimitiveSet>    m_lineStrips;
00212       bool                                        m_optimizeGeoNode;
00213       PrimitiveMap<nvsg::IndependentPrimitiveSet> m_points;
00214       std::map<nvsg::PrimitiveType, PrimitiveMap<nvsg::Primitive> > m_primitives;
00215       PrimitiveMap<nvsg::MeshedPrimitiveSet>      m_quadMeshes;
00216       PrimitiveMap<nvsg::Primitive>               m_quadPatches;
00217       PrimitiveMap<nvsg::Primitive>               m_quadPatches4x4;
00218       PrimitiveMap<nvsg::IndependentPrimitiveSet> m_quads;
00219       PrimitiveMap<nvsg::StrippedPrimitiveSet>    m_quadStrips;
00220       PrimitiveMap<nvsg::Primitive>               m_rectPatches;
00221       PrimitiveMap<nvsg::IndependentPrimitiveSet> m_triangles;
00222       PrimitiveMap<nvsg::StrippedPrimitiveSet>    m_triFans;
00223       PrimitiveMap<nvsg::Primitive>               m_triPatches;
00224       PrimitiveMap<nvsg::Primitive>               m_triPatches4;
00225       PrimitiveMap<nvsg::StrippedPrimitiveSet>    m_triStrips;
00226   };
00227
00228   inline unsigned int CombineTraverser::getCombineTargets() const
00229   {
00230     return( m_combineTargets );
00231   }
00232
00233   inline void CombineTraverser::setCombineTargets( unsigned int mask )
00234   {
00235     if ( mask != m_combineTargets )
00236     {
00237       m_combineTargets = mask;
00238       notify( PID_CombineTargets );
00239     }
00240   }
00241
00242   inline bool CombineTraverser::getIgnoreAccelerationBuilderHints() const
00243   {
00244     return( m_ignoreAccelerationBuilderHints );
00245   }
00246
00247   inline void CombineTraverser::setIgnoreAccelerationBuilderHints( bool ignore )
00248   {
00249     if ( ignore != m_ignoreAccelerationBuilderHints )
00250     {
00251       m_ignoreAccelerationBuilderHints = ignore;
00252       notify( PID_IgnoreAccelerationBuilderHints );
00253     }
00254   }
00255 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Conditioners.h Source File

src / Loader / DAELoader

Conditioners.h

00001
00002 #ifndef _CONDITIONERS_H_
00003 #define _CONDITIONERS_H_
00004
00005 class DAE;
00006
00007 extern bool RunConditioners(DAE *dae);
00008
00009 #endif /* _CONDITIONERS_H_ */
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Console.h Source File

src / Loader / FLTLoader

Console.h

00001
00002 #ifndef _CONSOLE_H_
00003 #define _CONSOLE_H_
00004
00005 #define NO_DEBUG_LOG
00006
00007 #if (!defined(NO_DEBUG_LOG)) && ( defined( WIN32 ) || defined ( _WIN32 ) )
00008
00009 #include <windows.h>
00010 #include <string.h>
00011 #include <stdio.h>
00012 #include <stdarg.h>
00013 #include <ctype.h>
00014
00015 inline void LogMsg(const char *format, ...)
00016 {
00017   char  buf[4096], *p = buf;
00018   va_list args;
00019
00020   va_start(args, format);
00021   p += _vsnprintf(p, sizeof buf - 1, format, args);
00022   va_end(args);
00023
00024 //  while ( p > buf  &&  isspace(p[-1]) )
00025 //    *--p = '\0';
00026
00027   *p++ = '\r';
00028   *p++ = '\n';
00029   *p   = '\0';
00030
00031   OutputDebugString(buf);
00032 }
00033
00034 #else // ! WIN32
00035
00036 #define LogMsg
00037
00038 #endif
00039
00040
00041 #endif // _CONSOLE_H_
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: Conversion.h Source File

inc / nvsg / nvutil

Conversion.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 namespace nvutil
00015 {
00016
00018 template<typename T, typename U>
00019 class Conversion
00020 {
00021   typedef char Small;
00022   class Big { char dummy[2]; };
00023   static Small test(U);
00024   static Big test(...);
00025   static T makeT();
00026 public:
00027   enum { exists = sizeof(test(makeT()))==sizeof(Small),
00028          sameType = 0 };
00029 };
00030
00032 template<typename T>
00033 class Conversion<T, T>
00034 {
00035 public:
00036   enum { exists = 1,
00037          sameType = 1 };
00038 };
00039
00040 #define SUPERSUBCLASS(T,U) \
00041   nvutil::Conversion<const U*, const T*>::exists && \
00042   !nvutil::Conversion<const T*, const void*>::sameType
00043
00044 } // nvutil
00045
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: CoreTypes.h Source File

inc / nvsg / nvsg

CoreTypes.h

00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvutil/Handle.h" // Handle<T> definition
00015 #include "nvutil/HandledObject.h"
00016 #include "nvutil/SmartPtr.h"
00017
00018 // required declaration
00019 namespace nvmath
00020 {
00021   class Trafo;
00022
00023   // Vector
00024   template<unsigned int n, typename T> class Vecnt;
00025   typedef Vecnt<2,float>  Vec2f;
00026   typedef Vecnt<2,double> Vec2d;
00027   typedef Vecnt<3,float>  Vec3f;
00028   typedef Vecnt<3,double> Vec3d;
00029   typedef Vecnt<4,float>  Vec4f;
00030   typedef Vecnt<4,double> Vec4d;
00031   typedef Vecnt<2,int> Vec2i;
00032   typedef Vecnt<3,int> Vec3i;
00033   typedef Vecnt<4,int> Vec4i;
00034   typedef Vecnt<2,unsigned int> Vec2ui;
00035   typedef Vecnt<3,unsigned int> Vec3ui;
00036   typedef Vecnt<4,unsigned int> Vec4ui;
00037
00038
00039   // Matrix
00040   template<unsigned int n, typename T> class Matnnt;
00041   typedef Matnnt<3,float>   Mat33f;
00042   typedef Matnnt<3,double>   Mat33d;
00043   typedef Matnnt<4,float>   Mat44f;
00044   typedef Matnnt<4,double>   Mat44d;
00045
00046   // Quaternions
00047   template<typename T> class Quatt;
00048   typedef Quatt<float>  Quatf;
00049   typedef Quatt<double>  Quatd;
00050 }
00051
00052 namespace nvsg
00053 {
00054 // Object types
00055 class Object;
00056   // cameras ...
00057   class Camera;
00058     class FrustumCamera;
00059       class ParallelCamera;
00060       class PerspectiveCamera;
00061     class MatrixCamera;
00062   // nodes and node components ...
00063   class Node;
00064     // ... groups
00065     class Group;
00066       class Billboard;
00067       class FlipbookAnimation;
00068       class LOD;
00069       class Transform;
00070         class AnimatedTransform;
00071       class Switch;
00072     // ... lights
00073     class LightSource;
00074       class DirectedLight;
00075       class PointLight;
00076       class SpotLight;
00077     // ... clip plane
00078     class ClipPlane;
00079     // ... geometry
00080     class GeoNode;
00081
00082   // drawables
00083   class Drawable;
00084     // ... primitive sets
00085     class Primitive;
00086     class PrimitiveSet;
00087       // ... independent
00088       class IndependentPrimitiveSet;
00089         class PatchesBase;
00090           class QuadPatches;
00091           class QuadPatches4x4;
00092           class RectPatches;
00093           class TriPatches;
00094           class TriPatches4;
00095         class Quads;
00096         class Triangles;
00097         class Lines;
00098         class Points;
00099       // ... meshed
00100       class MeshedPrimitiveSet;
00101         class QuadMeshes;
00102       // ... stripped
00103       class StrippedPrimitiveSet;
00104         class QuadStrips;
00105         class TriFans;
00106         class TriStrips;
00107         class LineStrips;
00108     // ... shapes
00109     class Shape;
00110     // ... UserDrawable
00111     class UserDrawable;
00112
00113   // vertex attributes
00114   class Skin;
00115   class VertexAttributeSet;
00116     class AnimatedVertexAttributeSet;
00117
00118   // Indices
00119   class IndexSet;
00120
00121   // states
00122   class StateAttribute;
00123     class AlphaTestAttribute;
00124     class BlendAttribute;
00125     class CgFx;
00126     class CgFxEffect;
00127     class DepthAttribute;
00128     class Material;
00129     class LightingAttribute;
00130     class PrimitiveAttribute;
00131       class FaceAttribute;
00132       class LineAttribute;
00133       class PointAttribute;
00134     class RTBufferAttribute;
00135     class RTFx;
00136     class StencilAttribute;
00137     class TextureAttribute;
00138     class TextureAttributeItem;
00139     class UnlitColorAttribute;
00140   class StateSet;
00141   class StateVariant;
00142   class StatePass;
00143
00144   // scene attributes
00145   class SceneAttribute;
00146     class RTFxSceneAttribute;
00147
00148   // animations
00149   class AnimationState;
00150     template<typename T> class Animation;
00151
00152   template<typename T> class AnimationDescription;
00153     template<typename T> class FramedAnimationDescription;
00154     template<typename T> class KeyFramedAnimationDescription;
00155       template<typename T> class LinearInterpolatedAnimationDescription;
00156
00157   // maps
00158   class Map;
00159     class Bitmap;
00160   class MapObject;
00161     class MapArray;
00162     class MapElement;
00163     class MapMatrix;
00164   class MapList;
00165
00166 // additionally required declarations
00167 class DALHost;
00168 typedef std::vector<unsigned int> IndexList;
00169 class IndexMesh;
00170 class RTFxProgram;
00171 class Scene;
00172 class ViewState;
00173 class VertexAttribute;
00174
00175 // buffer types
00176 class Buffer;
00177 class BufferHost;
00178
00179 // texture types
00180 class Texture;
00181 class TextureHost;
00182
00183   typedef Animation<float>            FloatAnimation;
00184   typedef Animation<unsigned int>     IndexAnimation;
00185   typedef Animation<nvmath::Mat33f>   Mat33fAnimation;
00186   typedef Animation<nvmath::Mat44f>   Mat44fAnimation;
00187   typedef Animation<nvmath::Quatf>    QuatfAnimation;
00188   typedef Animation<nvmath::Trafo>    TrafoAnimation;
00189   typedef Animation<nvmath::Vec2f>    Vec2fAnimation;
00190   typedef Animation<nvmath::Vec3f>    Vec3fAnimation;
00191   typedef Animation<nvmath::Vec4f>    Vec4fAnimation;
00192   typedef Animation<VertexAttribute>  VertexAttributeAnimation;
00193
00194   typedef AnimationDescription<float>           FloatAnimationDescription;
00195   typedef AnimationDescription<unsigned int>    IndexAnimationDescription;
00196   typedef AnimationDescription<nvmath::Mat33f>  Mat33fAnimationDescription;
00197   typedef AnimationDescription<nvmath::Mat44f>  Mat44fAnimationDescription;
00198   typedef AnimationDescription<nvmath::Quatf>   QuatfAnimationDescription;
00199   typedef AnimationDescription<nvmath::Trafo>   TrafoAnimationDescription;
00200   typedef AnimationDescription<nvmath::Vec2f>   Vec2fAnimationDescription;
00201   typedef AnimationDescription<nvmath::Vec3f>   Vec3fAnimationDescription;
00202   typedef AnimationDescription<nvmath::Vec4f>   Vec4fAnimationDescription;
00203   typedef AnimationDescription<VertexAttribute> VertexAttributeAnimationDescription;
00204
00205   typedef FramedAnimationDescription<float>            FramedFloatAnimationDescription;
00206   typedef FramedAnimationDescription<unsigned int>     FramedIndexAnimationDescription;
00207   typedef FramedAnimationDescription<nvmath::Mat33f>   FramedMat33fAnimationDescription;
00208   typedef FramedAnimationDescription<nvmath::Mat44f>   FramedMat44fAnimationDescription;
00209   typedef FramedAnimationDescription<nvmath::Quatf>    FramedQuatfAnimationDescription;
00210   typedef FramedAnimationDescription<nvmath::Trafo>    FramedTrafoAnimationDescription;
00211   typedef FramedAnimationDescription<nvmath::Vec2f>    FramedVec2fAnimationDescription;
00212   typedef FramedAnimationDescription<nvmath::Vec3f>    FramedVec3fAnimationDescription;
00213   typedef FramedAnimationDescription<nvmath::Vec4f>    FramedVec4fAnimationDescription;
00214   typedef FramedAnimationDescription<VertexAttribute>  FramedVertexAttributeAnimationDescription;
00215
00216   typedef KeyFramedAnimationDescription<float>            KeyFramedFloatAnimationDescription;
00217   typedef KeyFramedAnimationDescription<unsigned int>     KeyFramedIndexAnimationDescription;
00218   typedef KeyFramedAnimationDescription<nvmath::Mat33f>   KeyFramedMat33fAnimationDescription;
00219   typedef KeyFramedAnimationDescription<nvmath::Mat44f>   KeyFramedMat44fAnimationDescription;
00220   typedef KeyFramedAnimationDescription<nvmath::Quatf>    KeyFramedQuatfAnimationDescription;
00221   typedef KeyFramedAnimationDescription<nvmath::Trafo>    KeyFramedTrafoAnimationDescription;
00222   typedef KeyFramedAnimationDescription<nvmath::Vec2f>    KeyFramedVec2fAnimationDescription;
00223   typedef KeyFramedAnimationDescription<nvmath::Vec3f>    KeyFramedVec3fAnimationDescription;
00224   typedef KeyFramedAnimationDescription<nvmath::Vec4f>    KeyFramedVec4fAnimationDescription;
00225   typedef KeyFramedAnimationDescription<VertexAttribute>  KeyFramedVertexAttributeAnimationDescription;
00226
00227   typedef LinearInterpolatedAnimationDescription<float>            LinearInterpolatedFloatAnimationDescription;
00228   typedef LinearInterpolatedAnimationDescription<nvmath::Mat33f>   LinearInterpolatedMat33fAnimationDescription;
00229   typedef LinearInterpolatedAnimationDescription<nvmath::Mat44f>   LinearInterpolatedMat44fAnimationDescription;
00230   typedef LinearInterpolatedAnimationDescription<nvmath::Quatf>    LinearInterpolatedQuatfAnimationDescription;
00231   typedef LinearInterpolatedAnimationDescription<nvmath::Trafo>    LinearInterpolatedTrafoAnimationDescription;
00232   typedef LinearInterpolatedAnimationDescription<nvmath::Vec2f>    LinearInterpolatedVec2fAnimationDescription;
00233   typedef LinearInterpolatedAnimationDescription<nvmath::Vec3f>    LinearInterpolatedVec3fAnimationDescription;
00234   typedef LinearInterpolatedAnimationDescription<nvmath::Vec4f>    LinearInterpolatedVec4fAnimationDescription;
00235   typedef LinearInterpolatedAnimationDescription<VertexAttribute>  LinearInterpolatedVertexAttributeAnimationDescription;
00236
00237 // Handle types
00238   CORE_TYPES( Object, nvutil::HandledObject );
00239   CORE_TYPES( Camera, Object );
00240   CORE_TYPES( FrustumCamera, Camera );
00241   CORE_TYPES( ParallelCamera, FrustumCamera );
00242   CORE_TYPES( PerspectiveCamera, FrustumCamera );
00243   CORE_TYPES( MatrixCamera, Camera );
00244   CORE_TYPES( Node, Object );
00245   CORE_TYPES( Group, Node );
00246   CORE_TYPES( Billboard, Group );
00247   CORE_TYPES( FlipbookAnimation, Group );
00248   CORE_TYPES( LOD, Group );
00249   CORE_TYPES( Transform, Group );
00250   CORE_TYPES( AnimatedTransform, Transform );
00251   CORE_TYPES( Switch, Group );
00252   CORE_TYPES( LightSource, Object );
00253   CORE_TYPES( DirectedLight, LightSource );
00254   CORE_TYPES( PointLight, LightSource );
00255   CORE_TYPES( SpotLight, LightSource );
00256   CORE_TYPES( ClipPlane, Object );
00257   CORE_TYPES( GeoNode, Node );
00258   CORE_TYPES( Drawable, Object );
00259   CORE_TYPES( Primitive, Drawable );
00260   CORE_TYPES( PrimitiveSet, Drawable );
00261   CORE_TYPES( IndependentPrimitiveSet, PrimitiveSet );
00262   CORE_TYPES( PatchesBase, Primitive );
00263   CORE_TYPES( QuadPatches, PatchesBase );
00264   CORE_TYPES( QuadPatches4x4, PatchesBase );
00265   CORE_TYPES( RectPatches, PatchesBase );
00266   CORE_TYPES( TriPatches, PatchesBase );
00267   CORE_TYPES( TriPatches4, PatchesBase );
00268   CORE_TYPES( Quads, IndependentPrimitiveSet );
00269   CORE_TYPES( Triangles, IndependentPrimitiveSet );
00270   CORE_TYPES( Lines, IndependentPrimitiveSet );
00271   CORE_TYPES( Points, IndependentPrimitiveSet );
00272   CORE_TYPES( MeshedPrimitiveSet, PrimitiveSet );
00273   CORE_TYPES( QuadMeshes, MeshedPrimitiveSet );
00274   CORE_TYPES( StrippedPrimitiveSet, PrimitiveSet );
00275   CORE_TYPES( QuadStrips, StrippedPrimitiveSet );
00276   CORE_TYPES( TriFans, StrippedPrimitiveSet );
00277   CORE_TYPES( TriStrips, StrippedPrimitiveSet );
00278   CORE_TYPES( LineStrips, StrippedPrimitiveSet );
00279   CORE_TYPES( Shape, Drawable );
00280   CORE_TYPES( VertexAttributeSet, Object );
00281   CORE_TYPES( IndexSet, Object );
00282   CORE_TYPES( AnimatedVertexAttributeSet, VertexAttributeSet );
00283   CORE_TYPES( Skin, Object );
00284   CORE_TYPES( StateAttribute, Object );
00285   CORE_TYPES( CgFx, StateAttribute );
00286   CORE_TYPES( CgFxEffect, Object );
00287   CORE_TYPES( Material, StateAttribute );
00288   CORE_TYPES( RTBufferAttribute, StateAttribute );
00289   CORE_TYPES( RTFx, StateAttribute );
00290   CORE_TYPES( StencilAttribute, StateAttribute );
00291   CORE_TYPES( TextureAttribute, StateAttribute );
00292   CORE_TYPES( TextureAttributeItem, Object );
00293   CORE_TYPES( BlendAttribute, StateAttribute );
00294   CORE_TYPES( AlphaTestAttribute, StateAttribute );
00295   CORE_TYPES( DepthAttribute, StateAttribute );
00296   CORE_TYPES( UnlitColorAttribute, StateAttribute );
00297   CORE_TYPES( PrimitiveAttribute, StateAttribute );
00298   CORE_TYPES( FaceAttribute, PrimitiveAttribute );
00299   CORE_TYPES( LightingAttribute, StateAttribute );
00300   CORE_TYPES( LineAttribute, PrimitiveAttribute );
00301   CORE_TYPES( PointAttribute, PrimitiveAttribute );
00302   CORE_TYPES( StateSet, Object );
00303   CORE_TYPES( StateVariant, Object );
00304   CORE_TYPES( StatePass, Object );
00305   CORE_TYPES( AnimationState, Object );
00306   CORE_TYPES( VertexAttributeAnimation, AnimationState );
00307   CORE_TYPES( TrafoAnimation, AnimationState );
00308   CORE_TYPES( IndexAnimation, AnimationState );
00309   CORE_TYPES( FloatAnimation, AnimationState );
00310   CORE_TYPES( Vec2fAnimation, AnimationState );
00311   CORE_TYPES( Vec3fAnimation, AnimationState );
00312   CORE_TYPES( Vec4fAnimation, AnimationState );
00313   CORE_TYPES( Mat33fAnimation, AnimationState );
00314   CORE_TYPES( Mat44fAnimation, AnimationState );
00315   CORE_TYPES( QuatfAnimation, AnimationState );
00316   CORE_TYPES( VertexAttributeAnimationDescription, Object );
00317   CORE_TYPES( TrafoAnimationDescription, Object );
00318   CORE_TYPES( IndexAnimationDescription, Object );
00319   CORE_TYPES( FloatAnimationDescription, Object );
00320   CORE_TYPES( Vec2fAnimationDescription, Object );
00321   CORE_TYPES( Vec3fAnimationDescription, Object );
00322   CORE_TYPES( Vec4fAnimationDescription, Object );
00323   CORE_TYPES( Mat33fAnimationDescription, Object );
00324   CORE_TYPES( Mat44fAnimationDescription, Object );
00325   CORE_TYPES( QuatfAnimationDescription, Object );
00326   CORE_TYPES( FramedVertexAttributeAnimationDescription, VertexAttributeAnimationDescription );
00327   CORE_TYPES( FramedTrafoAnimationDescription, TrafoAnimationDescription );
00328   CORE_TYPES( FramedIndexAnimationDescription, IndexAnimationDescription );
00329   CORE_TYPES( FramedFloatAnimationDescription, FloatAnimationDescription );
00330   CORE_TYPES( FramedVec2fAnimationDescription, Vec2fAnimationDescription );
00331   CORE_TYPES( FramedVec3fAnimationDescription, Vec3fAnimationDescription );
00332   CORE_TYPES( FramedVec4fAnimationDescription, Vec4fAnimationDescription );
00333   CORE_TYPES( FramedMat33fAnimationDescription, Mat33fAnimationDescription );
00334   CORE_TYPES( FramedMat44fAnimationDescription, Mat44fAnimationDescription );
00335   CORE_TYPES( FramedQuatfAnimationDescription, QuatfAnimationDescription );
00336   CORE_TYPES( KeyFramedVertexAttributeAnimationDescription, VertexAttributeAnimationDescription );
00337   CORE_TYPES( KeyFramedTrafoAnimationDescription, TrafoAnimationDescription );
00338   CORE_TYPES( KeyFramedIndexAnimationDescription, IndexAnimationDescription );
00339   CORE_TYPES( KeyFramedFloatAnimationDescription, FloatAnimationDescription );
00340   CORE_TYPES( KeyFramedVec2fAnimationDescription, Vec2fAnimationDescription );
00341   CORE_TYPES( KeyFramedVec3fAnimationDescription, Vec3fAnimationDescription );
00342   CORE_TYPES( KeyFramedVec4fAnimationDescription, Vec4fAnimationDescription );
00343   CORE_TYPES( KeyFramedMat33fAnimationDescription, Mat33fAnimationDescription );
00344   CORE_TYPES( KeyFramedMat44fAnimationDescription, Mat44fAnimationDescription );
00345   CORE_TYPES( KeyFramedQuatfAnimationDescription, QuatfAnimationDescription );
00346   CORE_TYPES( LinearInterpolatedVertexAttributeAnimationDescription, KeyFramedVertexAttributeAnimationDescription );
00347   CORE_TYPES( LinearInterpolatedTrafoAnimationDescription, KeyFramedTrafoAnimationDescription );
00348   CORE_TYPES( LinearInterpolatedFloatAnimationDescription, KeyFramedFloatAnimationDescription );
00349   CORE_TYPES( LinearInterpolatedVec2fAnimationDescription, KeyFramedVec2fAnimationDescription );
00350   CORE_TYPES( LinearInterpolatedVec3fAnimationDescription, KeyFramedVec3fAnimationDescription );
00351   CORE_TYPES( LinearInterpolatedVec4fAnimationDescription, KeyFramedVec4fAnimationDescription );
00352   CORE_TYPES( LinearInterpolatedMat33fAnimationDescription, KeyFramedMat33fAnimationDescription );
00353   CORE_TYPES( LinearInterpolatedMat44fAnimationDescription, KeyFramedMat44fAnimationDescription );
00354   CORE_TYPES( LinearInterpolatedQuatfAnimationDescription, KeyFramedQuatfAnimationDescription );
00355   CORE_TYPES( MapObject, Object );
00356   CORE_TYPES( MapArray, MapObject );
00357   CORE_TYPES( MapElement, MapObject );
00358   CORE_TYPES( MapMatrix, MapObject );
00359   CORE_TYPES( MapList, Object );
00360   CORE_TYPES( Scene, Object );
00361   CORE_TYPES( SceneAttribute, Object );
00362   CORE_TYPES( RTFxSceneAttribute, SceneAttribute );
00363   CORE_TYPES( ViewState, nvutil::HandledObject );
00364   CORE_TYPES( DALHost, nvutil::HandledObject );
00365   CORE_TYPES( RTFxProgram, Object );
00366   CORE_TYPES( Buffer, nvutil::HandledObject );
00367   CORE_TYPES( BufferHost, Buffer );
00368   CORE_TYPES( Texture, nvutil::HandledObject );
00369   CORE_TYPES( TextureHost, Texture );
00370   CORE_TYPES( UserDrawable, Drawable );
00371
00372 } // namespace nvsg
00373
00374 namespace nvgl
00375 {
00376   class BufferGL;
00377   class TextureGL;
00378   class DisplayListGL;
00379
00380   CORE_TYPES( BufferGL, nvsg::Buffer );
00381   CORE_TYPES( TextureGL, nvsg::Texture );
00382   CORE_TYPES( DisplayListGL, nvutil::HandledObject );
00383 } // namespace nvgl
00384
00385 namespace nvtraverser
00386 {
00387   class CameraUpdateSemaphore;
00388   class SpotLightUpdateSemaphore;
00389
00390   CORE_TYPES( CameraUpdateSemaphore, nvsg::Object );
00391   CORE_TYPES( SpotLightUpdateSemaphore, nvsg::Object );
00392 }
00393
00394 namespace nvui
00395 {
00396   class RendererOptions;
00397
00398   CORE_TYPES( RendererOptions, nvutil::HandledObject );
00399 }
00400
00401 namespace nvutil
00402 {
00403   OBJECT_TRAITS( nvsg::Object, nvutil::HandledObject );
00404   OBJECT_TRAITS( nvsg::Camera, nvsg::Object );
00405   OBJECT_TRAITS( nvsg::FrustumCamera, nvsg::Camera );
00406   OBJECT_TRAITS( nvsg::ParallelCamera, nvsg::FrustumCamera );
00407   OBJECT_TRAITS( nvsg::PerspectiveCamera, nvsg::FrustumCamera );
00408   OBJECT_TRAITS( nvsg::MatrixCamera, nvsg::Camera );
00409   OBJECT_TRAITS( nvsg::Node, nvsg::Object );
00410   OBJECT_TRAITS( nvsg::Group, nvsg::Node );
00411   OBJECT_TRAITS( nvsg::Billboard, nvsg::Group );
00412   OBJECT_TRAITS( nvsg::FlipbookAnimation, nvsg::Group );
00413   OBJECT_TRAITS( nvsg::LOD, nvsg::Group );
00414   OBJECT_TRAITS( nvsg::Transform, nvsg::Group );
00415   OBJECT_TRAITS( nvsg::AnimatedTransform, nvsg::Transform );
00416   OBJECT_TRAITS( nvsg::Switch, nvsg::Group );
00417   OBJECT_TRAITS( nvsg::LightSource, nvsg::Object );
00418   OBJECT_TRAITS( nvsg::DirectedLight, nvsg::LightSource );
00419   OBJECT_TRAITS( nvsg::PointLight, nvsg::LightSource );
00420   OBJECT_TRAITS( nvsg::SpotLight, nvsg::LightSource );
00421   OBJECT_TRAITS( nvsg::ClipPlane, nvsg::Object );
00422   OBJECT_TRAITS( nvsg::GeoNode, nvsg::Node );
00423   OBJECT_TRAITS( nvsg::Drawable, nvsg::Object );
00424   OBJECT_TRAITS( nvsg::Primitive, nvsg::Drawable );
00425   OBJECT_TRAITS( nvsg::PrimitiveSet, nvsg::Drawable );
00426   OBJECT_TRAITS( nvsg::IndependentPrimitiveSet, nvsg::PrimitiveSet );
00427   OBJECT_TRAITS( nvsg::PatchesBase, nvsg::Primitive );
00428   OBJECT_TRAITS( nvsg::QuadPatches, nvsg::PatchesBase );
00429   OBJECT_TRAITS( nvsg::QuadPatches4x4, nvsg::PatchesBase );
00430   OBJECT_TRAITS( nvsg::RectPatches, nvsg::PatchesBase );
00431   OBJECT_TRAITS( nvsg::TriPatches, nvsg::PatchesBase );
00432   OBJECT_TRAITS( nvsg::TriPatches4, nvsg::PatchesBase );
00433   OBJECT_TRAITS( nvsg::Quads, nvsg::IndependentPrimitiveSet );
00434   OBJECT_TRAITS( nvsg::Triangles, nvsg::IndependentPrimitiveSet );
00435   OBJECT_TRAITS( nvsg::Lines, nvsg::IndependentPrimitiveSet );
00436   OBJECT_TRAITS( nvsg::Points, nvsg::IndependentPrimitiveSet );
00437   OBJECT_TRAITS( nvsg::MeshedPrimitiveSet, nvsg::PrimitiveSet );
00438   OBJECT_TRAITS( nvsg::QuadMeshes, nvsg::MeshedPrimitiveSet );
00439   OBJECT_TRAITS( nvsg::StrippedPrimitiveSet, nvsg::PrimitiveSet );
00440   OBJECT_TRAITS( nvsg::QuadStrips, nvsg::StrippedPrimitiveSet );
00441   OBJECT_TRAITS( nvsg::TriFans, nvsg::StrippedPrimitiveSet );
00442   OBJECT_TRAITS( nvsg::TriStrips, nvsg::StrippedPrimitiveSet );
00443   OBJECT_TRAITS( nvsg::LineStrips, nvsg::StrippedPrimitiveSet );
00444   OBJECT_TRAITS( nvsg::UserDrawable, nvsg::Drawable );
00445   OBJECT_TRAITS( nvsg::Shape, nvsg::Drawable );
00446   OBJECT_TRAITS( nvsg::VertexAttributeSet, nvsg::Object );
00447   OBJECT_TRAITS( nvsg::IndexSet, nvsg::Object );
00448   OBJECT_TRAITS( nvsg::AnimatedVertexAttributeSet, nvsg::VertexAttributeSet );
00449   OBJECT_TRAITS( nvsg::Skin, nvsg::Object );
00450   OBJECT_TRAITS( nvsg::StateAttribute, nvsg::Object );
00451   OBJECT_TRAITS( nvsg::CgFx, nvsg::StateAttribute );
00452   OBJECT_TRAITS( nvsg::CgFxEffect, nvsg::Object );
00453   OBJECT_TRAITS( nvsg::Material, nvsg::StateAttribute );
00454   OBJECT_TRAITS( nvsg::RTBufferAttribute, nvsg::StateAttribute );
00455   OBJECT_TRAITS( nvsg::RTFx, nvsg::StateAttribute );
00456   OBJECT_TRAITS( nvsg::StencilAttribute, nvsg::StateAttribute );
00457   OBJECT_TRAITS( nvsg::TextureAttribute, nvsg::StateAttribute );
00458   OBJECT_TRAITS( nvsg::TextureAttributeItem, nvsg::Object );
00459   OBJECT_TRAITS( nvsg::BlendAttribute, nvsg::StateAttribute );
00460   OBJECT_TRAITS( nvsg::AlphaTestAttribute, nvsg::StateAttribute );
00461   OBJECT_TRAITS( nvsg::DepthAttribute, nvsg::StateAttribute );
00462   OBJECT_TRAITS( nvsg::UnlitColorAttribute, nvsg::StateAttribute );
00463   OBJECT_TRAITS( nvsg::PrimitiveAttribute, nvsg::StateAttribute );
00464   OBJECT_TRAITS( nvsg::FaceAttribute, nvsg::PrimitiveAttribute );
00465   OBJECT_TRAITS( nvsg::LightingAttribute, nvsg::StateAttribute );
00466   OBJECT_TRAITS( nvsg::LineAttribute, nvsg::PrimitiveAttribute );
00467   OBJECT_TRAITS( nvsg::PointAttribute, nvsg::PrimitiveAttribute );
00468   OBJECT_TRAITS( nvsg::StateSet, nvsg::Object );
00469   OBJECT_TRAITS( nvsg::StateVariant, nvsg::Object );
00470   OBJECT_TRAITS( nvsg::StatePass, nvsg::Object );
00471   OBJECT_TRAITS( nvsg::AnimationState, nvsg::Object );
00472   OBJECT_TRAITS( nvsg::VertexAttributeAnimation, nvsg::AnimationState );
00473   OBJECT_TRAITS( nvsg::TrafoAnimation, nvsg::AnimationState );
00474   OBJECT_TRAITS( nvsg::IndexAnimation, nvsg::AnimationState );
00475   OBJECT_TRAITS( nvsg::FloatAnimation, nvsg::AnimationState );
00476   OBJECT_TRAITS( nvsg::Vec2fAnimation, nvsg::AnimationState );
00477   OBJECT_TRAITS( nvsg::Vec3fAnimation, nvsg::AnimationState );
00478   OBJECT_TRAITS( nvsg::Vec4fAnimation, nvsg::AnimationState );
00479   OBJECT_TRAITS( nvsg::Mat33fAnimation, nvsg::AnimationState );
00480   OBJECT_TRAITS( nvsg::Mat44fAnimation, nvsg::AnimationState );
00481   OBJECT_TRAITS( nvsg::QuatfAnimation, nvsg::AnimationState );
00482   OBJECT_TRAITS( nvsg::VertexAttributeAnimationDescription, nvsg::Object );
00483   OBJECT_TRAITS( nvsg::TrafoAnimationDescription, nvsg::Object );
00484   OBJECT_TRAITS( nvsg::IndexAnimationDescription, nvsg::Object );
00485   OBJECT_TRAITS( nvsg::FloatAnimationDescription, nvsg::Object );
00486   OBJECT_TRAITS( nvsg::Vec2fAnimationDescription, nvsg::Object );
00487   OBJECT_TRAITS( nvsg::Vec3fAnimationDescription, nvsg::Object );
00488   OBJECT_TRAITS( nvsg::Vec4fAnimationDescription, nvsg::Object );
00489   OBJECT_TRAITS( nvsg::Mat33fAnimationDescription, nvsg::Object );
00490   OBJECT_TRAITS( nvsg::Mat44fAnimationDescription, nvsg::Object );
00491   OBJECT_TRAITS( nvsg::QuatfAnimationDescription, nvsg::Object );
00492   OBJECT_TRAITS( nvsg::FramedVertexAttributeAnimationDescription, nvsg::VertexAttributeAnimationDescription );
00493   OBJECT_TRAITS( nvsg::FramedTrafoAnimationDescription, nvsg::TrafoAnimationDescription );
00494   OBJECT_TRAITS( nvsg::FramedIndexAnimationDescription, nvsg::IndexAnimationDescription );
00495   OBJECT_TRAITS( nvsg::FramedFloatAnimationDescription, nvsg::FloatAnimationDescription );
00496   OBJECT_TRAITS( nvsg::FramedVec2fAnimationDescription, nvsg::Vec2fAnimationDescription );
00497   OBJECT_TRAITS( nvsg::FramedVec3fAnimationDescription, nvsg::Vec3fAnimationDescription );
00498   OBJECT_TRAITS( nvsg::FramedVec4fAnimationDescription, nvsg::Vec4fAnimationDescription );
00499   OBJECT_TRAITS( nvsg::FramedMat33fAnimationDescription, nvsg::Mat33fAnimationDescription );
00500   OBJECT_TRAITS( nvsg::FramedMat44fAnimationDescription, nvsg::Mat44fAnimationDescription );
00501   OBJECT_TRAITS( nvsg::FramedQuatfAnimationDescription, nvsg::QuatfAnimationDescription );
00502   OBJECT_TRAITS( nvsg::KeyFramedVertexAttributeAnimationDescription, nvsg::VertexAttributeAnimationDescription );
00503   OBJECT_TRAITS( nvsg::KeyFramedTrafoAnimationDescription, nvsg::TrafoAnimationDescription );
00504   OBJECT_TRAITS( nvsg::KeyFramedIndexAnimationDescription, nvsg::IndexAnimationDescription );
00505   OBJECT_TRAITS( nvsg::KeyFramedFloatAnimationDescription, nvsg::FloatAnimationDescription );
00506   OBJECT_TRAITS( nvsg::KeyFramedVec2fAnimationDescription, nvsg::Vec2fAnimationDescription );
00507   OBJECT_TRAITS( nvsg::KeyFramedVec3fAnimationDescription, nvsg::Vec3fAnimationDescription );
00508   OBJECT_TRAITS( nvsg::KeyFramedVec4fAnimationDescription, nvsg::Vec4fAnimationDescription );
00509   OBJECT_TRAITS( nvsg::KeyFramedMat33fAnimationDescription, nvsg::Mat33fAnimationDescription );
00510   OBJECT_TRAITS( nvsg::KeyFramedMat44fAnimationDescription, nvsg::Mat44fAnimationDescription );
00511   OBJECT_TRAITS( nvsg::KeyFramedQuatfAnimationDescription, nvsg::QuatfAnimationDescription );
00512   OBJECT_TRAITS( nvsg::LinearInterpolatedVertexAttributeAnimationDescription, nvsg::KeyFramedVertexAttributeAnimationDescription );
00513   OBJECT_TRAITS( nvsg::LinearInterpolatedTrafoAnimationDescription, nvsg::KeyFramedTrafoAnimationDescription );
00514   OBJECT_TRAITS( nvsg::LinearInterpolatedFloatAnimationDescription, nvsg::KeyFramedFloatAnimationDescription );
00515   OBJECT_TRAITS( nvsg::LinearInterpolatedVec2fAnimationDescription, nvsg::KeyFramedVec2fAnimationDescription );
00516   OBJECT_TRAITS( nvsg::LinearInterpolatedVec3fAnimationDescription, nvsg::KeyFramedVec3fAnimationDescription );
00517   OBJECT_TRAITS( nvsg::LinearInterpolatedVec4fAnimationDescription, nvsg::KeyFramedVec4fAnimationDescription );
00518   OBJECT_TRAITS( nvsg::LinearInterpolatedMat33fAnimationDescription, nvsg::KeyFramedMat33fAnimationDescription );
00519   OBJECT_TRAITS( nvsg::LinearInterpolatedMat44fAnimationDescription, nvsg::KeyFramedMat44fAnimationDescription );
00520   OBJECT_TRAITS( nvsg::LinearInterpolatedQuatfAnimationDescription, nvsg::KeyFramedQuatfAnimationDescription );
00521   OBJECT_TRAITS( nvsg::MapObject, nvsg::Object );
00522   OBJECT_TRAITS( nvsg::MapArray, nvsg::MapObject );
00523   OBJECT_TRAITS( nvsg::MapElement, nvsg::MapObject );
00524   OBJECT_TRAITS( nvsg::MapMatrix, nvsg::MapObject );
00525   OBJECT_TRAITS( nvsg::MapList, nvsg::Object );
00526   OBJECT_TRAITS( nvsg::Scene, nvsg::Object );
00527   OBJECT_TRAITS( nvsg::SceneAttribute, nvsg::Object );
00528   OBJECT_TRAITS( nvsg::RTFxSceneAttribute, nvsg::SceneAttribute );
00529   OBJECT_TRAITS( nvsg::ViewState, nvutil::HandledObject );
00530   OBJECT_TRAITS( nvsg::DALHost, nvutil::HandledObject );
00531   OBJECT_TRAITS( nvsg::RTFxProgram, nvsg::Object );
00532   OBJECT_TRAITS( nvsg::Buffer, nvutil::HandledObject );
00533   OBJECT_TRAITS( nvsg::BufferHost, nvsg::Buffer );
00534   OBJECT_TRAITS( nvsg::Texture, nvutil::HandledObject );
00535   OBJECT_TRAITS( nvsg::TextureHost, nvsg::Texture );
00536
00537   // namespace nvgl
00538   OBJECT_TRAITS( nvgl::BufferGL, nvsg::Buffer );
00539   OBJECT_TRAITS( nvgl::TextureGL, nvsg::Texture );
00540   OBJECT_TRAITS( nvgl::DisplayListGL, nvutil::HandledObject );
00541
00542   // namespace nvtraverser
00543   OBJECT_TRAITS( nvtraverser::CameraUpdateSemaphore, nvsg::Object );
00544   OBJECT_TRAITS( nvtraverser::SpotLightUpdateSemaphore, nvsg::Object );
00545
00546   // namespace nvui
00547   OBJECT_TRAITS( nvui::RendererOptions, nvutil::HandledObject );
00548
00549 } // namespace nvutil
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DAELoader.h Source File

src / Loader / DAELoader

DAELoader.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // DAELoader.h
00016 //
00017
00018 #ifndef _LOADDAE_H_
00019 #define _LOADDAE_H_
00020
00021 #if ! defined( DOXYGEN_IGNORE )
00022
00023 #include <stdarg.h>
00024 #include <string>
00025 #include <vector>
00026 #include <list>
00027 #include <map>
00028
00029 #include <nvmath/Matnnt.h>
00030 #include <nvsg/nvsgapi.h>
00031 #include <nvsg/nvsg.h>
00032 #include <nvsg/Scene.h>
00033 #include <nvsg/PlugInterface.h>
00034 #include <nvsg/Skin.h>
00035 #include <nvsg/ViewState.h>
00036 #include <nvsg/VertexAttributeSet.h>
00037 #include <nvutil/Trace.h>
00038 #include <nvutil/Handle.h>
00039 #include "ErrorHandler.h"
00040 #include "ShaderBuildMeister.h"
00041
00042 #include "dom/domCOLLADA.h"
00043 #include "dom/domElements.h"
00044
00045 namespace nvsg
00046 {
00047   class SceneLoader;
00048   class Scene;
00049   class ViewState;
00050   class Group;
00051   class Transform;
00052   class AnimatedTransform;
00053   class GeoNode;
00054   class Drawable;
00055   class Material;
00056   class StateAttribute;
00057   class StateSet;
00058   class LightSource;
00059   class CgFx;
00060   class TextureHost;
00061 }
00062
00063 class DAE;
00064 class domAsset;
00065 class domPolylist;
00066 class domTriangles;
00067 class domVisual_scene;
00068 class domInstance_geometry;
00069 class domInstance_controller;
00070 class domInstance_material;
00071 class domSkin;
00072 class domGeometry;
00073 class domSource;
00074 class domNode;
00075 class domBind_material;
00076 class domMaterial;
00077 class domEffect;
00078 class domProfile_COMMON;
00079 class domCommon_color_or_texture_type;
00080 class domCommon_float_or_param_type;
00081 class domCommon_color_or_texture_type_complexType;
00082 class domCommon_transparent_type;
00083 class domLight;
00084 class domCamera;
00085 class daeElement;
00086
00087 class cfxMaterial;
00088 class cfxEffect;
00089
00090 #define INVOKE_CALLBACK(cb) if( callback() ) callback()->cb
00091 #define safeNodeName( n )  (n?( (n)->getName()?(n)->getName():(n)->getID()?(n)->getID():"unnamed" ):"NULL")
00092 #define safeStringValue( n ) ( (n)?(n):"" )
00093
00094 #define NVMAX_ATTRIBUTES nvsg::VertexAttributeSet::NVSG_VERTEX_ATTRIB_COUNT
00095
00096 class AnimationData
00097 {
00098 public:
00099
00100   // data type for animations
00101   enum ADataType
00102   {
00103     DTYPE_FLOAT,
00104     DTYPE_INT,
00105     DTYPE_NAME,
00106     DTYPE_BOOL,
00107     DTYPE_IDREF
00108   };
00109
00110   enum AnimationSemantic
00111   {
00112     ANIM_SEMANTIC_IN_TANGENT,
00113     ANIM_SEMANTIC_OUT_TANGENT,
00114     ANIM_SEMANTIC_INTERPOLATION,
00115     ANIM_SEMANTIC_INPUT,
00116     ANIM_SEMANTIC_OUTPUT
00117   };
00118
00119   enum AnimationInterpolator
00120   {
00121     ANIM_INTERP_LINEAR,
00122     ANIM_INTERP_BEZIER,
00123     ANIM_INTERP_CARDINAL,
00124     ANIM_INTERP_HERMITE,
00125     ANIM_INTERP_BSPLINE,
00126     ANIM_INTERP_STEP
00127   };
00128
00129   struct AnimInfo
00130   {
00131     ADataType type;
00132     unsigned int stride;
00133     AnimationSemantic semantic;
00134     void * data;
00135
00136     // returns everything as float
00137     unsigned int getCount();
00138     float getValue( unsigned int offset );
00139   };
00140
00141   AnimationData() {}
00142   ~AnimationData() {}
00143   void setType( const std::string & type ) { m_type = type; }
00144   std::string & getType() { return m_type; }
00145
00146   bool getAnimInfo( AnimationSemantic semantic, AnimInfo & info )
00147   {
00148     std::map< AnimationSemantic, AnimInfo >::iterator iter =
00149                                                 m_info.find( semantic );
00150
00151     if( iter == m_info.end() )
00152     {
00153       return false;
00154     }
00155
00156     info = (*iter).second;
00157     return true;
00158   }
00159
00160   void addAnimInfo( AnimInfo & info )
00161   {
00162     m_info[ info.semantic ] = info;
00163   }
00164
00165   void setInterpolator( AnimationInterpolator ai )
00166   {
00167     m_interpolator = ai;
00168   }
00169
00170   AnimationInterpolator getInterpolator( void )
00171   {
00172     return m_interpolator;
00173   }
00174
00175   void setElement( const std::string & element ) { m_element = element; }
00176   std::string & getElement() { return m_element; }
00177
00178   void setParentName( const std::string & name ) { m_parentName = name; }
00179   std::string & getParentName() { return m_parentName; }
00180
00181 private:
00182   std::string m_parentName;
00183   std::string m_type;
00184   std::string m_element;
00185   std::map< AnimationSemantic, AnimInfo > m_info;
00186   AnimationInterpolator m_interpolator;
00187 };
00188
00189 // typedefs used for looking up animation data
00190 typedef std::multimap< daeElement *, AnimationData * > AnimationMap;
00191 typedef std::pair< AnimationMap::iterator, AnimationMap::iterator > AnimationDataIterator;
00192
00193 //
00194 // Stupid routines from the collada dom do not convert file names even if
00195 // built as a daeURI - so we gotta do it ourselves.  No error checking!!
00196 // Result must be free'd.
00197 //
00198 inline char *
00199 unescapeString( const char * str )
00200 {
00201   // copy memory - result will be same length or shorter
00202   char *orig, *result;
00203   orig = result = strdup( str );
00204
00205   while( 1 )
00206   {
00207     if( *str == 0 )
00208     {
00209       *result = 0;
00210       break;
00211     }
00212
00213     if( *str == '%' )
00214     {
00215       char chr = ((str[1]-'0')*0x10) + (str[2]-'0');
00216
00217       *result++ = chr;
00218       str += 3;
00219     }
00220     else
00221     {
00222       *result++ = *str++;
00223     }
00224   }
00225
00226   return orig;
00227 }
00228
00229 class DAELoader : public nvsg::SceneLoader
00230 {
00231 public:
00232   DAELoader();
00233
00234   void deleteThis( void );
00235
00236   nvsg::SceneSharedPtr load( const std::string& filename,
00237                                const std::vector<std::string> &searchPaths,
00238                                nvsg::ViewStateSharedPtr & viewState );
00239
00240   // these simply use the error handler
00241   void warn( const char * format, ... )
00242   {
00243     char buffer[16384];
00244     va_list valist;
00245
00246     va_start( valist, format );
00247     vsnprintf( buffer, 16384, format, valist );
00248     va_end( valist );
00249
00250     if( m_errorHandler )
00251     {
00252       m_errorHandler->handleWarning( buffer );
00253     }
00254   }
00255
00256   void error( const char * format, ... )
00257   {
00258     char buffer[16384];
00259     va_list valist;
00260
00261     va_start( valist, format );
00262     vsnprintf( buffer, 16384, format, valist );
00263     va_end( valist );
00264
00265     if( m_errorHandler )
00266     {
00267       m_errorHandler->handleError( buffer );
00268     }
00269   }
00270
00271 protected:
00272
00273   // materials
00274   enum MaterialFlags
00275   {
00276     MF_NONE              = 0,
00277     MF_CONTAINS_BUMPMAP  = BIT0,            // this material contains a bumpmap
00278     MF_CONTAINS_DIFFUSE  = BIT1,            // when mapping materials to vertex colors, diffuse is color
00279     MF_CONTAINS_SPECULAR = BIT2             // when mapping materials to vertex colors, specular is color
00280   };
00281
00282   struct MaterialParameters
00283   {
00284     unsigned int flags;         // int so we can use bitfield
00285     unsigned int bumpTexUnit;   // texture unit bump coords are on
00286     float        diffuse[4];    // diffuse color
00287     float        specular[4];   // specular color, where [3] is exponent/shininess
00288   };
00289
00290   // set based on certain material properties we need to know about
00291   MaterialParameters m_materialParameters;
00292   // used to pass on the fact that the geometry is two sided
00293   bool               m_twoSidedGeometryFlag;
00294
00295   void cleanup();
00296
00297   // hierarchy
00298   unsigned int getSourceDataInfo( domSource * source, unsigned int guess,
00299             std::vector< std::pair< std::string, std::string > > & data );
00300
00301   // animations
00302   bool buildAnimationLibrary( void );
00303
00304   nvsg::MaterialSharedPtr buildNVSGMaterial( ShaderState & state );
00305   nvsg::StateSetSharedPtr buildMaterial(domBind_material *, const std::string& );
00306   nvsg::StateSetSharedPtr buildMaterial( domMaterial * mat, domInstance_material * inst = 0 );
00307   bool parseMaterial( domMaterial *mat, ShaderState &, ShaderBuildMeister * );
00308   bool parseEffect( domEffect *effect, ShaderState &, ShaderBuildMeister * );
00309   bool parseProfileCOMMON( domProfile_COMMON *pc, ShaderState & );
00310   bool processColorOrTextureType( domCommon_color_or_texture_type *cot,
00311                                         int channel,
00312                                         domCommon_float_or_param_type *fop,
00313                                         Component & );
00314   bool processTexture( domCommon_color_or_texture_type_complexType *,
00315                         Component &, daeString * t = 0, daeString * s = 0 );
00316
00317   // elements
00318   nvsg::LightSourceSharedPtr parseLight( domLight *dlight, nvmath::Vec3f * position, nvmath::Vec3f * direction );
00319   nvsg::CameraSharedPtr parseCamera( domCamera *dc );
00320   bool resolveParamReference(xsNCName inref, domFloat4 & result );
00321
00322   virtual ~DAELoader(void);
00323
00324   //
00325   // current workarounds:
00326   //
00327   void setWorkaroundMode( const std::string & mode );
00328   bool getWorkaround( const std::string & e, std::string * result = 0 );
00329   void addWorkaround( const std::string & key, const std::string & value )
00330   {
00331     warn("DAE Workaround: '%s' = '%s'\n", key.c_str(), value.c_str() );
00332     m_workarounds[ key ] = value;
00333   }
00334
00335   bool loadFX( void );
00336   bool buildFXMaterial( const std::string & sid, ShaderBuildMeister * sbm );
00337
00338   bool getAnimation( daeElement * el, AnimationDataIterator & iter )
00339   {
00340     iter = m_animations.equal_range( el );
00341     return ( iter.first != iter.second );
00342   }
00343
00344   void addAnimation( daeElement * el, AnimationData * data )
00345   {
00346     m_animations.insert( std::pair< daeElement *, AnimationData * >( el, data ) );
00347   }
00348
00349   unsigned int timeToStep( float time );
00350
00351   private:
00352     //void                buildLibraryAnimations( domLibrary_animations_Array & animations );
00353     //void                buildLibraryAnimationsClip( domLibrary_animation_clips_Array & animations );
00354     //void                buildLibraryCameras( domLibrary_cameras_Array & animations );
00355     //void                buildLibraryControllers( domLibrary_controllers_Array & animations );
00356     //void                buildLibraryEffects( domLibrary_effects_Array & animations );
00357     //void                buildLibraryForceFields( domLibrary_force_fields_Array & animations );
00358     //void                buildLibraryGeometries( domLibrary_geometries_Array & animations );
00359     //void                buildLibraryImages( domLibrary_images_Array & animations );
00360     //void                buildLibraryLights( domLibrary_lights_Array & animations );
00361     //void                buildLibraryMaterials( domLibrary_materials_Array & animations );
00362     //void                buildLibraryNodes( domLibrary_nodes_Array & animations );
00363     //void                buildLibraryPhysicsMaterials( domLibrary_physics_materials_Array & animations );
00364     //void                buildLibraryPhysicsModels( domLibrary_physics_models_Array & animations );
00365     //void                buildLibraryPhysicsScenes( domLibrary_physics_scenes_Array & animations );
00366     //void                buildLibraryVisualScenes( domLibrary_visual_scenes_Array & animations );
00367     void                getSkinningInformation( domTriangles_Array & triangles
00368                                               , const std::vector<nvsg::PrimitiveSharedPtr> & primitives
00369                                               , std::vector<std::vector<unsigned int> > & nvsgToDAEVertexIndices
00370                                               , std::vector<std::vector<nvsg::Skin::SkinningType> > & skinningTypes );
00371     void                interpretBindShapeMatrix( domSkin::domBind_shape_matrix * bindShapeMatrix
00372                                                 , const nvsg::SkinSharedPtr & skin );
00373     nvsg::SceneSharedPtr  interpretCOLLADA( domCOLLADA * collada );
00374     void                interpretCOLLADAAsset( domAsset * asset );
00375     //void                interpretCOLLADAExtras( domExtra_Array & extras );
00376     nvsg::GeoNodeSharedPtr  interpretController( domController * controller
00377                                                  , domBind_material * bindMaterial
00378                                                  , unsigned int & numberOfJoints
00379                                                  , std::vector<domNode*> & skeletonNodes );
00380     //void                interpretControllerAsset( domAsset * asset );
00381     //void                interpretControllerExtras( domExtra_Array & extras );
00382     //void                interpretConvexMesh( domConvex_mesh * convexMesh );
00383     //void                interpretEvaluateScenes( domEvaluate_scene_Array & evaluateScenes );
00384     void                  interpretGeometry( domGeometry * geometry
00385                                            , domBind_material * bindMaterial
00386                                            , std::vector<nvsg::PrimitiveSharedPtr> & primitives
00387                                            , std::vector<nvsg::StateSetSharedPtr> & stateSets );
00388     //void                interpretGeometryAsset( domAsset * asset );
00389     void                interpretGeometryExtras( domExtra_Array & extras );
00390     //void                interpretInstanceControllerExtras( domExtra_Array & extras );
00391     void                interpretInstanceGeometryExtras( domExtra_Array & extras, nvsg::GeoNode * );
00392     void                interpretJoints( domSkin::domJoints * joints, const nvsg::SkinSharedPtr & skin
00393                                        , std::vector<domNode*> & skeletonNodes );
00394     //void                interpretJointsExtras( domExtra_Array & extras );
00395     void                interpretJointsInputs( domInputLocal_Array & inputs
00396                                              , const nvsg::SkinSharedPtr & skin
00397                                              , std::vector<domNode*> & skeletonNodes );
00398     void                interpretLinestrips( domLinestrips_Array & lines );
00399     void                interpretLines( domLines_Array & lines
00400                                       , domBind_material * bindMaterial
00401                                       , std::vector<nvsg::PrimitiveSharedPtr> & primitives
00402                                       , std::vector<nvsg::StateSetSharedPtr> & stateSets );
00403     nvsg::StateSetSharedPtr interpretMaterial( domBind_material * bindMaterial
00404                                                , daeElement * triangles
00405                                                , xsNCName materialName );
00406     void                  interpretMesh( domMesh * mesh
00407                                        , domBind_material * bindMaterial
00408                                        , std::vector<nvsg::PrimitiveSharedPtr> & primitives
00409                                        , std::vector<nvsg::StateSetSharedPtr> & stateSets );
00410     //void                interpretMeshExtras( domExtra_Array & extras );
00411     //void                interpretMeshSources( domSource_Array & sources );
00412     //void                interpretMorph( domMorph * morph );
00413     nvsg::GroupSharedPtr interpretNode( domNode * node );
00414     //void                interpretNodeAsset( domAsset * asset );
00415     //void                interpretNodeExtras( domExtra_Array & extras );
00416     void                interpretNodes( domNode_Array & nodes, nvsg::Group * parent );
00417     void                interpretPolygons( domPolygons_Array & polygons );
00418     void                interpretPolylists( domPolylist_Array & polylists );
00419     nvsg::VertexAttributeSetSharedPtr interpretPrimitive( domP * primitive
00420                                                           , unsigned int primCount
00421                                                           , unsigned int vertsPerPrim
00422                                                           , unsigned int numElements
00423                                                           , domFloat_array ** attributeArrays
00424                                                           , unsigned int * attributeOffsets
00425                                                           , unsigned int * attributeDimensions );
00426     nvsg::SceneSharedPtr  interpretScene( domCOLLADA::domScene * scene );
00427     //void                interpretSceneExtras( domExtra_Array & extras );
00428     //void                interpretSceneInstanceExtras( domExtra_Array & extras );
00429     nvsg::GeoNodeSharedPtr interpretSkin( domSkin * skin
00430                                           , domBind_material * bindMaterial
00431                                           , unsigned int & numberOfJoints
00432                                           , std::vector<domNode*> & skeletonNodes );
00433     //void                interpretSkinExtras( domExtra_Array & extras );
00434     //void                interpretSkeletons( domInstance_controller::domSkeleton_Array & skeletons
00435     //                                      , unsigned int numberOfJoints );
00436 #if !defined(NDEBUG)
00437     void                interpretSkinSources( domSource_Array & sources );
00438 #endif
00439     void                interpretSourceJOINT( domSource * source
00440                                             , std::vector<domNode*> & skeletonNodes
00441                                             , std::vector<domNode*> & joints );
00442     //void                interpretSpline( domSpline * spline );
00443     void interpretTransform( const std::string & typeName, domElement * element, AnimationData * anim,
00444                           std::vector< std::pair< AnimationData *, nvmath::Mat44f > > & matrixStack,
00445                           std::map<unsigned int,std::pair<nvmath::Vec3f,float> > & matrixStackIndexToAxisAngleMap );
00446     bool                interpretTransformElements( domNode * node, std::vector<nvsg::TransformSharedPtr> & transforms );
00447     void                interpretTriangles( domTriangles_Array & triangles
00448                                           , domBind_material * bindMaterial
00449                                           , std::vector<nvsg::PrimitiveSharedPtr> & primitives
00450                                           , std::vector<nvsg::StateSetSharedPtr> & stateSets );
00451     //void                interpretTrianglesExtras( domExtra_Array & extras );
00452     void                interpretPrimitiveElementInputs(
00453                                               domInputLocalOffset_Array & inputs
00454                                                 , domFloat_array ** attributeArray
00455                                                 , unsigned int * attributeOffset
00456                                                 , unsigned int * attributeDimension
00457                                                 , unsigned int & numElements
00458                                                 , nvsg::Skin::SkinningType * skinningType );
00459     void                interpretTrifans( domTrifans_Array & trifans );
00460     void                interpretTristrips( domTristrips_Array & tristrips );
00461     void                interpretVertexWeights( domSkin::domVertex_weights * vertexWeights
00462                                               , const nvsg::SkinSharedPtr & skinHdl
00463                                               , std::vector<nvsg::PrimitiveSharedPtr> & primitives
00464                                               , std::vector<std::vector<std::pair<unsigned int, float> > > & jointWeightPairs );
00465     //void                interpretVertices( domVertices * vertices );
00466     nvsg::SceneSharedPtr  interpretVisualScene( domVisual_scene * visualScene );
00467     void                interpretVisualSceneAsset( domAsset * asset );
00468     void                interpretVisualSceneExtras( domExtra_Array & extras, const nvsg::SceneSharedPtr & );
00469     void                instantiateCameras( domInstance_camera_Array & instanceCameras, nvsg::Group * parent );
00470     void                instantiateControllers( domInstance_controller_Array & instanceControllers, nvsg::Group * parent );
00471     void                instantiateGeometry( domInstance_geometry * instanceGeometry, nvsg::Group * parent );
00472     void                instantiateGeometries( domInstance_geometry_Array & instanceGeometries, nvsg::Group * parent );
00473     void                instantiateLights( domInstance_light_Array & instanceLights, nvsg::Group * parent );
00474     void                instantiateNodes( domInstance_node_Array & instanceNodes, nvsg::Group * parent );
00475     //void                instantiatePhysicsScenes( domInstanceWithExtra_Array & sceneInstances );
00476     //void                interpretVertexWeightsExtras( domExtra_Array & extras );
00477     unsigned int        interpretVertexWeightsInputs( domInputLocalOffset_Array & inputs
00478                                                     , unsigned int & indexOffset
00479                                                     , unsigned int & weightOffset
00480                                                     , domListOfFloats & weights );
00481     nvsg::SceneSharedPtr  instantiateVisualScene( domInstanceWithExtra * sceneInstance );
00482
00483 private:
00484   std::map<std::string, std::string> m_workarounds;
00485
00486   DAE * m_dae;
00487   int m_upAxis;
00488   float m_unitScale;
00489   float m_animMaxTime;
00490   bool m_dumpShaders;
00491   ErrorHandler * m_errorHandler;
00492   domEffect * m_currentEffect;
00493   domInstance_effect * m_currentEffectInstance;
00494   nvsg::GroupSharedPtr m_topLevel;
00495   nvsg::SceneSharedPtr m_scene;
00496
00497   bool m_warnedAboutSplines;
00498
00499   struct MaterialCacheEntry
00500   {
00501     nvsg::StateSetSharedPtr stateSet;
00502     MaterialParameters        parameters;
00503   };
00504
00505   std::map< domMaterial*, MaterialCacheEntry > m_materialCache;
00506
00507   AnimationMap m_animations;
00508
00509   std::map< std::string, cfxMaterial * > m_fxMaterials;
00510   std::map< std::string, cfxEffect * > m_fxEffects;
00511
00512   std::vector< std::string > m_searchPath;
00513   nvsg::ViewStateSharedPtr m_viewState;
00514   bool m_ignoreTransparency;
00515
00516   std::map<domNode*,nvsg::TransformSharedPtr> m_jointTransformMap;
00517   std::map<domNode*,nvsg::GroupSharedPtr> m_nodeGroupMap;
00518   std::map<nvsg::SkinWeakPtr,std::pair<std::vector<nvmath::Mat44f>,std::vector<domNode*> > > m_skinToJointsMap;
00519
00520 #if !defined(NDEBUG)
00521   domSource * m_attributeSource[NVMAX_ATTRIBUTES];
00522 #endif
00523
00524   ShaderBuildMeister * m_shaderBuilder;
00525 };
00526
00527 #endif // ! defined( DOXYGEN_IGNORE )
00528
00529 #endif /* _LOADDAE_H_ */
00530
00531
00532
00533
00534
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DbgNew.h Source File

inc / nvsg / nvutil

DbgNew.h

00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 // This header has been intentionally left blank until all references have been removed.
00015 // The line number for tracking is now being queryied through backtrace APIs.
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DisplayListGL.h Source File

inc / nvsg / nvgl

DisplayListGL.h

00001 // Copyright NVIDIA Corporation 2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/CoreTypes.h>
00015 #include <nvgl/RenderContextGL.h>
00016 #include <nvutil/HandledObject.h>
00017
00018 namespace nvgl
00019 {
00020   class DisplayListGL : public nvutil::HandledObject
00021   {
00022   public:
00026     NVSG_API static DisplayListGLSharedPtr create();
00027
00028     NVSG_API void beginCompile( );
00029     NVSG_API void beginCompileAndExecute( );
00030     NVSG_API void endCompile( );
00031
00032     NVSG_API void execute() const;
00033
00034     NVSG_API GLuint getGLId() const;
00035
00036   protected:
00037     friend struct nvutil::Holder<DisplayListGL>;
00038
00041     NVSG_API DisplayListGL();
00043     NVSG_API DisplayListGL( const DisplayListGL & );
00044     NVSG_API virtual ~DisplayListGL();
00045
00046   protected:
00047     GLuint                m_glId;
00048     ShareGroupGLSharedPtr m_shareGroupGL; // ShareGroup to use for deletion
00049   };
00050
00051   inline DisplayListGL::DisplayListGL()
00052   {
00053     m_glId = GLGenLists( 1 );
00054     m_shareGroupGL = RenderContextGL::getCurrentRenderContextGL()->getShareGroupGL();
00055   }
00056
00057   inline DisplayListGL::DisplayListGL( const DisplayListGL &)
00058   {
00059     NVSG_ASSERT( 0 && "copy constructor may not be called" );
00060   }
00061
00062   inline DisplayListGLSharedPtr DisplayListGL::create()
00063   {
00064     return DisplayListGLHandle::create();
00065   }
00066
00067   inline void DisplayListGL::beginCompile( )
00068   {
00069     GLNewList( m_glId, GL_COMPILE );
00070   }
00071
00072   inline void DisplayListGL::beginCompileAndExecute( )
00073   {
00074     GLNewList( m_glId, GL_COMPILE_AND_EXECUTE );
00075   }
00076
00077   inline void DisplayListGL::endCompile( )
00078   {
00079     GLEndList( );
00080   }
00081
00082   inline void DisplayListGL::execute() const
00083   {
00084     GLCallList( m_glId );
00085   }
00086
00087   inline GLuint DisplayListGL::getGLId() const
00088   {
00089     return m_glId;
00090   }
00091
00092 } // namespace nvgl
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: DLLFuncs.h Source File

inc / nvsg / nvutil

DLLFuncs.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <string>
00015
00016 namespace nvutil
00017 {
00019
00021   NVSG_API void * DLLOpen(const std::string & name);
00022
00024
00026   NVSG_API void   DLLClose( void * module );
00027
00029
00031   NVSG_API void * DLLSym( void *dll, const std::string & func );
00032 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: ErrorHandler.h Source File

src / Loader / DAELoader

ErrorHandler.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // ErrorHandler.h
00016 //
00017
00018 #ifndef _ERROR_HANDLER_H_
00019 #define _ERROR_HANDLER_H_
00020
00021 #include "dae/daeTypes.h"
00022 #include "dae/daeErrorHandler.h"
00023 #include "nvutil/PlugInCallback.h"
00024
00025 class ErrorHandler : public daeErrorHandler
00026 {
00027 public:
00028   ErrorHandler( nvutil::PlugInCallback * picb );
00029   virtual ~ErrorHandler();
00030
00031   void handleError( daeString msg );
00032   void handleWarning( daeString msg );
00033
00034 private:
00035   nvutil::PlugInCallback * m_callback;
00036 };
00037
00038 #endif /* _ERROR_HANDLER_H_ */
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: FFPBuilder.h Source File

src / Loader / DAELoader

FFPBuilder.h

00001
00002 // Copyright NVIDIA Corporation 2002-2009
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // FFPBuilder.h
00016 //
00017
00018 #pragma once
00019
00020 #include <string>
00021 #include <vector>
00022 #include "ShaderBuilder.h"
00023 #include <nvsg/CoreTypes.h>
00024
00025 class FFPBuilder : public ShaderBuilder
00026 {
00027   public:
00028     FFPBuilder();
00029     ~FFPBuilder();
00030
00031     std::string buildShader( ShaderState & state, bool optimizeShader );
00032     void setTextureOnly( bool to );
00033
00034   protected:
00035     void setParameters();
00036     nvsg::TextureAttributeItemSharedPtr getTextureForComponent( const Component & component );
00037     nvsg::MaterialSharedPtr buildMaterial( ShaderState & state );
00038
00039   private:
00040     ShaderState m_state;
00041     bool m_textureOnly;
00042 };
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: GeneratorState.h Source File

inc / nvsg / nvsg

GeneratorState.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/CoreTypes.h>
00015 #include <nvsg/GeoNode.h>
00016 #include <nvutil/TransformStack.h>
00017 #include <deque>
00018
00019 namespace nvsg
00020 {
00021   class RenderList2;
00022   class RenderModeGroup;
00023   class MaterialGroup;
00024   class DrawableInstance;
00025   class LightInstance;
00026   class ClipPlaneInstance;
00027
00028   typedef nvutil::SmartPtr< RenderList2 >               RenderList2SharedPtr;
00029   typedef nvutil::SmartPtr< RenderModeGroup >           RenderModeGroupSharedPtr;
00030   typedef nvutil::SmartPtr< MaterialGroup >             MaterialGroupSharedPtr;
00031   typedef nvutil::SmartPtr< DrawableInstance >          DrawableInstanceSharedPtr;
00032   typedef nvutil::SmartPtr< LightInstance >             LightInstanceSharedPtr;
00033   typedef nvutil::SmartPtr< ClipPlaneInstance >         ClipPlaneInstanceSharedPtr;
00034
00035   typedef RenderList2*      RenderList2WeakPtr;
00036   typedef RenderModeGroup*  RenderModeGroupWeakPtr;
00037   typedef MaterialGroup*    MaterialGroupWeakPtr;
00038   typedef DrawableInstance* DrawableInstanceWeakPtr;
00039
00040   typedef size_t TransformTreeIndex;
00041   typedef size_t ObjectTreeIndex;
00042
00043
00044   template< class NodeClass, class IndexClass >
00045   class TreeBaseClass
00046   {
00047   public:
00048     // typedefs for traversers
00049     typedef NodeClass  NodeType;
00050     typedef IndexClass IndexType;
00051
00052     TreeBaseClass()
00053     {
00054       // initialize object tree with some free indices
00055       size_t n( 65536 );
00056       m_tree.resize( n );
00057       // generate a chain of free objects, leave last index as initialized (~0)
00058       for( size_t i=0; i<n-1; ++i )
00059       {
00060         m_tree[i].m_nextSibling = i+1;
00061       }
00062       m_firstFreeIndex = 0;
00063     }
00064
00065     IndexClass getFreeNode()
00066     {
00067       // check if this is the last free index -> allocate more
00068       if( m_tree[m_firstFreeIndex].m_nextSibling == ~0 )
00069       {
00070         size_t size = m_tree.size();
00071         IndexClass firstNew = size;
00072
00073         // resize to factor of old size
00074         m_tree.resize( checked_cast<size_t>(size * 1.5f) );
00075         size_t newSize = m_tree.size();
00076
00077         // generate a new chain of free objects, with the last one pointing to ~0
00078         m_tree[m_firstFreeIndex].m_nextSibling = firstNew;
00079         for( size_t i=firstNew; i<newSize-1; ++i )
00080         {
00081           m_tree[i].m_nextSibling = i+1;
00082         }
00083       }
00084
00085       IndexClass index = m_firstFreeIndex;
00086       m_firstFreeIndex = m_tree[m_firstFreeIndex].m_nextSibling;
00087       return index;
00088     }
00089
00090     IndexClass insertNode( NodeClass node, IndexClass parentIndex, IndexClass prevSiblingIndex )
00091     {
00092       IndexClass index = getFreeNode();
00093
00094       // connect node in tree
00095       node.m_parentIndex = parentIndex;
00096
00097       if( parentIndex != ~0 )
00098       {
00099         // first child below a node
00100         if ( m_tree[parentIndex].m_firstChild == ~0 )
00101         {
00102           m_tree[parentIndex].m_firstChild = index;
00103         }
00104         // insert in the beginning of a node
00105         else if ( prevSiblingIndex == ~0 )
00106         {
00107           node.m_nextSibling = m_tree[parentIndex].m_firstChild;
00108           m_tree[parentIndex].m_firstChild = index;
00109         }
00110         // insert between two childs or at the end
00111         else
00112         {
00113           node.m_nextSibling = m_tree[prevSiblingIndex].m_nextSibling;
00114           m_tree[prevSiblingIndex].m_nextSibling = index;
00115         }
00116       }
00117
00118       // put node into tree
00119       m_tree[index] = node;
00120
00121       markDirty( index, ~0 );
00122
00123       return index;
00124     }
00125
00126     void deleteNode( IndexClass index )
00127     {
00128       NVSG_ASSERT( index != ~0 );
00129       NodeClass& node = m_tree[index];
00130
00131       // sever family ties
00132       if( node.m_parentIndex != ~0 )
00133       {
00134         NodeClass& parent = m_tree[node.m_parentIndex];
00135
00136         // disconnect node from previous sibling
00137         IndexClass current = parent.m_firstChild;
00138         while( current != ~0 )
00139         {
00140           if( m_tree[current].m_nextSibling == index )
00141           {
00142             // thou art not me brother!
00143             m_tree[current].m_nextSibling = node.m_nextSibling;
00144             break;
00145           }
00146           current = m_tree[current].m_nextSibling;
00147         }
00148
00149         // disconnect node from parent
00150         if( parent.m_firstChild == index )
00151         {
00152           // you are not my child anymore!
00153           parent.m_firstChild = node.m_nextSibling;
00154         }
00155
00156         // I don't have parents!
00157         node.m_parentIndex = ~0;
00158       }
00159
00160       // free node and all nodes below by putting them into the free list
00161       IndexClass lastIndex = ~0;
00162       std::deque< ObjectTreeIndex > queue;
00163       queue.push_back( index );
00164       while( !queue.empty() )
00165       {
00166         // take front node from queue
00167         IndexClass currentIndex = queue.front();
00168         NodeClass& current      = m_tree[currentIndex];
00169         queue.pop_front();
00170
00171         // insert all children into queue
00172         IndexClass childIndex = current.m_firstChild;
00173         while( childIndex != ~0 )
00174         {
00175           queue.push_back( childIndex );
00176           childIndex = m_tree[childIndex].m_nextSibling;
00177         }
00178
00179         // disconnect node from parents and children
00180         current.m_firstChild  = ~0;
00181         current.m_parentIndex = ~0;
00182
00183         // put node into free list
00184         if( lastIndex != ~0 )
00185         {
00186           m_tree[lastIndex].m_nextSibling = currentIndex;
00187         }
00188         lastIndex = currentIndex;
00189       }
00190       m_tree[lastIndex].m_nextSibling = m_firstFreeIndex;
00191       m_firstFreeIndex = index;
00192     }
00193
00194     NodeClass& operator[]( const IndexClass index )
00195     {
00196       return m_tree[index];
00197     }
00198
00199     const NodeClass& operator[]( const IndexClass index ) const
00200     {
00201       return m_tree[index];
00202     }
00203
00204     size_t size() const
00205     {
00206       return m_tree.size();
00207     }
00208
00209     void markDirty( const IndexClass index, unsigned int bits )
00210     {
00211       if ( !m_tree[index].m_dirtyBits )
00212       {
00213         m_dirtyObjects.push_back( index );
00214       }
00215       m_tree[index].m_dirtyBits |= bits;
00216     }
00217
00218     IndexClass               m_firstFreeIndex;
00219     std::vector< NodeClass > m_tree;
00220     std::vector< IndexClass> m_dirtyObjects;
00221   };
00222
00223   class TreeNodeBaseClass
00224   {
00225   public:
00226     TreeNodeBaseClass()
00227       : m_parentIndex( ~0 )
00228       , m_nextSibling( ~0 )
00229       , m_firstChild( ~0 )
00230       , m_dirtyBits( 0 )
00231     {}
00232
00233   public:
00234     ObjectTreeIndex m_parentIndex; // index of this node's parent
00235     ObjectTreeIndex m_nextSibling; // index of this node's next sibling (for child iteration)
00236     ObjectTreeIndex m_firstChild;  // index of this node's first child (for child iteration)
00237     unsigned int    m_dirtyBits;   // vector of dirty bits (bit definition in derived classes)
00238   };
00239
00240   struct TransformTreeNode : public TreeNodeBaseClass
00241   {
00242     enum DirtyBits
00243     {
00244       DEFAULT_DIRTY = BIT(0) // default dirty flag: update transform and bits
00245     };
00246
00247     enum NodeBits
00248     {
00249       ISMIRRORTRANSFORM = BIT(0)
00250     };
00251
00252     TransformTreeNode()
00253       : m_transform( nullptr )
00254       , m_billboard( nullptr )
00255       , m_localBits( 0 )
00256       , m_worldBits( 0 )
00257     {}
00258
00259     inline void setLocalBits( unsigned int bits, bool value )
00260     {
00261       m_localBits = value ? m_localBits |  bits
00262                           : m_localBits & ~bits;
00263     }
00264
00265     inline void setWorldBits( unsigned int bits, bool value )
00266     {
00267       m_worldBits = value ? m_worldBits |  bits
00268                           : m_worldBits & ~bits;
00269     }
00270
00271     TransformWeakPtr   m_transform;
00272     BillboardWeakPtr   m_billboard;
00273     nvmath::Mat44f     m_localMatrix;
00274     nvmath::Mat44f     m_worldMatrix;
00275     unsigned int       m_localBits;
00276     unsigned int       m_worldBits;
00277     ObjectTreeIndex    m_objectTreeIndex;
00278   };
00279
00280   struct ObjectTreeNode : public TreeNodeBaseClass
00281   {
00282     enum DirtyBits
00283     {
00284       DEFAULT_DIRTY = BIT(0),  // default dirty flag: update hints, mask and active flag
00285       BV_DIRTY      = BIT(1),  // bounding volume dirty flag: invalidate BVs of DIs found
00286       GEONODE_DIRTY = BIT(2)   // GeoNode marked dirty for replacement
00287     };
00288
00289     ObjectTreeNode()
00290       : m_object( nullptr )
00291       , m_di( nullptr )
00292       , m_localHints( 0 )
00293       , m_worldHints( 0 )
00294       , m_localActive( true )
00295       , m_worldActive( true )
00296       , m_localMask( ~0 )
00297       , m_worldMask( ~0 )
00298     {}
00299
00300     TransformTreeIndex       m_transformIndex; // index of the current parent transform
00301     ObjectWeakPtr            m_object;         // the node's object in the tree
00302     DrawableInstanceWeakPtr  m_di;             // the DrawableInstance of this node, if it's object is a drawable
00303     unsigned int             m_localHints;     // the hints the corresponding node/primitive provides
00304     unsigned int             m_worldHints;     // the resulting hints for this node
00305     unsigned int             m_localMask;      // mask of the node's object
00306     unsigned int             m_worldMask;      // resulting mask
00307     bool                     m_localActive;    // false iff node is hidden due to Switch/LOD/FBA (can only be child of one at a time -> bool)
00308     bool                     m_worldActive;    // false iff node is hidden due to !m_localActive or !parent.m_localActive
00309   };
00310
00311   class TransformTree : public TreeBaseClass< TransformTreeNode, TransformTreeIndex >
00312   {};
00313   typedef std::set< TransformTreeIndex > TransformTreeIndexSet;
00314
00315   class ObjectTree : public TreeBaseClass< ObjectTreeNode, ObjectTreeIndex >
00316   {
00317   public:
00318     std::map< ObjectTreeIndex, SwitchWeakPtr >            m_switchNodes;
00319     std::map< ObjectTreeIndex, FlipbookAnimationWeakPtr > m_flipbookAnimations;
00320     std::map< ObjectTreeIndex, LODWeakPtr >               m_LODs;
00321   };
00322   typedef std::set< ObjectTreeIndex >                     ObjectTreeIndexSet;
00323
00324   typedef nvutil::STLVector<LightInstanceSharedPtr>       LightVector;
00325   typedef nvutil::STLVector<ClipPlaneInstanceSharedPtr>   ClipPlaneVector;
00326
00327   class GeneratorState;
00328   typedef nvutil::SmartPtr< GeneratorState > GeneratorStateSharedPtr;
00329   class GeneratorState : public nvutil::RCObject
00330   {
00331   public:
00332     NVSG_API static GeneratorStateSharedPtr create( const RenderList2WeakPtr& renderList )
00333     {
00334       return new GeneratorState( renderList );
00335     }
00336
00337   public:
00338     // set current environment for transform and object tree
00339     NVSG_API void setCurrentTransformTreeData( nvsg::TransformTreeIndex parentIndex, nvsg::TransformTreeIndex siblingIndex );
00340     NVSG_API void setCurrentObjectTreeData( nvsg::ObjectTreeIndex parentIndex, nvsg::ObjectTreeIndex siblingIndex );
00341
00342     // build up transform tree
00343     NVSG_API void pushTransform( const TransformWeakPtr& t );
00344     NVSG_API void pushTransform( const BillboardWeakPtr& bb );
00345     NVSG_API void popTransform();
00346     NVSG_API TransformTreeIndex getParentTransformIndex() const;
00347     NVSG_API TransformTreeIndex getSiblingTransformIndex() const;
00348
00349     NVSG_API void addDynamicTransformIndex( TransformTreeIndex index );
00350
00351     // build up node tree
00352     NVSG_API void pushObject( const GroupWeakPtr& g );
00353     NVSG_API void pushObject( const FlipbookAnimationWeakPtr& fba );
00354     NVSG_API void pushObject( const LODWeakPtr& lod );
00355     NVSG_API void pushObject( const SwitchWeakPtr& s );
00356     NVSG_API void pushObject( const GeoNodeWeakPtr& gn );
00357     NVSG_API void popObject();
00358     // add primitive as leaf under node tree, returns the index of the primitive
00359     NVSG_API ObjectTreeIndex addPrimitive( const PrimitiveWeakPtr& p, const DrawableInstanceWeakPtr& di );
00360     // data access functions
00361     NVSG_API ObjectTreeIndex getParentObjectIndex() const;
00362     NVSG_API ObjectTreeIndex getSiblingObjectIndex() const;
00363
00364     NVSG_API void pushLightSet();
00365     NVSG_API void popLightSet();
00366     NVSG_API void addLight( const LightInstanceSharedPtr& l );
00367     NVSG_API size_t getNumberOfLights() const;
00368     NVSG_API const LightInstanceSharedPtr& getLight( unsigned int i ) const;
00369     NVSG_API const LightVector& getLightVector();
00370
00371     NVSG_API void pushClipPlaneSet();
00372     NVSG_API void popClipPlaneSet();
00373     NVSG_API void addClipPlane( const ClipPlaneInstanceSharedPtr& l );
00374     NVSG_API size_t getNumberOfClipPlanes() const;
00375     NVSG_API const ClipPlaneInstanceSharedPtr& getClipPlane( unsigned int i ) const;
00376     NVSG_API const ClipPlaneVector& getClipPlaneVector();
00377
00378     // TODO: remove this API, redundant due to ObjectTree
00379     NVSG_API void setGeoNode( const GeoNodeWeakPtr & g );
00380     NVSG_API const GeoNodeWeakPtr& getGeoNode() const;
00381
00382     NVSG_API void setStateSetIterator( const GeoNode::StateSetConstIterator& ssci );
00383     NVSG_API GeoNode::StateSetConstIterator getStateSetIterator() const;
00384
00385     NVSG_API void setMaterial( const StateVariantWeakPtr& s );
00386     NVSG_API const StateVariantWeakPtr& getMaterial() const;
00387
00388   protected:
00389     friend struct nvutil::Holder<GeneratorState>;
00390
00391     GeneratorState( const RenderList2WeakPtr& renderList );
00392
00393   private:
00394     typedef std::stack< std::pair< TransformTreeIndex, TransformTreeIndex> > TransformParentSiblingStack;
00395     typedef std::stack< std::pair< ObjectTreeIndex,    ObjectTreeIndex > >   ObjectParentSiblingStack;
00396
00397   private:
00398     ObjectTreeIndex insertNode( const ObjectWeakPtr& g );
00399
00400   private:
00401     RenderList2WeakPtr             m_renderList;
00402
00403     TransformParentSiblingStack    m_transformParentSiblingStack; // A stack of indices of the current parent and sibling nodes
00404     ObjectParentSiblingStack       m_objectParentSiblingStack;    // A stack of indices of the current parent and sibling nodes
00405
00406     struct LightVectorStackEntry
00407     {
00408       LightVectorStackEntry( )
00409         : m_sorted( false )
00410       {
00411       }
00412
00413       LightVectorStackEntry( const LightVectorStackEntry &rhs )
00414         : m_lightVector( rhs.m_lightVector )
00415         , m_sorted( rhs.m_sorted )
00416       {
00417       }
00418
00419       LightVector m_lightVector;
00420       bool        m_sorted;
00421     };
00422
00423     struct ClipPlaneVectorStackEntry
00424     {
00425       ClipPlaneVectorStackEntry( )
00426         : m_sorted( false )
00427       {
00428       }
00429
00430       ClipPlaneVectorStackEntry( const ClipPlaneVectorStackEntry &rhs )
00431         : m_clipPlaneVector( rhs.m_clipPlaneVector )
00432         , m_sorted( rhs.m_sorted )
00433       {
00434       }
00435
00436       ClipPlaneVector m_clipPlaneVector;
00437       bool            m_sorted;
00438     };
00439
00440     //TODO0 initialize these two before inserting
00441     std::vector< LightVectorStackEntry >     m_lightVector;                 // A vector of vectors with sort status since an arbitrary amount can be added per Group
00442     std::vector< ClipPlaneVectorStackEntry > m_clipPlaneVector;             // A vector of vectors with sort status since an arbitrary amount can be added per Group
00443
00444     StateVariantWeakPtr            m_material;                    // Current material
00445     GeoNodeWeakPtr                 m_geoNode;                     // The current GeoNode we're under
00446     GeoNode::StateSetConstIterator m_stateSetIterator;            // The iterator of the current StateSet in the GeoNode
00447   };
00448
00449 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: GLCgGLStateCallbacks.h Source File

inc / nvsg / nvgl

GLCgGLStateCallbacks.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsg/nvsgapi.h"
00015 #include "Cg/cg.h"
00016 #include "nvsg/CgFx.h"
00017
00018 namespace nvgl
00019 {
00020 #if !defined(DOXYGEN_IGNORE)
00021
00023
00025 NVSG_API void GLCgGLRegisterStateCallbacks(CGcontext context);
00026
00028
00031 NVSG_API void GLCgGLBindEffect( nvsg::CgFxEffect * effect );
00032
00034
00036 NVSG_API nvsg::CgFxEffect * GLCgGLGetEffect();
00037
00039
00042 NVSG_API void GLCgGLBindPass( nvsg::CgFxPass pass );
00043
00045
00047 NVSG_API nvsg::CgFxPass GLCgGLGetPass();
00048
00050
00053 NVSG_API void GLCgGLBindProgram( nvsg::CgFxProgram program );
00054
00056
00058 NVSG_API nvsg::CgFxProgram GLCgGLGetProgram();
00059
00061
00065 NVSG_API void GLCgGLApplyProgramSamplers();
00066
00067 #endif
00068 }
Generated on Fri Jul 13 13:26:53 2012 for SceniX


SceniX: GLEvalVertexAttrib.h Source File

inc / nvsg / nvgl

GLEvalVertexAttrib.h

00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvgl/nvgl.h>
00015
00016 #include <nvgl/GLObjectRenderer.h>
00017
00018 namespace nvsg
00019 {
00020   class VertexAttributeSet;
00021 }
00022
00023 namespace nvgl
00024 {
00025
00026   struct GLArrayBufferCache;
00027
00028   template <GLuint attrIndex>
00029   struct GLEvalVertexAttrib
00030   {
00031     enum {
00032       cshift = attrIndex,
00033       gshift = attrIndex+16,
00034       cmask = 1 << cshift,
00035       gmask = 1 << gshift,
00036       mask = cmask | gmask
00037     };
00038
00039     static void disable();
00040     static void enableGeneric(GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid * ptr);
00041     static void enableConventional(GLint size, GLenum type, GLsizei stride, const GLvoid * ptr);
00042
00043     static NVSG_API void eval(const nvsg::VertexAttributeSet * vset);
00044     static NVSG_API void eval(const nvsg::VertexAttributeSet * vset, const GLArrayBufferCache * cache);
00045   };
00046
00047   template <GLuint attrIndex>
00048   struct GLEvalVertexAttribUnifiedMemory
00049   {
00050     enum {
00051       cshift = attrIndex,
00052       gshift = attrIndex+16,
00053       cmask = 1 << cshift,
00054       gmask = 1 << gshift,
00055       mask = cmask | gmask
00056     };
00057
00058     static void disable();
00059     static void enableGeneric(GLint size, GLenum type, GLboolean normalize, GLsizei stride, GLuint64EXT address, GLsizeiptr length);
00060     static void enableConventional(GLint size, GLenum type, GLsizei stride, GLuint64EXT address, GLsizeiptr length);
00061
00062     static NVSG_API void eval(const nvsg::VertexAttributeSet * vset, const GLArrayBufferCache * cache);
00063   };
00064
00065
00066   // version of GLEvalVertexAttrib for new RenderList processing framework using RenderObjects
00067   template <GLuint attrIndex>
00068   struct GLEvalVertexAttrib2
00069   {
00070     enum {
00071       cshift = attrIndex,
00072       gshift = attrIndex+16,
00073       cmask = 1 << cshift,
00074       gmask = 1 << gshift,
00075       mask = cmask | gmask
00076     };
00077
00078     static void disable();
00079     static void enableGeneric(GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid * ptr);
00080     static void enableConventional(GLint size, GLenum type, GLsizei stride, const GLvoid * ptr);
00081
00082     static NVSG_API void eval(const nvsg::VertexAttributeSet * vset);
00083     static NVSG_API void eval(const nvsg::VertexAttributeSet * vset, const DIResourceSharedPtr& resource );
00084     static NVSG_API void eval( const DIResourceSharedPtr& resource );
00085   };
00086
00087   // version of GLEvalVertexAttrib for new RenderList processing framework using RenderObjects
00088   template <GLuint attrIndex>
00089   struct GLEvalVertexAttrib3
00090   {
00091     enum {
00092       cshift = attrIndex,
00093       gshift = attrIndex+16,
00094       cmask = 1 << cshift,
00095       gmask = 1 << gshift,
00096       mask = cmask | gmask
00097     };
00098
00099     static NVSG_API void enableGeneric();
00100     static NVSG_API void enableConventional();
00101     static NVSG_API void disableGeneric();
00102     static NVSG_API void disableConventional();
00103     static NVSG_API void updateGeneric(GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid * ptr);
00104     static NVSG_API void updateGeneric( const DIResourceWeakPtr &diResource );
00105
00106     // TODO GLsizeiptr?
00107     static NVSG_API void updateConventional(GLint size, GLenum type, GLboolean normalize, GLsizei stride, const GLvoid * ptr);
00108     static NVSG_API void updateConventional(GLint size, GLenum type, GLsizei stride, const GLvoid * ptr);
00109     static NVSG_API void updateConventional( const DIResourceWeakPtr &diResource );
00110
00111     static NVSG_API void updateUnifiedFormatConventional(GLint size, GLenum type, GLsizei stride);
00112     static NVSG_API void updateFormatUnifiedConventional( const VertexDeclarationSharedPtr& renderObject ); // update only format
00113     static NVSG_API void updateFormatUnifiedGeneric( const VertexDeclarationSharedPtr& vertexDeclaration ); // update only format
00114
00115     static NVSG_API void updateUnifiedGeneric( const VertexDeclarationSharedPtr& vertexDeclaration );
00116     static NVSG_API void updateUnifiedConventional( const VertexDeclarationSharedPtr& vertexDeclaration );
00117   };
00118
00119 }
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: GLRenderListProcessor.h Source File

inc / nvsg / nvgl

GLRenderListProcessor.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/IteratingRenderListProcessor.h>
00015 #include <nvgl/RenderTargetGL.h>
00016 #include <nvsg/ViewState.h>
00017
00018 #include <nvgl/GLObjectRenderer.h>
00019
00020 namespace nvgl
00021 {
00022
00023
00024
00025 class GLRenderListProcessor;
00026 typedef nvutil::SmartPtr< GLRenderListProcessor > GLRenderListProcessorSharedPtr;
00027 class GLRenderListProcessor : public nvsg::IteratingRenderListProcessor
00028                             , public nvutil::RCObject
00029 {
00030 public:
00031   NVSG_API static GLRenderListProcessorSharedPtr create( const nvsg::ObjectRendererSharedPtr& );
00032
00033 public:
00034   NVSG_API virtual void setViewState( const nvsg::ViewStateSharedPtr& );
00035
00036   NVSG_API virtual bool beginHandle( const nvsg::RenderList2SharedPtr& );
00037   NVSG_API virtual void endHandle  ( const nvsg::RenderList2SharedPtr& );
00038
00039   NVSG_API virtual bool beginHandle( const nvsg::RenderModeGroupSharedPtr& );
00040   NVSG_API virtual void endHandle  ( const nvsg::RenderModeGroupSharedPtr& );
00041
00042   NVSG_API virtual bool beginHandle        ( const nvsg::MaterialGroupSharedPtr& );
00043   NVSG_API virtual bool handleChildrenAgain( const nvsg::MaterialGroupSharedPtr& );
00044   NVSG_API virtual void endHandle          ( const nvsg::MaterialGroupSharedPtr& );
00045
00046   NVSG_API virtual void doAddRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00047   NVSG_API virtual void doSetRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00048
00049   NVSG_API virtual void handle( const nvsg::DrawableInstanceSharedPtr& );
00050
00051 protected:
00052   bool updateTransforms( nvsg::TransformTreeIndex transformIndex );
00053
00054   friend struct nvutil::Holder<GLRenderListProcessor>;
00055
00056   NVSG_API GLRenderListProcessor( const nvsg::ObjectRendererSharedPtr & );
00057   NVSG_API virtual ~GLRenderListProcessor();
00058
00060   NVSG_API void cacheMGResource( const nvsg::StateVariantSharedPtr& stateVariant, const MGResourceSharedPtr& mgResource );
00061
00063   NVSG_API void beginRenderMGResource( const MGResourceSharedPtr& mgResource );
00064
00066   NVSG_API void endRenderMGResource( const MGResourceSharedPtr& mgResource );
00067
00068   // shortcuts to different render states
00069   nvsg::RenderState&    renderState()    { return *m_renderState; }
00070   nvsg::MaterialState&  materialState()  { return m_renderState->m_materialState; }
00071   nvsg::ShaderState&    shaderState()    { return m_renderState->m_materialState.m_shaderState; }
00072   nvsg::TransformState& transformState() { return m_renderState->m_transformState; }
00073   nvsg::LightState&     lightState()     { return m_renderState->m_lightState; }
00074
00075 protected:
00076   nvsg::ObjectRendererSharedPtr   m_objectRenderer;
00077
00078 private:
00079   void initOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00080   void initPropertyIds();
00081
00082 private:
00083   nvsg::RenderStateSharedPtr      m_renderState;
00084   nvsg::MaterialSharedPtr         m_defaultMaterial;
00085
00086   nvsg::LightVector m_activeLights;
00087 };
00088
00089 } // namespace nvgl
00090
00091
00092
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: glxtypes.h Source File

inc / nvsg / nvgl

glxtypes.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00020 // these types are not defined in linux gl headers
00021 typedef const char * (GLAPIENTRYP PFNGLXQUERYEXTENSIONSSTRINGPROC) (Display *dpy, int screen );
00022
00023 typedef GLXContext   (GLAPIENTRYP PFNGLXCREATECONTEXT) (Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
00024 typedef void         (GLAPIENTRYP PFNGLXDESTROYCONTEXT) (Display *dpy, GLXContext ctx);
00025 typedef GLXContext   (GLAPIENTRYP PFNGLXGETCURRENTCONTEXT) (void);
00026 typedef Bool         (GLAPIENTRYP PFNGLXMAKECONTEXTCURRENTPROC) (Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
00027 typedef GLXDrawable  (GLAPIENTRYP PFNGLXGETCURRENTREADDRAWABLEPROC) (void);
00028
00029 typedef GLXPbuffer   (GLAPIENTRYP PFNGLXCREATEGLXPBUFFERSGIXPROC) (Display *dpy, GLXFBConfig config,
00030                                                                    unsigned int width,
00031                                                                    unsigned int height,
00032                                                                    const int *attrib_list);
00033 typedef void         (GLAPIENTRYP PFNGLXDESTROYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbuffer pbuf);
00034 typedef void         (GLAPIENTRYP PFNGLXQUERYGLXPBUFFERSGIXPROC) (Display *dpy, GLXPbuffer pbuf,
00035                                                                   int attribute, unsigned int *value);
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: Graph Legend

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };

/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };

/* Class not documented with doxygen comments */
class Undocumented { };

/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };

/*! A template class */
template<class T> class Templ { };

/*! Class that is inherited using protected inheritance */
class ProtectedBase { };

/*! Class that is inherited using private inheritance */
class PrivateBase { };

/*! Class that is used by the Inherited class */
class Used { };

/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
                  protected ProtectedBase,
                  private PrivateBase,
                  public Undocumented
                  public Templ<int>
{
  private:
    Used *m_usedClass;
};
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

The boxes in the above graph have the following meaning:

  • A filled black box represents the struct or class for which the graph is generated.
  • A box with a black border denotes a documented struct or class.
  • A box with a grey border denotes an undocumented struct or class.
  • A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
The arrows have the following meaning:
  • A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • A dark green arrow is used for protected inheritance.
  • A dark red arrow is used for private inheritance.
  • A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
Generated on Fri Jul 13 13:31:33 2012 for SceniX


SceniX: HashGeneratorMurMur.h Source File

inc / nvsg / nvutil

HashGeneratorMurMur.h

00001 // Copyright NVIDIA Corporation 2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR a PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // Implementation of MurmurHash by Austin Appleby.
00013 #pragma once
00014
00015 #include <nvutil/HashGenerator.h>
00016
00017 namespace nvutil
00018 {
00019   class HashGeneratorMurMur : public HashGenerator
00020   {
00021     public:
00022       NVSG_API HashGeneratorMurMur( unsigned int seed = 0);
00023       NVSG_API virtual ~HashGeneratorMurMur() {};
00024
00025       // import non-virtual update signature
00026       using HashGenerator::update;
00027
00028       // update the hash with the input
00029       NVSG_API void update( const unsigned char * input, unsigned int byteCount );
00030
00031       // get the size of the hash value
00032       NVSG_API virtual unsigned int getSizeOfHash() const { return 4; }
00033
00034       // do the final hash calculation and get the hash value
00035       NVSG_API virtual void finalize( void * hash );
00036
00037       NVSG_API std::string finalize();
00038   private:
00039     NVSG_API void updateTail( const unsigned char * & data, unsigned int & len );
00040
00041     static const unsigned int m_m = 0x5bd1e995;
00042     static const int m_r = 24;
00043
00044     static inline void mmix(unsigned int &h, unsigned int & k)
00045     {
00046       k *= m_m;
00047       k ^= k >> m_r;
00048       k *= m_m;
00049       h *= m_m;
00050       h ^= k;
00051     }
00052
00053     unsigned int m_hash;
00054     unsigned int m_tail;
00055     unsigned int m_count;
00056     unsigned int m_size;
00057     unsigned int m_seed;
00058   };
00059 } // namespace nvutil
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: ILTexLoader.h Source File

src / Loader / ILTexLoader

ILTexLoader.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsg/PlugInterface.h"
00015
00016 #include <vector>
00017 #include <string>
00018
00019 namespace nvsg
00020 {
00021   class TextureHost;
00022 }
00023
00024 namespace nvutil
00025 {
00026   class UPITID;
00027   class UPIID;
00028 }
00029
00030 // storage-class defines
00031 #if defined(_WIN32)
00032 # ifdef ILTEXLOADER_EXPORTS
00033 #  define ILTEXLOADER_API __declspec(dllexport)
00034 # else
00035 #  define ILTEXLOADER_API __declspec(dllimport)
00036 # endif
00037 #else
00038 #  define ILTEXLOADER_API
00039 #endif
00040
00041 // exports required for a scene loader plug-in
00042 extern "C"
00043 {
00044   ILTEXLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00045   ILTEXLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00046 }
00047
00049 class ILTexLoader : public nvsg::TextureLoader
00050 {
00051   public:
00052     ILTexLoader();
00053
00054     friend bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00055
00057
00058     void deleteThis( void );
00059
00060   protected:
00062
00066     virtual ~ILTexLoader();
00067
00079     bool onLoad( const std::string & filename
00080                , nvsg::TextureHost * texImg
00081                , const std::vector<std::string> & searchPaths );
00082
00083   protected:
00087     static ILTexLoader* m_instance;
00088     static unsigned int m_refCount;
00089 };
00090
00091
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: ILTexSaver.h Source File

src / Saver / ILTexSaver

ILTexSaver.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014
00015 namespace nvutil
00016 {
00017   class UPITID;
00018   class UPIID;
00019 }
00020
00021 #include "nvsg/PlugInterface.h"
00022 #include "nvsg/CoreTypes.h"
00023 #include <vector>
00024 #include <string>
00025
00026 // storage-class defines
00027 #if defined(_WIN32)
00028 # ifdef ILTEXSAVER_EXPORTS
00029 #  define ILTEXSAVER_API __declspec(dllexport)
00030 # else
00031 #  define ILTEXSAVER_API __declspec(dllimport)
00032 # endif
00033 #else
00034 #  define ILTEXSAVER_API
00035 #endif
00036
00037 // exports required for a scene loader plug-in
00038 extern "C"
00039 {
00040   ILTEXSAVER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00041   ILTEXSAVER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00042 }
00043
00044
00046 class ILTexSaver : public nvsg::TextureSaver
00047 {
00048 public:
00049   ILTexSaver();
00050
00051   friend bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00052
00053   void deleteThis( void );
00054   bool save( const nvsg::TextureHostSharedPtr & image, const std::string& fileName );
00055
00056 protected:
00057   virtual ~ILTexSaver();
00058 private:
00059   static ILTexSaver* m_instance;
00060   static unsigned int m_refCount;
00061 };
00062
00063
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: ImmediateModeGLRenderListProcessor.h Source File

inc / nvsg / nvgl

ImmediateModeGLRenderListProcessor.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 //#include <nvsg/nvsgcommon.h>
00015 #include <nvsg/IteratingRenderListProcessor.h>
00016 #include <nvgl/RenderTargetGL.h>
00017 //#include <nvgl/GLContext.h>
00018 #include <nvsg/ViewState.h>
00019
00020 //#include <GL/glu.h>
00021 #include <map>
00022
00023 namespace nvgl
00024 {
00025   /*
00026 class ImmediateModeGLRenderListProcessor : public nvsg::IteratingRenderListProcessor
00027 {
00028 public:
00029   NVSG_API virtual void setRenderTarget( nvgl::SmartRenderTargetGL renderTarget );
00030   NVSG_API virtual void setViewState( const nvsg::ViewStateSharedPtr & viewState );
00031
00032 protected:
00033   NVSG_API virtual bool beginHandle( nvsg::SmartRenderList2 );
00034   NVSG_API virtual void endHandle  ( nvsg::SmartRenderList2 );
00035
00036   NVSG_API virtual bool beginHandle( nvsg::SmartMaterialGroup );
00037   NVSG_API virtual bool handleAgain( nvsg::SmartMaterialGroup );
00038   NVSG_API virtual void endHandle  ( nvsg::SmartMaterialGroup );
00039
00040   NVSG_API virtual bool beginHandle( nvsg::SmartDrawableInstance );
00041   NVSG_API virtual void endHandle  ( nvsg::SmartDrawableInstance );
00042
00043   NVSG_API virtual bool beginHandle( nvsg::SmartTransformGroup );
00044   NVSG_API virtual void endHandle  ( nvsg::SmartTransformGroup );
00045
00046   NVSG_API virtual void handle( nvsg::SmartGeometryInstance );
00047
00048 private:
00049   typedef std::map< nvsg::LightSourceSharedPtr, GLenum > LightMap;
00050   typedef LightMap::iterator LightMapIterator;
00051 private:
00052   void renderCamera( const nvsg::Camera * cam );
00053   void renderPointLight( const nvsg::PointLight * light, bool enable );
00054   bool renderLightSource( const nvsg::LightSource * light, bool enable, GLenum & lightId );
00055   bool renderPass( const nvsg::StateVariantWeakPtr & stateVariant, unsigned int pass );
00056
00057 private:
00058   nvgl::SmartRenderTargetGL  m_renderTarget;
00059   nvsg::ViewStateSharedPtr m_viewState;
00060
00061   LightMap     m_lights;
00062   unsigned int m_currentPass;
00063 };
00064 */
00065 } // namespace nvgl
00066
00067
00068
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: Incarnation.h Source File

inc / nvsg / nvutil

Incarnation.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 namespace nvutil {
00017
00019
00022 class Incarnation
00023 {
00024 public:
00026
00027   NVSG_API Incarnation();
00028
00030
00032   NVSG_API bool operator==(const Incarnation& rhs) const;
00033
00035
00037   NVSG_API bool operator!=(const Incarnation& rhs) const;
00038
00040
00042   NVSG_API Incarnation& operator++(); // prefix ++
00043
00045
00048   NVSG_API const Incarnation operator++(int); // postfix ++
00049
00051   NVSG_API Incarnation operator+( int i ) const;
00052
00053
00055   NVSG_API Incarnation& operator+=( int i );
00056
00057
00058 private:
00059   NVSG_API explicit Incarnation(int incarnation);
00060
00061 private:
00062   int m_incarnation;
00063 };
00064
00065 inline bool Incarnation::operator==(const Incarnation& rhs) const
00066 {
00067   return m_incarnation==rhs.m_incarnation;
00068 }
00069
00070 inline bool Incarnation::operator!=(const Incarnation& rhs) const
00071 {
00072   return m_incarnation!=rhs.m_incarnation;
00073 }
00074
00075 inline Incarnation& Incarnation::operator++()
00076 {
00077   ++m_incarnation;
00078   return *this;
00079 }
00080
00081 inline const Incarnation Incarnation::operator++(int)
00082 {
00083   return Incarnation(m_incarnation++);
00084 }
00085
00086 inline Incarnation Incarnation::operator+(int i) const
00087 {
00088   return( Incarnation( m_incarnation + i ) );
00089 }
00090
00091 inline Incarnation& Incarnation::operator+=(int i)
00092 {
00093   m_incarnation+=i;
00094   return *this;
00095 }
00096
00097 } // namespace nvutil
00098
Generated on Fri Jul 13 13:26:56 2012 for SceniX


SceniX: IteratingRenderListProcessor.h Source File

inc / nvsg / nvsg

IteratingRenderListProcessor.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/Camera.h>
00015 #include <nvsg/RenderListProcessor.h>
00016 #include <nvsg/ViewState.h>
00017 #include <nvui/RendererOptions.h>
00018
00019 namespace nvsg
00020 {
00021 class IteratingRenderListProcessor : public RenderListProcessor
00022                                    , public nvui::RendererOptionsProvider
00023 {
00024 public:
00025   NVSG_API static const std::string & getOptionStringFrustumCulling()
00026   {
00027     static std::string s( "IteratingRenderListProcessor::FrustumCulling" );
00028     return( s );
00029   }
00030
00031   NVSG_API static const std::string & getOptionStringSizeCulling()
00032   {
00033     static std::string s( "IteratingRenderListProcessor::SizeCulling" );
00034     return( s );
00035   }
00036
00037   NVSG_API static const std::string & getOptionStringSizeCullingFactor()
00038   {
00039     static std::string s( "IteratingRenderListProcessor::SizeCullingFactor" );
00040     return( s );
00041   }
00042
00043   NVSG_API static const std::string & getOptionStringRenderModeGroup()
00044   {
00045     static std::string s( "IteratingRenderListProcessor::RenderModeGroup" );
00046     return( s );
00047   }
00048
00049   NVSG_API static const std::string & getOptionStringTraversalMaskOverride()
00050   {
00051     static std::string s( "IteratingRenderListProcessor::TraversalMaskOverride" );
00052     return( s );
00053   }
00054
00055 public:
00056   NVSG_API IteratingRenderListProcessor();
00057   NVSG_API virtual ~IteratingRenderListProcessor()  { /*NOP*/ };
00058
00059   NVSG_API virtual RenderList2SharedPtr process( const RenderList2SharedPtr& );
00060
00061   NVSG_API virtual void setRenderTarget( const nvui::SmartRenderTarget & renderTarget ) { m_renderTarget = renderTarget; }
00062   NVSG_API virtual const nvui::SmartRenderTarget & getRenderTarget() const              { return( m_renderTarget ); }
00063   NVSG_API virtual void setViewState( const ViewStateSharedPtr & viewState )            { m_viewState = viewState; }
00064   NVSG_API virtual const ViewStateSharedPtr & getViewState() const                      { return( m_viewState ); }
00065
00066   NVSG_API virtual void doAddRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00067   NVSG_API virtual void doSetRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00068
00069   REFLECTION_INFO_API( NVSG_API, IteratingRenderListProcessor );
00070   BEGIN_DECLARE_STATIC_PROPERTIES
00071   END_DECLARE_STATIC_PROPERTIES
00072 protected:
00073   // call these functions in derived implementations if you want control flow
00074   virtual bool beginHandle( const RenderList2SharedPtr& );
00075   virtual bool beginHandle( const RenderModeGroupSharedPtr& );
00076   virtual bool beginHandle( const MaterialGroupSharedPtr& );
00077
00078   // no need to call these in derived implementations
00079   virtual bool handleChildren( const RenderList2SharedPtr& );
00080   virtual bool handleChildren( const RenderModeGroupSharedPtr& );
00081   virtual bool handleChildren( const MaterialGroupSharedPtr& );
00082
00083   virtual bool handleChildrenAgain( const RenderList2SharedPtr& );
00084   virtual bool handleChildrenAgain( const RenderModeGroupSharedPtr& );
00085   virtual bool handleChildrenAgain( const MaterialGroupSharedPtr& );
00086
00087   virtual void endHandle( const RenderList2SharedPtr& );
00088   virtual void endHandle( const RenderModeGroupSharedPtr& );
00089   virtual void endHandle( const MaterialGroupSharedPtr& );
00090
00091   virtual void handle( const DrawableInstanceSharedPtr& );
00092
00093   nvui::SmartRenderTarget & renderTarget()  { return( m_renderTarget ); }
00094   ViewStateSharedPtr & viewState()          { return( m_viewState ); }
00095
00096 protected:
00097   // property ids
00098   nvutil::PropertyId      m_frustumCulling;
00099   nvutil::PropertyId      m_sizeCulling;
00100   nvutil::PropertyId      m_sizeCullingFactor;
00101   nvutil::PropertyId      m_selectedRenderMode;
00102   nvutil::PropertyId      m_traversalMaskOverride;
00103
00104   // property value caches
00105   bool                    m_currentFrustumCulling;
00106   bool                    m_currentSizeCulling;
00107   float                   m_currentSizeCullingFactor;
00108   int                     m_currentSelectedRenderMode;
00109   unsigned int            m_currentTraversalMaskOverride;
00110
00111   // data caches
00112   nvmath::Mat44f          m_worldToViewMatrix;
00113   unsigned int            m_traversalMask;
00114   nvmath::Vec4f           m_projectionSizeVector;
00115
00116
00117 private:
00118   template< typename T > void doProcess( const nvutil::SmartPtr<T>&, CullCode );
00119   void doProcess( const DrawableInstanceSharedPtr&, CullCode );
00120   void initOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00121   void initPropertyIds();
00122
00123 private:
00124   nvui::SmartRenderTarget m_renderTarget;
00125   ViewStateSharedPtr      m_viewState;
00126 };
00127
00128 template< typename T >
00129 void IteratingRenderListProcessor::doProcess( const nvutil::SmartPtr<T>& item, CullCode cc )
00130 {
00131   NVSG_ASSERT(item);
00132   NVSG_ASSERT( cc != CC_OUT );
00133
00134   if( beginHandle( item ) )
00135   {
00136     if( handleChildren( item ) )
00137     {
00138       do
00139       {
00140         typename T::ChildIterator it;
00141         typename T::ChildIterator it_end = item->end();
00142         if ( cc == CC_IN )
00143         {
00144           if ( ! m_currentSizeCulling )
00145           {
00146             // the simple path: item is trivial in, and no size culling
00147             for ( it = item->begin(); it != it_end; ++it )
00148             {
00149               doProcess( *it, CC_IN );
00150             }
00151           }
00152           else
00153           {
00154             // less simple path: item is trivial in, but size culling might cull some things
00155             for ( it = item->begin(); it != it_end; ++it )
00156             {
00157               // check if a DrawableInstance below this RenderList node has NVSG_HINT_ALWAYS_VISIBLE set
00158               if( (*it)->containsHints( Object::NVSG_HINT_ALWAYS_VISIBLE ) )
00159               {
00160                 doProcess( *it, CC_IN );
00161               }
00162               else
00163               {
00164                 nvmath::Sphere3f bs = (*it)->getBoundingSphere();
00165                 if ( isValid( bs ) )
00166                 {
00167                   float minRadius = ( nvmath::Vec4f( bs.getCenter(), 1.0f ) * m_projectionSizeVector ) * m_currentSizeCullingFactor;
00168                   if ( minRadius <= bs.getRadius() )
00169                   {
00170                     doProcess( *it, CC_IN );
00171                   }
00172                 }
00173               }
00174             }
00175           }
00176         }
00177         else
00178         {
00179           // the complex path: item is partial (that is: frustum culling is on),
00180           // and frustum or size culling might cull some things
00181           NVSG_ASSERT( m_currentFrustumCulling );
00182           CameraReadLock camera( ViewStateReadLock( m_viewState )->getCamera() );
00183           for ( it = item->begin(); it != it_end; ++it )
00184           {
00185             nvmath::Sphere3f bs = (*it)->getBoundingSphere();
00186             if ( isValid( bs ) )
00187             {
00188               nvmath::Vec4f bsc = nvmath::Vec4f( bs.getCenter(), 1.0f );
00189               bs.setCenter( nvmath::Vec3f( bsc * m_worldToViewMatrix ) );
00190               cc = camera->determineCullCode( bs );
00191               if ( ( cc != CC_OUT ) && m_currentSizeCulling )
00192               {
00193                 // m_projectionSizeVector needs to be used with world-space bounding sphere center
00194                 float minRadius = ( bsc * m_projectionSizeVector ) * m_currentSizeCullingFactor;
00195                 if ( bs.getRadius() < minRadius )
00196                 {
00197                   cc = CC_OUT;
00198                 }
00199               }
00200
00201               // check if a DrawableInstance below this RenderList node has NVSG_HINT_ALWAYS_VISIBLE set
00202               if( cc == CC_OUT && (*it)->containsHints( Object::NVSG_HINT_ALWAYS_VISIBLE ) )
00203               {
00204                 cc = CC_PART;
00205               }
00206
00207               if ( cc != CC_OUT )
00208               {
00209                 doProcess( *it, cc );
00210               }
00211             }
00212           }
00213         }
00214       } while( handleChildrenAgain( item ) );
00215     }
00216     endHandle( item );
00217   }
00218 }
00219
00220 } // namespace nvsg
00221
00222
00223
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LinkManager.h Source File

inc / nvsg / nvutil

LinkManager.h

00001 // Copyright NVIDIA Corporation 2009
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <list>
00015 #include <set>
00016 #include <map>
00017
00018 #include "Reflection.h"
00019
00020 #include "nvsg/CoreTypes.h"
00021 #include "nvsg/Object.h"
00022
00023 namespace nvutil {
00024
00025   struct Link {
00026     NVSG_API Link( const nvsg::ObjectWeakPtr & srcObject, PropertyId srcProperty, const nvsg::ObjectWeakPtr & dstObject, PropertyId  dstProperty)
00027       : m_srcObject(srcObject)
00028       , m_srcProperty(srcProperty)
00029       , m_dstObject(dstObject)
00030       , m_dstProperty(dstProperty)
00031       {}
00032
00033     NVSG_API virtual ~Link() {}
00034
00035     PropertyId  m_srcProperty;
00036     PropertyId  m_dstProperty;
00037     nvsg::ObjectWeakPtr m_srcObject;
00038     nvsg::ObjectWeakPtr m_dstObject;
00039
00040     virtual void sync() const = 0;
00041   };
00042
00043   typedef const Link* LinkId;
00044
00045   template <typename T>
00046   struct LinkImpl : public Link {
00047     NVSG_API LinkImpl( const nvsg::ObjectWeakPtr & srcObject, PropertyId srcProperty, const nvsg::ObjectWeakPtr & dstObject, PropertyId  dstProperty)
00048     : Link(srcObject, srcProperty, dstObject, dstProperty)
00049     {
00050     }
00051
00052     NVSG_API virtual ~LinkImpl() {}
00053
00054     NVSG_API virtual void sync() const
00055     {
00056       nvsg::ObjectReadLock srcObjectLock(m_srcObject);
00057       nvsg::ObjectWriteLock dstObjectLock(m_dstObject);
00058       dstObjectLock->setValue<T>(m_dstProperty, srcObjectLock->getValue<T>(m_srcProperty));
00059     }
00060   };
00061
00062   struct LinkInfo {
00063
00064     NVSG_API LinkInfo( const nvsg::ObjectWeakPtr & object ) // src reflection object
00065       : m_reflection(object)
00066       {
00067       }
00068
00069     NVSG_API void addLink( LinkId link );
00070     NVSG_API void removeLink( LinkId link );
00071
00072     NVSG_API bool isTopLevelObject() {
00073       return m_incomingLinks.empty();
00074     }
00075
00076     NVSG_API nvsg::ObjectWeakPtr getObject()
00077     {
00078       return m_reflection;
00079     }
00080
00081     NVSG_API bool isEmpty()
00082     {
00083       return m_outgoingLinks.empty() && m_incomingLinks.empty();
00084     }
00085   //protected:
00086     nvsg::ObjectWeakPtr         m_reflection;
00087     std::list<const Link *>     m_outgoingLinks; // outgoing links
00088     std::list<const Link *>     m_incomingLinks; // incoming links
00089   };
00090
00091   typedef std::map<nvsg::ObjectWeakPtr, LinkInfo> LinkInfoMap;
00092   typedef std::set<nvsg::ObjectWeakPtr> CalcList;
00093   typedef std::set<nvsg::ObjectWeakPtr> ReflectionSet;
00094
00095   struct LinkRuntime;
00096
00097   class LinkManager {
00098   public:
00099     NVSG_API LinkManager();
00100     NVSG_API ~LinkManager();
00101
00102     // link with known type -> runtime check for correct type
00103     template <typename T> LinkId link( const nvsg::ObjectWeakPtr & srcObject, PropertyId srcProperty, const nvsg::ObjectWeakPtr & dstObject, PropertyId dstProperty);
00104     template <typename T> LinkId link( const nvsg::ObjectWeakPtr & srcObject, const char *srcProperty, const nvsg::ObjectWeakPtr & dstObject, const char *dstProperty);
00105
00106     // link with unknown type -> runtime check for same type on both src and dst
00107     NVSG_API LinkId link( const nvsg::ObjectWeakPtr & srcObject, PropertyId srcProperty, const nvsg::ObjectWeakPtr & dstObject, PropertyId  dstProperty);
00108     NVSG_API LinkId link( const nvsg::ObjectWeakPtr & srcObject, const char *srcProperty, const nvsg::ObjectWeakPtr & dstObject, const char *dstProperty);
00109
00110     NVSG_API void unlink(LinkId link);
00111
00113     NVSG_API void unlink( const nvsg::ObjectWeakPtr & object );
00114
00115     NVSG_API bool processLinks();
00116
00117   protected:
00118
00120     bool updateLinkOrder();
00121
00122     void storeLink(LinkId link);
00123
00124     bool isSourceCalculationDone( const nvsg::ObjectWeakPtr & object );
00125     bool isGathered( const nvsg::ObjectWeakPtr & object ); // has been added for ordering
00126     bool isOrdered( const nvsg::ObjectWeakPtr & object ); // has been ordered
00127
00128     void gather( const nvsg::ObjectWeakPtr & object )
00129     {
00130       m_gatheredObjects.insert(object);
00131     }
00132
00133     std::list<nvsg::ObjectWeakPtr> getTopLevelObjects();
00134
00135     LinkInfoMap linkInfos;
00136
00137     ReflectionSet m_gatheredObjects; // objects which have been gathered, but not been place into the ordered list
00138     ReflectionSet m_orderedObjects; // objects which have been places in the ordered lsit
00139
00140     std::vector<nvsg::ObjectWeakPtr> m_objectOrder; // objects sorted by dependencies
00141
00142     bool m_linkOrderDone;
00143     bool m_cycleDetected;
00144   };
00145
00146   template <typename T>
00147   LinkId LinkManager::link( const nvsg::ObjectWeakPtr & srcObject, PropertyId srcProperty, const nvsg::ObjectWeakPtr & dstObject, PropertyId  dstProperty )
00148   {
00149     nvsg::ObjectReadLock srcObjectLock(srcObject);
00150     nvsg::ObjectReadLock dstObjectLock(dstObject);
00151
00152     NVSG_ASSERT( srcObjectLock->getPropertyType(srcProperty) == static_cast<Property::Type>(TypedPropertyEnum<T>::type) );
00153     NVSG_ASSERT( dstObjectLock->getPropertyType(dstProperty) == static_cast<Property::Type>(TypedPropertyEnum<T>::type) );
00154
00155     LinkId link = new LinkImpl<T>(srcObjectLock, srcProperty, dstObjectLock, dstProperty);
00156     storeLink(link);
00157     return link;
00158   }
00159
00160   template <typename T>
00161   LinkId LinkManager::link( const nvsg::ObjectWeakPtr & srcObject, const char *srcProperty, const nvsg::ObjectWeakPtr & dstObject, const char *dstProperty )
00162   {
00163     nvsg::ObjectReadLock srcObjectLock(srcObject);
00164     nvsg::ObjectReadLock dstObjectLock(dstObject);
00165
00166     return link<T>(srcObjectLock, srcObjectLock->getProperty(srcProperty), dstObjectLock, dstObjectLock->getProperty(dstProperty));
00167   }
00168
00169 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: LinuxTypes.h Source File

inc / nvsg / nvsg

LinuxTypes.h

00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <stdlib.h>
00015
00016 #include <complex>
00017 // Normally we should not be exposing names/namespaces in headers, but
00018 // we need a common abs() function that is overloaded for int/float/double.
00019 // On Windows a template function is exposed in the global namespace.
00020 // By including <complex>, the same functionality becomes available on Linux.
00021 // Whether overloaded functions or a template sprcialization is used depends on
00022 // the gcc configuration. (Macros are queried in <complex> header file).
00023 using ::std::abs;
00024
00025 typedef unsigned int UINT;
00026
00027
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: stdafx.h Source File

src / Loader / NBFLoader

Loader/NBFLoader/stdafx.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // stdafx.h : include file for standard system include files,
00013 // or project specific include files that are used frequently, but
00014 // are changed infrequently
00015 //
00016
00017 #pragma once
00018
00019 #if defined(_WIN32)
00020
00021 #define WIN32_LEAN_AND_MEAN   // Exclude rarely-used stuff from Windows headers
00022 // Windows Header Files:
00023 #include <windows.h>
00024
00025 #endif
00026
00027 #include <typeinfo>
00028
00029 #include "nvsg/nvsgapi.h" // NVSG storage-class defines
00030 #include "nvsg/NVSGVersion.h" // NVSG version info
00031
00032 #include "nvutil/Assert.h"
00033 #include "nvutil/Trace.h"
00034 #include "nvutil/Tools.h"
00035
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: MemFunTbl.h Source File

inc / nvsg / nvutil

MemFunTbl.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include <vector>
00017
00018 namespace nvutil
00019 {
00020
00022 template<typename T>
00023 class MemFunTbl
00024 {
00025   typedef void (T::*PMFN) ();
00026 public:
00027   explicit MemFunTbl(size_t size);
00028   PMFN operator[](size_t i) const;
00029   template <typename U>
00030   void addEntry(size_t i, U pmfn);
00031   bool testEntry(size_t i) const;
00032 private:
00033   std::vector<PMFN> m_ftbl;
00034 };
00035
00036 // inline implementations can go here
00037
00038 template<typename T>
00039 inline MemFunTbl<T>::MemFunTbl(size_t size)
00040 { // table entries to avoid frequent allocations at addEntry
00041   m_ftbl.resize(size, NULL);
00042 }
00043
00044 template<typename T>
00045 inline bool MemFunTbl<T>::testEntry(size_t i) const
00046 { // test if entry at i is a valid entry
00047   return (i < m_ftbl.size()) && !!m_ftbl[i];
00048 }
00049
00050 template<typename T>
00051 inline typename MemFunTbl<T>::PMFN MemFunTbl<T>::operator[](size_t i) const
00052 { // read-only access to function pointer stored at index i
00053   NVSG_ASSERT(testEntry(i)); // undefined behavior for invalid entries
00054   return m_ftbl[i];
00055 }
00056
00057 template<typename T>
00058 template<typename U>
00059 inline void MemFunTbl<T>::addEntry(size_t i, U pmfn)
00060 { // register function pointer
00061   if ( m_ftbl.size() <= i )
00062   { // add 32 table entries
00063     m_ftbl.resize(i+0x20, NULL);
00064   }
00065   m_ftbl[i]=*(PMFN*)&pmfn;
00066 }
00067
00068 } // end of namespace nvutil scope
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NBFLoader.h Source File

src / Loader / NBFLoader / inc

NBFLoader.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsg/PlugInterface.h"
00015 #include "nvsg/NBF.h" // nbf structs
00016 #include "nvutil/FileMapping.h"
00017 #include "nvutil/RCObject.h"
00018 #include "nvtraverser/AppTraverserCallbacks.h"
00019
00020 #include <map>
00021 #include <vector>
00022 #include <string>
00023
00024 // storage-class defines
00025 #if defined(_WIN32)
00026 # ifdef NBFLOADER_EXPORTS
00027 #  define NBFLOADER_API __declspec(dllexport)
00028 # else
00029 #  define NBFLOADER_API __declspec(dllimport)
00030 # endif
00031 #else
00032 #  define NBFLOADER_API
00033 #endif
00034
00035 #if defined(LINUX)
00036 void lib_init() __attribute__ ((constructor));   // will be called before dlopen() returns
00037 #endif
00038
00039 // exports required for a scene loader plug-in
00040 extern "C"
00041 {
00042 NBFLOADER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00043 NBFLOADER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00044 }
00045
00046 // forward declaration
00047 namespace nvsg
00048 {
00049   class AlphaTestAttribute;
00050   class AnimatedTransform;
00051   class Billboard;
00052   class BlendAttribute;
00053   class Camera;
00054   class CgFx;
00055   class DirectedLight;
00056   class Drawable;
00057   class FaceAttribute;
00058   class FlipbookAnimation;
00059   class GeoNode;
00060   class Group;
00061   class LightingAttribute;
00062   class LightSource;
00063   class LOD;
00064   class Material;
00065   class Node;
00066   class ParallelCamera;
00067   class PerspectiveCamera;
00068   class PointAttribute;
00069   class PointLight;
00070   class Primitive;
00071   class RTBufferAttribute;
00072   class RTFx;
00073   class SpotLight;
00074   class StateAttribute;
00075   class StateSet;
00076   class StencilAttribute;
00077   class TextureAttribute;
00078   class TextureAttributeItem;
00079   class TextureHost;
00080   class Transform;
00081   class Switch;
00082   class Scene;
00083   class UnlitColorAttribute;
00084   class ViewState;
00085   template<typename T> class FramedAnimationDescription;
00086   template<typename T> class KeyFramedAnimationDescription;
00087 }
00088
00089 struct NBFCamera_nbf_44;
00090 struct NBFGroup_nbf_12;
00091 struct NBFGroup_nbf_11;
00092 struct NBFLightSource_nbf_12;
00093
00095 class NBFLoader : public nvsg::SceneLoader
00096 {
00097 public:
00098   NBFLoader();
00099
00101
00102   void deleteThis( void );
00103
00105
00109   nvsg::SceneSharedPtr load(
00110     const std::string& filename
00111   , const std::vector<std::string> &searchPaths
00112   , nvsg::ViewStateSharedPtr & viewState
00114   );
00115
00116 protected:
00118   virtual  ~NBFLoader(void);
00119
00121
00132   virtual nvsg::ObjectSharedPtr loadCustomObject(
00133     uint_t objectCode
00134   , uint_t offset
00135   );
00136
00138
00140   ubyte_t * mapOffset(
00141     uint_t offset
00142     , unsigned int numBytes
00143     );
00144
00146
00147   void unmapOffset(
00148     ubyte_t * offsetPtr
00149     );
00150
00151 private:
00152
00154
00156   template<typename T>
00157   class Offset_AutoPtr
00158   {
00159     public:
00161
00163       Offset_AutoPtr( nvutil::ReadMapping * fm, const nvutil::PlugInCallback * pic, uint_t offset
00164                     , unsigned int count=1 );
00165
00167       ~Offset_AutoPtr();
00168
00170       T* operator->() const;
00171
00173       T& operator*() const;
00174
00176       operator const T*() const;
00177
00179
00181       void reset( uint_t offset, unsigned int count=1 );
00182
00183     private:
00184       T * m_ptr;
00185       const nvutil::PlugInCallback  * m_pic;
00186       nvutil::ReadMapping           * m_fm;
00187   };
00188
00189
00190   nvutil::ReadMapping * m_fm;
00191
00192   // assign an object to an offset
00193   void mapObject(uint_t offset, const nvsg::ObjectSharedPtr & object );
00194   void remapObject(uint_t offset, const nvsg::ObjectSharedPtr & object );
00195
00196   // animations
00197   nvsg::IndexAnimationSharedPtr loadIndexAnimation(uint_t offset);
00198   nvsg::IndexAnimationSharedPtr loadIndexAnimation_nbf_3d(uint_t offset);
00199   nvsg::TrafoAnimationSharedPtr loadTrafoAnimation(uint_t offset);
00200   nvsg::TrafoAnimationSharedPtr loadTrafoAnimation_nbf_3d(uint_t offset);
00201   nvsg::IndexAnimationDescriptionSharedPtr loadIndexAnimationDescription(uint_t offset);
00202   nvsg::TrafoAnimationDescriptionSharedPtr loadTrafoAnimationDescription(uint_t offset);
00203   nvsg::VertexAttributeAnimationDescriptionSharedPtr loadVertexAttributeAnimationDescription(uint_t offset);
00204   // ... framed
00205   nvsg::FramedTrafoAnimationDescriptionSharedPtr loadFramedTrafoAnimationDescription(uint_t offset);
00206   nvsg::FramedTrafoAnimationDescriptionSharedPtr loadFramedTrafoAnimation_nbf_3d(uint_t offset);
00207   nvsg::FramedTrafoAnimationDescriptionSharedPtr loadFramedTrafoAnimation_nbf_3c(uint_t offset);
00208   nvsg::FramedTrafoAnimationDescriptionSharedPtr loadFramedTrafoAnimation_nbf_f(uint_t offset);
00209   nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr loadFramedVertexAttributeAnimationDescription(uint_t offset);
00210   nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr loadFramedVertexAttributeAnimation_nbf_3d(uint_t offset);
00211   nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr loadFramedVertexAttributeAnimation_nbf_3c(uint_t offset);
00212   nvsg::FramedIndexAnimationDescriptionSharedPtr loadFramedIndexAnimationDescription(uint_t offset);
00213   nvsg::FramedIndexAnimationDescriptionSharedPtr loadFramedIndexAnimation_nbf_3d(uint_t offset);
00214   nvsg::FramedIndexAnimationDescriptionSharedPtr loadFramedIndexAnimation_nbf_3c(uint_t offset);
00215   // ... interpolated
00216   nvsg::KeyFramedTrafoAnimationDescriptionSharedPtr loadKeyFramedTrafoAnimationDescription(uint_t offset);
00217   nvsg::KeyFramedTrafoAnimationDescriptionSharedPtr loadKeyFramedTrafoAnimation_nbf_3d(uint_t offset);
00218   nvsg::KeyFramedTrafoAnimationDescriptionSharedPtr loadKeyFramedTrafoAnimation_nbf_3c(uint_t offset);
00219   nvsg::KeyFramedTrafoAnimationDescriptionSharedPtr loadKeyFramedTrafoAnimation_nbf_f(uint_t offset);
00220   nvsg::KeyFramedVertexAttributeAnimationDescriptionSharedPtr loadKeyFramedVertexAttributeAnimationDescription(uint_t offset);
00221   nvsg::KeyFramedVertexAttributeAnimationDescriptionSharedPtr loadKeyFramedVertexAttributeAnimation_nbf_3d(uint_t offset);
00222   nvsg::KeyFramedVertexAttributeAnimationDescriptionSharedPtr loadKeyFramedVertexAttributeAnimation_nbf_3c(uint_t offset);
00223   // cameras
00224   nvsg::CameraSharedPtr loadCamera(uint_t offset);
00225   nvsg::CameraSharedPtr loadCamera_nbf_4c(uint_t offset);
00226   nvsg::CameraSharedPtr loadCamera_nbf_44(uint_t offset);
00227   nvsg::MatrixCameraSharedPtr loadMatrixCamera(uint_t offset);
00228   nvsg::ParallelCameraSharedPtr loadParallelCamera(uint_t offset);
00229   nvsg::ParallelCameraSharedPtr loadParallelCamera_nbf_4c(uint_t offset);
00230   nvsg::ParallelCameraSharedPtr loadParallelCamera_nbf_44(uint_t offset);
00231   nvsg::PerspectiveCameraSharedPtr loadPerspectiveCamera(uint_t offset);
00232   nvsg::PerspectiveCameraSharedPtr loadPerspectiveCamera_nbf_4c(uint_t offset);
00233   nvsg::PerspectiveCameraSharedPtr loadPerspectiveCamera_nbf_44(uint_t offset);
00234   // drawables
00235   nvsg::DrawableSharedPtr loadDrawable(uint_t offset);
00236   nvsg::PrimitiveSharedPtr loadSkinnedTriangles(uint_t offset);
00237   nvsg::PrimitiveSharedPtr loadAnimatedIndependents_nbf_3a( uint_t offset );
00238   nvsg::PrimitiveSharedPtr loadIndependents( uint_t offset );
00239   nvsg::PrimitiveSharedPtr loadMeshes(uint_t offset);
00240   nvsg::PrimitiveSharedPtr loadStrips(uint_t offset);
00241   nvsg::PrimitiveSharedPtr loadPatches_nbf_47( uint_t offset );
00242   nvsg::QuadPatchesSharedPtr loadQuadPatches_nbf_47( uint_t offset );
00243   nvsg::QuadPatches4x4SharedPtr loadQuadPatches4x4_nbf_47( uint_t offset );
00244   nvsg::RectPatchesSharedPtr loadRectPatches_nbf_47( uint_t offset );
00245   nvsg::TriPatchesSharedPtr loadTriPatches_nbf_47( uint_t offset );
00246   nvsg::TriPatches4SharedPtr loadTriPatches4_nbf_47( uint_t offset );
00247   nvsg::QuadPatchesSharedPtr loadQuadPatches( uint_t offset );
00248   nvsg::QuadPatches4x4SharedPtr loadQuadPatches4x4( uint_t offset );
00249   nvsg::RectPatchesSharedPtr loadRectPatches( uint_t offset );
00250   nvsg::TriPatchesSharedPtr loadTriPatches( uint_t offset );
00251   nvsg::TriPatches4SharedPtr loadTriPatches4( uint_t offset );
00252   nvsg::PrimitiveSharedPtr loadPrimitive( uint_t offset );
00253   // scene
00254   nvsg::SceneSharedPtr loadScene(uint_t offset);
00255   nvsg::SceneSharedPtr loadScene_nbf_b(uint_t offset);
00256   nvsg::SceneSharedPtr loadScene_nbf_31(uint_t offset);
00257   nvsg::SceneSharedPtr loadScene_nbf_37(uint_t offset);
00258   nvsg::SceneSharedPtr loadScene_nbf_3e(uint_t offset);
00259   nvsg::SceneSharedPtr loadScene_nbf_41(uint_t offset);
00260   // nodes
00261   nvsg::NodeSharedPtr loadNode(uint_t offset);
00262   nvsg::ObjectSharedPtr loadNode_nbf_12(uint_t offset);
00263   nvsg::GeoNodeSharedPtr loadGeoNode(uint_t offset);
00264   nvsg::GroupSharedPtr loadGroup(uint_t offset);
00265   nvsg::GroupSharedPtr loadGroup_nbf_12(uint_t offset);
00266   nvsg::GroupSharedPtr loadGroup_nbf_11(uint_t offset);
00267   nvsg::BillboardSharedPtr loadBillboard(uint_t offset);
00268   nvsg::BillboardSharedPtr loadBillboard_nbf_12(uint_t offset);
00269   nvsg::BillboardSharedPtr loadBillboard_nbf_11(uint_t offset);
00270   nvsg::FlipbookAnimationSharedPtr loadFlipbookAnimation(uint_t offset);
00271   nvsg::TransformSharedPtr loadTransform(uint_t offset);
00272   nvsg::TransformSharedPtr loadTransform_nbf_12(uint_t offset);
00273   nvsg::TransformSharedPtr loadTransform_nbf_11(uint_t offset);
00274   nvsg::TransformSharedPtr loadTransform_nbf_f(uint_t offset);
00275   nvsg::AnimatedTransformSharedPtr loadAnimatedTransform(uint_t offset);
00276   nvsg::AnimatedTransformSharedPtr loadAnimatedTransform_nbf_12(uint_t offset);
00277   nvsg::AnimatedTransformSharedPtr loadAnimatedTransform_nbf_11(uint_t offset);
00278   nvsg::AnimatedTransformSharedPtr loadAnimatedTransform_nbf_f(uint_t offset);
00279   nvsg::LODSharedPtr loadLOD(uint_t offset);
00280   nvsg::LODSharedPtr loadLOD_nbf_12(uint_t offset);
00281   nvsg::LODSharedPtr loadLOD_nbf_11(uint_t offset);
00282   nvsg::SwitchSharedPtr loadSwitch(uint_t offset);
00283   nvsg::SwitchSharedPtr loadSwitch_nbf_30(uint_t offset);
00284   nvsg::SwitchSharedPtr loadSwitch_nbf_12(uint_t offset);
00285   nvsg::SwitchSharedPtr loadSwitch_nbf_11(uint_t offset);
00286   nvsg::LightSourceSharedPtr loadLightSource(uint_t offset);
00287   nvsg::LightSourceSharedPtr loadLightSource_nbf_12(uint_t offset);
00288   nvsg::DirectedLightSharedPtr loadDirectedLight(uint_t offset);
00289   nvsg::DirectedLightSharedPtr loadDirectedLight_nbf_12(uint_t offset);
00290   nvsg::PointLightSharedPtr loadPointLight(uint_t offset);
00291   nvsg::PointLightSharedPtr loadPointLight_nbf_12(uint_t offset);
00292   nvsg::SpotLightSharedPtr loadSpotLight(uint_t offset);
00293   nvsg::SpotLightSharedPtr loadSpotLight_nbf_12(uint_t offset);
00294   // state attribs
00295   nvsg::StateAttributeSharedPtr loadStateAttribute(uint_t offset);
00296   nvsg::AlphaTestAttributeSharedPtr loadAlphaTestAttribute(uint_t offset);
00297   nvsg::BlendAttributeSharedPtr loadBlendAttribute(uint_t offset);
00298   nvsg::CgFxSharedPtr loadCgFx(uint_t offset);
00299   nvsg::DepthAttributeSharedPtr loadDepthAttribute(uint_t offset);
00300   nvsg::DepthAttributeSharedPtr loadDepthAttribute_nbf_48(uint_t offset);
00301   nvsg::FaceAttributeSharedPtr loadFaceAttribute(uint_t offset);
00302   nvsg::FaceAttributeSharedPtr loadFaceAttribute_nbf_b(uint_t offset);
00303   nvsg::LightingAttributeSharedPtr loadLightingAttribute(uint_t offset);
00304   nvsg::LineAttributeSharedPtr loadLineAttribute(uint_t offset);
00305   nvsg::MaterialSharedPtr loadMaterial(uint_t offset);
00306   nvsg::MaterialSharedPtr loadMaterial_nbf_40(uint_t offset);
00307   nvsg::MaterialSharedPtr loadMaterial_nbf_3f(uint_t offset);
00308   nvsg::MaterialSharedPtr loadMaterial_nbf_a(uint_t offset);
00309   nvsg::PointAttributeSharedPtr loadPointAttribute(uint_t offset);
00310   nvsg::RTBufferAttributeSharedPtr loadRTBufferAttribute(uint_t offset);
00311   nvsg::RTFxSharedPtr loadRTFx(uint_t offset);
00312   nvsg::RTFxProgramSharedPtr loadRTFxProgram(uint_t offset);
00313   nvsg::RTFxSceneAttributeSharedPtr loadRTFxSceneAttribute(uint_t offset);
00314   nvsg::StencilAttributeSharedPtr loadStencilAttribute(uint_t offset);
00315   nvsg::StencilAttributeSharedPtr loadStencilAttribute_nbf_45(uint_t offset);
00316   nvsg::TextureAttributeSharedPtr loadTextureAttribute(uint_t offset);
00317   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem(uint_t offset);
00318   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem_nbf_4b(uint_t offset);
00319   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem_nbf_36(uint_t offset);
00320   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem_nbf_20(uint_t offset);
00321   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem_nbf_12(uint_t offset);
00322   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem_nbf_f(uint_t offset);
00323   nvsg::TextureAttributeItemSharedPtr loadTextureAttributeItem_nbf_e(uint_t offset);
00324   nvsg::UnlitColorAttributeSharedPtr loadUnlitColorAttribute(uint_t offset);
00325
00326   nvsg::TextureHostSharedPtr loadTextureHost(uint_t offset, std::string& file);
00327   nvsg::TextureHostSharedPtr loadTextureHost_nbf_4b(uint_t offset, std::string& file);
00328
00329   // state set
00330   nvsg::StateSetSharedPtr loadStateSet(uint_t offset);
00331   nvsg::StateSetSharedPtr loadStateSet_nbf_10(uint_t offset);
00332   nvsg::StateVariantSharedPtr loadStateVariant(uint_t offset);
00333   nvsg::StatePassSharedPtr loadStatePass(uint_t offset);
00334   // view state
00335   nvsg::ViewStateSharedPtr loadViewState(uint_t offset);
00336   nvsg::ViewStateSharedPtr loadViewState_nbf_4c(uint_t offset);
00337   nvsg::ViewStateSharedPtr loadViewState_nbf_39(uint_t offset);
00338
00339   // vertex attribute set
00340   nvsg::VertexAttributeSetSharedPtr loadVertexAttributeSet( uint_t vasOffset);
00341   nvsg::VertexAttributeSetSharedPtr loadVertexAttributeSet_nbf_3a( uint_t vasOffset);
00342   nvsg::VertexAttributeSetSharedPtr loadVertexAttributeSet_nbf_38( uint_t vasOffset);
00343   void loadVNVectorAnimation_nbf_3a(
00344     uint_t offset,
00345     nvsg::VertexAttributeAnimationSharedPtr & vAnim,
00346     nvsg::VertexAttributeAnimationSharedPtr & nAnim );
00347   void loadFramedVNVectorAnimation_nbf_3a(
00348     uint_t offset,
00349     nvsg::VertexAttributeAnimationSharedPtr & vAnim,
00350     nvsg::VertexAttributeAnimationSharedPtr & nAnim );
00351   void loadInterpolatedVNVectorAnimation_nbf_3a(
00352     uint_t offset,
00353     nvsg::VertexAttributeAnimationSharedPtr & vAnim,
00354     nvsg::VertexAttributeAnimationSharedPtr & nAnim );
00355   nvsg::VertexAttributeAnimationSharedPtr loadVertexAttributeAnimation( uint_t vaaOffset );
00356   nvsg::VertexAttributeAnimationSharedPtr loadVertexAttributeAnimation_nbf_3d( uint_t vaaOffset );
00357   nvsg::SkinSharedPtr loadSkin( uint_t skinOffset );
00358
00359   // shared object handling
00360   template <typename ObjectType, typename NBFObjectType>
00361   bool loadSharedObject( typename nvutil::ObjectTraits<ObjectType>::SharedPtr & obj, Offset_AutoPtr<NBFObjectType>& objPtr );
00362
00363   // read in non-concrete objects
00364   template <typename T>
00365     void readAnimation( nvsg::Animation<T> * dst, const NBFAnimationState * src );
00366   void readObject(nvsg::Object * dst, const NBFObject * src);
00367   void readGroup(nvsg::Group * dst, const NBFGroup * src);
00368   void readGroup_nbf_12(nvsg::Group * dst, const NBFGroup_nbf_12 * src);
00369   void readGroup_nbf_11(nvsg::Group * dst, const NBFGroup_nbf_11 * src);
00370   void readPrimitiveSet( nvsg::Primitive * dst, const NBFPrimitiveSet * src );
00371   void readPrimitive(nvsg::Primitive * dst, const NBFPrimitive * src);
00372   void readIndependentPrimitiveSet( nvsg::Primitive *dst, const NBFIndependentPrimitiveSet *src );
00373   void readLightSource(nvsg::LightSource * dst, const NBFLightSource * src);
00374   void readLightSource_nbf_12(nvsg::LightSource * dst, const NBFLightSource_nbf_12 * src);
00375   void readNode(nvsg::Node * dst, const NBFNode * src);
00376   void readCamera(nvsg::Camera * dst, const NBFCamera * src);
00377   void readCamera_nbf_44(nvsg::FrustumCamera * dst, const NBFCamera_nbf_44 * src);
00378   void readFrustumCamera(nvsg::FrustumCamera * dst, uint_t offset);
00379   void readFrustumCamera_nbf_4c(nvsg::FrustumCamera * dst, uint_t offset);
00380   void readTweak(nvsg::CgFxEffect * effect, const tweak_t * tweak);
00381   void readSampler(nvsg::CgFxEffect * effect, const sampler_t * sampler);
00382   void readVertexAttributeSet( nvsg::VertexAttributeSet * dst, const NBFVertexAttributeSet * src );
00383   void readAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * dst, const NBFAnimatedVertexAttributeSet * src );
00384   void readRTFxBase( nvsg::RTFxBase * dst, const NBFRTFxBase * src );
00385   // used in loadScene*
00386   // these needs to be declared as template functions, because they need to handle different NBFScene types
00387   template <typename NBFSceneType> void readSceneCameras(nvsg::Scene * nvsgScene, const Offset_AutoPtr<NBFSceneType>& nbfScene);
00388   template <typename NBFSceneType> void readSceneCameraAnimations(nvsg::Scene * nvsgScene, const Offset_AutoPtr<NBFSceneType>& nbfScene);
00389   template <typename NBFSceneType> void readObjectLinks( nvsg::Scene * nvsgScene, const Offset_AutoPtr<NBFSceneType> & nbfScene );
00390   template <typename NBFSceneType> void readSceneRootNode(nvsg::Scene * nvsgScene, const Offset_AutoPtr<NBFSceneType>& nbfScene);
00391   template <typename NBFSceneType> void readSceneAttributes(nvsg::Scene * nvsgScene, const Offset_AutoPtr<NBFSceneType>& nbfScene);
00392   // helpers while loading TextureAttributeItem
00393   template <typename NBFTAIType> nvsg::TextureAttributeItemSharedPtr readTexAttribItem(Offset_AutoPtr<NBFTAIType>& nbfTAI);
00394   template <typename NBFTAIType> void readTexImg(nvsg::TextureAttributeItem * dst, const Offset_AutoPtr<NBFTAIType>& src);
00395   template <typename NBFTAIType> void readTexParams(nvsg::TextureAttributeItem * dst, const Offset_AutoPtr<NBFTAIType>& src);
00396   template <typename NBFTAIType> void readTexEnv(nvsg::TextureAttributeItem * dst, const Offset_AutoPtr<NBFTAIType>& src);
00397   template <typename NBFTAIType> void readTexGenMode(nvsg::TextureAttributeItem * dst, const Offset_AutoPtr<NBFTAIType>& src);
00398   template <typename NBFTAIType> void readTexMatrix(nvsg::TextureAttributeItem * dst, const Offset_AutoPtr<NBFTAIType>& src);
00399
00400   // map a string object (helper)
00401   std::string mapString(const str_t& str);
00402   std::string mapString(const sstr_t& str); // overload for small strings
00403
00404 private:
00405   std::vector<std::string>        m_searchPaths;  // a private copy of the search pathes given to us via the load API
00406   std::map<uint_t, nvsg::ObjectSharedPtr> m_offsetObjectMap; // mapping offsets to SceniX objects
00407   std::map<nvsg::DataID, nvsg::ObjectSharedPtr> m_sharedObjectsMap; // lookup shared objects given the corresponding objectID
00408
00409   // private copy of the nbf version used to save the file
00410   ubyte_t m_nbfMajor;   // major version
00411   ubyte_t m_nbfMinor;   // minor version
00412   ubyte_t m_nbfBugfix;  // bugfix level
00413
00414   bool m_autoClipPlanes_nbf_4c;   // used for carrying auto clip plane state from older cameras to current ViewState
00415
00416   // call some load routines via function pointers to preserve downward compatibility
00417   nvsg::AnimatedTransformSharedPtr (NBFLoader::*m_pfnLoadAnimatedTransform)(uint_t); // ... load AnimatedTransform
00418   nvsg::BillboardSharedPtr  (NBFLoader::*m_pfnLoadBillboard)(uint_t);     // ... load Billboard
00419   nvsg::CameraSharedPtr     (NBFLoader::*m_pfnLoadCamera)(uint_t);        // ... load Camera
00420   nvsg::FaceAttributeSharedPtr (NBFLoader::*m_pfnLoadFaceAttribute)(uint_t); // ... load FaceAttribute
00421   nvsg::FramedIndexAnimationDescriptionSharedPtr (NBFLoader::*m_pfnLoadFramedIndexAnimation)(uint_t); // ... load FramedAnimationDescription<unsigned int>
00422   nvsg::FramedTrafoAnimationDescriptionSharedPtr (NBFLoader::*m_pfnLoadFramedTrafoAnimation)(uint_t); // ... load FramedAnimationDescription<Trafo>
00423   nvsg::FramedVertexAttributeAnimationDescriptionSharedPtr (NBFLoader::*m_pfnLoadFramedVertexAttributeAnimation)(uint_t); // ... load FramedAnimationDescription<VertexAttribute>
00424   nvsg::GroupSharedPtr      (NBFLoader::*m_pfnLoadGroup)(uint_t); // ... load Group
00425   nvsg::IndexAnimationSharedPtr (NBFLoader::*m_pfnLoadIndexAnimation)(uint_t); // ... load IndexAnimation
00426   nvsg::KeyFramedTrafoAnimationDescriptionSharedPtr (NBFLoader::*m_pfnLoadKeyFramedTrafoAnimation)(uint_t); // ... load KeyFramedAnimationDescription<Trafo>
00427   nvsg::KeyFramedVertexAttributeAnimationDescriptionSharedPtr (NBFLoader::*m_pfnLoadKeyFramedVertexAttributeAnimation)(uint_t); // ... load KeyFramedAnimationDescription<VertexAttribute>
00428   nvsg::LightSourceSharedPtr  (NBFLoader::*m_pfnLoadLightSource)(uint_t);   // ... load LightSource
00429   nvsg::LODSharedPtr        (NBFLoader::*m_pfnLoadLOD)(uint_t);           // ... load LOD
00430   nvsg::MaterialSharedPtr   (NBFLoader::*m_pfnLoadMaterial)(uint_t);      // ... load Material
00431   nvsg::SceneSharedPtr      (NBFLoader::*m_pfnLoadScene)(uint_t);         // ... load Scene
00432   nvsg::SwitchSharedPtr     (NBFLoader::*m_pfnLoadSwitch)(uint_t);        // ... load Switch
00433   nvsg::StateSetSharedPtr   (NBFLoader::*m_pfnLoadStateSet)(uint_t);      // ... load StateSet
00434   nvsg::StencilAttributeSharedPtr   (NBFLoader::*m_pfnLoadStencilAttribute)(uint_t);      // ... load StencilAttribute
00435   nvsg::DepthAttributeSharedPtr   (NBFLoader::*m_pfnLoadDepthAttribute)(uint_t);      // ... load DepthAttribute
00436   nvsg::TextureAttributeItemSharedPtr (NBFLoader::*m_pfnLoadTextureAttributeItem)(uint_t); // ... load TextureAttributeItem
00437   nvsg::TrafoAnimationSharedPtr (NBFLoader::*m_pfnLoadTrafoAnimation)(uint_t); // ... load TrafoAnimation
00438   nvsg::TransformSharedPtr  (NBFLoader::*m_pfnLoadTransform)(uint_t);     // ... load Transform
00439   nvsg::VertexAttributeAnimationSharedPtr (NBFLoader::*m_pfnLoadVertexAttributeAnimation)(uint_t); // ... load VertexAttributeAnimation
00440   nvsg::VertexAttributeSetSharedPtr (NBFLoader::*m_pfnLoadVertexAttributeSet)(uint_t); // ... load VertexAttributeSet
00441   nvsg::ViewStateSharedPtr  (NBFLoader::*m_pfnLoadViewState)(uint_t);   //..load ViewState
00442
00443   nvsg::QuadPatchesSharedPtr    (NBFLoader::*m_pfnLoadQuadPatches)   (uint_t offset);
00444   nvsg::QuadPatches4x4SharedPtr (NBFLoader::*m_pfnLoadQuadPatches4x4)(uint_t offset);
00445   nvsg::RectPatchesSharedPtr    (NBFLoader::*m_pfnLoadRectPatches)   (uint_t offset);
00446   nvsg::TriPatchesSharedPtr     (NBFLoader::*m_pfnLoadTriPatches)    (uint_t offset);
00447   nvsg::TriPatches4SharedPtr    (NBFLoader::*m_pfnLoadTriPatches4)   (uint_t offset);
00448
00449   nvsg::TextureHostSharedPtr (NBFLoader::*m_pfnLoadTextureHost)    (uint_t offset, std::string& file);
00450
00451   std::map<std::string,nvsg::TextureHostWeakPtr> m_textureImages;  // collection of currently loaded TextureHosts
00452   std::map<std::string,nvsg::CgFxWeakPtr> m_cgfxEffects;
00453
00454   // lists of update semaphores created in the scene
00455   std::map<std::string, nvtraverser::CameraUpdateSemaphoreSharedPtr>    m_cameraSemList;
00456   std::map<std::string, nvtraverser::SpotLightUpdateSemaphoreSharedPtr> m_spotLightSemList;
00457
00458   // For loading old SkinnedTriangles only.
00459   // Map the animations (stored in the old bone) to the Transforms created for it.
00460   // Those Transforms will be the Joints, and added to the root node.
00461   typedef std::map<nvsg::TrafoAnimationSharedPtr,nvsg::AnimatedTransformSharedPtr> TrafoAnimationToAnimatedTransformMap;
00462   TrafoAnimationToAnimatedTransformMap m_animationToJointMap;
00463
00464   // Checks whether an appropriate semaphore has already been saved before creating a new one
00465   nvtraverser::CameraUpdateSemaphoreSharedPtr     initializeCameraSemaphore(std::string name, const nvsg::CameraSharedPtr & cam);
00466   nvtraverser::SpotLightUpdateSemaphoreSharedPtr  initializeSpotLightSemaphore(std::string name, const nvsg::SpotLightSharedPtr & spot);
00467 };
00468
00469 inline void NBFLoader::deleteThis()
00470 {
00471   delete this;
00472 }
00473
00474 inline ubyte_t * NBFLoader::mapOffset( uint_t offset, unsigned int numBytes )
00475 {
00476   NVSG_TRACE();
00477   NVSG_ASSERT( m_fm );
00478   return( (ubyte_t*) m_fm->mapIn( offset, numBytes ) );
00479 }
00480
00481 inline void NBFLoader::unmapOffset( ubyte_t * offsetPtr )
00482 {
00483   NVSG_TRACE();
00484   NVSG_ASSERT( m_fm );
00485   m_fm->mapOut( offsetPtr );
00486 }
00487
00488 template<typename T>
00489 inline NBFLoader::Offset_AutoPtr<T>::Offset_AutoPtr( nvutil::ReadMapping * fm
00490                                                    , const nvutil::PlugInCallback * pic
00491                                                    , uint_t offset, unsigned int count )
00492 : m_ptr(NULL)
00493 , m_fm(fm)
00494 , m_pic(pic)
00495 {
00496   if ( count )
00497   {
00498     m_ptr = (T*)m_fm->mapIn(offset, count*sizeof(T));
00499     if ( ! m_ptr && m_pic )
00500     {
00501       m_pic->onFileMappingFailed(m_fm->getLastError());
00502     }
00503   }
00504  }
00505
00506 template<typename T>
00507 inline NBFLoader::Offset_AutoPtr<T>::~Offset_AutoPtr()
00508 {
00509   if ( m_ptr )
00510   {
00511     m_fm->mapOut((ubyte_t*)m_ptr);
00512   }
00513 }
00514
00515 template<typename T>
00516 inline T* NBFLoader::Offset_AutoPtr<T>::operator->() const
00517 {
00518   return m_ptr;
00519 }
00520
00521 template<typename T>
00522 inline T& NBFLoader::Offset_AutoPtr<T>::operator*() const
00523 {
00524   return *m_ptr;
00525 }
00526
00527 template<typename T>
00528 inline NBFLoader::Offset_AutoPtr<T>::operator const T*() const
00529 {
00530   return m_ptr;
00531 }
00532
00533 template<typename T>
00534 inline void NBFLoader::Offset_AutoPtr<T>::reset( uint_t offset, unsigned int count )
00535 {
00536   if ( m_ptr )
00537   {
00538     m_fm->mapOut((ubyte_t*)m_ptr);
00539     m_ptr=NULL;
00540   }
00541   if ( count )
00542   {
00543     m_ptr = (T*)m_fm->mapIn(offset, count*sizeof(T));
00544     if ( ! m_ptr && m_pic )
00545     {
00546       m_pic->onFileMappingFailed(m_fm->getLastError());
00547     }
00548   }
00549 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NBFSaver.h Source File

src / Saver / NBFSaver / inc

NBFSaver.h

00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <map>
00015 #include <vector>
00016 #include "nvsg/NBF.h"
00017 #include "nvsg/PlugInterface.h"
00018 #include "nvsg/ViewState.h"
00019 #include "nvutil/FileMapping.h"
00020 #include "nvtraverser/Traverser.h"
00021
00022 #if defined(_WIN32)
00023 # ifdef NBFSAVER_EXPORTS
00024 #  define NBFSAVER_API __declspec(dllexport)
00025 # else
00026 #  define NBFSAVER_API __declspec(dllimport)
00027 # endif
00028 #else
00029 # define NBFSAVER_API
00030 #endif
00031
00032 // exports required for a scene loader plug-in
00033 #if defined(LINUX)
00034 extern "C"
00035 {
00036 #endif
00037 NBFSAVER_API bool getPlugInterface(const nvutil::UPIID& piid, nvutil::PlugIn *& pi);
00038 NBFSAVER_API bool queryPlugInterfaceType(const nvutil::UPITID& pitid, std::vector<nvutil::UPIID>& piids);
00039 #if defined(LINUX)
00040 }
00041 #endif
00042
00043
00057 class NBFSaveTraverser : public nvtraverser::SharedTraverser
00058 {
00059   public:
00061     NBFSaveTraverser();
00062
00068     bool preCalculateFileSize( const nvsg::SceneSharedPtr & scene );
00069
00072     void setFileName( const std::string & fileName );
00073
00078     void setPlugInCallback( const nvutil::PlugInCallback * pic );
00079
00082     bool getSuccess() const;
00083
00086     std::string getErrorMessage() const;
00087
00088   protected:
00099     bool calculatingStorageRequirements() const;
00100
00111     uint_t alloc( void*& offsetPtr, unsigned int numBytes );
00112
00118     void dealloc( void * offsetPtr );
00119
00126     uint_t pseudoAlloc( unsigned int numBytes );
00127
00132     virtual void doApply( const nvsg::NodeSharedPtr & root );
00133
00137     virtual void handleParallelCamera( const nvsg::ParallelCamera *camera );
00138
00142     virtual void handlePerspectiveCamera( const nvsg::PerspectiveCamera *camera );
00143
00147     virtual void handleMatrixCamera( const nvsg::MatrixCamera * camera );
00148
00152     virtual void handleBillboard( const nvsg::Billboard *billboard );
00153
00157     virtual void handleGeoNode( const nvsg::GeoNode *gnode );
00158
00162     virtual void handleGroup( const nvsg::Group *group );
00163
00167     virtual void handleFlipbookAnimation( const nvsg::FlipbookAnimation *anim );
00168
00172     virtual void handleTransform( const nvsg::Transform *trafo );
00173
00177     virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *trafo );
00178
00182     virtual void handleLOD( const nvsg::LOD *lod );
00183
00187     virtual void handleSwitch( const nvsg::Switch *swtch );
00188
00192     virtual void handleDirectedLight( const nvsg::DirectedLight *light );
00193
00197     virtual void handlePointLight( const nvsg::PointLight *light );
00198
00202     virtual void handleSpotLight( const nvsg::SpotLight *light );
00203
00207     virtual void handleStateSet( const nvsg::StateSet *stateSet );
00208
00212     virtual void handleStateVariant( const nvsg::StateVariant *variant );
00213
00217     virtual void handleStatePass( const nvsg::StatePass *pass );
00218
00222     virtual void handleAlphaTestAttribute( const nvsg::AlphaTestAttribute *alphaTestAttrib );
00223
00227     virtual void handleBlendAttribute( const nvsg::BlendAttribute *blendAttrib );
00228
00232     virtual void handleCgFx( const nvsg::CgFx *cgfx );
00233
00237     virtual void handleRTFx( const nvsg::RTFx *rtfx );
00238
00242     virtual void handleRTFxProgram( const nvsg::RTFxProgram * rtfxProgram );
00243
00247     virtual void handleRTFxSceneAttribute( const nvsg::RTFxSceneAttribute *rtfx );
00248
00252     virtual void handleRTBufferAttribute( const nvsg::RTBufferAttribute *rtba );
00253
00257     virtual void handleDepthAttribute( const nvsg::DepthAttribute *depthAttrib );
00258
00262     virtual void handleStencilAttribute( const nvsg::StencilAttribute *stencilAttrib );
00263
00267     virtual void handleFaceAttribute( const nvsg::FaceAttribute *faceAttrib );
00268
00272     virtual void handleLightingAttribute( const nvsg::LightingAttribute *lightingAttrib );
00273
00277     virtual void handleLineAttribute( const nvsg::LineAttribute *lineAttrib );
00278
00282     virtual void handleMaterial( const nvsg::Material *material );
00283
00287     virtual void handlePointAttribute( const nvsg::PointAttribute *pointAttrib );
00288
00292     virtual void handleTextureAttribute( const nvsg::TextureAttribute *texAttrib );
00293
00297     virtual void handleTextureAttributeItem( const nvsg::TextureAttributeItem * texAttribItem );
00298
00302     virtual void handleTriangles( const nvsg::Triangles *triangles );
00303
00307     virtual void handleTriFans( const nvsg::TriFans *fans );
00308
00310
00311     virtual void handleTriPatches(const nvsg::TriPatches *p);
00312
00314
00315     virtual void handleTriPatches4(const nvsg::TriPatches4 *p);
00316
00320     virtual void handleTriStrips( const nvsg::TriStrips *strips );
00321
00325     virtual void handleQuadMeshes( const nvsg::QuadMeshes *meshes );
00326
00330     virtual void handleQuads( const nvsg::Quads *quads );
00331
00335     virtual void handleQuadStrips( const nvsg::QuadStrips *strips );
00336
00340     virtual void handleLines( const nvsg::Lines *lines );
00341
00345     virtual void handleLineStrips( const nvsg::LineStrips *strips );
00346
00350     virtual void handlePoints( const nvsg::Points *points );
00351
00355     virtual void handlePrimitive( const nvsg::Primitive *prim );
00356
00358
00359     virtual void handleRectPatches(const nvsg::RectPatches *p);
00360
00362
00363     virtual void handleQuadPatches(const nvsg::QuadPatches *p);
00364
00366
00367     virtual void handleQuadPatches4x4(const nvsg::QuadPatches4x4 *p);
00368
00372     virtual void handleVertexAttributeSet( const nvsg::VertexAttributeSet *vas );
00373
00377     virtual void handleAnimatedVertexAttributeSet( const nvsg::AnimatedVertexAttributeSet *avas );
00378
00382     virtual void handleSkin( const nvsg::Skin *skin );
00383
00387     virtual void handleFramedIndexAnimationDescription( const nvsg::FramedAnimationDescription<unsigned int> *trafo );
00388
00392     virtual void handleFramedTrafoAnimationDescription( const nvsg::FramedAnimationDescription<nvmath::Trafo> *trafo );
00393
00397     virtual void handleFramedVertexAttributeAnimationDescription( const nvsg::FramedAnimationDescription<nvsg::VertexAttribute> *p );
00398
00402     virtual void handleLinearInterpolatedTrafoAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvmath::Trafo> *trafo );
00403
00407     virtual void handleLinearInterpolatedVertexAttributeAnimationDescription( const nvsg::LinearInterpolatedAnimationDescription<nvsg::VertexAttribute> * p );
00408
00412     virtual void handleUnlitColorAttribute( const nvsg::UnlitColorAttribute *unlitColor );
00413
00414     virtual void handleIndexAnimation( const nvsg::Animation<unsigned int> *anim );
00415
00416     virtual void handleTrafoAnimation( const nvsg::Animation<nvmath::Trafo> *anim );
00417
00418     virtual void handleVertexAttributeAnimation( const nvsg::Animation<nvsg::VertexAttribute> *anim );
00419
00420   private:
00421     struct Mapping
00422     {
00423       Mapping();
00424       ubyte_t       * basePtr;
00425       unsigned int    size;    // needed with linux's unmap call only
00426       int             refCnt;  // reflects if the view is in use or not
00427     };
00428
00430
00432     template<typename T>
00433     class Offset_AutoPtr
00434     {
00435       public:
00437
00439         Offset_AutoPtr( NBFSaveTraverser * svr, uint_t& fileOffset, unsigned int count=1 );
00440
00442
00444         Offset_AutoPtr( NBFSaveTraverser * svr );
00445
00447         ~Offset_AutoPtr();
00448
00450         T* operator->();
00451
00453         T& operator*();
00454
00456         operator T*();
00457
00459
00461         void alloc( uint_t& fileOffset, unsigned int count=1 );
00462
00463       private:
00464         T * m_ptr;
00465         NBFSaveTraverser * m_svr;
00466     };
00467
00468   private:
00469     // operator() to process a Scene (not part of the public interface!)
00470     // returns the file offset to the allocated and initialized NBFScene object
00471     // behavior is undefined if p is an invalid pointer
00472     uint_t handleScene(const nvsg::Scene *p);
00473     // operator() to process a ViewState (not part of the public interface!)
00474     // returns the file offset to the allocated and initialized NBFViewState object
00475     // behavior is undefined if p is an invalid pointer
00476     uint_t handleViewState(const nvsg::ViewState *p);
00477
00478     // write routines for non-concrete types
00479     // ... write tasks similar for all Objects
00480     void writeObject(const nvsg::Object* nvsgObjPtr, NBFObject * nbfObjPtr, uint_t objCode);
00481     // ... write task similar for Nodes
00482     void writeNode(const nvsg::Node* nvsgNodePtr, NBFNode * nbfNodePtr, uint_t objCode);
00483     // ... write task similar for Groups
00484     void writeGroup(const nvsg::Group * nvsgGrpPtr, NBFGroup * nbfGrpPtr, uint_t objCode);
00485     // ... write task similar for LightSources
00486     void writeLightSource(const nvsg::LightSource* nvsgLightSrcPtr, NBFLightSource * nbfLightSrcPtr, uint_t objCode);
00487     // ... write task similar for Cameras
00488     void writeCamera(const nvsg::Camera * nvsgCamPtr, NBFCamera * nbfCamPtr, uint_t objCode);
00489     void writeFrustumCamera( const nvsg::FrustumCamera * nvsgCamPtr, NBFFrustumCamera * nbfCampPtr, uint_t objCode );
00490     // .. write faces
00491     template<typename NVSGFaceType, typename NBFFaceType>
00492     void writeIndices(const NVSGFaceType * nvsgFaces, NBFFaceType * nbfFaces);
00493     void writePrimitive( const nvsg::Primitive * nvsgPrimitive, NBFPrimitive * nbfPrimitive, uint_t objCode );
00494     void writePrimitiveSet( const nvsg::PrimitiveSet * nvsgPrimitive, NBFPrimitiveSet * nbfPrimitive, uint_t objCode );
00495     // .. write a single tweakable
00496     void writeTweak(const nvsg::CgFxEffect * effect, nvsg::CgFxParameter nvsgTweak, tweak_t * nbfTweak);
00497     // .. write a single sampler
00498     void writeSampler(const nvsg::CgFxEffect * effect, nvsg::CgFxParameter nvsgSampler, sampler_t * nbfSampler);
00499     // .. write a single texture image
00500     void writeTexImage(const std::string& file, const nvsg::TextureHost * nvsgImg, texImage_t * nbfImg);
00501     void writeVertexAttributeSet(const nvsg::VertexAttributeSet * nvsgVASPtr, NBFVertexAttributeSet * nbfVASPtr, uint_t objCode);
00502     void writeAnimationState( const nvsg::AnimationState *nvsgAnimState, NBFAnimationState * nbfAnimState );
00503     void writeRTFxBase( const nvsg::RTFxBase * nvsgRTFx, NBFRTFx * nbfRTFx );
00504     void writeIndependentPrimitiveSet( const nvsg::IndependentPrimitiveSet * nvsgIPS, NBFIndependentPrimitiveSet * nbfIPS, uint_t objCode );
00505     void writePatchesBase( const nvsg::PatchesBase * nvsgPatchesPtr, NBFPatchesBase * nbfPatchesPtr, uint_t objCode );
00506     void traverseRTFxBaseParameters( const nvsg::RTFxBase * base );
00507
00508     // shared objects processing
00509     bool processSharedObject(const nvsg::Object * obj, uint_t objCode);
00510
00511     // independents, meshes, and strips processing
00512     void processIndependentPrimitiveSet( const nvsg::IndependentPrimitiveSet *p, uint_t objCode );
00513     void processMeshedPrimitiveSet( const nvsg::MeshedPrimitiveSet *p, uint_t objCode );
00514     void processStrippedPrimitiveSet( const nvsg::StrippedPrimitiveSet *p, uint_t objCode );
00515
00516     // map cnt * sizeof(Type) bytes from the mapped file
00517     template <typename Type>
00518     uint_t alloc(Type *& objPtr, unsigned int cnt=1);
00519
00520     // pseudo allocation routines for calculation of storage requirements
00521     void pseudoAllocObject(const nvsg::Object* p);
00522     void pseudoAllocNode(const nvsg::Node* p);
00523     void pseudoAllocGroup(const nvsg::Group * p);
00524     void pseudoAllocLightSource(const nvsg::LightSource * p);
00525     void pseudoAllocPrimitive(const nvsg::Primitive * p);
00526     void pseudoAllocPrimitiveSet(const nvsg::PrimitiveSet * p);
00527     void pseudoAllocFrustumCamera( const nvsg::FrustumCamera * p );
00528     void pseudoAllocCamera(const nvsg::Camera * p);
00529     void pseudoAllocTransform( const nvsg::Transform * p );
00530     void pseudoAllocTweak(const nvsg::CgFxEffect * effect, nvsg::CgFxParameter tweak);
00531     void pseudoAllocSampler(const nvsg::CgFxEffect * effect, nvsg::CgFxParameter sampler);
00532     void pseudoAllocTexImage(const std::string& file, const nvsg::TextureHost * img);
00533     void pseudoAllocVertexAttributeSet( const nvsg::VertexAttributeSet * vas );
00534     void pseudoAllocSkin( const nvsg::Skin * skin );
00535     void pseudoAllocRTFxBase(const nvsg::RTFxBase * p);
00536     void pseudoAllocIndependentPrimitiveSet( const nvsg::IndependentPrimitiveSet *p);
00537     void pseudoAllocPatchesBase(const nvsg::PatchesBase * p);
00538
00539     ubyte_t * mapOffset( uint_t offset, unsigned int numBytes );
00540     void unmapOffset( ubyte_t * offsetPtr );
00541
00542   private:
00543     struct CallbackLink
00544     {
00545       unsigned int         id;
00546       nvsg::ObjectWeakPtr subject;
00547       nvsg::ObjectWeakPtr observer;
00548     };
00549
00550   private:
00551     bool                    m_calculateStorageRequirements; // pre-calculate what the file size would be
00552     unsigned long long      m_preCalculatedFileSize; // required file size in bytes
00553     std::string             m_fileName;
00554     nvutil::WriteMapping  * m_fm;
00555     bool                    m_success;
00556     std::string             m_errorMessage;
00557     unsigned int            m_fileOffset; // actual file offset
00558
00559     std::map<nvsg::ObjectWeakPtr, uint_t> m_objectOffsetMap; // mapping NVSG objects to the corresponding offsets in file mapping
00560     std::map<nvsg::DataID, uint_t> m_objectDataIDOffsetMap; // mapping object IDs of shared objects to corresponding offsets
00561
00562     const nvutil::PlugInCallback  * m_pic;
00563     std::vector<nvsg::SkinWeakPtr>  m_skins;
00564
00565     //  links from subject to observer
00566     std::vector<CallbackLink> m_links;
00567     uint_t                    m_linksOffset;
00568 };
00569
00570 inline void NBFSaveTraverser::setFileName( const std::string & fileName )
00571 {
00572   m_fileName = fileName;
00573 }
00574
00575 inline void NBFSaveTraverser::setPlugInCallback( const nvutil::PlugInCallback * pic )
00576 {
00577   m_pic = pic;
00578 }
00579
00580 inline bool NBFSaveTraverser::getSuccess() const
00581 {
00582   return( m_success );
00583 }
00584
00585 inline std::string NBFSaveTraverser::getErrorMessage() const
00586 {
00587   return( m_errorMessage );
00588 }
00589
00591 class NBFSaver : public nvsg::SceneSaver
00592 {
00593 public :
00595   NBFSaver();
00596
00598
00599   void deleteThis( void );
00600
00602
00604   bool save( const nvsg::SceneSharedPtr     & scene
00605            , const nvsg::ViewStateSharedPtr & viewState
00606            , const std::string                & filename
00607            );
00608
00609 protected:
00610   virtual ~NBFSaver();
00611 };
00612
00613
00614 inline void NBFSaver::deleteThis( void )
00615 {
00616   delete this;
00617 }
00618
00619 inline bool NBFSaveTraverser::calculatingStorageRequirements() const
00620 {
00621   return m_calculateStorageRequirements;
00622 }
00623
00624 inline NBFSaveTraverser::Mapping::Mapping()
00625 : refCnt(0),
00626   basePtr(NULL),
00627   size(0)
00628 {}
00629
00630 template<typename T>
00631 inline NBFSaveTraverser::Offset_AutoPtr<T>::Offset_AutoPtr( NBFSaveTraverser * svr
00632                                                           , uint_t& fileOffset, unsigned int count )
00633 : m_ptr(NULL)
00634 , m_svr(svr)
00635 {
00636   NVSG_ASSERT(count != 0xCCCCCCCC);  // check for passing uninitialized variables
00637
00638   if ( count )
00639   {
00640     // call the void * version
00641     fileOffset = m_svr->alloc((void *&)m_ptr, count*sizeof(T));
00642   }
00643 }
00644
00645 template<typename T>
00646 inline NBFSaveTraverser::Offset_AutoPtr<T>::Offset_AutoPtr( NBFSaveTraverser * svr )
00647 : m_ptr(NULL)
00648 , m_svr(svr)
00649 {
00650 }
00651
00652 template<typename T>
00653 inline NBFSaveTraverser::Offset_AutoPtr<T>::~Offset_AutoPtr()
00654 {
00655   if ( m_ptr )
00656   {
00657     m_svr->dealloc(m_ptr);
00658   }
00659 }
00660
00661 template<typename T>
00662 inline T* NBFSaveTraverser::Offset_AutoPtr<T>::operator->()
00663 {
00664   NVSG_ASSERT(m_ptr);
00665   return m_ptr;
00666 }
00667
00668 template<typename T>
00669 inline T& NBFSaveTraverser::Offset_AutoPtr<T>::operator*()
00670 {
00671   NVSG_ASSERT(m_ptr);
00672   return *m_ptr;
00673 }
00674
00675 template<typename T>
00676 inline NBFSaveTraverser::Offset_AutoPtr<T>::operator T*()
00677 {
00678   NVSG_ASSERT(m_ptr);
00679   return m_ptr;
00680 }
00681
00682 template<typename T>
00683 inline void NBFSaveTraverser::Offset_AutoPtr<T>::alloc( uint_t& fileOffset, unsigned int count )
00684 {
00685   NVSG_ASSERT(m_ptr == NULL);
00686   NVSG_ASSERT(count != 0xCCCCCCCC);  // check for passing uninitialized variables
00687
00688   if ( count )
00689   {
00690     fileOffset = m_svr->alloc((void *&)m_ptr, count*sizeof(T));
00691   }
00692 }
00693
00694 inline ubyte_t * NBFSaveTraverser::mapOffset( uint_t offset, unsigned int numBytes )
00695 {
00696   NVSG_TRACE();
00697   NVSG_ASSERT( m_fm );
00698   return( (ubyte_t*) m_fm->mapIn( offset, numBytes ) );
00699 }
00700
00701 inline void NBFSaveTraverser::unmapOffset( ubyte_t * offsetPtr )
00702 {
00703   NVSG_TRACE();
00704   NVSG_ASSERT( m_fm );
00705   m_fm->mapOut( offsetPtr );
00706 }
00707
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NvApiError.h Source File

inc / nvsg / nvui

NvApiError.h

00001  /***************************************************************************\
00002 |*                                                                           *|
00003 |*      Copyright 1993-2005 NVIDIA Corporation.  All rights reserved.        *|
00004 |*                                                                           *|
00005 |*   NOTICE TO USER:                                                         *|
00006 |*                                                                           *|
00007 |*   This source code is subject to NVIDIA ownership rights under U.S.       *|
00008 |*   and international Copyright laws.  Users and possessors of this         *|
00009 |*   source code are hereby granted a nonexclusive, royalty-free             *|
00010 |*   license to use this code in individual and commercial software.         *|
00011 |*                                                                           *|
00012 |*   NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE     *|
00013 |*   CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR         *|
00014 |*   IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH      *|
00015 |*   REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF         *|
00016 |*   MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR          *|
00017 |*   PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL,            *|
00018 |*   INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES          *|
00019 |*   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN      *|
00020 |*   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING     *|
00021 |*   OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE      *|
00022 |*   CODE.                                                                   *|
00023 |*                                                                           *|
00024 |*   U.S. Government End Users. This source code is a "commercial item"      *|
00025 |*   as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting       *|
00026 |*   of "commercial computer  software" and "commercial computer software    *|
00027 |*   documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995)   *|
00028 |*   and is provided to the U.S. Government only as a commercial end item.   *|
00029 |*   Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through        *|
00030 |*   227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the       *|
00031 |*   source code with only those rights set forth herein.                    *|
00032 |*                                                                           *|
00033 |*   Any use of this source code in individual and commercial software must  *|
00034 |*   include, in the user documentation and internal comments to the code,   *|
00035 |*   the above Disclaimer and U.S. Government End Users Notice.              *|
00036 |*                                                                           *|
00037 |*                                                                           *|
00038  \***************************************************************************/
00039
00040 #ifndef __NVAPIERROR_H__
00041 #define __NVAPIERROR_H__
00042
00043 #ifdef __cplusplus
00044     extern "C" {
00045 #endif
00046
00047 #ifndef NVAPIENTRY
00048 #   define NVAPIENTRY APIENTRY
00049 #endif//NVAPIENTRY
00050
00051 #define NVRESULT_SUCCESS(nr)    ((int)(nr) <= 0) // Success (NV_OK or NV_WARN_xxx)
00052 #define NVRESULT_FAILURE(nr)    ((int)(nr) >  0) // Failure
00053 #define NVRESULT_WARN(nr)       ((int)(nr) <  0) // Warning
00054
00055 #define NVRESULT_ERRORCODE(nr)  ((NVRESULT)(abs((int)nr))) // Extract error code from NVRESULT value (warning --> error)
00056
00057 typedef enum NVRESULT
00058 {
00059     NV_OK                   =   0,  // Success.
00060 //----------------------------------------------------------------------------
00061     NV_INTERNALERROR        =   1,  // Internal error.
00062     NV_ALREADYINITIALIZED   =   2,  // Already initialized.
00063     NV_NOTINITIALIZED       =   3,  // Not initialized.
00064     NV_OUTOFMEMORY          =   4,  // Not enough memory for operation.
00065     NV_NOTSUPPORTED         =   5,  // Feature not supported.
00066     NV_NOTAVAILABLE         =   6,  // Feature not presently available.
00067     NV_NOTIMPLEMENTED       =   7,  // Feature not implemented.
00068     NV_BADPARAMETER         =   8,  // Invalid parameter.
00069     NV_ACCESSDENIED         =   9,  // Access denied.
00070     NV_RUNNING              =  10,  // Operation requires inactive environment.
00071     NV_NOTRUNNING           =  11,  // Operation requires active environment.
00072     NV_FILENOTFOUND         =  12,  // Unable to locate file.
00073     NV_NOMORE               =  13,  // No more items.
00074     NV_ILLEGALSTATE         =  14,  // Illegal state could not be resolved.
00075     NV_NOTFOUND             =  15,  // Not found
00076     NV_ALLOCATED            =  16,  // Indicates that the request cannot be completed as the resource is already allocated/deallocated
00077     NV_BADPARAMETERSIZE     =  17,  // As mentioned by Satish, we require to give details of what bad parameter is
00078     NV_SET_ROTATE_3DAPP_ERR =  18,  // Unable to rotate as a 3D app is running
00079 //----------------------------------------------------------------------------
00080     NV_WARN_INTERNALERROR   =  -1,  // Internal warning.
00081     NV_WARN_ILLEGALSTATE    = -14,  // Illegal state was automatically resolved.
00082     NV_WARN_NOTEQUAL        = -15,  // State compare failed
00083     NV_WARN_NOMORE          = -16,  // Warning that state compare failed and there are no more to enum
00084     NV_WARN_ALREADYINITIALIZED = -17,//Warning that we are already initialized
00085     NV_WARN_ALLOCATED       = -18,  // Warning that this state is already allocation/deallocated
00086     NV_WARN_NOTINITIALIZED  = -19,  // Warning that the api is not initialized
00087 } NVRESULT;
00088
00089 NVRESULT NVAPIENTRY NvGetLastError();
00090 typedef NVRESULT (NVAPIENTRY* fNvGetLastError)();
00091
00092 LPCWSTR NVAPIENTRY NvGetLastErrorMessageW();
00093 LPCSTR NVAPIENTRY NvGetLastErrorMessageA();
00094 typedef LPCWSTR (NVAPIENTRY* fNvGetLastErrorMessageW)();
00095 typedef LPCSTR (NVAPIENTRY* fNvGetLastErrorMessageA)();
00096
00097 LPCWSTR NVAPIENTRY NvGetErrorMessageW(NVRESULT nr);
00098 LPCSTR NVAPIENTRY NvGetErrorMessageA(NVRESULT nr);
00099 typedef LPCWSTR (NVAPIENTRY* fNvGetErrorMessageW)(NVRESULT nr);
00100 typedef LPCSTR (NVAPIENTRY* fNvGetErrorMessageA)(NVRESULT nr);
00101
00102 #ifdef  UNICODE
00103 #   define NvGetLastErrorMessage NvGetLastErrorMessageW
00104 #   define NvGetErrorMessage NvGetLastMessageW
00105 #else
00106 #   define NvGetLastErrorMessage NvGetLastErrorMessageA
00107 #   define NvGetErrorMessage NvGetLastMessageA
00108 #endif//UNICODE
00109
00110 #ifdef __cplusplus
00111 } //extern "C" {
00112 #endif
00113
00114 #endif//__NVAPIERROR_H__
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvgl.h Source File

inc / nvsg / nvgl

nvgl.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 #include <nvutil/STLAllocator.h>
00017
00018 #include <GL/gl.h>  // standard OpenGL header satisfying OpenGL 1.1 API
00019
00020 #include "GL/glext.h"   // OpenGL extensions
00021 #if defined(_WIN32)
00022 # include "GL/wglext.h" // Microsoft specific OpenGL extensions
00023 #elif defined(LINUX)
00024 # include "GL/glx.h"
00025 # include "GL/glxext.h" // GLX Extensions
00026 # include <pthread.h>
00027 #endif
00028
00029 #include "GL/gremedy.h"  // graphic remedy custom extension for gldebugger
00030
00031 // STL header
00032 #include <map>
00033 #include <set>
00034
00035 // GL error tracing macro
00036 #if !defined(NDEBUG) && !defined(NVSG_HYBRID)
00037 # define ASSERT_GL_NO_ERROR               NVSG_ASSERT( ( glError = glGetError() ) == GL_NO_ERROR )
00038 # define ASSERT_GL_NO_ERROR_IN_BEGIN_END  NVSG_ASSERT( glContext()->m_inBeginEndLoop || ( glError = glGetError() ) == GL_NO_ERROR )
00039 #else
00040 # define ASSERT_GL_NO_ERROR
00041 # define ASSERT_GL_NO_ERROR_IN_BEGIN_END
00042 #endif
00043
00045
00053 namespace nvgl
00054 {
00055   class GLContext;
00056
00057 #if defined(_WIN32)
00058   extern  NVSG_API DWORD glContextTlsIdx;
00059 #elif defined(LINUX)
00060   extern  NVSG_API pthread_key_t glContextKey;
00061 #else
00062 #error Unsupported Operating System!
00063 #endif
00064
00065 #if !defined(NDEBUG)
00066   extern  NVSG_API GLenum  glError;
00067 #endif
00068
00069   typedef GLhalfARB GLhalf;
00070
00071   typedef nvutil::STLSet<GLuint> NameSet;
00072   typedef NameSet::const_iterator ConstNameSetIter;
00073 }
00074
00075
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: NvGvoApi.h Source File

inc / nvsg / nvui

NvGvoApi.h

00001  /***************************************************************************\
00002 |*                                                                           *|
00003 |*      Copyright 1993-2005 NVIDIA Corporation.  All rights reserved.        *|
00004 |*                                                                           *|
00005 |*   NOTICE TO USER:                                                         *|
00006 |*                                                                           *|
00007 |*   This source code is subject to NVIDIA ownership rights under U.S.       *|
00008 |*   and international Copyright laws.  Users and possessors of this         *|
00009 |*   source code are hereby granted a nonexclusive, royalty-free             *|
00010 |*   license to use this code in individual and commercial software.         *|
00011 |*                                                                           *|
00012 |*   NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE     *|
00013 |*   CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR         *|
00014 |*   IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH      *|
00015 |*   REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF         *|
00016 |*   MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR          *|
00017 |*   PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL,            *|
00018 |*   INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES          *|
00019 |*   WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN      *|
00020 |*   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING     *|
00021 |*   OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE      *|
00022 |*   CODE.                                                                   *|
00023 |*                                                                           *|
00024 |*   U.S. Government End Users. This source code is a "commercial item"      *|
00025 |*   as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting       *|
00026 |*   of "commercial computer  software" and "commercial computer software    *|
00027 |*   documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995)   *|
00028 |*   and is provided to the U.S. Government only as a commercial end item.   *|
00029 |*   Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through        *|
00030 |*   227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the       *|
00031 |*   source code with only those rights set forth herein.                    *|
00032 |*                                                                           *|
00033 |*   Any use of this source code in individual and commercial software must  *|
00034 |*   include, in the user documentation and internal comments to the code,   *|
00035 |*   the above Disclaimer and U.S. Government End Users Notice.              *|
00036 |*                                                                           *|
00037 |*                                                                           *|
00038  \***************************************************************************/
00039
00041 // NVGVOAPI.H
00042 //
00043 // Header file for NVGVOAPI.CPP - This header file implements the nv control panel
00044 // API for SDI
00045 //
00046 //  This file will be exposed to 3rd party developers
00047 //
00048 // Platforms/OS - Windows NT4, 9X, ME, 2K, XP
00049 //
00051
00052 #ifndef __NVGVOAPI_H__
00053 #define __NVGVOAPI_H__
00054
00055 //---------------------------------------------------------------------
00056 // NVIDIA Grapics to Video Out (GVO) API
00057 //---------------------------------------------------------------------
00058
00059 #ifdef  __cplusplus
00060     extern "C" {
00061 #endif//__cplusplus
00062
00063 #include "NvApiError.h"
00064
00065 #ifndef IN
00066 #   define IN
00067 #endif//IN
00068
00069 #ifndef OUT
00070 #   define OUT
00071 #endif//OUT
00072
00073 #ifndef INOUT
00074 #   define INOUT
00075 #endif//INOUT
00076
00077 #ifndef NVFLOAT
00078 typedef float NVFLOAT;
00079 #endif//NVFLOAT
00080
00081 #ifndef NVADAPTERNAME_MAXLEN
00082 #define NVADAPTERNAME_MAXLEN    256
00083 #endif//NVADAPTERNAME_MAXLEN
00084
00085 #ifndef NVVALUENAME_MAXLEN
00086 #define NVVALUENAME_MAXLEN      256
00087 #endif//NVVALUENAME_MAXLEN
00088
00089 //---------------------------------------------------------------------
00090 // Types
00091 //---------------------------------------------------------------------
00092
00093 typedef UINT NVGVOHANDLE;                                   // Handle from NvGvoOpen() or NvGvoDesktopOpen()
00094 #define INVALID_NVGVOHANDLE                 0               // Invalid NVGVOHANDLE
00095
00096 typedef DWORD NVGVOOWNERID;                                 // Unique identifier for owner of Graphics to Video output (process identifier or NVGVOOWNERID_NONE)
00097 #define NVGVOOWNERID_NONE                   0               // Unregistered ownerId
00098
00099 enum NVGVOOWNERTYPE                                         // Owner type for device
00100 {
00101     NVGVOOWNERTYPE_NONE                             ,       //  No owner for device
00102     NVGVOOWNERTYPE_OPENGL                           ,       //  OpenGL application owns device
00103     NVGVOOWNERTYPE_DESKTOP                          ,       //  Desktop transparent mode owns device
00104 };
00105
00106 // Access rights for NvGvoOpen() or NvGvoDesktopOpen()
00107 #define NVGVO_O_READ                        0x00000000      // Read access
00108 #define NVGVO_O_WRITE_EXCLUSIVE             0x00010001      // Write exclusive access
00109
00110 //---------------------------------------------------------------------
00111 // Enumerations
00112 //---------------------------------------------------------------------
00113
00114 // Video signal format and resolution
00115 enum NVGVOSIGNALFORMAT
00116 {
00117     NVGVOSIGNALFORMAT_ERROR = -1                    ,       // Invalid signal format
00118     NVGVOSIGNALFORMAT_487I_5994_SMPTE259_NTSC       ,       // 01  487i    59.94Hz  (SMPTE259) NTSC
00119     NVGVOSIGNALFORMAT_576I_5000_SMPTE259_PAL        ,       // 02  576i    50.00Hz  (SMPTE259) PAL
00120     NVGVOSIGNALFORMAT_720P_5994_SMPTE296            ,       // 03  720p    59.94Hz  (SMPTE296)
00121     NVGVOSIGNALFORMAT_720P_6000_SMPTE296            ,       // 04  720p    60.00Hz  (SMPTE296)
00122     NVGVOSIGNALFORMAT_1035I_5994_SMPTE260           ,       // 05  1035i   59.94Hz  (SMPTE260)
00123     NVGVOSIGNALFORMAT_1035I_6000_SMPTE260           ,       // 06  1035i   60.00Hz  (SMPTE260)
00124     NVGVOSIGNALFORMAT_1080I_5000_SMPTE295           ,       // 07  1080i   50.00Hz  (SMPTE295)
00125     NVGVOSIGNALFORMAT_1080I_5000_SMPTE274           ,       // 08  1080i   50.00Hz  (SMPTE274)
00126     NVGVOSIGNALFORMAT_1080I_5994_SMPTE274           ,       // 09  1080i   59.94Hz  (SMPTE274)
00127     NVGVOSIGNALFORMAT_1080I_6000_SMPTE274           ,       // 10  1080i   60.00Hz  (SMPTE274)
00128     NVGVOSIGNALFORMAT_1080PSF_23976_SMPTE274        ,       // 11  1080PsF 23.976Hz (SMPTE274)
00129     NVGVOSIGNALFORMAT_1080PSF_2400_SMPTE274         ,       // 12  1080PsF 24.00Hz  (SMPTE274)
00130     NVGVOSIGNALFORMAT_1080PSF_2500_SMPTE274         ,       // 13  1080PsF 25.00Hz  (SMPTE274)
00131     NVGVOSIGNALFORMAT_1080PSF_3000_SMPTE274         ,       // 14  1080PsF 30.00Hz  (SMPTE274)
00132     NVGVOSIGNALFORMAT_1080P_23976_SMPTE274          ,       // 15  1080p   23.976Hz (SMPTE274)
00133     NVGVOSIGNALFORMAT_1080P_2400_SMPTE274           ,       // 16  1080p   24.00Hz  (SMPTE274)
00134     NVGVOSIGNALFORMAT_1080P_2500_SMPTE274           ,       // 17  1080p   25.00Hz  (SMPTE274)
00135     NVGVOSIGNALFORMAT_1080P_2997_SMPTE274           ,       // 18  1080p   29.97Hz  (SMPTE274)
00136     NVGVOSIGNALFORMAT_1080P_3000_SMPTE274           ,       // 19  1080p   30.00Hz  (SMPTE274)
00137     NVGVOSIGNALFORMAT_1080PSF_2997_SMPTE274         ,       // 20  1080PsF 29.97Hz  (SMPTE274)
00138
00139     NVGVOSIGNALFORMAT_720P_5000_SMPTE296            ,       // 21  720p    50.00Hz  (SMPTE296)
00140     NVGVOSIGNALFORMAT_720P_3000_SMPTE296            ,       // 22  720p    30.00Hz  (SMPTE296)
00141     NVGVOSIGNALFORMAT_720P_2997_SMPTE296            ,       // 23  720p    29.97Hz  (SMPTE296)
00142     NVGVOSIGNALFORMAT_720P_2500_SMPTE296            ,       // 24  720p    25.00Hz  (SMPTE296)
00143     NVGVOSIGNALFORMAT_720P_2400_SMPTE296            ,       // 25  720p    24.00Hz  (SMPTE296)
00144     NVGVOSIGNALFORMAT_720P_2398_SMPTE296            ,       // 26  720p    23.98Hz  (SMPTE296)
00145
00146     NVGVOSIGNALFORMAT_1080I_4800_SMPTE274           ,       // 27  1080i   48.00Hz  (SMPTE296)
00147     NVGVOSIGNALFORMAT_1080I_4796_SMPTE274           ,       // 28  1080i   47.96Hz  (SMPTE296)
00148     NVGVOSIGNALFORMAT_1080PSF_2398_SMPTE274         ,       // 29  1080PsF 23.98Hz  (SMPTE296)
00149
00150     NVGVOSIGNALFORMAT_2048P_3000_SMPTE372           ,       // 30  2048P   30.00Hz  (SMPTE372)
00151     NVGVOSIGNALFORMAT_2048P_2997_SMPTE372           ,       // 31  2048P   29.97Hz  (SMPTE372)
00152     NVGVOSIGNALFORMAT_2048I_6000_SMPTE372           ,       // 32  2048I   60.00Hz  (SMPTE372)
00153     NVGVOSIGNALFORMAT_2048I_5994_SMPTE372           ,       // 33  2048I   59.94Hz  (SMPTE372)
00154     NVGVOSIGNALFORMAT_2048P_2500_SMPTE372           ,       // 34  2048P   25.00Hz  (SMPTE372)
00155     NVGVOSIGNALFORMAT_2048I_5000_SMPTE372           ,       // 35  2048I   50.00Hz  (SMPTE372)
00156     NVGVOSIGNALFORMAT_2048P_2400_SMPTE372           ,       // 36  2048P   24.00Hz  (SMPTE372)
00157     NVGVOSIGNALFORMAT_2048I_4800_SMPTE372           ,       // 37  2048I   48.00Hz  (SMPTE372)
00158     NVGVOSIGNALFORMAT_2048P_2398_SMPTE372           ,       // 38  2048P   23.98Hz  (SMPTE372)
00159     NVGVOSIGNALFORMAT_2048I_4796_SMPTE372           ,       // 39  2048I   23.98Hz  (SMPTE372)
00160
00161     NVGVOSIGNALFORMAT_END                                   // 40  To indicate end of signal format list
00162 };
00163
00164 // SMPTE standards format
00165 enum NVVIDEOSTANDARD
00166 {
00167     NVVIDEOSTANDARD_SMPTE259                        ,       // SMPTE259
00168     NVVIDEOSTANDARD_SMPTE260                        ,       // SMPTE260
00169     NVVIDEOSTANDARD_SMPTE274                        ,       // SMPTE274
00170     NVVIDEOSTANDARD_SMPTE295                        ,       // SMPTE295
00171     NVVIDEOSTANDARD_SMPTE296                        ,       // SMPTE296
00172     NVVIDEOSTANDARD_SMPTE372                        ,       // SMPTE372
00173 };
00174
00175 // HD or SD video type
00176 enum NVVIDEOTYPE
00177 {
00178     NVVIDEOTYPE_SD                                  ,       // Standard-definition (SD)
00179     NVVIDEOTYPE_HD                                  ,       // High-definition     (HD)
00180 };
00181
00182 // Interlace mode
00183 enum NVINTERLACEMODE
00184 {
00185     NVINTERLACEMODE_PROGRESSIVE                     ,       // Progressive               (p)
00186     NVINTERLACEMODE_INTERLACE                       ,       // Interlace                 (i)
00187     NVINTERLACEMODE_PSF                             ,       // Progressive Segment Frame (psf)
00188 };
00189
00190 // Video data format
00191 enum NVGVODATAFORMAT
00192 {
00193     NVGVODATAFORMAT_UNKNOWN = -1                    ,
00194     NVGVODATAFORMAT_R8G8B8_TO_YCRCB444              ,       // R8:G8:B8                => YCrCb  (4:4:4)
00195     NVGVODATAFORMAT_R8G8B8A8_TO_YCRCBA4444          ,       // R8:G8:B8:A8             => YCrCbA (4:4:4:4)
00196     NVGVODATAFORMAT_R8G8B8Z10_TO_YCRCBZ4444         ,       // R8:G8:B8:Z10            => YCrCbZ (4:4:4:4)
00197     NVGVODATAFORMAT_R8G8B8_TO_YCRCB422              ,       // R8:G8:B8                => YCrCb  (4:2:2)
00198     NVGVODATAFORMAT_R8G8B8A8_TO_YCRCBA4224          ,       // R8:G8:B8:A8             => YCrCbA (4:2:2:4)
00199     NVGVODATAFORMAT_R8G8B8Z10_TO_YCRCBZ4224         ,       // R8:G8:B8:Z10            => YCrCbZ (4:2:2:4)
00200     NVGVODATAFORMAT_R8G8B8_TO_RGB444                ,       // R8:G8:B8                => RGB    (4:4:4)
00201     NVGVODATAFORMAT_R8G8B8A8_TO_RGBA4444            ,       // R8:G8:B8:A8             => RGBA   (4:4:4:4)
00202     NVGVODATAFORMAT_R8G8B8Z10_TO_RGBZ4444           ,       // R8:G8:B8:Z10            => RGBZ   (4:4:4:4)
00203     NVGVODATAFORMAT_Y10CR10CB10_TO_YCRCB444         ,       // Y10:CR10:CB10           => YCrCb  (4:4:4)
00204     NVGVODATAFORMAT_Y10CR8CB8_TO_YCRCB444           ,       // Y10:CR8:CB8             => YCrCb  (4:4:4)
00205     NVGVODATAFORMAT_Y10CR8CB8A10_TO_YCRCBA4444      ,       // Y10:CR8:CB8:A10         => YCrCbA (4:4:4:4)
00206     NVGVODATAFORMAT_Y10CR8CB8Z10_TO_YCRCBZ4444      ,       // Y10:CR8:CB8:Z10         => YCrCbZ (4:4:4:4)
00207     NVGVODATAFORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422    ,       // R8:G8:B8 + R8:G8:B8     => YCrCb  (4:2:2 + 4:2:2)
00208     NVGVODATAFORMAT_DUAL_Y8CR8CB8_TO_DUAL_YCRCB422  ,       // Y8:CR8:CB8 + Y8:CR8:CB8 => YCrCb  (4:2:2 + 4:2:2)
00209     NVGVODATAFORMAT_R10G10B10_TO_YCRCB422           ,       // R10:G10:B10             => YCrCb  (4:2:2)
00210     NVGVODATAFORMAT_R10G10B10_TO_YCRCB444           ,       // R10:G10:B10             => YCrCb  (4:4:4)
00211     NVGVODATAFORMAT_Y12CR12CB12_TO_YCRCB444         ,       // Y12:CR12:CB12           => YCrCb  (4:4:4)
00212     NVGVODATAFORMAT_Y12CR12CB12_TO_YCRCB422         ,       // Y12:CR12:CB12           => YCrCb  (4:2:2)
00213     NVGVODATAFORMAT_Y10CR10CB10_TO_YCRCB422         ,       // Y10:CR10:CB10           => YCrCb  (4:2:2)
00214     NVGVODATAFORMAT_Y8CR8CB8_TO_YCRCB422            ,       // Y8:CR8:CB8              => YCrCb  (4:2:2)
00215     NVGVODATAFORMAT_Y10CR8CB8A10_TO_YCRCBA4224      ,       // Y10:CR8:CB8:A10         => YCrCbA (4:2:2:4)
00216     NVGVODATAFORMAT_R10G10B10_TO_RGB444             ,       // R10:G10:B10             => RGB    (4:4:4)
00217     NVGVODATAFORMAT_R12G12B12_TO_RGB444             ,       // R12:G12:B12             => RGB    (4:4:4)
00218 };
00219
00220 // Video output area
00221 enum NVGVOOUTPUTAREA
00222 {
00223     NVGVOOUTPUTAREA_FULLSIZE                        ,       // Output to entire video resolution (full size)
00224     NVGVOOUTPUTAREA_SAFEACTION                      ,       // Output to centered 90% of video resolution (safe action)
00225     NVGVOOUTPUTAREA_SAFETITLE                       ,       // Output to centered 80% of video resolution (safe title)
00226 };
00227
00228 // Synchronization source
00229 enum NVGVOSYNCSOURCE
00230 {
00231     NVGVOSYNCSOURCE_SDISYNC                         ,       // SDI Sync  (Digital input)
00232     NVGVOSYNCSOURCE_COMPSYNC                        ,       // COMP Sync (Composite input)
00233 };
00234
00235 // Composite synchronization type
00236 enum NVGVOCOMPSYNCTYPE
00237 {
00238     NVGVOCOMPSYNCTYPE_AUTO                          ,       // Auto-detect
00239     NVGVOCOMPSYNCTYPE_BILEVEL                       ,       // Bi-level signal
00240     NVGVOCOMPSYNCTYPE_TRILEVEL                      ,       // Tri-level signal
00241 };
00242
00243 // Video output status
00244 enum NVGVOOUTPUTSTATUS
00245 {
00246     NVGVOOUTPUTSTATUS_OFF                           ,       // Output not in use
00247     NVGVOOUTPUTSTATUS_ERROR                         ,       // Error detected
00248     NVGVOOUTPUTSTATUS_SDI_SD                        ,       // SDI output (standard-definition)
00249     NVGVOOUTPUTSTATUS_SDI_HD                        ,       // SDI output (high-definition)
00250 };
00251
00252 // Synchronization input status
00253 enum NVGVOSYNCSTATUS
00254 {
00255     NVGVOSYNCSTATUS_OFF                             ,       // Sync not detected
00256     NVGVOSYNCSTATUS_ERROR                           ,       // Error detected
00257     NVGVOSYNCSTATUS_SYNCLOSS                        ,       // Genlock in use, format mismatch with output
00258     NVGVOSYNCSTATUS_COMPOSITE                       ,       // Composite sync
00259     NVGVOSYNCSTATUS_SDI_SD                          ,       // SDI sync (standard-definition)
00260     NVGVOSYNCSTATUS_SDI_HD                          ,       // SDI sync (high-definition)
00261 };
00262
00263 //---------------------------------------------------------------------
00264 // Structures
00265 //---------------------------------------------------------------------
00266
00267 #define NVGVOCAPS_VIDOUT_SDI                0x00000001      // Supports Serial Digital Interface (SDI) output
00268 #define NVGVOCAPS_SYNC_INTERNAL             0x00000100      // Supports Internal timing source
00269 #define NVGVOCAPS_SYNC_GENLOCK              0x00000200      // Supports Genlock timing source
00270 #define NVGVOCAPS_SYNCSRC_SDI               0x00001000      // Supports Serial Digital Interface (SDI) synchronization input
00271 #define NVGVOCAPS_SYNCSRC_COMP              0x00002000      // Supports Composite synchronization input
00272 #define NVGVOCAPS_OUTPUTMODE_DESKTOP        0x00010000      // Supports Desktop transparent mode
00273 #define NVGVOCAPS_OUTPUTMODE_OPENGL         0x00020000      // Supports OpenGL application mode
00274
00275 #define NVGVOCLASS_SDI                      0x00000001      // SDI-class interface: SDI output with two genlock inputs
00276
00277
00278 struct  NVGVODRIVER
00279 {                                                           // Driver version
00280     WORD    wMajorVersion;                                  //  Major version
00281     WORD    wMinorVersion;                                  //  Minor version
00282     WORD    wRevision;                                      //  Revision
00283     WORD    wBuild;                                         //  Build
00284 };
00285
00286 struct  NVGVOFIRMWARE
00287 {                                                       // Firmware version
00288     WORD          wMajorVersion;                        //  Major version
00289     WORD          wMinorVersion;                        //  Minor version
00290 };
00291
00292 // Device capabilities
00293 struct  NVGVOCAPS
00294 {
00295     WORD              cbSize;                               // Caller sets to sizeof(NVGVOCAPS)
00296     char              szAdapterName[NVADAPTERNAME_MAXLEN];  // Graphics adapter name
00297     DWORD             dwClass;                              // Graphics adapter classes (NGVOCLASS_* mask)
00298     DWORD             dwCaps;                               // Graphics adapter capabilities (NVGVOCAPS_* mask)
00299     DWORD             dwDipSwitch;                          // On-board DIP switch settings bits
00300     DWORD             dwDipSwitchReserved;                  // On-board DIP switch settings reserved bits
00301
00302     NVGVODRIVER       Driver;                               //
00303     NVGVOFIRMWARE     Firmware;                             //
00304
00305     NVGVOOWNERID      ownerId;                              // Unique identifier for owner of video output (NVGVOOWNERID_NONE if free running)
00306     NVGVOOWNERTYPE    ownerType;                            // Owner type for video output (OpenGL application or Desktop mode)
00307 };
00308
00309 // Device status
00310 struct  NVGVOSTATUS
00311 {
00312     WORD              cbSize;                               // Caller sets to sizeof(NVGVOSTATUS)
00313     NVGVOOUTPUTSTATUS vid1Out;                              // Video 1 output status
00314     NVGVOOUTPUTSTATUS vid2Out;                              // Video 2 output status
00315     NVGVOSYNCSTATUS   sdiSyncIn;                            // SDI sync input status
00316     NVGVOSYNCSTATUS   compSyncIn;                           // Composite sync input status
00317     BOOL              syncEnable;                           // Sync enable (TRUE if using syncSource)
00318     NVGVOSYNCSOURCE   syncSource;                           // Sync source
00319     NVGVOSIGNALFORMAT syncFormat;                           // Sync format
00320     NVGVOOWNERID      ownerId;                              // Unique identifier for owner of video output
00321     NVGVOOWNERTYPE    ownerType;                            // Owner type for video output (OpenGL application or Desktop mode)
00322     BOOL              bframeLockEnable;                     // Framelock enable flag
00323     BOOL              bOutputVideoLocked;                   // Output locked status
00324     int               nDataIntegrityCheckErrorCount;        // Data integrity check error count
00325     BOOL              bDataIntegrityCheckEnabled;           // Data integrity check status enabled
00326     BOOL              bDataIntegrityCheckFailed;            // Data integrity check status failed
00327 };
00328
00329
00330 // Output region
00331 struct NVGVOOUTPUTREGION
00332 {
00333     WORD              x;                                    // Horizontal origin in pixels
00334     WORD              y;                                    // Vertical origin in pixels
00335     WORD              width;                                // Width of region in pixels
00336     WORD              height;                               // Height of region in pixels
00337 };
00338
00339 // Gamma ramp (8-bit index)
00340 typedef struct tagNVGAMMARAMP8
00341 {
00342     WORD              cbSize;                               // Caller sets to sizeof(NVGAMMARAMP8)
00343     WORD              wRed[256];                            // Red channel gamma ramp (8-bit index, 16-bit values)
00344     WORD              wGreen[256];                          // Green channel gamma ramp (8-bit index, 16-bit values)
00345     WORD              wBlue[256];                           // Blue channel gamma ramp (8-bit index, 16-bit values)
00346 } NVGAMMARAMP8;
00347
00348 // Gamma ramp (10-bit index)
00349 typedef struct tagNVGAMMARAMP10
00350 {
00351     WORD              cbSize;                               // Caller sets to sizeof(NVGAMMARAMP10)
00352     WORD              wRed[1024];                           // Red channel gamma ramp (10-bit index, 16-bit values)
00353     WORD              wGreen[1024];                         // Green channel gamma ramp (10-bit index, 16-bit values)
00354     WORD              wBlue[1024];                          // Blue channel gamma ramp (10-bit index, 16-bit values)
00355 } NVGAMMARAMP10;
00356
00357
00358 // Sync delay
00359 typedef struct tagNVGVOSYNCDELAY
00360 {
00361     WORD              wHorizontalDelay;                     // Horizontal delay in pixels
00362     WORD              wVerticalDelay;                       // Vertical delay in lines
00363 } NVGVOSYNCDELAY;
00364
00365
00366 // Video mode information
00367 struct  NVVIDEOMODE
00368 {
00369     DWORD             dwHorizontalPixels;                   // Horizontal resolution (in pixels)
00370     DWORD             dwVerticalLines;                      // Vertical resolution for frame (in lines)
00371     NVFLOAT           fFrameRate;                           // Frame rate
00372     NVINTERLACEMODE   interlaceMode;                        // Interlace mode
00373     NVVIDEOSTANDARD   videoStandard;                        // SMPTE standards format
00374     NVVIDEOTYPE       videoType;                            // HD or SD signal classification
00375 };
00376
00377
00378 // Signal format details
00379 struct  NVGVOSIGNALFORMATDETAIL
00380 {
00381     WORD              cbSize;                               // Caller sets to sizeof(NVGVOSIGNALFORMATDETAIL)
00382     NVGVOSIGNALFORMAT signalFormat;                         // Signal format enumerated value
00383     char              szValueName[NVVALUENAME_MAXLEN];      // Signal format name, in the form:
00384                                                             //  <name>\t<rate>\tHz\t(<standard>)[\t<description>]
00385                                                             //  "480i\t59.94\tHz\t(SMPTE259)\tNTSC"
00386                                                             //  "1080i\t50.00\tHz\t(SMPTE274)"
00387     char              szAlternateName[NVVALUENAME_MAXLEN];  // Signal format alternate name (or empty string):
00388                                                             //  "1080PsF\t25.00\tHz\t(SMPTE274)"
00389     NVVIDEOMODE       videoMode;                            // Video mode for signal format
00390 };
00391
00392
00393 // P-buffer formats
00394 #define NVGVOPBUFFERFORMAT_R8G8B8                  0x00000001   // R8:G8:B8
00395 #define NVGVOPBUFFERFORMAT_R8G8B8Z24               0x00000002   // R8:G8:B8:Z24
00396 #define NVGVOPBUFFERFORMAT_R8G8B8A8                0x00000004   // R8:G8:B8:A8
00397 #define NVGVOPBUFFERFORMAT_R8G8B8A8Z24             0x00000008   // R8:G8:B8:A8:Z24
00398 #define NVGVOPBUFFERFORMAT_R16FPG16FPB16FP         0x00000010   // R16FP:G16FP:B16FP
00399 #define NVGVOPBUFFERFORMAT_R16FPG16FPB16FPZ24      0x00000020   // R16FP:G16FP:B16FP:Z24
00400 #define NVGVOPBUFFERFORMAT_R16FPG16FPB16FPA16FP    0x00000040   // R16FP:G16FP:B16FP:A16FP
00401 #define NVGVOPBUFFERFORMAT_R16FPG16FPB16FPA16FPZ24 0x00000080   // R16FP:G16FP:B16FP:A16FP:Z24
00402
00403 // Data format details
00404 struct  NVGVODATAFORMATDETAIL
00405 {
00406     WORD              cbSize;                               // Caller sets to sizeof(NVGVODATAFORMATDETAIL)
00407     NVGVODATAFORMAT   dataFormat;                           // Data format enumerated value
00408     DWORD             dwCaps;                               // Data format capabilities (NVGVOCAPS_* mask)
00409
00410     struct
00411     {
00412         DWORD         dwPbufferFormats;                     // Supported p-buffer formats (NVGVOPBUFFERFORMAT_* mask)
00413         DWORD         dwPbufferCount;                       // Number of p-buffers
00414         char          szValueName[NVVALUENAME_MAXLEN];      // Data format input name, in the form:
00415                                                             //  <name>
00416                                                             //  "R8:G8:B8:A8"
00417     } in;
00418
00419     struct
00420     {
00421         char          szValueName[NVVALUENAME_MAXLEN];      // Data format output name, in the form:
00422                                                             //  <name>\t<format>
00423                                                             //  "YCrCbA\t(4:2:2:4)"
00424     } out;
00425 };
00426
00427 // Device configuration (dwFields masks indicating NVGVOCONFIG fields to use for NvGvoGet/Set/Test/CreateDefaultConfig())
00428 #define NVGVOCONFIG_SIGNALFORMAT            0x00000001      // dwFields: signalFormat
00429 #define NVGVOCONFIG_DATAFORMAT              0x00000002      // dwFields: dataFormat
00430 #define NVGVOCONFIG_OUTPUTREGION            0x00000004      // dwFields: outputRegion
00431 #define NVGVOCONFIG_OUTPUTAREA              0x00000008      // dwFields: outputArea
00432 #define NVGVOCONFIG_COLORCONVERSION         0x00000010      // dwFields: colorConversion
00433 #define NVGVOCONFIG_GAMMACORRECTION         0x00000020      // dwFields: gammaCorrection
00434 #define NVGVOCONFIG_SYNCSOURCEENABLE        0x00000040      // dwFields: syncSource and syncEnable
00435 #define NVGVOCONFIG_SYNCDELAY               0x00000080      // dwFields: syncDelay
00436 #define NVGVOCONFIG_COMPOSITESYNCTYPE       0x00000100      // dwFields: compositeSyncType
00437 #define NVGVOCONFIG_FRAMELOCKENABLE         0x00000200      // dwFields: EnableFramelock
00438 #define NVGVOCONFIG_422FILTER               0x00000400      // dwFields: bEnable422Filter
00439 #define NVGVOCONFIG_COMPOSITETERMINATE      0x00000800      // dwFields: bCompositeTerminate
00440 #define NVGVOCONFIG_DATAINTEGRITYCHECK      0x00001000      // dwFields: bEnableDataIntegrityCheck
00441 #define NVGVOCONFIG_CSCOVERRIDE             0x00002000      // dwFields: colorConversion override
00442 #define NVGVOCONFIG_FLIPQUEUELENGTH         0x00004000      // dwFields: flipqueuelength control
00443
00444 // Don't forget to update NVGVOCONFIG_VALIDFIELDS in NvGvoApiInternals.h when NVGVOCONFIG_ALLFIELDS changes.
00445 #define NVGVOCONFIG_ALLFIELDS   ( NVGVOCONFIG_SIGNALFORMAT          | \
00446                                   NVGVOCONFIG_DATAFORMAT            | \
00447                                   NVGVOCONFIG_OUTPUTREGION          | \
00448                                   NVGVOCONFIG_OUTPUTAREA            | \
00449                                   NVGVOCONFIG_COLORCONVERSION       | \
00450                                   NVGVOCONFIG_GAMMACORRECTION       | \
00451                                   NVGVOCONFIG_SYNCSOURCEENABLE      | \
00452                                   NVGVOCONFIG_SYNCDELAY             | \
00453                                   NVGVOCONFIG_COMPOSITESYNCTYPE     | \
00454                                   NVGVOCONFIG_FRAMELOCKENABLE       | \
00455                                   NVGVOCONFIG_422FILTER             | \
00456                                   NVGVOCONFIG_COMPOSITETERMINATE    | \
00457                                   NVGVOCONFIG_DATAINTEGRITYCHECK    | \
00458                                   NVGVOCONFIG_CSCOVERRIDE           | \
00459                                   NVGVOCONFIG_FLIPQUEUELENGTH)
00460
00461 // Device configuration
00462 // No members can be deleted from below structure. Only add new members at the
00463 // end of the structure
00464 // Below structure is released in rel90. Any more field added after  rel95 should
00465 // put in version control before that version is releasing.
00466
00467 struct  NVGVOCOLORCONVERSION                                // Color conversion:
00468 {                                                           //
00469     NVFLOAT       colorMatrix[3][3];                        //  Output[n] =
00470     NVFLOAT       colorOffset[3];                           //      Input[0] * colorMatrix[n][0] +
00471     NVFLOAT       colorScale[3];                            //      Input[1] * colorMatrix[n][1] +
00472                                                             //      Input[2] * colorMatrix[n][2] +
00473                                                             //      OutputRange * colorOffset[n]
00474                                                             //    where OutputRange is the standard magnitude of
00475                                                             //     Output[n][n] and colorMatrix and colorOffset
00476                                                             //     values are within the range -1.0 to +1.0
00477     BOOL          bCompositeSafe;                           // bCompositeSafe constrains luminance range when using composite output
00478 };
00479
00480 typedef struct tagNVGVOCONFIG
00481 {
00482     WORD              cbSize;                               // Caller sets to sizeof(NVGVOCONFIG)
00483     DWORD             dwFields;                             // Caller sets to NVGVOCONFIG_* mask for fields to use
00484
00485     NVGVOSIGNALFORMAT signalFormat;                         // Signal format for video output
00486     NVGVODATAFORMAT   dataFormat;                           // Data format for video output
00487     NVGVOOUTPUTREGION outputRegion;                         // Region for video output (Desktop mode)
00488     NVGVOOUTPUTAREA   outputArea;                           // Usable resolution for video output (safe area)
00489     NVGVOCOLORCONVERSION  colorConversion;                  // Color conversion.
00490
00491     union                                                   // Gamma correction:
00492     {                                                       //  cbSize field in gammaRamp describes type
00493         NVGAMMARAMP8  gammaRamp8;                           //  Gamma ramp (8-bit index, 16-bit values)
00494         NVGAMMARAMP10 gammaRamp10;                          //  Gamma ramp (10-bit index, 16-bit values)
00495     } gammaCorrection;
00496
00497     BOOL              syncEnable;                           // Sync enable (TRUE to use syncSource)
00498     NVGVOSYNCSOURCE   syncSource;                           // Sync source
00499     NVGVOSYNCDELAY    syncDelay;                            // Sync delay
00500     NVGVOCOMPSYNCTYPE compositeSyncType;                    // Composite sync type
00501     BOOL              frameLockEnable;                      // Flag indicating whether framelock was on/off
00502     double            fGammaValueR;                         // Red Gamma value within gamma ranges. 0.5 - 6.0
00503     double            fGammaValueG;                         // Green Gamma value within gamma ranges. 0.5 - 6.0
00504     double            fGammaValueB;                         // Blue Gamma value within gamma ranges. 0.5 - 6.0
00505     BOOL              bPSFSignalFormat;                     // Inidcates whether contained format is PSF Signal format
00506     BOOL              bEnable422Filter;                     // Enables/Disables 4:2:2 filter
00507     BOOL              bCompositeTerminate;                  // Composite termination
00508     BOOL              bEnableDataIntegrityCheck;            // Enable data integrity check: true - enable, false - disable
00509     BOOL              bCSCOverride;                         // Use provided CSC color matrix to overwrite
00510     DWORD             dwFlipQueueLength;                    // Number of buffers used for the internal flipqueue used in pbuffer mode
00511     DWORD             dwPadding;                            // Number of bytes to pad the data so that the size of newly added data
00512                                                             // elements exceeds structure alignment before dwFlipQueueLength was added
00513                                                             // into the structure
00514     BYTE              reservedData[256];                    // Inicates last stored SDI output state TRUE-ON / FALSE-OFF
00515 } NVGVOCONFIG;
00516
00517 //---------------------------------------------------------------------
00518 // Prototypes
00519 //---------------------------------------------------------------------
00520
00521 //---------------------------------------------------------------------
00522 // Function:    NvGvoCaps
00523 // Description: Determine graphics adapter Graphics to Video capabilities.
00524 // Parameters:  nAdapterNumber  - Graphics adapter number
00525 //              nReserved       - Reserved (must be set to zero)
00526 //              pAdapterCaps    - Pointer to receive capabilities
00527 // Returns:     NV_OK           - Success
00528 //              NV_NOTSUPPORTED - Graphics to Video not supported
00529 //---------------------------------------------------------------------
00530 NVRESULT NVAPIENTRY  NvGvoCaps( UINT       nAdapterNumber IN,
00531                                 UINT       nReserved      IN,
00532                                 NVGVOCAPS* pAdapterCaps   OUT );
00533
00534 //---------------------------------------------------------------------
00535 // Function:    NvGvoOpen
00536 // Description: Open graphics adapter for Graphics to Video operations
00537 //              using the OpenGL application interface.  Read operations
00538 //              are permitted in this mode by multiple clients, but Write
00539 //              operations are application exclusive.
00540 // Parameters:  nAdapterNumber  - Graphics adapter number
00541 //              nReserved       - Reserved (must be set to zero)
00542 //              dwClass         - Class interface (NVGVOCLASS_* value)
00543 //              dwAccessRights  - Access rights (NVGVO_O_* mask)
00544 //              phGvoHandle     - Pointer to receive handle
00545 // Returns:     NV_OK           - Success
00546 //              NV_ACCESSDENIED - Access denied for requested access
00547 //---------------------------------------------------------------------
00548 NVRESULT NVAPIENTRY NvGvoOpen( UINT                  nAdapterNumber IN,
00549                                UINT                  nReserved      IN,
00550                                DWORD                 dwClass        IN,
00551                                DWORD                 dwAccessRights IN,
00552                                NVGVOHANDLE*          phGvoHandle    OUT );
00553
00554 //---------------------------------------------------------------------
00555 // Function:    NvGvoClose
00556 // Description: Closes graphics adapter for Graphics to Video operations
00557 //              using the OpenGL application interface.  Closing an
00558 //              OpenGL handle releases the device.
00559 // Parameters:  hGvoHandle - Handle to graphics adapter
00560 // Returns:     NV_OK      - Success
00561 //---------------------------------------------------------------------
00562 NVRESULT NVAPIENTRY NvGvoClose( NVGVOHANDLE hGvoHandle IN );
00563
00564 //---------------------------------------------------------------------
00565 // Function:    NvGvoDesktopOpen
00566 // Description: Open graphics adapter for Graphics to Video operations
00567 //              using the Desktop transparent mode interface.  Read
00568 //              operations are permitted in this mode by multiple clients,
00569 //              but write operations are application exclusive.
00570 // Parameters:  nAdapterNumber  - Graphics adapter number
00571 //              nReserved       - Reserved (must be set to zero)
00572 //              dwClass         - Class interface (NVGVOCLASS_* value)
00573 //              dwAccessRights  - Access rights (NVGVO_O_* mask)
00574 //              phGvoHandle     - Pointer to receive handle
00575 // Returns:     NV_OK           - Success
00576 //              NV_ACCESSDENIED - Access denied for requested access
00577 //---------------------------------------------------------------------
00578 NVRESULT NVAPIENTRY NvGvoDesktopOpen( UINT                  nAdapterNumber IN,
00579                                       UINT                  nReserved      IN,
00580                                       DWORD                 dwClass        IN,
00581                                       DWORD                 dwAccessRights IN,
00582                                       NVGVOHANDLE*          phGvoHandle    OUT );
00583
00584 //---------------------------------------------------------------------
00585 // Function:    NvGvoDesktopClose
00586 // Description: Closes graphics adapter for Graphics to Video operations
00587 //              using the Desktop transparent mode interface.
00588 // Parameters:  hGvoHandle  - Handle to graphics adapter
00589 //              bGvoRelease - TRUE to release device when handle closes
00590 //                            FALSE to remain in desktop mode when handle
00591 //                                  closes (other clients can open using
00592 //                                  NvGvoDesktopOpen and release using
00593 //                                  NvGvoDesktopClose)
00594 // Returns:     NV_OK       - Success
00595 //---------------------------------------------------------------------
00596 NVRESULT NVAPIENTRY NvGvoDesktopClose( NVGVOHANDLE hGvoHandle IN,
00597                                        BOOL        bRelease   IN );
00598
00599 //---------------------------------------------------------------------
00600 // Function:    NvGvoStatus
00601 // Description: Get Graphics to Video status.
00602 // Parameters:  hGvoHandle - Handle to graphics adapter
00603 // Returns:     NV_OK      - Success
00604 //---------------------------------------------------------------------
00605 NVRESULT NVAPIENTRY NvGvoStatus( NVGVOHANDLE  hGvoHandle IN,
00606                                  NVGVOSTATUS* pStatus    OUT );
00607
00608 //---------------------------------------------------------------------
00609 // Function:    NvGvoSyncFormatDetect
00610 // Description: Detects Graphics to Video incoming sync video format.
00611 // Parameters:  hGvoHandle - Handle to graphics adapter
00612 //              pdwWait    - Pointer to receive milliseconds to wait
00613 //                           before NvGvoStatus will return detected
00614 //                           syncFormat.
00615 // Returns:     NV_OK - Success
00616 //---------------------------------------------------------------------
00617 NVRESULT NVAPIENTRY NvGvoSyncFormatDetect( NVGVOHANDLE hGvoHandle IN,
00618                                            DWORD*      pdwWait    OUT );
00619
00620 //---------------------------------------------------------------------
00621 // Function:    NvGvoConfigGet
00622 // Description: Get Graphics to Video configuration.
00623 // Parameters:  hGvoHandle - Handle to graphics adapter
00624 //              pConfig    - Pointer to Graphics to Video configuration
00625 // Returns:     NV_OK      - Success
00626 //---------------------------------------------------------------------
00627 NVRESULT NVAPIENTRY NvGvoConfigGet( NVGVOHANDLE  hGvoHandle IN,
00628                                     NVGVOCONFIG* pConfig    OUT );
00629
00630 //---------------------------------------------------------------------
00631 // Function:    NvGvoConfigSet
00632 // Description: Set Graphics to Video configuration.
00633 // Parameters:  hGvoHandle      - Handle to graphics adapter
00634 //              pConfig         - Pointer to Graphics to Video config
00635 // Returns:     NV_OK           - Success
00636 //              NV_ACCESSDENIED - Access denied (no write access)
00637 //              NV_RUNNING      - Requested settings require NvGvoStop
00638 //---------------------------------------------------------------------
00639 NVRESULT NVAPIENTRY NvGvoConfigSet( NVGVOHANDLE  hGvoHandle IN,
00640                                     NVGVOCONFIG* pConfig    IN );
00641
00642 //---------------------------------------------------------------------
00643 // Function:    NvGvoIsRunning
00644 // Description: Determine if Graphics to Video output is running.
00645 // Parameters:  hGvoHandle      - Handle to graphics adapter
00646 // Returns:     NV_RUNNING      - Graphics to Video running
00647 //              NV_NOTRUNNING   - Graphics to Video not running
00648 //---------------------------------------------------------------------
00649 NVRESULT NVAPIENTRY NvGvoIsRunning( NVGVOHANDLE hGvoHandle IN );
00650
00651 //---------------------------------------------------------------------
00652 // Function:    NvGvoStart
00653 // Description: Start Graphics to Video output.
00654 // Parameters:  hGvoHandle      - Handle to graphics adapter
00655 // Returns:     NV_OK           - Success
00656 //              NV_ACCESSDENIED - Access denied (no write access)
00657 //              NV_RUNNING      - Graphics to Video already running
00658 //---------------------------------------------------------------------
00659 NVRESULT NVAPIENTRY NvGvoStart( NVGVOHANDLE hGvoHandle IN );
00660
00661 //---------------------------------------------------------------------
00662 // Function:    NvGvoStop
00663 // Description: Stop Graphics to Video output.
00664 // Parameters:  hGvoHandle      - Handle to graphics adapter
00665 // Returns:     NV_OK           - Success
00666 //              NV_ACCESSDENIED - Access denied (no write access)
00667 //              NV_NOTRUNNING   - Graphics to Video not running
00668 //---------------------------------------------------------------------
00669 NVRESULT NVAPIENTRY NvGvoStop( NVGVOHANDLE hGvoHandle IN );
00670
00671 //---------------------------------------------------------------------
00672 // Function:    NvGvoEnumSignalFormats
00673 // Description: Enumerate signal formats supported by Graphics to Video.
00674 // Parameters:  hGvoHandle          - Handle to graphics adapter
00675 //              nEnumIndex          - Enumeration index
00676 //              bByEnum             - TRUE nEnumIndex is NVSIGNALFORMAT_*
00677 //                                    FALSE nEnumIndex is 0..n-1
00678 //              pSignalFormatDetail - Pointer to receive detail or NULL
00679 // Returns:     NV_OK               - Success
00680 //              NV_NOMORE           - No more signal formats to enumerate
00681 //              NV_NOTSUPPORTED     - Unsupported NVSIGNALFORMAT_ enumeration
00682 //---------------------------------------------------------------------
00683 NVRESULT NVAPIENTRY NvGvoEnumSignalFormats( NVGVOHANDLE              hGvoHandle          IN,
00684                                             int                      nEnumIndex          IN,
00685                                             BOOL                     bByEnum             IN,
00686                                             NVGVOSIGNALFORMATDETAIL* pSignalFormatDetail OUT );
00687
00688
00689 //---------------------------------------------------------------------
00690 // Function:    NvGvoIsFrameLockModeCompatible
00691 // Description: Checkes whether modes are compatible in framelock mode
00692 // Parameters:  hGvoHandle          - Handle to graphics adapter
00693 //              nSrcEnumIndex       - Source Enumeration index
00694 //              nDestEnumIndex      - Destination Enumeration index
00695 //
00696 //              pbCompatible        - Pointer to receive compatability
00697 // Returns:     NV_OK               - Success
00698 //              NV_NOTSUPPORTED     - Unsupported NVSIGNALFORMAT_ enumeration
00699 //---------------------------------------------------------------------
00700 NVRESULT NVAPIENTRY NvGvoIsFrameLockModeCompatible( NVGVOHANDLE  hGvoHandle          IN,
00701                                                     int          nSrcEnumIndex       IN,
00702                                                     int          nDestEnumIndex      IN,
00703                                                     BOOL*        pbCompatible        OUT );
00704
00705
00706 //---------------------------------------------------------------------
00707 // Function:    NvGvoEnumDataFormats
00708 // Description: Enumerate data formats supported by Graphics to Video.
00709 // Parameters:  hGvoHandle        - Handle to graphics adapter
00710 //              nEnumIndex        - Enumeration index
00711 //              bByEnum           - TRUE nEnumIndex is NVDATAFORMAT_*
00712 //                                  FALSE nEnumIndex is 0..n-1
00713 //              pDataFormatDetail - Pointer to receive detail or NULL
00714 // Returns:     NV_OK             - Success
00715 //              NV_NOMORE         - No more data formats to enumerate
00716 //              NV_NOTSUPPORTED   - Unsupported NVDATAFORMAT_ enumeration
00717 //---------------------------------------------------------------------
00718 NVRESULT NVAPIENTRY NvGvoEnumDataFormats( NVGVOHANDLE            hGvoHandle        IN,
00719                                           int                    nEnumIndex        IN,
00720                                           BOOL                   bByEnum           IN,
00721                                           NVGVODATAFORMATDETAIL* pDataFormatDetail OUT );
00722
00723
00724 #ifdef  __cplusplus
00725     }
00726 #endif//__cplusplus
00727
00728 #endif//__NVGVOAPI_H__
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: nvsgapi.h Source File

inc / nvsg / nvsg

nvsgapi.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #if defined(LINUX)
00015 #include "nvsg/LinuxTypes.h"
00016 #endif
00017
00018
00019 #ifdef _WIN32
00020 // microsoft specific storage-class defines
00021 # ifdef NVSG_EXPORTS
00022 #  define NVSG_API __declspec(dllexport)
00023 # else
00024 #  define NVSG_API __declspec(dllimport)
00025 # endif
00026 #else
00027 # define NVSG_API
00028 #endif
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Renderer.h Source File

inc / nvsg / nvtraverser

nvtraverser/Renderer.h

00001 // Copyright NVIDIA Corporation 2002-2008
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvtraverser/RenderListVisitor.h"
00015
00016 namespace nvtraverser
00017 {
00018
00019 class Renderer : public RenderListVisitor
00020 {
00021 };
00022
00023 } // namespace nvtraverser
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Renderer.h Source File

inc / nvsg / nvui

nvui/Renderer.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/CoreTypes.h>
00015 #include <nvsg/Scene.h>
00016 #include <nvsg/ViewState.h>
00017 #include <nvui/RenderTarget.h>
00018 #include <nvutil/SmartPtr.h>
00019
00020 namespace nvui
00021 {
00022
00025   class Renderer : public nvutil::Reflection, public nvutil::RCObject
00026   {
00027   protected:
00028     NVSG_API Renderer( const SmartRenderTarget &renderTarget = SmartRenderTarget() );
00029   public:
00030     NVSG_API virtual ~Renderer();
00031
00035     NVSG_API void setRenderTarget( const SmartRenderTarget &renderTarget );
00036
00040     NVSG_API SmartRenderTarget getRenderTarget() const;
00041
00048     NVSG_API void render( const SmartRenderTarget &renderTarget = SmartRenderTarget() );
00049
00051     NVSG_API virtual void restartAccumulation();
00052   protected:
00056     NVSG_API virtual void beginRendering( const SmartRenderTarget &renderTarget = SmartRenderTarget() );
00057
00061     NVSG_API virtual void endRendering( const SmartRenderTarget &renderTarget = SmartRenderTarget() );
00062
00066     NVSG_API virtual void doRender( const SmartRenderTarget &renderTarget ) = 0;
00067   private:
00068     SmartRenderTarget m_renderTarget;
00069   };
00070
00071   typedef nvutil::SmartPtr<Renderer> SmartRenderer;
00072
00073 }  // namespace nvui
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: OBJLoader.h Source File

src / Loader / OBJLoader

OBJLoader.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // OBJLoader.h
00016 //
00017
00018 #ifndef _LOADOBJ_H_
00019 #define _LOADOBJ_H_
00020
00021 #if ! defined( DOXYGEN_IGNORE )
00022
00023 #include <string>
00024 #include <vector>
00025 #include <map>
00026 #include <list>
00027 #include <ReadObj.h>
00028
00029 #include <nvsg/nvsgapi.h>
00030 #include <nvsg/nvsg.h>
00031 #include <nvsg/Scene.h>
00032 #include <nvsg/PlugInterface.h>
00033 #include <nvutil/Trace.h>
00034 #include <nvmath/Vecnt.h>
00035
00036 namespace nvsg
00037 {
00038   class Group;
00039   class SceneLoader;
00040   class Scene;
00041   class ViewState;
00042   class StateSet;
00043 }
00044
00045 #define INVOKE_CALLBACK(cb) if( callback() ) callback()->cb
00046
00047 class OBJLoader : public nvsg::SceneLoader
00048 {
00049
00050 public:
00051   OBJLoader();
00052
00053   void deleteThis( void );
00054
00055   nvsg::SceneSharedPtr load( const std::string& filename,
00056                                const std::vector<std::string> &searchPaths,
00057                                nvsg::ViewStateSharedPtr & viewState );
00058
00059 protected:
00060   virtual ~OBJLoader(void);
00061
00062 private:
00063   static bool findFile( const std::string & fin, std::string &fout );
00064   static void message( const std::string &, const std::string & );
00065
00066   void buildScene( nvsg::Group *, Obj::ObjScene * scene );
00067   nvsg::StateSetSharedPtr buildStateSet( Obj::ObjMaterial * material, bool & );
00068
00069   std::vector< std::string > m_searchPaths;
00070 };
00071
00072
00073 #endif // ! defined( DOXYGEN_IGNORE )
00074
00075 #endif /* _LOADOBJ_H_ */
00076
00077
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Observer.h Source File

inc / nvsg / nvutil

Observer.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015 #include "nvsg/CoreTypes.h"
00016 #include <nvutil/HandledObject.h>
00017 #include <nvutil/Subject.h>
00018 #include <set>
00019
00020 namespace nvutil
00021 {
00022   class Subject;
00023
00026   class Observer : public HandledObject
00027   {
00028     public:
00029       NVSG_API Observer();
00030       NVSG_API virtual ~Observer();
00031
00035       NVSG_API bool clear(unsigned int state);
00036
00040       NVSG_API void destroyed( const Subject *subject, const nvutil::Subject::SmartPayload &payload );
00041
00046       NVSG_API void update( const Subject *subject, unsigned int state, const nvutil::Subject::SmartPayload &payload );
00047
00052       NVSG_API void update( const Subject *subject, PropertyId propertyId, const Subject::SmartPayload &payload );
00053
00060       NVSG_API void postAddChild( const nvsg::Group *group, const nvsg::NodeSharedPtr& child, unsigned int index, const nvutil::Subject::SmartPayload &payload );
00061
00068       NVSG_API void preRemoveChild( const nvsg::Group *group, const nvsg::NodeSharedPtr& child, unsigned int index, const nvutil::Subject::SmartPayload &payload );
00069
00074       NVSG_API void postGroupExchanged( const nvsg::Group *group, const Subject::SmartPayload& payload );
00075
00081       NVSG_API void postAddLightSource( const nvsg::Group *group, const nvsg::LightSourceSharedPtr& lightSource, const nvutil::Subject::SmartPayload& payload );
00082
00088       NVSG_API void preRemoveLightSource( const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload& payload );
00089
00095       NVSG_API void postAddClipPlane( const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr& clipPlane, const nvutil::Subject::SmartPayload& payload );
00096
00102       NVSG_API void preRemoveClipPlane( const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr& clipPlane, const Subject::SmartPayload& payload );
00103     protected:
00108       NVSG_API virtual void onDestroyed( const Subject *subject, const nvutil::Subject::SmartPayload &payload );
00109
00117       NVSG_API virtual unsigned int onUpdate( const Subject *subject, unsigned int currentState, unsigned int changeState, const nvutil::Subject::SmartPayload &payload ) const;
00118
00124       NVSG_API virtual void onUpdate( const Subject *subject, PropertyId propertyId , const nvutil::Subject::SmartPayload &payload) const;
00125
00132       NVSG_API virtual void onPostAddChild( const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload );
00133
00140       NVSG_API virtual void onPreRemoveChild( const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index, const nvutil::Subject::SmartPayload &payload );
00141
00146       NVSG_API virtual void onPostGroupExchanged( const nvsg::Group *group, const nvutil::Subject::SmartPayload& payload );
00147
00153       NVSG_API virtual void onPostAddLightSource( const nvsg::Group *group, const nvsg::LightSourceSharedPtr& lightSource, const nvutil::Subject::SmartPayload& payload );
00154
00160       NVSG_API virtual void onPreRemoveLightSource( const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource, const nvutil::Subject::SmartPayload& payload );
00161
00167       NVSG_API virtual void onPostAddClipPlane( const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr& clipPlane, const nvutil::Subject::SmartPayload& payload);
00168
00174       NVSG_API virtual void onPreRemoveClipPlane( const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr& clipPlane, const nvutil::Subject::SmartPayload& payload );
00175     private:
00176       unsigned int  m_state;  // reflects whether observed states are dirty or not
00177                               // a set state bit indicates a dirty state
00178   };
00179
00180 } // namespace nvutil
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ReadObj.h Source File

src / Loader / OBJLoader

ReadObj.h

00001 //
00002 // A fair amount of this code was adapted from the SGL OBJ file loader.
00003 // The original files contain the following copyright notice, and were under
00004 // the LGPL:
00005 //
00006 /******************************************************************************
00007  * SGL: A Scene Graph Library
00008  *
00009  * Copyright (C) 1997-2004  Scott McMillan   All Rights Reserved.
00010  *
00011  *     File: sglObjModel.cpp
00012  *  Created: 24 June 1997
00013  *****************************************************************************/
00014
00015 #pragma once
00016
00017 #include <stdio.h>
00018 #include <stdlib.h>
00019 #include <string.h>
00020 #include <ctype.h>
00021 #include <string>
00022 #include <vector>
00023 #include <iostream>
00024
00025 #ifdef _WIN32
00026 #define strcasecmp stricmp
00027 #endif
00028
00029 namespace Obj
00030 {
00031
00032 class Vec3f
00033 {
00034 public:
00035   Vec3f( float a, float b, float c ) { x=a; y=b; z=c; }
00036   Vec3f() {}
00037   float x, y, z;
00038   float & operator[]( int v )
00039   {
00040     if( v == 0 )
00041       return x;
00042     else if( v == 1 )
00043       return y;
00044     else if( v == 2 )
00045       return z;
00046     else
00047       return z; // should assert, do this for now
00048   }
00049 };
00050
00051 class Vec2f
00052 {
00053 public:
00054   Vec2f( float a, float b ) { x=a; y=b; }
00055   Vec2f() {}
00056   float x, y;
00057   float & operator[]( int v )
00058   {
00059     if( v == 0 )
00060       return x;
00061     else if( v == 1 )
00062       return y;
00063     else
00064       return y; // should assert, do this for now
00065   }
00066 };
00067
00068 #define setVec3( v, x, y, z ) { v[0] = x; v[1] = y; v[2] = z; }
00069 #define setVec2( v, x, y, z ) { v[0] = x; v[1] = y; }
00070
00071 class ObjMaterial
00072 {
00073 public:
00074   enum
00075   {
00076     HAS_AMBIENT      = 0x001,
00077     HAS_DIFFUSE      = 0x002,
00078     HAS_SPECULAR     = 0x004,
00079     HAS_REFLECTIVE   = 0x008,
00080     HAS_TRANSMISSIVE = 0x010,
00081     HAS_ALPHA        = 0x020,
00082     HAS_SHININESS    = 0x040,
00083     HAS_IOR          = 0x080,
00084     HAS_TEXTURE      = 0x100,
00085     HAS_TRANSPARENCY = 0x200,
00086     HAS_EMISSIVE     = 0x400
00087   };
00088
00089   // needs to match above
00090   bool hasColors() { return (materialFlags & 0xff) > 0; }
00091   bool hasTexture() { return (materialFlags & HAS_TEXTURE) > 0; }
00092
00093   ObjMaterial( const char * mname )
00094     : materialFlags(0)
00095     , name( mname )
00096     , ambient( Vec3f(0.f,0.f,0.f) )     // note, these defaults are not used
00097     , diffuse( Vec3f(0.f,0.f,0.f) )
00098     , specular( Vec3f(0.f,0.f,0.f) )
00099     , emissive( Vec3f(0.f,0.f,0.f) )
00100     , reflective( Vec3f(0.f,0.f,0.f) )
00101     , transmissive( Vec3f(0.f,0.f,0.f) )
00102     , alpha( 1.f )
00103     , transparency(0.f)
00104     , shininess( 1.f )
00105     , ior( 1.f )
00106     , illum(1)
00107     {}
00108
00109   ~ObjMaterial() {}
00110
00111   std::string name;
00112   unsigned int materialFlags;
00113   Vec3f ambient;
00114   Vec3f diffuse;
00115   Vec3f specular;
00116   Vec3f emissive;
00117   Vec3f reflective;
00118   Vec3f transmissive;
00119   float alpha;
00120   float transparency;
00121   float shininess;
00122   float ior;
00123   int   illum;
00124   std::string diffuseTexture;
00125   std::string reflectiveTexture;
00126 };
00127
00128 struct ObjFace
00129 {
00130   std::vector< unsigned int > indices;
00131 };
00132
00133 struct ObjGeoSet
00134 {
00135   ObjMaterial * material;
00136
00137   std::vector< Vec3f > verts;
00138   std::vector< Vec3f > normals;
00139   std::vector< Vec2f > texcoords;
00140
00141   std::vector< ObjFace > faces;
00142
00143   bool hasTextureCoordinates;
00144 };
00145
00146 struct ObjScene
00147 {
00148   std::vector< ObjGeoSet * > geoSets;
00149 };
00150
00151 class ObjLoader
00152 {
00153 public:
00154
00155   ObjLoader();
00156   ~ObjLoader();
00157
00158   ObjGeoSet * findGeoSet( ObjMaterial * mtl );
00159   bool load(const std::string &filename,
00160             bool (*)( const std::string &fin, std::string &fout ) = 0,
00161             void (*)( const std::string &prefix, const std::string &msg ) = 0 );
00162   bool addMaterialLib(const char *filename);
00163   ObjMaterial * getMaterial(const char *mtl_name);
00164   bool addMaterial(ObjMaterial *mtl);
00165   ObjMaterial * parseMtlLib(const std::string &filename, const char *mtl_name);
00166   void parseTexture(char *next, std::string &filename,float &su,float &sv);
00167
00168   ObjScene * getScene();
00169
00170 private:
00171   void message( const std::string & pre, const std::string & msg )
00172   {
00173     if( m_message )
00174     {
00175       m_message( pre, msg );
00176     }
00177     else
00178     {
00179       std::cerr << pre << " " << msg << std::endl;
00180     }
00181   }
00182   bool (*m_findFile)( const std::string &fin, std::string &fout );
00183   void (*m_message)( const std::string &pre, const std::string &msg );
00184
00185   std::vector< std::string > m_mtlLibList;
00186   std::vector< ObjMaterial * > m_mtlList;
00187   std::vector< ObjGeoSet * > m_geoSets;
00188   ObjScene m_scene;
00189 };
00190
00191 } // end namespace Obj
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Reflection.h Source File

inc / nvsg / nvutil

Reflection.h

00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <map>
00015 #include <set>
00016 #include <vector>
00017 #include <string>
00018 #include "nvsgcommon.h" // commonly used stuff
00019 #include "nvmath/Boxnt.h"
00020 #include "nvmath/Matnnt.h"
00021 #include "nvmath/Quatt.h"
00022 #include "nvmath/Vecnt.h"
00023 #include "nvutil/Subject.h"
00024 #include "nvutil/Handle.h"
00025 #include "nvutil/SmartPtr.h"
00026
00027 // required declaration for TypedPropertyEnum
00028 namespace nvmath
00029 {
00030   class Trafo;
00031 }
00032
00033 namespace nvsg
00034 {
00035   class VertexAttribute;
00036
00037   class Scene;
00038   class ViewState;
00039   CORE_TYPES( Scene, Object );
00040   CORE_TYPES( ViewState, nvutil::HandledObject );
00041 }
00042
00043 namespace nvui
00044 {
00045   class RenderTarget;
00046   typedef nvutil::SmartPtr<RenderTarget> SmartRenderTarget;
00047 }
00048
00049 namespace nvutil {
00050   // forward declarations
00051   class Reflection;
00052   class ReflectionInfo;
00053   class Property;
00054
00056   typedef Property *PropertyId;
00057
00061   class Property
00062   {
00063   public:
00065     enum Type
00066     {
00067         TYPE_FLOAT
00068       , TYPE_FLOAT2
00069       , TYPE_FLOAT3
00070       , TYPE_FLOAT4
00071       , TYPE_INT
00072       , TYPE_INT2
00073       , TYPE_INT3
00074       , TYPE_INT4
00075       , TYPE_UINT
00076       , TYPE_UINT2
00077       , TYPE_UINT3
00078       , TYPE_UINT4
00079       , TYPE_QUATERNION_FLOAT
00080       , TYPE_BOX2_FLOAT
00081       , TYPE_BOX3_FLOAT
00082       , TYPE_BOX4_FLOAT
00083       , TYPE_MATRIX33_FLOAT
00084       , TYPE_MATRIX44_FLOAT
00085       , TYPE_BOOLEAN
00086       , TYPE_TRANSFORMATION
00087       , TYPE_VERTEX_ATTRIBUTE
00088       , TYPE_OBJECT
00089       , TYPE_STRING
00090       , TYPE_SET_UINT
00091       , TYPE_SCENE
00092       , TYPE_VIEWSTATE
00093       , TYPE_RENDERTARGET
00094       , TYPE_UNKNOWN
00095     };
00096
00098     enum Semantic
00099     {
00100         SEMANTIC_VALUE
00101       , SEMANTIC_POSITION
00102       , SEMANTIC_DIRECTION
00103       , SEMANTIC_ORIENTATION
00104       , SEMANTIC_DIMENSION
00105       , SEMANTIC_SCALING
00106       , SEMANTIC_COLOR
00107       , SEMANTIC_OBJECT
00108     };
00109
00110     NVSG_API virtual ~Property() {}
00111     NVSG_API virtual Type getType() const = 0;
00112     NVSG_API virtual Semantic getSemantic() const = 0;
00113     NVSG_API virtual void addRef() = 0;
00114     NVSG_API virtual void destroy() = 0;
00115     NVSG_API virtual std::string getAnnotation() const = 0;
00116     NVSG_API virtual Property *clone() const { return const_cast<Property *>(this); }
00117   };
00118
00121 #ifndef NDEBUG
00122   template <typename ReturnType, typename InputType> ReturnType* reflection_cast(InputType *object)
00123   {
00124     ReturnType *castedObject = dynamic_cast<ReturnType*>(object);
00125     NVSG_ASSERT(castedObject != 0);
00126     return castedObject;
00127   }
00128 #else
00129   template <typename ReturnType, typename InputType> ReturnType* reflection_cast(InputType *object)
00130   {
00131     return static_cast<ReturnType*>(object);
00132   }
00133
00134 #endif
00135
00136   /* \brief Template trait to get the property value for a C++ datatype
00137      \remarks Usage: TypedPropertyEnum<DataType>::Type
00138   */
00139   template <typename T> struct TypedPropertyEnum;
00140
00142   template <> struct TypedPropertyEnum<float> {
00143     enum { type = Property::TYPE_FLOAT };
00144   };
00145
00147   template <> struct TypedPropertyEnum<nvmath::Vec2f> {
00148     enum { type = Property::TYPE_FLOAT2 };
00149   };
00150
00152   template <> struct TypedPropertyEnum<nvmath::Vec3f> {
00153     enum { type = Property::TYPE_FLOAT3 };
00154   };
00155
00157   template <> struct TypedPropertyEnum<nvmath::Vec4f> {
00158     enum { type = Property::TYPE_FLOAT4 };
00159   };
00160
00162   template <> struct TypedPropertyEnum<nvmath::Box2f> {
00163     enum { type = Property::TYPE_BOX2_FLOAT };
00164   };
00165
00167   template <> struct TypedPropertyEnum<nvmath::Box3f> {
00168     enum { type = Property::TYPE_BOX3_FLOAT };
00169   };
00170
00172   template <> struct TypedPropertyEnum<nvmath::Box4f> {
00173     enum { type = Property::TYPE_BOX4_FLOAT };
00174   };
00175
00177   template <> struct TypedPropertyEnum<nvmath::Mat33f> {
00178     enum { type = Property::TYPE_MATRIX33_FLOAT };
00179   };
00180
00182   template <> struct TypedPropertyEnum<nvmath::Mat44f> {
00183     enum { type = Property::TYPE_MATRIX44_FLOAT };
00184   };
00185
00187   template <> struct TypedPropertyEnum<nvmath::Quatf> {
00188     enum { type = Property::TYPE_QUATERNION_FLOAT };
00189   };
00190
00192   template <> struct TypedPropertyEnum<bool> {
00193     enum { type = Property::TYPE_BOOLEAN };
00194   };
00195
00197   template <> struct TypedPropertyEnum<unsigned int> {
00198     enum { type = Property::TYPE_UINT };
00199   };
00200
00202   template <> struct TypedPropertyEnum<nvmath::Vec2ui> {
00203     enum { type = Property::TYPE_UINT2 };
00204   };
00205
00207   template <> struct TypedPropertyEnum<nvmath::Vec3ui> {
00208     enum { type = Property::TYPE_UINT3 };
00209   };
00210
00212   template <> struct TypedPropertyEnum<nvmath::Vec4ui> {
00213     enum { type = Property::TYPE_UINT4 };
00214   };
00215
00217   template <> struct TypedPropertyEnum<int> {
00218     enum { type = Property::TYPE_INT };
00219   };
00220
00222   template <> struct TypedPropertyEnum<nvmath::Vec2i> {
00223     enum { type = Property::TYPE_INT2 };
00224   };
00225
00227   template <> struct TypedPropertyEnum<nvmath::Vec3i> {
00228     enum { type = Property::TYPE_INT3 };
00229   };
00230
00232   template <> struct TypedPropertyEnum<nvmath::Vec4i> {
00233     enum { type = Property::TYPE_INT4 };
00234   };
00235
00237   template <> struct TypedPropertyEnum<nvmath::Trafo> {
00238     enum { type = Property::TYPE_TRANSFORMATION };
00239   };
00240
00242   template <> struct TypedPropertyEnum<nvsg::VertexAttribute> {
00243     enum { type = Property::TYPE_VERTEX_ATTRIBUTE };
00244   };
00245
00247   template <> struct TypedPropertyEnum<Reflection> {
00248     enum { type = Property::TYPE_OBJECT };
00249   };
00250
00252   template <> struct TypedPropertyEnum<std::string> {
00253     enum { type = Property::TYPE_STRING };
00254   };
00255
00257   template <> struct TypedPropertyEnum<std::set<unsigned int> > {
00258     enum { type = Property::TYPE_SET_UINT };
00259   };
00260
00262   template <> struct TypedPropertyEnum< nvsg::SceneSharedPtr > {
00263     enum { type = Property::TYPE_SCENE };
00264   };
00265
00267   template <> struct TypedPropertyEnum< nvsg::ViewStateSharedPtr > {
00268     enum { type = Property::TYPE_VIEWSTATE };
00269   };
00270
00272   template <> struct TypedPropertyEnum< nvui::SmartRenderTarget > {
00273     enum { type = Property::TYPE_RENDERTARGET };
00274   };
00275
00279   template <typename T> class TypedProperty : public Property
00280   {
00281   public:
00282     virtual ~TypedProperty() {}
00283
00288     virtual void getValue(const Reflection *owner, T &value) const = 0;
00289
00294     virtual void setValue(Reflection *owner, const T&value) = 0;
00295
00296     /* \brief returns the type of a property. This function uses the \sa TypedPropertyEnum<T> trait. When adding
00297               new types it's necessary to specialize TypedPropertyEnum<MyNewType>
00298     */
00299     virtual Type getType() const { return static_cast<Type>(TypedPropertyEnum<T>::type); }
00300   };
00301
00303   struct const_reference;
00305   struct value;
00306
00313   template <typename ValueType, typename ParameterType>
00314   struct  TypeTraits;
00315
00317   template <typename ValueType>
00318   struct TypeTraits<ValueType, value>
00319   {
00320       typedef ValueType value_type;
00321       typedef ValueType parameter_type;
00322   };
00323
00325   template <typename ValueType>
00326   struct TypeTraits<ValueType, const_reference>
00327   {
00328       typedef ValueType        value_type;
00329       typedef const ValueType& parameter_type;
00330   };
00331
00338   // FIXME ObjectType not necessary. It should be possible to use Reflection::*set for all function pointers.
00339   template <typename ValueType, typename SetType, typename ObjectType, void(ObjectType::*set)(SetType)>
00340   class FunctorSet
00341   {
00342   public:
00346     void operator()(Reflection *owner, const ValueType &value)
00347     {
00348       (reflection_cast<ObjectType>(owner)->*set)(value);
00349     }
00350   };
00351
00357   template <typename ValueType, typename ObjectType, ValueType ObjectType::*Member, bool readonly>
00358   class FunctorSetMember
00359   {
00360   public:
00364     void operator()(Reflection *owner, const ValueType &value)
00365     {
00366       if (readonly)
00367       {
00368         NVSG_ASSERT( 0 && "set invalid on this property" );
00369       }
00370       else
00371       {
00372         static_cast<ObjectType*>(owner)->*Member = value;
00373       }
00374     }
00375   };
00376
00383   template <typename ValueType, typename SetType, typename ObjectType, void(ObjectType::*set)(SetType)>
00384   class FunctorSetEnum
00385   {
00386   public:
00390     void operator()(Reflection *owner, const ValueType &value)
00391     {
00392       (reflection_cast<ObjectType>(owner)->*set)(value);
00393     }
00394
00398     void operator()(Reflection *owner, const int &value)
00399     {
00400       (reflection_cast<ObjectType>(owner)->*set)( static_cast<ValueType>(value) );
00401     }
00402   };
00403
00408   // FIXME ObjectType unused
00409   template <typename ValueType, typename ObjectType>
00410   class FunctorSetInvalid
00411   {
00412   public:
00416     void operator()(const Reflection *owner, const ValueType &value)
00417     {
00418       NVSG_ASSERT( 0 && "set invalid on this property" );
00419     }
00420
00421   };
00422
00429   template <typename ValueType, typename ResultType, typename ObjectType, ResultType(ObjectType::*get)() const>
00430   class FunctorGet
00431   {
00432   public:
00436     void operator()(const Reflection *owner, ValueType &returnValue)
00437     {
00438       returnValue = (reflection_cast<const ObjectType>(owner)->*get)();
00439     }
00440   };
00441
00446   template <typename ValueType, typename ObjectType, ValueType ObjectType::*member>
00447   class FunctorGetMember
00448   {
00449   public:
00453     void operator()(const Reflection *owner, ValueType &returnValue)
00454     {
00455       returnValue = static_cast<const ObjectType*>(owner)->*member;
00456     }
00457   };
00458
00459
00466   template <typename ValueType, typename ResultType, typename ObjectType, ResultType(ObjectType::*get)() const>
00467   class FunctorGetEnum
00468   {
00469   public:
00473     void operator()(const Reflection *owner, ValueType &returnValue)
00474     {
00475       returnValue = (reflection_cast<const ObjectType>(owner)->*get)();
00476     }
00477
00481     void operator()(const Reflection *owner, int &returnValue)
00482     {
00483       returnValue = static_cast<int>( (reflection_cast<const ObjectType>(owner)->*get)() );
00484     }
00485   };
00486
00487
00491   // FIXME ObjectType unused
00492   // FIXME get unused
00493   template <typename ValueType, typename ObjectType, const ValueType&(ObjectType::*get)() const>
00494   class FunctorGetInvalid
00495   {
00496   public:
00500     void operator()( const Reflection *owner, ValueType &returnValue )
00501     {
00502       NVSG_ASSERT( 0 && "get invalid on this property" );
00503     }
00504   };
00505
00506
00515   template <typename ValueType, typename ObjectType, typename FunctorGet, typename FunctorSet, typename Property::Semantic semantic, bool deleteOnDestroy>
00516   class TypedPropertyImpl : public TypedProperty<ValueType>
00517   {
00518   public:
00519     TypedPropertyImpl()
00520       : m_refCount(1)
00521     {}
00522     virtual ~TypedPropertyImpl() {}
00523
00524     virtual void getValue(const Reflection *owner, ValueType &value) const
00525     {
00526       FunctorGet g;
00527       return g(owner, value);
00528     }
00529
00530     virtual void setValue(Reflection *owner, const ValueType &value)
00531     {
00532       FunctorSet s;
00533       s(owner, value);
00534     }
00535
00537     virtual std::string getAnnotation() const
00538     {
00539       return "";
00540     }
00541
00542     virtual Property::Semantic getSemantic() const { return semantic; }
00543
00544     virtual void addRef()
00545     {
00546       ++m_refCount;
00547     }
00548
00549     virtual void destroy()
00550     {
00551       if ( deleteOnDestroy )
00552       {
00553         --m_refCount;
00554         if ( !m_refCount )
00555         {
00556           delete this;
00557         }
00558       }
00559     }
00560   protected:
00561     unsigned int m_refCount;
00562   };
00563
00569   template <typename ValueType>
00570   class TypedPropertyValue : public TypedProperty<ValueType>
00571   {
00572   public:
00578     TypedPropertyValue( Property::Semantic semantic, const std::string &annotation, bool destroy, const ValueType &value );
00579
00582     TypedPropertyValue( const TypedPropertyValue &rhs );
00583
00586     virtual void getValue(const Reflection *, ValueType &value) const;
00587
00590     virtual void setValue( Reflection *, const ValueType &value );
00591
00592     virtual Property::Type getType() const;
00593     virtual Property::Semantic getSemantic() const;
00594     virtual void addRef();
00595     virtual void destroy();
00596     virtual std::string getAnnotation() const;
00597     virtual Property *clone() const;
00598   private:
00599     Property::Semantic m_semantic;
00600     const std::string  m_annotation;
00601     ValueType          m_value;
00602     bool               m_destroy;
00603   };
00604
00605   template <typename ValueType>
00606   TypedPropertyValue<ValueType>::TypedPropertyValue( Property::Semantic semantic, const std::string &annotation, bool destroy, const ValueType &value )
00607     : m_semantic(semantic)
00608     , m_annotation(annotation)
00609     , m_destroy(destroy)
00610     , m_value(value)
00611   {
00612   }
00613
00614   template <typename ValueType>
00615   TypedPropertyValue<ValueType>::TypedPropertyValue( const TypedPropertyValue<ValueType> &rhs )
00616     : m_semantic( rhs.m_semantic )
00617     , m_annotation( rhs.m_annotation )
00618     , m_destroy( rhs.m_destroy )
00619     , m_value( rhs.m_value )
00620   {
00621   }
00622
00623   template <typename ValueType>
00624   Property::Type TypedPropertyValue<ValueType>::getType() const
00625   {
00626     return static_cast<Property::Type>(TypedPropertyEnum<ValueType>::type);
00627   }
00628
00629   template <typename ValueType>
00630   Property::Semantic TypedPropertyValue<ValueType>::getSemantic() const
00631   {
00632     return m_semantic;
00633   }
00634
00635   template <typename ValueType>
00636   void TypedPropertyValue<ValueType>::addRef()
00637   {
00638     NVSG_ASSERT( 0 && "addRef not supported on TypedPropertyValue");
00639   }
00640
00641   template <typename ValueType>
00642   void TypedPropertyValue<ValueType>::destroy()
00643   {
00644     if ( m_destroy )
00645     {
00646       delete this;
00647     }
00648   }
00649
00650   template <typename ValueType>
00651   void TypedPropertyValue<ValueType>::getValue(const Reflection *, ValueType &value ) const
00652   {
00653     value = m_value;
00654   }
00655
00656   template <typename ValueType>
00657   void TypedPropertyValue<ValueType>::setValue( Reflection *, const ValueType &value )
00658   {
00659     m_value = value;
00660   }
00661
00662   template <typename ValueType>
00663   std::string TypedPropertyValue<ValueType>::getAnnotation( ) const
00664   {
00665     return m_annotation;
00666   }
00667
00668   template <typename ValueType>
00669   PropertyId TypedPropertyValue<ValueType>::clone() const
00670   {
00671     return new TypedPropertyValue<ValueType>( *this );
00672   }
00673
00682   template <typename ValueType, typename ObjectType, typename FunctorGet, typename FunctorSet, typename Property::Semantic semantic, bool deleteOnDestroy>
00683   class TypedPropertyImplEnum : public TypedPropertyImpl<int, ObjectType, FunctorGet, FunctorSet, semantic, deleteOnDestroy>
00684   {
00685   public:
00686     TypedPropertyImplEnum() {}
00687     virtual ~TypedPropertyImplEnum() {}
00688
00692     virtual void getValue(const Reflection *owner, ValueType &value) const
00693     {
00694       FunctorGet g;
00695       g(owner, value);
00696     }
00697
00701     virtual void setValue(Reflection *owner, const ValueType &value)
00702     {
00703       FunctorSet s;
00704       s(owner, value);
00705     }
00706
00707   };
00708
00710   template <typename ObjectType>
00711   class ReflectionStorage
00712   {
00713   public:
00716     static ReflectionInfo *getReflectionInfo();
00717   private:
00718     static ReflectionInfo *m_reflectionInfo;
00719   };
00720
00721   template <typename ObjectType>
00722   ReflectionInfo *ReflectionStorage<ObjectType>::m_reflectionInfo = 0;
00723
00724
00726   NVSG_API ReflectionInfo *createReflectionInfo( void (*initReflectionInfo)(ReflectionInfo &));
00727
00734   template <typename ObjectType>
00735   ReflectionInfo *ReflectionStorage<ObjectType>::getReflectionInfo()
00736   {
00737     if (!m_reflectionInfo)
00738     {
00739       m_reflectionInfo = createReflectionInfo(&ObjectType::initStaticProperties);
00740       ObjectType::initReflectionInfo();
00741     }
00742     return m_reflectionInfo;
00743   }
00744
00748   class PropertyList {
00749   public:
00751     NVSG_API PropertyList() : m_id(0) {}
00752
00755     NVSG_API PropertyList( const PropertyList &rhs ) { m_id = rhs.m_id; }
00756
00758     NVSG_API virtual ~PropertyList() {}
00759
00763     NVSG_API virtual unsigned int getPropertyCount() const = 0;
00764
00768     NVSG_API virtual PropertyId getProperty(unsigned int index) const = 0;
00769
00773     NVSG_API virtual PropertyId getProperty(const std::string &name) const = 0;
00774
00778     NVSG_API virtual std::string getPropertyName(unsigned int index) const = 0;
00779
00783     NVSG_API virtual std::string getPropertyName(const PropertyId propertyId) const = 0;
00784
00788     NVSG_API virtual bool hasProperty(const PropertyId propertyId) const = 0;
00789
00793     NVSG_API virtual bool hasProperty(const std::string &name) const = 0;
00794
00796     NVSG_API virtual PropertyList *clone() const = 0;
00797
00801     NVSG_API virtual bool isStatic() const = 0;
00802
00804     NVSG_API virtual void destroy();
00805
00807     NVSG_API size_t getId() const { return m_id; }
00808
00812     NVSG_API void setId( size_t Id) { m_id = Id; }
00813   private:
00814     size_t m_id;
00815   };
00816
00819   class PropertyListImpl : public PropertyList
00820   {
00821   public:
00825     NVSG_API PropertyListImpl( bool isStatic = true );
00826
00829     NVSG_API PropertyListImpl( const PropertyListImpl &rhs );
00830
00832     NVSG_API ~PropertyListImpl( );
00833
00836     NVSG_API unsigned int getPropertyCount() const;
00837
00841     NVSG_API PropertyId getProperty(unsigned int index) const;
00842
00846     NVSG_API PropertyId getProperty(const std::string &name) const;
00847
00852     NVSG_API void addProperty(const std::string &name, PropertyId property);
00853
00857     NVSG_API std::string getPropertyName(unsigned int index) const;
00858
00862     NVSG_API std::string getPropertyName(const PropertyId propertyId) const;
00863
00868     NVSG_API virtual bool hasProperty(const PropertyId propertyId) const;
00869
00873     NVSG_API virtual bool hasProperty(const std::string &name) const;
00874
00877     NVSG_API virtual PropertyList *clone() const;
00878
00881     NVSG_API virtual bool isStatic() const;
00882
00883   protected:
00884     typedef std::vector<PropertyId> PropertyVector;
00885     typedef std::map<std::string, PropertyId> PropertyMap;
00886
00887     bool             m_isStatic;
00888     PropertyMap      m_propertyMap;
00889     PropertyVector   m_propertyVector;
00890   };
00891
00895   class PropertyListChain : public PropertyList
00896   {
00897
00898   public:
00900     typedef std::vector<PropertyList*>                                             PropertyListContainer;
00901
00903     typedef PropertyListContainer::iterator PropertyListIterator;
00904
00906     typedef PropertyListContainer::const_iterator PropertyListConstIterator;
00907
00911     NVSG_API PropertyListChain( bool isStatic = true );
00912
00915     NVSG_API PropertyListChain( const PropertyListChain &rhs );
00916
00918     NVSG_API virtual ~PropertyListChain();
00919
00923     NVSG_API void addPropertyList(PropertyList *propertyList);
00924
00927     NVSG_API PropertyListConstIterator beginPropertyLists() const;
00928
00931     NVSG_API PropertyListConstIterator endPropertyLists() const;
00932
00936     NVSG_API void removePropertyList(PropertyList *propertyList);
00937
00940     NVSG_API unsigned int getPropertyCount() const;
00941
00947     NVSG_API PropertyId getProperty(unsigned int index) const;
00948     NVSG_API PropertyId getProperty(const std::string &name) const;
00949     //FIXME delete this line NVSG_API void addProperty(const std::string &name, PropertyId property);
00950     NVSG_API std::string getPropertyName(unsigned int index) const;
00951     NVSG_API std::string getPropertyName(const PropertyId propertyId) const;
00952     NVSG_API virtual bool hasProperty(const PropertyId propertyId) const;
00953     NVSG_API virtual bool hasProperty(const std::string &name) const;
00954
00955     NVSG_API virtual PropertyList *clone() const;
00956     NVSG_API virtual bool isStatic() const;
00957   protected:
00958     bool m_isStatic;
00959
00960     std::vector<PropertyList*> m_propertyLists;
00961   };
00962
00965   class ReflectionInfo : public PropertyListImpl
00966   {
00967   public:
00968     // TODO decide if required, ensures that app does not crash if not initialized by classes. might get initialized by initStaticProperties.
00969     ReflectionInfo() : m_className("Unknown") {}
00970     virtual ~ReflectionInfo() {}
00971
00974     const char *getClassName() const { return m_className; }
00975
00976   protected:
00977     const char *m_className;
00978
00979   private:
00980     template <typename ObjectType>
00981     friend class ReflectionStorage;
00982
00983     friend class Reflection;
00984   };
00985
00988   class Reflection : public Subject
00989   {
00990   public:
00992     NVSG_API Reflection()
00993       : m_propertyLists( nullptr )
00994       {
00995       }
00996
00999     NVSG_API Reflection( const Reflection &rhs );
01000
01002     NVSG_API virtual ~Reflection();
01003
01006     NVSG_API const char *getClassName() const;
01007
01011     template <typename T>
01012     void setValue(PropertyId propertyId, const T &value)
01013     {
01014       TypedProperty<T> *property = (TypedProperty<T>*)(propertyId);
01015       property->setValue(this, value);
01016     }
01017
01021     NVSG_API Property::Type getPropertyType(PropertyId propertyId) const
01022     {
01023       return propertyId->getType(); //(this->*propertyId).getType();
01024     }
01025
01029     template <typename T>
01030     T getValue(PropertyId propertyId) const
01031     {
01032       NVSG_ASSERT( getPropertyType(propertyId) == static_cast<Property::Type>(TypedPropertyEnum<T>::type) );
01033
01034       const TypedProperty<T> *property = (TypedProperty<T>*)(propertyId);
01035       T returnValue;
01036       property->getValue(this, returnValue);
01037       return returnValue;
01038     }
01039
01042     NVSG_API unsigned int getPropertyCount() const;
01043
01048     NVSG_API PropertyId getProperty(unsigned int index) const;
01049
01054     NVSG_API PropertyId getProperty(const std::string &name) const;
01055
01060     NVSG_API void addProperty(const std::string &name, PropertyId property);
01061
01066     NVSG_API std::string getPropertyName(unsigned int index) const;
01067
01071     NVSG_API std::string getPropertyName(const PropertyId propertyId) const;
01072
01076     NVSG_API virtual bool hasProperty(const PropertyId propertyId) const;
01077
01081     NVSG_API virtual bool hasProperty(const std::string &name) const;
01082
01083     inline Reflection& operator=( const Reflection &rhs )
01084     {
01085       NVSG_TRACE();
01086       Subject::operator=( rhs );
01087       return( *this );
01088     }
01089
01090     static void initStaticProperties(nvutil::ReflectionInfo &properties) {};
01091     NVSG_API static void initReflectionInfo() {}
01092   protected:
01093     PropertyListChain* m_propertyLists;
01094
01096     template <typename ValueType, typename GetType, typename SetType, typename ObjectType,
01097               typename TypeTraits<ValueType, GetType>::parameter_type(ObjectType::*get)() const,
01098               void(ObjectType::*set)(typename TypeTraits<ValueType, SetType>::parameter_type),
01099               typename Property::Semantic semantic>
01100     static Property *makeProperty()
01101     {
01102       return new TypedPropertyImpl<ValueType, ObjectType,
01103                                    FunctorGet<ValueType, typename TypeTraits<ValueType, GetType>::parameter_type, ObjectType, get>,
01104                                    FunctorSet<ValueType, typename TypeTraits<ValueType, SetType>::parameter_type, ObjectType, set>,
01105                                    semantic, true>;
01106     }
01107
01109     template <typename ValueType, typename ObjectType, ValueType ObjectType::*Member, bool readonly, typename Property::Semantic semantic>
01110     static Property *makePropertyMember()
01111     {
01112       return new TypedPropertyImpl<ValueType, ObjectType,
01113                                    FunctorGetMember<ValueType, ObjectType, Member>,
01114                                    FunctorSetMember<ValueType, ObjectType, Member, readonly>,
01115                                    semantic, true>;
01116     }
01117
01119     template <typename ValueType, typename GetType, typename SetType, typename ObjectType,
01120               typename TypeTraits<ValueType, GetType>::parameter_type(ObjectType::*get)() const,
01121               void(ObjectType::*set)(typename TypeTraits<ValueType, SetType>::parameter_type),
01122               typename Property::Semantic semantic>
01123     static Property *makeEnumProperty()
01124     {
01125       return new TypedPropertyImplEnum<ValueType, ObjectType,
01126                                    FunctorGetEnum<ValueType, typename TypeTraits<ValueType, GetType>::parameter_type, ObjectType, get>,
01127                                    FunctorSetEnum<ValueType, typename TypeTraits<ValueType, SetType>::parameter_type, ObjectType, set>,
01128                                    semantic, true>;
01129     }
01130
01131
01133     template <typename ValueType, typename GetType, typename ObjectType,
01134               typename TypeTraits<ValueType, GetType>::parameter_type(ObjectType::*get)() const,
01135               typename Property::Semantic semantic>
01136     static Property *makeProperty()
01137     {
01138       return new TypedPropertyImpl<ValueType, ObjectType,
01139                                    FunctorGet<ValueType, typename TypeTraits<ValueType, GetType>::parameter_type, ObjectType, get>,
01140                                    FunctorSetInvalid<ValueType, ObjectType>,
01141                                    semantic, true>;
01142     }
01143
01144
01147   public:
01148     template <typename ObjectType>
01149     static nvutil::ReflectionInfo* initReflection(const char *classname)
01150     {
01151       nvutil::ReflectionInfo *info = ReflectionStorage<ObjectType>::getReflectionInfo();
01152       info->m_className = classname;
01153       return info;
01154     }
01155   protected:
01156
01157     NVSG_API virtual ReflectionInfo* getReflectionInfo() const
01158     {
01159       return ReflectionStorage<Reflection>::getReflectionInfo();
01160     }
01161   private:
01162
01163     template <typename ObjectType>
01164     friend class InitReflection;
01165   };
01166
01168   NVSG_API void initReflection();
01169
01171   NVSG_API void shutdownReflection();
01172
01174   template <typename ObjectType, typename PropertyType>
01175   nvutil::Property *createStaticProperty( const char *name )
01176   {
01177     Property *property = new PropertyType();
01178     ReflectionStorage<ObjectType>::getReflectionInfo()->addProperty( name, property );
01179     return property;
01180   }
01181
01182   template <typename ObjectType, typename ObjectTypeBase>
01183   bool deriveStaticProperties()
01184   {
01185     ReflectionInfo *info = ReflectionStorage<ObjectType>::getReflectionInfo();
01186     ReflectionInfo *infoBase = ReflectionStorage<ObjectTypeBase>::getReflectionInfo();
01187     unsigned int count = infoBase->getPropertyCount();
01188     for ( unsigned int index = 0; index < count; ++index )
01189     {
01190       PropertyId propertyId = infoBase->getProperty( index );
01191       propertyId->addRef();
01192       info->addProperty( infoBase->getPropertyName(propertyId), propertyId );
01193     }
01194     return true;
01195   }
01196 } // namespace nvutil
01197
01200 //when adding properties the variable properties must be a reference to a PropertyList and Klass a typedef of the class of the function members
01201 #define REFLECTION_INFO( MyKlass ) \
01202   static nvutil::ReflectionInfo* m_reflectionInfo;\
01203   static void initReflectionInfo(); \
01204   virtual nvutil::ReflectionInfo* getReflectionInfo() const { return nvutil::ReflectionStorage< MyKlass >::getReflectionInfo(); }
01205
01206 #define REFLECTION_INFO_API( REFLECTION_API, MyKlass ) \
01207   static REFLECTION_API nvutil::ReflectionInfo* m_reflectionInfo;\
01208   static REFLECTION_API void initReflectionInfo(); \
01209   virtual REFLECTION_API nvutil::ReflectionInfo* getReflectionInfo() const { return nvutil::ReflectionStorage< MyKlass >::getReflectionInfo(); }
01210
01211 #define REFLECTION_INFO_TEMPLATE_API( REFLECTION_API, MyKlass ) \
01212   static REFLECTION_API nvutil::ReflectionInfo* m_reflectionInfo;\
01213   static REFLECTION_API void initReflectionInfo(); \
01214   virtual REFLECTION_API nvutil::ReflectionInfo* getReflectionInfo() const { return nvutil::ReflectionStorage< MyKlass >::getReflectionInfo(); }
01215
01216 #define INIT_REFLECTION_INFO( Klass ) \
01217   nvutil::ReflectionInfo * Klass::m_reflectionInfo = nvutil::Reflection::initReflection< Klass >(#Klass); \
01218   void Klass::initReflectionInfo() { }
01219
01220 #define BEGIN_REFLECTION_INFO( Klass ) \
01221   nvutil::ReflectionInfo * Klass::m_reflectionInfo = nvutil::Reflection::initReflection< Klass >(#Klass); \
01222   void Klass::initReflectionInfo() { \
01223     if ( !m_reflectionInfo ) { \
01224       m_reflectionInfo = nvutil::ReflectionStorage< Klass >::getReflectionInfo(); \
01225     }
01226
01227 #define BEGIN_REFLECTION_INFO_TEMPLATE( Klass ) \
01228   template<> nvutil::ReflectionInfo * Klass::m_reflectionInfo = nvutil::Reflection::initReflection< Klass >(#Klass); \
01229   template<> void Klass::initReflectionInfo() { \
01230   if ( !m_reflectionInfo ) { \
01231     m_reflectionInfo = nvutil::ReflectionStorage< Klass >::getReflectionInfo(); \
01232   }
01233
01234 #define END_REFLECTION_INFO }
01235
01236 /*
01237  * Use ADD_PROPERTY_RW for get/set properties
01238  * Use ADD_PROPERTY_RW_BOOL for is/set properties
01239  * Use ADD_PROPERTY_RO for get properties
01240  */
01241
01242 #define BEGIN_REFLECT_STATIC_PROPERTIES( MyKlass ) static void initStaticProperties(nvutil::ReflectionInfo &properties) { typedef MyKlass Klass;
01243 #define ADD_PROPERTY_RW(Name, Type, Semantic, GetType, SetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, nvutil::SetType, Klass, &Klass::get##Name, &Klass::set##Name, nvutil::Property::Semantic>())
01244 #define ADD_PROPERTY_RW_BOOL(Name, Type, Semantic, GetType, SetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, nvutil::SetType, Klass, &Klass::is##Name, &Klass::set##Name, nvutil::Property::Semantic>())
01245 #define ADD_PROPERTY_RO(Name, Type, Semantic, GetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, Klass, &Klass::get##Name, nvutil::Property::Semantic>())
01246 #define ADD_PROPERTY_RO_BOOL(Name, Type, Semantic, GetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, Klass, &Klass::is##Name, nvutil::Property::Semantic>())
01247 #define ADD_PROPERTY_RW_ENUM(Name, Type, Semantic, GetType, SetType) properties.addProperty(#Name, makeEnumProperty<Type, nvutil::GetType, nvutil::SetType, Klass, &Klass::get##Name, &Klass::set##Name, nvutil::Property::Semantic>())
01248 #define ADD_PROPERTY_RW_MEMBER(Name, Type, Semantic) properties.addProperty(#Name, makePropertyMember<Type, Klass, &Klass::m_prop##Name, true, nvutil::Property::Semantic>())
01249 #define ADD_PROPERTY_RO_MEMBER(Name, Type, Semantic) properties.addProperty(#Name, makePropertyMember<Type, Klass, &Klass::m_prop##Name, false, nvutil::Property::Semantic>())
01250
01251 #define ADD_STATIC_PROPERTY_RW(Name, Type, Semantic, GetType, SetType) Property *property = makeProperty<Type, nvutil::GetType, nvutil::SetType, Klass, &Klass::get##Name, &Klass::set##Name, nvutil::Property::Semantic>(); properties.addProperty(#Name, property); PID_##Name = property;
01252 #define ADD_STATIC_PROPERTY_RW_BOOL(Name, Type, Semantic, GetType, SetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, nvutil::SetType, Klass, &Klass::is##Name, &Klass::set##Name, nvutil::Property::Semantic>())
01253 #define ADD_STATIC_PROPERTY_RO(Name, Type, Semantic, GetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, Klass, &Klass::get##Name, nvutil::Property::Semantic>())
01254 #define ADD_STATIC_PROPERTY_RO_BOOL(Name, Type, Semantic, GetType) properties.addProperty(#Name, makeProperty<Type, nvutil::GetType, Klass, &Klass::is##Name, nvutil::Property::Semantic>())
01255 #define ADD_STATIC_PROPERTY_RW_ENUM(Name, Type, Semantic, GetType, SetType) properties.addProperty(#Name, makeEnumProperty<Type, nvutil::GetType, nvutil::SetType, Klass, &Klass::get##Name, &Klass::set##Name, nvutil::Property::Semantic>())
01256 #define ADD_STATIC_PROPERTY_RW_MEMBER(Name, Type, Semantic) properties.addProperty(#Name, makePropertyMember<Type, Klass, &Klass::m_prop##Name, true, nvutil::Property::Semantic>())
01257 #define ADD_STATIC_PROPERTY_RO_MEMBER(Name, Type, Semantic) properties.addProperty(#Name, makePropertyMember<Type, Klass, &Klass::m_prop##Name, false, nvutil::Property::Semantic>())
01258
01259 #define END_REFLECT_STATIC_PROPERTIES() }
01260
01261 #define BEGIN_DECLARE_STATIC_PROPERTIES static void initStaticProperties(nvutil::ReflectionInfo &properties) { }
01262 #define END_DECLARE_STATIC_PROPERTIES
01263
01264 #define DECLARE_STATIC_PROPERTY(Name) static nvutil::PropertyId PID_##Name
01265 #define DEFINE_STATIC_PROPERTY( Klass, Name ) nvutil::PropertyId Klass::PID_##Name = nullptr;
01266
01268 #define INIT_STATIC_PROPERTY_RW(Klass, Name, Type, Semantic, GetType, SetType)  \
01269   Klass::PID_##Name = \
01270   nvutil::createStaticProperty<Klass, \
01271   nvutil::TypedPropertyImpl<Type, Klass, \
01272   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::get##Name>, \
01273   nvutil::FunctorSet<Type, nvutil::TypeTraits<Type, nvutil::SetType>::parameter_type, Klass, &Klass::set##Name>, \
01274   nvutil::Property::Semantic, true> \
01275   >(#Name)
01276
01277 #define INIT_STATIC_PROPERTY_RW_TEMPLATE(Klass, Name, Type, Semantic, GetType, SetType)  \
01278   Klass::PID_##Name = \
01279   nvutil::createStaticProperty<Klass, \
01280   nvutil::TypedPropertyImpl<Type, Klass, \
01281   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::get##Name>, \
01282   nvutil::FunctorSet<Type, nvutil::TypeTraits<Type, nvutil::SetType>::parameter_type, Klass, &Klass::set##Name>, \
01283   nvutil::Property::Semantic, true> \
01284   >(#Name)
01285
01287 #define INIT_STATIC_PROPERTY_RW_BOOL(Klass, Name, Type, Semantic, GetType, SetType)  \
01288   Klass::PID_##Name = \
01289   nvutil::createStaticProperty<Klass, \
01290   nvutil::TypedPropertyImpl<Type, Klass, \
01291   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::is##Name>, \
01292   nvutil::FunctorSet<Type, nvutil::TypeTraits<Type, nvutil::SetType>::parameter_type, Klass, &Klass::set##Name>, \
01293   nvutil::Property::Semantic, true> \
01294   >(#Name)
01295
01296 #define INIT_STATIC_PROPERTY_RW_BOOL_TEMPLATE(Klass, Name, Type, Semantic, GetType, SetType)  \
01297   Klass::PID_##Name = \
01298   nvutil::createStaticProperty<Klass, \
01299   nvutil::TypedPropertyImpl<Type, Klass, \
01300   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::is##Name>, \
01301   nvutil::FunctorSet<Type, nvutil::TypeTraits<Type, nvutil::SetType>::parameter_type, Klass, &Klass::set##Name>, \
01302   nvutil::Property::Semantic, true> \
01303   >(#Name)
01304
01306 #define INIT_STATIC_PROPERTY_RW_ENUM(Klass, Name, Type, Semantic, GetType, SetType)  \
01307   Klass::PID_##Name = \
01308   nvutil::createStaticProperty<Klass, \
01309   nvutil::TypedPropertyImplEnum<Type, Klass, \
01310   nvutil::FunctorGetEnum<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::get##Name>, \
01311   nvutil::FunctorSetEnum<Type, nvutil::TypeTraits<Type, nvutil::SetType>::parameter_type, Klass, &Klass::set##Name>, \
01312   nvutil::Property::Semantic, true> \
01313   >(#Name)
01314
01315 #define INIT_STATIC_PROPERTY_RW_ENUM_TEMPLATE(Klass, Name, Type, Semantic, GetType, SetType)  \
01316   Klass::PID_##Name = \
01317   nvutil::createStaticProperty<Klass, \
01318   nvutil::TypedPropertyImplEnum<Type, Klass, \
01319   nvutil::FunctorGetEnum<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::get##Name>, \
01320   nvutil::FunctorSetEnum<Type, nvutil::TypeTraits<Type, nvutil::SetType>::parameter_type, Klass, &Klass::set##Name>, \
01321   nvutil::Property::Semantic, true> \
01322   >(#Name)
01323
01325 #define INIT_STATIC_PROPERTY_RO(Klass, Name, Type, Semantic, GetType)  \
01326   Klass::PID_##Name = \
01327   nvutil::createStaticProperty<Klass, \
01328   nvutil::TypedPropertyImpl<Type, Klass, \
01329   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::get##Name>, \
01330   nvutil::FunctorSetInvalid<Type, Klass>, \
01331   nvutil::Property::Semantic, true> \
01332   >(#Name)
01333
01334 #define INIT_STATIC_PROPERTY_RO_TEMPLATE(Klass, Name, Type, Semantic, GetType)  \
01335   Klass::PID_##Name = \
01336   nvutil::createStaticProperty<Klass, \
01337   nvutil::TypedPropertyImpl<Type, Klass, \
01338   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::get##Name>, \
01339   nvutil::FunctorSetInvalid<Type, Klass>, \
01340   nvutil::Property::Semantic, true> \
01341   >(#Name)
01342
01344 #define INIT_STATIC_PROPERTY_RO_BOOL(Klass, Name, Type, Semantic, GetType)  \
01345   Klass::PID_##Name = \
01346   nvutil::createStaticProperty<Klass, \
01347   nvutil::TypedPropertyImpl<Type, Klass, \
01348   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::is##Name>, \
01349   nvutil::FunctorSetInvalid<Type, Klass>, \
01350   nvutil::Property::Semantic, true> \
01351   >(#Name)
01352
01353 #define INIT_STATIC_PROPERTY_RO_BOOL_TEMPLATE(Klass, Name, Type, Semantic, GetType)  \
01354   Klass::PID_##Name = \
01355   nvutil::createStaticProperty<Klass, \
01356   nvutil::TypedPropertyImpl<Type, Klass, \
01357   nvutil::FunctorGet<Type, nvutil::TypeTraits<Type, nvutil::GetType>::parameter_type, Klass, &Klass::is##Name>, \
01358   nvutil::FunctorSetInvalid<Type, Klass>, \
01359   nvutil::Property::Semantic, true> \
01360   >(#Name)
01361
01362
01363 #define DUMMY(X)
01364
01365 // HELPERS
01366 #define DERIVE_TOKENPASTE( x, y ) x ## y
01367 #define DERIVE_TOKENPASTE2( x, y ) DERIVE_TOKENPASTE( x, y)
01368
01369 // NOTE, edit and continue must not be enabled since it converts __LINE__ to a function. __COUNTER__ can be used instead once we support gcc 4.3.
01370 #define DERIVE_STATIC_PROPERTIES(Klass, Base ) static bool DERIVE_TOKENPASTE2(deriveStaticProperties, __LINE__ )  = nvutil::deriveStaticProperties<Klass, Base>();
01371 #define DERIVE_STATIC_PROPERTIES_TEMPLATE(Klass, Base ) static bool DERIVE_TOKENPASTE2(deriveStaticProperties, __LINE__ )  = nvutil::deriveStaticProperties<Klass, Base>();
01372
01373 /* Example of a reflected class. Note that nvsg::Object is already derived from Reflection.
01374    Objects derived from nvsg::Object or subclasses of nvsg::Object must not derive from
01375    Reflection
01376
01377 class MyReflectedClass : public Reflection
01378 {
01379 public:
01380   MyReflectedClass()
01381   {
01382     // this must be called in each constructor of the class
01383     // note that this is a noop upon the second call
01384     INIT_REFLECTION( MyReflectedClass );
01385   }
01386   // usual class stuff
01387
01388   void setValue( int value );
01389   int getValue() const;
01390
01391   void setBoolValue( bool value );
01392   bool isBoolValue() const;
01393
01394   void setVec3fValue( const Vec3f &value );
01395   const Vec3f &getVec3fValue() const; // return by reference
01396
01397   void setVec3fValue2( const Vec3f &value );
01398   Vec3f getVec3fValue2() const; // return by value!
01399
01400   Vec2f getMaxSize() const;
01401   bool isSupported() const;
01402
01403   // here are some examples how to initialize those static properties
01404   BEGIN_REFLECT_STATIC_PROPERTIES( Material )
01405   //          property name,        datatype, semantic information, set parameter type, get return type
01406   ADD_PROPERTY_RW     (Value,       int,      SEMANTIC_VALUE,       value,              value           );
01407   ADD_PROPERTY_RW_BOOL(BoolValue,   bool,     SEMANTIC_VALUE,       value,              value           );
01408   ADD_PROPERTY_RW     (Vec3fValue,  Vec3f,    SEMANTIC_VALUE,       const_reference,    const_reference);
01409   ADD_PROPERTY_RW     (Vec3fValue2, Vec3f,    SEMANTIC_VALUE,       const_reference,    value);
01410   ADD_PROPERTY_RO     (MaxSize,     Vec2f,    SEMANTIC_VALUE,       value);
01411   ADD_PROPERTY_RO_BOOL(Supported,   bool,     SEMANTIC_VALUE,       value);
01412
01413   END_REFLECT_STATIC_PROPERTIES()
01414 };
01415
01416 */
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderbufferGL.h Source File

inc / nvsg / nvgl

RenderbufferGL.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvgl/GLContext.h>
00015 #include <nvutil/SmartPtr.h>
00016 #include <vector>
00017
00018 namespace nvgl
00019 {
00024   class RenderbufferGL : public nvutil::RCObject
00025   {
00026   public:
00027     struct MSAA {
00028       MSAA( GLsizei colorSamples )
00029         : m_colorSamples(colorSamples)
00030       {
00031       }
00032
00033       unsigned int m_colorSamples;
00034     };
00035
00036     struct CSAA {
00037       CSAA( GLsizei coverageSamples, GLsizei colorSamples )
00038         : m_colorSamples(colorSamples)
00039         , m_coverageSamples(coverageSamples)
00040       {
00041       }
00042
00043       unsigned int m_colorSamples;
00044       unsigned int m_coverageSamples;
00045     };
00046
00047   public:
00054     NVSG_API static nvutil::SmartPtr<RenderbufferGL> create(GLenum internalFormat, int width = 1, int height = 1);
00055
00063     NVSG_API static nvutil::SmartPtr<RenderbufferGL> create(const MSAA &msaa, GLenum internalFormat, int width = 1, int height = 1);
00064
00072     NVSG_API static nvutil::SmartPtr<RenderbufferGL> create(const CSAA &csaa, GLenum internalFormat, int width = 1, int height = 1);
00073
00074     NVSG_API virtual ~RenderbufferGL();
00075
00082     NVSG_API void resize( int width, int height );
00083
00087     NVSG_API GLuint getRenderbufferId() const;
00088
00092     NVSG_API static bool isMSAAAvailable();
00093
00097     NVSG_API static bool isCSAAAvailable();
00098
00102     NVSG_API static GLint getMaxMSAASamples();
00103
00107     NVSG_API static std::vector<CSAA> getAvailableCSAAModes();
00108   protected:
00109     void init( int width, int height );
00110
00111   private:
00112     NVSG_API RenderbufferGL(GLenum internalFormat, int width = 1, int height = 1);
00113     NVSG_API RenderbufferGL(const MSAA &msaa, GLenum internalFormat, int width = 1, int height = 1);
00114     NVSG_API RenderbufferGL(const CSAA &csaa, GLenum internalFormat, int width = 1, int height = 1);
00115
00116   private:
00117     void resizeNoAA( );
00118     void resizeMSAA( );
00119     void resizeCSAA( );
00120
00121     GLuint  m_renderbuffer;
00122     GLsizei m_width;
00123     GLsizei m_height;
00124     GLenum  m_internalFormat;
00125
00126     GLsizei m_colorSamples;     // will be 0 when msaa and csaa are not being used
00127     GLsizei m_coverageSamples;  // will be 0 for msaa and no multisampling
00128     void (RenderbufferGL::*m_resizeFunc)( );
00129   };
00130
00131   inline GLuint RenderbufferGL::getRenderbufferId() const
00132   {
00133     return m_renderbuffer;
00134   }
00135
00136   typedef nvutil::SmartPtr<RenderbufferGL> SmartRenderbufferGL;
00137
00138 } // namespace nvgl
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderContextGL.h Source File

inc / nvsg / nvgl

RenderContextGL.h

00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvgl/GLContext.h>
00015 #include "RenderContextGLFormat.h"
00016 #include <stack>
00017
00018 namespace nvgl
00019 {
00020
00021   class RenderContextGL;
00022   typedef nvutil::SmartPtr< RenderContextGL > SmartRenderContextGL;
00023
00024   class ShareGroupGL;
00025   CORE_TYPES( ShareGroupGL, nvutil::HandledObject );
00026
00027   class ShareGroupGLImpl;
00028
00031   class RenderContextGL : public nvutil::RCObject
00032   {
00033   protected:
00034     class NativeContext;
00035     typedef nvutil::SmartPtr<NativeContext> SmartNativeContext;
00036
00037   public:
00038     // Constructor parameters
00039     struct Attach
00040     {
00041       Attach()
00042       {
00043       }
00044
00045       Attach( const SmartRenderContextGL &pSharedContext )
00046         : m_shared(pSharedContext)
00047       {
00048       }
00049
00050       Attach( const Attach &rhs )
00051        : m_shared( rhs.m_shared )
00052       {
00053       }
00054
00055       ~Attach()
00056       {
00057       }
00058
00059       SmartRenderContextGL getContext() const
00060       {
00061         return( m_shared );
00062       }
00063
00064     private:
00065       // prohibit assignment
00066       Attach &operator=( const Attach & );
00067
00068       SmartRenderContextGL  m_shared;
00069     };
00070
00071     struct Clone
00072     {
00073       Clone( const SmartRenderContextGL &pContext, bool pShare )
00074       : m_context( pContext )
00075       , m_share(pShare)
00076       {
00077       }
00078
00079       Clone( bool pShare )
00080         : m_share(pShare)
00081       {
00082       }
00083
00084       Clone( const Clone &rhs )
00085        : m_context( rhs.m_context )
00086        , m_share( rhs.m_share )
00087       {
00088       }
00089
00090       ~Clone()
00091       {
00092       }
00093
00094       SmartRenderContextGL getContext() const
00095       {
00096         return( m_context );
00097       }
00098
00099       bool isShared() const
00100       {
00101         return( m_share );
00102       }
00103
00104     private:
00105       // prohibit assignment
00106       Clone &operator=( const Clone & );
00107
00108       SmartRenderContextGL  m_context;
00109       bool                  m_share;
00110     };
00111
00112     struct Headless
00113     {
00114       Headless( RenderContextGLFormat *pFormat, const SmartRenderContextGL &pShared )
00115         : m_format(pFormat)
00116         , m_shared(pShared)
00117 #if defined(LINUX)
00118         , m_display(0)
00119         , m_screen(0)
00120 #endif
00121       {
00122       }
00123
00124 #if defined(LINUX)
00125       Headless( RenderContextGLFormat *pFormat, const char *pDisplay = 0, int pScreen = 0 )
00126         : m_format(pFormat)
00127         , m_display(pDisplay)
00128         , m_screen(pScreen)
00129       {
00130       }
00131 #endif
00132
00133       Headless( const Headless &rhs )
00134       : m_format( rhs.m_format)
00135       , m_shared( rhs.m_shared )
00136 #if defined(LINUX)
00137       , m_display( rhs.m_display )
00138       , m_screen( rhs.m_screen )
00139 #endif
00140       {
00141       }
00142
00143       ~Headless()
00144       {
00145       }
00146
00147       const RenderContextGLFormat * getFormat() const
00148       {
00149         return( m_format );
00150       }
00151
00152       SmartRenderContextGL getContext() const
00153       {
00154         return( m_shared );
00155       }
00156
00157 #if defined(LINUX)
00158       const char * getDisplay() const
00159       {
00160         return( m_display );
00161       }
00162
00163       int getScreen() const
00164       {
00165         return( m_screen );
00166       }
00167 #endif
00168
00169     private:
00170       // prohibit assignment
00171       Headless &operator=( const Headless & );
00172
00173       RenderContextGLFormat * m_format;
00174       SmartRenderContextGL    m_shared;
00175 #if defined(LINUX)
00176       const char *            m_display;
00177       int                     m_screen;
00178 #endif
00179     };
00180
00181 #if defined( WIN32 )
00182     struct FromHDC
00183     {
00184       FromHDC( HDC pHdc, const SmartRenderContextGL &pShared )
00185         : m_hdc(pHdc)
00186         , m_shared(pShared)
00187       {
00188       }
00189
00190       FromHDC( const FromHDC &rhs )
00191        : m_hdc( rhs.m_hdc )
00192        , m_shared( rhs.m_shared )
00193       {
00194       }
00195
00196       ~FromHDC()
00197       {
00198       }
00199
00200       HDC getHDC() const
00201       {
00202         return( m_hdc );
00203       }
00204
00205       SmartRenderContextGL getContext() const
00206       {
00207         return( m_shared );
00208       }
00209
00210     private:
00211       // prohibit assignment
00212       FromHDC &operator=( const FromHDC & );
00213
00214       HDC                   m_hdc;
00215       SmartRenderContextGL  m_shared;
00216     };
00217
00218     struct FromHWND
00219     {
00220       FromHWND( HWND pHwnd, RenderContextGLFormat *pFormat, const SmartRenderContextGL &pShared )
00221         : m_hwnd(pHwnd)
00222         , m_format(pFormat)
00223         , m_shared(pShared)
00224       {
00225       }
00226
00227       FromHWND( const FromHWND &rhs )
00228         : m_hwnd( rhs.m_hwnd )
00229         , m_format( rhs.m_format )
00230         , m_shared( rhs.m_shared )
00231       {
00232       }
00233
00234       ~FromHWND()
00235       {
00236       }
00237
00238       HWND getHWND() const
00239       {
00240         return( m_hwnd );
00241       }
00242
00243       const RenderContextGLFormat * getFormat() const
00244       {
00245         return( m_format );
00246       }
00247
00248       SmartRenderContextGL getContext() const
00249       {
00250         return( m_shared );
00251       }
00252
00253     private:
00254       // prohibit assignment
00255       FromHWND &operator=( const FromHWND & );
00256
00257       HWND                    m_hwnd;
00258       RenderContextGLFormat * m_format;
00259       SmartRenderContextGL    m_shared;
00260     };
00261 #endif
00262
00263 #if defined(LINUX)
00264     struct FromDrawable
00265     {
00266       FromDrawable( Display *pDisplay, int pScreen, GLXDrawable pDrawable, const SmartRenderContextGL &pShared )
00267         : display(pDisplay)
00268         , screen( pScreen )
00269         , drawable(pDrawable)
00270         , shared(pShared)
00271       {
00272       }
00273
00274       FromDrawable( const FromDrawable &rhs)
00275       : display( rhs.display )
00276       , screen( rhs.screen )
00277       , drawable( rhs.drawable )
00278       , shared( rhs.shared )
00279       {
00280       }
00281
00282       Display *display;
00283       int screen;
00284       GLXDrawable drawable;
00285       SmartRenderContextGL shared;
00286     private:
00287       // prohibit assignment
00288       FromDrawable &operator=( const FromDrawable & );
00289     };
00290 #endif
00291
00292   protected:
00293     // abstract base class
00294     NVSG_API RenderContextGL();
00295
00296     NVSG_API RenderContextGL( const SmartNativeContext &nativeContext, const ShareGroupGLSharedPtr &shareGroupGL );
00297     NVSG_API RenderContextGL( const SmartNativeContext &nativeContext, const ShareGroupGLSharedPtr &shareGroupGL, const RenderContextGLFormat &format );
00298     NVSG_API RenderContextGL( const Attach &creation );
00299     NVSG_API RenderContextGL( const Headless &headless);
00300     NVSG_API RenderContextGL( const Clone &creation );
00301 #if defined(LINUX)
00302     NVSG_API RenderContextGL( const FromDrawable &creation );
00303 #endif
00304     // no copy
00305     NVSG_API RenderContextGL(const RenderContextGL &);
00306     NVSG_API RenderContextGL &operator=(const RenderContextGL &);
00307
00308     NVSG_API virtual ~RenderContextGL();
00309
00310   public:
00311     NVSG_API static SmartRenderContextGL create( const Attach &creation );
00312     NVSG_API static SmartRenderContextGL create( const Clone &creation );
00313     NVSG_API static SmartRenderContextGL create( const Headless &creation );
00314 #if defined(WIN32)
00315     NVSG_API static SmartRenderContextGL create( const FromHDC &creation );
00316     NVSG_API static SmartRenderContextGL create( const FromHWND &creation );
00317 #elif defined(LINUX)
00318     NVSG_API static SmartRenderContextGL create( const FromDrawable &creation );
00319 #endif
00320
00321     // may introduce locking to ensure that context is been used only by one thread at the same time
00322     NVSG_API bool makeCurrent();
00323
00324     /* Not sure if we want to have the uncurrent calls. They could be useful for multithreaded programs.
00325        Unfortunately it seems they'll introduce a lot of new complexity which cannot be solved easily.
00326     **/
00327     // make context uncurrent
00328     NVSG_API void makeNoncurrent();
00329
00330     NVSG_API static const SmartRenderContextGL & getCurrentRenderContextGL();
00331     NVSG_API ShareGroupGLSharedPtr getShareGroupGL() const;
00332
00333     NVSG_API void swap();
00334
00335     // call this before context is being destroyed
00336     NVSG_API virtual void notifyDestroy();
00337
00338     NVSG_API const RenderContextGLFormat &getFormat() const;
00339
00340 #if defined(_WIN32)
00341     NVSG_API HWND  getHWND()  const;
00342     NVSG_API HDC   getHDC()   const;
00343     NVSG_API HGLRC getHGLRC() const;
00344
00345 #elif defined(LINUX)
00346     GLXContext  getContext()  const;
00347     GLXDrawable getDrawable() const;
00348     Display*    getDisplay()  const;
00349 #endif
00350
00351   protected:
00352     // clone a context
00353 #if defined(LINUX)
00354     NVSG_API void clone( GLXContext context, bool share );
00355 #elif defined(_WIN32)
00356     NVSG_API void clone( HDC hdc, HGLRC shareContext );
00357 #endif
00358
00359   protected:
00360     // platform specific variables and functions
00361   #if defined (_WIN32)
00362     NVSG_API static LRESULT CALLBACK RenderContextGLWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
00363     // create a native invisible dummy window
00364     NVSG_API static HWND createWindow();
00365     NVSG_API static HGLRC createContext( HDC hdc, HGLRC shareContext );
00366   #elif defined(LINUX)
00367     NVSG_API static GLXContext createContext( Display *display, GLXFBConfig config, GLXContext shareContext );
00368     NVSG_API static GLXPbuffer createPbuffer( Display *display, GLXFBConfig config );
00369   #endif
00370     NVSG_API static ShareGroupGLSharedPtr createShareGroupGL( const RenderContextGL::SmartNativeContext &context );
00371
00373     class NativeContext : public RCObject
00374     {
00375     public:
00376 #if defined(WIN32)
00377       NVSG_API NativeContext( HWND hwnd, bool destroyHWND, HDC hdc, bool destroyHDC, HGLRC hglrc, bool destroyHGLRC );
00378 #elif defined(LINUX)
00379       NVSG_API NativeContext( GLXContext context, bool destroyContext, GLXDrawable drawable, bool destroyDrawable, GLXPbuffer pbuffer, bool destroyPbuffer, Display *display, bool destroyDisplay );
00380 #endif
00381       NVSG_API virtual ~NativeContext();
00382
00383       NVSG_API bool makeCurrent();
00384       NVSG_API void makeNoncurrent();
00385       NVSG_API void swap();
00386
00387       NVSG_API void notifyDestroyed();
00388
00389 #if defined(_WIN32)
00390       HDC   m_hdc;
00391       HWND  m_hwnd;
00392       HGLRC m_hglrc;
00393
00394       bool m_destroyHDC;
00395       bool m_destroyHWND;
00396       bool m_destroyHGLRC;
00397 #elif defined(LINUX)
00398       GLXContext  m_context;
00399       GLXDrawable m_drawable;
00400       GLXPbuffer  m_pbuffer;
00401       Display*    m_display;
00402
00403       bool        m_destroyContext;
00404       bool        m_destroyDrawable;
00405       bool        m_destroypBuffer;
00406       bool        m_destroyDisplay;
00407 #endif
00408     };
00409
00410     RenderContextGLFormat m_format;
00411     ShareGroupGLSharedPtr m_shareGroup;
00412     SmartNativeContext    m_context;
00413
00414     friend class ShareGroupGL;
00415     friend class ShareGroupGLImpl;
00416   };
00417
00418   class RenderContextGLStack {
00419   public:
00420     /* \brief Push the current RenderContextGL on the stack and make a the given RenderContextGL object context active.
00421      * \param renderContextGL The RenderContextGL which should be active
00422      */
00423     NVSG_API void push( const SmartRenderContextGL &renderContextGL );
00424
00425     /* \brief Make the RenderContextGl object at the top of the stack active and remove it from the stack.
00426      */
00427     NVSG_API void pop();
00428
00429     /* \brief Check if there are elements on the context stack
00430        \return true if there is an element on the context stack, false otherwise
00431        **/
00432     NVSG_API bool empty() const;
00433   private:
00434     struct StackEntry {
00435       NVSG_API StackEntry();
00436       NVSG_API StackEntry( const StackEntry &rhs );
00437 #if defined(_WIN32)
00438       HDC   hdc;
00439       HWND  hwnd;
00440       HGLRC hglrc;
00441 #elif defined(LINUX)
00442       GLXContext  context;
00443       GLXDrawable drawable;
00444       Display*    display;
00445 #endif
00446       SmartRenderContextGL renderContextGL;
00447     };
00448     std::stack<StackEntry> m_stack;
00449   };
00450
00451   /**********************/
00452   /* ShareGroup classes */
00453   /**********************/
00454
00455   class ShareGroupGLResourceHolder;
00456   typedef nvutil::SmartPtr<ShareGroupGLResourceHolder> ShareGroupGLResource;
00457
00460   // FIXME does it make sense to introduce a generic task function?
00461   class ShareGroupGLTask : public nvutil::RCObject
00462   {
00463   public:
00464     NVSG_API virtual ~ShareGroupGLTask() {};
00465
00469     NVSG_API virtual void execute() = 0;
00470   };
00471
00472   typedef nvutil::SmartPtr<ShareGroupGLTask> SmartShareGroupGLTask;
00473
00474   class ShareGroupGLResourceHolder;
00475   typedef nvutil::SmartPtr<ShareGroupGLResourceHolder> SmartShareGroupGLResource;
00476
00477   class ShareGroupGL : public nvutil::HandledObject
00478   {
00479   public:
00480     NVSG_API static ShareGroupGLSharedPtr create( const RenderContextGL::SmartNativeContext &nativeContext );
00481
00482     NVSG_API SmartShareGroupGLResource registerResource( size_t key, unsigned int type, const nvutil::SmartRCObject &resource );
00483     NVSG_API SmartShareGroupGLResource getResource( size_t key, unsigned int type );
00484
00485     NVSG_API void executeTask( const SmartShareGroupGLTask &task, bool async = true );
00486
00487   protected:
00488     friend class ShareGroupGLResourceHolder;
00489
00490     friend struct nvutil::Holder<ShareGroupGL>;
00491     NVSG_API ShareGroupGL( const RenderContextGL::SmartNativeContext &nativeContext );
00492     NVSG_API ShareGroupGL( const ShareGroupGL & );
00493     NVSG_API virtual ~ShareGroupGL();
00494
00496     struct Key
00497     {
00498       Key( size_t key, unsigned int type )
00499         : m_key(key)
00500         , m_type(type)
00501       {
00502       }
00503
00504       bool operator<(const Key &rhs) const
00505       {
00506         return m_key < rhs.m_key || (m_key == rhs.m_key && m_type < rhs.m_type);
00507       }
00508
00509       size_t       m_key;
00510       unsigned int m_type;
00511     };
00512
00513     void unregisterResource( const ShareGroupGL::Key &key );
00514
00515     typedef nvutil::STLMap<Key, std::pair<int, ShareGroupGLResourceHolder*> > ResourceMap;
00516     ResourceMap m_resources;
00517
00518     RenderContextGL::SmartNativeContext m_nativeContext;  // headless context for resource cleanup
00519
00520     ShareGroupGLImpl *m_impl;
00521   };
00522
00526   class ShareGroupGLResourceHolder : public nvutil::RCObject
00527   {
00528   public:
00529     NVSG_API ShareGroupGLResourceHolder( const ShareGroupGLSharedPtr &shareGroup, ShareGroupGL::Key key, const nvutil::SmartRCObject &resource );
00530     NVSG_API ShareGroupGLResourceHolder( const ShareGroupGLResourceHolder &rhs );
00531     NVSG_API virtual ~ShareGroupGLResourceHolder( );
00532
00533     NVSG_API nvutil::SmartRCObject getResource();
00534   protected:
00535     ShareGroupGLResourceHolder &operator=( const ShareGroupGLResourceHolder &rhs );
00536
00537     ShareGroupGLSharedPtr m_shareGroup;
00538     ShareGroupGL::Key     m_key;
00539     nvutil::SmartRCObject m_resource;
00540   };
00541 } // namespace nvgl
00542
00543 namespace nvutil
00544 {
00545   OBJECT_TRAITS( nvgl::ShareGroupGL, nvutil::HandledObject );
00546 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderContextGLFormat.h Source File

inc / nvsg / nvgl

RenderContextGLFormat.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvgl/GLContext.h>
00015 #include <set>
00016
00017 namespace nvgl
00018 {
00019
00020   class RenderContextGLFormat
00021   {
00022   public:
00023     NVSG_API RenderContextGLFormat();
00024     NVSG_API virtual ~RenderContextGLFormat();
00025
00026     NVSG_API void setStereo(bool stereo);
00027     NVSG_API bool isStereo() const;
00028
00029     NVSG_API void setThirtyBit(bool thirtyBit);
00030     NVSG_API bool isThirtyBit() const;
00031
00032     NVSG_API void setSRGB(bool sRGB);
00033     NVSG_API bool isSRGB() const;
00034
00035     NVSG_API void setMultisample( unsigned int samples ); //<! 0 -> do not request multisampling fb
00036     NVSG_API unsigned int getMultisample( ) const;
00037
00038     // requires NV_multisample_coverage extension
00039     NVSG_API void setMultisampleCoverage( unsigned int colorSamples, unsigned int coverageSamples );
00040     NVSG_API void getMultisampleCoverage( unsigned int & colorSamples, unsigned int & coverageSamples ) const;
00041
00042     NVSG_API void setStencil( bool stencil );
00043     NVSG_API bool isStencil() const;
00044
00045     struct FormatInfo
00046     {
00047       FormatInfo()
00048         : stereoSupported( false )
00049         , stencilSupported( false )
00050         , thirtyBitSupported( false )
00051         , sRGBSupported( false )
00052         , msSupported( false )
00053         , msCoverageSupported( false )
00054       {}
00055
00056       bool stereoSupported;
00057       bool stencilSupported;
00058       bool thirtyBitSupported;
00059       bool sRGBSupported;
00060       bool msSupported;
00061       bool msCoverageSupported;
00062       std::set< std::pair < unsigned int, unsigned int > > multisampleModesSupported;
00063     };
00064
00065     //
00066     // NOTE: both of these require a current context!
00067     //
00068     NVSG_API bool getFormatInfo( FormatInfo & info ) const;
00069     NVSG_API bool isAvailable() const;
00070
00071     NVSG_API bool operator==( const RenderContextGLFormat &rhs ) const;
00072     NVSG_API bool operator!=( const RenderContextGLFormat &rhs ) const;
00073
00074 #if defined(WIN32)
00075     NVSG_API int getPixelFormat() const;
00076     NVSG_API void syncFormat( HDC hdc );
00077 #elif defined(LINUX)
00078     NVSG_API GLXFBConfig getGLXFBConfig( Display *display, int screen ) const;
00079     NVSG_API static GLXFBConfig getGLXFBConfig( Display *display, GLXContext context );
00080     NVSG_API static int getGLXFBConfigAttrib( Display *display, GLXFBConfig config, int attribute );
00081     NVSG_API void syncFormat( Display *display, GLXContext context );
00082 #endif
00083
00084   protected:
00085     bool m_sRGB;
00086     bool m_stereo;
00087     bool m_thirtyBit;
00088     unsigned m_msColorSamples;
00089     unsigned m_msCoverageSamples;
00090     bool m_stencil;
00091   };
00092
00093   inline void RenderContextGLFormat::setStereo(bool stereo)
00094   {
00095     m_stereo = stereo;
00096   }
00097
00098   inline bool RenderContextGLFormat::isStereo() const
00099   {
00100     return m_stereo;
00101   }
00102
00103   inline void RenderContextGLFormat::setThirtyBit(bool thirtyBit)
00104   {
00105     m_thirtyBit = thirtyBit;
00106   }
00107
00108   inline bool RenderContextGLFormat::isThirtyBit() const
00109   {
00110     return m_thirtyBit;
00111   }
00112
00113   inline void RenderContextGLFormat::setSRGB(bool sRGB)
00114   {
00115     m_sRGB = sRGB;
00116   }
00117
00118   inline bool RenderContextGLFormat::isSRGB() const
00119   {
00120     return m_sRGB;
00121   }
00122
00123   inline void RenderContextGLFormat::setMultisample( unsigned int multisample )
00124   {
00125     m_msColorSamples    = multisample;
00126     m_msCoverageSamples = multisample;
00127   }
00128
00129   inline unsigned int RenderContextGLFormat::getMultisample( ) const
00130   {
00131     return m_msColorSamples;
00132   }
00133
00134   inline void RenderContextGLFormat::setMultisampleCoverage( unsigned int color, unsigned int coverage )
00135   {
00136     m_msColorSamples = color;
00137
00138     // can't have less coverage samples than color samples
00139     m_msCoverageSamples = std::max( color, coverage );
00140   }
00141
00142   inline void RenderContextGLFormat::getMultisampleCoverage( unsigned int & color, unsigned int & coverage ) const
00143   {
00144     color    = m_msColorSamples;
00145     coverage = m_msCoverageSamples;
00146   }
00147
00148   inline void RenderContextGLFormat::setStencil( bool stencil )
00149   {
00150     m_stencil = stencil;
00151   }
00152
00153   inline bool RenderContextGLFormat::isStencil() const
00154   {
00155     return m_stencil;
00156   }
00157
00158 } // namespace nvgl
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RendererGLFSQ.h Source File

inc / nvsg / nvgl

RendererGLFSQ.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsgcommon.h>
00015 #include <nvgl/GLContext.h>
00016 #include <nvgl/GLDALData.h>
00017 #include <nvsg/TextureHost.h>
00018 #include <nvui/Renderer.h>
00019 #include <nvmath/Vecnt.h>
00020 #include <nvgl/TextureGL.h>
00021 #include <nvgl/RenderTargetGL.h>
00022 #include <nvgl/GLObjectRenderer.h>
00023
00024 namespace nvgl
00025 {
00026
00027   class TextureGL;
00028   class TextureGL2D;
00029   class TextureGLRectangle;
00030
00086   class RendererGLFSQ : public nvui::Renderer
00087   {
00088     public:
00089       NVSG_API static nvutil::SmartPtr<RendererGLFSQ> create( const nvgl::SmartRenderTargetGL &renderTarget = nvgl::SmartRenderTargetGL() );
00090       NVSG_API virtual ~RendererGLFSQ(void);
00091
00095       NVSG_API virtual bool setCgFx( const nvsg::CgFxSharedPtr &cgfxh );
00096
00100       NVSG_API virtual const nvsg::CgFxSharedPtr & getCgFx();
00101
00109       NVSG_API virtual void setTexCoords( unsigned int unit, const std::vector<nvmath::Vec4f> &coords );
00110
00126       NVSG_API virtual bool setSamplerTextureByName( const std::string &sampler, const nvsg::TextureSharedPtr &texture );
00127
00133       NVSG_API virtual bool setSamplerTextureByName( const std::string &sampler, GLuint texID );
00134
00150       NVSG_API virtual bool setSamplerTextureBySemantic( const std::string &semantic, const nvsg::TextureSharedPtr &texture );
00151
00157       NVSG_API virtual bool setSamplerTextureBySemantic( const std::string &semantic, GLuint texID );
00158
00166       NVSG_API static void presentTextureGL2D( GLuint textureId, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd = true );
00167
00175       NVSG_API static void presentTextureGL2D( const nvgl::TextureGL2DSharedPtr &tex2d, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd = true );
00176
00184       NVSG_API static void presentTextureGLRectangle( const nvgl::TextureGLRectangleSharedPtr &tex2d, const nvgl::SmartRenderTargetGL &target, bool callRTBeginEnd = true );
00185
00186       REFLECTION_INFO_API( NVSG_API, RendererGLFSQ );
00187       BEGIN_DECLARE_STATIC_PROPERTIES
00188       END_DECLARE_STATIC_PROPERTIES
00189
00190     protected:
00191       NVSG_API RendererGLFSQ( const nvgl::SmartRenderTargetGL &target );
00192       NVSG_API virtual void doRender( const nvui::SmartRenderTarget &renderTarget );
00193
00194     private:
00195       bool applyCgFx();
00196       void createTextureInfo( const nvsg::TextureSharedPtr &texturePtr, nvgl::SmartShareGroupGLResource &res, nvgl::TextureInfoSharedPtr &info );
00197       void checkTextureInfoForUpdate( const nvsg::TextureSharedPtr &tex, const nvgl::TextureInfoSharedPtr &textureInfo );
00198       void updateTextureInfo( const nvsg::TextureHostSharedPtr &tex, const nvgl::TextureInfoSharedPtr &textureInfo );
00199
00200     private:
00201       nvsg::CgFxSharedPtr   m_cgfx;
00202       nvsg::CgFxEffect     *m_cgfxEffect;
00203       nvsg::CgFxTechnique   m_cgfxTechnique;
00204       unsigned int          m_cgfxPassCount;
00205       unsigned int          m_texCoordsUsed;
00206       std::vector<nvmath::Vec4f> m_texCoords[6];
00207       bool                  m_preserveTexturesAfterUpload;
00208
00209       // For texture object ID resource handling:
00210       struct TexInfo
00211       {
00212         TextureInfoSharedPtr      info;
00213         SmartShareGroupGLResource resource;
00214       };
00215
00216       std::map<CGparameter, TexInfo> m_sampler;
00217   };
00218
00219   typedef nvutil::SmartPtr<RendererGLFSQ> SmartRendererGLFSQ;
00220
00221 } // namespace nvgl
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RendererOptions.h Source File

inc / nvsg / nvui

RendererOptions.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/CoreTypes.h>
00015 #include <nvutil/HandledObject.h>
00016 #include <nvutil/Reflection.h>
00017
00018 namespace nvui
00019 {
00029   class RendererOptions : public nvutil::HandledObject
00030   {
00031   public:
00032     NVSG_API static nvui::RendererOptionsSharedPtr create();
00033
00039     template <typename ValueType> void addProperty( const std::string &name, const std::string &annonation, const ValueType &value );
00040
00041     /* \brief Get the value of a property.
00042        \param name Name of the property to get the value for.
00043        \param annotation An arbitrary annotation string.
00044        \returns Vale of the given property name.
00045        \remarks This is a shortcut for getValue(getProperty(name));
00046     !*/
00047     template <typename ValueType> ValueType getValue( const std::string &name ) const;
00048
00054     template <typename ValueType> void setValue( const std::string &name, const ValueType &value );
00055
00060     NVSG_API std::string getAnnotation( const std::string &name) const;
00061
00062     using Reflection::getValue;
00063     using Reflection::setValue;
00064   public:
00065     RendererOptions();
00066     RendererOptions( const RendererOptions &rhs );
00067     virtual ~RendererOptions();
00068
00069     REFLECTION_INFO_API( NVSG_API, RendererOptions );
00070     BEGIN_DECLARE_STATIC_PROPERTIES
00071     END_DECLARE_STATIC_PROPERTIES
00072   protected:
00073
00074   private:
00075     nvutil::PropertyListImpl *m_dynamicProperties;
00076   };
00077
00081   class RendererOptionsProvider
00082   {
00083   public:
00084     RendererOptionsProvider() : m_rendererOptions( RendererOptions::create() )  {}
00085     virtual ~RendererOptionsProvider()                                          {}
00086
00088     NVSG_API virtual void addRendererOptions( const RendererOptionsSharedPtr& rendererOptions );
00089
00091     NVSG_API virtual void setRendererOptions( const RendererOptionsSharedPtr& rendererOptions );
00092
00093   protected:
00095     NVSG_API virtual void doAddRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions ) = 0;
00096
00098     NVSG_API virtual void doSetRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions ) = 0;
00099
00100   protected:
00101     RendererOptionsSharedPtr m_rendererOptions;
00102   };
00103
00104   template <typename ValueType> void RendererOptions::addProperty( const std::string &name, const std::string &annotation, const ValueType &value )
00105   {
00106     NVSG_ASSERT(!getProperty(name) && "Property has already been added");
00107     m_dynamicProperties->addProperty( name, new nvutil::TypedPropertyValue<ValueType>( nvutil::Property::SEMANTIC_VALUE, annotation, true, value ) );
00108   }
00109
00110   template <typename ValueType> ValueType RendererOptions::getValue( const std::string &name ) const
00111   {
00112     NVSG_ASSERT( getProperty(name) && "Property is not available" );
00113     return Reflection::getValue<ValueType>( getProperty( name ) );
00114   }
00115
00116   template <typename ValueType> void RendererOptions::setValue( const std::string &name, const ValueType &value )
00117   {
00118     NVSG_ASSERT( getProperty(name) && "Property is not available" );
00119     return Reflection::setValue<ValueType>( getProperty( name ), value );
00120   }
00121
00122   inline void RendererOptionsProvider::addRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions )
00123   {
00124     if( rendererOptions )
00125     {
00126       doAddRendererOptions(rendererOptions);
00127     }
00128   }
00129
00130   inline void RendererOptionsProvider::setRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions )
00131   {
00132     if( rendererOptions && rendererOptions != m_rendererOptions )
00133     {
00134       // new renderer options, add needed options
00135       addRendererOptions( rendererOptions );
00136
00137       // give derived classes the opportunity to update themselves
00138       doSetRendererOptions( rendererOptions );
00139
00140       // update renderer options object
00141       m_rendererOptions = rendererOptions;
00142     }
00143   }
00144
00145 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderList2.h Source File

inc / nvsg / nvsg

RenderList2.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/CgFx.h>
00015 #include <nvsg/CoreTypes.h>
00016 #include <nvsg/FlipbookAnimation.h>
00017 #include <nvsg/GeneratorState.h>
00018 #include <nvsg/GeoNode.h>
00019 #include <nvsg/LOD.h>
00020 #include <nvsg/Object.h>
00021 #include <nvsg/Switch.h>
00022 #include <nvsg/Transform.h>
00023 #include <nvsg/Resource.h>
00024
00025 #include <nvutil/Handle.h>
00026 #include <nvutil/HandledObject.h>
00027 #include <nvutil/Observer.h>
00028 #include <nvutil/Subject.h>
00029
00030 #include <nvmath/Trafo.h>
00031
00032 #include <vector>
00033 #include <stack>
00034 #include <algorithm>
00035 #include <memory>
00036
00037 namespace nvsg
00038 {
00039
00040   /*===========================================================================*/
00041   struct RenderState;
00042   typedef nvutil::SmartPtr< RenderState > RenderStateSharedPtr;
00043   struct RenderState : public nvutil::RCObject
00044   {
00045     RenderState()
00046       : m_renderMode(0)
00047       , m_blendAttributeEnabled(false)
00048       , m_faceWindingCCW(true)
00049       , m_lightingEnabled(true)
00050     {}
00051
00052     struct TransformState
00053     {
00054       nvmath::Mat44f m_viewToClip;
00055       nvmath::Mat44f m_clipToView;
00056       nvmath::Mat44f m_worldToView;
00057       nvmath::Mat44f m_viewToWorld;
00058       nvmath::Mat44f m_worldToModel;
00059       nvmath::Mat44f m_modelToWorld;
00060       nvmath::Vec4f  m_projSizeVector; // per-frame projection size vector
00061     };
00062
00063     struct LightState
00064     {
00065       LightState()
00066         : m_processingHeadlight(false)
00067       {}
00068
00069       class LightEntity
00070       {
00071       public:
00072         LightEntity( nvsg::LightSourceWeakPtr lightSource, nvmath::Mat44f transform, bool headlight )
00073           : m_lightSource(lightSource)
00074           , m_transform(transform)
00075           , m_isHeadlight(headlight)
00076         {}
00077
00078         nvsg::LightSourceWeakPtr m_lightSource;
00079         nvmath::Mat44f           m_transform;
00080         bool                     m_isHeadlight;
00081       };
00082
00083       std::vector< LightEntity > m_lights;
00084       bool                       m_processingHeadlight;
00085     };
00086
00087     struct ClipPlaneState
00088     {
00089       ClipPlaneState()
00090         : m_clipPlanesEnabled( true )
00091       {}
00092
00093       class ClipPlaneEntity
00094       {
00095       public:
00096         ClipPlaneEntity( nvsg::ClipPlaneWeakPtr clipPlane, nvmath::Mat44f transform )
00097           : m_clipPlane(clipPlane)
00098           , m_transform(transform)
00099         {
00100         }
00101
00102         nvsg::ClipPlaneWeakPtr m_clipPlane;
00103         nvmath::Mat44f         m_transform;
00104       };
00105
00106       std::vector< ClipPlaneEntity > m_clipPlanes;
00107       bool m_clipPlanesEnabled;
00108     };
00109
00110     struct MaterialState
00111     {
00112       struct ShaderState
00113       {
00114         ShaderState()
00115         {
00116           reset();
00117         }
00118
00119         void reset()
00120         {
00121           m_lockedFx.reset(NULL);
00122           m_technique = NULL;
00123           m_pass = ~0;
00124           m_passCnt = 0;
00125         }
00126
00127         std::auto_ptr<CgFxEffectWriteLock> m_lockedFx;
00128         CgFxTechnique m_technique;
00129         unsigned int m_pass; // current pass
00130         unsigned int m_passCnt; // absolut pass count for current technique
00131       };
00132
00133       unsigned int m_pass; // current material state pass
00134       unsigned int m_passCnt; // absolute material state pass count
00135       ShaderState  m_shaderState;
00136     };
00137
00138     RenderList2WeakPtr m_renderList;
00139     TransformState     m_transformState;
00140     LightState         m_lightState;
00141     ClipPlaneState     m_clipPlaneState;
00142     MaterialState      m_materialState;
00143     unsigned int       m_renderMode;
00144     bool               m_blendAttributeEnabled;
00145     bool               m_lightingEnabled;
00146     bool               m_faceWindingCCW;
00147     nvmath::Vec4f      m_sceneAmbient;
00148     int                m_sceneFrame;
00149   };
00150
00151   typedef RenderState::TransformState             TransformState;
00152   typedef RenderState::LightState                 LightState;
00153   typedef RenderState::ClipPlaneState             ClipPlaneState;
00154   typedef RenderState::MaterialState              MaterialState;
00155   typedef RenderState::MaterialState::ShaderState ShaderState;
00156
00157   typedef RenderState::LightState::LightEntity    LightEntity;
00158
00159   /*===========================================================================*/
00160   class NodeExecutionObject : public nvutil::RCObject
00161   {
00162   public:
00163     virtual void callBeginFunc() {};
00164     virtual void callEndFunc() {};
00165     virtual void callUpdateFunc() {};
00166   };
00167
00168   typedef nvutil::SmartPtr<NodeExecutionObject> SmartNodeExecutionObject;
00169
00170   /*===========================================================================*/
00171   template < class ParentClass >
00172   class RenderListChildClass
00173   {
00174   protected:
00175     RenderListChildClass()
00176       : m_parent( nullptr )
00177       , m_dirty( false )
00178       , m_id(m_counter++)
00179     {}
00180
00181   public:
00182     void setParent( const ParentClass &parent )
00183     {
00184       m_parent = parent;
00185       if( m_parent && m_dirty )
00186       {
00187         m_parent->setDirty(true);
00188       }
00189     }
00190     const ParentClass &getParent() { return m_parent; }
00191
00192     void setDirty( bool dirty )
00193     {
00194       if( dirty && !m_dirty && m_parent )
00195       {
00196         m_parent->setDirty(true);
00197       }
00198       m_dirty = dirty;
00199     }
00200     bool isDirty() const { return m_dirty; }
00201
00202     unsigned int getID() { return m_id; };
00203
00204   private:
00205     ParentClass         m_parent;
00206     bool                m_dirty;
00207     static unsigned int m_counter;
00208     unsigned int        m_id;
00209   };
00210
00211   template<class ParentClass> unsigned int RenderListChildClass<ParentClass>::m_counter = 0;
00212
00213   /*===========================================================================*/
00214   template < typename ChildClass >
00215   class RenderListParentClass
00216   {
00217   public:
00218     typedef nvutil::STLVector<ChildClass>         Children;
00219     typedef ChildClass                          * ChildIterator;
00220     typedef const ChildClass                    * ConstChildIderator;
00221     typedef nvutil::STLMap<ChildClass, size_t>    ChildrenMap;
00222
00223   protected:
00224     RenderListParentClass()
00225     {
00226     }
00227
00228     virtual ~RenderListParentClass()
00229     {
00230     }
00231
00232   public:
00233     void addChild( const ChildClass& child )
00234     {
00235       NVSG_ASSERT( m_childrenMap.find( child ) == m_childrenMap.end() );
00236
00237       m_childrenMap[child] = m_children.size();
00238       m_children.push_back( child );
00239       m_firstChild = &m_children[0];
00240     }
00241
00242     void removeChild( const ChildClass& child )
00243     {
00244       typename ChildrenMap::iterator it = m_childrenMap.find( child );
00245       if( it != m_childrenMap.end() )
00246       {
00247         size_t idx = it->second;
00248         size_t lastIndex = m_children.size() - 1;
00249
00250         m_childrenMap.erase(it);
00251         // any element except the last one had been removed, do the fast swapping
00252         if ( idx != lastIndex )
00253         {
00254           m_children[idx] = m_children[lastIndex];
00255           if ( lastIndex )
00256           {
00257             m_childrenMap[m_children[idx]] = idx;
00258           }
00259         }
00260         m_children.resize( lastIndex );
00261       }
00262     }
00263     size_t numChildren()        { return m_children.size(); }
00264     ChildIterator begin()       { return m_firstChild; }
00265     ChildIterator end()         { return m_firstChild + numChildren(); }
00266
00267     template< typename Compare >
00268     void sortChildren( const Compare& c )
00269     {
00270       std::sort( m_children.begin(), m_children.end(), c );
00271
00272       for ( size_t idx = 0;idx < numChildren(); ++idx )
00273       {
00274         m_childrenMap[ m_children[idx] ] = idx;
00275       }
00276     }
00277
00278   protected:
00279     nvmath::Sphere3f combineBoundingSpheres()
00280     {
00281       nvmath::Sphere3f bs;
00282       for ( typename Children::iterator it = m_children.begin() ; it != m_children.end() ; ++it )
00283       {
00284         bs = boundingSphere( bs, (*it)->getBoundingSphere() );
00285       }
00286       return( bs );
00287     }
00288
00289     unsigned int combineHints()
00290     {
00291       unsigned int hints( 0 );
00292       for ( typename Children::iterator it = m_children.begin() ; it != m_children.end() ; ++it )
00293       {
00294         hints |= (*it)->getHints();
00295       }
00296       return( hints );
00297     }
00298
00299   private:
00300     Children    m_children;
00301     ChildrenMap m_childrenMap;
00302     ChildClass* m_firstChild;
00303   };
00304
00305   /*===========================================================================*/
00306
00307   class RenderListNodeClass : public nvutil::RCObject
00308   {
00309   protected:
00310     RenderListNodeClass()
00311     {}
00312
00313   public:
00314     void setResource( const ResourceSharedPtr& res ) { m_resource = res; }
00315     const ResourceSharedPtr &getResource() const     { return m_resource; }
00316
00317     void setNodeExecutionObject( const SmartNodeExecutionObject & obj ) { m_executionObject = obj; }
00318     const SmartNodeExecutionObject &getNodeExecutionObject() const { return m_executionObject; }
00319
00320   private:
00321     ResourceSharedPtr          m_resource;
00322     SmartNodeExecutionObject   m_executionObject;
00323   };
00324
00325   /*===========================================================================*/
00326   enum RenderMode
00327   {
00328     RENDER_OPAQUE              = 0,
00329     RENDER_TRANSPARENT         = BIT0,                                // 1 = transparent, 0 = opaque
00330     RENDER_OVERLAY             = BIT1,                                // 1 = render to overlay
00331     RENDER_OVERLAY_OPAQUE      = RENDER_OVERLAY,
00332     RENDER_OVERLAY_TRANSPARENT = RENDER_OVERLAY | RENDER_TRANSPARENT,
00333     RENDER_BITS                = RENDER_OVERLAY | RENDER_TRANSPARENT, // all possible render bits
00334   };
00335
00336   /*===========================================================================*/
00337   class RenderList2 : public RenderListParentClass< RenderModeGroupSharedPtr >
00338     , public RenderListNodeClass
00339   {
00340   protected:
00341     RenderList2(const NodeWeakPtr& root);
00342     virtual ~RenderList2();
00343
00344   public:
00345     template <typename IndexType> class Observer;
00346
00347     class SwitchObserver;
00348     CORE_TYPES( SwitchObserver, nvutil::Observer );
00349
00350     class GeoNodeObserver;
00351     CORE_TYPES( GeoNodeObserver, nvutil::Observer );
00352
00353     class TransformObserver;
00354     CORE_TYPES( TransformObserver, nvutil::Observer );
00355
00356     class ObjectObserver;
00357     CORE_TYPES( ObjectObserver, nvutil::Observer );
00358
00359     class RootNodeObserver;
00360     CORE_TYPES( RootNodeObserver, nvutil::Observer );
00361
00362   public:
00363     NVSG_API static RenderList2SharedPtr create( const NodeWeakPtr& root );
00364
00365     NVSG_API void addSubTree( const NodeWeakPtr& root,
00366                               nvsg::ObjectTreeIndex parentIndex, nvsg::ObjectTreeIndex leftSibling,
00367                               nvsg::TransformTreeIndex parentTransform, nvsg::TransformTreeIndex leftSiblingTransform );
00368
00373     NVSG_API void replaceSubTree( const NodeWeakPtr &root, nvsg::ObjectTreeIndex nodeIndex );
00374
00376     NVSG_API void addRendererOptions( const nvui::RendererOptionsSharedPtr& rendererOptions );
00377
00379     NVSG_API void addDrawable( const DrawableInstanceSharedPtr& drawable );
00380
00382     NVSG_API void dirtyGeoNode( ObjectTreeIndex index );
00383
00385     NVSG_API void dirtyDrawable( const DrawableInstanceSharedPtr& drawable );
00386
00388     NVSG_API void updateDrawable( const DrawableInstanceSharedPtr& drawable ) { m_updateDIs.push_back( drawable ); }
00389
00391     NVSG_API const nvmath::Mat44f& getTransformMatrix( TransformTreeIndex index ) const { return m_transformTree[index].m_worldMatrix; }
00392     NVSG_API bool isMirrorTransform( TransformTreeIndex index ) const { return m_transformTree.operator[](index).m_worldBits & TransformTreeNode::ISMIRRORTRANSFORM; }
00393
00395     NVSG_API bool         isActive( ObjectTreeIndex index ) const { return m_objectTree[index].m_worldActive; }
00396     NVSG_API unsigned int getHints( ObjectTreeIndex index ) const { return m_objectTree[index].m_worldHints; }
00397     NVSG_API unsigned int getMask( ObjectTreeIndex index ) const  { return m_objectTree[index].m_worldMask; }
00398
00400     NVSG_API RenderModeGroupSharedPtr getRenderModeGroup( const DrawableInstanceSharedPtr& drawable );
00401     NVSG_API void remove( const RenderModeGroupSharedPtr &p )
00402     {
00403       invalidateBoundingSphere();
00404       invalidateHints();
00405       removeChild( p );
00406     }
00407
00408     NVSG_API bool needsRebuild();
00409     NVSG_API void triggerRebuild();
00410     NVSG_API void setDirty( bool dirty ) { m_dirty = dirty; }
00411     NVSG_API bool isDirty()              { return m_dirty; }
00412     NVSG_API void update( const nvsg::ViewStateSharedPtr& );
00413
00414     // TODO documentation.
00415     // adders - no not the snakes.
00416     NVSG_API TransformTreeIndex addTransform( TransformTreeNode node, TransformTreeIndex parentIndex, TransformTreeIndex siblingIndex );
00417     NVSG_API ObjectTreeIndex addObject( ObjectTreeNode node, ObjectTreeIndex parentIndex, ObjectTreeIndex siblingIndex );
00418
00419     // special function to mark certain transform tree indices as dynamic
00420     NVSG_API void markTransformDynamic( TransformTreeIndex index );
00421
00422     // special functions to mark certain object tree indices as certain special nodes
00423     NVSG_API void addFlipbookAnimation( const nvsg::FlipbookAnimationWeakPtr& fba, ObjectTreeIndex index );
00424     NVSG_API void addLOD(               const nvsg::LODWeakPtr& lod, ObjectTreeIndex index );
00425     NVSG_API void addSwitch(            const nvsg::SwitchWeakPtr& s, ObjectTreeIndex index );
00426
00427     // remove an index and the tree below it from the object tree. removes all referenced DIs, detaches affected objects from
00428     // the ObjectObserver and removes all affected transforms
00429     // note: doesnt work for the root node, as this requires a renderlist rebuild
00430     NVSG_API void removeObjectTreeIndex( ObjectTreeIndex index );
00431
00432     // remove an index and the tree below it from the object tree.
00433     // detaches affected transforms from the TransformTraverser
00434     // note: doesnt work for the root node, as this requires a renderlist rebuild
00435     NVSG_API void removeTransformTreeIndex( TransformTreeIndex index );
00436
00437     NVSG_API TransformTree& getTransformTree();
00438     NVSG_API ObjectTree& getObjectTree();
00439
00440     NVSG_API TransformTreeNode& getTransformTreeNode( TransformTreeIndex index );
00441     NVSG_API ObjectTreeNode& getObjectTreeNode( ObjectTreeIndex index );
00442
00443     NVSG_API const nvmath::Sphere3f & getBoundingSphere();
00444     NVSG_API void invalidateBoundingSphere();
00445
00446     NVSG_API unsigned int getHints();
00447     NVSG_API bool containsHints( unsigned int hints ) { return !!(getHints() & hints); }
00448     NVSG_API void invalidateHints();
00449
00450     NVSG_API void lockObservers();
00451     NVSG_API void unlockObservers();
00452   protected:
00453     void updateTransformTree( const nvsg::ViewStateSharedPtr& );
00454     void updateObjectTree( const nvsg::ViewStateSharedPtr& );
00455
00456   private:
00457     bool m_dirty;
00458     bool m_doRebuild; // trigger renderlist rebuild
00459
00460     std::vector< DrawableInstanceSharedPtr > m_dirtyDIs;
00461     std::vector< DrawableInstanceSharedPtr > m_updateDIs;
00462     std::set   < ObjectTreeIndex >           m_dirtyGeoNodes;
00463
00464     //TODO0 check switchobserver for shared switches!
00465     SwitchObserverSharedPtr                  m_switchObserver;
00466     TransformObserverSharedPtr               m_transformObserver;
00467     ObjectObserverSharedPtr                  m_objectObserver;
00468     GeoNodeObserverSharedPtr                 m_geoNodeObserver;
00469     RootNodeObserverSharedPtr                m_rootNodeObserver;
00470
00471     // ObserverLocks
00472     nvutil::ObserverWriteLock*               m_lockSwitchObserver;
00473     nvutil::ObserverWriteLock*               m_lockTransformObserver;
00474     nvutil::ObserverWriteLock*               m_lockObjectObserver;
00475     nvutil::ObserverWriteLock*               m_lockGeoNodeObserver;
00476     nvutil::ObserverWriteLock*               m_lockRootNodeObserver;
00477
00478     TransformTree                            m_transformTree;
00479     TransformTreeIndexSet                    m_dynamicTransformIndices;
00480
00481     ObjectTree                               m_objectTree;
00482     std::vector< TransformTreeIndex >        m_transformIndexStack; // temp variable
00483     std::vector< ObjectTreeIndex >           m_objectIndexStack;  // temp variable
00484
00485     nvmath::Sphere3f m_boundingSphere;
00486     bool             m_hintsValid;
00487     unsigned int     m_hints;
00488   };
00489
00490   /*===========================================================================*/
00491   class RenderModeGroup : public RenderListParentClass< MaterialGroupSharedPtr >
00492     , public RenderListNodeClass
00493     , public RenderListChildClass< RenderList2WeakPtr >
00494   {
00495   protected:
00496     RenderModeGroup( unsigned int mode )
00497       : m_renderMode( mode )
00498       , m_hintsValid( false )
00499     {}
00500
00501   public:
00502     NVSG_API static RenderModeGroupSharedPtr create( unsigned int mode )
00503     {
00504       return new RenderModeGroup( mode );
00505     }
00506
00507     NVSG_API void setRenderMode( unsigned int mode ) { m_renderMode = mode; }
00508     NVSG_API unsigned int getRenderMode() const { return m_renderMode; }
00509
00510     // Get a MaterialGroup with the given material and lightVector. Will add to self if not already there.
00511     NVSG_API MaterialGroupSharedPtr getMaterialGroup( const DrawableInstanceSharedPtr& drawable );
00512     NVSG_API void remove( const MaterialGroupSharedPtr &p );
00513
00514     NVSG_API const nvmath::Sphere3f & getBoundingSphere();
00515     NVSG_API void invalidateBoundingSphere();
00516
00517     NVSG_API unsigned int getHints();
00518     NVSG_API bool containsHints( unsigned int hints ) { return !!(getHints() & hints); }
00519     NVSG_API void invalidateHints();
00520
00521   private:
00522     RenderModeGroup() {};
00523
00524   private:
00525     unsigned int      m_renderMode;
00526
00527     nvmath::Sphere3f  m_boundingSphere;
00528     bool              m_hintsValid;
00529     unsigned int      m_hints;
00530
00531     std::multimap< HashKey, MaterialGroupWeakPtr > m_hashMap;
00532   };
00533
00534   /*===========================================================================*/
00535   class MaterialGroup : public RenderListParentClass< DrawableInstanceSharedPtr >
00536     , public RenderListNodeClass
00537     , public RenderListChildClass< RenderModeGroupWeakPtr >
00538   {
00539   protected:
00540     MaterialGroup()
00541       : m_hintsValid( false )
00542     {}
00543
00544   public:
00545     NVSG_API static MaterialGroupSharedPtr create()
00546     {
00547       return new MaterialGroup;
00548     }
00549
00550     NVSG_API void setLightVector( LightVector lightVector )               { m_lightVector = lightVector; }
00551     NVSG_API void addLightInstance( LightInstanceSharedPtr instance )     { m_lightVector.push_back( instance ); }
00552     NVSG_API size_t numLightInstances()                                   { return m_lightVector.size(); }
00553     NVSG_API const LightInstanceSharedPtr& getLightInstance( size_t i )   { return m_lightVector.at(i); }
00554     NVSG_API const LightVector& getLightVector()                          { return m_lightVector; }
00555
00556     NVSG_API void setClipPlaneVector( ClipPlaneVector clipPlaneVector )         { m_clipPlaneVector = clipPlaneVector; }
00557     NVSG_API void addClipPlaneInstance( ClipPlaneInstanceSharedPtr instance )   { m_clipPlaneVector.push_back( instance ); }
00558     NVSG_API size_t numClipPlaneInstances()                                     { return m_clipPlaneVector.size(); }
00559     NVSG_API const ClipPlaneInstanceSharedPtr& getClipPlaneInstance( size_t i ) { return m_clipPlaneVector.at(i); }
00560     NVSG_API const ClipPlaneVector& getClipPlaneVector()                        { return m_clipPlaneVector; }
00561
00562     NVSG_API void setStateVariant( StateVariantSharedPtr stateVariant ) { m_stateVariant = stateVariant; }
00563     NVSG_API const StateVariantSharedPtr& getStateVariant()             { return m_stateVariant; }
00564
00565     NVSG_API void addDrawableInstance( const DrawableInstanceSharedPtr &p );
00566     NVSG_API void remove( const DrawableInstanceSharedPtr &p )
00567     {
00568       NVSG_ASSERT( getParent() );
00569
00570       invalidateBoundingSphere();
00571       invalidateHints();
00572       removeChild( p );
00573       if ( numChildren() == 0 )
00574       {
00575         getParent()->remove( this );
00576       }
00577     }
00578
00579     NVSG_API const nvmath::Sphere3f & getBoundingSphere();
00580     NVSG_API void invalidateBoundingSphere();
00581
00582     // for faster sorting
00583     NVSG_API void updateSquaredDistanceToCamera( const nvmath::Mat44f &worldToView )
00584     {
00585       const nvmath::Sphere3f& bs( getBoundingSphere() );
00586       m_squaredDistanceToCamera = lengthSquared(nvmath::Vec4f(bs.getCenter(), 1.0f ) * worldToView);
00587     }
00588
00589     NVSG_API float getSquaredDistanceToCamera() const
00590     {
00591       return m_squaredDistanceToCamera;
00592     }
00593
00594     NVSG_API unsigned int getHints();
00595     NVSG_API bool containsHints( unsigned int hints ) { return !!(getHints() & hints); }
00596     NVSG_API void invalidateHints();
00597
00598     NVSG_API void setHashKey( HashKey hashKey ) { m_hashKey = hashKey; }
00599     NVSG_API HashKey getHashKey( ) const { return m_hashKey; }
00600
00601   private:
00602     // TODO: add clip planes
00603     LightVector           m_lightVector;
00604     ClipPlaneVector       m_clipPlaneVector;
00605     StateVariantSharedPtr m_stateVariant;
00606     nvmath::Sphere3f      m_boundingSphere;
00607     float                 m_squaredDistanceToCamera;
00608     bool                  m_hintsValid;
00609     unsigned int          m_hints;
00610     HashKey               m_hashKey;
00611   };
00612
00613   /*===========================================================================*/
00614   class DrawableInstance : public RenderListNodeClass
00615     , public RenderListChildClass< MaterialGroupWeakPtr >
00616   {
00617   protected:
00618     NVSG_API DrawableInstance();
00619   public:
00620     NVSG_API static DrawableInstanceSharedPtr create();
00621
00622     // access methods for concrete data
00623     NVSG_API void setGeoNode( const GeoNodeWeakPtr & geoNode );
00624     NVSG_API const GeoNodeWeakPtr getGeoNode() const                           { return m_geoNode; }
00625
00626     NVSG_API void setStateSet( const StateSetWeakPtr &sswp );
00627     NVSG_API const StateSetWeakPtr &getStateSetIterator() const { return( m_stateSet ); }
00628
00629     NVSG_API void setLightVector( const LightVector& lightVector )             { m_lightVector = lightVector; }
00630     NVSG_API const LightVector& getLightVector() const                         { return m_lightVector; }
00631
00632     NVSG_API void setClipPlaneVector( const ClipPlaneVector& clipPlaneVector ) { m_clipPlaneVector = clipPlaneVector; }
00633     NVSG_API const ClipPlaneVector& getClipPlaneVector() const                 { return m_clipPlaneVector; }
00634
00635     NVSG_API void setTransformIndex( TransformTreeIndex index )                { m_transformIndex = index; }
00636     NVSG_API const TransformTreeIndex getTransformIndex() const                { return m_transformIndex; }
00637
00638     NVSG_API void setObjectTreeIndex( ObjectTreeIndex index )                  { m_objectTreeIndex = index; }
00639     NVSG_API const ObjectTreeIndex getObjectTreeIndex() const                  { return m_objectTreeIndex; }
00640
00641     NVSG_API void setDrawable( const DrawableWeakPtr & drawable );
00642     NVSG_API const DrawableWeakPtr getDrawable() const                         { return m_drawable; }
00643
00644     // access methods for grouping data
00645     NVSG_API const unsigned int getRenderMode() const;
00646
00647     NVSG_API const StateVariantSharedPtr & getMaterial() const;
00648
00649     NVSG_API void setRenderList2( const RenderList2WeakPtr rl );
00650     NVSG_API const RenderList2WeakPtr getRenderList()                          { return m_renderList; }
00651
00652     NVSG_API void remove();
00653
00654     NVSG_API const nvmath::Sphere3f & getBoundingSphere();
00655     NVSG_API void invalidateBoundingSphere();
00656
00657     NVSG_API unsigned int getHints();
00658     NVSG_API bool containsHints( unsigned int hints ) { return !!(getHints() & hints); }
00659     NVSG_API void invalidateHints();
00660
00661     NVSG_API void setActive( bool active ) { m_active = active; }
00662     NVSG_API bool isActive() const { return m_active; }
00663
00664     NVSG_API void setMask( unsigned int mask ) { m_mask = mask; }
00665     NVSG_API unsigned int getMask() const { return m_mask; }
00666
00667     NVSG_API void setValid( bool valid ) { m_isValid = valid; }
00668     NVSG_API bool isValid() const { return m_isValid; }
00669   private:
00670     // data caches
00671     nvmath::Sphere3f m_boundingSphere;
00672     bool             m_active;
00673     bool             m_hintsValid;
00674     unsigned int     m_hints;
00675     unsigned int     m_mask;
00676
00677     // concrete data
00678     TransformTreeIndex              m_transformIndex;
00679     GeoNodeWeakPtr                  m_geoNode;
00680     StateSetWeakPtr                 m_stateSet;
00681     LightVector                     m_lightVector;
00682     ClipPlaneVector                 m_clipPlaneVector;
00683     ObjectTreeIndex                 m_objectTreeIndex;
00684     DrawableWeakPtr                 m_drawable;
00685     bool                            m_isValid;
00686
00687     // the RenderList2 we're under
00688     RenderList2WeakPtr m_renderList;
00689   };
00690
00691   /*===========================================================================*/
00692   class LightInstance : public nvutil::RCObject
00693   {
00694   protected:
00695     LightInstance() {}
00696
00697   public:
00698     static LightInstanceSharedPtr create() { return new LightInstance; }
00699
00700   public:
00701     bool operator<(const LightInstance &rhs) const
00702     {
00703       return m_transformIndex < rhs.m_transformIndex || ( m_transformIndex == rhs.m_transformIndex && m_lightSource < rhs.m_lightSource);
00704     }
00705
00706     bool operator==(const LightInstance &rhs) const
00707     {
00708       return m_transformIndex == rhs.m_transformIndex && m_lightSource == rhs.m_lightSource;
00709     }
00710
00711     TransformTreeIndex m_transformIndex;
00712     LightSourceWeakPtr m_lightSource;
00713   };
00714
00715   /*===========================================================================*/
00716   class ClipPlaneInstance : public nvutil::RCObject
00717   {
00718   protected:
00719     ClipPlaneInstance() {}
00720
00721   public:
00722     static ClipPlaneInstanceSharedPtr create() { return new ClipPlaneInstance; }
00723
00724   public:
00725     bool operator<(const ClipPlaneInstance &rhs) const
00726     {
00727       return m_transformIndex < rhs.m_transformIndex || ( m_transformIndex == rhs.m_transformIndex && m_clipPlane < rhs.m_clipPlane);
00728     }
00729
00730     bool operator==(const ClipPlaneInstance &rhs) const
00731     {
00732       return m_transformIndex == rhs.m_transformIndex && m_clipPlane == rhs.m_clipPlane;
00733     }
00734
00735     TransformTreeIndex m_transformIndex;
00736     ClipPlaneSharedPtr m_clipPlane;
00737   };
00738
00739 } // namespace nvsg
00740
00741
00742
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderListGenerator.h Source File

inc / nvsg / nvtraverser

RenderListGenerator.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvtraverser/ModelViewTraverser.h>
00015 #include <nvsg/RenderList2.h>
00016 #include <nvsg/GeneratorState.h>
00017
00018 namespace nvtraverser
00019 {
00020
00021 class RenderListGenerator : public SharedTraverser
00022 {
00023 public:
00024   NVSG_API RenderListGenerator( const nvsg::RenderList2WeakPtr& renderList );
00025   NVSG_API ~RenderListGenerator() { /* NOP */ }
00026
00027   NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00028
00029   // functions for renderlist update
00030   NVSG_API void setCurrentTransformTreeData( nvsg::TransformTreeIndex parentIndex, nvsg::TransformTreeIndex siblingIndex );
00031   NVSG_API void setCurrentObjectTreeData( nvsg::ObjectTreeIndex parentIndex, nvsg::ObjectTreeIndex siblingIndex );
00032
00033   NVSG_API void addLight( const nvsg::LightSourceWeakPtr& l );
00034   NVSG_API void addClipPlane( const nvsg::ClipPlaneWeakPtr& l );
00035
00036 protected:
00037   NVSG_API virtual bool preTraverseGroup( const nvsg::Group *p );
00038   NVSG_API virtual void postTraverseGroup( const nvsg::Group *p );
00039
00040   NVSG_API virtual void handleTransform( const nvsg::Transform * p );
00041
00042   NVSG_API virtual void handleAnimatedTransform( const nvsg::AnimatedTransform *p );
00043   NVSG_API virtual void handleBillboard( const nvsg::Billboard *p );
00044
00045   NVSG_API virtual void handleLOD( const nvsg::LOD *p );
00046   NVSG_API virtual void handleSwitch( const nvsg::Switch *p );
00047   NVSG_API virtual void handleFlipbookAnimation( const nvsg::FlipbookAnimation * anim );
00048
00049   NVSG_API virtual void handleStateVariant( const nvsg::StateVariant * p );
00050
00051   NVSG_API virtual void handleGeoNode( const nvsg::GeoNode *p );
00052   NVSG_API virtual bool preTraverseDrawables ( const nvsg::GeoNode * p, nvsg::GeoNode::StateSetConstIterator ssci );
00053
00054   NVSG_API virtual void traversePrimitive( const nvsg::Primitive *p );
00055   NVSG_API virtual void traversePrimitiveSet( const nvsg::PrimitiveSet *p );
00056
00057 private:
00058   nvsg::RenderList2WeakPtr      m_renderList;
00059   nvsg::GeneratorStateSharedPtr m_generatorState;
00060 };
00061
00062 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderListProcessor.h Source File

inc / nvsg / nvsg

RenderListProcessor.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/CoreTypes.h>
00015 #include <nvsg/RenderList2.h>
00016
00017
00018 namespace nvsg
00019 {
00020
00021 class RenderListProcessor
00022 {
00023 public:
00024   NVSG_API RenderListProcessor()          { /* NOP */ }
00025   NVSG_API virtual ~RenderListProcessor() { /* NOP */ }
00026
00027   NVSG_API virtual RenderList2SharedPtr process( const RenderList2SharedPtr& ) = 0;
00028 };
00029
00030 } // namespace nvsg
00031
00032
00033
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderTarget.h Source File

inc / nvsg / nvui

RenderTarget.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvutil/SmartPtr.h>
00015 #include <nvsg/CoreTypes.h>
00016 #include <nvsg/TextureHost.h>
00017
00018 namespace nvui {
00019
00030   class RenderTarget : public nvutil::Reflection
00031                      , public nvutil::RCObject
00032   {
00033   public:
00034     enum StereoTarget { LEFT = 0,
00035                         RIGHT,
00036                         LEFT_AND_RIGHT
00037                       };
00038
00039     NVSG_API virtual ~RenderTarget() {};
00040
00044     NVSG_API virtual bool beginRendering()  { return( true ); }
00045
00047     NVSG_API virtual void endRendering()    {}
00048
00053     NVSG_API virtual void setSize( unsigned int width, unsigned int height ) = 0;
00054
00059     NVSG_API virtual void getSize( unsigned int &width, unsigned int &height ) const = 0;
00060
00064     NVSG_API unsigned int getWidth() const;
00065
00069     NVSG_API unsigned int getHeight() const;
00070
00076     NVSG_API virtual float getAspectRatio() const;
00077
00084     NVSG_API virtual nvsg::TextureHostSharedPtr getTextureHost(
00085           nvsg::Image::PixelFormat pixelFormat = nvsg::Image::IMG_BGR,
00086           nvsg::Image::PixelDataType pixelDataType = nvsg::Image::IMG_UNSIGNED_BYTE ) = 0;
00087
00091     NVSG_API virtual bool isValid() = 0;
00092
00096     NVSG_API virtual bool isStereoEnabled() const { return false; }
00097
00102     NVSG_API virtual bool setStereoTarget( StereoTarget target ) { return target == LEFT; }
00103
00107     NVSG_API virtual StereoTarget getStereoTarget() const { return LEFT;}
00108   };
00109
00110   inline unsigned int RenderTarget::getWidth() const
00111   {
00112     unsigned int width, height;
00113     getSize(width, height);
00114     return width;
00115   }
00116
00117   inline unsigned int RenderTarget::getHeight() const
00118   {
00119     unsigned int width, height;
00120     getSize(width, height);
00121     return height;
00122   }
00123
00124   inline float RenderTarget::getAspectRatio() const
00125   {
00126     unsigned int width, height;
00127     getSize(width, height);
00128     float ratio = 1.0;
00129     if ( width && height )
00130     {
00131       ratio = float(width) / float(height);
00132     }
00133     return ratio;
00134   }
00135
00136   typedef nvutil::SmartPtr<RenderTarget> SmartRenderTarget;
00137 } // namespace nvui
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderTargetGL.h Source File

inc / nvsg / nvgl

RenderTargetGL.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvui/RenderTarget.h>
00015 #include <nvgl/RenderContextGL.h>
00016 #include <nvsg/Buffer.h>
00017
00018 namespace nvgl
00019 {
00020
00025   class RenderTargetGL : public nvui::RenderTarget
00026   {
00027     // RenderTargetGL interface
00028   public:
00029     NVSG_API virtual ~RenderTargetGL();
00030
00035     NVSG_API virtual bool beginRendering();
00036
00039     NVSG_API virtual void endRendering();
00040
00048     NVSG_API virtual bool copyToBuffer( GLenum  mode, nvsg::Image::PixelFormat pixelFormat, nvsg::Image::PixelDataType pixelDataType, const nvsg::BufferSharedPtr &buffer );
00049
00050     // clear interface
00055     NVSG_API void setClearMask( GLenum clearMask );
00056
00060     NVSG_API GLenum getClearMask();
00061
00069     NVSG_API void setClearColor( GLclampf r, GLclampf g, GLclampf b, GLclampf a );
00070
00075     NVSG_API void setClearDepth( GLclampd depth );
00076
00081     NVSG_API void setClearStencil( GLint stencil );
00082
00083     // RenderTarget interface
00084     NVSG_API virtual void setSize( unsigned int  width, unsigned int  height );
00085     NVSG_API virtual void getSize( unsigned int &width, unsigned int &height ) const;
00086
00090     NVSG_API unsigned int getWidth() { return m_width; }
00091
00095     NVSG_API unsigned int getHeight() { return m_height; }
00096
00097     NVSG_API virtual void setPosition( int  x, int  y );
00098     NVSG_API virtual void getPosition( int &x, int &y ) const;
00099
00100     // "screenshot"
00106     NVSG_API virtual nvsg::TextureHostSharedPtr getTextureHost( nvsg::Image::PixelFormat pixelFormat = nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType = nvsg::Image::IMG_UNSIGNED_BYTE );
00107
00114     NVSG_API virtual nvsg::TextureHostSharedPtr getTargetAsTextureHost(GLenum mode, nvsg::Image::PixelFormat pixelFormat = nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType = nvsg::Image::IMG_UNSIGNED_BYTE );
00115
00116     NVSG_API virtual bool isValid();
00117
00121     NVSG_API SmartRenderContextGL getRenderContextGL();
00122   protected:
00123     NVSG_API RenderTargetGL( const SmartRenderContextGL &glContext );
00124
00130     NVSG_API nvsg::TextureHostSharedPtr createStereoTextureHost( const nvsg::TextureHostSharedPtr &extureImageHandleLeft,
00131                                                                      const nvsg::TextureHostSharedPtr &textureImageHandleRight );
00132
00136     NVSG_API virtual bool isCurrent();
00137
00138     // make context temporary current for exception safety
00139     class TmpCurrent
00140     {
00141     public:
00142       TmpCurrent(RenderTargetGL *target)
00143       {
00144         m_target = target;
00145         target->makeCurrent();
00146       }
00147
00148       ~TmpCurrent()
00149       {
00150         m_target->makeNoncurrent();
00151       }
00152     private:
00153       RenderTargetGL *m_target;
00154     };
00155
00156     friend class TmpCurrent;
00157
00158     NVSG_API virtual void makeCurrent();
00159     NVSG_API virtual void makeNoncurrent();
00160
00161     // clear interface
00162     GLbitfield m_clearMask;
00163     GLclampf   m_clearColorR, m_clearColorG, m_clearColorB, m_clearColorA;
00164     GLclampd   m_clearDepth;
00165     GLuint     m_clearStencil;
00166
00167   private:
00168     bool                 m_current;
00169     SmartRenderContextGL m_renderContextGL;
00170     int                  m_x;
00171     int                  m_y;
00172     unsigned int         m_width;
00173     unsigned int         m_height;
00174
00175     RenderContextGLStack m_contextStack;
00176   };
00177
00178   typedef nvutil::SmartPtr<RenderTargetGL> SmartRenderTargetGL;
00179
00180   inline SmartRenderContextGL RenderTargetGL::getRenderContextGL()
00181   {
00182     return m_renderContextGL;
00183   }
00184
00185 }  // namespace nvgl
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderTargetGLFB.h Source File

inc / nvsg / nvgl

RenderTargetGLFB.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvgl/RenderTargetGL.h>
00015 #include <nvgl/RenderContextGL.h>
00016
00017 namespace nvgl
00018 {
00019
00023   class RenderTargetGLFB : public nvgl::RenderTargetGL
00024   {
00025   public:
00026     // RenderTargetGL interface
00027     NVSG_API static nvutil::SmartPtr<RenderTargetGLFB> create( const SmartRenderContextGL &glContext );
00028
00029     NVSG_API virtual ~RenderTargetGLFB();
00030
00031     NVSG_API virtual bool isValid();
00032
00037     NVSG_API virtual nvsg::TextureHostSharedPtr getTextureHost();
00038
00039     // stereo api
00040     NVSG_API virtual bool isStereoEnabled() const;
00041     NVSG_API virtual bool setStereoTarget( StereoTarget target );
00042     NVSG_API virtual StereoTarget getStereoTarget() const;
00043
00044   protected:
00045     // make context current
00046     NVSG_API virtual void makeCurrent();
00047     // make context uncurrent
00048     NVSG_API virtual void makeNoncurrent();
00049
00050     GLenum getStereoTargetBuffer( StereoTarget stereoTarget, bool backbuffer );
00051     void setDrawBuffer( StereoTarget stereoTarget );
00052
00053     NVSG_API RenderTargetGLFB( const SmartRenderContextGL &glContext );
00054
00055     StereoTarget m_stereoTarget;
00056     GLint        m_oldDrawBuffer;
00057     bool         m_stereoEnabled;
00058   };
00059
00060   typedef nvutil::SmartPtr<RenderTargetGLFB> SmartRenderTargetGLFB;
00061
00062 }  // namespace nvgl
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RenderTargetGLFBO.h Source File

inc / nvsg / nvgl

RenderTargetGLFBO.h

00001 // Copyright NVIDIA Corporation 2012
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvgl/RenderTargetGL.h>
00015 #include <nvgl/RenderTargetGLFB.h>
00016 #include <nvgl/TextureGL.h>
00017 #include <nvgl/RenderbufferGL.h>
00018
00019 #include <map>
00020 #include <vector>
00021
00022 namespace nvgl
00023 {
00024   class RenderTargetGLFBO;
00025   typedef nvutil::SmartPtr<RenderTargetGLFBO> SmartRenderTargetGLFBO;
00026
00041   class RenderTargetGLFBO : public RenderTargetGL
00042   {
00043   public:
00044     /***************/
00045     /* Attachment */
00046     /***************/
00049     class Attachment : public nvutil::RCObject {
00050     protected:
00051       friend class RenderTargetGLFBO;
00052
00057       NVSG_API virtual void resize(int width, int height) = 0;
00058
00062       NVSG_API virtual void bind( GLenum target ) = 0;
00063
00067       NVSG_API virtual void unbind( GLenum target ) = 0;
00068     };
00069
00070     typedef nvutil::SmartPtr<Attachment> SmartAttachment;
00071
00072     /*********************/
00073     /* AttachmentTexture */
00074     /*********************/
00077     class AttachmentTexture : public Attachment
00078     {
00079     public:
00081       NVSG_API AttachmentTexture( const TextureGL1DSharedPtr &texture, int level = 0 );
00082
00084       NVSG_API AttachmentTexture( const TextureGL2DSharedPtr &texture, int level = 0 );
00085
00087       NVSG_API AttachmentTexture( const TextureGL3DSharedPtr &texture, int zoffset, int level = 0 );
00088
00090       NVSG_API AttachmentTexture( const TextureGL1DArraySharedPtr &texture, int layer, int level = 0 );
00091
00093       NVSG_API AttachmentTexture( const TextureGL2DArraySharedPtr &texture, int layer, int level = 0);
00094
00096       NVSG_API AttachmentTexture( const TextureGLCubemapSharedPtr &texture, int face, int level = 0 );
00097
00099       NVSG_API AttachmentTexture( const TextureGLRectangleSharedPtr &texture );
00100
00102       NVSG_API AttachmentTexture( const TextureGL2DMultisampleSharedPtr &texture );
00103
00105       NVSG_API AttachmentTexture( const TextureGL2DMultisampleArraySharedPtr &texture, int level = 0 );
00106
00110       NVSG_API TextureGLSharedPtr getTextureGL() const;
00111
00112     protected:
00117       NVSG_API virtual void resize(int width, int height);
00118
00122       NVSG_API virtual void bind( GLenum target );
00123
00127       NVSG_API virtual void unbind( GLenum target );
00128
00129       NVSG_API void init( const TextureGLSharedPtr &texture, GLenum target, GLenum level, GLenum zoffset );
00130
00132       NVSG_API void resizeTexture1D( int width, int height );
00133
00135       NVSG_API void resizeTexture2D( int width, int height );
00136
00138       NVSG_API void resizeTexture3D( int width, int height );
00139
00141       NVSG_API void resizeTexture1DArray( int width, int height );
00142
00144       NVSG_API void resizeTexture2DArray( int width, int height );
00145
00147       NVSG_API void resizeTextureCubemap( int width, int height );
00148
00150       NVSG_API void resizeTexture2DMultisample( int width, int height );
00151
00153       NVSG_API void resizeTexture2DMultisampleArray( int width, int height );
00154
00159       NVSG_API void bind1D( GLenum attachment, GLuint textureId );
00160
00165       NVSG_API void bind2D( GLenum attachment, GLuint textureId );
00166
00171       NVSG_API void bind3D( GLenum attachment, GLuint textureId );
00172
00177       NVSG_API void bindLayer( GLenum attachment, GLuint textureId );
00178
00179     private:
00181       void (AttachmentTexture::*m_resizeFunc)(int width, int height);
00182
00184       void (AttachmentTexture::*m_bindFunc)( GLenum target, GLuint textureId );
00185
00186       GLenum m_textureTarget;
00187       GLuint m_level;
00188       GLuint m_zoffset;
00189       TextureGLSharedPtr m_textureGL;
00190     };
00191
00192     typedef nvutil::SmartPtr<AttachmentTexture> SmartAttachmentTexture;
00193
00194     /**************************/
00195     /* AttachmentRenderbuffer */
00196     /**************************/
00199     class AttachmentRenderbuffer : public Attachment
00200     {
00201     public:
00205       NVSG_API AttachmentRenderbuffer( SmartRenderbufferGL renderbufferGL );
00206       NVSG_API virtual ~AttachmentRenderbuffer();
00207
00208     protected:
00213       NVSG_API virtual void resize(int width, int height);
00214
00218       NVSG_API virtual void bind( GLenum target );
00219
00223       NVSG_API virtual void unbind( GLenum target );
00224
00228       NVSG_API SmartRenderbufferGL getRenderbufferGL() const;
00229     private:
00230       SmartRenderbufferGL m_renderbufferGL;
00231     };
00232
00233     typedef nvutil::SmartPtr<AttachmentRenderbuffer> SmartAttachmentRenderbuffer;
00234
00235     // RenderTargetGL interface
00236     enum {
00237        COLOR_ATTACHMENT0           = GL_COLOR_ATTACHMENT0_EXT
00238       ,COLOR_ATTACHMENT1           = GL_COLOR_ATTACHMENT1_EXT
00239       ,COLOR_ATTACHMENT2           = GL_COLOR_ATTACHMENT2_EXT
00240       ,COLOR_ATTACHMENT3           = GL_COLOR_ATTACHMENT3_EXT
00241       ,COLOR_ATTACHMENT4           = GL_COLOR_ATTACHMENT4_EXT
00242       ,COLOR_ATTACHMENT5           = GL_COLOR_ATTACHMENT5_EXT
00243       ,COLOR_ATTACHMENT6           = GL_COLOR_ATTACHMENT6_EXT
00244       ,COLOR_ATTACHMENT7           = GL_COLOR_ATTACHMENT7_EXT
00245       ,COLOR_ATTACHMENT8           = GL_COLOR_ATTACHMENT8_EXT
00246       ,COLOR_ATTACHMENT9           = GL_COLOR_ATTACHMENT9_EXT
00247       ,COLOR_ATTACHMENT10          = GL_COLOR_ATTACHMENT10_EXT
00248       ,COLOR_ATTACHMENT11          = GL_COLOR_ATTACHMENT11_EXT
00249       ,COLOR_ATTACHMENT12          = GL_COLOR_ATTACHMENT12_EXT
00250       ,COLOR_ATTACHMENT13          = GL_COLOR_ATTACHMENT13_EXT
00251       ,COLOR_ATTACHMENT14          = GL_COLOR_ATTACHMENT14_EXT
00252       ,COLOR_ATTACHMENT15          = GL_COLOR_ATTACHMENT15_EXT
00253       ,DEPTH_ATTACHMENT            = GL_DEPTH_ATTACHMENT_EXT
00254       ,STENCIL_ATTACHMENT          = GL_STENCIL_ATTACHMENT_EXT
00255       ,DEPTH_STENCIL_ATTACHMENT    = GL_DEPTH_STENCIL_ATTACHMENT
00256     };
00257
00258     enum {
00259        COLOR_BUFFER_BIT            = GL_COLOR_BUFFER_BIT
00260       ,DEPTH_BUFFER_BIT            = GL_DEPTH_BUFFER_BIT
00261       ,STENCIL_BUFFER_BIT          = GL_STENCIL_BUFFER_BIT
00262     };
00263
00264     enum {
00265        NEAREST                     = GL_NEAREST
00266       ,LINEAR                      = GL_LINEAR
00267     };
00268
00269     typedef unsigned int AttachmentTarget;
00270     typedef unsigned int BlitMask;
00271     typedef unsigned int BlitFilter;
00272
00273   protected:
00274     NVSG_API RenderTargetGLFBO( const SmartRenderContextGL &glContext );
00275   public:
00277     NVSG_API static nvutil::SmartPtr<RenderTargetGLFBO> create( const SmartRenderContextGL &glContext );
00278
00279     NVSG_API virtual ~RenderTargetGLFBO();
00280
00281     NVSG_API virtual nvsg::TextureHostSharedPtr getTextureHost( nvsg::Image::PixelFormat pixelFormat = nvsg::Image::IMG_BGR, nvsg::Image::PixelDataType = nvsg::Image::IMG_UNSIGNED_BYTE );
00282
00283     NVSG_API virtual bool isValid();
00284
00285     // Stereo API
00289     NVSG_API virtual void setStereoEnabled( bool stereoEnabled);
00290     NVSG_API virtual bool isStereoEnabled() const;
00291
00292     NVSG_API virtual bool setStereoTarget( StereoTarget target );
00293     NVSG_API virtual RenderTargetGL::StereoTarget getStereoTarget() const;
00294
00298     NVSG_API void clearAttachments( StereoTarget stereoTarget = RenderTargetGL::LEFT_AND_RIGHT );
00299
00306     NVSG_API bool setAttachment( AttachmentTarget target, const SmartAttachment &attachment, StereoTarget stereoTarget = RenderTargetGL::LEFT );
00307
00308     // convenience functions to set an attachment
00316     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL1DSharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int level = 0 );
00317
00325     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL2DSharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int level = 0 );
00326
00335     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL3DSharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int zoffset = 0, int level = 0 );
00336
00345     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL1DArraySharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int layer = 0, int level = 0 );
00346
00355     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL2DArraySharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int layer = 0, int level = 0 );
00356
00365     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGLCubemapSharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int face = 0, int level = 0 );
00366
00373     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGLRectangleSharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT );
00374
00381     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL2DMultisampleSharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT );
00382
00389     NVSG_API bool setAttachment( AttachmentTarget target, const TextureGL2DMultisampleArraySharedPtr &texture, StereoTarget stereoTarget = RenderTargetGL::LEFT, int layer = 0 );
00390
00397     NVSG_API bool setAttachment( AttachmentTarget target, const SmartRenderbufferGL &buffer, StereoTarget stereoTarget = RenderTargetGL::LEFT );
00398
00404     NVSG_API SmartAttachment getAttachment( AttachmentTarget target, StereoTarget stereoTarget = RenderTargetGL::LEFT );
00405
00409     NVSG_API void setDrawBuffers( const std::vector<GLenum> &drawBuffers );
00410
00414     NVSG_API void setReadBuffer( GLenum readBuffer );
00415
00416     struct BlitRegion
00417     {
00418       BlitRegion( int x, int y, int width, int height ) :
00419         x(x),y(y),width(width),height(height)
00420       {
00421       }
00422       BlitRegion() :
00423         x(0), y(0), width(0), height(0)
00424       {
00425       }
00426
00427       int x;
00428       int y;
00429       int width;
00430       int height;
00431     };
00432
00433
00434     NVSG_API void blit( const SmartRenderTargetGLFBO & destination, const BlitMask & mask = COLOR_BUFFER_BIT,
00435                         const BlitFilter & filter = NEAREST );
00436     NVSG_API void blit( const SmartRenderTargetGLFB & destination, const BlitMask & mask = COLOR_BUFFER_BIT,
00437                         const BlitFilter & filter = NEAREST );
00438     NVSG_API void blit( const SmartRenderTargetGLFBO & destination, const BlitMask & mask,
00439                         const BlitFilter & filter, const BlitRegion & destRegion,
00440                         const BlitRegion & srcRegion );
00441     NVSG_API void blit( const SmartRenderTargetGLFB & destination, const BlitMask & mask,
00442                         const BlitFilter & filter, const BlitRegion & destRegion,
00443                         const BlitRegion & srcRegion );
00444
00448     NVSG_API GLuint getFramebufferId( void ) const { return m_framebuffer; }
00449
00453     NVSG_API static bool isSupported();
00454
00458     NVSG_API static bool isMultiTargetSupported();
00459
00463     NVSG_API static bool isBlitSupported();
00464   protected:
00465     NVSG_API int getStereoTargetId( StereoTarget stereoTarget ) const; // 0 -> left eye/mono, 1 -> right eye, assert on LEFT_AND_RIGHT
00466
00467     NVSG_API void blit( const int & framebufferId, const BlitMask & mask, const BlitFilter & filter,
00468                         const BlitRegion & destRegion, const BlitRegion & srcRegion );
00469
00470     NVSG_API virtual void makeCurrent();
00471     NVSG_API virtual void makeNoncurrent();
00472
00473     NVSG_API void bindAttachments( StereoTarget stereoTarget );
00474     NVSG_API void resizeAttachments( StereoTarget stereoTarget );
00475     NVSG_API bool isFramebufferComplete();
00476
00477     GLuint m_framebuffer;
00478
00479     std::vector<GLenum> m_drawBuffers;
00480     GLenum              m_readBuffer;
00481     std::vector<GLint> m_bindingStack;
00482
00483     typedef std::map<GLenum,SmartAttachment> AttachmentMap;
00484
00485     AttachmentMap m_attachments[2]; //<! left/right eye attachments
00486     AttachmentMap m_attachmentChanges[2];
00487
00488     // Stereo API
00489     bool         m_stereoEnabled;
00490     StereoTarget m_stereoTarget;
00491     int          m_currentlyBoundAttachments;
00492   };
00493 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: Resource.h Source File

inc / nvsg / nvsg

Resource.h

00001 // Copyright NVIDIA Corporation 2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvutil/RCObject.h>
00015
00016 namespace nvsg
00017 {
00018   class Resource;
00019   typedef nvutil::SmartPtr<Resource> ResourceSharedPtr;
00020   class Resource : public nvutil::RCObject
00021   {
00022   protected:
00023     Resource()
00024     {}
00025
00026   public:
00027     static ResourceSharedPtr create()
00028     {
00029       return new Resource;
00030     }
00031   };
00032 } // namespace nvsg
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RTFx.h Source File

inc / nvsg / nvsg

RTFx.h

00001 // Copyright NVIDIA Corporation 2005-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013 /* @file */
00014 #include "nvsg/CoreTypes.h"
00015 #include "nvsg/RTFxProgram.h"
00016 #include "nvsg/StateAttribute.h"
00017 #include "nvsg/SceneAttribute.h"
00018 #include "nvsg/TextureAttribute.h"
00019 #include "nvutil/HashGenerator.h"
00020 #include <vector>
00021 #include <set>
00022 #include <map>
00023
00024 class RTFxParser;
00025
00026 namespace nvtraverser
00027 {
00028   class RTTraverser;
00029 }
00030
00031 namespace nvsg
00032 {
00036   class RTFxBase
00037   {
00038   public:
00040     typedef std::vector<RTFxParameter>                                          ParameterContainer;
00041
00043     typedef nvutil::SceniXIterator<RTFxBase,ParameterContainer::iterator>       ParameterIterator;
00044
00046     typedef nvutil::SceniXIterator<RTFxBase,ParameterContainer::const_iterator> ParameterConstIterator;
00047
00048   public:
00051     NVSG_API RTFxBase();
00052     NVSG_API RTFxBase(const RTFxBase & rhs);
00053
00056     NVSG_API virtual ~RTFxBase();
00057
00066     NVSG_API RTFxBase& operator=(const RTFxBase& rhs);
00067
00084     NVSG_API virtual bool isSameAs(const RTFxBase *object, bool ignoreNames, bool deepCompare) const;
00085
00092     NVSG_API virtual const nvsg::RTFxProgramSharedPtr & getProgram() const = 0;
00093
00094     /*  \brief Get the number of parameters in this object.
00095      *  \return The number of parameters in this object.
00096      *  \sa beginParameters, endParameters, addParameter, removeParameter, clearParameters, findParameter */
00097     NVSG_API unsigned int getNumberOfParameters() const;
00098
00102     NVSG_API ParameterConstIterator beginParameters() const;
00103
00107     NVSG_API ParameterIterator beginParameters();
00108
00112     NVSG_API ParameterConstIterator endParameters() const;
00113
00117     NVSG_API ParameterIterator endParameters();
00118
00133     NVSG_API ParameterIterator addParameter( const std::string & name, unsigned char type, unsigned int count
00134                                            , unsigned int size = 0, const std::string & semantic = std::string()
00135                                            , const std::vector< RTFxParameter::Annotation > & annotations = std::vector< RTFxParameter::Annotation >() );
00136
00141     NVSG_API bool removeParameter( const std::string & name );
00142
00148     NVSG_API ParameterIterator removeParameter( const ParameterIterator & pi );
00149
00152     NVSG_API void clearParameters();
00153
00154     /*  \brief Find a specified parameter in this object.
00155      *  \param name The name of the parameter to find.
00156      *  \return A const iteator to the found parameter in this object.
00157      *  \sa getNumberOfParameters, beginParameters, endParameters, addParameter, removeParameter, clearParameters */
00158     NVSG_API ParameterConstIterator findParameter( const std::string & name ) const;
00159
00160     /*  \brief Find a specified parameter in this object.
00161      *  \param name The name of the parameter to find.
00162      *  \return An iterator to the found parameter in this object.
00163      *  \sa getNumberOfParameters, beginParameters, endParameters, addParameter, removeParameter, clearParameters */
00164     NVSG_API ParameterIterator findParameter( const std::string & name );
00165
00194     NVSG_API ParameterIterator cloneProgramParameter( const std::string & name );
00195
00204     NVSG_API void setParameterValue( const ParameterIterator & pi, const char * c );
00205
00214     NVSG_API void setParameterValue( const ParameterIterator & pi, const unsigned char * uc );
00215
00224     NVSG_API void setParameterValue( const ParameterIterator & pi, const short * s );
00225
00234     NVSG_API void setParameterValue( const ParameterIterator & pi, const unsigned short * us );
00235
00244     NVSG_API void setParameterValue( const ParameterIterator & pi, const int * i );
00245
00254     NVSG_API void setParameterValue( const ParameterIterator & pi, const unsigned int * ui );
00255
00264     NVSG_API void setParameterValue( const ParameterIterator & pi, const float * f);
00265
00274     NVSG_API void setParameterValue( const ParameterIterator & pi, const double * d);
00275
00280     NVSG_API void setParameterValue( const ParameterIterator & pi, const void * v );
00281
00283     NVSG_API void setParameterValue( const ParameterIterator & pi, const RTBufferAttributeSharedPtr & buffer );
00284
00286     NVSG_API void setParameterValue( const ParameterIterator & pi, const TextureAttributeItemSharedPtr & tex );
00287
00288   protected:
00289     NVSG_API virtual void onParameterValueChanged() = 0;
00290     NVSG_API virtual void resetToDefaults();
00291     NVSG_API virtual void setProgram( const RTFxProgramSharedPtr & program ) = 0;
00292     NVSG_API void initFromProgram( const RTFxProgramSharedPtr & prgHdl );
00293
00297     NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00298
00299   private:
00300     nvsg::TextureAttributeItemSharedPtr loadTexture( const std::string & fileName, const std::vector<std::string> & searchPaths );
00301
00302   private:
00303     ParameterContainer  m_parameters;
00304   };
00305
00309   class RTFx : public StateAttribute, public RTFxBase
00310   {
00311     public:
00312       NVSG_API static RTFxSharedPtr create();
00313
00314     public:
00315       NVSG_API RTFx& operator=(const RTFx& rhs);
00316       NVSG_API virtual bool isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const;
00317       NVSG_API virtual bool isDataShared() const;
00318       NVSG_API virtual DataID getDataID() const;
00319
00320       NVSG_API virtual void resetToDefaults();
00321       NVSG_API virtual void setProgram( const RTFxProgramSharedPtr & program );
00322       NVSG_API virtual const RTFxProgramSharedPtr & getProgram() const;
00323       NVSG_API virtual void onParameterValueChanged();
00324
00325       REFLECTION_INFO_API( NVSG_API, RTFx );
00326     protected:
00327       friend struct nvutil::Holder<RTFx>;
00328
00329       NVSG_API RTFx();
00330       NVSG_API RTFx(const RTFx & rhs);
00331       NVSG_API virtual ~RTFx();
00335       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00336
00337     private:
00338       // Can't have m_program in RTFxBase due to ownership handling, that needs to be done in from inside an Object
00339       RTFxProgramSharedPtr  m_program;
00340   };
00341
00345   class RTFxSceneAttribute : public SceneAttribute, public RTFxBase
00346   {
00347     public:
00348       NVSG_API static RTFxSceneAttributeSharedPtr create();
00349
00350     public:
00351       NVSG_API RTFxSceneAttribute& operator=(const RTFxSceneAttribute& rhs);
00352       NVSG_API virtual bool isEquivalent(const Object *object, bool ignoreNames, bool deepCompare) const;
00353       NVSG_API virtual bool isDataShared() const;
00354       NVSG_API virtual DataID getDataID() const;
00355
00356       NVSG_API virtual void resetToDefaults();
00357       NVSG_API virtual void setProgram( const RTFxProgramSharedPtr & program );
00358       NVSG_API virtual const RTFxProgramSharedPtr & getProgram() const;
00359       NVSG_API virtual void onParameterValueChanged();
00360
00361       REFLECTION_INFO_API( NVSG_API, RTFxSceneAttribute );
00362     protected:
00363       friend struct nvutil::Holder<RTFxSceneAttribute>;
00364
00365       NVSG_API RTFxSceneAttribute();
00366       NVSG_API RTFxSceneAttribute(const RTFxSceneAttribute & rhs);
00367       NVSG_API virtual ~RTFxSceneAttribute();
00368
00369     private:
00370       // Can't have m_program in RTFxBase due to ownership handling, that needs to be done in from inside an Object
00371       RTFxProgramSharedPtr  m_program;
00372   };
00373
00374 } // namespace nvsg
00375
00376 namespace nvutil
00377 {
00378   template<>
00379   struct ObjectTraits<nvsg::RTFxBase>
00380   {
00381     typedef nvsg::RTFxBase  ObjectType;
00382   };
00383
00384 }
00385
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RTFxBuilder.h Source File

src / Loader / DAELoader

RTFxBuilder.h

00001
00002 // Copyright NVIDIA Corporation 2002-2009
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // RTFxBuilder.h
00016 //
00017
00018 #pragma once
00019
00020 #include <string>
00021 #include <vector>
00022 #include "ShaderBuilder.h"
00023 #include <nvsg/CoreTypes.h>
00024
00025 class RTFxBuilder : public ShaderBuilder
00026 {
00027   public:
00028     RTFxBuilder();
00029     ~RTFxBuilder();
00030
00031     std::string buildShader( ShaderState & state, bool optimizeShader );
00032
00033   protected:
00034     void setParameters();
00035     nvsg::TextureAttributeItemSharedPtr getTextureForComponent( const Component & component );
00036
00037   private:
00038     ShaderState m_state;
00039     nvsg::RTBufferAttributeWeakPtr m_rtBufferAttributeHdl;
00040     nvsg::RTFxSharedPtr m_rtfx;
00041 };
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: RTFxProgram.h Source File

inc / nvsg / nvsg

RTFxProgram.h

00001 // Copyright NVIDIA Corporation 2009-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013 /* @file */
00014
00015 #include "nvsg/OwnedObject.h"
00016 #include "nvsg/TextureAttribute.h"
00017 #include "nvutil/HashGenerator.h"
00018 #include "nvutil/SmartPtr.h"
00019 #include <map>
00020
00021 class RTFxParser;   // forward declaration of an internally used class.
00022
00023 namespace nvsg
00024 {
00025   class RTFxBase;
00026
00027   class RTFxParameter
00028   {
00029     friend class RTFxProgram;
00030     friend class RTFxBase;
00031
00032     public:
00033       // enum value for parameter types besides the standard scalar values
00034       // note - must be named, or can't be used in checked_cast<>
00035       enum AdditionalTypes
00036       {
00037         PT_BUFFER           = 0x80,
00038         PT_OBJECT,
00039         PT_TEXTURE_SAMPLER,
00040         PT_USER_DATA,
00041         PT_BOOL
00042       };
00043
00044       struct Annotation
00045       {
00046         std::string type;
00047         std::string name;
00048         std::string value;
00049         NVSG_API bool operator==( const Annotation & rhs ) const;
00050       };
00051
00052     public:
00053       NVSG_API RTFxParameter();
00062       NVSG_API RTFxParameter( const std::string & name, unsigned char type, unsigned char count, unsigned int size );
00063       NVSG_API RTFxParameter( const RTFxParameter & rhs );
00064       NVSG_API ~RTFxParameter();
00065
00066       NVSG_API RTFxParameter & operator=( const RTFxParameter & rhs );
00067       NVSG_API bool operator==( const RTFxParameter & rhs ) const;
00068
00069       NVSG_API const std::string & getName() const;
00071       NVSG_API unsigned char getType() const;
00076       NVSG_API unsigned char  getCount() const;
00081       NVSG_API unsigned int  getSize() const;
00082
00088       NVSG_API void getValue( void * v ) const;
00089
00095       NVSG_API void setValue( const void * v );
00096
00103       NVSG_API void getValue( char * c ) const;
00104
00111       NVSG_API void setValue( const char * c );
00112
00119       NVSG_API void getValue( unsigned char * uc ) const;
00120
00127       NVSG_API void setValue( const unsigned char * uc );
00128
00135       NVSG_API void getValue( short * s ) const;
00136
00143       NVSG_API void setValue( const short * s );
00144
00151       NVSG_API void getValue( unsigned short * us ) const;
00152
00159       NVSG_API void setValue( const unsigned short * us );
00160
00167       NVSG_API void getValue( int * i ) const;
00168
00175       NVSG_API void setValue( const int * i );
00176
00183       NVSG_API void getValue( unsigned int * ui ) const;
00184
00191       NVSG_API void setValue( const unsigned int * ui );
00192
00199       NVSG_API void getValue( float * f ) const;
00200
00207       NVSG_API void setValue( const float * f );
00208
00215       NVSG_API void getValue( double * d ) const;
00216
00223       NVSG_API void setValue( const double * d );
00224
00230       NVSG_API void getValue( RTBufferAttributeSharedPtr & buffer ) const;
00231
00237       NVSG_API void setValue( const RTBufferAttributeSharedPtr & buffer );
00238
00244       NVSG_API void getValue( TextureAttributeItemSharedPtr & tex ) const;
00245
00251       NVSG_API void setValue( const TextureAttributeItemSharedPtr & tex );
00252
00257       NVSG_API const void * getValue() const;
00258
00262       NVSG_API unsigned int getNumberOfAnnotations() const;
00263
00270       NVSG_API bool getAnnotation( unsigned int index, Annotation & result ) const;
00271
00278       NVSG_API bool getAnnotation( const std::string & name, Annotation & result ) const;
00279
00283       NVSG_API const std::vector<Annotation> & getAnnotations() const;
00284
00290       NVSG_API bool getSemantic( std::string & result ) const;
00291       NVSG_API const std::string & getSemantic() const;
00292
00297       NVSG_API static bool stringToParameterDescription( const std::string & str, unsigned char & type, unsigned char & count );
00298
00303       NVSG_API const std::string & getParameterTypeName() const;
00304
00311       NVSG_API HashKey getHashKey() const;
00312
00313   protected:
00317       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00318
00319     private:
00320       NVSG_API void addAnnotation( const Annotation & anno );
00321
00322       // Note: the type is specified by the variable of the same name in the associated RTFxProgram !!
00323       std::string                   m_name;        // name of parameter
00324       unsigned char                 m_type;        // type of the parameter in m_data
00325       unsigned char                 m_count;       // number of elements in m_data
00326       std::vector<unsigned char>    m_data;        // the data buffer for a single parameter
00327       RTBufferAttributeSharedPtr    m_buffer;      // buffer parameter
00328       TextureAttributeItemSharedPtr m_texture;     // texture parameter
00329       std::vector<Annotation>       m_annotations; // variable's annotations
00330       std::string                   m_semantic;    // variable's annotations
00331       std::string                   m_typeName;    // variable's type string
00332
00333       nvutil::SWMRSync              m_lock;        // helps managing exclusive access to mutable members while reading the object
00334       mutable HashKey               m_hashKey;
00335       mutable bool                  m_hashKeyValid;
00336   };
00337
00338   inline const std::vector< RTFxParameter::Annotation > & RTFxParameter::getAnnotations() const
00339   {
00340     return m_annotations;
00341   }
00342
00343   inline unsigned int RTFxParameter::getNumberOfAnnotations() const
00344   {
00345     return checked_cast< unsigned int >( m_annotations.size() );
00346   }
00347
00348   inline void RTFxParameter::addAnnotation( const Annotation & anno )
00349   {
00350     m_annotations.push_back( anno );
00351   }
00352
00353   inline bool RTFxParameter::getAnnotation( unsigned int index, Annotation & anno ) const
00354   {
00355     if( index < m_annotations.size() )
00356     {
00357       anno = m_annotations[index];
00358       return true;
00359     }
00360
00361     return false;
00362   }
00363
00364   inline bool RTFxParameter::getAnnotation( const std::string & name, Annotation & anno ) const
00365   {
00366     for( size_t i = 0; i < m_annotations.size(); i++ )
00367     {
00368       if( m_annotations[i].name == name )
00369       {
00370         anno = m_annotations[i];
00371         return true;
00372       }
00373     }
00374
00375     return false;
00376   }
00377
00378   inline bool RTFxParameter::getSemantic( std::string & result ) const
00379   {
00380     result = m_semantic;
00381     return !m_semantic.empty();
00382   }
00383
00384   inline const std::string & RTFxParameter::getSemantic() const
00385   {
00386     return m_semantic;
00387   }
00388
00395   NVSG_API bool stringToParameterDescription( const std::string & str
00396                                             , unsigned char & type
00397                                             , unsigned char & count );
00398
00399   class RTFxProgram : public OwnedObject<Object>
00400   {
00401     friend class Object;
00402
00403     public:
00404       NVSG_API static RTFxProgramSharedPtr create();
00405
00406     public:
00407       typedef enum
00408       {
00409         FT_UNKNOWN,
00410         FT_RTFX
00411       } FileType;
00412
00413       typedef enum
00414       {
00415         PF_UNKNOWN,
00416         PF_CUDA,
00417         PF_PTX
00418       } ProgramFormat;
00419
00420       typedef enum
00421       {
00422         PT_ANY_HIT,
00423         PT_BOUNDING_BOX,
00424         PT_CLOSEST_HIT,
00425         PT_EXCEPTION,
00426         PT_INTERSECTION,
00427         PT_MISS,
00428         PT_RAY_GENERATION
00429       } ProgramType;
00430
00431       typedef enum
00432       {
00433         TF_FLOAT3,
00434         TF_FLOAT4
00435       } TextureFormat;
00436
00437       struct WrapModes
00438       {
00439         nvsg::TextureWrapMode wrapS;
00440         nvsg::TextureWrapMode wrapT;
00441         nvsg::TextureWrapMode wrapR;
00442         bool operator==( const WrapModes & rhs ) const;
00443       };
00444
00445       typedef enum
00446       {
00447         TMF_MIP_NONE,       // no mipmapping
00448         TMF_MIP_NEAREST,    // nearest
00449         TMF_MIP_LINEAR      // linear
00450       } TextureMipFilterMode;
00451
00452       typedef enum
00453       {
00454         TRM_FLOAT,          // read floats or normalized floats
00455         TRM_INTEGER         // read integers
00456       } TextureReadMode;
00457
00458       struct FilterModes
00459       {
00460         nvsg::TextureMinFilterMode minFilter;
00461         nvsg::TextureMagFilterMode magFilter;
00462         TextureMipFilterMode       mipFilter;   // mip not really supported yet
00463         bool operator==( const FilterModes & rhs ) const;
00464       };
00465
00469       typedef std::vector<std::pair<RTFxParameter,bool> >                             ParameterContainer;
00470
00472       typedef nvutil::SceniXIterator<RTFxProgram,ParameterContainer::iterator>        ParameterIterator;
00473
00475       typedef nvutil::SceniXIterator<RTFxProgram,ParameterContainer::const_iterator>  ParameterConstIterator;
00476
00477     public:
00478       NVSG_API RTFxProgram & operator=( const RTFxProgram & rhs );
00479       NVSG_API virtual bool isEquivalent( const Object * p, bool ignoreNames, bool deepCompare ) const;
00480
00483       NVSG_API const std::vector<std::string> & getSearchPaths() const;
00484
00488       NVSG_API unsigned int getNumberOfRayTypes() const;
00489
00495       NVSG_API unsigned int getRayType( unsigned int index ) const;
00496
00502       NVSG_API bool usesRayType( unsigned int rayType ) const;
00503
00507       NVSG_API unsigned int getNumberOfEntryPointIndices() const;
00508
00514       NVSG_API unsigned int getEntryPointIndex( unsigned int index ) const;
00515
00521       NVSG_API bool usesEntryPointIndex( unsigned int entryPoint ) const;
00522
00529       NVSG_API const std::string & getProgramEntryPoint( unsigned int index, ProgramType programType ) const;
00530
00534       NVSG_API ProgramFormat getProgramFormat() const;
00535
00539       NVSG_API const std::string & getProgramString() const;
00540
00544       NVSG_API const std::string & getTechniqueString() const;
00545
00549       NVSG_API unsigned int getNumberOfTextures() const;
00550
00556       NVSG_API TextureFormat getTextureFormat( unsigned int index ) const;
00557
00562       NVSG_API nvsg::TextureTarget getTextureTarget( unsigned int index ) const;
00563
00568       NVSG_API RTFxProgram::TextureReadMode getTextureReadMode( unsigned int index ) const;
00569
00574       NVSG_API const RTFxProgram::FilterModes & getTextureFilterModes( unsigned int index ) const;
00575
00580       NVSG_API const RTFxProgram::WrapModes & getTextureWrapModes( unsigned int index ) const;
00581
00586       NVSG_API const std::string & getTextureSamplerName( unsigned int index ) const;
00587
00592       NVSG_API const std::string & getTextureFileName( unsigned int index ) const;
00593
00594       /*  \brief Get the number of parameters in this RTFxProgram.
00595        *  \return The number of parameters in this RTFxProgram.
00596        *  \sa beginParameters, endParameters, findParameter */
00597       NVSG_API unsigned int getNumberOfParameters() const;
00598
00602       NVSG_API ParameterConstIterator beginParameters() const;
00603
00607       NVSG_API ParameterIterator beginParameters();
00608
00612       NVSG_API ParameterConstIterator endParameters() const;
00613
00617       NVSG_API ParameterIterator endParameters();
00618
00619       /*  \brief Find a specified parameter in this RTFxProgram.
00620        *  \param name The name of the parameter to find.
00621        *  \return A const iteator to the found parameter in this RTFxProgram.
00622        *  \sa getNumberOfParameters, beginParameters, endParameters */
00623       NVSG_API ParameterConstIterator findParameter( const std::string & name ) const;
00624
00625       /*  \brief Find a specified parameter in this RTFxProgram.
00626        *  \param name The name of the parameter to find.
00627        *  \return An iterator to the found parameter in this RTFxProgram.
00628        *  \sa getNumberOfParameters, beginParameters, endParameters */
00629       NVSG_API ParameterIterator findParameter( const std::string & name );
00630
00640       NVSG_API bool isFromFile() const;
00641
00651       NVSG_API bool isFromLump() const;
00652
00657       NVSG_API const std::string & getFileName() const;
00658
00663       NVSG_API const std::string & getSourceCode() const;
00664
00679       static NVSG_API RTFxProgramSharedPtr createFromFile( const std::string & file,
00680                                                            const std::vector< std::string > & searchPaths,
00681                                                            const std::vector< std::string > & compargs,
00682                                                            std::string & errorReturn );
00683
00700       static NVSG_API RTFxProgramSharedPtr createFromLump( const std::string & lump,
00701                                                            const std::vector< std::string > & searchPaths,
00702                                                            const std::vector< std::string > & compargs,
00703                                                            std::string & errorReturn,
00704                                                            FileType filetype = FT_RTFX );
00705
00706       REFLECTION_INFO_API( NVSG_API, RTFxProgram );
00707     protected:
00708       friend struct nvutil::Holder<RTFxProgram>;
00709
00710       NVSG_API RTFxProgram();
00711       NVSG_API RTFxProgram( const RTFxProgram & rhs );
00712       NVSG_API virtual ~RTFxProgram();
00713
00717       NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00718
00719     private:
00720       NVSG_API void constructProgram( RTFxParser * parser );
00721       NVSG_API bool createFromFile( const std::string & file, const std::vector<std::string> & args, std::string & errorReturn );
00722       NVSG_API bool createFromLump( const std::string & lump, const std::vector<std::string> & args, std::string & errorReturn, FileType filetype = FT_RTFX );
00723       NVSG_API void setSearchPaths( const std::vector<std::string> & paths );
00724       NVSG_API void decomposeAnnotations( RTFxParameter & param, const std::string & annos );
00725
00726     private:
00727       struct TextureEntry
00728       {
00729         std::string   file;                   // file containing texture
00730         TextureFormat format;                 // format of the buffer for texture conversion; currently ignored !
00731         std::string   samplerName;            // name of sampler in code to assign bits to
00732         FilterModes   filterModes;
00733         WrapModes     wrapModes;
00734         nvsg::TextureTarget target;           // target: 2D, RECT, etc
00735         TextureReadMode readMode;             // how to interpret the data from the texture map
00736         bool operator==( const TextureEntry & rhs ) const;
00737       };
00738
00739       struct ProgramSet
00740       {
00741         std::string names[PT_RAY_GENERATION+1];   // number of program types
00742         bool operator==( const ProgramSet & rhs ) const;
00743       };
00744
00745     private:
00746       std::string                                 m_effectFile;
00747       std::string                                 m_effectSource;
00748       ParameterContainer                          m_parameters;
00749       std::map<unsigned int, ProgramSet>          m_programEntryPoints;
00750       ProgramFormat                               m_programFormat;
00751       std::string                                 m_programString;
00752       std::string                                 m_techniqueString;
00753       std::vector<unsigned int>                   m_rayTypes;   // just a helper for book-keeping and iteration
00754       std::vector<unsigned int>                   m_entryPointIndices; // ditto
00755       std::vector<std::string>                    m_searchPaths;
00756       std::vector<TextureEntry>                   m_textures;
00757       typedef std::map< std::string, nvsg::RTFxProgramSharedPtr > CacheMap;
00758   };
00759
00760 }
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: stdafx.h Source File

src / Saver / NBFSaver

Saver/NBFSaver/stdafx.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 // stdafx.h : include file for standard system include files,
00013 // or project specific include files that are used frequently, but
00014 // are changed infrequently
00015 //
00016
00017 #pragma once
00018
00019
00020 #if defined(_WIN32)
00021 #define WIN32_LEAN_AND_MEAN   // Exclude rarely-used stuff from Windows headers
00022 // Windows Header Files:
00023 #include <windows.h>
00024 #endif
00025
00026 #include "nvsg/nvsgapi.h" // NVSG storage-class defines
00027 #include "nvsg/NVSGVersion.h" // NVSG version info
00028
00029 #include "nvutil/Assert.h"
00030 #include "nvutil/Trace.h"
00031 #include "nvutil/Tools.h"
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: SceneRenderer.h Source File

inc / nvsg / nvui

SceneRenderer.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvui/Renderer.h>
00015
00016 namespace nvui
00017 {
00018
00025   class SceneRenderer : public Renderer
00026   {
00027   protected:
00029     NVSG_API SceneRenderer( const SmartRenderTarget &renderTarget = SmartRenderTarget() );
00030   public:
00034     class StereoViewStateProvider : public RCObject
00035     {
00036     public:
00042       NVSG_API nvsg::ViewStateSharedPtr getViewState( const nvsg::ViewStateSharedPtr &viewState, nvui::RenderTarget::StereoTarget eye );
00043     protected:
00049       NVSG_API virtual nvsg::ViewStateSharedPtr calculateViewState( const nvsg::ViewStateSharedPtr &viewState, nvui::RenderTarget::StereoTarget eye ) = 0;
00050     };
00051
00057     NVSG_API void setViewState( const nvsg::ViewStateSharedPtr &viewState );
00058
00062     NVSG_API const nvsg::ViewStateSharedPtr & getViewState( ) const;
00063
00077     NVSG_API void setTraversalMaskOverride( unsigned int mask );
00078
00082     NVSG_API unsigned int getTraversalMaskOverride() const;
00083
00087     NVSG_API void setStereoViewStateProvider( const nvutil::SmartPtr<StereoViewStateProvider> &viewStateProvider );
00088     NVSG_API nvutil::SmartPtr<StereoViewStateProvider> getStereoViewStateProvider() const;
00089
00094     NVSG_API void render( const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget = SmartRenderTarget(), RenderTarget::StereoTarget stereoTarget = RenderTarget::LEFT_AND_RIGHT );
00095
00100     NVSG_API virtual void addRendererOptions( const RendererOptionsSharedPtr &rendererOptions );
00101
00102     REFLECTION_INFO_API( NVSG_API, SceneRenderer );
00103     BEGIN_DECLARE_STATIC_PROPERTIES
00104       NVSG_API DECLARE_STATIC_PROPERTY( PreserveTexturesAfterUpload );
00105       NVSG_API DECLARE_STATIC_PROPERTY( TraversalMaskOverride );
00106     END_DECLARE_STATIC_PROPERTIES
00107
00108     using Renderer::render;
00109   protected:
00110     // preserve interface should be set using Reflection
00111     NVSG_API bool isPreserveTexturesAfterUpload() const;
00112     NVSG_API void setPreserveTexturesAfterUpload( bool onOff );
00113
00114     NVSG_API virtual void beginRendering( const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget );
00115     NVSG_API virtual void endRendering( const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget );
00116
00117     NVSG_API virtual void doRender( const SmartRenderTarget &renderTarget );
00118
00123     NVSG_API virtual void doRender( const nvsg::ViewStateSharedPtr &viewState, const SmartRenderTarget &renderTarget ) = 0;
00124
00125     NVSG_API virtual void renderMapList( const nvsg::MapListSharedPtr& mapList, const SmartRenderTarget &renderTarget );
00126     NVSG_API virtual void beginRenderMapList( const nvsg::MapListSharedPtr& mapList, const SmartRenderTarget &renderTarget );
00127     NVSG_API virtual void endRenderMapList( const nvsg::MapListSharedPtr& mapList, const SmartRenderTarget &renderTarget );
00128
00129     NVSG_API virtual void renderMapElement( const nvsg::MapElementSharedPtr& mapElement, const SmartRenderTarget &renderTarget );
00130     NVSG_API virtual void renderMapArray( const nvsg::MapArraySharedPtr& mapArray, const SmartRenderTarget &renderTarget );
00131     NVSG_API virtual void renderMapMatrix( const nvsg::MapMatrixSharedPtr& mapMatrix, const SmartRenderTarget &renderTarget );
00132     NVSG_API virtual void renderMapObject( const nvsg::MapObjectSharedPtr& mapObject, const SmartRenderTarget &renderTarget );
00133
00134   protected:
00135     nvsg::SceneSharedPtr          m_scene;
00136     nvsg::ViewStateSharedPtr      m_viewState;
00137     bool                          m_preserveTexturesAfterUpload;
00138     nvui::RendererOptionsWeakPtr  m_rendererOptions;
00139
00140   private:
00141     nvutil::SmartPtr<StereoViewStateProvider> m_stereoViewStateProvider;
00142     unsigned int m_traversalMaskOverride;
00143   };
00144
00145   inline bool SceneRenderer::isPreserveTexturesAfterUpload() const
00146   {
00147     return m_preserveTexturesAfterUpload;
00148   }
00149
00150   inline void SceneRenderer::setPreserveTexturesAfterUpload( bool onOff )
00151   {
00152     if ( m_preserveTexturesAfterUpload != onOff )
00153     {
00154       m_preserveTexturesAfterUpload = onOff;
00155       notify( PID_PreserveTexturesAfterUpload );
00156     }
00157   }
00158
00159   inline unsigned int SceneRenderer::getTraversalMaskOverride() const
00160   {
00161     return m_traversalMaskOverride;
00162   }
00163
00164   inline void SceneRenderer::setTraversalMaskOverride( unsigned int mask )
00165   {
00166     if ( m_traversalMaskOverride != mask )
00167     {
00168       m_traversalMaskOverride = mask;
00169       notify( PID_TraversalMaskOverride );
00170     }
00171   }
00172
00173   inline void SceneRenderer::setStereoViewStateProvider( const nvutil::SmartPtr<SceneRenderer::StereoViewStateProvider> &viewStateProvider )
00174   {
00175     m_stereoViewStateProvider = viewStateProvider;
00176   }
00177
00178   inline nvutil::SmartPtr<SceneRenderer::StereoViewStateProvider> SceneRenderer::getStereoViewStateProvider( ) const
00179   {
00180     return m_stereoViewStateProvider;
00181   }
00182
00183   typedef nvutil::SmartPtr<SceneRenderer> SmartSceneRenderer;
00184
00185 } // namespace nvui
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: SceneRendererGL2.h Source File

inc / nvsg / nvgl

SceneRendererGL2.h

00001 // Copyright NVIDIA Corporation 2010-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvui/SceneRenderer.h>
00015
00016 #include <nvgl/RenderTargetGL.h>
00017 #include <nvgl/GLObjectRenderer.h>
00018 #include <nvgl/GLRenderListProcessor.h>
00019 #include <nvsg/RenderList2.h>
00020 #include <nvutil/Reflection.h>
00021 #include <nvutil/SmartPtr.h>
00022
00023 namespace nvgl
00024 {
00032   class SceneRendererGL2 : public nvui::SceneRenderer
00033   {
00034   protected:
00035     NVSG_API SceneRendererGL2( const SmartRenderTargetGL &renderTargetGL = SmartRenderTargetGL() );
00036     NVSG_API virtual ~SceneRendererGL2();
00037
00038   public:
00043     NVSG_API static nvutil::SmartPtr<SceneRendererGL2> create( const SmartRenderTargetGL &renderTargetGL = SmartRenderTargetGL() );
00044
00048     NVSG_API virtual void addRendererOptions( const nvui::RendererOptionsSharedPtr &rendererOptions );
00049
00050     /*** RendererOptions ***/
00051
00056     NVSG_API static const std::string& getOptionStringCacheMode();
00057
00062     NVSG_API static const std::string& getOptionStringFaceCullMode();
00063
00068     NVSG_API static const std::string& getOptionStringLightModelLocalViewer();
00069
00074     NVSG_API static const std::string& getOptionStringLightModelTwoSide();
00075
00080     NVSG_API static const std::string& getOptionStringSeparateSpecularColor();
00081
00082
00087     NVSG_API static const std::string& getOptionStringTransparencyDepthMask();
00088
00093     NVSG_API static const std::string& getOptionStringFrustumCulling();
00094
00099     NVSG_API static const std::string& getOptionStringSizeCulling();
00100
00105     NVSG_API static const std::string& getOptionStringSizeCullingFactor();
00106
00111     NVSG_API static const std::string& getOptionStringRenderModeGroup();
00112
00117     NVSG_API static const std::string& getOptionStringTraversalMaskOverride();
00118
00123     NVSG_API static const std::string& getOptionStringTessellationEnabled();
00124
00129     NVSG_API static const std::string& getOptionStringPolygonMode();
00130
00135     NVSG_API static const std::string& getOptionStringRenderTechnique();
00136
00141     NVSG_API static const std::string& getOptionStringPreserveTexturesAfterUpload();
00142
00143   protected:
00147     NVSG_API void deletePrimitiveCaches();
00148
00149     NVSG_API virtual void beginRendering( const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget );
00150     NVSG_API virtual void endRendering( const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget );
00151
00152     NVSG_API virtual void doRender( const nvsg::ViewStateSharedPtr &viewState, const nvui::SmartRenderTarget &renderTarget );
00153
00154     NVSG_API virtual void beginRenderMapList( const nvsg::MapListSharedPtr& mapList, const nvui::SmartRenderTarget &renderTarget );
00155     NVSG_API virtual void endRenderMapList( const nvsg::MapListSharedPtr& mapList, const nvui::SmartRenderTarget &renderTarget );
00156
00157     NVSG_API virtual void renderMapElement( const nvsg::MapElementSharedPtr& mapElement, const nvui::SmartRenderTarget &renderTarget );
00158     NVSG_API virtual void renderMapArray( const nvsg::MapArraySharedPtr& mapArray, const nvui::SmartRenderTarget &renderTarget );
00159     NVSG_API virtual void renderMapMatrix( const nvsg::MapMatrixSharedPtr& mapMatrix, const nvui::SmartRenderTarget &renderTarget );
00160
00161   private:
00162     // helper function for map object rendering
00163     void drawImage( int x, int y, const nvsg::TextureHostSharedPtr & tih );
00164
00165   private:
00166     // renderer info
00167     nvsg::NodeWeakPtr                    m_lastRoot;
00168     nvsg::RenderList2SharedPtr           m_renderList;
00169     nvgl::GLObjectRendererSharedPtr      m_objectRenderer;
00170     nvgl::GLRenderListProcessorSharedPtr m_renderListProcessor;
00171
00172     GLObjectRenderer::CacheMode          m_lastCacheMode;
00173
00174     nvgl::SmartRenderContextGL           m_userRenderContextGL;     // RenderContextGL provided by the user in the first render call
00175   };
00176
00177   typedef nvutil::SmartPtr<SceneRendererGL2> SmartSceneRendererGL2;
00178
00179 }  // namespace nvgl
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ShaderBuilder.h Source File

src / Loader / DAELoader

ShaderBuilder.h

00001
00002 // Copyright NVIDIA Corporation 2002-2007
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // ShaderBuilder.h
00016 //
00017
00018 #pragma once
00019
00020 #include <vector>
00021 #include <string>
00022 #include <stdarg.h>
00023 #include "nvsg/CoreTypes.h"
00024
00025 enum ComponentType
00026 {
00027   AMBIENT      = (1<<0),
00028   DIFFUSE      = (1<<1),
00029   SPECULAR     = (1<<2),
00030   EMISSIVE     = (1<<3),
00031   CTRANSPARENT = (1<<4),
00032   CREFLECTIVE  = (1<<5),
00033   CIOR         = (1<<6),
00034   CFOG         = (1<<7),
00035   CBUMP        = (1<<8),
00036   CSHADOW      = (1<<9),
00037   CTWOSIDED    = (1<<10)
00038 };
00039
00040 enum LightingType
00041 {
00042   BLINN,
00043   PHONG,
00044   CONSTANT,
00045   LAMBERT
00046 };
00047
00048 struct Component
00049 {
00050   ComponentType type;
00051   bool isTexture;
00052   std::string textureFile;
00053   std::string samplerType;    // 2D, 3D, CUBE, etc
00054   std::string texCoordSemantic;
00055   std::string minFilter;
00056   std::string magFilter;
00057   std::string wrapS;
00058   std::string wrapT;
00059   std::string wrapR;
00060   bool hasBorderColor;
00061   int texcoordUnit;
00062   float color[4];
00063   float floatParameter;
00064   int   modeParameter;
00065 };
00066
00067 class ShaderState
00068 {
00069 public:
00070   ShaderState()
00071     : lightingType( CONSTANT )
00072     , fragmentLighting( false )
00073     , componentMask( 0 )
00074                  {}
00075
00076   ~ShaderState() {}
00077   std::string effectName;
00078   LightingType lightingType;
00079   bool fragmentLighting;
00080   int componentMask;
00081   std::vector< Component > components;
00082 };
00083
00084 class ShaderBuilder
00085 {
00086   public:
00087     ShaderBuilder();
00088     virtual ~ShaderBuilder();
00089
00090     virtual std::string convertSlashes( const std::string & strin );
00091     virtual std::string componentMaskToString( int componentMask );
00092     virtual std::string getComponentName( int type );
00093     virtual std::string getSwizzle( const std::string & type );
00094     virtual void sortComponents( std::vector< Component > & components );
00095     virtual void setSearchPaths( std::vector< std::string > & paths );
00096     virtual void setStateSet( const nvsg::StateSetWeakPtr & ssh );
00097
00098     virtual std::string buildShader( ShaderState & state, bool optimizeShader ) = 0;
00099
00100   protected:
00101     enum
00102     {
00103       COMPONENT_NOT_FOUND = ~0
00104     };
00105
00106     size_t findComponent( std::vector< Component > &, ComponentType type );
00107     std::string format( const char * fmt, ... );
00108     std::vector< std::string > m_searchPaths;
00109     nvsg::StateSetWeakPtr m_stateSet;
00110
00111   private:
00112     char * m_buffer;
00113     size_t m_bufLen;
00114 };
00115
00116 inline void ShaderBuilder::setSearchPaths( std::vector< std::string > & paths )
00117 {
00118   m_searchPaths = paths;
00119 }
00120
00121 inline void ShaderBuilder::setStateSet( const nvsg::StateSetWeakPtr & ssh )
00122 {
00123   m_stateSet = ssh;
00124 }
00125
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: ShaderBuildMeister.h Source File

src / Loader / DAELoader

ShaderBuildMeister.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // ShaderBuildMeister.h
00016 //
00017
00018 #pragma once
00019
00020 #if ! defined( DOXYGEN_IGNORE )
00021
00022 #include <string>
00023 #include <vector>
00024
00025 #include "nvsg/CoreTypes.h"
00026 #include "nvsg/TextureAttribute.h"
00027 #include <nvutil/SmartPtr.h>
00028 #include "ShaderBuilder.h"
00029
00030 class ShaderBuildMeister
00031 {
00032   public:
00033     enum
00034     {
00035       RTFX_SUBMITTED = 0x01,
00036       RTFX_ERRORS    = 0x02,
00037
00038       CGFX_SUBMITTED = 0x10,
00039       CGFX_ERRORS    = 0x20,
00040
00041       METASL_SUBMITTED = 0x100,
00042       METASL_ERRORS    = 0x200,
00043     };
00044
00045     ShaderBuildMeister();
00046     ~ShaderBuildMeister();
00047
00048     bool anyValid();
00049     void reset();
00050
00051     void setRTFxFile( const std::string & file );
00052     void setCgFxFile( const std::string & file );
00053     void setRTFxCode( const std::string & string );
00054     void setCgFxCode( const std::string & string );
00055     void setMetaSLFile( const std::string & file );
00056
00057     void setSearchPaths( const std::vector< std::string > & paths );
00058     void setStateSet( const nvsg::StateSetWeakPtr & ssh );
00059     nvsg::StateSetWeakPtr getStateSet() const;
00060
00061     bool buildShaders( ShaderState & state, bool optimize = true, bool addFFP = false, bool ffpOnly = false, bool textureOnly = false );
00062
00063     const nvsg::CgFxSharedPtr & getCgFx();
00064     const nvsg::RTFxSharedPtr & getRTFx();
00065
00066     std::string & getCgFxCompileErrors();
00067     std::string & getRTFxCompileErrors();
00068     std::string & getMetaSLCompileErrors();
00069
00070     unsigned int getStatus();
00071
00072     static void clearTextureCache();
00073     static nvsg::TextureHostSharedPtr lookupTexture( const std::string & file,
00074                                                         std::vector< std::string > & searchPaths );
00075
00076     struct TexInfo
00077     {
00078       char pathName[1024];                    // path to file
00079       unsigned int component;                 // id of component it is mapped to
00080       unsigned int dimension;                 // dimensionality
00081       nvsg::TextureWrapMode wrapS;            // wrap modes
00082       nvsg::TextureWrapMode wrapT;
00083       nvsg::TextureWrapMode wrapR;
00084       nvsg::TextureMagFilterMode magFilter;   // filtering
00085       nvsg::TextureMinFilterMode minFilter;
00086
00087       bool operator<( const TexInfo & rhs ) const
00088       {
00089         return ( memcmp( this, &rhs, sizeof( TexInfo ) ) < 0 );
00090       }
00091     };
00092
00093     // uses built-in m_searchPaths instead
00094     static nvsg::TextureAttributeItemSharedPtr lookupTextureAttribute( TexInfo & info, std::vector< std::string > & searchPaths );
00095
00096   private:
00097     // shaders
00098     nvsg::CgFxSharedPtr createCgFxFromFile( const std::string & file, std::vector< std::string > & searchPaths
00099                                             , std::string & errorReturn, bool & failOnTextureLoadInOut );
00100
00101     nvsg::CgFxSharedPtr createCgFxFromLump( const std::string & lump, std::vector< std::string > & searchPaths
00102                                             , std::string & errorReturn, bool & failOnTextureLoadInOut );
00103
00104     std::string m_cgfxFile;       // any cgfx file found
00105     std::string m_cgfxCode;       // built code, or cgfx code
00106     std::string m_cgfxCompileErrors; // errors encountered when compiling cgfx
00107     std::string m_rtfxFile;       // any rtfx file found
00108     std::string m_rtfxCode;       // built code, or rtfx code
00109     std::string m_rtfxCompileErrors; // errors encountered when compiling rtfx
00110     std::string m_metaSLFile;       // any MetaSL file found
00111     std::string m_metaSLCompileErrors; // errors encountered when compiling MetaSL
00112     std::vector< std::string > m_searchPaths; // search paths
00113     nvsg::CgFxSharedPtr m_cgfx;    // handle to built cgfx
00114     nvsg::RTFxSharedPtr m_rtfx;    // handle to built rtfx
00115     nvsg::StateSetWeakPtr m_stateSet; // state set we will ultimately be adding to
00116     bool m_built;                 // whether build has been called
00117     unsigned int m_status;        // status
00118     static std::map< std::string,  nvsg::TextureHostSharedPtr >  s_textureCache;
00119     static std::map< TexInfo,  nvsg::TextureAttributeItemSharedPtr >  s_textureAttributeCache;
00120     nvsg::RTFxProgramSharedPtr m_rtfxProgramDefault;
00121 };
00122
00123 inline unsigned int ShaderBuildMeister::getStatus()
00124 {
00125   return m_status;
00126 }
00127
00128 inline void ShaderBuildMeister::setRTFxFile( const std::string & file )
00129 {
00130   m_status |= RTFX_SUBMITTED;
00131   m_rtfxFile = file;
00132 }
00133
00134 inline void ShaderBuildMeister::setRTFxCode( const std::string & code )
00135 {
00136   m_status |= RTFX_SUBMITTED;
00137   m_rtfxCode = code;
00138 }
00139
00140 inline void ShaderBuildMeister::setCgFxFile( const std::string & file )
00141 {
00142   m_status |= CGFX_SUBMITTED;
00143   m_cgfxFile = file;
00144 }
00145
00146 inline void ShaderBuildMeister::setCgFxCode( const std::string & code )
00147 {
00148   m_status |= CGFX_SUBMITTED;
00149   m_cgfxCode = code;
00150 }
00151
00152 inline void ShaderBuildMeister::setMetaSLFile( const std::string & file )
00153 {
00154   m_status |= METASL_SUBMITTED;
00155   m_metaSLFile = file;
00156 }
00157
00158 inline bool ShaderBuildMeister::anyValid()
00159 {
00160   return ( m_built && ((getStatus() & (RTFX_ERRORS | CGFX_ERRORS)) !=
00161                                                     (RTFX_ERRORS | CGFX_ERRORS)) );
00162 }
00163
00164 inline const nvsg::CgFxSharedPtr & ShaderBuildMeister::getCgFx()
00165 {
00166   return m_cgfx;
00167 }
00168
00169 inline const nvsg::RTFxSharedPtr & ShaderBuildMeister::getRTFx()
00170 {
00171   return m_rtfx;
00172 }
00173
00174 inline void ShaderBuildMeister::setSearchPaths( const std::vector< std::string > & paths )
00175 {
00176   m_searchPaths = paths;
00177 }
00178
00179 inline std::string & ShaderBuildMeister::getCgFxCompileErrors()
00180 {
00181   return m_cgfxCompileErrors;
00182 }
00183
00184 inline std::string & ShaderBuildMeister::getRTFxCompileErrors()
00185 {
00186   return m_rtfxCompileErrors;
00187 }
00188
00189 inline std::string & ShaderBuildMeister::getMetaSLCompileErrors()
00190 {
00191   return m_metaSLCompileErrors;
00192 }
00193
00194 inline void ShaderBuildMeister::setStateSet( const nvsg::StateSetWeakPtr & ssh )
00195 {
00196   m_stateSet = ssh;
00197 }
00198
00199 inline nvsg::StateSetWeakPtr ShaderBuildMeister::getStateSet() const
00200 {
00201   return m_stateSet;
00202 }
00203
00204
00205 #endif // ! defined( DOXYGEN_IGNORE )
00206
Generated on Fri Jul 13 13:26:57 2012 for SceniX


SceniX: SimpleTesselator.h Source File

src / Loader / FLTLoader

SimpleTesselator.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // SimpleTesselator.h
00016 //
00017
00018 #ifndef _SIMPLETESSELATOR_H_
00019 #define _SIMPLETESSELATOR_H_
00020
00021 #include <GL/gl.h>
00022 #include <GL/glu.h>
00023 #include <nvsg/nvsg.h>
00024 #include <nvsg/nvsgapi.h>
00025 #include <vector>
00026
00027 #if defined( WIN32 ) || defined( _WIN32 )
00028 #define CALLBACK __stdcall
00029 #define GLU_TESS_CALLBACK void (__stdcall *)()
00030 #else
00031 #define CALLBACK
00032 #define GLU_TESS_CALLBACK void (*)()
00033 #endif
00034
00035 class SimpleTesselator
00036 {
00037 public:
00038   SimpleTesselator() : m_tess( gluNewTess() )
00039   {
00040     NVSG_ASSERT( m_tess );
00041
00042     // register callbacks
00043     //
00044     // if we register an edge flag callback then everything
00045     // will come as triangle lists
00046     //
00047     //gluTessCallback( m_tess, GLU_TESS_EDGE_FLAG_DATA,
00048     //                         (GLU_TESS_CALLBACK) edgeCB );
00049     gluTessCallback( m_tess, GLU_TESS_VERTEX_DATA,
00050                             (GLU_TESS_CALLBACK) vertexCB );
00051     gluTessCallback( m_tess, GLU_TESS_BEGIN_DATA,
00052                             (GLU_TESS_CALLBACK) beginCB );
00053     gluTessCallback( m_tess, GLU_TESS_END_DATA,
00054                             (GLU_TESS_CALLBACK) endCB );
00055     //gluTessCallback( m_tess, GLU_TESS_COMBINE_DATA,
00056     //                        (GLU_TESS_CALLBACK) combineCB );
00057     gluTessCallback( m_tess, GLU_TESS_ERROR_DATA,
00058                              (GLU_TESS_CALLBACK) errorCB );
00059
00060     // no merging!!
00061     gluTessProperty( m_tess, GLU_TESS_TOLERANCE, 0.0 );
00062   }
00063
00064   virtual ~SimpleTesselator(void)
00065   {
00066     gluDeleteTess( m_tess );
00067   }
00068
00069   bool tesselate( const std::vector<nvmath::Vec3f> & vertsIn,
00070                   std::vector<unsigned int> & indexListInOut )
00071   {
00072     NVSG_TRACE();
00073
00074     // must have at least one poly
00075     if( vertsIn.size() < 3 || indexListInOut.size() < 3 )
00076       return false;
00077
00078     std::vector<GLdouble> verts( 3* indexListInOut.size() );
00079
00080     // clear error
00081     m_error = 0;
00082     m_primtype = 0xffffffff;
00083
00084     gluTessBeginPolygon( m_tess, this );
00085     //gluTessNormal( m_tess, n[0], n[1], n[2] );
00086     gluTessBeginContour( m_tess );
00087
00088     for(unsigned int i=0;i<indexListInOut.size();i++)
00089     {
00090       double x, y, z;
00091
00092       x = (double)vertsIn[indexListInOut[i]][0];
00093       y = (double)vertsIn[indexListInOut[i]][1];
00094       z = (double)vertsIn[indexListInOut[i]][2];
00095
00096       verts[3*i+0] = x;
00097       verts[3*i+1] = y;
00098       verts[3*i+2] = z;
00099
00100       gluTessVertex( m_tess, &verts[3*i], (void *)&indexListInOut[i] );
00101     }
00102
00103     gluTessEndContour( m_tess );
00104     gluTessEndPolygon( m_tess );
00105
00106     convertTriList();
00107
00108     //
00109     // Copy out the faces
00110     //
00111     indexListInOut = m_triList;
00112
00113     return (m_error == 0 && m_triList.size());
00114   }
00115
00116   std::vector<unsigned int> m_triList;
00117   std::vector<unsigned int> m_drawList;
00118   GLenum m_error;
00119   GLenum m_primtype;
00120
00121 private:
00122   GLUtesselator * m_tess;
00123
00124   void convertTriList();
00125   static void CALLBACK edgeCB(GLboolean flag, void* userData);
00126   static void CALLBACK beginCB(GLenum which, void* userData);
00127   static void CALLBACK vertexCB(GLvoid *data, void* userData);
00128   static void CALLBACK combineCB(GLdouble coords[3], void* vertex_data[4],
00129                         GLfloat weight[4], void** outData,
00130                         void* useData);
00131   static void CALLBACK endCB(void* userData);
00132   static void CALLBACK errorCB(GLenum errorCode, void* userData);
00133
00134 };
00135
00136 void SimpleTesselator::convertTriList( void )
00137 {
00138   GLenum mode = GL_INVALID_VALUE;
00139   int count = 0;
00140
00141   // walk through draw commands and decompose them back into triangles
00142   for( unsigned int i=0; i < m_drawList.size(); i++ )
00143   {
00144     // end command
00145     if( m_drawList[i] == 0xffffffff )
00146     {
00147       mode = GL_INVALID_VALUE;
00148       count = 0;
00149       continue;
00150     }
00151
00152     switch( mode )
00153     {
00154       case GL_INVALID_VALUE:
00155         // expect draw command
00156         mode = m_drawList[i];
00157         break;
00158
00159       case GL_TRIANGLES:
00160         m_triList.push_back( m_drawList[i] );
00161         break;
00162
00163       case GL_TRIANGLE_STRIP:
00164         if( count < 3 )
00165         {
00166           m_triList.push_back( m_drawList[i] );
00167         }
00168         else
00169         {
00170           if( count & 1 )
00171           {
00172             // odd
00173             m_triList.push_back( m_drawList[i-1] );
00174             m_triList.push_back( m_drawList[i-2] );
00175             m_triList.push_back( m_drawList[i] );
00176           }
00177           else
00178           {
00179             // even
00180             m_triList.push_back( m_drawList[i-2] );
00181             m_triList.push_back( m_drawList[i-1] );
00182             m_triList.push_back( m_drawList[i] );
00183           }
00184         }
00185         count++;
00186         break;
00187
00188       case GL_TRIANGLE_FAN:
00189         if( count < 3 )
00190         {
00191           m_triList.push_back( m_drawList[i] );
00192         }
00193         else
00194         {
00195           m_triList.push_back( m_drawList[i-count] );
00196           m_triList.push_back( m_drawList[i-1] );
00197           m_triList.push_back( m_drawList[i] );
00198         }
00199         count++;
00200         break;
00201
00202       default:
00203         NVSG_ASSERT(0);
00204     }
00205   }
00206 }
00207
00208 void SimpleTesselator::edgeCB( GLboolean flag, void * data )
00209 {
00210   // do nothing
00211 }
00212
00213 void SimpleTesselator::beginCB(GLenum which, void* userData)
00214 {
00215   ((SimpleTesselator*)userData)->m_drawList.push_back( which );
00216 }
00217
00218 void SimpleTesselator::vertexCB(GLvoid *data, void* userData)
00219 {
00220   NVSG_ASSERT( userData != 0 );
00221
00222   ((SimpleTesselator*)userData)->m_drawList.push_back( *(unsigned int*)data );
00223 }
00224
00225 void SimpleTesselator::combineCB(GLdouble coords[3], void * vertex_data[4],
00226                       GLfloat w[4], void** outData,
00227                       void* userData)
00228 {
00229   //NVSG_ASSERT(0);
00230   GLdouble *n = new GLdouble[3];
00231   GLdouble * d = (GLdouble *)vertex_data;
00232
00233   n[0] =  coords[0];
00234   n[1] =  coords[1];
00235   n[2] =  coords[2];
00236
00237   *outData = (void *)n;
00238 }
00239
00240 void SimpleTesselator::endCB(void* userData)
00241 {
00242   ((SimpleTesselator*)userData)->m_drawList.push_back( 0xffffffff );
00243 }
00244
00245 void SimpleTesselator::errorCB(GLenum errorCode, void* userData)
00246 {
00247   switch( errorCode )
00248   {
00249     case GLU_TESS_COORD_TOO_LARGE:
00250       break;
00251     case GLU_TESS_NEED_COMBINE_CALLBACK:
00252       break;
00253     case GLU_OUT_OF_MEMORY:
00254       break;
00255   }
00256
00257   ((SimpleTesselator*)userData)->m_error = errorCode;
00258 }
00259
00260 #endif /* _SIMPLETESSELATOR_H_ */
00261
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StackedAtlas.h Source File

src / Loader / FLTLoader

StackedAtlas.h

00001
00002 #pragma once
00003
00004 #include <nvsg/TextureAttribute.h>
00005 #include <nvutil/Handle.h>
00006 #include <string>
00007 #include <vector>
00008 #include <map>
00009
00010 class StackedAtlas
00011 {
00012 public:
00013   StackedAtlas( unsigned int width, unsigned int height );
00014   ~StackedAtlas();
00015
00016   unsigned int getWidth() { return m_width; }
00017   unsigned int getHeight() { return m_height; }
00018   unsigned int getCount() { return m_textureCount; }
00019
00020   const nvsg::TextureAttributeItemSharedPtr & addTexture( nvsg::TextureHost * img, int & );
00021   const nvsg::TextureAttributeItemSharedPtr & getTextureAttributeItem();
00022
00023 private:
00024
00025   nvsg::TextureAttributeItemSharedPtr m_textureAttributeItem;
00026   unsigned int m_width;
00027   unsigned int m_height;
00028   unsigned int m_textureCount;
00029 };
00030
00031 class StackedAtlasManager
00032 {
00033 public:
00034   StackedAtlasManager();
00035   ~StackedAtlasManager();
00036
00037   void setMaxSlices( unsigned int maxSlices );
00038   void setCreateMipmaps( bool create );
00039   void setSearchPaths( const std::vector< std::string > & searchPaths );
00040   void setRescaleTextures( bool state, unsigned int width = 0,
00041                                        unsigned int height = 0 );
00042
00043   const nvsg::TextureAttributeItemSharedPtr & submitTexture( const std::string & file,
00044                                                              const std::string & attrs,
00045                                                              int & layer );
00046
00047 private:
00048
00049   bool m_rescale;
00050   bool m_createMipmaps;
00051   unsigned int m_width;
00052   unsigned int m_height;
00053   unsigned int m_maxSlices;
00054   std::map< std::string, std::pair<std::string,int> > m_cachedFiles;
00055   std::map< std::string, StackedAtlas * > m_atlases;
00056   std::vector< std::string > m_searchPaths;
00057 };
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StatisticsRenderListProcessor.h Source File

inc / nvsg / nvsg

StatisticsRenderListProcessor.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/IteratingRenderListProcessor.h>
00015 #include <string>
00016 #include <sstream>
00017 #include <iomanip>
00018
00019 namespace nvsg
00020 {
00021
00022 class StatisticsRenderListProcessor : public IteratingRenderListProcessor
00023 {
00024 public:
00025   NVSG_API StatisticsRenderListProcessor();
00026   NVSG_API virtual ~StatisticsRenderListProcessor();
00027   NVSG_API std::string getStatistics();
00028
00029 protected:
00030   virtual bool beginHandle( const RenderList2SharedPtr & );
00031   virtual bool beginHandle( const RenderModeGroupSharedPtr & );
00032   virtual bool beginHandle( const MaterialGroupSharedPtr & );
00033
00034   virtual void endHandle( const RenderList2SharedPtr & );
00035   virtual void endHandle( const RenderModeGroupSharedPtr & );
00036   virtual void endHandle( const MaterialGroupSharedPtr & );
00037
00038   virtual void handle( const DrawableInstanceSharedPtr & );
00039
00040 private:
00041   std::string makeName( const std::string & name, unsigned int number );
00042   std::string makeRow( const std::string & name, const std::string & value );
00043   std::string makeNode( const std::string & name, const std::string & data );
00044   std::string makeLink( const std::string & parent, const std::string & child );
00045
00046   template <typename T> std::string toStr( T t );
00047
00048 private:
00049   typedef std::map< unsigned int, unsigned int > Histogram;
00050
00051 private:
00052   unsigned int m_numRMs;
00053   unsigned int m_numMGs;
00054   unsigned int m_numDIs;
00055   unsigned int m_numLIs;
00056
00057   Histogram m_RLHist;
00058   Histogram m_RMHist;
00059   Histogram m_MGHist;
00060
00061   std::vector<std::string> parentVector;
00062   std::stringstream m_ss;
00063 };
00064
00065
00066 } // namespace nvsg
00067
00068
00069
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: STLExt.h Source File

inc / nvsg / nvutil

STLExt.h

00001 // Copyright NVIDIA Corporation 2002-2008
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011 #pragma once
00012
00013 namespace nvutil
00014 {
00041   template <typename SetType>
00042   inline void set_erase(SetType& theSet, typename SetType::key_type const * first, typename SetType::key_type const * last)
00043   {
00044 #if defined(_WIN32)
00045     // since the microsoft implementation of set inherits from tree,
00046     // we can just use that API directly
00047     theSet.erase(first, last);
00048 #else
00049     // others do not inherit from the red-black tree but uses it in their implementation.
00050     // there is no bypass accessible we could use directly
00051     for (  ; first != last; ++first )
00052       theSet.erase(*first);
00053 #endif
00054   }
00055 }
00056
00057
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: StridedIterator.h Source File

inc / nvsg / nvutil

StridedIterator.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <iterator>
00015
00016 namespace nvutil
00017 {
00018
00019   struct DummyPayload {};
00020
00021   /*******************/
00022   /* StridedIterator */
00023   /*******************/
00024   template <typename ValueType, typename Payload = DummyPayload>
00025   class StridedIterator : public std::iterator< std::input_iterator_tag, ValueType >
00026   {
00027   public:
00028     StridedIterator();
00029     StridedIterator( ValueType *basePtr, size_t strideInBytes, Payload = Payload() );
00030     StridedIterator( const StridedIterator &rhs );
00031     StridedIterator &operator=( const StridedIterator &rhs );
00032     virtual ~StridedIterator() {}
00033
00034     ValueType &operator*();
00035     ValueType &operator[](size_t index);
00036     bool operator==(const StridedIterator &rhs) const; // compares only ptr!
00037     bool operator!=(const StridedIterator &rhs) const; // compares only ptr!
00038     StridedIterator operator+(int offset) const;
00039     StridedIterator &operator++();  // pre-increment
00040     StridedIterator operator++(int);  //post-increment
00041
00042     typedef std::input_iterator_tag iterator_category;
00043     typedef ValueType value_type;
00044   protected:
00045     ValueType *m_basePtr;
00046     size_t     m_strideInBytes;
00047     Payload    m_payload;
00048   };
00049
00050   template <typename ValueType, typename Payload>
00051   inline StridedIterator<ValueType, Payload>::StridedIterator( )
00052     : m_basePtr(0)
00053     , m_strideInBytes(0)
00054   {
00055   }
00056
00057   template <typename ValueType, typename Payload>
00058   inline StridedIterator<ValueType, Payload>::StridedIterator( ValueType *basePtr, size_t strideInBytes, Payload payload )
00059     : m_basePtr( basePtr )
00060     , m_strideInBytes( strideInBytes )
00061     , m_payload( payload )
00062   {
00063   }
00064
00065   template <typename ValueType, typename Payload>
00066   inline StridedIterator<ValueType,Payload>::StridedIterator( const StridedIterator &rhs )
00067     : m_basePtr( rhs.m_basePtr )
00068     , m_strideInBytes( rhs.m_strideInBytes )
00069     , m_payload( rhs.m_payload )
00070   {
00071   }
00072
00073   template <typename ValueType, typename Payload>
00074   inline StridedIterator<ValueType,Payload> &StridedIterator<ValueType,Payload>::operator=( const StridedIterator &rhs )
00075   {
00076     m_basePtr = rhs.m_basePtr;
00077     m_strideInBytes = rhs.m_strideInBytes;
00078     m_payload = rhs.m_payload;
00079
00080     return *this;
00081   }
00082
00083   template <typename ValueType, typename Payload>
00084   ValueType &StridedIterator<ValueType,Payload>::operator*()
00085   {
00086     return *reinterpret_cast<ValueType *>(m_basePtr);
00087   }
00088
00089   template <typename ValueType, typename Payload>
00090   ValueType &StridedIterator<ValueType,Payload>::operator[](size_t index)
00091   {
00092     char *ptr = reinterpret_cast<char *>(m_basePtr);
00093     ptr += m_strideInBytes * index;
00094     return *reinterpret_cast<ValueType *>(ptr);
00095   }
00096
00097   template <typename ValueType, typename Payload>
00098   StridedIterator<ValueType,Payload> StridedIterator<ValueType,Payload>::operator+(int offset) const
00099   {
00100     char *ptr = reinterpret_cast<char *>(m_basePtr);
00101     ptr += offset * m_strideInBytes;
00102     return StridedIterator<ValueType, Payload>( ptr, m_strideInBytes, m_payload );
00103   }
00104
00105   template <typename ValueType, typename Payload>
00106   StridedIterator<ValueType,Payload> &StridedIterator<ValueType,Payload>::operator++()
00107   {
00108     char *ptr = reinterpret_cast<char *>(m_basePtr);
00109     ptr += m_strideInBytes;
00110     m_basePtr = reinterpret_cast<ValueType *>(ptr);
00111     return *this;
00112   }
00113
00114   template <typename ValueType, typename Payload>
00115   StridedIterator<ValueType,Payload> StridedIterator<ValueType,Payload>::operator++(int)
00116   {
00117     StridedIterator copy(*this);
00118     ++(*this);
00119     return copy;
00120   }
00121
00122   template <typename ValueType, typename Payload>
00123   bool StridedIterator<ValueType,Payload>::operator==( const StridedIterator<ValueType, Payload> &rhs ) const
00124   {
00125     return m_basePtr == rhs.m_basePtr;
00126   }
00127
00128   template <typename ValueType, typename Payload>
00129   bool StridedIterator<ValueType,Payload>::operator!=( const StridedIterator<ValueType, Payload> &rhs ) const
00130   {
00131     return m_basePtr != rhs.m_basePtr;
00132   }
00133
00134   /************************/
00135   /* StridedConstIterator */
00136   /************************/
00137   template <typename ValueType, typename Payload = DummyPayload>
00138   class StridedConstIterator : public std::iterator< std::input_iterator_tag, ValueType >
00139   {
00140   public:
00141     StridedConstIterator( );
00142     StridedConstIterator( const ValueType *basePtr, size_t strideInBytes, Payload = Payload() );
00143     StridedConstIterator( const StridedConstIterator &rhs );
00144     StridedConstIterator &operator=( const StridedConstIterator &rhs );
00145     virtual ~StridedConstIterator() {}
00146
00147     const ValueType &operator*() const;
00148     const ValueType &operator[](size_t index) const;
00149     bool operator==(const StridedConstIterator &rhs) const; // compares only ptr!
00150     bool operator!=(const StridedConstIterator &rhs) const; // compares only ptr!
00151     StridedConstIterator operator+(size_t offset) const;
00152     StridedConstIterator &operator++();  // pre-increment
00153     StridedConstIterator operator++(int);  //post-increment
00154   protected:
00155     const ValueType *m_basePtr;
00156     size_t           m_strideInBytes;
00157     Payload          m_payload;
00158   };
00159
00160   template <typename ValueType, typename Payload>
00161   inline StridedConstIterator<ValueType, Payload>::StridedConstIterator( )
00162     : m_basePtr(0)
00163     , m_strideInBytes(0)
00164   {
00165   }
00166
00167   template <typename ValueType, typename Payload>
00168   inline StridedConstIterator<ValueType, Payload>::StridedConstIterator( const ValueType *basePtr, size_t strideInBytes, Payload payload )
00169     : m_basePtr( basePtr )
00170     , m_strideInBytes( strideInBytes )
00171     , m_payload( payload )
00172   {
00173   }
00174
00175   template <typename ValueType, typename Payload>
00176   inline StridedConstIterator<ValueType,Payload>::StridedConstIterator( const StridedConstIterator &rhs )
00177     : m_basePtr( rhs.m_basePtr )
00178     , m_strideInBytes( rhs.m_strideInBytes )
00179     , m_payload( rhs.m_payload )
00180   {
00181   }
00182
00183   template <typename ValueType, typename Payload>
00184   inline StridedConstIterator<ValueType,Payload> &StridedConstIterator<ValueType,Payload>::operator=( const StridedConstIterator &rhs )
00185   {
00186     m_basePtr = rhs.m_basePtr;
00187     m_strideInBytes = rhs.m_strideInBytes;
00188     m_payload = rhs.m_payload;
00189
00190     return *this;
00191   }
00192
00193   template <typename ValueType, typename Payload>
00194   const ValueType &StridedConstIterator<ValueType,Payload>::operator*() const
00195   {
00196     return *reinterpret_cast<const ValueType *>(m_basePtr);
00197   }
00198
00199   template <typename ValueType, typename Payload>
00200   const ValueType &StridedConstIterator<ValueType,Payload>::operator[](size_t index) const
00201   {
00202     const char *ptr = reinterpret_cast<const char *>(m_basePtr);
00203     ptr += m_strideInBytes * index;
00204     return *reinterpret_cast<const ValueType *>(ptr);
00205   }
00206
00207   template <typename ValueType, typename Payload>
00208   StridedConstIterator<ValueType,Payload> StridedConstIterator<ValueType,Payload>::operator+( size_t offset ) const
00209   {
00210     const char *ptr = reinterpret_cast<const char *>(m_basePtr);
00211     ptr += offset * m_strideInBytes;
00212     return StridedConstIterator<ValueType, Payload>( reinterpret_cast<const ValueType *>(ptr), m_strideInBytes, m_payload );
00213   }
00214
00215   template <typename ValueType, typename Payload>
00216   StridedConstIterator<ValueType,Payload> &StridedConstIterator<ValueType,Payload>::operator++()
00217   {
00218     const char *ptr = reinterpret_cast<const char *>(m_basePtr);
00219     ptr += m_strideInBytes;
00220     m_basePtr = reinterpret_cast<const ValueType *>(ptr);
00221     return *this;
00222   }
00223
00224   template <typename ValueType, typename Payload>
00225   StridedConstIterator<ValueType,Payload> StridedConstIterator<ValueType,Payload>::operator++(int)
00226   {
00227     StridedConstIterator copy(*this);
00228     ++(*this);
00229     return copy;
00230   }
00231
00232   template <typename ValueType, typename Payload>
00233   bool StridedConstIterator<ValueType,Payload>::operator==( const StridedConstIterator<ValueType, Payload> &rhs ) const
00234   {
00235     return m_basePtr == rhs.m_basePtr;
00236   }
00237
00238   template <typename ValueType, typename Payload>
00239   bool StridedConstIterator<ValueType,Payload>::operator!=( const StridedConstIterator<ValueType, Payload> &rhs ) const
00240   {
00241     return m_basePtr != rhs.m_basePtr;
00242   }
00243
00244 //namespace nvutil
00245 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Member List

NBFQuadPatches Member List

This is the complete list of members for NBFQuadPatches, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFQuadPatches
NBFPatchesBase::PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
size | NBFQuadPatches
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive

Generated on Fri Jul 13 13:29:00 2012 for SceniX


SceniX: Member List

NBFTriPatches Member List

This is the complete list of members for NBFTriPatches, including all inherited members.

elementCount | NBFPrimitive
elementOffset | NBFPrimitive
hints | NBFObject
indexSet | NBFPrimitive
instanceCount | NBFPrimitive
isShared | NBFObject
objectAnno | NBFObject
objectCode | NBFObject
objectDataID | NBFObject
objectName | NBFObject
PADDING(4) | NBFTriPatches
NBFPatchesBase::PADDING(3) | NBFObject
primitiveType | NBFPrimitive
renderFlags | NBFPrimitive
size | NBFTriPatches
skin | NBFPrimitive
sourceObject | NBFObject
vertexAttributeSet | NBFPrimitive
verticesPerPatch | NBFPrimitive

Generated on Fri Jul 13 13:29:06 2012 for SceniX


SceniX: Subject.h Source File

inc / nvsg / nvutil

Subject.h

00001 // Copyright NVIDIA Corporation 2002-2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsgcommon.h>
00015 #include <nvutil/Handle.h>
00016 #include <nvutil/STLAllocator.h>
00017 #include <map>
00018
00019 namespace nvutil
00020 {
00021   class HandledObject;
00022
00023   CORE_TYPES_BASE( HandledObject );
00024 }
00025
00026 namespace nvsg
00027 {
00028   class Object;
00029   class Group;
00030   class Node;
00031   class ClipPlane;
00032   class LightSource;
00033
00034   CORE_TYPES( Object, nvutil::HandledObject );
00035   CORE_TYPES( Node, Object );
00036   CORE_TYPES( ClipPlane, Object );
00037   CORE_TYPES( LightSource, Object );
00038 };
00039
00040 namespace nvutil
00041 {
00042   class Property;
00043   typedef Property * PropertyId;
00044
00046   //  A Subject is _not_ derived from Observer, as a Subject need not be handled, but an Observer has to.
00047   class Subject
00048   {
00049     public:
00050       Subject();
00051       ~Subject();
00052
00053       struct Payload : public nvutil::RCObject
00054       {
00055         Payload()
00056           : m_observerId( ~0 )
00057         {
00058         }
00059
00060       private:
00061         friend class nvutil::Subject;
00062         size_t m_observerId;
00063       };
00064
00065       typedef nvutil::SmartPtr<Payload> SmartPayload;
00066
00067     public:
00073       NVSG_API void attach( const ObserverWeakPtr & oh, const SmartPayload& payload ) const;
00074
00079       NVSG_API bool isAttached( const ObserverWeakPtr & oh, const SmartPayload& payload  ) const;
00080
00086       NVSG_API void detach( const ObserverWeakPtr & oh, const SmartPayload &payload ) const;
00087
00092       NVSG_API virtual void notify( const Subject * originator, unsigned int state ) const;
00093
00097       NVSG_API virtual void notify( PropertyId propertyId ) const;
00098
00104       NVSG_API void notifyPostAddChild( const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index );
00105
00111       NVSG_API void notifyPreRemoveChild( const nvsg::Group *group, const nvsg::NodeSharedPtr &child, unsigned int index );
00112
00116       NVSG_API void notifyPostGroupExchanged( const nvsg::Group *group );
00117
00122       NVSG_API void notifyPostAddLightSource( const nvsg::Group *group, const nvsg::LightSourceSharedPtr& lightSource );
00123
00128       NVSG_API void notifyPreRemoveLightSource( const nvsg::Group *group, const nvsg::LightSourceSharedPtr &lightSource );
00129
00134       NVSG_API void notifyPostAddClipPlane( const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr& clipPlane );
00135
00140       NVSG_API void notifyPreRemoveClipPlane( const nvsg::Group *group, const nvsg::ClipPlaneSharedPtr& clipPlane );
00141
00142       Subject& operator=( const Subject &rhs );
00143
00144     private:
00145       typedef nvutil::STLVector<std::pair<ObserverWeakPtr,SmartPayload> > ObserversContainer;
00146
00147       struct Attachments : public IAllocator
00148       {
00149         unsigned int        dirtyCount;
00150         ObserversContainer  observers;
00151       };
00152
00153     private:
00154       void updateObservers() const; // is being called by notify functions only
00155
00156     protected:
00157       SWMRSync              m_mutableLock;
00158
00159     private:
00160       mutable Attachments * m_attachments;
00161   };
00162
00163   inline Subject& Subject::operator=( const Subject &rhs )
00164   {
00165     NVSG_TRACE();
00166     return( *this );
00167   }
00168 } // namespace nvutil
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TaiManager.h Source File

src / Loader / FLTLoader

TaiManager.h

00001
00002 #ifndef _TAI_MANAGER_H_
00003 #define _TAI_MANAGER_H_
00004
00005 #include <stdio.h>
00006 #include <string>
00007 #include <list>
00008
00009 // load a tai file
00010
00011 enum AtlasType
00012 {
00013   ATLAS_2D,
00014   ATLAS_3D  // not supported
00015 };
00016
00017 struct TaiEntry
00018 {
00019   // values read from file
00020   std::string   textureFile;
00021   std::string   atlasFile;
00022   unsigned int  atlasIndex;
00023   AtlasType     type;
00024   float         woffset;
00025   float         hoffset;
00026   float         doffset;
00027   float         width;
00028   float         height;
00029
00030   void print( void ) const
00031   {
00032     printf("%s: %s(%d) %s (%f,%f,%f) (%fx%f)\n",
00033         textureFile.c_str(), atlasFile.c_str(),
00034         atlasIndex, (type==ATLAS_2D)?"2D":"3D",
00035         woffset, hoffset, doffset,
00036         width, height );
00037   }
00038 };
00039
00040 class TaiManager
00041 {
00042 public:
00043
00044   TaiManager();
00045   ~TaiManager();
00046   bool loadFile( const std::string & file );
00047   const TaiEntry * findEntry( const std::string & file );
00048
00049 private:
00050
00051   std::list< TaiEntry > m_entries;
00052 };
00053
00054 #endif /* _TAI_MANAGER_H_ */
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Texture.h Source File

inc / nvsg / nvsg

Texture.h

00001 // Copyright NVIDIA Corporation 2012
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsgcommon.h>
00015 #include <nvsg/CoreTypes.h>
00016 #include <nvutil/HandledObject.h>
00017 #include <nvutil/HashGeneratorMurMur.h>
00018 #include <nvutil/Incarnation.h>
00019 #include <nvutil/ReadableObject.h>
00020 #include <nvutil/WritableObject.h>
00021
00022 namespace nvsg
00023 {
00025   enum TextureTarget
00026   {
00027     NVSG_UNSPECIFIED_TEXTURE_TARGET = ~0,
00028     NVSG_TEXTURE_1D = 0,
00029     NVSG_TEXTURE_2D,
00030     NVSG_TEXTURE_3D,
00031     NVSG_TEXTURE_CUBE,
00032     NVSG_TEXTURE_1D_ARRAY,
00033     NVSG_TEXTURE_2D_ARRAY,
00034     NVSG_TEXTURE_RECTANGLE,
00035     NVSG_TEXTURE_CUBE_ARRAY,
00036     NVSG_TEXTURE_BUFFER,
00037     NVSG_TEXTURE_2D_MULTISAMPLE,
00038     NVSG_TEXTURE_2D_MULTISAMPLE_ARRAY,
00039     NVSG_TEXTURE_TARGET_COUNT
00040   };
00041
00045   class Texture : public nvutil::HandledObject
00046   {
00047   public:
00048     NVSG_API Texture();
00049     NVSG_API virtual ~Texture();
00050
00051     NVSG_API TextureTarget getTextureTarget() const;
00052
00059     NVSG_API HashKey getHashKey() const;
00060
00066     NVSG_API virtual bool isEquivalent( const Texture * p, bool deepCompare ) const;
00067
00068   protected:
00072     NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00073
00076     NVSG_API void invalidateHashKey();
00077
00078 #if !defined(NDEBUG)
00079     NVSG_API bool isHashKeyValid() const;
00080 #endif
00081
00082   protected:
00083     TextureTarget     m_textureTarget;
00084
00085   private:
00086     nvutil::SWMRSync  m_lock;      // helps managing exclusive access to mutable members while reading the object
00087     mutable HashKey   m_hashKey;
00088     mutable bool      m_hashKeyValid;
00089   };
00090
00091   inline Texture::Texture()
00092     : m_textureTarget( NVSG_UNSPECIFIED_TEXTURE_TARGET )
00093     , m_hashKeyValid(false)
00094   {
00095   }
00096
00097   inline Texture::~Texture()
00098   {
00099   }
00100
00101   inline TextureTarget Texture::getTextureTarget() const
00102   {
00103     return m_textureTarget;
00104   }
00105
00106   inline HashKey Texture::getHashKey() const
00107   {
00108     nvutil::AutoLock lock(m_lock); // secure exclusive write access to mutable members!
00109     if ( ! m_hashKeyValid )
00110     {
00111       nvutil::HashGeneratorMurMur hg;
00112       feedHashGenerator( hg );
00113       hg.finalize( (unsigned int *)&m_hashKey );
00114       m_hashKeyValid = true;
00115     }
00116     return( m_hashKey );
00117   }
00118
00119   inline bool Texture::isEquivalent( const Texture * p, bool deepCompare ) const
00120   {
00121     return( m_textureTarget == p->m_textureTarget );
00122   }
00123
00124   inline void Texture::feedHashGenerator( nvutil::HashGenerator & hg ) const
00125   {
00126     hg.update( reinterpret_cast<const unsigned char *>(&m_textureTarget), sizeof(m_textureTarget) );
00127   }
00128
00129   inline void Texture::invalidateHashKey()
00130   {
00131     m_hashKeyValid = false;
00132   }
00133
00134 #if !defined(NDEBUG)
00135   inline bool Texture::isHashKeyValid() const
00136   {
00137     return( m_hashKeyValid );
00138   }
00139 #endif
00140
00141 } // namespace nvsg
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: TextureGL.h Source File

inc / nvsg / nvgl

TextureGL.h

00001 // Copyright NVIDIA Corporation 2010
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <nvsg/Texture.h>
00015 #include <nvgl/RenderContextGL.h>
00016
00017
00018 namespace nvgl
00019 {
00020
00024   class TextureGL : public nvsg::Texture
00025   {
00026   public:
00030     NVSG_API static TextureGLSharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage);
00031
00032   public:
00035     NVSG_API GLuint  getGLId() const;
00036
00039     NVSG_API GLenum  getTarget() const;
00040
00043     NVSG_API GLenum  getBindingTarget() const;
00044
00047     NVSG_API GLenum  getInternalFormat() const;
00048
00054     NVSG_API GLenum  getClientDataFormat() const;
00055
00061     NVSG_API GLenum  getClientDataType() const;
00062
00065     NVSG_API GLsizei getBorder() const;
00066
00070     NVSG_API bool    isMipMapLevelDefined( GLuint level ) const;
00071
00075     NVSG_API bool    isMipMapLevelValid( GLuint level ) const;
00076
00079     NVSG_API bool    isMipMapComplete() const;
00080
00083     NVSG_API GLuint  getMaxLevel() const;
00084
00087     NVSG_API void bind();
00088
00091     NVSG_API void unbind();
00092
00097     NVSG_API void generateMipMap();
00098
00102     NVSG_API static bool sizeValid( GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers = 0 );
00103
00106     NVSG_API static GLsizei getMipMapSize( GLsizei sz, GLuint level );
00107
00111     NVSG_API static GLsizei getMaximumSize( GLenum target );
00112
00115     NVSG_API static bool hasLayers( GLenum target );
00116
00119     NVSG_API static bool isCompressedSizeKnown( GLenum format );
00120
00123     NVSG_API static bool isCompressedFormat( GLenum format );
00124
00127     NVSG_API static bool isIntegerInternalFormat( GLenum format );
00128
00132     NVSG_API static size_t getCompressedSize( GLenum format, GLsizei w, GLsizei h, GLsizei d, GLsizei layers = 0 );
00133
00137     NVSG_API static size_t  getDataSize(GLenum format, GLenum type, GLsizei w, GLsizei h, GLsizei d, GLsizei layers = 0 );
00138
00147     NVSG_API virtual bool isEquivalent( const Texture * p, bool deepCompare ) const;
00148
00149   protected:
00150     friend struct nvutil::Holder<TextureGL>;
00151
00157     NVSG_API TextureGL();
00158
00159     NVSG_API virtual ~TextureGL();
00160
00169     NVSG_API void init( GLenum target, GLenum bindingTarget, GLenum internalFormat, GLsizei border,
00170                         GLenum format, GLenum type, nvsg::TextureTarget nvsgTarget = nvsg::NVSG_UNSPECIFIED_TEXTURE_TARGET );
00171
00175     NVSG_API virtual void feedHashGenerator( nvutil::HashGenerator & hg ) const;
00176
00177   protected:
00178     std::vector<GLint>    m_bindingStack;
00179     GLuint                m_id;
00180     GLenum                m_target;
00181     GLenum                m_bindingTarget;
00182     GLenum                m_internalFormat;
00183     GLsizei               m_border;
00184     GLenum                m_clientDataFormat;
00185     GLenum                m_clientDataType;
00186     GLbitfield            m_definedLevels;
00187     GLuint                m_maxLevel;
00188     ShareGroupGLSharedPtr m_shareGroupGL;
00189   };
00190
00191
00192
00193
00194   inline GLenum TextureGL::getGLId() const
00195   {
00196     return m_id;
00197   }
00198
00199   inline GLenum TextureGL::getTarget() const
00200   {
00201     return m_target;
00202   }
00203
00204   inline GLenum TextureGL::getBindingTarget() const
00205   {
00206     return m_bindingTarget;
00207   }
00208
00209   inline GLenum TextureGL::getInternalFormat() const
00210   {
00211     return m_internalFormat;
00212   }
00213
00214   inline GLenum TextureGL::getClientDataFormat() const
00215   {
00216     return m_clientDataFormat;
00217   }
00218
00219   inline GLenum TextureGL::getClientDataType() const
00220   {
00221     return m_clientDataType;
00222   }
00223
00224   inline GLsizei TextureGL::getBorder() const
00225   {
00226     return m_border;
00227   }
00228
00229   inline GLuint TextureGL::getMaxLevel() const
00230   {
00231     return m_maxLevel;
00232   }
00233
00234   inline bool TextureGL::isMipMapLevelValid( GLuint level ) const
00235   {
00236     return level <= m_maxLevel;
00237   }
00238
00239   inline bool TextureGL::isMipMapLevelDefined( GLuint level ) const
00240   {
00241     return !!( m_definedLevels & ( 1 << level ));
00242   }
00243
00244   inline bool TextureGL::isMipMapComplete() const
00245   {
00246     return (( 1 << (m_maxLevel + 1)) - 1) == m_definedLevels;
00247   }
00248
00249   inline GLsizei TextureGL::getMipMapSize( GLsizei sz, GLuint level )
00250   {
00251     sz = (sz >> level);
00252     return sz ? sz : 1;
00253   }
00254
00255   inline void TextureGL::feedHashGenerator( nvutil::HashGenerator & hg ) const
00256   {
00257     Texture::feedHashGenerator( hg );
00258     // based only on the m_id!
00259     hg.update( reinterpret_cast<const unsigned char *>(&m_id), sizeof(m_id) );
00260   }
00261
00262   inline bool TextureGL::isEquivalent( const Texture * p, bool deepCompare ) const
00263   {
00264     bool equi = Texture::isEquivalent( p, deepCompare );
00265     if ( equi )
00266     {
00267       const TextureGL * tgl = dynamic_cast<const TextureGL *>( p );
00268       equi =  ( tgl != nullptr )
00269           &&  ( m_id == tgl->m_id );
00270     }
00271     return( equi );
00272   }
00273
00274 #if !defined( DOXYGEN_IGNORE )
00275   /*!*************/
00276   /* TextureGL1D */
00277   /*!*************/
00278   class TextureGL1D;
00279   CORE_TYPES( TextureGL1D, nvgl::TextureGL );
00280 #endif
00281
00284   class TextureGL1D : public TextureGL
00285   {
00286   public:
00293     NVSG_API static TextureGL1DSharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00294
00302     NVSG_API static TextureGL1DSharedPtr create( GLenum internalFormat, GLsizei width, GLsizei border, GLenum format, GLenum type );
00303
00307     NVSG_API static TextureGL1DSharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
00308
00309   public:
00313     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
00314
00323     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 );
00324
00331     NVSG_API void setData( const void *data, GLenum format, GLenum type, GLuint mipLevel = 0);
00332
00341     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00342
00350     NVSG_API void getData( void *data, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00351
00354     NVSG_API void resize(GLsizei width);
00355
00358     NVSG_API GLsizei getWidth() const;
00359
00363     NVSG_API static GLsizei getMaximumSize();
00364
00365   protected:
00366     friend struct nvutil::Holder<TextureGL1D>;
00367
00368     NVSG_API TextureGL1D() {}
00369
00370   private:
00371     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00372     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei border, GLenum format, GLenum type );
00373
00374   protected:
00375     int m_width;
00376   };
00377
00378
00379   inline GLsizei TextureGL1D::getWidth() const
00380   {
00381     return m_width;
00382   }
00383
00384 #if !defined( DOXYGEN_IGNORE )
00385   /*!******************/
00386   /* TextureGL1DArray */
00387   /*!******************/
00388   class TextureGL1DArray;
00389   CORE_TYPES( TextureGL1DArray, nvgl::TextureGL );
00390 #endif
00391
00398   class TextureGL1DArray : public TextureGL
00399   {
00400   public:
00407     NVSG_API static TextureGL1DArraySharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00408
00417     NVSG_API static TextureGL1DArraySharedPtr create( GLenum internalFormat, GLsizei width, GLsizei layers, GLsizei border, GLenum format, GLenum type );
00418
00422     NVSG_API static TextureGL1DArraySharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
00423
00424   public:
00428     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
00429
00439     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel = 0 );
00440
00448     NVSG_API void setData( const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel = 0);
00449
00458     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00459
00466     NVSG_API void getData( void *data, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00467
00470     NVSG_API void resize( GLsizei width, GLsizei numLayers );
00471
00474     NVSG_API GLsizei getWidth() const;
00475
00478     NVSG_API GLsizei getLayers() const;
00479
00483     NVSG_API static GLsizei getMaximumSize();
00484
00487     NVSG_API static GLsizei getMaximumLayers();
00488
00491     NVSG_API static bool isSupported();
00492
00493   protected:
00494     friend struct nvutil::Holder<TextureGL1DArray>;
00495
00496     NVSG_API TextureGL1DArray() {}
00497
00498   private:
00499     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00500     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei layers, GLsizei border, GLenum format, GLenum type );
00501
00502   protected:
00503     int m_width;
00504     int m_layers;
00505   };
00506
00507
00508
00509   inline GLsizei TextureGL1DArray::getWidth() const
00510   {
00511     return m_width;
00512   }
00513
00514   inline GLsizei TextureGL1DArray::getLayers() const
00515   {
00516     return m_layers;
00517   }
00518
00519 #if !defined( DOXYGEN_IGNORE )
00520   /*!*************/
00521   /* TextureGL2D */
00522   /*!*************/
00523   class TextureGL2D;
00524   CORE_TYPES( TextureGL2D, nvgl::TextureGL );
00525 #endif
00526
00529   class TextureGL2D : public TextureGL
00530   {
00531   public:
00538     NVSG_API static TextureGL2DSharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00539
00548     NVSG_API static TextureGL2DSharedPtr create( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type );
00549
00553     NVSG_API static TextureGL2DSharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
00554
00555   public:
00559     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
00560
00569     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 );
00570
00577     NVSG_API void setData( const void *data, GLenum format, GLenum type, GLuint mipLevel = 0);
00578
00587     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00588
00595     NVSG_API void getData( void *data, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00596
00599     NVSG_API void resize( GLsizei width, GLsizei height );
00600
00603     NVSG_API GLsizei getWidth() const;
00604
00607     NVSG_API GLsizei getHeight() const;
00608
00612     NVSG_API static GLsizei getMaximumSize();
00613
00614   protected:
00615     friend struct nvutil::Holder<TextureGL2D>;
00616
00617     NVSG_API TextureGL2D() {}
00618
00619   private:
00620     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00621     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type );
00622
00623   protected:
00624     int m_width;
00625     int m_height;
00626   };
00627
00628
00629
00630   inline GLsizei TextureGL2D::getWidth() const
00631   {
00632     return m_width;
00633   }
00634
00635   inline GLsizei TextureGL2D::getHeight() const
00636   {
00637     return m_height;
00638   }
00639
00640 #if !defined( DOXYGEN_IGNORE )
00641   /*!********************/
00642   /* TextureGLRectangle */
00643   /*!********************/
00644   class TextureGLRectangle;
00645   CORE_TYPES( TextureGLRectangle, nvgl::TextureGL );
00646 #endif
00647
00652   class TextureGLRectangle : public TextureGL
00653   {
00654   public:
00660     NVSG_API static TextureGLRectangleSharedPtr create( GLenum internalFormat, GLenum format, GLenum type );
00661
00669     NVSG_API static TextureGLRectangleSharedPtr create( GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type );
00670
00674     NVSG_API static TextureGLRectangleSharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
00675
00676   public:
00680     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
00681
00689     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type );
00690
00696     NVSG_API void setData( const void *data, GLenum format, GLenum type );
00697
00705     NVSG_API void getData( const nvsg::BufferSharedPtr &buffer, size_t bufferOffset, GLenum format, GLenum type ) const;
00706
00712     NVSG_API void getData( void *data, GLenum format, GLenum type ) const;
00713
00716     NVSG_API void resize(GLsizei width, GLsizei height);
00717
00720     NVSG_API GLsizei getWidth() const;
00721
00724     NVSG_API GLsizei getHeight() const;
00725
00729     NVSG_API static GLsizei getMaximumSize();
00730
00731   protected:
00732     friend struct nvutil::Holder<TextureGLRectangle>;
00733
00734     NVSG_API TextureGLRectangle() {}
00735
00736   private:
00737     NVSG_API void init( GLenum internalFormat, GLenum format, GLenum type );
00738     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type );
00739
00740   protected:
00741     int m_width;
00742     int m_height;
00743   };
00744
00745
00746
00747   inline GLsizei TextureGLRectangle::getWidth() const
00748   {
00749     return m_width;
00750   }
00751
00752   inline GLsizei TextureGLRectangle::getHeight() const
00753   {
00754     return m_height;
00755   }
00756
00757 #if !defined( DOXYGEN_IGNORE )
00758   /*!******************/
00759   /* TextureGL2DArray */
00760   /*!******************/
00761   class TextureGL2DArray;
00762   CORE_TYPES( TextureGL2DArray, nvgl::TextureGL );
00763 #endif
00764
00771   class TextureGL2DArray : public TextureGL
00772   {
00773   public:
00780     NVSG_API static TextureGL2DArraySharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00781
00791     NVSG_API static TextureGL2DArraySharedPtr create( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type );
00792
00796     NVSG_API static TextureGL2DArraySharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
00797
00798   public:
00802     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
00803
00813     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel = 0 );
00814
00822     NVSG_API void setData( const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel = 0);
00823
00832     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00833
00840     NVSG_API void getData( void *data, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00841
00844     NVSG_API void resize( GLsizei width, GLsizei height, GLsizei layers );
00845
00848     NVSG_API GLsizei getWidth() const;
00849
00852     NVSG_API GLsizei getHeight() const;
00853
00856     NVSG_API GLsizei getLayers() const;
00857
00861     NVSG_API static GLsizei getMaximumSize();
00862
00865     NVSG_API static GLsizei getMaximumLayers();
00866
00869     NVSG_API static bool isSupported();
00870
00871   protected:
00872     friend struct nvutil::Holder<TextureGL2DArray>;
00873
00874     NVSG_API TextureGL2DArray() {}
00875
00876   private:
00877     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00878     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type );
00879
00880   protected:
00881     int m_width;
00882     int m_height;
00883     int m_layers;
00884   };
00885
00886   inline GLsizei TextureGL2DArray::getWidth() const
00887   {
00888     return m_width;
00889   }
00890
00891   inline GLsizei TextureGL2DArray::getHeight() const
00892   {
00893     return m_height;
00894   }
00895
00896   inline GLsizei TextureGL2DArray::getLayers() const
00897   {
00898     return m_layers;
00899   }
00900
00901 #if !defined( DOXYGEN_IGNORE )
00902   /*!*************/
00903   /* TextureGL3D */
00904   /*!*************/
00905   class TextureGL3D;
00906   CORE_TYPES( TextureGL3D, nvgl::TextureGL );
00907 #endif
00908
00912   class TextureGL3D : public TextureGL
00913   {
00914   public:
00921     NVSG_API static TextureGL3DSharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
00922
00932     NVSG_API static TextureGL3DSharedPtr create( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei border, GLenum format, GLenum type );
00933
00937     NVSG_API static TextureGL3DSharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
00938
00939   public:
00943     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
00944
00953     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 );
00954
00961     NVSG_API void setData( const void *data, GLenum format, GLenum type, GLuint mipLevel = 0);
00962
00971     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00972
00979     NVSG_API void getData( void *data, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
00980
00983     NVSG_API void resize(GLsizei width, GLsizei height, GLsizei depth);
00984
00987     NVSG_API GLsizei getWidth() const;
00988
00991     NVSG_API GLsizei getHeight() const;
00992
00995     NVSG_API GLsizei getDepth() const;
00996
01000     NVSG_API static GLsizei getMaximumSize();
01001
01002   protected:
01003     friend struct nvutil::Holder<TextureGL3D>;
01004
01005     NVSG_API TextureGL3D() {}
01006
01007   private:
01008     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
01009     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei border, GLenum format, GLenum type );
01010
01011   protected:
01012     int m_width;
01013     int m_height;
01014     int m_depth;
01015   };
01016
01017   inline GLsizei TextureGL3D::getWidth() const
01018   {
01019     return m_width;
01020   }
01021
01022   inline GLsizei TextureGL3D::getHeight() const
01023   {
01024     return m_height;
01025   }
01026
01027   inline GLsizei TextureGL3D::getDepth() const
01028   {
01029     return m_depth;
01030   }
01031
01032 #if !defined( DOXYGEN_IGNORE )
01033   /*!******************/
01034   /* TextureGLCubemap */
01035   /*!******************/
01036   class TextureGLCubemap;
01037   CORE_TYPES( TextureGLCubemap, nvgl::TextureGL );
01038 #endif
01039
01045   class TextureGLCubemap : public TextureGL
01046   {
01047   public:
01054     NVSG_API static TextureGLCubemapSharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
01055
01064     NVSG_API static TextureGLCubemapSharedPtr create( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type );
01065
01070     NVSG_API static TextureGLCubemapSharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
01071
01072   public:
01077     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
01078
01088     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, int face, GLuint mipLevel = 0 );
01089
01097     NVSG_API void setData( const void *data, GLenum format, GLenum type, int face, GLuint mipLevel = 0 );
01098
01108     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, int face, GLuint mipLevel = 0 ) const;
01109
01117     NVSG_API void getData( void *data, GLenum format, GLenum type, int face, GLuint mipLevel = 0 ) const;
01118
01121     NVSG_API void resize(GLsizei width, GLsizei height);
01122
01125     NVSG_API GLsizei getWidth() const;
01126
01129     NVSG_API GLsizei getHeight() const;
01130
01134     NVSG_API static GLsizei getMaximumSize();
01135
01136   protected:
01137     friend struct nvutil::Holder<TextureGLCubemap>;
01138
01139     NVSG_API TextureGLCubemap() {}
01140
01141   private:
01142     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
01143     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei border, GLenum format, GLenum type );
01144
01145   protected:
01146     int m_width;
01147     int m_height;
01148   };
01149
01150   inline GLsizei TextureGLCubemap::getWidth() const
01151   {
01152     return m_width;
01153   }
01154
01155   inline GLsizei TextureGLCubemap::getHeight() const
01156   {
01157     return m_height;
01158   }
01159
01160 #if !defined( DOXYGEN_IGNORE )
01161   /*!***********************/
01162   /* TextureGLCubemapArray */
01163   /*!***********************/
01164   // TextureGLCubemapArray must have a layer count that is multiple of 6 (every 6 layers are a cubemap)
01165   class TextureGLCubemapArray;
01166   CORE_TYPES( TextureGLCubemapArray, nvgl::TextureGL );
01167 #endif
01168
01177   class TextureGLCubemapArray : public TextureGL
01178   {
01179   public:
01186     NVSG_API static TextureGLCubemapArraySharedPtr create( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
01187
01197     NVSG_API static TextureGLCubemapArraySharedPtr create( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type );
01198
01203     NVSG_API static TextureGLCubemapArraySharedPtr create( const nvsg::TextureHostSharedPtr &smTexImage );
01204
01205   public:
01210     NVSG_API bool setData( const nvsg::TextureHostSharedPtr &smTexImage );
01211
01221     NVSG_API void setData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLint layer, GLuint mipLevel = 0 );
01222
01230     NVSG_API void setData( const void *data, GLenum format, GLenum type, GLint layer, GLuint mipLevel = 0);
01231
01240     NVSG_API void getData( const nvsg::BufferSharedPtr & buffer, size_t bufferOffset, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
01241
01248     NVSG_API void getData( void *data, GLenum format, GLenum type, GLuint mipLevel = 0 ) const;
01249
01252     NVSG_API void resize(GLsizei width, GLsizei height, GLsizei layers );
01253
01256     NVSG_API GLsizei getWidth() const;
01257
01260     NVSG_API GLsizei getHeight() const;
01261
01264     NVSG_API GLsizei getLayers() const;
01265
01269     NVSG_API static GLsizei getMaximumSize();
01270
01273     NVSG_API static GLsizei getMaximumLayers();
01274
01277     NVSG_API static bool isSupported();
01278
01279   protected:
01280     friend struct nvutil::Holder<TextureGLCubemapArray>;
01281
01282     NVSG_API TextureGLCubemapArray() {}
01283
01284   private:
01285     NVSG_API void init( GLenum internalFormat, GLsizei border, GLenum format, GLenum type );
01286     NVSG_API void init( GLenum internalFormat, GLsizei width, GLsizei height, GLsizei layers, GLsizei border, GLenum format, GLenum type );
01287
01288   protected:
01289     int m_width;
01290     int m_height;
01291     int m_layers;
01292   };
01293
01294   inline GLsizei TextureGLCubemapArray::getWidth() const
01295   {
01296     return m_width;
01297   }
01298
01299   inline GLsizei TextureGLCubemapArray::getHeight() const
01300   {
01301     return m_height;
01302   }
01303
01304   inline GLsizei TextureGLCubemapArray::getLayers() const
01305   {
01306     return m_layers;
01307   }
01308
01309 #if !defined( DOXYGEN_IGNORE )
01310   /*!*****************/
01311   /* TextureGLBuffer */
01312   /*!*****************/
01313   class TextureGLBuffer;
01314   CORE_TYPES( TextureGLBuffer, nvgl::TextureGL );
01315 #endif
01316
01328   class TextureGLBuffer : public TextureGL
01329   {
01330   public:
01336     NVSG_API static TextureGLBufferSharedPtr create( const BufferGLSharedPtr &smBufferGL, GLenum internalFormat );
01337
01338   public:
01343     NVSG_API void setBuffer( const BufferGLSharedPtr &smBufferGL, GLenum internalFormat );
01344
01348     NVSG_API const BufferGLSharedPtr & getBuffer() const;
01349
01354     NVSG_API GLsizei getSize() const;
01355
01358     NVSG_API static bool isFormatValid( GLenum internalFormat );
01359
01362     NVSG_API static bool isSupported();
01363
01366     NVSG_API static GLsizei computeSize( size_t bytes, GLenum internalFormat );
01367
01370     NVSG_API static GLsizei getMaximumSize();
01371
01372   protected:
01373     friend struct nvutil::Holder<TextureGLBuffer>;
01374
01375     NVSG_API TextureGLBuffer() {}
01376
01377   private:
01378     NVSG_API void init();
01379
01380   protected:
01381     BufferGLSharedPtr m_buffer;
01382   };
01383
01384   inline const BufferGLSharedPtr & TextureGLBuffer::getBuffer() const
01385   {
01386     return m_buffer;
01387   }
01388
01389 #if !defined( DOXYGEN_IGNORE )
01390   /*!************************/
01391   /* TextureGL2DMultisample */
01392   /*!************************/
01393   class TextureGL2DMultisample;
01394   CORE_TYPES( TextureGL2DMultisample, nvgl::TextureGL );
01395 #endif
01396
01405   class TextureGL2DMultisample : public TextureGL
01406   {
01407   public:
01412     NVSG_API static TextureGL2DMultisampleSharedPtr create( GLenum internalFormat, GLsizei samples=1 );
01413
01422     NVSG_API static TextureGL2DMultisampleSharedPtr create( GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, bool fixedLocations );
01423
01424   public:
01427     NVSG_API void resize(GLsizei width, GLsizei height);
01428
01431     NVSG_API void setSamples(GLsizei samples);
01432
01435     NVSG_API GLsizei getWidth() const;
01436
01439     NVSG_API GLsizei getHeight() const;
01440
01443     NVSG_API GLsizei getSamples() const;
01444
01447     NVSG_API bool getFixedLocations() const;
01448
01452     NVSG_API static GLsizei getMaximumSize();
01453
01456     NVSG_API static GLsizei getMaximumSamples();
01457
01460     NVSG_API static GLsizei getMaximumIntegerSamples();
01461
01464     NVSG_API static GLsizei getMaximumColorSamples();
01465
01468     NVSG_API static GLsizei getMaximumDepthSamples();
01469
01472     NVSG_API static bool isSupported();
01473
01474   protected:
01475     friend struct nvutil::Holder<TextureGL2DMultisample>;
01476
01477     NVSG_API TextureGL2DMultisample() {}
01478
01479   private:
01480     NVSG_API void init( GLenum internalFormat, GLsizei samples );
01481     NVSG_API void init( GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, bool fixedLocations );
01482
01483   protected:
01484     int m_width;
01485     int m_height;
01486     int m_samples;
01487     bool m_fixedLocations;
01488   };
01489
01490
01491   inline GLsizei TextureGL2DMultisample::getWidth() const
01492   {
01493     return m_width;
01494   }
01495
01496   inline GLsizei TextureGL2DMultisample::getHeight() const
01497   {
01498     return m_height;
01499   }
01500
01501   inline GLsizei TextureGL2DMultisample::getSamples() const
01502   {
01503     return m_samples;
01504   }
01505
01506   inline bool TextureGL2DMultisample::getFixedLocations() const
01507   {
01508     return m_fixedLocations;
01509   }
01510
01511 #if !defined( DOXYGEN_IGNORE )
01512   /*!*****************************/
01513   /* TextureGL2DMultisampleArray */
01514   /*!*****************************/
01515   class TextureGL2DMultisampleArray;
01516   CORE_TYPES( TextureGL2DMultisampleArray, nvgl::TextureGL );
01517 #endif
01518
01528   class TextureGL2DMultisampleArray : public TextureGL
01529   {
01530   public:
01536     NVSG_API static TextureGL2DMultisampleArraySharedPtr create( GLenum internalFormat, GLsizei samples=1 );
01537
01547     NVSG_API static TextureGL2DMultisampleArraySharedPtr create( GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, GLsizei layers, bool fixedLocations );
01548
01549   public:
01552     NVSG_API void resize(GLsizei width, GLsizei height, GLsizei layers);
01553
01556     NVSG_API void setSamples(GLsizei samples);
01557
01560     NVSG_API GLsizei getWidth() const;
01561
01564     NVSG_API GLsizei getHeight() const;
01565
01568     NVSG_API GLsizei getLayers() const;
01569
01572     NVSG_API GLsizei getSamples() const;
01573
01576     NVSG_API bool getFixedLocations() const;
01577
01581     NVSG_API static GLsizei getMaximumSize();
01582
01585     NVSG_API static GLsizei getMaximumLayers();
01586
01589     NVSG_API static GLsizei getMaximumSamples();
01590
01593     NVSG_API static GLsizei getMaximumIntegerSamples();
01594
01597     NVSG_API static GLsizei getMaximumColorSamples();
01598
01601     NVSG_API static GLsizei getMaximumDepthSamples();
01602
01605     NVSG_API static bool isSupported();
01606
01607   protected:
01608     friend struct nvutil::Holder<TextureGL2DMultisampleArray>;
01609
01610     NVSG_API TextureGL2DMultisampleArray() {}
01611
01612   private:
01613     NVSG_API void init( GLenum internalFormat, GLsizei samples );
01614     NVSG_API void init( GLenum internalFormat, GLsizei samples, GLsizei width, GLsizei height, GLsizei layers, bool fixedLocations );
01615
01616   protected:
01617     int m_width;
01618     int m_height;
01619     int m_samples;
01620     int m_layers;
01621     bool m_fixedLocations;
01622   };
01623
01624   inline GLsizei TextureGL2DMultisampleArray::getWidth() const
01625   {
01626     return m_width;
01627   }
01628
01629   inline GLsizei TextureGL2DMultisampleArray::getHeight() const
01630   {
01631     return m_height;
01632   }
01633
01634   inline GLsizei TextureGL2DMultisampleArray::getLayers() const
01635   {
01636     return m_layers;
01637   }
01638
01639   inline GLsizei TextureGL2DMultisampleArray::getSamples() const
01640   {
01641     return m_samples;
01642   }
01643
01644   inline bool TextureGL2DMultisampleArray::getFixedLocations() const
01645   {
01646     return m_fixedLocations;
01647   }
01648
01649   inline bool TextureGL::sizeValid( GLenum target, GLsizei w, GLsizei h, GLsizei d, GLsizei layers )
01650   {
01651     // init to zero so comparison at bottom will fail on unknown texture
01652     GLsizei maxw = 0;
01653     GLsizei maxh = 0;
01654     GLsizei maxd = 0;
01655     GLsizei maxl = 0;
01656     bool powerOfTwoCheck = true;
01657
01658     switch( target )
01659     {
01660       case GL_TEXTURE_1D:
01661         maxw = TextureGL1D::getMaximumSize();
01662         maxh = 1;
01663         maxd = 1;
01664         maxl = 0;
01665         break;
01666
01667       case GL_TEXTURE_2D:
01668         maxw = TextureGL2D::getMaximumSize();
01669         maxh = maxw;
01670         maxd = 1;
01671         maxl = 0;
01672         break;
01673
01674       case GL_TEXTURE_RECTANGLE_ARB:
01675         maxw = TextureGLRectangle::getMaximumSize();
01676         maxh = maxw;
01677         maxd = 1;
01678         powerOfTwoCheck = false;
01679         maxl = 0;
01680         break;
01681
01682       case GL_TEXTURE_3D:
01683         maxw = TextureGL3D::getMaximumSize();
01684         maxh = maxw;
01685         maxd = maxh;
01686         maxl = 0;
01687         break;
01688
01689       case GL_TEXTURE_CUBE_MAP:
01690         maxw = TextureGLCubemap::getMaximumSize();
01691         maxh = maxw;
01692         maxd = 1;
01693         maxl = 0;
01694         break;
01695
01696       case GL_TEXTURE_1D_ARRAY_EXT:
01697         maxw = TextureGL1DArray::getMaximumSize();
01698         maxh = 1;
01699         maxd = 1;
01700         maxl = TextureGL1DArray::getMaximumLayers();
01701         if (!layers)
01702         {
01703           return false;
01704         }
01705         break;
01706
01707       case GL_TEXTURE_2D_ARRAY_EXT:
01708         maxw = TextureGL2DArray::getMaximumSize();
01709         maxh = maxw;
01710         maxd = 1;
01711         maxl = TextureGL2DArray::getMaximumLayers();
01712         if (!layers)
01713         {
01714           return false;
01715         }
01716         break;
01717
01718       case GL_TEXTURE_CUBE_MAP_ARRAY:
01719         maxw = TextureGLCubemapArray::getMaximumSize();
01720         maxh = maxw;
01721         maxd = 1;
01722         maxl = TextureGLCubemapArray::getMaximumLayers();
01723         if (!layers || (layers % 6 != 0))
01724         {
01725           return false;
01726         }
01727         break;
01728
01729       case GL_TEXTURE_BUFFER:
01730         maxw = TextureGLBuffer::getMaximumSize();
01731         maxh = 1;
01732         maxd = 1;
01733         maxl = 0;
01734         break;
01735
01736       case GL_TEXTURE_2D_MULTISAMPLE:
01737         maxw = TextureGL2DMultisample::getMaximumSize();
01738         maxh = maxw;
01739         maxd = 1;
01740         maxl = 0;
01741         break;
01742
01743       case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
01744         maxw = TextureGL2DMultisampleArray::getMaximumSize();
01745         maxh = maxw;
01746         maxd = 1;
01747         maxl = TextureGL2DMultisampleArray::getMaximumLayers();
01748         break;
01749
01750       default:
01751         NVSG_ASSERT( !"texture target unknown!" );
01752         break;
01753     }
01754
01755     // either we dont require a check, or we are only valid
01756     // when extension exists, or we are power of two
01757     powerOfTwoCheck = powerOfTwoCheck ?
01758       (GLIsExtensionAvailable("GL_ARB_texture_non_power_of_two") ||
01759        (nvmath::isPowerOfTwo(w) && nvmath::isPowerOfTwo(h) && nvmath::isPowerOfTwo(d))) : true;
01760
01761
01762     return ( w <= maxw && h <= maxh && d <= maxd && layers <= maxl) && powerOfTwoCheck;
01763   }
01764
01765   inline GLsizei TextureGL::getMaximumSize( GLenum target )
01766   {
01767     switch( target )
01768     {
01769       case GL_TEXTURE_1D:
01770         return TextureGL1D::getMaximumSize();
01771
01772       case GL_TEXTURE_2D:
01773         return TextureGL2D::getMaximumSize();
01774
01775       case GL_TEXTURE_RECTANGLE_ARB:
01776         return TextureGLRectangle::getMaximumSize();
01777
01778       case GL_TEXTURE_3D:
01779         return TextureGL3D::getMaximumSize();
01780
01781       case GL_TEXTURE_CUBE_MAP:
01782         return TextureGLCubemap::getMaximumSize();
01783
01784       case GL_TEXTURE_1D_ARRAY_EXT:
01785         return TextureGL1DArray::getMaximumSize();
01786
01787       case GL_TEXTURE_2D_ARRAY_EXT:
01788         return TextureGL2DArray::getMaximumSize();
01789
01790       case GL_TEXTURE_CUBE_MAP_ARRAY:
01791         return TextureGLCubemapArray::getMaximumSize();
01792
01793       case GL_TEXTURE_BUFFER:
01794         return TextureGLBuffer::getMaximumSize();
01795
01796       case GL_TEXTURE_2D_MULTISAMPLE:
01797         return TextureGL2DMultisample::getMaximumSize();
01798
01799       case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
01800         return TextureGL2DMultisampleArray::getMaximumSize();
01801
01802       default:
01803         NVSG_ASSERT( !"texture target unknown!" );
01804         return 0;
01805         break;
01806     }
01807   }
01808
01809 } // namespace nvgl
01810
01811 #if !defined( DOXYGEN_IGNORE )
01812 namespace nvutil {
01813   OBJECT_TRAITS( nvgl::TextureGL1D, nvgl::TextureGL );
01814   OBJECT_TRAITS( nvgl::TextureGL2D, nvgl::TextureGL );
01815   OBJECT_TRAITS( nvgl::TextureGLRectangle, nvgl::TextureGL );
01816   OBJECT_TRAITS( nvgl::TextureGL3D, nvgl::TextureGL );
01817   OBJECT_TRAITS( nvgl::TextureGLCubemap, nvgl::TextureGL );
01818   OBJECT_TRAITS( nvgl::TextureGL1DArray, nvgl::TextureGL );
01819   OBJECT_TRAITS( nvgl::TextureGL2DArray, nvgl::TextureGL );
01820   OBJECT_TRAITS( nvgl::TextureGLCubemapArray, nvgl::TextureGL );
01821   OBJECT_TRAITS( nvgl::TextureGLBuffer, nvgl::TextureGL );
01822   OBJECT_TRAITS( nvgl::TextureGL2DMultisample, nvgl::TextureGL );
01823   OBJECT_TRAITS( nvgl::TextureGL2DMultisampleArray, nvgl::TextureGL );
01824 } // namespace nvutil
01825 #endif
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Timer.h Source File

inc / nvsg / nvutil

Timer.h

00001 // Copyright NVIDIA Corporation 2002-2005
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #ifndef LINUX
00015   #include <Windows.h>
00016 #else
00017   #include <sys/time.h>
00018 #endif
00019
00020 #include "nvsg/nvsgapi.h"
00021
00022 namespace nvutil
00023 {
00029   class Timer
00030   {
00031   public:
00033     NVSG_API Timer();
00034
00036     NVSG_API ~Timer();
00037
00039     NVSG_API void start();
00040
00042     NVSG_API void stop();
00043
00045     NVSG_API void reset();
00046
00048     NVSG_API void restart();
00049
00051     NVSG_API double getTime() const;
00052
00054     NVSG_API bool isRunning() const { return m_running; }
00055
00056   private:
00057 #ifndef LINUX
00058     typedef LARGE_INTEGER Time;
00059 #else
00060     typedef timeval Time;
00061 #endif
00062
00063   private:
00064     double calcDuration(Time begin, Time end) const;
00065
00066   private:
00067 #ifndef LINUX
00068     LARGE_INTEGER m_freq;
00069 #endif
00070     Time m_begin;
00071     bool m_running;
00072     double m_milliSeconds;
00073   };
00074
00075 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: Types.h Source File

inc / nvsg / nvsg

Types.h

00001 // Copyright NVIDIA Corporation 2002-2007
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include "nvsgcommon.h"
00015
00016 namespace nvsg
00017 {
00018
00019 // NVSG type specifier
00020 enum
00021 {
00022   NVSG_UNSUPPORTED_TYPE = ~0,
00023   NVSG_BYTE = 0,
00024   NVSG_UNSIGNED_BYTE,
00025   NVSG_SHORT,
00026   NVSG_UNSIGNED_SHORT,
00027   NVSG_INT,
00028   NVSG_UNSIGNED_INT,
00029   NVSG_FLOAT,
00030   NVSG_DOUBLE
00031 };
00032
00034 template <typename T> struct Type2EnumType        { enum { type = NVSG_UNSUPPORTED_TYPE }; };
00035 template <> struct Type2EnumType<char>            { enum { type = NVSG_BYTE }; };
00036 template <> struct Type2EnumType<unsigned char>   { enum { type = NVSG_UNSIGNED_BYTE }; };
00037 template <> struct Type2EnumType<short>           { enum { type = NVSG_SHORT }; };
00038 template <> struct Type2EnumType<unsigned short>  { enum { type = NVSG_UNSIGNED_SHORT }; };
00039 template <> struct Type2EnumType<int>             { enum { type = NVSG_INT }; };
00040 template <> struct Type2EnumType<unsigned int>    { enum { type = NVSG_UNSIGNED_INT }; };
00041 template <> struct Type2EnumType<float>           { enum { type = NVSG_FLOAT }; };
00042 template <> struct Type2EnumType<double>          { enum { type = NVSG_DOUBLE }; };
00043
00049 NVSG_API unsigned int sizeOfType(unsigned int type);
00050 NVSG_API bool isIntegerType(unsigned int type);
00051 NVSG_API bool isFloatingPointType(unsigned int type);
00052
00053 }
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: UnifyTraverser.h Source File

inc / nvsg / nvtraverser

UnifyTraverser.h

00001 // Copyright NVIDIA Corporation 2002-2011
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES
00011
00012 #pragma once
00013
00014 #include <list>
00015 #include <vector>
00016 #include <utility>
00017
00018 #include "nvsgcommon.h"
00019 #include "nvsg/Primitive.h"
00020 #include "nvtraverser/OptimizeTraverser.h"
00021
00022 namespace nvtraverser
00023 {
00045   class UnifyTraverser : public OptimizeTraverser
00046   {
00047     public:
00048       enum
00049       {
00050         UT_GEONODE                = BIT0,
00051         UT_GROUP                  = BIT1,
00052         UT_LOD                    = BIT2,
00053         UT_PRIMITIVE_SET          = BIT3,
00054         UT_PRIMITIVE              = UT_PRIMITIVE_SET,
00055         UT_STATE_ATTRIBUTE        = BIT4,
00056         UT_STATE_PASS             = BIT5,
00057         UT_STATE_SET              = BIT6,
00058         UT_STATE_VARIANT          = BIT7,
00059         UT_TEXTURE                = BIT8,
00060         UT_TEXTURE_ATTRIBUTE_ITEM = BIT9,
00061         UT_TRAFO_ANIMATION        = BIT10,
00062         UT_VERTEX_ATTRIBUTE_SET   = BIT12,
00063         UT_VERTICES               = BIT13,
00064         UT_ALL_TARGETS_MASK       = ( UT_GEONODE | UT_GROUP | UT_LOD | UT_PRIMITIVE_SET
00065                                     | UT_STATE_ATTRIBUTE | UT_STATE_PASS | UT_STATE_SET
00066                                     | UT_STATE_VARIANT | UT_TEXTURE | UT_TEXTURE_ATTRIBUTE_ITEM
00067                                     | UT_TRAFO_ANIMATION | UT_VERTEX_ATTRIBUTE_SET | UT_VERTICES )
00068       } UnifyTarget;
00069
00070     public:
00075       NVSG_API UnifyTraverser( void );
00076
00079       NVSG_API unsigned int getUnifyTargets() const;
00080
00083       NVSG_API void setUnifyTargets( unsigned int mask );
00084
00087       NVSG_API float getEpsilon() const;
00088
00092       NVSG_API void setEpsilon( float eps );
00093
00094       REFLECTION_INFO_API( NVSG_API, UnifyTraverser );
00095       BEGIN_DECLARE_STATIC_PROPERTIES
00096           NVSG_API DECLARE_STATIC_PROPERTY( UnifyTargets );
00097           NVSG_API DECLARE_STATIC_PROPERTY( Epsilon );
00098       END_DECLARE_STATIC_PROPERTIES
00099     protected:
00101       NVSG_API virtual ~UnifyTraverser( void );
00102
00105       NVSG_API virtual void doApply( const nvsg::NodeSharedPtr & root );
00106
00110       NVSG_API virtual void handleBillboard( nvsg::Billboard * billboard );
00111
00115       NVSG_API virtual void handleGroup( nvsg::Group * group );
00116
00120       NVSG_API virtual void handleLOD( nvsg::LOD * lod );
00121
00125       NVSG_API virtual void handleSwitch( nvsg::Switch * swtch );
00126
00130       NVSG_API virtual void handleTransform( nvsg::Transform * transform );
00131
00136       NVSG_API virtual void handleFlipbookAnimation( nvsg::FlipbookAnimation * anim );
00137
00144       NVSG_API virtual void handleAnimatedTransform( nvsg::AnimatedTransform * trafo );
00145
00150       NVSG_API virtual void handleGeoNode( nvsg::GeoNode * gnode );
00151
00156       NVSG_API virtual void handleLines( nvsg::Lines * lines );
00157
00163       NVSG_API virtual void handleLineStrips( nvsg::LineStrips * strips );
00164
00169       NVSG_API virtual void handlePoints( nvsg::Points *points );
00170
00175       NVSG_API virtual void handlePrimitive( nvsg::Primitive * primitive );
00176
00182       NVSG_API virtual void handleQuadMeshes( nvsg::QuadMeshes * meshes );
00183
00188       NVSG_API virtual void handleQuadPatches( nvsg::QuadPatches * quadPatches );
00189
00194       NVSG_API virtual void handleQuadPatches4x4( nvsg::QuadPatches4x4 * quadPatches4x4 );
00195
00200       NVSG_API virtual void handleQuads( nvsg::Quads * quads );
00201
00207       NVSG_API virtual void handleQuadStrips( nvsg::QuadStrips * strips );
00208
00213       NVSG_API virtual void handleRectPatches( nvsg::RectPatches * rectPatches );
00214
00215       NVSG_API virtual void handleRTFx( nvsg::RTFx * rtfx );
00216
00222       NVSG_API virtual void handleStatePass( nvsg::StatePass * pass );
00223
00234       NVSG_API virtual void handleStateSet( nvsg::StateSet * stateSet );
00235
00241       NVSG_API virtual void handleStateVariant( nvsg::StateVariant * variant );
00242
00249       NVSG_API virtual void handleTextureAttribute( nvsg::TextureAttribute * texAttrib );
00250
00257       NVSG_API virtual void handleTextureAttributeItem( nvsg::TextureAttributeItem * texAttribItem );
00258
00264       NVSG_API virtual void handleTriangles( nvsg::Triangles * triangles );
00265
00270       NVSG_API virtual void handleTriFans( nvsg::TriFans * fans );
00271
00276       NVSG_API virtual void handleTriPatches( nvsg::TriPatches * triPatches );
00277
00282       NVSG_API virtual void handleTriPatches4( nvsg::TriPatches4 * triPatches4 );
00283
00289       NVSG_API virtual void handleTriStrips( nvsg::TriStrips * strips );
00290
00296       NVSG_API virtual void handleVertexAttributeSet( nvsg::VertexAttributeSet * vas );
00297
00304       NVSG_API virtual void handleAnimatedVertexAttributeSet( nvsg::AnimatedVertexAttributeSet * avas );
00305
00312       NVSG_API virtual void traversePrimitiveSet( nvsg::PrimitiveSet * pset );
00313
00314     private:
00315       void unifyChildren( nvsg::Group *p );
00316       void unifyGeoNodes( nvsg::Group *p );
00317       void unifyGroups( nvsg::Group *p );
00318       void unifyLODs( nvsg::Group *p );
00319       template<typename T, typename TH> void unifyPrimitiveSet( std::multimap<nvsg::HashKey,nvutil::SmartPtr<TH> > &v, T *pT );
00320       void unifyPrimitive( std::map<nvsg::PrimitiveType, std::multimap<nvsg::HashKey,nvsg::PrimitiveSharedPtr> > & v, nvsg::Primitive * p );
00321
00322       typedef std::set<nvsg::DrawableSharedPtr>             DrawableSet;
00323       typedef std::map<nvsg::StateSetSharedPtr,DrawableSet> GeometryMap;
00324
00325     private:
00326       GeometryMap                                                       m_currentGeometries;
00327       bool                                                              m_currentGeometriesChanged;
00328       nvsg::StateSetWeakPtr                                             m_currentStateSet;
00329       float                                                             m_epsilon;
00330       std::vector<nvsg::TrafoAnimationSharedPtr>                        m_trafoAnimations;
00331       std::multimap<nvsg::HashKey,nvsg::GeoNodeSharedPtr>               m_geoNodes;
00332       std::multimap<nvsg::HashKey,nvsg::GroupSharedPtr>                 m_groups;
00333       std::multimap<nvsg::HashKey,nvsg::LinesSharedPtr>                 m_lines;
00334       std::multimap<nvsg::HashKey,nvsg::LineStripsSharedPtr>            m_lineStrips;
00335       std::vector<nvsg::LODSharedPtr>                                   m_LODs;
00336       std::multimap<nvsg::HashKey,nvsg::PointsSharedPtr>                m_points;
00337       std::map<nvsg::PrimitiveType,std::multimap<nvsg::HashKey,nvsg::PrimitiveSharedPtr> >  m_primitives;
00338       std::multimap<nvsg::HashKey,nvsg::QuadMeshesSharedPtr>            m_quadMeshes;
00339       std::multimap<nvsg::HashKey,nvsg::QuadPatchesSharedPtr>           m_quadPatches;
00340       std::multimap<nvsg::HashKey,nvsg::QuadPatches4x4SharedPtr>        m_quadPatches4x4;
00341       std::multimap<nvsg::HashKey,nvsg::QuadsSharedPtr>                 m_quads;
00342       std::multimap<nvsg::HashKey,nvsg::QuadStripsSharedPtr>            m_quadStrips;
00343       std::multimap<nvsg::HashKey,nvsg::RectPatchesSharedPtr>           m_rectPatches;
00344       std::set<nvsg::RTFxProgramSharedPtr>                              m_rtfxPrograms;
00345       std::map<unsigned int, std::multimap<nvsg::HashKey,nvsg::StateAttributeSharedPtr> >  m_stateAttributes;
00346       std::multimap<nvsg::HashKey,nvsg::StatePassSharedPtr>             m_statePasses;
00347       std::multimap<nvsg::HashKey,nvsg::StateSetSharedPtr>              m_stateSets;
00348       std::multimap<nvsg::HashKey,nvsg::StateVariantSharedPtr>          m_stateVariants;
00349       std::multimap<nvsg::HashKey,nvsg::TextureAttributeItemSharedPtr>  m_textureAttributeItems;
00350       std::multimap<nvsg::HashKey,nvsg::TextureSharedPtr>               m_textures;
00351       std::multimap<nvsg::HashKey,nvsg::TrianglesSharedPtr>             m_triangles;
00352       std::multimap<nvsg::HashKey,nvsg::TriFansSharedPtr>               m_triFans;
00353       std::multimap<nvsg::HashKey,nvsg::TriPatchesSharedPtr>            m_triPatches;
00354       std::multimap<nvsg::HashKey,nvsg::TriPatches4SharedPtr>           m_triPatches4;
00355       std::multimap<nvsg::HashKey,nvsg::TriStripsSharedPtr>             m_triStrips;
00356       unsigned int                                                      m_unifyTargets;
00357       std::multimap<nvsg::HashKey,nvsg::VertexAttributeSetSharedPtr>    m_vertexAttributeSets;
00358
00359       std::set<nvsg::VertexAttributeSetSharedPtr>                       m_multiOwnedHandledVAS;
00360       std::vector<nvsg::VertexAttributeSetSharedPtr>                    m_removedVAS;
00361   };
00362
00363   inline unsigned int UnifyTraverser::getUnifyTargets() const
00364   {
00365     return( m_unifyTargets );
00366   }
00367
00368   inline void UnifyTraverser::setUnifyTargets( unsigned int mask )
00369   {
00370     if ( mask != m_unifyTargets )
00371     {
00372       m_unifyTargets = mask;
00373       notify( PID_UnifyTargets );
00374     }
00375   }
00376
00377   inline float UnifyTraverser::getEpsilon() const
00378   {
00379     return( m_epsilon );
00380   }
00381
00382   inline void UnifyTraverser::setEpsilon( float eps )
00383   {
00384     NVSG_ASSERT( 0 < eps );
00385     if ( m_epsilon != eps )
00386     {
00387       m_epsilon = eps;
00388       notify( PID_Epsilon );
00389     }
00390   }
00391
00392 }
00393
00394
Generated on Fri Jul 13 13:26:58 2012 for SceniX


SceniX: XMLLoader.h Source File

src / Loader / XMLLoader

XMLLoader.h

00001
00002 // Copyright NVIDIA Corporation 2002-2005
00003 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00004 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00005 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
00006 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL
00007 // NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR
00008 // CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR
00009 // LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
00010 // INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
00011 // INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE
00012 // POSSIBILITY OF SUCH DAMAGES
00013
00014 //
00015 // XMLLoader.h
00016 //
00017
00018 #ifndef _LOADXML_H_
00019 #define _LOADXML_H_
00020
00021 #if ! defined( DOXYGEN_IGNORE )
00022
00023 #include <string>
00024 #include <vector>
00025 #include <map>
00026
00027 #include "tinyxml/tinyxml.h"
00028
00029 #include <nvsg/nvsgapi.h>
00030 #include <nvsg/nvsg.h>
00031 #include <nvsg/Scene.h>
00032 #include <nvsg/PlugInterface.h>
00033 #include <nvutil/Trace.h>
00034
00035 namespace nvsg
00036 {
00037   class SceneLoader;
00038   class Scene;
00039   class ViewState;
00040   class Group;
00041 }
00042
00043 #define INVOKE_CALLBACK(cb) if( callback() ) callback()->cb
00044
00045 class XMLLoader : public nvsg::SceneLoader
00046 {
00047 public:
00048   XMLLoader();
00049
00050   void deleteThis( void );
00051
00052   nvsg::SceneSharedPtr load( const std::string& filename,
00053                                const std::vector<std::string> &searchPaths,
00054                                nvsg::ViewStateSharedPtr & viewState );
00055
00056 protected:
00057   virtual ~XMLLoader(void);
00058
00059 private:
00060   nvsg::SceneSharedPtr lookupFile( const std::string & name );
00061   nvsg::SceneSharedPtr loadScene( const std::string & filename );
00062   void buildScene( nvsg::Group * topLevel, TiXmlDocument & doc,
00063                     TiXmlNode * node );
00064
00065   std::map< std::string, nvsg::SceneSharedPtr > m_fileCache;
00066   std::vector< std::string > m_searchPath;
00067   nvsg::ViewStateWeakPtr m_viewState;
00068 };
00069
00070 #endif // ! defined( DOXYGEN_IGNORE )
00071
00072 #endif /* _LOADXML_H_ */
00073
00074
Generated on Fri Jul 13 13:26:58 2012 for SceniX